bf38a9ef4a9846a4a84e9a19f74955b280b2b448
[gnulib.git] / ChangeLog
1 2012-03-10  Bruno Haible  <bruno@clisp.org>
2
3         New module 'log1pf-ieee'.
4         * modules/log1pf-ieee: New file.
5
6 2012-03-10  Bruno Haible  <bruno@clisp.org>
7
8         Tests for module 'log1pl'.
9         * modules/log1pl-tests: New file.
10         * tests/test-log1pl.c: New file.
11
12         New module 'log1pl'.
13         * lib/math.in.h (log1pl): New declaration.
14         * lib/log1pl.c: New file.
15         * m4/log1pl.m4: New file.
16         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
17         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
18         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
19         * modules/log1pl: New file.
20         * tests/test-math-c++.cc: Check the declaration of log1pl.
21         * doc/posix-functions/log1pl.texi: Mention the new module.
22
23 2012-03-10  Bruno Haible  <bruno@clisp.org>
24
25         Tests for module 'log1pf'.
26         * modules/log1pf-tests: New file.
27         * tests/test-log1pf.c: New file.
28
29         New module 'log1pf'.
30         * lib/math.in.h (log1pf): New declaration.
31         * lib/log1pf.c: New file.
32         * m4/log1pf.m4: New file.
33         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
34         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
35         REPLACE_LOG1PF.
36         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
37         REPLACE_LOG1PF.
38         * modules/log1pf: New file.
39         * tests/test-math-c++.cc: Check the declaration of log1pf.
40         * doc/posix-functions/log1pf.texi: Mention the new module.
41
42 2012-03-10  Bruno Haible  <bruno@clisp.org>
43
44         log1p tests: More tests.
45         * tests/test-log1p.h: New file.
46         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
47         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
48         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
49         (main): Invoke test_function.
50
51         log1p: Provide replacement for Minix and MSVC.
52         * lib/math.in.h (log1p): New declaration.
53         * lib/log1p.c: New file.
54         * m4/log1p.m4: New file.
55         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
56         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
57         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
58         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
59         (Depends-on): Add math, isnand, log, round.
60         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
61         HAVE_LOG1P is 0.
62         * tests/test-math-c++.cc: Check the declaration of log1p.
63         * doc/posix-functions/log1p.texi: Mention the replacement.
64
65 2012-03-10  Bruno Haible  <bruno@clisp.org>
66
67         math tests: Small simplification.
68         * tests/test-exp.h (test_function): Use the same err_bound for
69         'double' on platforms with sizeof (long double) == sizeof (double)
70         than on platforms with sizeof (long double) > sizeof (double).
71         * tests/test-exp2.h (test_function): Likewise.
72         * tests/test-expm1.h (test_function): Likewise.
73         * tests/test-log.h (test_function): Likewise.
74
75 2012-03-10  Bruno Haible  <bruno@clisp.org>
76
77         Fix some comments.
78         * lib/expl.c: Fix an ambiguous comment.
79         * lib/expm1.c: Likewise.
80         * lib/expm1l.c: Likewise.
81         * lib/exp2.c: Likewise.
82         * lib/exp2l.c: Likewise.
83
84 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
85
86         regex: allow inclusion of <regex.h> before <limits.h>
87         Without this patch, portable programs had to include <limits.h> before
88         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
89         I ran into this problem with a test version of GNU grep on Solaris 8.
90         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
91         This is done conditionally so that this change can be merged
92         back to glibc.
93         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
94         using the included regex.
95
96         fts: depend on fdopendir
97         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
98         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
99         problem was introduced when fdopendir was split out.
100
101 2012-03-10  Bruno Haible  <bruno@clisp.org>
102
103         Remove unused variables.
104         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
105         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
106
107 2012-03-10  Bruno Haible  <bruno@clisp.org>
108
109         isnanf-nolibm: Fix last commit.
110         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
111
112         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
113         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
114
115 2012-03-10  Bruno Haible  <bruno@clisp.org>
116
117         logf-ieee: Work around test failure on NetBSD 5.1.
118         * m4/logf-ieee.m4: New file.
119         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
120         whether logf works with a negative argument. Replace it if not.
121         * lib/logf.c (logf): For negative arguments, return NaN.
122         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
123         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
124         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
125
126         logf-ieee: Work around test failure on Solaris 9.
127         * modules/logf-ieee (Depends-on): Add log-ieee.
128         (configure.ac): Require gl_FUNC_LOGF.
129
130         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
131         * m4/log-ieee.m4: New file.
132         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
133         log works with a negative argument. Replace it if not.
134         * lib/log.c (log): For negative arguments, return NaN.
135         * modules/log-ieee (Files): Add m4/log-ieee.m4.
136         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
137         * doc/posix-functions/log.texi: Mention the log-ieee module.
138
139         Tests for module 'logl-ieee'.
140         * modules/logl-ieee-tests: New file.
141         * tests/test-logl-ieee.c: New file.
142
143         New module 'logl-ieee'.
144         * modules/logl-ieee: New file.
145
146         Tests for module 'log-ieee'.
147         * modules/log-ieee-tests: New file.
148         * tests/test-log-ieee.c: New file.
149
150         New module 'log-ieee'.
151         * modules/log-ieee: New file.
152
153         Tests for module 'logf-ieee'.
154         * modules/logf-ieee-tests: New file.
155         * tests/test-logf-ieee.c: New file.
156         * tests/test-log-ieee.h: New file.
157
158         New module 'logf-ieee'.
159         * modules/logf-ieee: New file.
160
161 2012-03-10  Bruno Haible  <bruno@clisp.org>
162
163         log: Fix bug introduced on 2012-03-09.
164         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
165
166 2012-03-10  Pádraig Brady  <P@draigBrady.com>
167
168         timer-time: link explicitly with pthreads on glibc
169         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
170         to support static linking, when newer glibc is
171         detected, as that contains pthread emulation of
172         POSIX timer functions where required.
173         * modules/timer-time: Depend on threadlib to
174         pull in the appropriate library to link.
175
176 2012-03-10  Bruno Haible  <bruno@clisp.org>
177
178         log* tests: More tests.
179         * tests/test-log.h: New file.
180         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
181         (main): Invoke test_function.
182         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
183         (main): Invoke test_function.
184         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
185         (main): Invoke test_function.
186         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
187         tests/randomd.c.
188         (Makefile.am): Add randomd.c to test_log_SOURCES.
189         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
190         tests/randomf.c.
191         (Makefile.am): Add randomf.c to test_logf_SOURCES.
192         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
193         tests/randoml.c.
194         (Depends-on): Add 'float'.
195         (Makefile.am): Add randoml.c to test_logl_SOURCES.
196
197 2012-03-09  Bruno Haible  <bruno@clisp.org>
198
199         logl: Work around OSF/1 5.1 bug.
200         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
201         * lib/logl.c (logl): If logf exists, use it and provide just the
202         workaround.
203         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
204         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
206         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
207         * modules/logl (configure.ac): Consider REPLACE_LOGL.
208         (Depends-on): Update conditions.
209         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
210
211 2012-03-09  Bruno Haible  <bruno@clisp.org>
212
213         logf: Work around OSF/1 5.1 bug.
214         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
215         * lib/logf.c (logf): If logf exists, use it and provide just the
216         workaround.
217         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
218         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
220         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
221         * modules/logf (configure.ac): Consider REPLACE_LOGF.
222         (Depends-on): Update conditions.
223         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
224
225 2012-03-09  Bruno Haible  <bruno@clisp.org>
226
227         log: Work around OSF/1 5.1 bug.
228         * lib/math.in.h (log): New declaration.
229         * lib/log.c: New file.
230         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
231         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
232         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
233         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
234         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
235         * modules/log (Files): Add lib/log.c.
236         (Depends-on): Add math.
237         (configure.ac): If REPLACE_LOG is 1, compile an override.
238         * tests/test-math-c++.cc: Check the declaration of log.
239         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
240
241 2012-03-09  Jim Meyering  <meyering@redhat.com>
242
243         readtokens.c: adjust wording in a comment
244         * lib/readtokens.c: Insert omitted "that" in a comment.
245
246 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
247
248         modechange: add notations +40, 00440, etc.
249         * lib/modechange.c (mode_compile): Support new notations
250         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
251
252 2012-03-08  Bruno Haible  <bruno@clisp.org>
253
254         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
255         * m4/exp2l-ieee.m4: New file.
256         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
257         test whether exp2l works with a NaN argument and with a negative
258         infinity argument. Replace it if not.
259         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
261         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
262         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
263         (Depends-on): Update conditions.
264         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
265         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
266         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
267
268         Tests for module 'exp2l-ieee'.
269         * modules/exp2l-ieee-tests: New file.
270         * tests/test-exp2l-ieee.c: New file.
271
272         New module 'exp2l-ieee'.
273         * modules/exp2l-ieee: New file.
274
275         Tests for module 'exp2-ieee'.
276         * modules/exp2-ieee-tests: New file.
277         * tests/test-exp2-ieee.c: New file.
278
279         New module 'exp2-ieee'.
280         * modules/exp2-ieee: New file.
281
282         Tests for module 'exp2f-ieee'.
283         * modules/exp2f-ieee-tests: New file.
284         * tests/test-exp2f-ieee.c: New file.
285         * tests/test-exp2-ieee.h: New file.
286
287         New module 'exp2f-ieee'.
288         * modules/exp2f-ieee: New file.
289
290 2012-03-08  Bruno Haible  <bruno@clisp.org>
291
292         Tests for module 'exp2l'.
293         * modules/exp2l-tests: New file.
294         * tests/test-exp2l.c: New file.
295
296         New module 'exp2l'.
297         * lib/math.in.h (exp2l): New declaration.
298         * lib/exp2l.c: New file.
299         * lib/expl-table.c: New file, extracted from lib/expl.c.
300         * lib/expl.c (gl_expl_table): New declaration.
301         (expl): Remove expl_table. Update reference.
302         * m4/exp2l.m4: New file.
303         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
305         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
306         * modules/exp2l: New file.
307         * modules/expl (Files): Add lib/expl-table.c.
308         (configure.ac): Compile also expl-table.c.
309         * tests/test-math-c++.cc: Check the declaration of exp2l.
310         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
311         problem.
312
313 2012-03-08  Bruno Haible  <bruno@clisp.org>
314
315         Tests for module 'exp2f'.
316         * modules/exp2f-tests: New file.
317         * tests/test-exp2f.c: New file.
318
319         New module 'exp2f'.
320         * lib/math.in.h (exp2f): New declaration.
321         * lib/exp2f.c: New file.
322         * m4/exp2f.m4: New file.
323         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
324         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
325         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
326         * modules/exp2f: New file.
327         * tests/test-math-c++.cc: Check the declaration of exp2f.
328         * doc/posix-functions/exp2f.texi: Mention the new module and the
329         IRIX problem.
330
331 2012-03-08  Bruno Haible  <bruno@clisp.org>
332
333         Tests for module 'exp2'.
334         * modules/exp2-tests: New file.
335         * tests/test-exp2.c: New file.
336         * tests/test-exp2.h: New file.
337
338         New module 'exp2'.
339         * lib/math.in.h (exp2): New declaration.
340         * lib/exp2.c: New file.
341         * m4/exp2.m4: New file.
342         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
344         REPLACE_EXP2.
345         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
346         REPLACE_EXP2.
347         * modules/exp2: New file.
348         * tests/test-math-c++.cc: Check the declaration of exp2.
349         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
350         and OpenBSD problems.
351
352 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
353
354         savedir: fix comment typo
355         * lib/savedir.c (savedirstream): Fix typo in comment.
356
357 2012-03-08  Bruno Haible  <bruno@clisp.org>
358
359         test-readtokens.c: use const; remove unwarranted cast
360         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
361
362 2012-03-08  Bruno Haible  <bruno@clisp.org>
363
364         fmal: Avoid compilation error on AIX.
365         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
366         AIX 5.2..7.1.
367
368 2012-03-08  Bruno Haible  <bruno@clisp.org>
369
370         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
371         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
372         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
373         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
374         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
375         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
376         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
377
378 2012-03-08  Bruno Haible  <bruno@clisp.org>
379
380         remainderf: Override buggy system function on IRIX 6.5.
381         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
382         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
383         when it exists.
384         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
385
386 2012-03-08  Jim Meyering  <meyering@redhat.com>
387
388         test-readtokens.c: avoid const-related compilation warnings
389         * tests/test-readtokens.c: Avoid const-related compilation warnings.
390
391 2012-03-07  Jim Meyering  <meyering@redhat.com>
392             Bruno Haible  <bruno@clisp.org>
393
394         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
395         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
396         tests/randomd.c.
397         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
398         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
399         tests/randoml.c.
400         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
401
402 2012-03-07  Bruno Haible  <bruno@clisp.org>
403
404         expm1l: Avoid compilation error on AIX.
405         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
406         AIX 5.2..7.1.
407
408 2012-03-07  Bruno Haible  <bruno@clisp.org>
409
410         expm1l: Don't override undeclared system function on IRIX 6.5.
411         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
412         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
413         it exists. Set HAVE_DECL_EXPM1L.
414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
415         HAVE_EXPM1L.
416         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
417         HAVE_EXPM1L.
418         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
419
420 2012-03-07  Bruno Haible  <bruno@clisp.org>
421
422         remainderl: Don't override undeclared system function on IRIX 6.5.
423         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
424         HAVE_REMAINDERL.
425         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
426         declared when it exists. Set HAVE_DECL_REMAINDERL.
427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
428         not HAVE_REMAINDERL.
429         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
430         HAVE_REMAINDERL.
431         * doc/posix-functions/remainderl.texi: Mention missing declaration
432         problem.
433
434 2012-03-07  Bruno Haible  <bruno@clisp.org>
435
436         rintf: Don't override undeclared system function on IRIX 6.5.
437         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
438         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
439         exists. Set HAVE_DECL_RINTF.
440         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
441         HAVE_RINTF.
442         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
443         HAVE_RINTF.
444         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
445
446 2012-03-07  Bruno Haible  <bruno@clisp.org>
447
448         roundl: Avoid compilation error on AIX.
449         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
450         AIX 5.2..7.1.
451
452 2012-03-07  Bruno Haible  <bruno@clisp.org>
453
454         roundl: Don't override undeclared system function on IRIX 6.5.
455         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
456         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
457         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
458         * modules/roundl (configure.ac): For replacement code, test
459         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
460         (Depends-on): Update conditions.
461         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
462
463 2012-03-07  Bruno Haible  <bruno@clisp.org>
464
465         roundf: Don't override undeclared system function on IRIX 6.5.
466         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
467         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
468         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
469         * modules/roundf (configure.ac): For replacement code, test
470         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
471         (Depends-on): Update conditions.
472         * modules/roundf-ieee (Depends-on): Update conditions.
473         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
474
475 2012-03-07  Bruno Haible  <bruno@clisp.org>
476
477         round: Don't override undeclared system function on IRIX 6.5.
478         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
479         argument.
480         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
481         also when it is not declared. Set HAVE_ROUND. For replacement code,
482         test HAVE_ROUND, not HAVE_DECL_ROUND.
483         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
484         not HAVE_DECL_ROUND.
485         (Depends-on): Update conditions.
486         * modules/round-ieee (Depends-on): Update conditions.
487         * doc/posix-functions/round.texi: Mention the IRIX problem.
488
489 2012-03-07  Bruno Haible  <bruno@clisp.org>
490
491         copysignf: Don't override undeclared system function on IRIX 6.5.
492         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
493         HAVE_COPYSIGNF.
494         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
495         declared when it exists. Set HAVE_DECL_COPYSIGNF.
496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
497         not HAVE_COPYSIGNF.
498         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
499         HAVE_COPYSIGNF.
500         * doc/posix-functions/copysignf.texi: Mention missing declaration
501         problem.
502
503 2012-03-07  Jim Meyering  <meyering@redhat.com>
504
505         readtokens: add tests
506         * modules/readtokens-tests: New file.
507         * tests/test-readtokens.c: New file.
508
509 2012-03-07  Jim Meyering  <meyering@redhat.com>
510
511         quotearg: the module must now include quote.h
512         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
513         So must the module.
514         * modules/quotearg (Files): Add quote.h.
515
516 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
517
518         readtokens: avoid core dumps with unusual calling patterns
519         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
520         * lib/readtokens.c: Include limits.h.
521         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
522         (readtoken): Don't cache the delimiters; the cache code was buggy
523         if !delim && saved_delim, or if the new n_delim differs from the old.
524         Also, it wasn't thread-safe.
525
526 2012-03-07  Bruno Haible  <bruno@clisp.org>
527
528         quote: Adhere to common module description layout.
529         * modules/quote (Makefile.am): Add back empty section.
530
531 2012-03-06  Akim Demaille  <demaille@gostai.com>
532
533         quote: fuse into quotearg
534         This patch is made for the benefit of Bison.
535         quote does not leave the choice of the quoting style to the user.
536         quoting_style provides poor customizability, yet quoting_options,
537         which is very rich, is hidden inside quotearg.c.  So in order to
538         allow quote customization, move its implementation to quotearg.c.
539         * lib/quote.c: Remove.
540         * modules/quote: Adjust.
541         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
542         warning: provide all the members of literal structs.
543         (quote_quoting_options): New.
544         (quote, quote_n): Import implementation from quote.c.
545         * lib/quote.h: Import the comments from quote.c.
546         (quote_quoting_options): New.
547
548 2012-03-06  Bruno Haible  <bruno@clisp.org>
549
550         Tests for module 'expm1l-ieee'.
551         * modules/expm1l-ieee-tests: New file.
552         * tests/test-expm1l-ieee.c: New file.
553
554         New module 'expm1l-ieee'.
555         * modules/expm1l-ieee: New file.
556
557         Tests for module 'expm1f-ieee'.
558         * modules/expm1f-ieee-tests: New file.
559         * tests/test-expm1f-ieee.c: New file.
560
561         New module 'expm1f-ieee'.
562         * modules/expm1f-ieee: New file.
563
564         Tests for module 'expm1-ieee'.
565         * modules/expm1-ieee-tests: New file.
566         * tests/test-expm1-ieee.c: New file.
567         * tests/test-expm1-ieee.h: New file.
568
569         New module 'expm1-ieee'.
570         * modules/expm1-ieee: New file.
571         * m4/expm1-ieee.m4: New file.
572         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
573         whether expm1 works with a minus zero argument. Replace it if not.
574         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
576         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
577         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
578         (Depends-on): Update conditions.
579         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
580         AIX problem.
581
582 2012-03-06  Bruno Haible  <bruno@clisp.org>
583
584         Work around expm1f bug on IRIX 6.5.
585         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
586         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
587         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
588         not work.
589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
590         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
591         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
592         (Depends-on): Update conditions.
593         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
594
595 2012-03-06  Bruno Haible  <bruno@clisp.org>
596
597         Tests for module 'expm1l'.
598         * modules/expm1l-tests: New file.
599         * tests/test-expm1l.c: New file.
600
601         New module 'expm1l'.
602         * lib/math.in.h (expm1l): New declaration.
603         * lib/expm1l.c: New file.
604         * m4/expm1l.m4: New file.
605         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
606         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
607         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
608         * modules/expm1l: New file.
609         * tests/test-math-c++.cc: Check the declaration of expm1l.
610         * doc/posix-functions/expm1l.texi: Mention the new module.
611
612 2012-03-06  Bruno Haible  <bruno@clisp.org>
613
614         Tests for module 'expm1f'.
615         * modules/expm1f-tests: New file.
616         * tests/test-expm1f.c: New file.
617
618         New module 'expm1f'.
619         * lib/math.in.h (expm1f): New declaration.
620         * lib/expm1f.c: New file.
621         * m4/expm1f.m4: New file.
622         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
624         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
625         * modules/expm1f: New file.
626         * tests/test-math-c++.cc: Check the declaration of expm1f.
627         * doc/posix-functions/expm1f.texi: Mention the new module.
628
629 2012-03-06  Bruno Haible  <bruno@clisp.org>
630
631         Tests for module 'expm1'.
632         * modules/expm1-tests: New file.
633         * tests/test-expm1.c: New file.
634         * tests/test-expm1.h: New file.
635
636         New module 'expm1'.
637         * lib/math.in.h (expm1): New declaration.
638         * lib/expm1.c: New file.
639         * m4/expm1.m4: New file.
640         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
642         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
643         * modules/expm1: New file.
644         * tests/test-math-c++.cc: Check the declaration of expm1.
645         * doc/posix-functions/expm1.texi: Mention the new module.
646
647 2012-03-06  Bruno Haible  <bruno@clisp.org>
648
649         math: Ensure declarations of math functions.
650         * modules/acosf (Depends-on): Add 'extensions'.
651         * modules/asinf (Depends-on): Likewise.
652         * modules/atan2f (Depends-on): Likewise.
653         * modules/atanf (Depends-on): Likewise.
654         * modules/cbrt (Depends-on): Likewise.
655         * modules/cbrtf (Depends-on): Likewise.
656         * modules/cbrtl (Depends-on): Likewise.
657         * modules/copysignf (Depends-on): Likewise.
658         * modules/copysignl (Depends-on): Likewise.
659         * modules/cosf (Depends-on): Likewise.
660         * modules/coshf (Depends-on): Likewise.
661         * modules/expf (Depends-on): Likewise.
662         * modules/fabsf (Depends-on): Likewise.
663         * modules/fabsl (Depends-on): Likewise.
664         * modules/fmaf (Depends-on): Likewise.
665         * modules/fmal (Depends-on): Likewise.
666         * modules/fmodf (Depends-on): Likewise.
667         * modules/fmodl (Depends-on): Likewise.
668         * modules/frexpf (Depends-on): Likewise.
669         * modules/frexpl (Depends-on): Likewise.
670         * modules/hypot (Depends-on): Likewise.
671         * modules/hypotf (Depends-on): Likewise.
672         * modules/hypotl (Depends-on): Likewise.
673         * modules/ldexpf (Depends-on): Likewise.
674         * modules/ldexpl (Depends-on): Likewise.
675         * modules/log10f (Depends-on): Likewise.
676         * modules/log10l (Depends-on): Likewise.
677         * modules/log1p (Depends-on): Likewise.
678         * modules/logb (Depends-on): Likewise.
679         * modules/logf (Depends-on): Likewise.
680         * modules/modff (Depends-on): Likewise.
681         * modules/modfl (Depends-on): Likewise.
682         * modules/powf (Depends-on): Likewise.
683         * modules/remainderf (Depends-on): Likewise.
684         * modules/remainderl (Depends-on): Likewise.
685         * modules/rintf (Depends-on): Likewise.
686         * modules/rintl (Depends-on): Likewise.
687         * modules/sinf (Depends-on): Likewise.
688         * modules/sinhf (Depends-on): Likewise.
689         * modules/sqrtf (Depends-on): Likewise.
690         * modules/tanf (Depends-on): Likewise.
691         * modules/tanhf (Depends-on): Likewise.
692         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
693         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
694         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
695         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
696         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
697         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
698         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
699         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
700         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
701         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
702         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
703         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
704         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
705         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
706         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
707         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
708         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
709         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
710         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
711         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
712         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
713         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
714         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
715         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
716         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
717         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
718         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
719         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
720         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
721         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
722         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
723         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
724         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
725         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
726         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
727         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
728         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
729         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
730         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
731         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
732         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
733
734 2012-03-06  Bruno Haible  <bruno@clisp.org>
735
736         math: Update module names in warnings.
737         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
738         tanl): Use specific module name in warn-on-use warning.
739
740 2012-03-06  Bruno Haible  <bruno@clisp.org>
741
742         expl: Simplify computation.
743         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
744
745 2012-03-05  Bruno Haible  <bruno@clisp.org>
746
747         exp* tests: More tests.
748         * tests/test-exp.h: New file.
749         * tests/test-exp.c: Include <float.h> and test-exp.h.
750         (main): Invoke test_function.
751         * tests/test-expf.c: Include <float.h> and test-exp.h.
752         (main): Invoke test_function.
753         * tests/test-expl.c: Include <float.h> and test-exp.h.
754         (main): Invoke test_function.
755         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
756         (Makefile.am): Add randomd.c to test_exp_SOURCES.
757         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
758         (Makefile.am): Add randomf.c to test_expf_SOURCES.
759         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
760         (Depends-on): Add 'float'.
761         (Makefile.am): Add randoml.c to test_expl_SOURCES.
762
763         expl: Fix precision of computed result.
764         * lib/expl.c: Completely rewritten.
765         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
766         (Maintainer): Add me.
767         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
768
769 2012-03-05  Bruno Haible  <bruno@clisp.org>
770
771         cbrt* tests: More tests.
772         * tests/test-cbrt.h: New file.
773         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
774         (main): Invoke test_function.
775         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
776         (main): Invoke test_function.
777         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
778         (main): Invoke test_function.
779         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
780         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
781         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
782         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
783         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
784         (Depends-on): Add 'float'.
785         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
786
787 2012-03-05  Bruno Haible  <bruno@clisp.org>
788
789         hypot* tests: More tests.
790         * tests/test-hypot.h: New file, partially extracted from
791         tests/test-hypotl.c.
792         * tests/test-hypot.c: Include test-hypot.h.
793         (main): Invoke test_function.
794         * tests/test-hypotf.c: Include test-hypot.h.
795         (main): Invoke test_function.
796         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
797         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
798         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
799         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
800         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
801         tests/randomf.c.
802         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
803         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
804         tests/randoml.c.
805         (Depends-on): Add 'fpucw', 'float'.
806         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
807
808 2012-03-05  Bruno Haible  <bruno@clisp.org>
809
810         fpucw: Doc about FreeBSD.
811         * lib/fpucw.h: Mention FreeBSD in comments.
812
813 2012-03-04  Bruno Haible  <bruno@clisp.org>
814
815         sqrt* tests: More tests.
816         * tests/test-sqrt.h: New file.
817         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
818         (main): Invoke test_function.
819         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
820         (main): Invoke test_function.
821         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
822         (main): Invoke test_function.
823         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
824         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
825         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
826         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
827         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
828         (Depends-on): Add 'float'.
829         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
830
831 2012-03-04  Bruno Haible  <bruno@clisp.org>
832
833         remainder* tests: More tests.
834         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
835         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
836         (main): Invoke test_function.
837         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
838         (main): Invoke test_function.
839         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
840         (main): Invoke test_function.
841         * modules/remainder-tests (Files): Add tests/test-remainder.h,
842         tests/randomd.c.
843         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
844         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
845         tests/randomf.c.
846         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
847         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
848         tests/randoml.c.
849         (Depends-on): Add 'float'.
850         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
851
852 2012-03-04  Bruno Haible  <bruno@clisp.org>
853
854         remainder, remainderf, remainderl: Fix computation for large quotients.
855         * lib/remainder.c: Completely rewritten.
856         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
857         USE_FLOAT.
858         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
859         USE_LONG_DOUBLE.
860         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
861         isnand, isinf. Remove round, fma.
862         * modules/remainderf (Files): Add lib/remainder.c.
863         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
864         Remove roundf, fmaf.
865         * modules/remainderl (Files): Add lib/remainder.c.
866         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
867         isinf. Remove roundl, fmal.
868         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
869         REMAINDER_LIBM.
870         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
871         REMAINDERF_LIBM.
872         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
873         REMAINDERL_LIBM.
874
875 2012-03-04  Bruno Haible  <bruno@clisp.org>
876
877         fmod* tests: More tests.
878         * tests/test-fmod.h (my_ldexp): New function.
879         (test_function): Reduce amount of random numbers to test. Add tests
880         of very large quotients x / y.
881         * tests/test-fmod.c (MAX_EXP): New macro.
882         * tests/test-fmodf.c (MAX_EXP): Likewise.
883         * tests/test-fmodl.c (MAX_EXP): Likewise.
884
885 2012-03-04  Bruno Haible  <bruno@clisp.org>
886
887         fmod, fmodl: Fix computation for large quotients x / y.
888         * lib/fmod.c: Completely rewritten.
889         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
890         USE_LONG_DOUBLE.
891         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
892         isnand. Remove fma.
893         * modules/fmodl (Files): Add lib/fmod.c.
894         (Depends-on): Add float, isfinite, signbit, fabsl,
895         frexpl, ldexpl, isnanl. Remove fma.
896         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
897         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
898
899 2012-03-03  Bruno Haible  <bruno@clisp.org>
900
901         fmod* tests: More tests.
902         * tests/test-fmod.h: New file.
903         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
904         (main): Invoke test_function.
905         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
906         (main): Invoke test_function.
907         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
908         (main): Invoke test_function.
909         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
910         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
911         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
912         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
913         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
914         (Depends-on): Add 'float'.
915         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
916
917 2012-03-03  Bruno Haible  <bruno@clisp.org>
918
919         rint* tests: More tests.
920         * tests/test-rint.h: New file, partially extracted from
921         tests/test-rintl.c.
922         * tests/test-rint.c: Include test-rint.h.
923         (main): Invoke test_function.
924         * tests/test-rintf.c: Include test-rint.h.
925         (main): Invoke test_function.
926         * tests/test-rintl.c: Include test-rint.h.
927         (main): Invoke test_function.
928         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
929         (Makefile.am): Add randomd.c to test_rint_SOURCES.
930         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
931         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
932         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
933         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
934
935 2012-03-03  Bruno Haible  <bruno@clisp.org>
936
937         modf* tests: More tests.
938         * tests/test-modf.h: New file.
939         * tests/test-modf.c: Include <float.h> and test-modf.h.
940         (main): Invoke test_function.
941         * tests/test-modff.c: Include <float.h> and test-modf.h.
942         (main): Invoke test_function.
943         * tests/test-modfl.c: Include <float.h> and test-modf.h.
944         (main): Invoke test_function.
945         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
946         (Makefile.am): Add randomd.c to test_modf_SOURCES.
947         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
948         (Makefile.am): Add randomf.c to test_modff_SOURCES.
949         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
950         (Depends-on): Add 'float'.
951         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
952
953 2012-03-03  Bruno Haible  <bruno@clisp.org>
954
955         fabs* tests: More tests.
956         * tests/test-fabs.h: New file, partially extracted from
957         tests/test-fabsl.c.
958         * tests/test-fabs.c (RANDOM): New macro.
959         * tests/test-fabsf.c (RANDOM): New macro.
960         * tests/test-fabsl.c (RANDOM): New macro.
961         * modules/fabs-tests (Files): Add tests/randomd.c.
962         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
963         * modules/fabsf-tests (Files): Add tests/randomf.c.
964         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
965         * modules/fabsl-tests (Files): Add tests/randoml.c.
966         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
967
968 2012-03-03  Bruno Haible  <bruno@clisp.org>
969
970         ldexp* tests: More tests.
971         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
972         * tests/test-ldexp.c (RANDOM): New macro.
973         * tests/test-ldexpf.c (RANDOM): New macro.
974         * tests/test-ldexpl.c (RANDOM): New macro.
975         * modules/ldexp-tests (Files): Add tests/randomd.c.
976         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
977         * modules/ldexpf-tests (Files): Add tests/randomf.c.
978         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
979         * modules/ldexpl-tests (Files): Add tests/randoml.c.
980         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
981
982 2012-03-03  Bruno Haible  <bruno@clisp.org>
983
984         frexp* tests: More tests.
985         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
986         * tests/test-frexp.c (RANDOM): New macro.
987         * tests/test-frexpf.c (RANDOM): New macro.
988         * tests/test-frexpl.c (RANDOM): New macro.
989         * modules/frexp-tests (Files): Add tests/randomd.c.
990         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
991         * modules/frexpf-tests (Files): Add tests/randomf.c.
992         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
993         * modules/frexpl-tests (Files): Add tests/randoml.c.
994         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
995
996 2012-03-03  Bruno Haible  <bruno@clisp.org>
997
998         Support for pseudo-random numbers in tests.
999         * tests/randomf.c: New file.
1000         * tests/randomd.c: New file.
1001         * tests/randoml.c: New file.
1002         * tests/macros.h (randomf, randomd, randoml): New declarations.
1003
1004 2012-03-03  Bruno Haible  <bruno@clisp.org>
1005
1006         frexp* tests: Refactor.
1007         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1008         * tests/test-frexp.c: Include and use it.
1009         * tests/test-frexpf.c: Likewise.
1010         * tests/test-frexpl.c: Likewise.
1011         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1012         * modules/frexpf-tests (Files): Likewise.
1013         * modules/frexpl-tests (Files): Likewise.
1014
1015 2012-03-02  Jim Meyering  <meyering@redhat.com>
1016
1017         maint: don't specify XZ_OPT=-9ev in dist-related rule
1018         Using xz's -9 option is warranted only if you have a very large
1019         tarball (see xz's documentation for the sizes vs. presets), and
1020         requires 64MiB of memory at decompression time.
1021         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1022         Automake's default of just "-e" is fine.  Override on a
1023         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1024
1025 2012-03-01  Eric Blake  <eblake@redhat.com>
1026
1027         maint.mk: allow announcement for non-gnulib project
1028         * maint.mk (announcement): Skip gnulib version if not used.
1029
1030 2012-03-01  Jim Meyering  <meyering@redhat.com>
1031
1032         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1033         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1034         envvar settings cannot interfere.  Otherwise, setting envvars like
1035         prohibit=foo require=bar, etc. would cause spurious test failures.
1036
1037 2012-03-01  Eric Blake  <eblake@redhat.com>
1038
1039         maint.mk: add per-line exclusions to prohibitions
1040         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1041         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1042         (sc_const_long_option): Use it.
1043
1044 2012-03-01  Bruno Haible  <bruno@clisp.org>
1045
1046         Tests for module 'expl-ieee'.
1047         * modules/expl-ieee-tests: New file.
1048         * tests/test-expl-ieee.c: New file.
1049
1050         New module 'expl-ieee'.
1051         * modules/expl-ieee: New file.
1052
1053         Tests for module 'exp-ieee'.
1054         * modules/exp-ieee-tests: New file.
1055         * tests/test-exp-ieee.c: New file.
1056
1057         New module 'exp-ieee'.
1058         * modules/exp-ieee: New file.
1059
1060         Tests for module 'expf-ieee'.
1061         * modules/expf-ieee-tests: New file.
1062         * tests/test-expf-ieee.c: New file.
1063         * tests/test-exp-ieee.h: New file.
1064
1065         New module 'expf-ieee'.
1066         * modules/expf-ieee: New file.
1067
1068 2012-02-29  Bruno Haible  <bruno@clisp.org>
1069
1070         cbrtl-ieee: Work around test failure on IRIX 6.5.
1071         * m4/cbrtl-ieee.m4: New file.
1072         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1073         test whether cbrtl works with a minus zero argument. Replace it if not.
1074         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1076         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1077         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1078         (Depends-on): Update conditions.
1079         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1080         m4/signbit.m4.
1081         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1082         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1083         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1084
1085         Tests for module 'cbrtl-ieee'.
1086         * modules/cbrtl-ieee-tests: New file.
1087         * tests/test-cbrtl-ieee.c: New file.
1088
1089         New module 'cbrtl-ieee'.
1090         * modules/cbrtl-ieee: New file.
1091
1092         Tests for module 'cbrt-ieee'.
1093         * modules/cbrt-ieee-tests: New file.
1094         * tests/test-cbrt-ieee.c: New file.
1095
1096         New module 'cbrt-ieee'.
1097         * modules/cbrt-ieee: New file.
1098
1099         Tests for module 'cbrtf-ieee'.
1100         * modules/cbrtf-ieee-tests: New file.
1101         * tests/test-cbrtf-ieee.c: New file.
1102         * tests/test-cbrt-ieee.h: New file.
1103
1104         New module 'cbrtf-ieee'.
1105         * modules/cbrtf-ieee: New file.
1106
1107 2012-02-29  Bruno Haible  <bruno@clisp.org>
1108
1109         cbrtf: Work around bug in IRIX 6.5 system function.
1110         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1111         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1112         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1113         work.
1114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1115         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1116         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1117         (Depends-on): Update conditions.
1118         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1119
1120 2012-02-29  Bruno Haible  <bruno@clisp.org>
1121
1122         Tests for module 'cbrtl'.
1123         * modules/cbrtl-tests: New file.
1124         * tests/test-cbrtl.c: New file.
1125
1126         New module 'cbrtl'.
1127         * lib/math.in.h (cbrtl): New declaration.
1128         * lib/cbrtl.c: New file.
1129         * m4/cbrtl.m4: New file.
1130         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1132         HAVE_DECL_CBRTL.
1133         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1134         HAVE_DECL_CBRTL.
1135         * modules/cbrtl: New file.
1136         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1137         * doc/posix-functions/cbrtl.texi: Mention the new module.
1138
1139 2012-02-29  Bruno Haible  <bruno@clisp.org>
1140
1141         Tests for module 'cbrtf'.
1142         * modules/cbrtf-tests: New file.
1143         * tests/test-cbrtf.c: New file.
1144
1145         New module 'cbrtf'.
1146         * lib/math.in.h (cbrtf): New declaration.
1147         * lib/cbrtf.c: New file.
1148         * m4/cbrtf.m4: New file.
1149         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1151         HAVE_DECL_CBRTF.
1152         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1153         HAVE_DECL_CBRTF.
1154         * modules/cbrtf: New file.
1155         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1156         * doc/posix-functions/cbrtf.texi: Mention the new module.
1157
1158 2012-02-29  Bruno Haible  <bruno@clisp.org>
1159
1160         cbrt: Provide replacement on MSVC and Minix.
1161         * lib/math.in.h (cbrt): New declaration.
1162         * lib/cbrt.c: New file.
1163         * m4/cbrt.m4: New file.
1164         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1166         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1167         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1168         (Depends-on): Add dependencies.
1169         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1170         * tests/test-math-c++.cc: Check the declaration of cbrt.
1171         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1172         replacement.
1173
1174 2012-02-29  Bruno Haible  <bruno@clisp.org>
1175
1176         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1177         * m4/hypotl-ieee.m4: New file.
1178         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1179         test whether hypotl works with mixed NaN and Infinity arguments.
1180         Replace it if not.
1181         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1183         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1184         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1185         (Depends-on): Update conditions.
1186         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1187         (Depends-on): Add hypot-ieee.
1188         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1189         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1190
1191         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1192         * m4/hypotf-ieee.m4: New file.
1193         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1194         test whether hypotf works with mixed NaN and Infinity arguments.
1195         Replace it if not.
1196         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1197         (Depends-on): Add hypot-ieee.
1198         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1199         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1200
1201         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1202         * lib/math.in.h (hypot): New declaration.
1203         * lib/hypot.c: New file.
1204         * m4/hypot-ieee.m4: New file.
1205         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1206         whether hypot works with mixed NaN and Infinity arguments. Replace it
1207         if not.
1208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1209         REPLACE_HYPOT.
1210         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1211         * modules/hypot (Files): Add lib/hypot.c.
1212         (Depends-on): Add dependencies.
1213         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1214         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1215         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1216         * tests/test-math-c++.cc: Check the declaration of hypot.
1217         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1218
1219         Tests for module 'hypotl-ieee'.
1220         * modules/hypotl-ieee-tests: New file.
1221         * tests/test-hypotl-ieee.c: New file.
1222
1223         New module 'hypotl-ieee'.
1224         * modules/hypotl-ieee: New file.
1225
1226         Tests for module 'hypot-ieee'.
1227         * modules/hypot-ieee-tests: New file.
1228         * tests/test-hypot-ieee.c: New file.
1229
1230         New module 'hypot-ieee'.
1231         * modules/hypot-ieee: New file.
1232
1233         Tests for module 'hypotf-ieee'.
1234         * modules/hypotf-ieee-tests: New file.
1235         * tests/test-hypotf-ieee.c: New file.
1236         * tests/test-hypot-ieee.h: New file.
1237
1238         New module 'hypotf-ieee'.
1239         * modules/hypotf-ieee: New file.
1240
1241 2012-02-29  Bruno Haible  <bruno@clisp.org>
1242
1243         Remove unused variables.
1244         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1245         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1246         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1247         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1248
1249 2012-02-29  Eric Blake  <eblake@redhat.com>
1250
1251         termios: fix pid_t always, not just for tcgetsid
1252         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1253         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1254         just when building tcgetsid.
1255
1256 2012-02-29  Bruno Haible  <bruno@clisp.org>
1257
1258         Tests for module 'hypotl'.
1259         * modules/hypotl-tests: New file.
1260         * tests/test-hypotl.c: New file.
1261
1262         New module 'hypotl'.
1263         * lib/math.in.h (hypotl): New declaration.
1264         * lib/hypotl.c: New file.
1265         * m4/hypotl.m4: New file.
1266         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1268         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1269         * modules/hypotl: New file.
1270         * tests/test-math-c++.cc: Check the hypotl declaration.
1271         * doc/posix-functions/hypotl.texi: Mention the new module.
1272
1273 2012-02-29  Eric Blake  <eblake@redhat.com>
1274
1275         tcgetsid: fix cygwin header bug
1276         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1277
1278         docs: update cygwin progress
1279         * doc/posix-functions/llround.texi (llround): Added in cygwin
1280         1.7.8.
1281         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1282         * doc/glibc-functions/program_invocation_name.texi
1283         (program_invocation_name): Likewise.
1284         * doc/glibc-functions/program_invocation_short_name.texi
1285         (program_invocation_short_name): Likewise.
1286         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1287         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1288         Likewise.
1289         * doc/posix-functions/pthread_spin_destroy.texi
1290         (pthread_spin_destroy): Added in cygwin 1.7.10.
1291         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1292         Likewise.
1293         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1294         Likewise.
1295         * doc/posix-functions/pthread_spin_trylock.texi
1296         (pthread_spin_trylock): Likewise.
1297         * doc/posix-functions/pthread_spin_unlock.texi
1298         (pthread_spin_unlock): Likewise.
1299         * doc/posix-functions/pthread_setschedprio.texi
1300         (pthread_setschedprio): Likewise.
1301         * doc/posix-functions/pthread_attr_getstack.texi
1302         (pthread_attr_getstack): Likewise.
1303         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1304         (pthread_attr_getstackaddr): Likewise.
1305         * doc/glibc-functions/pthread_getattr_np.texi
1306         (pthread_getattr_np): Likewise.
1307         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1308         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1309         * doc/posix-functions/clock_settime.texi (clock_settime):
1310         Likewise.
1311         * doc/posix-functions/pthread_attr_getguardsize.texi
1312         (pthread_attr_getguardsize): Likewise.
1313         * doc/posix-functions/pthread_attr_setguardsize.texi
1314         (pthread_attr_setguardsize): Likewise.
1315         * doc/posix-functions/pthread_attr_setstack.texi
1316         (pthread_attr_setstack): Likewise.
1317         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1318         (pthread_attr_setstackaddr): Likewise.
1319         * doc/posix-functions/clock_getcpuclockid.texi
1320         (clock_getcpuclockid): Likewise.
1321         * doc/posix-functions/pthread_getcpuclockid.texi
1322         (pthread_getcpuclockid): Likewise.
1323         * doc/glibc-functions/error.texi (error): Likewise.
1324         * doc/glibc-functions/error_at_line.texi (error_at_line):
1325         Likewise.
1326         * doc/glibc-functions/error_message_count.texi
1327         (error_message_count): Likewise.
1328         * doc/glibc-functions/error_one_per_line.texi
1329         (error_one_per_line): Likewise.
1330         * doc/glibc-functions/error_print_progname.texi
1331         (error_print_progname): Likewise.
1332         * doc/posix-functions/pthread_condattr_getclock.texi
1333         (pthread_condattr_getclock): Likewise.
1334         * doc/posix-functions/pthread_condattr_setclock.texi
1335         (pthread_condattr_setclock): Likewise.
1336         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1337         Likewise.
1338         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1339         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1340         * doc/glibc-functions/get_current_dir_name.texi
1341         (get_current_dir_name): Likewise.
1342         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1343         Likewise.
1344         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1345         wrong return type.
1346         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1347         1.7.11.
1348
1349 2012-02-29  Bruno Haible  <bruno@clisp.org>
1350
1351         Tests for module 'hypotf'.
1352         * modules/hypotf-tests: New file.
1353         * tests/test-hypotf.c: New file.
1354
1355         New module 'hypotf'.
1356         * lib/math.in.h (hypotf): New declaration.
1357         * lib/hypotf.c: New file.
1358         * m4/hypotf.m4: New file.
1359         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1361         REPLACE_HYPOTF.
1362         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1363         REPLACE_HYPOTF.
1364         * modules/hypotf: New file.
1365         * tests/test-math-c++.cc: Check the hypotf declaration.
1366         * doc/posix-functions/hypotf.texi: Mention the new module.
1367
1368         hypot: Prepare for hypotf module.
1369         * m4/hypot.m4: New file.
1370         * modules/hypot (Files): Add m4/hypot.m4.
1371         (configure.ac): Invoke gl_FUNC_HYPOT.
1372
1373 2012-02-29  Bruno Haible  <bruno@clisp.org>
1374
1375         hypot tests: More tests.
1376         * tests/test-hypot.c: Include <float.h>.
1377         (main): Add tests about overflow and underflow.
1378
1379 2012-02-29  Bruno Haible  <bruno@clisp.org>
1380
1381         math code: Add comments.
1382         * lib/acosl.c: Add comment about related glibc source files.
1383         * lib/asinl.c: Likewise.
1384         * lib/atanl.c: Likewise.
1385         * lib/expl.c: Likewise.
1386         * lib/logl.c: Likewise.
1387         * lib/sincosl.c: Likewise.
1388         * lib/sinl.c: Likewise.
1389         * lib/tanl.c: Likewise.
1390         * lib/trigl.c: Likewise.
1391         * lib/cosl.c: Likewise. Fix comments.
1392
1393 2012-02-28  Bruno Haible  <bruno@clisp.org>
1394
1395         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1396         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1397         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1398         HUGE_VALL are defined.
1399         (numeric_equald): Renamed from numeric_equal.
1400         (numeric_equalf, numeric_equall): New functions.
1401         (main): Check also HUGE_VALF, HUGE_VALL.
1402         * modules/math-tests (Files): Add tests/macros.h.
1403         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1404         HUGE_VALL.
1405
1406 2012-02-28  Bruno Haible  <bruno@clisp.org>
1407
1408         doc: Move ISO C11 feature notes into POSIX chapters.
1409         * doc/posix-functions/aligned_alloc.texi: Renamed from
1410         doc/glibc-functions/aligned_alloc.texi.
1411         * doc/posix-functions/quick_exit.texi: Renamed from
1412         doc/glibc-functions/quick_exit.texi.
1413         * doc/posix-headers/uchar.texi: Renamed from
1414         doc/glibc-headers/uchar.texi.
1415         * doc/posix-functions/c16rtomb.texi: Renamed from
1416         doc/glibc-functions/c16rtomb.texi.
1417         * doc/posix-functions/c32rtomb.texi: Renamed from
1418         doc/glibc-functions/c32rtomb.texi.
1419         * doc/posix-functions/mbrtoc16.texi: Renamed from
1420         doc/glibc-functions/mbrtoc16.texi.
1421         * doc/posix-functions/mbrtoc32.texi: Renamed from
1422         doc/glibc-functions/mbrtoc32.texi.
1423         * doc/gnulib.texi: Update.
1424         (Glibc uchar.h): Remove section.
1425         Suggested by Eric Blake.
1426
1427 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1428
1429         stdnoreturn: port to MSVC better
1430         MSVC standard headers use __declspec(noreturn), so #define noreturn
1431         to empty on that platform.  Reported by Bruno Haible in
1432         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1433         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1434         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1435
1436 2012-02-28  Bruno Haible  <bruno@clisp.org>
1437
1438         doc: Mention new glibc headers and functions.
1439         * doc/glibc-headers/uchar.texi: New file.
1440         * doc/glibc-functions/aligned_alloc.texi: New file.
1441         * doc/glibc-functions/c16rtomb.texi: New file.
1442         * doc/glibc-functions/c32rtomb.texi: New file.
1443         * doc/glibc-functions/clock_adjtime.texi: New file.
1444         * doc/glibc-functions/fanotify_init.texi: New file.
1445         * doc/glibc-functions/fanotify_mark.texi: New file.
1446         * doc/glibc-functions/inet6_opt_append.texi: New file.
1447         * doc/glibc-functions/inet6_opt_find.texi: New file.
1448         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1449         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1450         * doc/glibc-functions/inet6_opt_init.texi: New file.
1451         * doc/glibc-functions/inet6_opt_next.texi: New file.
1452         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1453         * doc/glibc-functions/inet6_rth_add.texi: New file.
1454         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1455         * doc/glibc-functions/inet6_rth_init.texi: New file.
1456         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1457         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1458         * doc/glibc-functions/inet6_rth_space.texi: New file.
1459         * doc/glibc-functions/login.texi: New file.
1460         * doc/glibc-functions/mbrtoc16.texi: New file.
1461         * doc/glibc-functions/mbrtoc32.texi: New file.
1462         * doc/glibc-functions/name_to_handle_at.texi: New file.
1463         * doc/glibc-functions/ntp_gettimex.texi: New file.
1464         * doc/glibc-functions/open_by_handle_at.texi: New file.
1465         * doc/glibc-functions/prlimit.texi: New file.
1466         * doc/glibc-functions/process_vm_readv.texi: New file.
1467         * doc/glibc-functions/process_vm_writev.texi: New file.
1468         * doc/glibc-functions/recvmmsg.texi: New file.
1469         * doc/glibc-functions/scandirat.texi: New file.
1470         * doc/glibc-functions/sendmmsg.texi: New file.
1471         * doc/glibc-functions/setns.texi: New file.
1472         * doc/glibc-functions/timespec_get.texi: New file.
1473         * doc/gnulib.texi: Include them.
1474         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1475         sections.
1476         Reported by Eric Blake.
1477
1478 2012-02-28  Bruno Haible  <bruno@clisp.org>
1479
1480         Avoid compilation errors with MSVC option -fp:strict.
1481         * lib/floor.c: Use MSVC specific pragma fenv_access.
1482         * lib/ceil.c: Likewise.
1483         * lib/trunc.c: Likewise.
1484         * lib/round.c: Likewise.
1485         * lib/rint.c: Likewise.
1486         * lib/fma.c: Likewise.
1487         * lib/integer_length.c: Likewise.
1488         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1489         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1490         * tests/test-floor2.c: Likewise.
1491         * tests/test-floorf2.c: Likewise.
1492         * tests/test-ceil2.c: Likewise.
1493         * tests/test-ceilf2.c: Likewise.
1494         * tests/test-trunc2.c: Likewise.
1495         * tests/test-truncf2.c: Likewise.
1496         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1497
1498 2012-02-27  Bruno Haible  <bruno@clisp.org>
1499
1500         Tests for module 'sqrtl-ieee'.
1501         * modules/sqrtl-ieee-tests: New file.
1502         * tests/test-sqrtl-ieee.c: New file.
1503
1504         New module 'sqrtl-ieee'.
1505         * modules/sqrtl-ieee: New file.
1506
1507         Tests for module 'sqrt-ieee'.
1508         * modules/sqrt-ieee-tests: New file.
1509         * tests/test-sqrt-ieee.c: New file.
1510
1511         New module 'sqrt-ieee'.
1512         * modules/sqrt-ieee: New file.
1513
1514         Tests for module 'sqrtf-ieee'.
1515         * modules/sqrtf-ieee-tests: New file.
1516         * tests/test-sqrtf-ieee.c: New file.
1517         * tests/test-sqrt-ieee.h: New file.
1518
1519         New module 'sqrtf-ieee'.
1520         * modules/sqrtf-ieee: New file.
1521
1522 2012-02-27  Bruno Haible  <bruno@clisp.org>
1523
1524         remainderl-ieee: Work around test failure on OSF/1.
1525         * m4/remainderl-ieee.m4: New file.
1526         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1527         present, test whether remainderl works with a zero second argument.
1528         Replace it if not.
1529         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1531         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1532         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1533         (Depends-on): Update conditions.
1534         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1535         (Depends-on): Add remainder-ieee.
1536         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1537         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1538         module.
1539
1540         remainderf-ieee: Work around test failure on OSF/1.
1541         * m4/remainderf-ieee.m4: New file.
1542         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1543         present, test whether remainderf works with a zero second argument.
1544         Replace it if not.
1545         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1547         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1548         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1549         (Depends-on): Update conditions.
1550         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1551         (Depends-on): Add remainder-ieee.
1552         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1553         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1554         module.
1555
1556         remainder-ieee: Work around test failure on OSF/1.
1557         * m4/remainder-ieee.m4: New file.
1558         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1559         present, test whether remainder works with a zero second argument.
1560         Replace it if not.
1561         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1562         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1563         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1564         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1565         (Depends-on): Update dependencies.
1566         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1567         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1568         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1569
1570         Tests for module 'remainderl-ieee'.
1571         * modules/remainderl-ieee-tests: New file.
1572         * tests/test-remainderl-ieee.c: New file.
1573
1574         New module 'remainderl-ieee'.
1575         * modules/remainderl-ieee: New file.
1576
1577         Tests for module 'remainder-ieee'.
1578         * modules/remainder-ieee-tests: New file.
1579         * tests/test-remainder-ieee.c: New file.
1580
1581         New module 'remainder-ieee'.
1582         * modules/remainder-ieee: New file.
1583
1584         Tests for module 'remainderf-ieee'.
1585         * modules/remainderf-ieee-tests: New file.
1586         * tests/test-remainderf-ieee.c: New file.
1587         * tests/test-remainder-ieee.h: New file.
1588
1589         New module 'remainderf-ieee'.
1590         * modules/remainderf-ieee: New file.
1591
1592 2012-02-27  Bruno Haible  <bruno@clisp.org>
1593
1594         modff, modfl: Fix configure syntax error.
1595         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1596         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1597
1598 2012-02-27  Bruno Haible  <bruno@clisp.org>
1599
1600         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1601         * m4/fmodl-ieee.m4: New file.
1602         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1603         whether fmodl works with zero arguments. Replace it if not.
1604         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1605         (Depends-on): Add fmod-ieee.
1606         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1607         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1608
1609         fmodf-ieee: Work around test failure on OSF/1.
1610         * m4/fmodf-ieee.m4: New file.
1611         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1612         whether fmodf works with zero arguments. Replace it if not.
1613         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1615         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1616         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1617         (Depends-on): Update dependencies.
1618         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1619         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1620         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1621
1622         fmodf-ieee: Work around test failure on MSVC 9.
1623         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1624         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1625
1626         fmod-ieee: Work around test failures on OSF/1, mingw.
1627         * m4/fmod-ieee.m4: New file.
1628         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1629         whether fmod works with zero arguments. Replace it if not.
1630         * lib/math.in.h (fmod): New declaration.
1631         * lib/fmod.c: New file.
1632         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1633         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1634         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1635         * modules/fmod (Files): Add lib/fmod.c.
1636         (Depends-on): Add math, isinf, trunc, fma.
1637         (configure.ac): Arrange to compile lib/fmod.c if needed.
1638         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1639         m4/signbit.m4.
1640         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1641         * tests/test-math-c++.cc: Check the declaration of fmod.
1642         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1643
1644         fmodl-ieee: Fix test failures.
1645         * lib/fmodl.c (fmodl): Treat Inf specially.
1646         * modules/fmodl (Depends-on): Add isinf.
1647
1648         Tests for module 'fmodl-ieee'.
1649         * modules/fmodl-ieee-tests: New file.
1650         * tests/test-fmodl-ieee.c: New file.
1651
1652         New module 'fmodl-ieee'.
1653         * modules/fmodl-ieee: New file.
1654
1655         Tests for module 'fmod-ieee'.
1656         * modules/fmod-ieee-tests: New file.
1657         * tests/test-fmod-ieee.c: New file.
1658
1659         New module 'fmod-ieee'.
1660         * modules/fmod-ieee: New file.
1661
1662         Tests for module 'fmodf-ieee'.
1663         * modules/fmodf-ieee-tests: New file.
1664         * tests/test-fmodf-ieee.c: New file.
1665         * tests/test-fmod-ieee.h: New file.
1666
1667         New module 'fmodf-ieee'.
1668         * modules/fmodf-ieee: New file.
1669
1670 2012-02-27  Bruno Haible  <bruno@clisp.org>
1671
1672         Tests for module 'rintl-ieee'.
1673         * modules/rintl-ieee-tests: New file.
1674         * tests/test-rintl-ieee.c: New file.
1675
1676         New module 'rintl-ieee'.
1677         * modules/rintl-ieee: New file.
1678
1679         Tests for module 'rint-ieee'.
1680         * modules/rint-ieee-tests: New file.
1681         * tests/test-rint-ieee.c: New file.
1682
1683         New module 'rint-ieee'.
1684         * modules/rint-ieee: New file.
1685
1686         Tests for module 'rintf-ieee'.
1687         * modules/rintf-ieee-tests: New file.
1688         * tests/test-rintf-ieee.c: New file.
1689         * tests/test-rint-ieee.h: New file.
1690
1691         New module 'rintf-ieee'.
1692         * modules/rintf-ieee: New file.
1693
1694 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1695
1696         regex: re_search etc. should return -2 when memory exhausted
1697         This bug was uncovered when testing 'grep'.  Without the fix,
1698         re_search and friends return -1 when memory is exhausted, but -1
1699         means no match, and this causes grep to falsely report no-match
1700         instead of memory-exhaustion.  See
1701         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1702         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1703         trouble; this can occur if re_search_internal ran out of memory.
1704
1705 2012-02-26  Bruno Haible  <bruno@clisp.org>
1706
1707         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1708         * m4/modfl-ieee.m4: New file.
1709         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1710         whether modfl works with Inf. Replace it if not.
1711         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1712         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1713         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1714         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1715         (Depends-on): Update dependencies.
1716         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1717         m4/signbit.m4.
1718         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1719         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1720
1721         modfl-ieee: Fix dependencies.
1722         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1723
1724         modfl-ieee: Fix test failures.
1725         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1726         * modules/modfl (Depends-on): Add isfinite, isinf.
1727
1728         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1729         * m4/modff-ieee.m4: New file.
1730         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1731         whether modff works with NaN and Inf. Replace it if not.
1732         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1734         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1735         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1736         (Depends-on): Update dependencies.
1737         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1738         m4/signbit.m4.
1739         (Depends-on): Add modf-ieee.
1740         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1741         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1742
1743         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1744         * m4/modf-ieee.m4: New file.
1745         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1746         whether modf works with NaN and Inf. Replace it if not.
1747         * lib/math.in.h (modf): New declaration.
1748         * lib/modf.c: New file.
1749         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1750         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1751         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1752         * modules/modf (Files): Add lib/modf.c.
1753         (Depends-on): Add math, isfinite, trunc, isinf.
1754         (configure.ac): Addrange to compile lib/modf.c if needed.
1755         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1756         m4/signbit.m4.
1757         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1758         * tests/test-math-c++.cc: Check the declaration of modf.
1759         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1760
1761         Tests for module 'modfl-ieee'.
1762         * modules/modfl-ieee-tests: New file.
1763         * tests/test-modfl-ieee.c: New file.
1764
1765         New module 'modfl-ieee'.
1766         * modules/modfl-ieee: New file.
1767
1768         Tests for module 'modf-ieee'.
1769         * modules/modf-ieee-tests: New file.
1770         * tests/test-modf-ieee.c: New file.
1771
1772         New module 'modf-ieee'.
1773         * modules/modf-ieee: New file.
1774
1775         Tests for module 'modff-ieee'.
1776         * modules/modff-ieee-tests: New file.
1777         * tests/test-modff-ieee.c: New file.
1778         * tests/test-modf-ieee.h: New file.
1779
1780         New module 'modff-ieee'.
1781         * modules/modff-ieee: New file.
1782
1783 2012-02-26  Bruno Haible  <bruno@clisp.org>
1784
1785         Tests for module 'fabsl-ieee'.
1786         * modules/fabsl-ieee-tests: New file.
1787         * tests/test-fabsl-ieee.c: New file.
1788
1789         New module 'fabsl-ieee'.
1790         * modules/fabsl-ieee: New file.
1791
1792         Tests for module 'fabs-ieee'.
1793         * modules/fabs-ieee-tests: New file.
1794         * tests/test-fabs-ieee.c: New file.
1795
1796         New module 'fabs-ieee'.
1797         * modules/fabs-ieee: New file.
1798
1799         Tests for module 'fabsf-ieee'.
1800         * modules/fabsf-ieee-tests: New file.
1801         * tests/test-fabsf-ieee.c: New file.
1802         * tests/test-fabs-ieee.h: New file.
1803
1804         New module 'fabsf-ieee'.
1805         * modules/fabsf-ieee: New file.
1806
1807 2012-02-26  Bruno Haible  <bruno@clisp.org>
1808
1809         Tests for module 'fmal-ieee'.
1810         * modules/fmal-ieee-tests: New file.
1811         * tests/test-fmal-ieee.c: New file.
1812
1813         New module 'fmal-ieee'.
1814         * modules/fmal-ieee: New file.
1815
1816         Tests for module 'fma-ieee'.
1817         * modules/fma-ieee-tests: New file.
1818         * tests/test-fma-ieee.c: New file.
1819
1820         New module 'fma-ieee'.
1821         * modules/fma-ieee: New file.
1822
1823         Tests for module 'fmaf-ieee'.
1824         * modules/fmaf-ieee-tests: New file.
1825         * tests/test-fmaf-ieee.c: New file.
1826         * tests/test-fma-ieee.h: New file.
1827
1828         New module 'fmaf-ieee'.
1829         * modules/fmaf-ieee: New file.
1830
1831 2012-02-26  Bruno Haible  <bruno@clisp.org>
1832
1833         Tests for module 'ldexpl-ieee'.
1834         * modules/ldexpl-ieee-tests: New file.
1835         * tests/test-ldexpl-ieee.c: New file.
1836
1837         New module 'ldexpl-ieee'.
1838         * modules/ldexpl-ieee: New file.
1839
1840         Tests for module 'ldexp-ieee'.
1841         * modules/ldexp-ieee-tests: New file.
1842         * tests/test-ldexp-ieee.c: New file.
1843
1844         New module 'ldexp-ieee'.
1845         * modules/ldexp-ieee: New file.
1846
1847         Tests for module 'ldexpf-ieee'.
1848         * modules/ldexpf-ieee-tests: New file.
1849         * tests/test-ldexpf-ieee.c: New file.
1850         * tests/test-ldexp-ieee.h: New file.
1851
1852         New module 'ldexpf-ieee'.
1853         * modules/ldexpf-ieee: New file.
1854
1855 2012-02-26  Bruno Haible  <bruno@clisp.org>
1856
1857         Refactor frexp*-ieee tests.
1858         * tests/test-frexp-ieee.h: New file.
1859         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1860         (main): Just call test_function.
1861         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1862         (main): Just call test_function.
1863         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1864         (main): Just call test_function.
1865         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1866         * modules/frexp-ieee-tests (Files): Likewise.
1867         * modules/frexpl-ieee-tests (Files): Likewise.
1868
1869         Tests for module 'frexpl-ieee'.
1870         * modules/frexpl-ieee-tests: New file.
1871         * tests/test-frexpl-ieee.c: New file.
1872
1873         New module 'frexpl-ieee'.
1874         * modules/frexpl-ieee: New file.
1875
1876         Tests for module 'frexp-ieee'.
1877         * modules/frexp-ieee-tests: New file.
1878         * tests/test-frexp-ieee.c: New file.
1879
1880         New module 'frexp-ieee'.
1881         * modules/frexp-ieee: New file.
1882
1883         Tests for module 'frexpf-ieee'.
1884         * modules/frexpf-ieee-tests: New file.
1885         * tests/test-frexpf-ieee.c: New file.
1886
1887         New module 'frexpf-ieee'.
1888         * modules/frexpf-ieee: New file.
1889
1890 2012-02-26  Bruno Haible  <bruno@clisp.org>
1891
1892         roundl-ieee tests: More tests.
1893         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1894         (main): Add tests for [MX] shaded specification in POSIX.
1895         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1896         (Depends-on): Add isnanl-nolibm.
1897
1898         round-ieee tests: More tests.
1899         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1900         (main): Add tests for [MX] shaded specification in POSIX.
1901         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1902         (Depends-on): Add isnand-nolibm.
1903
1904         roundf-ieee tests: More tests.
1905         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1906         (main): Add tests for [MX] shaded specification in POSIX.
1907         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1908         (Depends-on): Add isnanf-nolibm.
1909
1910         truncl-ieee tests: More tests.
1911         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1912         (main): Add tests for [MX] shaded specification in POSIX.
1913         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1914         (Depends-on): Add isnanl-nolibm.
1915
1916         trunc-ieee tests: More tests.
1917         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1918         (main): Add tests for [MX] shaded specification in POSIX.
1919         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1920         (Depends-on): Add isnand-nolibm.
1921
1922         truncf-ieee tests: More tests.
1923         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1924         (main): Add tests for [MX] shaded specification in POSIX.
1925         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1926         (Depends-on): Add isnanf-nolibm.
1927
1928         ceill-ieee tests: More tests.
1929         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1930         (main): Add tests for [MX] shaded specification in POSIX.
1931         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1932         (Depends-on): Add isnanl-nolibm.
1933
1934         ceil-ieee tests: More tests.
1935         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1936         (main): Add tests for [MX] shaded specification in POSIX.
1937         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1938         (Depends-on): Add isnand-nolibm.
1939
1940         ceilf-ieee tests: More tests.
1941         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1942         (main): Add tests for [MX] shaded specification in POSIX.
1943         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1944         (Depends-on): Add isnanf-nolibm.
1945
1946         floorl-ieee tests: More tests.
1947         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1948         (main): Add tests for [MX] shaded specification in POSIX.
1949         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1950         (Depends-on): Add isnanl-nolibm.
1951
1952         floor-ieee tests: More tests.
1953         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1954         (main): Add tests for [MX] shaded specification in POSIX.
1955         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1956         (Depends-on): Add isnand-nolibm.
1957
1958         floorf-ieee tests: More tests.
1959         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1960         (main): Add tests for [MX] shaded specification in POSIX.
1961         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1962         (Depends-on): Add isnanf-nolibm.
1963
1964 2012-02-26  Bruno Haible  <bruno@clisp.org>
1965
1966         fpieee: More comments.
1967         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1968
1969 2012-02-25  Bruno Haible  <bruno@clisp.org>
1970
1971         Tests for module 'log10l'.
1972         * modules/log10l-tests: New file.
1973         * tests/test-log10l.c: New file.
1974         * tests/test-math-c++.cc: Check the declaration of log10l.
1975
1976         New module 'log10l'.
1977         * lib/math.in.h (log10l): New declaration.
1978         * lib/log10l.c: New file.
1979         * m4/log10l.m4: New file.
1980         * modules/log10l: New file.
1981         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1982         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1983         HAVE_DECL_LOG10L.
1984         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1985         HAVE_DECL_LOG10L.
1986         * doc/posix-functions/log10l.texi: Mention the new module.
1987
1988 2012-02-25  Bruno Haible  <bruno@clisp.org>
1989
1990         fmodl, remainder*: Avoid wrong results due to rounding errors.
1991         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1992         expected bounds.
1993         * lib/remainderf.c (remainderf): Likewise.
1994         * lib/remainder.c (remainder): Likewise.
1995         * lib/remainderl.c (remainderl): Likewise.
1996
1997 2012-02-25  Bruno Haible  <bruno@clisp.org>
1998
1999         Tests for module 'remainderl'.
2000         * modules/remainderl-tests: New file.
2001         * tests/test-remainderl.c: New file.
2002         * tests/test-math-c++.cc: Check the declaration of remainderl.
2003
2004         New module 'remainderl'.
2005         * lib/math.in.h (remainderl): New declaration.
2006         * lib/remainderl.c: New file.
2007         * m4/remainderl.m4: New file.
2008         * modules/remainderl: New file.
2009         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2011         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2012         HAVE_REMAINDERL.
2013         * doc/posix-functions/remainderl.texi: Mention the new module.
2014
2015 2012-02-25  Bruno Haible  <bruno@clisp.org>
2016
2017         Tests for module 'remainderf'.
2018         * modules/remainderf-tests: New file.
2019         * tests/test-remainderf.c: New file.
2020         * tests/test-math-c++.cc: Check the declaration of remainderf.
2021
2022         New module 'remainderf'.
2023         * lib/math.in.h (remainderf): New declaration.
2024         * lib/remainderf.c: New file.
2025         * m4/remainderf.m4: New file.
2026         * modules/remainderf: New file.
2027         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2028         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2029         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2030         HAVE_REMAINDERF.
2031         * doc/posix-functions/remainderf.texi: Mention the new module.
2032
2033 2012-02-25  Bruno Haible  <bruno@clisp.org>
2034
2035         remainder: Support for MSVC.
2036         * lib/math.in.h (remainder): New declaration.
2037         * lib/remainder.c: New file.
2038         * m4/remainder.m4: New file.
2039         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2040         (Depends-on): Add math, round, fma.
2041         (configure.ac): Use results of gl_FUNC_REMAINDER.
2042         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2044         HAVE_DECL_REMAINDER.
2045         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2046         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2047         * tests/test-math-c++.cc: Check the declaration of remainder.
2048         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2049         problems are fixed.
2050
2051 2012-02-25  Bruno Haible  <bruno@clisp.org>
2052
2053         Tests for module 'fmodl'.
2054         * modules/fmodl-tests: New file.
2055         * tests/test-fmodl.c: New file.
2056         * tests/test-math-c++.cc: Check the declaration of fmodl.
2057
2058         New module 'fmodl'.
2059         * lib/math.in.h (fmodl): New declaration.
2060         * lib/fmodl.c: New file.
2061         * m4/fmodl.m4: New file.
2062         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2064         REPLACE_FMODL.
2065         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2066         REPLACE_FMODL.
2067         * modules/fmodl: New file.
2068         * doc/posix-functions/fmodl.texi: Mention the new module.
2069
2070 2012-02-25  Bruno Haible  <bruno@clisp.org>
2071
2072         Tests for module 'modfl'.
2073         * modules/modfl-tests: New file.
2074         * tests/test-modfl.c: New file.
2075         * tests/test-math-c++.cc: Check the declaration of modfl.
2076
2077         New module 'modfl'.
2078         * lib/math.in.h (modfl): New declaration.
2079         * lib/modfl.c: New file.
2080         * m4/modfl.m4: New file.
2081         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2082         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2083         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2084         * modules/modfl: New file.
2085         * doc/posix-functions/modfl.texi: Mention the new module.
2086
2087 2012-02-25  Bruno Haible  <bruno@clisp.org>
2088
2089         Tests for module 'fabsl'.
2090         * modules/fabsl-tests: New file.
2091         * tests/test-fabsl.c: New file.
2092         * tests/test-math-c++.cc: Check the declaration of fabsl.
2093
2094         New module 'fabsl'.
2095         * lib/math.in.h (fabsl): New declaration.
2096         * lib/fabsl.c: New file.
2097         * m4/fabsl.m4: New file.
2098         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2099         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2100         REPLACE_FABSL.
2101         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2102         REPLACE_FABSL.
2103         * modules/fabsl: New file.
2104         * doc/posix-functions/fabsl.texi: Mention the new module.
2105
2106 2012-02-25  Bruno Haible  <bruno@clisp.org>
2107
2108         fabs tests: More tests.
2109         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2110         (zero): New variable.
2111         (main): Add tests for signed zero.
2112         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2113
2114         fabsf tests: More tests.
2115         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2116         (zero): New variable.
2117         (main): Add tests for signed zero.
2118         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2119
2120 2012-02-24  Bruno Haible  <bruno@clisp.org>
2121
2122         atanl: Provide function definition on MSVC.
2123         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2124         function pointer.
2125         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2126
2127 2012-02-24  Bruno Haible  <bruno@clisp.org>
2128
2129         acosl: Provide function definition on MSVC.
2130         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2131         function pointer.
2132         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2133
2134 2012-02-24  Bruno Haible  <bruno@clisp.org>
2135
2136         asinl: Provide function definition on MSVC.
2137         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2138         function pointer.
2139         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2140
2141 2012-02-24  Bruno Haible  <bruno@clisp.org>
2142
2143         tanl: Provide function definition on MSVC.
2144         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2145         function pointer.
2146         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2147
2148 2012-02-24  Bruno Haible  <bruno@clisp.org>
2149
2150         cosl: Provide function definition on MSVC.
2151         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2152         function pointer.
2153         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2154
2155 2012-02-24  Bruno Haible  <bruno@clisp.org>
2156
2157         sinl: Provide function definition on MSVC.
2158         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2159         function pointer.
2160         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2161
2162 2012-02-24  Bruno Haible  <bruno@clisp.org>
2163
2164         logl: Provide function definition on MSVC.
2165         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2166         function pointer.
2167         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2168
2169 2012-02-24  Bruno Haible  <bruno@clisp.org>
2170
2171         expl: Provide function definition on MSVC.
2172         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2173         function pointer.
2174         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2175
2176 2012-02-24  Bruno Haible  <bruno@clisp.org>
2177
2178         sqrtl: Provide function definition on MSVC.
2179         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2180         a function pointer.
2181         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2182
2183 2012-02-24  Bruno Haible  <bruno@clisp.org>
2184
2185         ceill: Provide function definition on MSVC.
2186         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2187         used as a function pointer.
2188         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2189
2190 2012-02-24  Bruno Haible  <bruno@clisp.org>
2191
2192         floorl: Provide function definition on MSVC.
2193         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2194         used as a function pointer.
2195         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2196
2197 2012-02-24  Bruno Haible  <bruno@clisp.org>
2198
2199         ceilf: Provide function definition on MSVC.
2200         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2201         used as a function pointer.
2202         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2203
2204 2012-02-24  Bruno Haible  <bruno@clisp.org>
2205
2206         floorf: Provide function definition on MSVC.
2207         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2208         used as a function pointer.
2209         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2210
2211 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2212
2213         stdnoreturn: new module
2214         This implements a replacement for C11's <stdnoreturn.h>.
2215         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2216         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2217         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2218         * tests/test-stdnoreturn.c: New files.
2219
2220 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2221
2222         regex: fix false multibyte matches in some regular expressions
2223         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2224         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2225         * lib/regex_internal.c (re_string_skip_chars):
2226         Fix miscomputation of remain_len that may cause incomplete
2227         multi-byte character and false match.
2228
2229 2012-02-24  Jim Meyering  <meyering@redhat.com>
2230
2231         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2232         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2233         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2234         Remove now-unnecessary str''cmp obfuscation.
2235         Suggested by Akim Demaille.
2236
2237 2012-02-24  Bruno Haible  <bruno@clisp.org>
2238
2239         streq: Rename macro.
2240         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2241         * NEWS: Mention the change.
2242         * lib/mbrtowc.c (mbrtowc): Update.
2243         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2244         * lib/wcwidth.c (wcwidth): Update.
2245         Suggested by Akim Demaille and Jim Meyering.
2246
2247 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2248
2249         regex: fix typo in definition of MIN
2250         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2251         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2252
2253 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2254             Bruno Haible  <bruno@clisp.org>
2255
2256         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2257         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2258         entries into a stack-allocated buffer directly.
2259         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2260
2261 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2262             Bruno Haible  <bruno@clisp.org>
2263
2264         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2265
2266          - There were several instances of this pattern:
2267
2268              for (;;) {
2269                n = acl (f, GETACLCNT, 0, NULL);
2270                [ allocate an array A of size N ]
2271                if (acl (f, GETACL, n, a) == n)
2272                  break;
2273              }
2274
2275            This loop might never terminate if some other process is constantly
2276            manipulating the file's ACL.  The loop should be rewritten to
2277            terminate.
2278
2279          - The acl (... GETACLNT ...) call is merely an optimization; its value
2280            is merely a hint as to how big to make the array.  A better
2281            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2282            and just guess a reasonably-big size, growing the size and trying
2283            again if it's not large enough.  This guarantees termination, and
2284            saves a system call.
2285
2286         * lib/acl-internal.h: Include <limits.h>.
2287         (MIN, SIZE_MAX): New macros.
2288         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2289         a stack-allocated buffer, and use malloc if it does not fit. Don't
2290         use GETACLCNT.
2291         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2292
2293 2012-02-19  Bruno Haible  <bruno@clisp.org>
2294
2295         acl: Fix endless loop on Solaris with vxfs.
2296         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2297         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2298         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2299         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2300         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2301         Reported by Bill Jones in
2302         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2303
2304 2012-02-19  Bruno Haible  <bruno@clisp.org>
2305
2306         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2307         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2308         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2309         that this function returns 0 in some more cases.
2310
2311 2012-02-19  Bruno Haible  <bruno@clisp.org>
2312
2313         acl: Update doc references.
2314         * doc/acl-resources.txt: Update links to Solaris documentation.
2315
2316 2012-02-19  Bruno Haible  <bruno@clisp.org>
2317
2318         Fix test failure in many locales on Solaris 11.
2319         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2320         'tr' arguments.
2321         * tests/test-pipe-filter-ii1.c (main): Likewise.
2322         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2323         expressions in the C locale.
2324         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2325         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2326
2327 2012-02-19  Bruno Haible  <bruno@clisp.org>
2328
2329         gnulib-tool: Improve usage message.
2330         * gnulib-tool (func_usage): Move doc of --help and --version to the
2331         section "Operation modes".
2332
2333 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2334
2335         README-release: make it easier to execute commands
2336         * top/README-release: break commands out on to separate lines.
2337
2338 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2339
2340         GNUmakefile: simplify detection of unconfigured trees
2341         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2342         whether the tree make is being run from is already configured or
2343         not.  Related simplifications.
2344
2345 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2346
2347         * gnulib-tool (func_usage): Document --help and --version.
2348
2349 2012-02-11  Jim Meyering  <meyering@redhat.com>
2350
2351         bootstrap: don't exit 0 upon gnulib-tool failure
2352         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2353         its exit status, not 0.
2354
2355 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2356
2357         README-release: various improvements
2358         * top/README-release: Give a command to push changes for the
2359         release.  Add "distcheck" to list of other pre-release checks.
2360         Fix instance of "make stable" which should be "make TYPE".
2361
2362 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2363
2364         maint: replace FSF snail-mail addresses with URLs
2365         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2366         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2367         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2368         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2369         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2370         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2371         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2372         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2373         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2374         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2375         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2376         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2377         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2378         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2379         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2380         * lib/glthread/thread.c, lib/glthread/thread.h:
2381         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2382         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2383         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2384         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2385         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2386         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2387         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2388         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2389         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2390         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2391         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2392         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2393         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2394         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2395         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2396         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2397         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2398         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2399         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2400         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2401         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2402         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2403         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2404         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2405         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2406         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2407         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2408         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2409         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2410         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2411         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2412         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2413         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2414         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2415         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2416         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2417         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2418         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2419         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2420         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2421         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2422         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2423         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2424         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2425         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2426         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2427         * tests/test-poll.c, tests/test-quotearg-simple.c:
2428         * tests/test-quotearg.c, tests/test-quotearg.h:
2429         * tests/test-round-ieee.c, tests/test-round1.c:
2430         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2431         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2432         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2433         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2434         * tests/test-strerror.c, tests/test-strerror_r.c:
2435         * tests/test-strsignal.c, tests/test-strverscmp.c:
2436         * tests/test-xmemdup0.c:
2437         Replace FSF snail mail addresses with URLs, as per GNU coding
2438         standards.  See glibc bug
2439         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2440
2441 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2442
2443         README-release: capitalize a word and split a line
2444         * top/README-release: Fix punctuation and spacing.
2445
2446 2012-02-08  Akim Demaille  <demaille@gostai.com>
2447
2448         fatal-signal: use C prototypes (with explicit void).
2449         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2450         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2451
2452 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2453
2454         regex: spelling fix
2455         * lib/regexec.c: spelling fix
2456
2457         regex: rely on stdint.h for SIZE_MAX
2458         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2459
2460 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2461
2462         regex: merge glibc changes
2463
2464         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2465         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2466         (init_word_char): Work even if bitset words are not exactly 32 or
2467         64 bits wide.  Don't assume there are no padding bits.
2468         * lib/regex.c [_LIBC]: Do not include <config.h>.
2469         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2470         and -Wtype-limits.
2471         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2472         needless disagreement with glibc.  All uses changed.  Define it to
2473         1 only if _GNU_SOURCE, to match glibc.
2474         (_REG_RM_NAME): Remove; no longer needed, since the names in
2475         question are now all protected by __USE_GNU.
2476         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2477         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2478         * lib/regex_internal.h (MIN): New macro.
2479
2480         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2481         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2482
2483         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2484         * lib/regex_internal.c (re_string_fetch_byte_case):
2485         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2486         is miscompiled, and it turns out it is because of an incorrect
2487         attribute on re_string_fetch_byte_case.  Unlike
2488         re_string_peek_byte_case, this one is really not pure, it modifies
2489         memory (increments pstr->cur_idx), and with the pure attribute GCC
2490         assumed it doesn't and it cached the presumed value of
2491         regexp->cur_idx in a variable across the
2492          for (;; ++i)
2493            {
2494              if (i >= BRACKET_NAME_BUF_SIZE)
2495                return REG_EBRACK;
2496              if (token->type == OP_OPEN_CHAR_CLASS)
2497                ch = re_string_fetch_byte_case (regexp);
2498              else
2499                ch = re_string_fetch_byte (regexp);
2500              if (re_string_eoi(regexp))
2501                return REG_EBRACK;
2502              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2503                break;
2504              elem->opr.name[i] = ch;
2505            }
2506
2507         2011-11-29 Andreas Schwab <schwab@redhat.com>
2508         * lib/regcomp.c (build_equiv_class):
2509         Fix access after end of search string in regex matcher.
2510
2511         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2512         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2513
2514         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2515         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2516
2517         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2518         * lib/regcomp.c (parse_branch, parse_sub_exp):
2519         More regex memory leak fixes and tests.
2520         (parse_sub_exp, parse_bracket_exp):
2521         Fix memory leak for some invalid regular expressions.
2522
2523         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2524         * lib/regex_internal.c, lib/regexec.c:
2525         Fix unnecessary overallocation due to incomplete character.  When
2526         incomplete characters are found at the end of a string the code
2527         ran amok and allocated lots of memory.  Stricter limits are now in
2528         place.
2529
2530         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2531         * lib/regex.h: Update documentation.
2532
2533         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2534         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2535
2536         2010-05-05 Andreas Schwab <schwab@redhat.com>
2537         * lib/regexec.c (find_collation_sequence_value):
2538         Fix lookup of collation sequence value during regexp matching.
2539
2540         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2541         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2542
2543         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2544         * lib/regex.h: Cleanup namespace.
2545
2546         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2547         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2548
2549         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2550         * lib/regex_internal.h: Prevent some declarations and definitions
2551         to be seen when used in tests.
2552
2553         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2554         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2555         __libc_lock_* macros if not _LIBC.
2556         (struct re_dfa_t): Add lock.
2557
2558 2012-02-07  Eric Blake  <eblake@redhat.com>
2559
2560         maint.mk: also prohibit lower-case @var@
2561         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2562         lower case, like @top_srcdir@.
2563
2564 2012-02-04  Eric Blake  <eblake@redhat.com>
2565
2566         canonicalize: avoid uninitialized memory use
2567         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2568         random '/' left in dest.
2569         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2570
2571 2012-02-04  Bruno Haible  <bruno@clisp.org>
2572
2573         isatty: Fix test failure of ptsname_r on native Windows.
2574         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2575         and don't set errno.
2576         (isatty): Test first whether fd is valid. Set errno when returning 0.
2577
2578 2012-02-04  Bruno Haible  <bruno@clisp.org>
2579
2580         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2581         * tests/test-spawn-pipe-main.c: Include progname.h.
2582         (main): Invoke set_program_name.
2583         * modules/spawn-pipe-tests (Depends-on): Add progname.
2584
2585         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2586         * tests/test-nonblocking-socket-main.c: Include progname.h.
2587         (main): Invoke set_program_name.
2588         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2589
2590         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2591         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2592         (main): Invoke set_program_name.
2593         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2594
2595 2012-02-04  Eric Blake  <eblake@redhat.com>
2596
2597         canonicalize-lgpl: fix // handling
2598         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2599
2600         canonicalize: fix // handling
2601         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2602         /// to //, since only // is special.
2603
2604 2012-02-04  Bruno Haible  <bruno@clisp.org>
2605
2606         ioctl: Fix test failure on native Windows.
2607         * lib/ioctl.c: Include msvc-nothrow.h.
2608         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2609
2610 2012-02-04  Bruno Haible  <bruno@clisp.org>
2611
2612         fsync: Avoid test failure on native Windows.
2613         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2614         read-only.
2615
2616 2012-02-04  Bruno Haible  <bruno@clisp.org>
2617
2618         sys_select: Avoid syntax error on OpenBSD 5.0.
2619         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2620         currently being included, just include the system's <sys/select.h>.
2621
2622 2012-02-04  Bruno Haible  <bruno@clisp.org>
2623
2624         sys_select: Avoid syntax error on OpenBSD 5.0.
2625         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2626         <sys/select.h>, not before.
2627         Reported by Jiri B <jirib@devio.us>.
2628
2629 2012-02-04  Bruno Haible  <bruno@clisp.org>
2630
2631         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2632         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2633         global variables.
2634         * tests/test-get-rusage-data.c (main): Likewise.
2635         Reported by Jim Meyering.
2636
2637 2012-02-04  Bruno Haible  <bruno@clisp.org>
2638
2639         stdioext: Fix last commit.
2640         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2641
2642 2012-02-03  Bruno Haible  <bruno@clisp.org>
2643
2644         stdioext: Add tentative support for Plan9.
2645         * lib/stdio-impl.h: Include <errno.h>.
2646         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2647         * lib/freadable.c (freadable): Likewise.
2648         * lib/fwritable.c (fwritable): Likewise.
2649         * lib/fbufmode.c (fbufmode): Likewise.
2650         * lib/freading.c (freading): Likewise.
2651         * lib/fwriting.c (fwriting): Likewise.
2652         * lib/freadptr.c (freadptr): Likewise.
2653         * lib/freadseek.c (freadptrinc): Likewise.
2654         * lib/freadahead.c (freadahead): Likewise.
2655         * lib/fpurge.c (fpurge): Likewise.
2656         * lib/fseeko.c (rpl_fseeko): Likewise.
2657         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2658         Reported by Jens Staal <staal1978@gmail.com>.
2659
2660 2012-02-02  Jim Meyering  <meyering@redhat.com>
2661
2662         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2663         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2664         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2665         not even to try to add the attribute.  Instead, add a pragma to suppress
2666         the suggestion/warning.
2667
2668 2012-01-31  Karl Berry  <karl@gnu.org>
2669
2670         setstate doc: typo.
2671         * doc/posix-functions/setstate.texi (setstate): { not (.
2672
2673 2012-01-31  Bruno Haible  <bruno@clisp.org>
2674
2675         popen: Make more robust on Windows.
2676         * lib/popen.c: On native Windows, use the _popen based code even if
2677         HAVE_POPEN is set.
2678         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2679         environment variable on native Windows.
2680
2681 2012-01-30  Bruno Haible  <bruno@clisp.org>
2682
2683         pclose: Fix typo.
2684         * lib/stdio.in.h (pclose): Fix typo in warning message.
2685
2686 2012-01-30  Bruno Haible  <bruno@clisp.org>
2687
2688         doc about getlogin_r, setstate.
2689         * doc/posix-functions/getlogin_r.texi: List the incompatible
2690         declaration problem under "not fixed by gnulib".
2691         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2692         problem on Solaris 11 and other platforms.
2693
2694 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2695             Bruno Haible  <bruno@clisp.org>
2696
2697         poll tests: Make test more robust.
2698         * tests/test-poll.c: Include macros.h.
2699         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2700         return value of various I/O operations.
2701         * modules/poll-tests (Files): Add tests/macros.h.
2702
2703 2012-01-30  Bruno Haible  <bruno@clisp.org>
2704
2705         sys_stat: Fix support for mingw64 and MSVC.
2706         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2707         header files already do it.
2708         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2709         stat itself.
2710         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2711
2712 2012-01-30  Bruno Haible  <bruno@clisp.org>
2713
2714         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2715         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2716         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2717
2718 2012-01-29  Bruno Haible  <bruno@clisp.org>
2719
2720         quotearg: Fix test failure on MacOS X 10.5.
2721         * tests/test-quotearg-simple.c: Include localcharset.h.
2722         (main): If the locale encoding is not ASCII, bypass the tests of
2723         locale_quoting_style and clocale_quoting_style.
2724         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2725
2726 2012-01-29  Jim Meyering  <meyering@redhat.com>
2727
2728         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2729         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2730         detect uses of canonicalize_file_name.
2731
2732 2012-01-28  Bruno Haible  <bruno@clisp.org>
2733
2734         test-framework-sh: Fix test failure with AIX 7.1 diff.
2735         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2736         in column 1, like 'diff -c' does.
2737         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2738         whether 'diff -u' is used. Instead, test whether the output contains
2739         some '@' character.
2740
2741 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2742
2743         strtoimax: eliminate need for stdint.h, inttypes.h checks
2744         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2745         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2746         the prerequisites for a recently-introduced strtoimax test.
2747         I guess this might cause strtoimax to be replaced when not
2748         strictly necessary on older hosts, but this shouldn't introduce
2749         any bugs and it should make Emacs 'configure' faster on typical
2750         modern hosts.  Problem discovered when importing the latest gnulib
2751         to an Emacs test version.
2752         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2753
2754 2012-01-28  Bruno Haible  <bruno@clisp.org>
2755
2756         sys_time: Override 'struct timeval' on some native Windows platforms.
2757         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2758         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2759         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2760         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2761         needs to be overridden.
2762         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2763         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2764         * tests/test-sys_select.c: Check that the tv_sec member has the same
2765         size as a 'time_t'.
2766         * tests/test-sys_time.c: Likewise.
2767         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2768         is set, set also REPLACE_GETTIMEOFDAY.
2769         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2770         convert the resulting 'struct timeval' before returning.
2771         * lib/select.c: Include <sys/time.h>.
2772         (select, timeval): Undefine at the right place.
2773         * modules/select (Depends-on): Add sys_time.
2774         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2775         some Windows platforms.
2776         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2777
2778 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2779
2780         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2781         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2782         an integer.
2783         * lib/fcntl.c (dupfd): Likewise.
2784         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2785
2786 2012-01-28  Bruno Haible  <bruno@clisp.org>
2787
2788         fcntl: Avoid compilation error on native Windows.
2789         * modules/fcntl (Depends-on): Add 'close'.
2790
2791 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2792
2793         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2794         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2795         pointer to an integer.
2796         * lib/poll.c (IsConsoleHandle): Likewise.
2797         * lib/isatty.c (IsConsoleHandle): Likewise.
2798
2799 2012-01-28  Jim Meyering  <meyering@redhat.com>
2800
2801         doc: clarify README-release
2802         * top/README-release: Clarify: you should make a point to have
2803         the latest stable versions of build tools in your PATH, and the
2804         reference to buildreq is solely for its list of tool names, not
2805         for its minimal-functional version numbers.
2806         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2807
2808         maint.mk: use more readable (yet functionally equivalent) quoting
2809         It is common to quote a single quote in a single quoted string like
2810         this:  '...'\''...'.  Unless you know the idiom, that looks like
2811         gibberish, so prefer to double-quote the string when possible.
2812         Then you can use a more readable, lone single quote: "...'..."
2813         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2814         "don't" is more readable than the equivalent 'don'\''t'.
2815         (sc_cast_of_x_alloc_return_value): Likewise.
2816         (sc_cast_of_alloca_return_value): Likewise.
2817         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2818         rather than '\'':'\''.
2819
2820 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2821
2822         stdalign: relax _Alignof and tighten _Alignas test
2823         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2824         as it was too strict: alignof must divide offsetof, but it need
2825         not equal offsetof.  Inspired by Joseph S. Myers's comment
2826         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2827         Conversely, tighten the _Alignas test a bit, as the resulting
2828         alignment must be exactly 8.
2829
2830 2012-01-27  Bruno Haible  <bruno@clisp.org>
2831
2832         stdalign: Document the last change.
2833         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2834
2835 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2836
2837         stdalign: check that alignof and offsetof are consistent
2838         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2839         Problem reported for gnulib by Richard W.M. Jones in
2840         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2841
2842 2012-01-27  Jim Meyering  <meyering@redhat.com>
2843
2844         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2845         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2846         convert a sequence with gaps to the minimal containing range.
2847         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2848         * tests/test-update-copyright.sh: Test for this.
2849         The FSF confirmed it is ok to do this, assuming there is at
2850         least one significant change per year in the affected range:
2851         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2852
2853 2012-01-26  Bruno Haible  <bruno@clisp.org>
2854
2855         pipe2: refine doc about thread-safety
2856         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2857         multithread-safety problem.
2858         * doc/glibc-functions/accept4.texi: Likewise.
2859
2860 2012-01-26  Bruno Haible  <bruno@clisp.org>
2861
2862         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2863         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2864         In the test program, include <fcntl.h>, for O_RDONLY.
2865
2866 2012-01-26  Eric Blake  <eblake@redhat.com>
2867
2868         pipe2: document lack of thread-safety in replacement
2869         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2870         issue in replacement.
2871         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2872         Based on a report by Eric Wong.
2873
2874 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2875             Bruno Haible  <bruno@clisp.org>
2876
2877         malloca: Avoid warnings on x86_64 mingw64.
2878         * lib/malloca.c: Include <stdint.h>.
2879         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2880         * modules/malloca (Depends-on): Add stdint.
2881         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2882
2883 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2884
2885         obstack: remove __STDC__ conditionals
2886         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2887         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2888         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2889         m4/include_next.m4 as the only gnulib-maintained places that still
2890         refer to __STDC__.
2891
2892 2012-01-24  Bruno Haible  <bruno@clisp.org>
2893
2894         havelib: Modern quoting.
2895         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2896         the recent change to the GNU coding standards.
2897
2898 2012-01-24  Bruno Haible  <bruno@clisp.org>
2899
2900         stdint: Improve support for Android.
2901         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2902         Reported by Simon Josefsson <simon@josefsson.org>.
2903
2904 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2905
2906         doc: omit trailing empty lines from INSTALL etc.
2907         * doc/Makefile (INSTALL): Omit trailing empty lines.
2908         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2909         omit trailing empty lines.  This simplifies the build procedure.
2910
2911 2012-01-23  Jim Meyering  <meyering@redhat.com>
2912
2913         tests: avoid spurious warnings about gl_sockets_startup
2914         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2915         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2916         reporting a "statement with no effect".
2917         * tests/test-accept.c (main): Mark as "(void)".
2918         * tests/test-accept4.c (main): Likewise.
2919         * tests/test-bind.c (main): Likewise.
2920         * tests/test-connect.c (main): Likewise.
2921         * tests/test-getpeername.c (main): Likewise.
2922         * tests/test-getsockname.c (main): Likewise.
2923         * tests/test-getsockopt.c (main): Likewise.
2924         * tests/test-listen.c (main): Likewise.
2925         * tests/test-recv.c (main): Likewise.
2926         * tests/test-recvfrom.c (main): Likewise.
2927         * tests/test-send.c (main): Likewise.
2928         * tests/test-sendto.c (main): Likewise.
2929         * tests/test-setsockopt.c (main): Likewise.
2930         * tests/test-shutdown.c (main): Likewise.
2931
2932 2012-01-21  Bruno Haible  <bruno@clisp.org>
2933
2934         locale-fr.m4: Fix for Android.
2935         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2936         failure of the test program on Bionic libc.
2937
2938 2012-01-21  Jim Meyering  <meyering@redhat.com>
2939
2940         bootstrap: fail when bootstrap_post_import_hook fails
2941         Otherwise, it's far too easy to miss diagnostics emitted
2942         between gnulib-tool's output and that of running configure.
2943         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2944
2945 2012-01-17  Jim Meyering  <meyering@redhat.com>
2946
2947         maint: enable sc_trailing_blank
2948         * build-aux/pmccabe.css: Remove trailing blanks.
2949         * doc/acl-cygwin.txt: Likewise.
2950         * doc/gnu-oids.texi: Likewise
2951         * cfg.mk: Enable sc_trailing_blank.
2952         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2953
2954 2012-01-17  Jim Meyering  <meyering@redhat.com>
2955
2956         maint: enable sc_prohibit_openat_without_use
2957         * cfg.mk: Enable sc_prohibit_openat_without_use.
2958         Exempt lib/selinux-at.c.
2959
2960 2012-01-17  Jim Meyering  <meyering@redhat.com>
2961
2962         maint: enable sc_prohibit_cloexec_without_use
2963         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2964         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2965
2966 2012-01-17  Jim Meyering  <meyering@redhat.com>
2967
2968         maint: enable sc_prohibit_intprops_without_use
2969         * cfg.mk: Enable sc_prohibit_intprops_without_use
2970         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2971
2972 2012-01-17  Jim Meyering  <meyering@redhat.com>
2973
2974         maint: enable sc_prohibit_hash_pjw_without_use
2975         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2976         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2977         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2978         following " (".
2979
2980 2012-01-17  Jim Meyering  <meyering@redhat.com>
2981
2982         maint: enable double-word-prohibiting rule
2983         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2984         Exempt three files.
2985
2986 2012-01-17  Jim Meyering  <meyering@redhat.com>
2987
2988         maint: remove empty lines at EOF, but excluding modules/*
2989         Apply syntax rules at home as well as abroad.  Most changes
2990         were induced by running this:
2991           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2992             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2993             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2994         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2995         Exempt modules/* and two binary files.
2996         Also exempt doc/INSTALL*, per request from Bruno Haible.
2997         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2998         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2999         * doc/Copyright/request-assign.future: Likewise.
3000         * doc/Copyright/request-disclaim.changes: Likewise.
3001         * doc/INSTALL: Likewise.
3002         * doc/INSTALL.ISO: Likewise.
3003         * doc/INSTALL.UTF-8: Likewise.
3004         * doc/acl-cygwin.txt: Likewise.
3005         * doc/acl-resources.txt: Likewise.
3006         * doc/fdl-1.2.texi: Likewise.
3007         * doc/fdl-1.3.texi: Likewise.
3008         * doc/fdl.texi: Likewise.
3009         * lib/argp-pin.c: Likewise.
3010         * lib/round.c: Likewise.
3011         * lib/unicase/u16-totitle.c: Likewise.
3012         * lib/unictype/block_test.c: Likewise.
3013         * lib/uninorm/canonical-decomposition.c: Likewise.
3014         * m4/README: Likewise.
3015         * m4/relocatable-lib.m4: Likewise.
3016         * tests/test-isnand-nolibm.c: Likewise.
3017         * tests/test-isnand.c: Likewise.
3018         * tests/uninorm/NormalizationTest.txt: Likewise.
3019
3020 2012-01-17  Jim Meyering  <meyering@redhat.com>
3021
3022         maint: add framework to run syntax-check rules against gnulib sources
3023         * cfg.mk: New file, to disable all currently-failing tests.
3024         We'll enable them one by one, as they are made to pass.
3025         * Makefile (sc_maint): New rule.
3026
3027 2012-01-21  Bruno Haible  <bruno@clisp.org>
3028
3029         stdint: Add support for Android.
3030         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3031         include the system's <stdint.h>.
3032         Reported by Simon Josefsson <simon@josefsson.org>.
3033
3034 2012-01-19  Jim Meyering  <meyering@redhat.com>
3035
3036         bootstrap: add bootstrap_post_import_hook
3037         Bison does still need something like the gnulib_mk_hook whose
3038         invocation I had to remove along with slurp in commit 767ccd40.
3039         Technically, we could get along without it, but doing so would
3040         have required living with a warning and a mandatory post-bootstrap
3041         automake rerun.
3042         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3043         (bootstrap_post_import_hook): New function.
3044         Invoke it after gnulib-tool --import and before autoreconf.
3045
3046 2012-01-18  Jim Meyering  <meyering@redhat.com>
3047
3048         gitlog-to-changelog: don't use "no_"-prefixed variable name
3049         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3050         to enable both --cluster and --no-cluster.  Change variable name,
3051         s/\$no_cluster/$cluster/, and reverse usage to match.
3052
3053         gitlog-to-changelog: use "||", not "or" in expressions
3054         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3055         expressions.
3056
3057 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3058
3059         gitlog-to-changelog: new option --no-cluster
3060         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3061         clustering of adjacent commit messages.
3062
3063 2012-01-17  Jim Meyering  <meyering@redhat.com>
3064
3065         maint: spell file systems with two words, not one
3066         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3067         two words, not one.
3068
3069 2012-01-16  Jim Meyering  <meyering@redhat.com>
3070
3071         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3072         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3073
3074 2012-01-16  Eric Blake  <eblake@redhat.com>
3075
3076         bootstrap: cater to autoconf 2.59
3077         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3078         is not available.
3079
3080         bootstrap: properly check for libtool
3081         * build-aux/bootstrap (libtoolize): Also run libtool when older
3082         usage is detected.
3083
3084 2012-01-15  Bruno Haible  <bruno@clisp.org>
3085
3086         Improve support for MSVC 9.
3087         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3088         clashes on MSVC.
3089         * lib/fcntl.in.h: Likewise.
3090         * lib/stdlib.in.h: Likewise.
3091         * lib/sys_stat.in.h: Likewise.
3092
3093 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3094
3095         gnupload: we hold the master copy of this script now
3096         For motivation and more information, see:
3097         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3098         * build-aux/gnupload: Make it clear in the heading comments that the
3099         master copy of this file is maintained by gnulib.  Since we are at
3100         it, bump its copyright year and ...
3101         ($scriptversion): ... the date in its version.
3102         ($usage): Patches and bug reports should be sent to the gnulib list,
3103         not the automake one.
3104         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3105         anymore.
3106
3107 2012-01-15  Bruno Haible  <bruno@clisp.org>
3108
3109         Fix module 'random'.
3110         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3111         initstate, setstate are declared.
3112
3113 2012-01-14  Bruno Haible  <bruno@clisp.org>
3114
3115         Tests for module 'random'.
3116         * modules/random-tests: New file.
3117         * tests/test-random.c: New file, based on tests/test-random_r.c.
3118
3119         New module 'random'.
3120         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3121         declarations.
3122         * lib/random.c: New file, based on glibc/stdlib/random.c.
3123         * m4/random.m4: New file.
3124         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3125         HAVE_RANDOM.
3126         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3127         * modules/random: New file.
3128         * config/srclist.txt: Add an entry for random.c.
3129         * doc/posix-functions/random.texi: Mention the 'random' module.
3130         * doc/posix-functions/initstate.texi: Likewise.
3131         * doc/posix-functions/setstate.texi: Likewise.
3132         * doc/posix-functions/srandom.texi: Likewise.
3133
3134 2012-01-12  Bruno Haible  <bruno@clisp.org>
3135
3136         random_r: Use common idioms.
3137         * lib/random_r.c: Include <stdlib.h> first.
3138
3139         random_r: Override incompatible API on AIX, OSF/1.
3140         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3141         Override the system function if REPLACE_RANDOM_R is 1.
3142         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3143         and OSF/1, set REPLACE_RANDOM_R.
3144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3145         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3146         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3147         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3148         * doc/glibc-functions/random_r.texi: Likewise.
3149         * doc/glibc-functions/setstate_r.texi: Likewise.
3150
3151         random_r: Support for MSVC 9.
3152         * lib/random_r.c: Include stdint.h, not inttypes.h.
3153
3154 2012-01-12  Eric Blake  <eblake@redhat.com>
3155
3156         inet_ntop: guard extra work by IF_LINT
3157         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3158         better code generation when not checking for warnings.
3159         Suggested by Paul Eggert and Jim Meyering.
3160
3161         strptime: fix regression on mingw
3162         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3163         Fix regression.  Reported by Bruno Haible.
3164
3165 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3166             Bruno Haible  <bruno@clisp.org>
3167
3168         copy-file: add error-code-returning variant.
3169         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3170         (qcopy_file_preserving): New declaration.
3171         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3172         copy_file_preserving. Change return type to 'int'. Don't emit an error
3173         message here.
3174         (copy_file_preserving): New function.
3175         * tests/test-copy-file.c: Include <stdlib.h>.
3176         (main): Test qcopy_file_preserving if the environment variable
3177         NO_STDERR_OUTPUT is set.
3178         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3179         with NO_STDERR_OUTPUT
3180         * tests/test-copy-file-2.sh: Likewise.
3181
3182 2012-01-10  Bruno Haible  <bruno@clisp.org>
3183
3184         copy-file: Use 'quote' module consistently.
3185         * lib/copy-file.c (copy_file_preserving): Use quote().
3186
3187         copy-file: Refactor.
3188         * lib/copy-file.c: Include quote.h.
3189         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3190         message here.
3191         * modules/copy-file (Depends-on): Add quote.
3192
3193         acl: Export qcopy_acl.
3194         * lib/acl.h (qcopy_acl): New declaration.
3195         * lib/copy-acl.c (qcopy_acl): Make non-static.
3196
3197         acl: Rename a local variable.
3198         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3199
3200         acl: Align return values of copy_acl and qcopy_acl.
3201         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3202         maybe < -1.
3203
3204 2012-01-11  Eric Blake  <eblake@redhat.com>
3205
3206         strptime: silence gcc warnings
3207         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3208         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3209         Reported by Daniel P. Berrange.
3210
3211         inet_ntop: silence gcc warning
3212         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3213         Reported by Daniel P. Berrange.
3214
3215 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3216
3217         getloadavg test: skip the test on GNU/Linux without /proc mounted
3218         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3219         file.  When /proc is not mounted, it always fails with ENOENT.
3220         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3221         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3222
3223 2012-01-10  Bruno Haible  <bruno@clisp.org>
3224
3225         regex: Avoid link error on MSVC 9.
3226         * modules/regex (Depends-on): Add wctype.
3227
3228 2012-01-10  Bruno Haible  <bruno@clisp.org>
3229
3230         doc: Mention --with-tests option.
3231         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3232         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3233         --with-tests.
3234         Reported by Reuben Thomas.
3235
3236 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3237
3238         users.txt: order package names lexicographically.
3239         * users.txt: Order package names lexicographically.
3240
3241 2012-01-10  Jim Meyering  <meyering@redhat.com>
3242
3243         maint.mk: fix description in comment
3244         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3245
3246         ignore-value: remove deprecated ignore_ptr function
3247         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3248         * NEWS: Note this.
3249
3250 2012-01-09  Jim Meyering  <meyering@redhat.com>
3251
3252         test-init.sh: avoid a subshell
3253         * tests/test-init.sh: Remove protective subshell.
3254         Suggested by Bernhard Voelker.  While a subshell is normally
3255         required to protect against older shells (Solaris, FreeBSD) that
3256         warn about a missing program before performing redirection, the
3257         shell-selection tests performed by init.sh probably exclude any
3258         offending shell.
3259
3260 2012-01-08  Bruno Haible  <bruno@clisp.org>
3261
3262         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3263         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3264         variable.
3265
3266 2012-01-08  Bruno Haible  <bruno@clisp.org>
3267
3268         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3269         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3270         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3271         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3272         macro.
3273         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3274         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3275         * lib/spawn_faction_addopen.c: Add workaround implementation if
3276         HAVE_WORKING_POSIX_SPAWN.
3277         * modules/spawn (Makefile): Substitute
3278         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3279         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3280         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3281         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3282         (Depends-on): Update conditions.
3283         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3284         the Solaris 11 bug.
3285
3286 2012-01-08  Bruno Haible  <bruno@clisp.org>
3287
3288         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3289         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3290         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3291         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3292         macro.
3293         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3294         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3295         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3296         HAVE_WORKING_POSIX_SPAWN.
3297         * modules/spawn (Makefile): Substitute
3298         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3299         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3300         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3301         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3302         (Depends-on): Update conditions.
3303         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3304         the Solaris 11 bug.
3305
3306 2012-01-08  Bruno Haible  <bruno@clisp.org>
3307
3308         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3309         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3310         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3311         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3312         HAVE_WORKING_POSIX_SPAWN.
3313         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3314         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3315         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3316         * lib/spawn_faction_addclose.c: Add workaround implementation if
3317         HAVE_WORKING_POSIX_SPAWN.
3318         * modules/spawn (Makefile): Substitute
3319         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3320         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3321         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3322         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3323         (Depends-on): Update conditions.
3324         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3325         the Solaris 11 bug.
3326
3327 2012-01-08  Bruno Haible  <bruno@clisp.org>
3328
3329         doc: Update for Solaris 11 2011-11.
3330         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3331         * m4/printf.m4: Update comments.
3332
3333 2012-01-08  Bruno Haible  <bruno@clisp.org>
3334
3335         mktime: Avoid compilation error on Solaris 11.
3336         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3337
3338 2012-01-08  Bruno Haible  <bruno@clisp.org>
3339
3340         doc: Small fix.
3341         * doc/posix-headers/nl_types.texi: Correct platforms list.
3342
3343 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3344
3345         Add lgpl-3.0 module.
3346         * MODULES.html.sh (Support for building documentation): Add
3347         lgpl-3.0.
3348         * modules/lgpl-3.0: New file.
3349
3350 2012-01-08  Jim Meyering  <meyering@redhat.com>
3351
3352         select.c: indent with spaces, not TABs
3353         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3354
3355 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3356
3357         quotearg: do not use grave accent for left quote
3358         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3359         locale_quoting_style.
3360         (quotearg_buffer_restyled): Fix example.
3361         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3362
3363 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3364
3365         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3366         Most programs do not have translation catalogs for English and much
3367         less separate catalogs for British and American English.  Drop the
3368         suggestion to translators about these two, and provide it
3369         automatically for Unicode locales.  Like most programs, even those
3370         using American English, we use single quotation marks.  This conflicts
3371         with the American typographic convention, but works better when you
3372         cite the entire error message within double quotes.  It also tries not
3373         to clash with established practice and with what non-gnulib programs
3374         will usually do.
3375         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3376         using an UTF-8 or GB-18030 locale.  The list of other locales with
3377         quotes was provided by Bruno Haible.
3378         (quotearg_buffer_restyled): Adjust instructions to translators.
3379         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3380         text, since this would be wrong when using Unicode.
3381         * modules/quotearg: Depend on c-strcaseeq.
3382
3383 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3384
3385         quotearg: fix Wikipedia link
3386         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3387
3388 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3389
3390         Fix for mingw with MSVC9.
3391         * m4/ld-version-script.m4: Check that compiler rejects version
3392         scripts with syntax errors.  Reported by Bruno Haible
3393         <bruno@clisp.org>.
3394
3395 2012-01-06  Bruno Haible  <bruno@clisp.org>
3396
3397         Talk about "native Windows API", not "Woe32".
3398         * lib/accept4.c: Update comments to mention native Windows.
3399         * lib/execute.c: Likewise.
3400         * lib/fatal-signal.c: Likewise.
3401         * lib/localcharset.c: Likewise.
3402         * lib/nanosleep.c: Likewise.
3403         * lib/nl_langinfo.c: Likewise.
3404         * lib/pclose.c: Likewise.
3405         * lib/pipe-filter-gi.c: Likewise.
3406         * lib/pipe-filter-ii.c: Likewise.
3407         * lib/pipe.c: Likewise.
3408         * lib/pipe2.c: Likewise.
3409         * lib/popen.c: Likewise.
3410         * lib/progreloc.c: Likewise.
3411         * lib/relocatable.c: Likewise.
3412         * lib/sigaction.c: Likewise.
3413         * lib/sigprocmask.c: Likewise.
3414         * lib/spawn-pipe.h: Likewise.
3415         * lib/spawn-pipe.c: Likewise.
3416         * lib/spawni.c: Likewise.
3417         * lib/stat-time.h: Likewise.
3418         * lib/w32spawn.h: Likewise.
3419         * tests/test-isatty.c: Likewise.
3420         * lib/config.charset: More comments.
3421         * doc/gnulib-intro.texi: Mention native Windows.
3422         * doc/posix-functions/_Exit_C99.texi: Likewise.
3423         * doc/posix-headers/fcntl.texi: Likewise.
3424
3425 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3426
3427         argp: Avoid crash if translator uses % characters in a translation.
3428         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3429         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3430
3431 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3432
3433         doc: C11 and C++11 are now official
3434         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3435         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3436         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3437         * modules/stdalign:
3438         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3439
3440 2012-01-06  Bruno Haible  <bruno@clisp.org>
3441
3442         uc-is-grapheme-break tests: Tweak.
3443         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3444         message.
3445
3446 2012-01-06  Bruno Haible  <bruno@clisp.org>
3447
3448         test-init.sh: correct the test for diff -u
3449         * tests/test-init.sh: Also redirect stdout to /dev/null.
3450
3451 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3452
3453         Use ', not `, for quoting output.
3454         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3455         (print_changelog_deltas, get_tool_versions, main program):
3456         * build-aux/git-version-gen:
3457         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3458         * build-aux/move-if-change (help):
3459         * build-aux/useless-if-before-free (usage, main program):
3460         * check-module (parse_module_file, usage)
3461         (find_included_lib_files, check_module):
3462         * lib/argmatch.c (main) [TEST]:
3463         * lib/argp-help.c (_help):
3464         * lib/getopt1.c (main) [TEST]:
3465         * lib/git-merge-changelog.c (usage):
3466         * lib/xstrtol-error.c (xstrtol_error):
3467         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3468         * m4/argz.m4 (gl_FUNC_ARGZ):
3469         * m4/bison.m4 (gl_BISON):
3470         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3471         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3472         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3473         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3474         * m4/gc-random.m4 (gl_GC_RANDOM):
3475         * m4/intl.m4 (gt_CHECK_DECL):
3476         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3477         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3478         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3479         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3480         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3481         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3482         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3483         * tests/test-dirname.c (main):
3484         * tests/test-getpass.c (main):
3485         * tests/test-iconvme.c (main):
3486         * tests/test-parse-datetime.c (LOG):
3487         * tests/test-xstrtoimax.sh:
3488         * tests/test-xstrtol.sh:
3489         * tests/test-xstrtoll.sh:
3490         * tests/test-xstrtoumax.sh:
3491         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3492         * top/GNUmakefile (abort-due-to-no-makefile):
3493         Quote 'like this', not `like this', as per the recent change to
3494         the GNU coding standards.
3495
3496 2012-01-05  Bruno Haible  <bruno@clisp.org>
3497
3498         strtoimax: Don't force a replacement on systems where intmax_t is int.
3499         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3500         'intmax_t' is not larger than 'int'.
3501         Reported by Pádraig Brady <P@draigBrady.com>.
3502
3503 2012-01-05  Bruno Haible  <bruno@clisp.org>
3504
3505         doc: Mention NetBSD bugs.
3506         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3507         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3508
3509 2012-01-05  Bruno Haible  <bruno@clisp.org>
3510
3511         strtoumax tests: Enhance tests.
3512         * tests/test-strtoumax.c (main): Add tests for large values.
3513
3514 2012-01-05  Bruno Haible  <bruno@clisp.org>
3515
3516         strtoimax: Work around AIX 5.1 bug.
3517         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3518         definition.
3519         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3520         Set HAVE_STRTOIMAX.
3521         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3522         REPLACE_STRTOIMAX.
3523         * modules/inttypes-incomplete (Makefile.am): Substitute
3524         REPLACE_STRTOIMAX.
3525         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3526         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3527         (Depends-on): Update conditions.
3528         * tests/test-strtoimax.c (main): Add tests for large values.
3529         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3530
3531 2012-01-05  Bruno Haible  <bruno@clisp.org>
3532
3533         inttypes: Modernize.
3534         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3535         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3536         (Makefile.am): Update inttypes.h rule.
3537
3538 2012-01-05  Jim Meyering  <meyering@redhat.com>
3539
3540         init.sh: don't waste a subshell just to redirect stderr
3541         * tests/init.sh: In testing for diff -u and diff -c, use a
3542         stderr-redirecting exec inside `...` rather than a subshell.
3543
3544         test-init.sh: avoid failure on HP-UX 11.00
3545         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3546         resolves to diff -c or cmp.  Reported by Bruno Haible.
3547
3548 2012-01-05  Bruno Haible  <bruno@clisp.org>
3549
3550         Tests for module 'strtoull'.
3551         * modules/strtoull-tests: New file.
3552         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3553
3554 2012-01-05  Bruno Haible  <bruno@clisp.org>
3555
3556         Tests for module 'strtoll'.
3557         * modules/strtoll-tests: New file.
3558         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3559
3560 2012-01-05  Bruno Haible  <bruno@clisp.org>
3561
3562         Tests for module 'strtoul'.
3563         * modules/strtoul-tests: New file.
3564         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3565
3566 2012-01-05  Bruno Haible  <bruno@clisp.org>
3567
3568         Tests for module 'strtol'.
3569         * modules/strtol-tests: New file.
3570         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3571
3572 2012-01-04  Jim Meyering  <meyering@redhat.com>
3573
3574         test-init.sh: accommodate Solaris 5.10's different diff -u output
3575         * tests/test-init.sh: Also exempt @@ lines from the comparison
3576         of diff output, since Solaris 5.10 and GNU diff formats differ.
3577         Reported by Stefano Lattarini.
3578
3579 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3580
3581         test-posixtm: don't assume signed integer wraparound
3582         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3583         after signed integer overflow.  Inspired by (though it may not
3584         fix) Bruno Haible's bug report in
3585         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3586
3587         Spell out "Windows 9x" and "Windows XP".
3588         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3589         "Windows 9x" and "WinXP" with "Windows XP".
3590
3591 2012-01-04  Jim Meyering  <meyering@redhat.com>
3592
3593         test-vc-list-files-cvs.sh: remove obsolete comment
3594         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3595         double exit.  Now that's all encapsulated via skip_ and Exit.
3596
3597 2012-01-04  Bruno Haible  <bruno@clisp.org>
3598
3599         Talk about "native Windows API", not "Win32".
3600         * lib/classpath.c: Update comments to mention native Windows.
3601         * lib/csharpexec.c: Likewise.
3602         * lib/dup2.c: Likewise.
3603         * lib/error.c: Likewise.
3604         * lib/fcntl.c: Likewise.
3605         * lib/filename.h: Likewise.
3606         * lib/findprog.c: Likewise.
3607         * lib/get-rusage-as.c: Likewise.
3608         * lib/get-rusage-data.c: Likewise.
3609         * lib/getpagesize.c: Likewise.
3610         * lib/javaexec.c: Likewise.
3611         * lib/msvc-inval.c: Likewise.
3612         * lib/msvc-nothrow.c: Likewise.
3613         * lib/nanosleep.c: Likewise.
3614         * lib/nonblocking.c: Likewise.
3615         * lib/printf-parse.c: Likewise.
3616         * lib/setlocale.c: Likewise.
3617         * lib/sigaction.c: Likewise.
3618         * lib/strerror_r.c: Likewise.
3619         * lib/tmpdir.c: Likewise.
3620         * lib/vasnprintf.c: Likewise.
3621         * lib/w32spawn.h: Likewise.
3622         * lib/waitpid.c: Likewise.
3623         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3624         * m4/locale-ar.m4: Likewise.
3625         * m4/locale-fr.m4: Likewise.
3626         * m4/locale-ja.m4: Likewise.
3627         * m4/locale-tr.m4: Likewise.
3628         * m4/locale-zh.m4: Likewise.
3629         * m4/printf.m4: Likewise.
3630         * tests/test-cloexec.c: Likewise.
3631         * tests/test-copy-acl.sh: Likewise.
3632         * tests/test-copy-file.sh: Likewise.
3633         * tests/test-file-has-acl.sh: Likewise.
3634         * tests/test-set-mode-acl.sh: Likewise.
3635         * tests/test-dup-safer.c: Likewise.
3636         * tests/test-dup2.c: Likewise.
3637         * tests/test-dup3.c: Likewise.
3638         * tests/test-fcntl.c: Likewise.
3639         * tests/test-nonblocking-pipe.h: Likewise.
3640         * tests/test-nonblocking-socket.h: Likewise.
3641         * tests/test-pipe.c: Likewise.
3642         * tests/test-pipe2.c: Likewise.
3643         * tests/test-spawn-pipe-child.c: Likewise.
3644         * doc/acl-resources.txt: Likewise.
3645         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3646         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3647         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3648         * lib/localcharset.c: Update comments to mention native Windows.
3649         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3650         * lib/localename.c: Likewise.
3651         * lib/progreloc.c: Likewise.
3652         * lib/relocatable.c: Likewise.
3653         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3654         (windows_compute_revents): Renamed from win32_compute_revents.
3655         (windows_compute_revents_socket): Renamed from
3656         win32_compute_revents_socket.
3657         * lib/select.c: Update comments to mention native Windows.
3658         (windows_poll_handle): Renamed from win32_poll_handle.
3659         * m4/threadlib.m4: Update comments to mention native Windows.
3660         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3661         --enable-threads=windows instead of --enable-threads=win32. Set
3662         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3663         * lib/glthread/lock.h: Update comments to mention native Windows.
3664         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3665         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3666         USE_WIN32_THREADS.
3667         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3668         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3669         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3670         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3671         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3672         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3673         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3674         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3675         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3676         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3677         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3678         * tests/test-tls.c: Likewise.
3679         Rationale:
3680         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3681         on both 32-bit and 64-bit Windows systems.
3682         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3683         line of distinction is between "native Windows" on one side and Unix/
3684         POSIX systems on the other side. More details in
3685         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3686         Suggested by Paul Eggert.
3687
3688 2012-01-03  Bruno Haible  <bruno@clisp.org>
3689
3690         isatty: Support for MSVC 9.
3691         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3692         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3693         (_isatty_nothrow): New function.
3694         (isatty): Use it instead of _isatty.
3695         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3696         * lib/poll.c (IsConsoleHandle): Likewise.
3697         * lib/select.c (IsConsoleHandle): Likewise.
3698         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3699         (gl_PREREQ_ISATTY): New macro.
3700         * modules/isatty (Depends-on): Add msvc-inval.
3701         (configure.ac): Invoke gl_PREREQ_ISATTY.
3702
3703 2012-01-03  Jim Meyering  <meyering@redhat.com>
3704
3705         maint.mk: remove temporary transition aid from over 1.5 years ago
3706         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3707         purpose was to aid in the transition (avoiding silent malfunction)
3708         from that old name to the new _sc_search_regexp.  This shim was
3709         added by commit 219c504b.
3710
3711         init.sh: do not try to accommodate compare arguments starting with "-"
3712         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3713         compare arguments that start with "-".  Besides, we do not worry
3714         about this when invoking diff or cmp; why start now with sed?
3715         Using "--" to separate options from argument would trigger sed
3716         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3717         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3718
3719 2012-01-02  Bruno Haible  <bruno@clisp.org>
3720
3721         Enhance tests for module 'isatty'.
3722         * modules/isatty-tests (Depends-on): Add pipe-posix.
3723         * tests/test-isatty.c: Include <fcntl.h>.
3724         (DEV_NULL): New macro.
3725         (main): Test the resut of isatty() also on regular files, pipes, and
3726         /dev/null.
3727
3728         New module 'isatty'.
3729         * lib/unistd.in.h (isatty): New declaration.
3730         * lib/isatty.c: New file, based on an idea of
3731         Bastien Roucariès <roucaries.bastien@gmail.com>.
3732         * m4/isatty.m4: New file.
3733         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3734         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3735         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3736         REPLACE_ISATTY.
3737         * modules/isatty: New file.
3738         * doc/posix-functions/isatty.texi: Mention the new module.
3739         Suggested by Paolo Bonzini.
3740
3741 2012-01-02  Bruno Haible  <bruno@clisp.org>
3742
3743         canonicalize: Tweak 2011-12-29 commit.
3744         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3745         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3746
3747 2012-01-02  Jim Meyering  <meyering@redhat.com>
3748
3749         gitlog-to-changelog: describe input syntax in --help output
3750         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3751
3752         gitlog-to-changelog: fix typo in --help: show backslash before email @
3753         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3754         in sources, but not in actual output.
3755
3756 2011-12-30  Jim Meyering  <meyering@redhat.com>
3757
3758         gitlog-to-changelog: don't malfunction when name contains %-directive
3759         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3760         in a name string cause trouble.  E.g., with a user name of "%s",
3761         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3762
3763 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3764
3765         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3766         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3767         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3768         the "  (tiny change)" notation that is appended to the standard
3769         ChangeLog "date  name  email" header line.
3770
3771 2012-01-01  Jim Meyering  <meyering@redhat.com>
3772
3773         test-framework-sh: init.sh: fix "make dist" failure
3774         When using gnulib-tool's --with-tests option and any module that
3775         depends on test-framework-sh, "make dist" would fail due to the
3776         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3777         in the gltests directory, and not in the gllib/ directory.
3778         One way to work around that is to move the EXTRA_DIST += init.sh
3779         from the primary module to the -tests one:
3780         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3781         * modules/test-framework-sh (Makefile.am): ...not here.
3782         Reported by Tom G. Christensen in
3783         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3784
3785         version-etc: update copyright year reported by --version
3786         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3787
3788 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3789
3790         canonicalize: only stat() if required
3791         * lib/canonicalize.c (canonicalize_filename_mode):
3792         Avoid calling l?stat() when both CAN_MISSING,
3793         and CAN_NOLINKS are set, as we neither need
3794         to resolve symlinks or test component existence.
3795
3796 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3797
3798         doc: cover st_ino issues once; add OpenVMS etc.
3799         * doc/posix-functions/stat.texi (stat):
3800         * doc/posix-functions/lstat.texi (lstat):
3801         * doc/posix-functions/fstatat.texi (fstatat):
3802         * doc/posix-functions/fstat.texi (fstat):
3803         Move general 'struct stat' stuff to sys_stat.texi,
3804         leaving behind a pointer.
3805         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3806         Merge duplicate info about 'struct stat' problems into here.
3807         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3808         and suggest partial workarounds.
3809
3810         same-inode: port to OpenVMS
3811         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3812         three st_ino values.
3813
3814 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3815
3816         canonicalize: fix references to stat() and lstat()
3817         * lib/canonicalize.c (canonicalize_filename_mode):
3818         Ensure references always resolve to a replacement
3819         function if required (even via a macro).
3820
3821 2011-12-30  Jim Meyering  <meyering@redhat.com>
3822
3823         gitlog-to-changelog: remove a little duplication
3824         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3825         rather than twice.
3826
3827 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3828
3829         canonicalize: add support for not resolving symlinks
3830         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3831         indicate we don't want to follow symlinks.  Also
3832         provide CAN_MODE_MASK to aid setting these existing
3833         mutually exclusive values.
3834         * lib/canonicalize.c (canonicalize_filename_mode):
3835         Extract the flags from can_mode parameter, which
3836         are currently just used to select between stat()
3837         and lstat().  Also ensure that mutually exclusive
3838         values are flagged immediately as invalid.
3839         * tests/test-canonicalize.c: Verify symlinks are
3840         not followed, and that invalid flag combinations
3841         are diagnosed.
3842
3843 2011-12-25  Jim Meyering  <meyering@redhat.com>
3844
3845         gitlog-to-changelog: do not clump multi-paragraph entries
3846         Identical header lines (date,name,email+coauthors) are suppressed,
3847         thus putting all entries with those same characteristics under
3848         a single header.  However, when a log entry consists of two or
3849         more paragraphs, it may not be clear where it starts and ends.
3850         This change makes it so that such an entry is always separated
3851         from others by a header line, even when that header would
3852         otherwise be suppressed.
3853         * build-aux/gitlog-to-changelog: Implement the above.
3854         Inspired by a related request from Stefano Lattarini in
3855         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3856
3857 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3858
3859         announce-gen: fix `cmd' typo in diagnostic
3860         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3861         diagnostic: a missing '$' meant that the command was not output.
3862
3863 2011-12-23  Jim Meyering  <meyering@redhat.com>
3864
3865         test-framework-sh: distribute init.sh
3866         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3867         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3868         fail due to the lack of init.sh.
3869
3870         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3871         * modules/atexit-tests: Rather than listing tests/init.sh,
3872         now that there's a module for it, simply depend on that new module.
3873         * modules/closein-tests: Likewise.
3874         * modules/exclude-tests: Likewise.
3875         * modules/getcwd-tests: Likewise.
3876         * modules/perror-tests: Likewise.
3877         * modules/pread-tests: Likewise.
3878         * modules/pwrite-tests: Likewise.
3879         * modules/vc-list-files-tests: Likewise.
3880         * modules/verify-tests: Likewise.
3881         * modules/xalloc-die-tests: Likewise.
3882         * modules/xstrtoimax-tests: Likewise.
3883         * modules/xstrtol-tests: Likewise.
3884         * modules/xstrtoll-tests: Likewise.
3885         * modules/xstrtoumax-tests: Likewise.
3886         * modules/yesno-tests: Likewise.
3887
3888 2011-12-22  Jim Meyering  <meyering@redhat.com>
3889
3890         test-framework-sh: add minimal tests of init.sh's compare function
3891         * modules/test-framework-sh-tests: New file.
3892         * tests/test-init.sh: New file.
3893
3894         test-framework-sh: new module
3895         * modules/test-framework-sh: New file.
3896         * MODULES.html.sh (Support for maintaining and releasing projects):
3897         List it.
3898
3899         init.sh: do not emit simulated diff output to stderr
3900         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3901
3902 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3903
3904         .gitignore: ignore gnulib.dvi and regex.info
3905         * doc/.gitignore:add gnulib.dvi and regex.info
3906
3907 2011-12-22  Jim Meyering  <meyering@redhat.com>
3908
3909         init.sh: correct previous change
3910         * tests/init.sh (compare): My previous change was wrong.
3911         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3912
3913         init.sh: avoid unwarranted test failure when using "set -e"
3914         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3915         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3916         a use like "compare exp out" would get evoke an unconditional failure.
3917
3918 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3919
3920         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3921         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3922         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3923         autoreconf that did not.
3924         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3925         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3926
3927 2011-12-17  Jim Meyering  <meyering@redhat.com>
3928
3929         bootstrap: remove some now-unneeded code
3930         This script arose back when gnulib-tool was young.
3931         Since then, it has seen improvements that render much of this
3932         script unnecessary.  In particular, it can now make symlinks
3933         to the files it uses.  Also, I no longer see as much value in
3934         marking files as read-only via comments.
3935         If you relied on the symlink-creation feature of the preceding
3936         version of this script, you can get most of that functionality
3937         by adding the --symlink option to the definition of
3938         gnulib_tool_option_extras in your bootstrap.conf file.
3939         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3940         Run autopoint and libtoolize *before* gnulib-tool.
3941         After it, run an abbreviated autoreconf, rather than a loop around
3942         all tools.
3943         (slirp, bt_mark_as_generated): Remove functions.
3944
3945 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3946
3947         ftoastr: fix typo
3948         * lib/ftoastr.h: Fix misspelling in comment.
3949
3950 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3951
3952         * top/README-release: fix punctuation.
3953
3954 2011-12-17  Jim Meyering  <meyering@redhat.com>
3955
3956         bootstrap: correct the recent buildreq change
3957         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3958         had no effect.
3959         * build-aux/bootstrap (buildreq): Bracket each search term with
3960         "*...*", so that the shell "case" statement works as intended.
3961         Add comments.
3962
3963 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3964
3965         build: let bootstrap resort to wget when downloading .po files
3966         * build-aux/bootstrap (download_po_files): Fallback to wget when
3967         downloading the .po files via rsync fails.  This is necessary to
3968         bootstrap from behind a strict firewall.
3969
3970 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3971
3972         stdint: don't assume C++11 when compiling with g++
3973         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3974         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3975         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3976         work also in C++ before C++11, as that improperly inhibits
3977         generating a substitute stdint.h for that case.
3978
3979 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3980
3981         alloca: protect comment from gnulib-tool
3982         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3983         that gnulib-tool doesn't think it's a license, and munge it to
3984         say "GCC version 3".
3985
3986 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3987
3988         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3989         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3990         $(abs_top_builddir) instead of $(top_builddir).
3991
3992 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3993
3994         strftime-tests: also test nanoseconds
3995         * tests/test-strftime.c (T): Add a test of %N.
3996
3997 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3998
3999         inttypes, stdint: add C++11 support
4000         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4001         when including inttypes.h and stdint.h.  Support this change to
4002         the standard.
4003         * doc/posix-headers/inttypes.texi (inttypes.h):
4004         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4005         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4006         Define if not defined already, for the benefit of pre-C++11 hosts.
4007         Define the standard format macros (e.g., PRId8) always.
4008         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4009         Likewise, if __cpluspus.  Define the standard constant and limit
4010         macros (e.g., INT8_C, INT8_MAX) always.
4011         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4012         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4013         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4014         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4015         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4016         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4017         Likewise.
4018
4019 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4020
4021         nonblocking tests: Fix test failure on Linux/PPC.
4022         Suggested by Prerna Saxena in
4023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4024         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4025         Set to 1100000.
4026
4027 2011-12-12  Jim Meyering  <meyering@redhat.com>
4028
4029         argmatch: don't hard-code `' when listing valid option arguments
4030         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4031         use the quote function to add quotes.  Use fputs rather than
4032         fprintf for the format string with no format directive.
4033
4034 2011-12-07  Eric Blake  <eblake@redhat.com>
4035
4036         bootstrap: detect tools required by gnulib-tool
4037         * build-aux/bootstrap (buildreq): Provide minimum implicit
4038         dependencies.
4039         * DEPENDENCIES: Mention patch as a prereq.
4040
4041 2011-12-04  Bruno Haible  <bruno@clisp.org>
4042
4043         sethostname: Port to Windows platforms.
4044         * lib/sethostname.c: Provide an alternate implementation for Windows
4045         platforms.
4046         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4047         (main): Skip the test if sethostname() fails with EPERM. On Windows
4048         platforms, don't check the result of gethostname().
4049
4050 2011-12-04  Bruno Haible  <bruno@clisp.org>
4051             Jim Meyering  <meyering@redhat.com>
4052
4053         tests: Avoid spurious error message on platforms without mktemp program.
4054         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4055
4056 2011-12-04  Bruno Haible  <bruno@clisp.org>
4057
4058         sethostname: Fix documentation.
4059         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4060         "not fixed" section.
4061
4062 2011-12-03  Bruno Haible  <bruno@clisp.org>
4063
4064         gnulib-tool: Verify that the License field is present and non-empty.
4065         * gnulib-tool (func_get_license_raw): New function, extracted from
4066         func_get_license.
4067         (func_get_license): Use it. Warn if the module is not a test module and
4068         has no license.
4069         Suggested by Jim Meyering.
4070
4071 2011-12-03  Bruno Haible  <bruno@clisp.org>
4072
4073         sethostname tests: Fix link error on mingw.
4074         * tests/test-sethostname1.c: New file, extracted from
4075         tests/test-sethostname.c.
4076         * tests/test-sethostname2.c: New file, extracted from
4077         tests/test-sethostname.c.
4078         * tests/test-sethostname.c: Remove file.
4079         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4080         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4081         (Depends-on): Add gethostname.
4082         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4083         Link the latter with $(GETHOSTNAME_LIB).
4084
4085         sethostname tests: Fix compilation error on mingw.
4086         * tests/test-sethostname.c: Don't include <sys/types.h>.
4087         (geteuid): Use a dummy value without uid_t.
4088         * modules/sethostname-tests (Depends-on): Remove sys_types.
4089
4090         sethostname tests: Avoid a gcc warning.
4091         * tests/test-sethostname.c (main): Remove an unused variable.
4092
4093         Tweak last commit.
4094         * modules/sethostname-tests (Files): Sort by decreasing importance.
4095         (configure.ac): Check for geteuid.
4096         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4097         the test when there's nothing to test. Drop an unnecessary cast.
4098         Improve an error message. Verify that the final sethostname() call
4099         succeeds.
4100
4101 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4102
4103         Add a test suite for the sethostname module.
4104         * modules/sethostname-tests: New file.  A test program
4105         for the sethostname module.
4106         * tests/test-sethostname.c: Likewise.
4107
4108 2011-12-03  Bruno Haible  <bruno@clisp.org>
4109
4110         Tweak last commit.
4111         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4112         Fix preprocessor directives indentation. Fix typos.
4113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4114         * modules/unistd (Makefile): Likewise.
4115
4116 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4117
4118         Integrate the sethostname module into unistd.
4119         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4120         into the unistd.h header.
4121         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4122         preprocessor directives.
4123         * modules/unistd: Setup the Makefile substitutions of the
4124         SETHOSTNAME preprocessor directives.
4125
4126 2011-12-03  Bruno Haible  <bruno@clisp.org>
4127
4128         Tweak last commit.
4129         * lib/sethostname.c: Don't include <string.h>.
4130         (sethostname): No need to copy the argument string to the stack. Don't
4131         call clearerr. Preserve errno when fprintf failed.
4132         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4133         Don't invoke AC_REPLACE_FUNCS.
4134         * modules/sethostname (Link): Remove empty section.
4135         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4136         failure problem.
4137
4138 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4139
4140         New module 'sethostname'.
4141         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4142         for systems that lack it.
4143         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4144         sethostname declaration and function.
4145         * modules/sethostname: New file.  Define the sethostname module.
4146
4147 2011-12-03  Bruno Haible  <bruno@clisp.org>
4148
4149         Tweak last commit.
4150         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4151
4152 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4153
4154         Split the HOST_NAME_MAX detection into a separate m4 macro.
4155         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4156         macro so it can be used by the pending sethostname module.
4157
4158 2011-12-03  Bruno Haible  <bruno@clisp.org>
4159
4160         Fix module descriptions syntax.
4161         * modules/argv-iter (License): Fix syntax.
4162         * modules/di-set (License): Likewise.
4163         * modules/ino-map (License): Likewise.
4164         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4165
4166 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4167
4168         stdalign: port to Clang 3.0
4169         Problem reported by Simon Josefsson in
4170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4171         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4172         which has <stdalign.h> but which does not define alignof.
4173         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4174
4175 2011-12-01  Eric Blake  <eblake@redhat.com>
4176
4177         mktempd: silence dd usage
4178         * build-aux/mktempd (rand_bytes): Silence dd.
4179
4180 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4181
4182         manywarnings: Don't mention gcc version in docstring.
4183         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4184         Jim Meyering <meyering@redhat.com>.
4185
4186 2011-11-30  Jim Meyering  <meyering@redhat.com>
4187
4188         hash: mark a few floating point constants with "f" suffix
4189         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4190         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4191         floating point constants with "f", since they're destined to be
4192         saved/used as "float"s.
4193
4194 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4195
4196         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4197         * tests/test-float.c (test_long_double): Correct and re-enable the
4198         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4199
4200 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4201
4202         Avoid subtracting two pointers that don't point into the same block.
4203         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4204         only pointers into the same memory block are subtracted. We cannot
4205         assume that sizeof (ptrdiff_t) == sizeof (void *).
4206
4207 2011-11-29  Eric Blake  <eblake@redhat.com>
4208
4209         maint.mk: add syntax check for use of compare from init.sh
4210         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4211         moved here from coreutils.
4212
4213         manywarnings: drop -Wunsuffixed-float-constants
4214         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4215         '1.0D', which is the only way to silence this warning for 'double'.
4216
4217 2011-11-29  Jim Meyering  <meyering@redhat.com>
4218
4219         hash: mark compute_bucket_size with the pure attribute
4220         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4221
4222         quotearg, propername: correct pragma guard expression
4223         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4224         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4225
4226 2011-11-28  Jim Meyering  <meyering@redhat.com>
4227
4228         propername: do not mark proper_name with the const attribute
4229         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4230         since it examines data pointed to by its parameter.
4231         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4232         the suggestion from -Wsuggest-attribute=const.
4233
4234         propername: mark one more function as const
4235         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4236
4237 2011-11-27  Jim Meyering  <meyering@redhat.com>
4238
4239         mark functions with const and pure attributes
4240
4241         Mark functions per suggestions from gcc-4.6 when using these options:
4242         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4243         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4244         Follow these guidelines: when possible, apply the attribute to
4245         an extern declaration, not to its definition.  Apply it to the
4246         definition only when the definition is static.
4247         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4248         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4249         * lib/base64.h (isbase64): Likewise.
4250         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4251         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4252         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4253         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4254         (c_tolower, c_toupper): Likewise.
4255         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4256         * lib/chdir-long.c (find_non_slash): Likewise.
4257         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4258         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4259         * lib/file-type.h (file_type): Likewise.
4260         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4261         * lib/filevercmp.c (verrevcmp): Likewise.
4262         * lib/freadahead.h (freadahead): Likewise.
4263         * lib/fts.c (fts_maxarglen): Likewise.
4264         * lib/hash-pjw.h (hash_pjw): Likewise.
4265         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4266         * lib/hash.c (is_prime, next_prime): Likewise.
4267         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4268         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4269         (hash_table_ok, hash_get_first, hash_string): Likewise.
4270         (compute_bucket_size): Likewise.
4271         * lib/i-ring.h (i_ring_empty): Likewise.
4272         * lib/isnan.c (isnanl): Likewise.
4273         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4274         * lib/memcasecmp.h (memcasecmp): Likewise.
4275         * lib/memchr2.h (memchr2): Likewise.
4276         * lib/memcmp2.h (memcmp2): Likewise.
4277         * lib/parse-datetime.y (lookup_zone): Likewise.
4278         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4279         [!WINDOWS_SOCKETS]: Likewise.
4280         * lib/strnlen1.h (strnlen1): Likewise.
4281         * lib/uniwidth.in.h (uc_width): Likewise.
4282         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4283         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4284         (quoting_options_from_style): Add a comment.
4285         * lib/propername.h (proper_name): Add a comment.
4286
4287 2011-11-27  Bruno Haible  <bruno@clisp.org>
4288
4289         Remove unused macros from !_LIBC code in glibc-borrowed files.
4290         * lib/fnmatch.c (STRCOLL): Remove macro.
4291         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4292         * lib/glob.c (__stat, __readdir64): Remove macros.
4293         * lib/tempname.c (__open64, __xstat64): Remove macros.
4294         Suggested by Paul Eggert.
4295
4296 2011-11-27  Bruno Haible  <bruno@clisp.org>
4297
4298         getcwd: Fix link error on MSVC 9.
4299         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4300
4301 2011-11-27  Bruno Haible  <bruno@clisp.org>
4302
4303         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4304         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4305         HAVE_OPENDIR is 0.
4306         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4307         HAVE_CLOSEDIR is 0.
4308         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4309         is 0.
4310         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4311
4312 2011-11-27  Bruno Haible  <bruno@clisp.org>
4313
4314         getcwd: Fix bug from 2011-08-17.
4315         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4316         platforms that need it.
4317         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4318         code of 4 to be a failure, not a success. This ensures that
4319         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4320
4321 2011-11-27  Bruno Haible  <bruno@clisp.org>
4322
4323         binary-io tests: Avoid test failure on mingw when libtool is used.
4324         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4325         Don't verify the size of t-bin-out1.tmp here.
4326         * tests/test-binary-io.sh: Verify it here.
4327         Reported by Simon Josefsson.
4328
4329 2011-11-26  Bruno Haible  <bruno@clisp.org>
4330
4331         Fix conflict between two instantiations of module 'unistd'.
4332         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4333         ${include_guard_prefix} also in the autoconf snippet.
4334         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4336         GNULIB_UNISTD_H_GETOPT.
4337         * modules/getopt-posix (configure.ac): Set the
4338         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4339         * modules/getopt-gnu (configure.ac): Likewise.
4340         * modules/unistd (Makefile.am): Change the substitution value of
4341         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4342         Reported by Simon Josefsson.
4343
4344 2011-11-25  Bruno Haible  <bruno@clisp.org>
4345
4346         pagealign_alloc: Doc and comments.
4347         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4348         module.
4349         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4350
4351 2011-11-25  Jim Meyering  <meyering@redhat.com>
4352
4353         test-update-copyright.sh: avoid false-positive failure
4354         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4355         around false positive failure on Cygwin/Windows.  The latter was
4356         matching erroneously-created files with names like
4357         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4358
4359 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4360
4361         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4362         * m4/valgrind-tests.m4: Check that the parameters that will be
4363         used works, not just a subset of them.  Reported by Bruno Haible
4364         <bruno@clisp.org>.
4365
4366 2011-11-24  Jim Meyering  <meyering@redhat.com>
4367
4368         test-stdalign.c: comment out long double tests
4369         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4370         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4371         error: '_Alignas' specifiers cannot reduce alignment of \
4372         'static_longdouble_alignas'.
4373
4374 2011-11-22  Jim Meyering  <meyering@redhat.com>
4375
4376         init.sh: make "compare /dev/null FILE" output more readable
4377         * tests/init.sh (compare_): Document the preferred order of arguments.
4378         (emit_diff_u_header_): New function.
4379         (compare_dev_null_): Emit a simulated diff, rather than just the
4380         contents of the unexpected file.  Suggestion from Bruno Haible.
4381
4382 2011-11-21  Jim Meyering  <meyering@redhat.com>
4383             Eric Blake  <eblake@redhat.com>
4384
4385         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4386         * tests/init.sh: Make our compare function slightly more portable.
4387         Reported by Bruno Haible in
4388         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4389
4390 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4391
4392         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4393         before using it, in code that ends up in config.h.
4394
4395 2011-11-20  Bruno Haible  <bruno@clisp.org>
4396
4397         getcwd: Work around getcwd bug on AIX 5..7.
4398         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4399         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4400         Use a different value for gl_cv_func_getcwd_path_max. Move the
4401         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4402         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4403         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4404         Define HAVE_MINIMALLY_WORKING_GETCWD.
4405         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4406         where it is not even minimally working, that is, on AIX.
4407         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4408         m4/getcwd-path-max.m4.
4409         (main): Update exit code computation.
4410         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4411         getcwd does not handle long file names.
4412
4413 2011-11-20  Bruno Haible  <bruno@clisp.org>
4414
4415         getcwd: Fix bug from 2009-09-10.
4416         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4417         like "no".
4418
4419 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4420
4421         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4422
4423 2011-11-20  Bruno Haible  <bruno@clisp.org>
4424
4425         fma tests: Avoid shadowing local variables.
4426         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4427         expected.
4428
4429 2011-11-20  Bruno Haible  <bruno@clisp.org>
4430
4431         copysignf tests: Fix.
4432         * tests/test-copysignf.c: Fix signature check.
4433
4434 2011-11-20  Bruno Haible  <bruno@clisp.org>
4435
4436         fma: Remove unused code.
4437         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4438         unused macros.
4439
4440 2011-11-20  Bruno Haible  <bruno@clisp.org>
4441
4442         sethostname: Fix doc about AIX.
4443         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4444         sethostname; it has it.
4445
4446         sethostname: Mention more portability problems.
4447         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4448         problem.
4449         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4450
4451 2011-11-19  Bruno Haible  <bruno@clisp.org>
4452
4453         Depend on module fcntl-h when AT_FDCWD is used.
4454         * modules/utimens (Depends-on): Add fcntl-h.
4455         * modules/areadlinkat (Depends-on): Likewise.
4456         * modules/areadlinkat-with-size (Depends-on): Likewise.
4457         * modules/faccessat (Depends-on): Likewise.
4458         * modules/fchmodat (Depends-on): Likewise.
4459         * modules/fchownat (Depends-on): Likewise.
4460         * modules/getcwd (Depends-on): Likewise.
4461         * modules/mkdirat (Depends-on): Likewise.
4462         * modules/mkfifoat (Depends-on): Likewise.
4463         * modules/readlinkat (Depends-on): Likewise.
4464         * modules/symlinkat (Depends-on): Likewise.
4465         * modules/dup2-tests (Depends-on): Likewise.
4466         * modules/fdutimensat-tests (Depends-on): Likewise.
4467         * modules/futimens-tests (Depends-on): Likewise.
4468
4469 2011-11-19  Bruno Haible  <bruno@clisp.org>
4470
4471         euidaccess: Update a comment.
4472         * lib/euidaccess.c: Update comment about platforms with faccessat.
4473
4474 2011-11-19  Bruno Haible  <bruno@clisp.org>
4475
4476         openat: Fix file list.
4477         * modules/openat (Files): Remove lib/at-func.c.
4478
4479 2011-11-19  Bruno Haible  <bruno@clisp.org>
4480
4481         fstatat: Simplify.
4482         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4483         gnulib should define rpl_fstatat, there is a
4484         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4485
4486 2011-11-19  Bruno Haible  <bruno@clisp.org>
4487
4488         Ensure 'inline' can be used in tests/test-utimens-common.h.
4489         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4490         * modules/futimens-tests (configure.ac): Likewise.
4491         * modules/utimens-tests (configure.ac): Likewise.
4492         * modules/utimensat-tests (configure.ac): Likewise.
4493
4494 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4495
4496         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4497         not hash_insert0.
4498         (hash_insert_if_absent): Doc fix.
4499
4500 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4501
4502         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4503
4504 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4505
4506         test-getcwd: disambiguate exit status
4507         * tests/test-getcwd.c (test_long_name): Return 0..7.
4508         (main): Exit with an unambiguous exit status.  The old
4509         code yielded a mysterious mixture of two failure codes.
4510
4511         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4512         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4513         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4514         rpl_fstatat or fstatat.  This should fix the other problem
4515         reported by Kai Habel in
4516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4517         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4519         and I reproduced it on a Solaris 8 host we still have in production.
4520
4521 2011-11-18  Jim Meyering  <meyering@redhat.com>
4522
4523         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4524         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4525         Add a sentence to the comment.
4526         (hash_insert0): New function that simply calls hash_insert_if_absent.
4527         * lib/hash.h (hash_insert_if_absent): Declare it.
4528         (hash_insert0): Add deprecation attribute.
4529         (_GL_ATTRIBUTE_DEPRECATED): Define.
4530         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4531         not hash_insert0.
4532         * NEWS: Mention it, even though it's not really an incompatible change.
4533
4534 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4535
4536         openat: avoid compilation failure due to lack of <errno.h> inclusion
4537         * lib/openat.c: Include <errno.h>.
4538
4539 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4540
4541         * modules/getcwd (Depends-on): Add fdopendir.
4542         This fixes one of the two problems reported by Kai Habel in
4543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4544
4545         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4546         stdalign problem reported by Ian Beckwith in
4547         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4548         * modules/crypto/gc-arcfour (Depends-on):
4549         Depend conditionally on crypto/arcfour.
4550         * modules/crypto/gc-arctwo (Depends-on):
4551         Depend conditionally on crypto/arctwo.
4552         * modules/crypto/gc-des (Depends-on):
4553         Depend conditionally on crypto/des.
4554         * modules/crypto/gc-hmac-md5 (Depends-on):
4555         Depend conditionally on crypto/hmac-md5.
4556         * modules/crypto/gc-hmac-sha1 (Depends-on):
4557         Depend conditionally on crypto/hmac-sha1.
4558         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4559         * modules/crypto/gc-md4 (Depends-on):
4560         Depend conditionally on crypto/md4.
4561         * modules/crypto/gc-md5 (Depends-on):
4562         Depend conditionally on crypto/md5.
4563         * modules/crypto/gc-rijndael (Depends-on):
4564         Depend conditionally on crypto/rijndael.
4565         * modules/crypto/gc-sha1 (Depends-on):
4566         Depend conditionally on crypto/sha1.
4567         * modules/crypto/gc-arcfour:
4568         * modules/crypto/gc-arctwo:
4569         * modules/crypto/gc-des:
4570         * modules/crypto/gc-hmac-md5:
4571         * modules/crypto/gc-hmac-sha1:
4572         * modules/crypto/gc-md2:
4573         * modules/crypto/gc-md4:
4574         * modules/crypto/gc-md5:
4575         * modules/crypto/gc-rijndael:
4576         * modules/crypto/gc-sha1:
4577         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4578         now that the conditional dependencies do the work for us.
4579
4580 2011-11-17  Jim Meyering  <meyering@redhat.com>
4581
4582         tests: factor st_ctime-comparison out of two headers
4583         * tests/test-utimens-common.h (ctime_compare): Define.
4584         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4585         * tests/test-lutimens.h (test_lutimens): Likewise.
4586         * tests/test-utimens.h (test_utimens): Likewise.
4587
4588         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4589         Invoke the test program via an init.sh-using wrapper.
4590         * tests/test-getcwd.sh: New file.
4591         * modules/getcwd-tests (Files): Add it.
4592         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4593
4594 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4595
4596         gitlog-to-changelog: support multi-author commits.
4597         The FSF cares about keeping track of all authors of patches to its
4598         projects, but Git doesn't provide obvious support for multi-author
4599         changesets. Consensus seems to be forming around the use of extra
4600         Signed-off-by inspired lines in the log message formatted as
4601         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4602         multi-author commits between version control systems.
4603         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4604         log message and output in standard ChangeLog multi-author format.
4605         Reported by Peter Rosin <peda@lysator.liu.se>
4606
4607 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4608             Bruno Haible  <bruno@clisp.org>
4609
4610         Fix some modules' file list.
4611         * modules/fstatat (Files): Add m4/lstat.m4.
4612         * modules/openat (Files): Likewise.
4613         * modules/unlinkat (Files): Likewise.
4614
4615 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4616
4617         maint.mk: fix tight-scope.mk generation in VPATH builds.
4618         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4619         reference with $(srcdir) so that the file is found correctly even
4620         when running `make syntax-check' in a VPATH build.
4621
4622 2011-11-13  Bruno Haible  <bruno@clisp.org>
4623             Jim Meyering  <meyering@redhat.com>
4624
4625         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4626         * tests/init.sh (compare): Remove "No differences encountered" or
4627         synonymous output from the 'diff' program.
4628
4629 2011-11-13  Bruno Haible  <bruno@clisp.org>
4630
4631         Makefile: Tweak indentation.
4632         * Makefile: Use tab as first character in every line that contains rule
4633         commands.
4634
4635 2011-11-13  Bruno Haible  <bruno@clisp.org>
4636
4637         Syntax check for copyright statements.
4638         * check-copyright: New file.
4639         * Makefile (sc_check_copyright): New rule.
4640
4641 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4642
4643         * build-aux/git-version-gen: Add --prefix to configure the tag
4644         match string.
4645
4646 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4647
4648         * build-aux/git-version-gen: Add --help and --version.
4649
4650 2011-11-12  Jim Meyering  <meyering@redhat.com>
4651
4652         revamp the other test-exclude?.sh scripts to use init.sh, too
4653         * tests/test-exclude1.sh: Use init.sh.
4654         * tests/test-exclude2.sh: Likewise.
4655         * tests/test-exclude3.sh: Likewise.
4656         * tests/test-exclude4.sh: Likewise.
4657         * tests/test-exclude5.sh: Likewise.
4658         * tests/test-exclude6.sh: Likewise.
4659         * tests/test-exclude7.sh: Likewise.
4660         * tests/test-exclude8.sh: Likewise.
4661         * modules/exclude-tests (Files): List init.sh.
4662
4663         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4664         These shell scripts ignored failure of the binary test-exclude,
4665         so making the latter return 77 didn't cause them to be skipped.
4666         * tests/test-exclude5.sh: Exit with test-exclude's error status
4667         when that program fails.  Revamp to use init.sh.
4668         * tests/test-exclude2.sh: Likewise.
4669
4670         test-exclude: fix a typo
4671         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4672
4673 2011-11-11  Bruno Haible  <bruno@clisp.org>
4674
4675         obstack: Fix compilation error on MSVC 9.
4676         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4677
4678 2011-11-11  Jim Meyering  <meyering@redhat.com>
4679
4680         test-exclude: skip tests rather than failing on deficient systems
4681         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4682         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4683         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4684         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4685
4686 2011-11-10  Bruno Haible  <bruno@clisp.org>
4687
4688         ptsname_r test: Avoid gcc warning on glibc systems.
4689         * tests/test-ptsname_r.c (null_ptr): New function.
4690         (test_errors): Use it.
4691
4692 2011-11-10  Bruno Haible  <bruno@clisp.org>
4693
4694         ptsname_r: Avoid compilation error on OSF/1 5.1.
4695         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4696         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4697         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4698         function is not declared or incompatibly declared.
4699         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4700         * modules/ptsname_r (Depends-on, configure.ac): Update.
4701         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4702
4703 2011-11-10  Bruno Haible  <bruno@clisp.org>
4704
4705         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4706         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4707         When cross-compiling, guess yes on all platforms except AIX.
4708         Reported by Ludovic Courtès <ludo@gnu.org>.
4709
4710 2011-11-09  Bruno Haible  <bruno@clisp.org>
4711
4712         ptsname_r tests: Fix bugs.
4713         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4714         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4715
4716 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4717
4718         fstatat: work with cross-compilation
4719         Problem reported by Ludovic Courtès in
4720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4721         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4722         "cross-compiling" and assume the bug is present.  Replace
4723         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4724         an inverted sense, to be more conservative about our assumptions.
4725         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4726
4727 2011-11-09  Bruno Haible  <bruno@clisp.org>
4728
4729         Improve MODULES.html output.
4730         * modules/mkfifoat (Description): Use the word "function".
4731         * modules/readlinkat (Description): Likewise.
4732         * modules/symlinkat (Description): Likewise.
4733
4734 2011-11-09  Eric Blake  <eblake@redhat.com>
4735
4736         ptsname_r-tests: new test module
4737         * modules/ptsname_r-tests: New module.
4738         * tests/test-ptsname_r.c: New file.
4739
4740         ptsname_r: new module
4741         * modules/ptsname_r: New module.
4742         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4743         * lib/ptsname.c (__ptsname_r): Split...
4744         * lib/ptsname_r.c: ...into new file.
4745         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4746         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4747         * modules/stdlib (Makefile.am): Substitute witnesses.
4748         * lib/stdlib.in.h (ptsname_r): Declare it.
4749         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4750         * MODULES.html.sh (Misc): Likewise.
4751         * modules/ptsname (Depends-on): Alter dependency.
4752         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4753
4754 2011-11-09  Jim Meyering  <meyering@redhat.com>
4755
4756         announce-gen: be more concise when there's only one URL+tarball
4757         * build-aux/announce-gen (get_tool_versions): When you distribute
4758         only one type of tarball, combine the first two "Here are..."
4759         sections and make the key-checking grammar independent of
4760         how many tarballs there are.
4761
4762 2011-11-09  Eric Blake  <eblake@redhat.com>
4763
4764         openpty: provide a stub on mingw
4765         * lib/pty.in.h (includes): Provide forward declarations.
4766         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4767
4768         raise: fix mingw handling of SIGPIPE
4769         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4770
4771 2011-11-08  Bruno Haible  <bruno@clisp.org>
4772
4773         More conditional dependencies.
4774         * modules/faccessat (Depends-on): Add conditions.
4775         * modules/fchmodat (Depends-on): Likewise.
4776         * modules/fchownat (Depends-on): Likewise.
4777         * modules/fstatat (Depends-on): Likewise.
4778         * modules/mkfifoat (Depends-on): Likewise.
4779         * modules/readlinkat (Depends-on): Likewise.
4780         * modules/symlinkat (Depends-on): Likewise.
4781         * modules/unlinkat (Depends-on): Likewise.
4782         * modules/utimensat (Depends-on): Likewise.
4783         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4784         * modules/linkat (Depends-on): Refine the conditions.
4785         * modules/renameat (Depends-on): Likewise.
4786
4787 2011-11-08  Bruno Haible  <bruno@clisp.org>
4788
4789         faccessat: Move AC_LIBOBJ invocation to module description.
4790         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4791         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4792         invocation from here...
4793         * modules/faccessat (configure.ac): ... to here. Invoke
4794         gl_PREREQ_FACCESSAT.
4795
4796 2011-11-08  Bruno Haible  <bruno@clisp.org>
4797
4798         faccessat: Simplify autoconf macro.
4799         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4800         gl_FUNC_EUIDACCESS.
4801
4802 2011-11-08  Bruno Haible  <bruno@clisp.org>
4803
4804         renameat: Fix dependencies.
4805         * modules/renameat (Depends-on): Add stdbool.
4806
4807 2011-11-08  Bruno Haible  <bruno@clisp.org>
4808
4809         mkfifoat: Fix module description.
4810         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4811         not gl_UNISTD_MODULE_INDICATOR.
4812
4813 2011-11-08  Bruno Haible  <bruno@clisp.org>
4814
4815         fstatat: Remove unused dependency.
4816         * modules/fstatat (Depends-on): Remove fstat.
4817
4818 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4819
4820         GNUmakefile: behave when Makefile is missing.
4821         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4822
4823 2011-11-08  Bruno Haible  <bruno@clisp.org>
4824
4825         openat: Conditionalize dependencies.
4826         * lib/openat.c: Reduce the scope of some #includes.
4827         * modules/openat (Depends-on): Add conditions.
4828
4829 2011-11-07  Jim Meyering  <meyering@redhat.com>
4830
4831         maint.mk: extract GPG key ID without using a temporary file
4832         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4833         without using a temporary file.  Based on a suggestion from Werner Koch
4834         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4835
4836 2011-11-07  Eric Blake  <eblake@redhat.com>
4837
4838         grantpt: fix typo
4839         * lib/stdlib.in.h (grantpt): Check correct function.
4840
4841         maint.mk: silence new syntax check
4842         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4843
4844 2011-11-06  Bruno Haible  <bruno@clisp.org>
4845
4846         Doc about floating-point and math API.
4847         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4848         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4849
4850 2011-11-06  Bruno Haible  <bruno@clisp.org>
4851
4852         stdalign tests: Skip the test when compiled by Sun C.
4853         * tests/test-stdalign.c (main): Skip the test on Sun C.
4854
4855 2011-11-06  Bruno Haible  <bruno@clisp.org>
4856
4857         ansi-c++-opt: Complete the 2011-06-05 change.
4858         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4859         does not support namespaces, set the variable to "no", not to ":".
4860
4861 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4862
4863         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4864
4865 2011-11-06  Bruno Haible  <bruno@clisp.org>
4866
4867         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4868         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4869         (minus_zerol) [HP-UX]: New macro.
4870         (unary_minus) [HP-UX]: New function.
4871         (copysignl) [HP-UX]: Use unary_minus function.
4872
4873 2011-11-06  Bruno Haible  <bruno@clisp.org>
4874
4875         ldexp, ldexpf, ldexpl: Enhance tests.
4876         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4877         and tests/test-ldexpl.c.
4878         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4879         LDEXP, MIN_EXP, MAX_EXP): New macros.
4880         Include test-ldexp.h.
4881         (main): Just call test_function.
4882         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4883         infinity.h, nan.h.
4884         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4885         MAX_EXP): New macros.
4886         Include test-ldexp.h.
4887         (x, y): Remove variables.
4888         (main): Just call test_function.
4889         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4890         infinity.h, nan.h.
4891         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4892         MAX_EXP): New macros.
4893         Include test-ldexp.h.
4894         (x, y): Remove variables.
4895         (main): Just call test_function.
4896         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4897         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4898         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4899         (Depends-on): Add isnand-nolibm, signbit, float.
4900         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4901         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4902         (Depends-on): Add isnanf-nolibm, signbit, float.
4903
4904 2011-11-06  Bruno Haible  <bruno@clisp.org>
4905
4906         math tests: Cosmetics.
4907         * tests/test-math-c++.cc: Reorder declarations.
4908
4909 2011-11-05  Bruno Haible  <bruno@clisp.org>
4910
4911         fma*: Simplify test.
4912         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4913         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4914
4915         Tests for module 'fmal'.
4916         * modules/fmal-tests: New file.
4917         * tests/test-fmal1.c: New file.
4918         * tests/test-fmal2.c: New file.
4919
4920         New module 'fmal'.
4921         * lib/math.in.h (fmal): New declaration.
4922         * lib/fmal.c: New file.
4923         * m4/fmal.m4: New file.
4924         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4926         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4927         REPLACE_FMAL.
4928         * modules/fmal: New file.
4929         * doc/posix-functions/fmal.texi: Mention the new module and the various
4930         bugs.
4931
4932         Tests for module 'fmaf'.
4933         * modules/fmaf-tests: New file.
4934         * tests/test-fmaf1.c: New file.
4935         * tests/test-fmaf2.c: New file.
4936
4937         New module 'fmaf'.
4938         * lib/math.in.h (fmaf): New declaration.
4939         * lib/fmaf.c: New file.
4940         * m4/fmaf.m4: New file.
4941         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4942         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4943         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4944         REPLACE_FMAF.
4945         * modules/fmaf: New file.
4946         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4947         bugs.
4948
4949         Tests for module 'fma'.
4950         * modules/fma-tests: New file.
4951         * tests/test-fma1.c: New file.
4952         * tests/test-fma1.h: New file.
4953         * tests/test-fma2.c: New file.
4954         * tests/test-fma2.h: New file.
4955
4956         New module 'fma'.
4957         * lib/math.in.h (fma): New declaration.
4958         * lib/fma.c: New file.
4959         * m4/fma.m4: New file.
4960         * m4/fegetround.m4: New file.
4961         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4963         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4964         REPLACE_FMA.
4965         * modules/fma: New file.
4966         * doc/posix-functions/fma.texi: Mention the new module and the various
4967         bugs.
4968
4969         Extend gl_MATHFUNC.
4970         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4971         Support 'void' as argument type.
4972         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4973
4974 2011-11-05  Jim Meyering  <meyering@redhat.com>
4975
4976         maint.mk: also prohibit inclusion of dirent.h without use
4977         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4978
4979 2011-11-05  Bruno Haible  <bruno@clisp.org>
4980
4981         ldexpl tests: Avoid test failure on MSVC 9.
4982         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4983         value. Needed in order to enforce the conversion from a value greater
4984         than LDBL_MAX to Infinity.
4985
4986 2011-11-05  Bruno Haible  <bruno@clisp.org>
4987
4988         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4989         * modules/at-internal: New file, extracted from modules/openat.
4990         * modules/openat-h: New file.
4991         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4992         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4993         * modules/openat (Description): Add reference to POSIX function.
4994         (Files): Remove lib/openat.h, lib/openat-proc.c.
4995         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4996         intprops, unistd.
4997         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4998         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4999         gl_FCNTL_MODULE_INDICATOR.
5000         (Include): Remove unistd.h, openat.h.
5001         * modules/areadlinkat (Files): Add lib/at-func.c.
5002         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5003         openat-die, openat-h, save-cwd.
5004         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5005         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5006         openat-die, openat-h, save-cwd, unistd.
5007         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5008         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5009         openat-h, save-cwd. Remove fcntl-h, openat.
5010         * modules/fchmodat (Files): Remove lib/openat.h.
5011         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5012         openat, stdbool, unistd.
5013         * modules/fchownat (Files): Remove lib/openat.h.
5014         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5015         openat, stdbool, sys_stat.
5016         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5017         lib/openat-proc.c.
5018         (Depends-on): Add at-internal.
5019         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5020         * modules/fstatat (Files): Remove lib/openat.h.
5021         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5022         stdbool, unistd.
5023         * modules/fts (Depends-on): Add openat-h.
5024         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5025         openat.
5026         * modules/mkdirat (Files): Remove lib/openat.h.
5027         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5028         openat, stdbool, sys_stat.
5029         * modules/mkfifoat (Files): Add lib/at-func.c.
5030         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5031         openat-h, save-cwd. Remove fcntl-h, openat.
5032         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5033         * modules/readlinkat (Files): Add lib/at-func.c.
5034         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5035         openat-h, save-cwd. Remove fcntl-h, openat.
5036         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5037         openat.
5038         * modules/selinux-at (Files): Add lib/at-func.c.
5039         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5040         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5041         * modules/symlinkat (Files): Add lib/at-func.c.
5042         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5043         openat-h, save-cwd. Remove fcntl-h, openat.
5044         * modules/unlinkat (Files): Remove lib/openat.h.
5045         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5046         stdbool.
5047         * modules/utimensat (Files): Add lib/at-func.c.
5048         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5049         openat-die, openat-h, save-cwd.
5050         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5051         * modules/fdutimensat-tests (Depends-on): Add openat.
5052         * modules/fstatat-tests (Depends-on): Add openat-h.
5053         * modules/readlinkat-tests (Depends-on): Add openat.
5054         * modules/symlinkat-tests (Depends-on): Add openat.
5055
5056 2011-11-05  Bruno Haible  <bruno@clisp.org>
5057
5058         openat: Include <stdbool.h>.
5059         * lib/openat.c: Include <stdbool.h>.
5060
5061 2011-11-04  Bruno Haible  <bruno@clisp.org>
5062
5063         fchownat, renameat, unlinkat: Fix dependencies.
5064         * modules/fchownat (Depends-on): Add fstatat.
5065         * modules/renameat (Depends-on): Likewise.
5066         * modules/unlinkat (Depends-on): Likewise.
5067
5068 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5069
5070         openat: remove direct dependency on dirent
5071         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5072         and hasn't been needed ever since fdopendir was split into its own
5073         module on 2009-08-31.
5074         * modules/openat (Depends-on): Remove dirent.
5075
5076 2011-11-04  Bruno Haible  <bruno@clisp.org>
5077
5078         renameat: Optimize code size.
5079         * modules/renameat (configure.ac): Don't compile at-func2.c if
5080         REPLACE_RENAMEAT is 1.
5081
5082 2011-11-04  Bruno Haible  <bruno@clisp.org>
5083
5084         openat tests: Fix file list.
5085         * modules/openat-tests (Files): Add tests/test-open.h.
5086
5087 2011-11-04  Bruno Haible  <bruno@clisp.org>
5088
5089         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5090         * modules/fchmodat (Depends-on): Add openat-die.
5091         * modules/fchownat (Depends-on): Likewise.
5092         * modules/linkat (Depends-on): Likewise.
5093         * modules/renameat (Depends-on): Likewise.
5094         * modules/openat (Depends-on): Add dirent.
5095
5096 2011-11-04  Jim Meyering  <meyering@redhat.com>
5097
5098         at-func*.c: fix comments
5099         * lib/at-func2.c: Correct/improve first-line comment.
5100         * lib/at-func.c: Correct grammar in first-line comment.
5101
5102 2011-11-04  Bruno Haible  <bruno@clisp.org>
5103
5104         New module 'mkdirat', split off from module 'openat'.
5105         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5106         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5107         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5108         * modules/mkdirat: New file, extracted from modules/openat.
5109         * modules/openat (Files): Remove lib/mkdirat.c.
5110         (Depends-on): Remove mkdir.
5111         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5112         (Include): Remove <sys/stat.h>.
5113         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5114         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5115         tests/test-mkdir.h.
5116         (Depends-on): Remove ignore-value.
5117         (Makefile.am): Remove rules for test-mkdirat.
5118         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5119         of module 'openat'.
5120         * NEWS: Mention the change.
5121
5122 2011-11-04  Bruno Haible  <bruno@clisp.org>
5123
5124         closedir: Avoid warning on mingw.
5125         * lib/closedir.c: Include <unistd.h>.
5126
5127 2011-11-04  Bruno Haible  <bruno@clisp.org>
5128
5129         New module 'fstatat', split off from module 'openat'.
5130         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5131         defined.
5132         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5133         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5134         gl_FUNC_FSTATAT.
5135         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5136         * modules/fstatat: New file, extracted from modules/openat.
5137         * modules/openat (Files): Remove lib/fstatat.c.
5138         (Depends-on): Remove lstat.
5139         (configure.ac): Remove AC_LIBOBJ of fstatat.
5140         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5141         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5142         tests/test-lstat.h, tests/test-stat.h.
5143         (Depends-on): Remove getcwd-lgpl.
5144         (Makefile.am): Remove rules for test-fstatat.
5145         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5146         of module 'openat'.
5147         * NEWS: Mention the change.
5148         * modules/getcwd (Depends-on): Add fstatat.
5149         * modules/linkat (Depends-on): Likewise.
5150         * modules/mkfifoat-tests (Depends-on): Likewise.
5151         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5152
5153 2011-11-03  Bruno Haible  <bruno@clisp.org>
5154
5155         New module 'unlinkat', split off from module 'openat'.
5156         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5157         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5158         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5159         * modules/unlinkat: New file, extracted from modules/openat. Correct
5160         the dependency conditions.
5161         * modules/openat (Files): Remove lib/unlinkat.c.
5162         (Depends-on): Remove rmdir, unlink.
5163         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5164         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5165         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5166         tests/test-rmdir.h, tests/test-unlink.h.
5167         (Depends-on): Remove unlinkdir.
5168         (Makefile.am): Remove rules for test-unlinkat.
5169         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5170         of module 'openat'.
5171         * NEWS: Mention the change.
5172         * modules/linkat-tests (Depends-on): Add unlinkat.
5173         * modules/mkfifoat-tests (Depends-on): Likewise.
5174         * modules/readlinkat-tests (Depends-on): Likewise.
5175
5176 2011-11-02  Bruno Haible  <bruno@clisp.org>
5177
5178         New module 'fchmodat', split off from module 'openat'.
5179         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5180         defined.
5181         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5182         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5183         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5184         * modules/fchmodat: New file, extracted from modules/openat.
5185         * modules/openat (Files): Remove lib/fchmodat.c.
5186         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5187         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5188         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5189         (Makefile.am): Remove rules for test-fchmodat.
5190         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5191         of module 'openat'.
5192         * NEWS: Mention the change.
5193
5194 2011-11-02  Jim Meyering  <meyering@redhat.com>
5195
5196         putenv: indent #definition of "environ" to placate cppi
5197         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5198
5199         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5200         Git logs are often treated as immutable, because editing them
5201         changes the SHA1 checksums of all descendants.  Thus, errors in
5202         git logs tend to stay there forever.  However, when we generate
5203         a ChangeLog file -- typically for distribution -- from that git log,
5204         we can actually make corrections in the generated file.  The key
5205         lies in recording in machine-readable/applicable form the desired
5206         corrections.  See --help for description and an example.
5207         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5208         (usage): Describe it; alphabetize option descriptions.
5209         (main): Honor the new option, carefully.
5210
5211 2011-11-01  Jim Meyering  <meyering@redhat.com>
5212
5213         gitlog-to-changelog: avoid an infloop
5214         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5215         that ends up being empty.
5216
5217 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5218
5219         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5220         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5221         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5222         contains (possibly-quoted) backslashes.  This should avoid
5223         all-too-common shell bugs if COMPLICATED contains backslashes in
5224         the "wrong" places.  Reported by David Evans in
5225         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5226         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5227         because we want ASCII ranges.  Is there some reason we don't use
5228         the C locale everywhere in this script?
5229         (func_module, top level): Avoid unwanted pathname expansion when
5230         $repo_url_prefix or $repo_url_suffix_repl contain shell
5231         metacharacters like '?' and '*'.
5232
5233 2011-11-01  Bruno Haible  <bruno@clisp.org>
5234
5235         fchownat: Improve description.
5236         * modules/fchownat (Description): Add link to function.
5237
5238 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5239
5240         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5241         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5243         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5244
5245 2011-11-01  Bruno Haible  <bruno@clisp.org>
5246
5247         alignof: Avoid collision with stdalign module.
5248         * lib/alignof.h (alignof): Remove macro.
5249         * NEWS: Mention the change.
5250         Reported by Paul Eggert.
5251
5252 2011-11-01  Bruno Haible  <bruno@clisp.org>
5253
5254         New module 'fchownat', split off from module 'openat'.
5255         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5256         defined.
5257         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5258         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5259         invoke gl_FUNC_FCHOWNAT.
5260         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5261         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5262         * modules/fchownat: New file, extracted from modules/openat.
5263         * modules/openat (Files): Remove lib/fchownat.c.
5264         (Depends-on): Remove lchown.
5265         (configure.ac): Remove AC_LIBOBJ of fchownat.
5266         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5267         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5268         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5269         (Depends-on): Remove mgetgroups, usleep, stat-time.
5270         (configure.ac): Remove test for getegid.
5271         (Makefile.am): Remove rules for test-fchownat.
5272         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5273         of module 'openat'.
5274         * NEWS: Mention the change.
5275
5276 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5277
5278         stdalign: port better to MSVC and to Sun C 5.11
5279         This fixes some of the problems reported by Bruno Haible in
5280         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5281         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5282         shortcomings of MSVC and of Sun C 5.11.
5283         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5284         around __declspec arg.
5285         * modules/stdalign-tests (Files): Add tests/macros.h.
5286         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5287         Include macros.h, for ASSERT.
5288         (DECLARE_ALIGNED): Remove.
5289         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5290         to catch bug), and to 1 if not (simplifies the rest of the code).
5291         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5292         (CHECK_AUTO): Remove.
5293         (CHECK_ALIGNED): Check only the alignment of the static vars,
5294         since auto var alignment isn't supported by Sun C 5.11.
5295         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5296         ASSERT failures are easier to diagnose.
5297
5298 2011-10-31  Bruno Haible  <bruno@clisp.org>
5299
5300         doc about some IRIX 5.3 problems.
5301         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5302         on IRIX 5.3.
5303         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5304         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5305         5.3.
5306         * doc/posix-functions/grantpt.texi: Likewise.
5307         * doc/posix-functions/unlockpt.texi: Likewise.
5308         * doc/posix-functions/lgamma.texi: Likewise.
5309         * doc/posix-functions/nextafter.texi: Likewise.
5310         * doc/posix-functions/remainder.texi: Likewise.
5311         * doc/posix-functions/select.texi: Mention misplaced declaration on
5312         IRIX 5.3.
5313         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5314
5315 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5316
5317         gitlog-to-changelog: fix git-log invocation.
5318         git-log mishandles date strings before 1970-01-01 UTC, and there is
5319         no use to specify --since=1970-01-01 by default anyway.
5320         * build-aux/gitlog-to-changelog: By default, when no --since option
5321         was given, do not specify explicit --since option to git-log.
5322
5323 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5324
5325         gitlog-to-changelog: new option --append-dot.
5326         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5327         first non-blank line of each commit message terminated with a dot.
5328
5329 2011-10-30  Bruno Haible  <bruno@clisp.org>
5330
5331         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5332         * lib/ffsl.h: Include <config.h>.
5333         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5334
5335 2011-10-30  Jim Meyering  <meyering@redhat.com>
5336
5337         GNUmakefile: reenable "make syntax-check" for most projects
5338         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5339         build-aux variable", "syntax-check" would do nothing but succeed with
5340         the "No version control files detected..." diagnostic (unless you
5341         happened to override _build-aux via cfg.mk).
5342         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5343         to precede inclusion of maint.mk.  Otherwise, these variables would
5344         be used undefined in any project that does not override the default.
5345
5346 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5347
5348         gitlog-to-changelog: treat a message with only blank lines as empty.
5349         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5350         trailing blank lines before the code that issues a warning about an
5351         empty commit message.
5352
5353 2011-10-30  Jim Meyering  <meyering@redhat.com>
5354
5355         test-parse-datetime.c: avoid new DST-related false positive test failure
5356         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5357         based on the time/date we'll convert, not the current time.
5358         Otherwise, the moment we cross a DST boundary like today's in
5359         Europe, (CEST to CET), that offset ends up being one hour off.
5360
5361 2011-10-27  Bruno Haible  <bruno@clisp.org>
5362
5363         fstat: Tweak documentation.
5364         * modules/fstat (Description): More precise description.
5365
5366 2011-10-27  Bruno Haible  <bruno@clisp.org>
5367
5368         Update documentation regarding 'largefile' module.
5369         * doc/posix-functions/fstat.texi: Tweak wording.
5370         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5371         problems with huge directories and/or small ino_t types.
5372         * doc/posix-functions/readdir.texi: Likewise.
5373         * doc/posix-functions/rewinddir.texi: Likewise.
5374
5375 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5376
5377         maint.mk: don't maintain a second build-aux variable.
5378         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5379         depends on GNUmakefile, which already maintains a cfg.mk
5380         overridable $(_build-aux) for projects with a non-standard
5381         build-aux directory location, although without the $(srcdir)
5382         prefix.  Use that variable consistently instead of introducing a
5383         second one.  Adjust all call sites.
5384
5385 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5386
5387         Add stdalign module and use it in other modules.
5388         This is based on a previous proposal by Bruno Haible
5389         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5390
5391         stdalign: new module
5392         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5393         * modules/stdalign: New files.
5394         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5395         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5396
5397         stdalign-tests: new module
5398         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5399
5400         argp: use stdalign
5401         * lib/argp-parse.c: Include <stdalign.h>.
5402         (alignof): Remove.
5403         * modules/argp (Depends-on): Add stdalign.
5404
5405         crypto libraries: use stdalign
5406         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5407         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5408         Do not include <stdlib.h> twice, in md4.c.
5409         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5410         because we are accessing a pointer's bit-pattern, not a size.
5411         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5412         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5413         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5414         * modules/crypto/sha512: Likewise.
5415
5416         sys_socket: use stdalign, not alignof
5417         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5418         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5419
5420 2011-10-27  Bruno Haible  <bruno@clisp.org>
5421
5422         raise test: Avoid a test failure on Linux/MIPS.
5423         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5424         because 99 is a valid signal on Linux/MIPS.
5425
5426 2011-10-27  Bruno Haible  <bruno@clisp.org>
5427
5428         nonblocking tests: Fix test failure on Linux/MIPS.
5429         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5430         Set to 270000.
5431
5432 2011-10-27  Bruno Haible  <bruno@clisp.org>
5433
5434         utimensat: Work around problem on Linux/hppa.
5435         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5436         values.
5437         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5438
5439 2011-10-25  Jim Meyering  <meyering@redhat.com>
5440
5441         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5442         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5443         after symbols like NULL, size_t, etc.
5444         Reported by Alfred M. Szmidt.
5445
5446         maint.mk: exempt ENODATA from a syntax-check rule
5447         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5448         from the sc_prohibit_always-defined_macros syntax-check rule.
5449         Add a comment.  See this for more details:
5450         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5451
5452 2011-10-23  Jim Meyering  <meyering@redhat.com>
5453
5454         fts: close parent dir FD before returning from post-traversal fts_read
5455         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5456         unlink A, even though an FD open on A remained.  This is suboptimal
5457         (holding a file descriptor open longer than needed), but otherwise not
5458         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5459         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5460         that represents a real problem: it causes the removal of A to fail
5461         with e.g., "rm: cannot remove `A': Device or resource busy"
5462
5463         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5464         directory file descriptors.  After completing the final, FTS_DP,
5465         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5466         cache, but then proceeded to add a new FD to it via the subsequent
5467         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5468         final file descriptor would be closed only via fts_close's call to
5469         fd_ring_clear.  Now, it is usually closed earlier, via the final
5470         FTS_DP-returning fts_read call.
5471         * lib/fts.c (restore_initial_cwd): New function, converted from
5472         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5473         Update callers.
5474         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5475         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5476
5477 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5478             Bruno Haible  <bruno@clisp.org>
5479             Jim Meyering  <jim@meyering.net>
5480
5481         readme-release: improve safety of release prep instructions.
5482         * README-release: Don't git pull all branches when only master
5483         is needed for the release process.
5484         Run make maintainer-clean before changing trees and merging.
5485         Don't try to run ./configure right after git pull in case files
5486         that influence the bootstrap process have changed, move the
5487         ./configure step to after running ./bootstrap.
5488         Don't bootstrap "one last time"... it's the first time!
5489
5490 2011-10-22  Bruno Haible  <bruno@clisp.org>
5491
5492         errno, strerror-override: Support for MSVC 10.
5493         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5494         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5495         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5496         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5497         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5498         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5499         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5500         Assign values compatible with MSVC 10.
5501         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5502         New macros.
5503         (GNULIB_defined_EWINSOCK): New macro.
5504         * lib/strerror-override.c (strerror_override): Update accordingly.
5505         * lib/strerror-override.h: Likewise.
5506         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5507         longer equal to the corresponding errno value.
5508         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5509
5510 2011-10-22  Bruno Haible  <bruno@clisp.org>
5511
5512         perror: Recognize when test program crashes.
5513         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5514         strerror, set gl_cv_func_perror_works to no.
5515         Reported by Daniel Richard G. <skunk@iskunk.org>.
5516
5517         perror: Fix indentation.
5518         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5519
5520 2011-10-22  Bruno Haible  <bruno@clisp.org>
5521
5522         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5523         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5524         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5525         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5526         functions, not as a macro.
5527         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5528         macros.
5529         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5530         absence of macro.
5531         Suggested by Eric Blake.
5532         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5533
5534 2011-10-21  Bruno Haible  <bruno@clisp.org>
5535
5536         relocatable-prog-wrapper: Don't leave object files behind.
5537         * build-aux/install-reloc: Re-synchronize list of .o files to be
5538         removed with list of compilation units.
5539
5540 2011-10-20  Bruno Haible  <bruno@clisp.org>
5541
5542         openpty, posix_openpt: Remove code duplication.
5543         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5544         * lib/openpty.c: Include <stdlib.h>.
5545         (openpty): Use posix_openpt on all platforms except IRIX.
5546         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5547
5548 2011-10-20  Bruno Haible  <bruno@clisp.org>
5549
5550         unlockpt: Detect invalid argument.
5551         * lib/unlockpt.c: Include <fcntl.h>.
5552         (unlockpt): Check whether fd is valid, using fcntl().
5553         * modules/unlockpt (Depends-on): Add fcntl-h.
5554
5555 2011-10-20  Bruno Haible  <bruno@clisp.org>
5556
5557         openpty: Avoid compilation error on AIX 6.1.
5558         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5559
5560 2011-10-20  Bruno Haible  <bruno@clisp.org>
5561
5562         posix_openpt: Support for OpenBSD.
5563         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5564         (posix_openpt) [OpenBSD]: New code.
5565         * lib/grantpt.c: Include <fcntl.h>.
5566         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5567         * modules/grantpt (Depends-on): Add fcntl-h.
5568
5569 2011-10-20  Bruno Haible  <bruno@clisp.org>
5570
5571         posix_openpt test: Coding style.
5572         * tests/test-posix_openpt.c: Use GNU coding style.
5573
5574 2011-10-20  Bruno Haible  <bruno@clisp.org>
5575
5576         grantpt: Support --avoid=pt_chown.
5577         * modules/grantpt (Files): Add lib/pty-private.h.
5578
5579 2011-10-20  Bruno Haible  <bruno@clisp.org>
5580
5581         posix_openpt: Fix autoconf macro.
5582         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5583         unneeded check for _getpty.
5584
5585 2011-10-20  Bruno Haible  <bruno@clisp.org>
5586
5587         openpty: Update comments.
5588         * lib/openpty.c: Add comments about Minix.
5589
5590 2011-10-19  Eric Blake  <eblake@redhat.com>
5591
5592         openpty: relax license
5593         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5594
5595         pt_chown: use configmake to simplify build
5596         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5597
5598         ptsname and others: relax license
5599         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5600         * modules/unlockpt (License): Likewise.
5601         * modules/pt_chown (License): Likewise.
5602         * modules/ptsname (License): Likewise.
5603         * modules/ttyname_r (License): Likewise.
5604
5605 2011-10-19  Jim Meyering  <meyering@redhat.com>
5606
5607         posix_openpt: remove spurious #endif
5608         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5609
5610 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5611
5612         maint.mk: Respect $(build_aux) in web-manual rule.
5613         * top/maint.mk (web-manual): Find gen-announce script in user's
5614         $(build_aux) directory instead of hard-coding 'build-aux'.
5615
5616 2011-10-19  Bruno Haible  <bruno@clisp.org>
5617
5618         posix_openpt: Fix compilation error.
5619         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5620         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5621         Mention the openpty module as an alternative.
5622
5623 2011-10-19  Bruno Haible  <bruno@clisp.org>
5624
5625         Support for old NeXTstep 3.3 frexp().
5626         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5627         execution time of the test to 5 seconds.
5628         Reported by Daniel Richard G. <skunk@iskunk.org>.
5629
5630 2011-10-19  Bruno Haible  <bruno@clisp.org>
5631
5632         Support for old NeXTstep 3.3 sed.
5633         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5634         part, use /.../, not \|...|. Escape periods in the header file name.
5635         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5636         Reported by Daniel Richard G. <skunk@iskunk.org>.
5637
5638 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5639
5640         Support for old NeXTstep 3.3 gcc.
5641         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5642         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5643         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5644         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5645         * lib/regex.h (_Restrict_arr_): Likewise.
5646         * lib/regex_internal.h (re_token_t): Likewise.
5647         * lib/regexec.c (check_node_accept_bytes): Likewise.
5648         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5649
5650 2011-10-18  Eric Blake  <eblake@redhat.com>
5651
5652         posix_openpt: new module
5653         * modules/posix_openpt: New module.
5654         * m4/posix_openpt.m4: New file.
5655         * lib/posix_openpt.c: Likewise.
5656         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5657         (gl_STDLIB_H_DEFAULTS): Set defaults.
5658         * modules/stdlib (Makefile.am): Substitute macros.
5659         * lib/stdlib.in.h (posix_openpt): Declare.
5660         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5661         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5662         * modules/posix_openpt-tests: New test module.
5663         * tests/test-posix_openpt.c: New test.
5664
5665 2011-10-15  Bruno Haible  <bruno@clisp.org>
5666
5667         xstrtoll: Fix compilation failure.
5668         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5669         from lib/strtol.c.
5670         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5671         some platforms.
5672         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5673
5674 2011-10-15  Bruno Haible  <bruno@clisp.org>
5675
5676         vasnprintf: Optimize bit search operation.
5677         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5678         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5679         gl_DOUBLE_EXPONENT_LOCATION.
5680         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5681         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5682         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5683         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5684         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5685         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5686         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5687         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5688         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5689
5690 2011-10-15  Bruno Haible  <bruno@clisp.org>
5691
5692         vasnprintf: Fix comments.
5693         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5694
5695 2011-10-14  Bruno Haible  <bruno@clisp.org>
5696
5697         Tests for module 'integer_length_ll'.
5698         * modules/integer_length_ll-tests: New file.
5699         * tests/test-integer_length_ll.c: New file.
5700
5701         New module 'integer_length_ll'.
5702         * lib/integer_length_ll.c: New file.
5703         * modules/integer_length_ll: New file.
5704
5705 2011-10-14  Bruno Haible  <bruno@clisp.org>
5706
5707         Tests for module 'integer_length_l'.
5708         * modules/integer_length_l-tests: New file.
5709         * tests/test-integer_length_l.c: New file.
5710
5711         New module 'integer_length_l'.
5712         * lib/integer_length_l.c: New file.
5713         * modules/integer_length_l: New file.
5714
5715 2011-10-14  Bruno Haible  <bruno@clisp.org>
5716
5717         Tests for module 'integer_length'.
5718         * modules/integer_length-tests: New file.
5719         * tests/test-integer_length.c: New file.
5720
5721         New module 'integer_length'.
5722         * lib/integer_length.h: New file.
5723         * lib/integer_length.c: New file.
5724         * modules/integer_length: New file.
5725
5726 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5727
5728         popen: Fix dependency conditions.
5729         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5730
5731 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5732
5733         perror: Fix autoconf test.
5734         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5735         <stdlib.h> and <string.h>.
5736
5737 2011-10-14  Bruno Haible  <bruno@clisp.org>
5738
5739         ffsl: Optimize on 64-bit platforms.
5740         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5741         unrolling.
5742
5743 2011-10-13  Bruno Haible  <bruno@clisp.org>
5744
5745         ffsl: Optimize on 32-bit platforms.
5746         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5747         use ffs() without a loop.
5748
5749         ffsl, ffsll: Optimize for GCC.
5750         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5751         * lib/ffsl.c (GCC_BUILTIN): New macro.
5752         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5753
5754 2011-10-13  Bruno Haible  <bruno@clisp.org>
5755
5756         ffs, bcopy, memset: Support symbol renaming via config.h.
5757         * lib/ffs.c: Include <config.h>.
5758         * lib/bcopy.c: Likewise.
5759         * lib/memset.c: Likewise.
5760
5761 2011-10-10  Bruno Haible  <bruno@clisp.org>
5762
5763         atanl: Simplify for platforms where 'long double' == 'double'.
5764         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5765         alternative implementation.
5766         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5767         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5768         * modules/atanl (Depends-on): Add atan. Update conditions.
5769
5770 2011-10-10  Bruno Haible  <bruno@clisp.org>
5771
5772         acosl: Simplify for platforms where 'long double' == 'double'.
5773         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5774         alternative implementation.
5775         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5776         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5777         * modules/acosl (Depends-on): Add acos. Update conditions.
5778
5779 2011-10-10  Bruno Haible  <bruno@clisp.org>
5780
5781         asinl: Simplify for platforms where 'long double' == 'double'.
5782         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5783         alternative implementation.
5784         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5785         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5786         * modules/asinl (Depends-on): Add asin. Update conditions.
5787
5788 2011-10-10  Bruno Haible  <bruno@clisp.org>
5789
5790         tanl: Simplify for platforms where 'long double' == 'double'.
5791         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5792         implementation.
5793         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5794         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5795         * modules/tanl (Depends-on): Add tan. Update conditions.
5796         (configure.ac): Don't compile trigl.c if
5797         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5798
5799 2011-10-10  Bruno Haible  <bruno@clisp.org>
5800
5801         cosl: Simplify for platforms where 'long double' == 'double'.
5802         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5803         implementation.
5804         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5805         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5806         * modules/cosl (Depends-on): Add cos. Update conditions.
5807         (configure.ac): Don't compile sincosl.c and trigl.c if
5808         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5809
5810 2011-10-10  Bruno Haible  <bruno@clisp.org>
5811
5812         sinl: Simplify for platforms where 'long double' == 'double'.
5813         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5814         implementation.
5815         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5816         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5817         * modules/sinl (Depends-on): Add sin. Update conditions.
5818         (configure.ac): Don't compile sincosl.c and trigl.c if
5819         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5820
5821 2011-10-10  Bruno Haible  <bruno@clisp.org>
5822
5823         logl: Simplify for platforms where 'long double' == 'double'.
5824         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5825         implementation.
5826         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5827         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5828         * modules/logl (Depends-on): Add log. Update conditions.
5829
5830 2011-10-10  Bruno Haible  <bruno@clisp.org>
5831
5832         expl: Simplify for platforms where 'long double' == 'double'.
5833         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5834         implementation.
5835         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5836         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5837         * modules/expl (Depends-on): Add exp. Update conditions.
5838
5839 2011-10-10  Bruno Haible  <bruno@clisp.org>
5840
5841         sqrtl: Simplify for platforms where 'long double' == 'double'.
5842         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5843         alternative implementation.
5844         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5845         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5846         * modules/sqrtl (Depends-on): Update conditions.
5847
5848 2011-10-10  Bruno Haible  <bruno@clisp.org>
5849
5850         ldexpl: Simplify for platforms where 'long double' == 'double'.
5851         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5852         alternative implementation.
5853         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5854         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5855         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5856
5857 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5858
5859         ffsll: set correct witness
5860         * modules/ffsll (configure.ac): Fix typo.
5861
5862 2011-10-10  Bruno Haible  <bruno@clisp.org>
5863
5864         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5865         * lib/printf-frexpl.c: Include <config.h>.
5866         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5867         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5868         second time.
5869         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5870         gl_LONG_DOUBLE_VS_DOUBLE.
5871         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5872         conditions.
5873
5874 2011-10-10  Bruno Haible  <bruno@clisp.org>
5875
5876         frexpl: Simplify for platforms where 'long double' == 'double'.
5877         * lib/frexpl.c: Include <config.h>.
5878         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5879         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5880         time.
5881         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5882         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5883         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5884         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5885         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5886         conditions.
5887
5888 2011-10-10  Jim Meyering  <meyering@redhat.com>
5889
5890         test-renameat: don't leave behind a temporary file
5891         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5892           ERROR: files left in build directory after distclean:
5893           ./gltests/test-renameat.too
5894           make[1]: *** [distcleancheck] Error 1
5895         Reported by Tom G. Christensen.
5896
5897 2011-10-09  Bruno Haible  <bruno@clisp.org>
5898
5899         rint: Determine RINT_LIBM correctly on AIX 7.
5900         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5901         directly, not only through a function pointer. Also accept an optional
5902         4th argument with extra code.
5903         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5904         rintf() call by gcc when optimizing.
5905
5906         mathfunc.m4: Refactor.
5907         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5908         m4 variable.
5909
5910 2011-10-09  Bruno Haible  <bruno@clisp.org>
5911
5912         rintl: Simplify for platforms where 'long double' == 'double'.
5913         * lib/rintl.c: Include <config.h>.
5914         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5915         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5916         time.
5917         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5918         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5919         * modules/rintl (Depends-on): Add rint. Update conditions.
5920
5921 2011-10-09  Bruno Haible  <bruno@clisp.org>
5922
5923         roundl: Simplify for platforms where 'long double' == 'double'.
5924         * lib/roundl.c: Include <config.h>.
5925         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5926         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5927         time.
5928         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5929         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5930         * modules/roundl (Depends-on): Add round. Update conditions.
5931
5932 2011-10-09  Bruno Haible  <bruno@clisp.org>
5933
5934         truncl: Simplify for platforms where 'long double' == 'double'.
5935         * lib/truncl.c: Include <config.h>.
5936         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5937         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5938         time.
5939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5940         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5941         * modules/truncl (Depends-on): Add trunc. Update conditions.
5942
5943 2011-10-09  Bruno Haible  <bruno@clisp.org>
5944
5945         ceill: Simplify for platforms where 'long double' == 'double'.
5946         * lib/ceill.c: Include <config.h>.
5947         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5948         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5949         time.
5950         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5951         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5952         * modules/ceill (Depends-on): Add ceil. Update conditions.
5953
5954 2011-10-09  Bruno Haible  <bruno@clisp.org>
5955
5956         floorl: Simplify for platforms where 'long double' == 'double'.
5957         * lib/floorl.c: Include <config.h>.
5958         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5959         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5960         time.
5961         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5962         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5963         * modules/floorl (Depends-on): Add floor. Update conditions.
5964
5965 2011-10-09  Bruno Haible  <bruno@clisp.org>
5966
5967         rint: Fix ordering constraints.
5968         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5969         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5970         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5971
5972 2011-10-09  Bruno Haible  <bruno@clisp.org>
5973
5974         copysignl: Simplify for platforms where 'long double' == 'double'.
5975         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5976         alternative.
5977         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5978         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5979         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5980
5981 2011-10-09  Bruno Haible  <bruno@clisp.org>
5982
5983         Tests for module 'rintl'.
5984         * modules/rintl-tests: New file.
5985         * tests/test-rintl.c: New file.
5986
5987         New module 'rintl'.
5988         * lib/math.in.h (rintl): New declaration.
5989         * lib/rintl.c: New file.
5990         * m4/rintl.m4: New file.
5991         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5993         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5994         * modules/rintl: New file.
5995         * tests/test-math-c++.cc: Check the declaration of rintl.
5996         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5997         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5998         * doc/posix-functions/rintl.texi: Mention the new module.
5999
6000 2011-10-09  Bruno Haible  <bruno@clisp.org>
6001
6002         Tests for module 'rintf'.
6003         * modules/rintf-tests: New file.
6004         * tests/test-rintf.c: New file.
6005
6006         New module 'rintf'.
6007         * lib/math.in.h (rintf): New declaration.
6008         * lib/rintf.c: New file.
6009         * m4/rintf.m4: New file.
6010         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6011         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6012         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6013         * modules/rintf: New file.
6014         * tests/test-math-c++.cc: Check the declaration of rintf.
6015         * doc/posix-functions/rintf.texi: Mention the new module.
6016
6017 2011-10-09  Bruno Haible  <bruno@clisp.org>
6018
6019         rint: Support for MSVC.
6020         * lib/math.in.h (rint): New declaration.
6021         * lib/rint.c: New file.
6022         * m4/rint.m4: New file.
6023         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6024         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6025         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6026         * modules/rint (Description): Fix.
6027         (Files): Add lib/rint.c, m4/rint.m4.
6028         (Depends-on): Add math.
6029         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6030         gl_MATH_MODULE_INDICATOR.
6031         * tests/test-math-c++.cc: Check the declaration of rint.
6032         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6033         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6034         * doc/posix-functions/rint.texi: Mention the replacement provided by
6035         the module.
6036
6037         rint tests: More tests.
6038         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6039         minus-zero.h, infinity.h, nan.h.
6040         (main): Skip the test if the current rounding mode is not standard. Add
6041         tests for negative numbers, minus zero, infinity, NaN.
6042         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6043         tests/nan.h.
6044         (Depends-on): Add isnand-nolibm.
6045
6046 2011-10-09  Bruno Haible  <bruno@clisp.org>
6047
6048         Tests for module 'copysignl'.
6049         * modules/copysignl-tests: New file.
6050         * tests/test-copysignl.c: New file.
6051
6052         New module 'copysignl'.
6053         * lib/math.in.h (copysignl): New declaration.
6054         * lib/copysignl.c: New file.
6055         * m4/copysignl.m4: New file.
6056         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6057         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6058         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6059         HAVE_COPYSIGNL.
6060         * modules/copysignl: New file.
6061         * tests/test-math-c++.cc: Check the declaration of copysignl.
6062         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6063         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6064         * doc/posix-functions/copysignl.texi: Mention the new module.
6065
6066 2011-10-09  Bruno Haible  <bruno@clisp.org>
6067
6068         Tests for module 'copysignf'.
6069         * modules/copysignf-tests: New file.
6070         * tests/test-copysignf.c: New file.
6071
6072         New module 'copysignf'.
6073         * lib/math.in.h (copysignf): New declaration.
6074         * lib/copysignf.c: New file.
6075         * m4/copysignf.m4: New file.
6076         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6077         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6078         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6079         HAVE_COPYSIGNF.
6080         * modules/copysignf: New file.
6081         * tests/test-math-c++.cc: Check the declaration of copysignf.
6082         * doc/posix-functions/copysignf.texi: Mention the new module.
6083
6084 2011-10-09  Bruno Haible  <bruno@clisp.org>
6085
6086         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6087         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6088         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6089         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6090         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6091         gl_SIGNAL_H_DEFAULTS.
6092
6093 2011-10-09  Bruno Haible  <bruno@clisp.org>
6094
6095         poll: Make macro safer.
6096         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6097         ac_cv_header_poll_h is not set.
6098
6099 2011-10-09  Bruno Haible  <bruno@clisp.org>
6100
6101         copysign: Provide replacement.
6102         * lib/math.in.h (copysign): New declaration.
6103         * lib/copysign.c: New file.
6104         * m4/copysign.m4: New file.
6105         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6107         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6108         HAVE_COPYSIGN.
6109         * modules/copysign (Description): Clarify.
6110         (Files): Add lib/copysign.c, m4/copysign.m4.
6111         (Depends-on): Add math, signbit.
6112         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6113         gl_MATH_MODULE_INDICATOR.
6114         * tests/test-math-c++.cc: Check the declaration of copysign.
6115         * doc/posix-functions/copysign.texi: Mention the effects of the module
6116         on Minix and MSVC.
6117
6118 2011-10-09  Bruno Haible  <bruno@clisp.org>
6119
6120         isinf: Ensure macro on AIX 5.1.
6121         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6122         macro.
6123         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6124
6125 2011-10-09  Bruno Haible  <bruno@clisp.org>
6126
6127         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6128         * modules/snprintf-posix-tests (configure.ac): Require
6129         gl_LONG_DOUBLE_VS_DOUBLE.
6130         * modules/sprintf-posix-tests (configure.ac): Likewise.
6131         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6132         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6133         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6134         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6135         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6136         tests on platforms where 'long double' is the same as 'double'.
6137         * tests/test-sprintf-posix.h (test_function): Likewise.
6138         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6139         * tests/test-vasprintf-posix.c (test_function): Likewise.
6140
6141         *printf: Fix for platforms where 'long double' == 'double'.
6142         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6143         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6144         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6145         * modules/fprintf-posix (Files): Likewise.
6146         * modules/obstack-printf-posix (Files): Likewise.
6147         * modules/snprintf-posix (Files): Likewise.
6148         * modules/sprintf-posix (Files): Likewise.
6149         * modules/vasnprintf (Files): Likewise.
6150         * modules/vasnprintf-posix (Files): Likewise.
6151         * modules/vasprintf-posix (Files): Likewise.
6152         * modules/vdprintf-posix (Files): Likewise.
6153         * modules/vfprintf-posix (Files): Likewise.
6154         * modules/vsnprintf-posix (Files): Likewise.
6155         * modules/vsprintf-posix (Files): Likewise.
6156         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6157         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6158         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6159         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6160         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6161         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6162         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6163
6164         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6165         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6166         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6167         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6168         'long double'.
6169         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6170
6171         isinf: Fix for platforms where 'long double' == 'double'.
6172         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6173         Don't blindly assume 80-bit 'long double'.
6174
6175         isfinite: Fix for platforms where 'long double' == 'double'.
6176         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6177         Don't blindly assume 80-bit 'long double'.
6178
6179         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6180         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6181         * modules/isfinite-tests (configure.ac): Require
6182         gl_LONG_DOUBLE_VS_DOUBLE.
6183         * modules/isinf-tests (configure.ac): Likewise.
6184         * modules/isnan-tests (configure.ac): Likewise.
6185         * modules/isnanl-tests (configure.ac): Likewise.
6186         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6187         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6188         tests on platforms where 'long double' is the same as 'double'.
6189         * tests/test-isinf.c (test_isinfl): Likewise.
6190         * tests/test-isnan.c (test_long_double): Likewise.
6191         * tests/test-isnanl.h (main): Likewise.
6192
6193 2011-10-08  Bruno Haible  <bruno@clisp.org>
6194
6195         Tests for module 'tanhf'.
6196         * modules/tanhf-tests: New file.
6197         * tests/test-tanhf.c: New file.
6198
6199         New module 'tanhf'.
6200         * lib/math.in.h (tanhf): New declaration.
6201         * lib/tanhf.c: New file.
6202         * m4/tanhf.m4: New file.
6203         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6205         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6206         * modules/tanhf: New file.
6207         * tests/test-math-c++.cc: Check the declaration of tanhf.
6208         * doc/posix-functions/tanhf.texi: Mention the new module.
6209
6210         tanh: Use a .m4 file.
6211         * m4/tanh.m4: New file.
6212         * modules/tanh (Files): Add it.
6213         (configure.ac): Just invoke gl_FUNC_TANH.
6214
6215 2011-10-08  Bruno Haible  <bruno@clisp.org>
6216
6217         Tests for module 'coshf'.
6218         * modules/coshf-tests: New file.
6219         * tests/test-coshf.c: New file.
6220
6221         New module 'coshf'.
6222         * lib/math.in.h (coshf): New declaration.
6223         * lib/coshf.c: New file.
6224         * m4/coshf.m4: New file.
6225         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6226         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6227         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6228         * modules/coshf: New file.
6229         * tests/test-math-c++.cc: Check the declaration of coshf.
6230         * doc/posix-functions/coshf.texi: Mention the new module.
6231
6232         cosh: Use a .m4 file.
6233         * m4/cosh.m4: New file.
6234         * modules/cosh (Files): Add it.
6235         (configure.ac): Just invoke gl_FUNC_COSH.
6236
6237 2011-10-08  Bruno Haible  <bruno@clisp.org>
6238
6239         Tests for module 'sinhf'.
6240         * modules/sinhf-tests: New file.
6241         * tests/test-sinhf.c: New file.
6242
6243         New module 'sinhf'.
6244         * lib/math.in.h (sinhf): New declaration.
6245         * lib/sinhf.c: New file.
6246         * m4/sinhf.m4: New file.
6247         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6248         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6249         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6250         * modules/sinhf: New file.
6251         * tests/test-math-c++.cc: Check the declaration of sinhf.
6252         * doc/posix-functions/sinhf.texi: Mention the new module.
6253
6254         sinh: Use a .m4 file.
6255         * m4/sinh.m4: New file.
6256         * modules/sinh (Files): Add it.
6257         (configure.ac): Just invoke gl_FUNC_SINH.
6258
6259 2011-10-08  Bruno Haible  <bruno@clisp.org>
6260
6261         Tests for module 'atan2f'.
6262         * modules/atan2f-tests: New file.
6263         * tests/test-atan2f.c: New file.
6264
6265         New module 'atan2f'.
6266         * lib/math.in.h (atan2f): New declaration.
6267         * lib/atan2f.c: New file.
6268         * m4/atan2f.m4: New file.
6269         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6271         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6272         * modules/atan2f: New file.
6273         * tests/test-math-c++.cc: Check the declaration of atan2f.
6274         * doc/posix-functions/atan2f.texi: Mention the new module.
6275
6276         atan2: Use a .m4 file.
6277         * m4/atan2.m4: New file.
6278         * modules/atan2 (Files): Add it.
6279         (configure.ac): Just invoke gl_FUNC_ATAN2.
6280
6281 2011-10-08  Bruno Haible  <bruno@clisp.org>
6282
6283         Tests for module 'atanf'.
6284         * modules/atanf-tests: New file.
6285         * tests/test-atanf.c: New file.
6286
6287         New module 'atanf'.
6288         * lib/math.in.h (atanf): New declaration.
6289         * lib/atanf.c: New file.
6290         * m4/atanf.m4: New file.
6291         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6292         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6293         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6294         * modules/atanf: New file.
6295         * tests/test-math-c++.cc: Check the declaration of atanf.
6296         * doc/posix-functions/atanf.texi: Mention the new module.
6297
6298         atan: Use a .m4 file.
6299         * m4/atan.m4: New file.
6300         * modules/atan (Files): Add it.
6301         (configure.ac): Just invoke gl_FUNC_ATAN.
6302
6303 2011-10-08  Bruno Haible  <bruno@clisp.org>
6304
6305         Tests for module 'acosf'.
6306         * modules/acosf-tests: New file.
6307         * tests/test-acosf.c: New file.
6308
6309         New module 'acosf'.
6310         * lib/math.in.h (acosf): New declaration.
6311         * lib/acosf.c: New file.
6312         * m4/acosf.m4: New file.
6313         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6315         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6316         * modules/acosf: New file.
6317         * tests/test-math-c++.cc: Check the declaration of acosf.
6318         * doc/posix-functions/acosf.texi: Mention the new module.
6319
6320         acos: Use a .m4 file.
6321         * m4/acos.m4: New file.
6322         * modules/acos (Files): Add it.
6323         (configure.ac): Just invoke gl_FUNC_ACOS.
6324
6325 2011-10-08  Bruno Haible  <bruno@clisp.org>
6326
6327         Tests for module 'asinf'.
6328         * modules/asinf-tests: New file.
6329         * tests/test-asinf.c: New file.
6330
6331         New module 'asinf'.
6332         * lib/math.in.h (asinf): New declaration.
6333         * lib/asinf.c: New file.
6334         * m4/asinf.m4: New file.
6335         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6337         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6338         * modules/asinf: New file.
6339         * tests/test-math-c++.cc: Check the declaration of asinf.
6340         * doc/posix-functions/asinf.texi: Mention the new module.
6341
6342         asin: Use a .m4 file.
6343         * m4/asin.m4: New file.
6344         * modules/asin (Files): Add it.
6345         (configure.ac): Just invoke gl_FUNC_ASIN.
6346
6347 2011-10-08  Bruno Haible  <bruno@clisp.org>
6348
6349         Tests for module 'tanf'.
6350         * modules/tanf-tests: New file.
6351         * tests/test-tanf.c: New file.
6352
6353         New module 'tanf'.
6354         * lib/math.in.h (tanf): New declaration.
6355         * lib/tanf.c: New file.
6356         * m4/tanf.m4: New file.
6357         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6358         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6359         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6360         * modules/tanf: New file.
6361         * tests/test-math-c++.cc: Check the declaration of tanf.
6362         * doc/posix-functions/tanf.texi: Mention the new module.
6363
6364         tan: Use a .m4 file.
6365         * m4/tan.m4: New file.
6366         * modules/tan (Files): Add it.
6367         (configure.ac): Just invoke gl_FUNC_TAN.
6368
6369 2011-10-08  Bruno Haible  <bruno@clisp.org>
6370
6371         Tests for module 'cosf'.
6372         * modules/cosf-tests: New file.
6373         * tests/test-cosf.c: New file.
6374
6375         New module 'cosf'.
6376         * lib/math.in.h (cosf): New declaration.
6377         * lib/cosf.c: New file.
6378         * m4/cosf.m4: New file.
6379         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6381         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6382         * modules/cosf: New file.
6383         * tests/test-math-c++.cc: Check the declaration of cosf.
6384         * doc/posix-functions/cosf.texi: Mention the new module.
6385
6386         cos: Use a .m4 file.
6387         * m4/cos.m4: New file.
6388         * modules/cos (Files): Add it.
6389         (configure.ac): Just invoke gl_FUNC_COS.
6390
6391 2011-10-08  Bruno Haible  <bruno@clisp.org>
6392
6393         Tests for module 'sinf'.
6394         * modules/sinf-tests: New file.
6395         * tests/test-sinf.c: New file.
6396
6397         New module 'sinf'.
6398         * lib/math.in.h (sinf): New declaration.
6399         * lib/sinf.c: New file.
6400         * m4/sinf.m4: New file.
6401         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6403         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6404         * modules/sinf: New file.
6405         * tests/test-math-c++.cc: Check the declaration of sinf.
6406         * doc/posix-functions/sinf.texi: Mention the new module.
6407
6408         sin: Use a .m4 file.
6409         * m4/sin.m4: New file.
6410         * modules/sin (Files): Add it.
6411         (configure.ac): Just invoke gl_FUNC_SIN.
6412
6413 2011-10-08  Bruno Haible  <bruno@clisp.org>
6414
6415         Tests for module 'powf'.
6416         * modules/powf-tests: New file.
6417         * tests/test-powf.c: New file.
6418
6419         New module 'powf'.
6420         * lib/math.in.h (powf): New declaration.
6421         * lib/powf.c: New file.
6422         * m4/powf.m4: New file.
6423         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6424         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6425         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6426         * modules/powf: New file.
6427         * tests/test-math-c++.cc: Check the declaration of powf.
6428         * doc/posix-functions/powf.texi: Mention the new module.
6429
6430         pow: Use a .m4 file.
6431         * m4/pow.m4: New file.
6432         * modules/pow (Files): Add it.
6433         (configure.ac): Just invoke gl_FUNC_POW.
6434
6435 2011-10-08  Bruno Haible  <bruno@clisp.org>
6436
6437         Tests for module 'log10f'.
6438         * modules/log10f-tests: New file.
6439         * tests/test-log10f.c: New file.
6440
6441         New module 'log10f'.
6442         * lib/math.in.h (log10f): New declaration.
6443         * lib/log10f.c: New file.
6444         * m4/log10f.m4: New file.
6445         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6447         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6448         * modules/log10f: New file.
6449         * tests/test-math-c++.cc: Check the declaration of log10f.
6450         * doc/posix-functions/log10f.texi: Mention the new module.
6451
6452         log10: Use a .m4 file.
6453         * m4/log10.m4: New file.
6454         * modules/log10 (Files): Add it.
6455         (configure.ac): Just invoke gl_FUNC_LOG10.
6456
6457 2011-10-08  Bruno Haible  <bruno@clisp.org>
6458
6459         Tests for module 'logf'.
6460         * modules/logf-tests: New file.
6461         * tests/test-logf.c: New file.
6462
6463         New module 'logf'.
6464         * lib/math.in.h (logf): New declaration.
6465         * lib/logf.c: New file.
6466         * m4/logf.m4: New file.
6467         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6469         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6470         * modules/logf: New file.
6471         * tests/test-math-c++.cc: Check the declaration of logf.
6472         * doc/posix-functions/logf.texi: Mention the new module.
6473
6474         log: Use a .m4 file.
6475         * m4/log.m4: New file.
6476         * modules/log (Files): Add it.
6477         (configure.ac): Just invoke gl_FUNC_LOG.
6478
6479 2011-10-08  Bruno Haible  <bruno@clisp.org>
6480
6481         Tests for module 'expf'.
6482         * modules/expf-tests: New file.
6483         * tests/test-expf.c: New file.
6484
6485         New module 'expf'.
6486         * lib/math.in.h (expf): New declaration.
6487         * lib/expf.c: New file.
6488         * m4/expf.m4: New file.
6489         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6491         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6492         * modules/expf: New file.
6493         * tests/test-math-c++.cc: Check the declaration of expf.
6494         * doc/posix-functions/expf.texi: Mention the new module.
6495
6496         exp: Use a .m4 file.
6497         * m4/exp.m4: New file.
6498         * modules/exp (Files): Add it.
6499         (configure.ac): Just invoke gl_FUNC_EXP.
6500
6501 2011-10-08  Bruno Haible  <bruno@clisp.org>
6502
6503         Tests for module 'sqrtf'.
6504         * modules/sqrtf-tests: New file.
6505         * tests/test-sqrtf.c: New file.
6506
6507         New module 'sqrtf'.
6508         * lib/math.in.h (sqrtf): New declaration.
6509         * lib/sqrtf.c: New file.
6510         * m4/sqrtf.m4: New file.
6511         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6513         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6514         * modules/sqrtf: New file.
6515         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6516         * doc/posix-functions/sqrtf.texi: Mention the new module.
6517
6518 2011-10-08  Bruno Haible  <bruno@clisp.org>
6519
6520         Tests: Avoid link failures w.r.t. libintl.
6521         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6522         $(LIBINTL).
6523         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6524         $(LIBINTL).
6525         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6526         against $(LIBINTL).
6527         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6528         $(LIBINTL).
6529         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6530         $(LIBINTL).
6531         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6532
6533 2011-10-08  Bruno Haible  <bruno@clisp.org>
6534
6535         pow tests: Defeat compiler optimizations.
6536         * tests/test-pow.c (main): Assign arguments to x and y before use.
6537
6538 2011-10-08  Bruno Haible  <bruno@clisp.org>
6539
6540         gnulib-tool: Improve last commit.
6541         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6542         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6543         ignore dependencies that are not among the modules list.
6544
6545 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6546
6547         gnulib-tool: don't follow dependencies to avoided modules
6548         This fixes a bug that is related to the previous one.
6549         * gnulib-tool (func_modules_transitive_closure)
6550         (func_emit_autoconf_snippets):
6551         Check whether a dependency is acceptable before using it.
6552         (--extract-dependencies): Report an error if --avoid is also used,
6553         since this combination of options is not yet supported.
6554
6555         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6556         Problem reported by Peter Dyballa in
6557         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6558         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6559         when echoing "$condition".
6560
6561 2011-10-07  Bruno Haible  <bruno@clisp.org>
6562
6563         Fix documentation about math functions on MacOS X.
6564         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6565         MacOS X 10.5.
6566         * doc/posix-functions/fdim.texi: Likewise.
6567         * doc/posix-functions/feclearexcept.texi: Likewise.
6568         * doc/posix-functions/fegetenv.texi: Likewise.
6569         * doc/posix-functions/fegetround.texi: Likewise.
6570         * doc/posix-functions/feholdexcept.texi: Likewise.
6571         * doc/posix-functions/feraiseexcept.texi: Likewise.
6572         * doc/posix-functions/fesetenv.texi: Likewise.
6573         * doc/posix-functions/fesetround.texi: Likewise.
6574         * doc/posix-functions/fetestexcept.texi: Likewise.
6575         * doc/posix-functions/feupdateenv.texi: Likewise.
6576         * doc/posix-functions/fmax.texi: Likewise.
6577         * doc/posix-functions/fmin.texi: Likewise.
6578         * doc/posix-functions/log2.texi: Likewise.
6579         * doc/posix-functions/modff.texi: Likewise.
6580         * doc/posix-functions/nan.texi: Likewise.
6581         * doc/posix-functions/nanf.texi: Likewise.
6582         * doc/posix-functions/nextafterf.texi: Likewise.
6583         * doc/posix-functions/remquo.texi: Likewise.
6584
6585 2011-10-07  Bruno Haible  <bruno@clisp.org>
6586
6587         modff: Drop assumption about library that defines modff.
6588         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6589         AC_CHECK_FUNCS.
6590         * modules/modff (Files): Add m4/mathfunc.m4.
6591
6592 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6593
6594         raise tests: Avoid a GCC warning.
6595         * tests/test-raise.c (handler): Use _Noreturn.
6596
6597 2011-10-07  Bruno Haible  <bruno@clisp.org>
6598
6599         Tests for module 'ldexpf'.
6600         * modules/ldexpf-tests: New file.
6601         * tests/test-ldexpf.c: New file.
6602
6603         New module 'ldexpf'.
6604         * lib/math.in.h (ldexpf): New declaration.
6605         * lib/ldexpf.c: New file.
6606         * m4/ldexpf.m4: New file.
6607         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6609         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6610         * modules/ldexpf: New file.
6611         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6612         * doc/posix-functions/ldexpf.texi: Mention the new module.
6613
6614 2011-10-06  Bruno Haible  <bruno@clisp.org>
6615
6616         frexpf: Work around problems on IRIX and mingw.
6617         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6618         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6619         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6620         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6621         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6622         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6623         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6624
6625 2011-10-06  Bruno Haible  <bruno@clisp.org>
6626
6627         fabsf: Drop assumption about library that defines fabsf.
6628         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6629         AC_CHECK_FUNCS.
6630         * modules/fabsf (Files): Add m4/mathfunc.m4.
6631
6632 2011-10-06  Bruno Haible  <bruno@clisp.org>
6633
6634         frexpf: Drop assumption about library that defines frexpf.
6635         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6636         'int *', 'float *', 'long double *', 'float', 'long double'.
6637         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6638         AC_CHECK_FUNCS.
6639         * modules/frexpf (Files): Add m4/mathfunc.m4.
6640
6641         Tests for module 'frexpf'.
6642         * modules/frexpf-tests: New file.
6643         * tests/test-frexpf.c: New file.
6644
6645         New module 'frexpf'.
6646         * lib/math.in.h (frexpf): New declaration.
6647         * lib/frexpf.c: New file.
6648         * m4/frexpf.m4: New file.
6649         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6651         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6652         * modules/frexpf: New file.
6653         * tests/test-math-c++.cc: Check the declaration of frexpf.
6654         * doc/posix-functions/frexpf.texi: Mention the new module.
6655
6656 2011-10-06  Bruno Haible  <bruno@clisp.org>
6657
6658         math: Sort function declarations of math.in.h.
6659         * lib/math.in.h (frexp, logb): Move declarations.
6660
6661 2011-10-05  Bruno Haible  <bruno@clisp.org>
6662
6663         Tests for module 'modff'.
6664         * modules/modff-tests: New file.
6665         * tests/test-modff.c: New file.
6666
6667         New module 'modff'.
6668         * lib/math.in.h (modff): New declaration.
6669         * lib/modff.c: New file.
6670         * m4/modff.m4: New file.
6671         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6672         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6673         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6674         * modules/modff: New file.
6675         * tests/test-math-c++.cc: Check the declaration of modff.
6676         * doc/posix-functions/modff.texi: Mention the new module.
6677
6678         modf tests: Make test sharper.
6679         * tests/test-modf.c (main): Strengthen upper bound.
6680
6681         modf: Use a .m4 file.
6682         * m4/modf.m4: New file.
6683         * modules/modf (Files): Add it.
6684         (configure.ac): Just invoke gl_FUNC_MODF.
6685
6686 2011-10-05  Bruno Haible  <bruno@clisp.org>
6687
6688         Tests for module 'fmodf'.
6689         * modules/fmodf-tests: New file.
6690         * tests/test-fmodf.c: New file.
6691
6692         New module 'fmodf'.
6693         * lib/math.in.h (fmodf): New declaration.
6694         * lib/fmodf.c: New file.
6695         * m4/fmodf.m4: New file.
6696         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6698         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6699         * modules/fmodf: New file.
6700         * tests/test-math-c++.cc: Check the declaration of fmodf.
6701         * doc/posix-functions/fmodf.texi: Mention the new module.
6702
6703         fmod: Use a .m4 file.
6704         * m4/fmod.m4: New file.
6705         * modules/fmod (Files): Add it.
6706         (configure.ac): Just invoke gl_FUNC_FMOD.
6707
6708 2011-10-05  Bruno Haible  <bruno@clisp.org>
6709
6710         Tests for module 'fabsf'.
6711         * modules/fabsf-tests: New file.
6712         * tests/test-fabsf.c: New file.
6713
6714         New module 'fabsf'.
6715         * lib/math.in.h (fabsf): New declaration.
6716         * lib/fabsf.c: New file.
6717         * m4/fabsf.m4: New file.
6718         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6719         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6720         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6721         * modules/fabsf: New file.
6722         * tests/test-math-c++.cc: Check the declaration of fabsf.
6723         * doc/posix-functions/fabsf.texi: Mention the new module.
6724
6725         fabs: Use a .m4 file.
6726         * m4/fabs.m4: New file.
6727         * modules/fabs (Files): Add it.
6728         (configure.ac): Just invoke gl_FUNC_FABS.
6729
6730 2011-10-05  Jim Meyering  <meyering@redhat.com>
6731
6732         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6733         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6734         ls -lL regression introduced in coreutils-8.12, it does so at the
6735         cost of an additional stat call in the common case.  Besides, now
6736         that the kernel change that prompted commit 95f7c57f has been reverted
6737         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6738         we have no use for commit 95f7c57f, "file-has-acl: use
6739         acl_extended_file_nofollow if available".
6740
6741 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6742
6743         file-has-acl: revert unintended change in behavior of ls -L
6744         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6745         derived from...
6746         (file_has_acl): ...code here.  Call it.
6747         This problem was introduced with 2011-07-22 commit 95f7c57f,
6748         "file-has-acl: use acl_extended_file_nofollow if available".
6749         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6750
6751 2011-10-03  Bruno Haible  <bruno@clisp.org>
6752
6753         poll: Avoid link errors on MSVC.
6754         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6755         * modules/poll (Depends-on): Add sockets.
6756         (Link): New section.
6757         * NEWS: Mention the change.
6758         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6759         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6760         $(LIB_POLL) instead of $(LIBSOCKET).
6761
6762 2011-10-03  Bruno Haible  <bruno@clisp.org>
6763
6764         sys_select tests: Fix link error on MSVC 9.
6765         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6766         with $(LIB_SELECT) instead of $(LIBSOCKET).
6767
6768 2011-10-03  Bruno Haible  <bruno@clisp.org>
6769
6770         sys_select: Fix compilation error on mingw.
6771         * lib/sys_select.in.h: On native Windows, include <io.h>.
6772
6773 2011-10-03  Bruno Haible  <bruno@clisp.org>
6774
6775         wmemset: Support for MSVC.
6776         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6777         whether wmemset() exists.
6778
6779 2011-10-03  Bruno Haible  <bruno@clisp.org>
6780
6781         wmemmove: Support for MSVC.
6782         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6783         whether wmemmove() exists.
6784
6785 2011-10-03  Bruno Haible  <bruno@clisp.org>
6786
6787         wmemcpy: Support for MSVC.
6788         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6789         whether wmemcpy() exists.
6790
6791 2011-10-03  Bruno Haible  <bruno@clisp.org>
6792
6793         wmemcmp: Support for MSVC.
6794         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6795         whether wmemcmp() exists.
6796
6797 2011-10-03  Bruno Haible  <bruno@clisp.org>
6798
6799         wmemchr: Support for MSVC.
6800         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6801         whether wmemchr() exists.
6802
6803 2011-10-03  Bruno Haible  <bruno@clisp.org>
6804
6805         glthread/*, strsignal: Support for MSVC.
6806         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6807         including <winsock.h> on MSVC 9.
6808         * lib/glthread/lock.h: Likewise.
6809         * lib/glthread/thread.h: Likewise.
6810         * lib/glthread/tls.h: Likewise.
6811         * lib/glthread/yield.h: Likewise.
6812         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6813         if HAVE_UNISTD_H is false.
6814         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6815
6816 2011-10-03  Bruno Haible  <bruno@clisp.org>
6817
6818         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6819         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6820         Set to 100000.
6821
6822 2011-10-03  Bruno Haible  <bruno@clisp.org>
6823
6824         acl: Fix specification.
6825         * lib/file-has-acl.c (file_has_acl): Fix specification.
6826
6827 2011-10-03  Bruno Haible  <bruno@clisp.org>
6828
6829         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6830         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6831         (compute_curr_prefix, shared_library_fullname,
6832         find_shared_library_fullname, get_shared_library_fullname, relocate):
6833         Use it together with PIC && INSTALLDIR.
6834         Reported by <jojelino@gmail.com>
6835         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6836
6837 2011-10-01  Jim Meyering  <meyering@redhat.com>
6838
6839         maint.mk: adjust a release-related rule not to require use of gzip
6840         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6841         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6842         projects that build only .tar.xz files.  Also fix an erroneous test.
6843
6844         test-linkat: don't leave behind a temporary file
6845         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6846         Otherwise, coreutils' "make distcheck" would fail with this:
6847           Only in /c/cu/tests/torture/coreutils/test/\
6848             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6849           make[2]: *** [my-distcheck] Error 1
6850
6851         float, math: add omitted file
6852         * lib/itold.c: Add file, required for yesterday's float change.
6853
6854 2011-10-01  Bruno Haible  <bruno@clisp.org>
6855
6856         isinf: Fix for OpenBSD/x86.
6857         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6858         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6859         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6860
6861 2011-10-01  Bruno Haible  <bruno@clisp.org>
6862
6863         isfinite: Fix syntax error in configure test.
6864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6865
6866         isfinite: Fix typo.
6867         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6868         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6869
6870 2011-10-01  Bruno Haible  <bruno@clisp.org>
6871
6872         nonblocking tests: Fix test failure on Linux/IA-64.
6873         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6874         Set to 270000.
6875
6876 2011-10-01  Bruno Haible  <bruno@clisp.org>
6877
6878         mkfifoat tests: Fix a test failure on mingw.
6879         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6880         with error ENOSYS.
6881
6882 2011-09-30  Bruno Haible  <bruno@clisp.org>
6883
6884         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6885         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6886         'long double'. Set REPLACE_ITOLD.
6887         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6888         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6889         * lib/itold.c: New file.
6890         * modules/float (Files): Add lib/itold.c.
6891         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6892         (Makefile.am): Substitute REPLACE_ITOLD.
6893         * modules/math (Depends-on): Add float.
6894         (Makefile.am): Substitute REPLACE_ITOLD.
6895         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6896         * doc/posix-headers/math.texi: Likewise.
6897         * doc/posix-functions/logl.texi: Likewise.
6898
6899 2011-09-30  Bruno Haible  <bruno@clisp.org>
6900
6901         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6902         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6903         Set to 140000.
6904
6905 2011-09-30  Bruno Haible  <bruno@clisp.org>
6906
6907         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6908         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6909         invocation, say "right after AC_PROG_CC_STDC", not "right after
6910         AC_PROG_CC".
6911         Reported by Gary V. Vaughan <gary@gnu.org>.
6912
6913 2011-09-30  Bruno Haible  <bruno@clisp.org>
6914
6915         Centralize C99 requirement.
6916         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6917         * modules/stdarg (configure.ac-early): Invoke it instead of
6918         AC_PROG_CC_STDC.
6919         Reported by Gary V. Vaughan and Paul Eggert.
6920
6921 2011-09-29  Bruno Haible  <bruno@clisp.org>
6922
6923         float: Fix LDBL_MAX value on Linux/PowerPC.
6924         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6925         on Linux/PowerPC.
6926         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6927         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6928         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6929         platform.
6930         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6931
6932 2011-09-29  Bruno Haible  <bruno@clisp.org>
6933
6934         doc: Improve doc about gl_EARLY.
6935         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6936         AC_PROG_CC_STDC invocation.
6937         Reported by Gary V. Vaughan <gary@gnu.org>.
6938
6939 2011-09-28  Bruno Haible  <bruno@clisp.org>
6940
6941         fgetc, fputc, fread, fwrite tests: Fix link error.
6942         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6943         on non-MSVC platforms.
6944         * tests/test-fputc.c (main): Likewise.
6945         * tests/test-fread.c (main): Likewise.
6946         * tests/test-fwrite.c (main): Likewise.
6947         Reported by Jim Meyering.
6948
6949 2011-09-27  Bruno Haible  <bruno@clisp.org>
6950
6951         fputc, fwrite tests: Avoid test failure on MSVC.
6952         * tests/test-fgetc.c: Include msvc-inval.h.
6953         (main): Invoke gl_msvc_inval_ensure_handler.
6954         * tests/test-fputc.c: Include msvc-inval.h.
6955         (main): Invoke gl_msvc_inval_ensure_handler.
6956         * tests/test-fread.c: Include msvc-inval.h.
6957         (main): Invoke gl_msvc_inval_ensure_handler.
6958         * tests/test-fwrite.c: Include msvc-inval.h.
6959         (main): Invoke gl_msvc_inval_ensure_handler.
6960         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6961         * modules/fputc-tests (Depends-on): Likewise.
6962         * modules/fread-tests (Depends-on): Likewise.
6963         * modules/fwrite-tests (Depends-on): Likewise.
6964
6965 2011-09-27  Bruno Haible  <bruno@clisp.org>
6966
6967         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6968         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6969         (raise): Remove older, duplicated declaration.
6970         (_gl_raise_SIGPIPE): New declaration.
6971         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6972         (rpl_raise): Remove function.
6973         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6974         a gnulib-defined SIGPIPE here.
6975         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6976         'sigprocmask' has detected missing signal-blocking and the module
6977         'sigpipe' is enabled.
6978         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6979
6980 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6981
6982         base64-tests: avoid memory leak
6983         * tests/test-base64.c (main): Plug memory leak.
6984
6985         base32: new module
6986         * modules/base32: New module.
6987         * lib/base32.c: New file.
6988         * lib/base32.h: Likewise.
6989         * m4/base32.m4: Likewise.
6990         * modules/base32-tests: New test.
6991         * tests/test-base32.c: Likewise.
6992         * MODULES.html.sh (Misc): Mention it.
6993
6994 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6995
6996         gnulib: use more-standard license notice wording
6997         * gnulib-tool (func_emit_copyright_notice): When emitting a
6998         license notice into a file, use the standard wording as suggested
6999         by the current information for GNU maintainers, except say "file"
7000         rather than "program".  The new wording gives a license version
7001         number, which addresses an issue raised by Glenn Morris in
7002         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7003         * m4/onceonly.m4: Use that same wording here, too.
7004
7005         dup2: minor simplification
7006         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7007         as lib/dup2.c no longer uses 'inline'.
7008
7009 2011-09-25  Bruno Haible  <bruno@clisp.org>
7010
7011         strings: Fix compilation error on MSVC.
7012         * lib/strings.in.h: Include <stddef.h> for size_t.
7013
7014 2011-09-25  Bruno Haible  <bruno@clisp.org>
7015
7016         fflush et al.: Document limitation on MSVC.
7017         * doc/posix-functions/fflush.texi: Document possible crash in handling
7018         mode other than DEFAULT_HANDLING.
7019         * doc/posix-functions/fgetc.texi: Likewise.
7020         * doc/posix-functions/fputc.texi: Likewise.
7021         * doc/posix-functions/fread.texi: Likewise.
7022         * doc/posix-functions/fwrite.texi: Likewise.
7023
7024 2011-09-25  Bruno Haible  <bruno@clisp.org>
7025
7026         msvc-inval: Allow three invalid parameter handling modes.
7027         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7028         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7029         macros.
7030         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7031         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7032         SANE_LIBRARY_HANDLING as a no-op.
7033         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7034         <stdlib.h>.
7035         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7036
7037 2011-09-25  Bruno Haible  <bruno@clisp.org>
7038
7039         msvc-inval: Make handler multithread-safe.
7040         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7041         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7042         declarations.
7043         (gl_msvc_inval_current): New declaration.
7044         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7045         Operate on the structure returned by gl_msvc_inval_current().
7046         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7047         Remove varaiables.
7048         (tls_index, tls_initialized): New variables.
7049         (not_per_thread): New variable.
7050         (gl_msvc_inval_current): New function.
7051         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7052         returned by gl_msvc_inval_current().
7053
7054 2011-09-25  Bruno Haible  <bruno@clisp.org>
7055
7056         msvc-inval: Install handler globally.
7057         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7058         !_MSC_VER.
7059         (gl_msvc_invalid_parameter_handler): Remove declaration.
7060         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7061         declarations.
7062         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7063         Install the handler globally, don't uninstall it.
7064         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7065         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7066         currently valid, call RaiseException instead.
7067         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7068         for !_MSC_VER.
7069
7070 2011-09-25  Bruno Haible  <bruno@clisp.org>
7071
7072         strerror_r-posix: Fix for MSVC 9.
7073         * lib/strerror_r.c (local_snprintf): New function.
7074         (snprintf): Define to local_snprintf, not to _snprintf.
7075
7076 2011-09-25  Bruno Haible  <bruno@clisp.org>
7077
7078         ftruncate: Support for MSVC 9.
7079         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7080         (chsize_nothrow): New function.
7081         (chsize): Redefine as a macro.
7082         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7083         * modules/ftruncate (Depends-on): Add msvc-inval.
7084
7085 2011-09-25  Bruno Haible  <bruno@clisp.org>
7086
7087         New module 'fstat'.
7088         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7089         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7090         * lib/fchdir.c (rpl_fstat): Remove function.
7091         * m4/fstat.m4: New file.
7092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7093         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7094         declared.
7095         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7096         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7097         * modules/fstat: New file.
7098         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7099         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7100         is set.
7101         * doc/posix-functions/fstat.texi: Mention the new module and the
7102         problem on MSVC.
7103         * NEWS: Mention the change.
7104         * modules/acl (Depends-on): Add fstat.
7105         * modules/chdir-safer (Depends-on): Likewise.
7106         * modules/chown (Depends-on): Likewise.
7107         * modules/copy-file (Depends-on): Likewise.
7108         * modules/fchdir (Depends-on): Likewise.
7109         * modules/fdopendir (Depends-on): Likewise.
7110         * modules/fopen (Depends-on): Likewise.
7111         * modules/fts (Depends-on): Likewise.
7112         * modules/getcwd (Depends-on): Likewise.
7113         * modules/isapipe (Depends-on): Likewise.
7114         * modules/linkat (Depends-on): Likewise.
7115         * modules/lseek (Depends-on): Likewise.
7116         * modules/mkdir-p (Depends-on): Likewise.
7117         * modules/open (Depends-on): Likewise.
7118         * modules/openat (Depends-on): Likewise.
7119         * modules/read-file (Depends-on): Likewise.
7120         * modules/renameat (Depends-on): Likewise.
7121         * modules/utimens (Depends-on): Likewise.
7122
7123 2011-09-25  Bruno Haible  <bruno@clisp.org>
7124
7125         linkat: Fix compilation on MSVC 9.
7126         * lib/linkat.c: Don't include <stdint.h>.
7127
7128 2011-09-25  Bruno Haible  <bruno@clisp.org>
7129
7130         fclose: Support for MSVC 9.
7131         * lib/fclose.c: Include msvc-inval.h.
7132         (fclose_nothrow): New function.
7133         (rpl_fclose): Use it.
7134         * modules/fclose (Depends-on): Add msvc-inval.
7135         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7136
7137 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7138
7139         dup2: minor simplifications
7140         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7141         that it's a performance win.
7142         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7143         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7144
7145 2011-09-24  Jim Meyering  <meyering@redhat.com>
7146
7147         test-futimens: avoid a warning from gcc -Wshadow
7148         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7149         to avoid a shadowing warning.
7150
7151 2011-09-24  Bruno Haible  <bruno@clisp.org>
7152
7153         fdopen: Support for MSVC 9.
7154         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7155         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7156         * lib/fdopen.c: Include msvc-inval.h.
7157         (fdopen_nothrow): New function.
7158         (rpl_fdopen): Use it.
7159         * modules/fdopen (Depends-on): Add msvc-inval.
7160         * modules/fclose-tests (Depends-on): Add fdopen.
7161         * modules/fflush-tests (Depends-on): Likewise.
7162         * modules/fgetc-tests (Depends-on): Likewise.
7163         * modules/fputc-tests (Depends-on): Likewise.
7164         * modules/fread-tests (Depends-on): Likewise.
7165         * modules/freopen-tests (Depends-on): Likewise.
7166         * modules/fseeko-tests (Depends-on): Likewise.
7167         * modules/ftello-tests (Depends-on): Likewise.
7168         * modules/fwrite-tests  (Depends-on): Likewise.
7169         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7170
7171 2011-09-24  Bruno Haible  <bruno@clisp.org>
7172
7173         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7174         * modules/fgetc-tests (Depends-on): Add unistd.
7175         * modules/fputc-tests (Depends-on): Likewise.
7176         * modules/fread-tests (Depends-on): Likewise.
7177         * modules/fwrite-tests (Depends-on): Likewise.
7178
7179 2011-09-24  Bruno Haible  <bruno@clisp.org>
7180
7181         dup: Simplify autoconf test.
7182         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7183         on gl_MSVC_INVAL's result.
7184
7185 2011-09-24  Bruno Haible  <bruno@clisp.org>
7186
7187         Tests for function fwrite().
7188         * modules/fwrite-tests: New file.
7189         * tests/test-fwrite.c: New file.
7190         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7191
7192         Tests for function fread().
7193         * modules/fread-tests: New file.
7194         * tests/test-fread.c: New file.
7195         * modules/stdio-tests (Depends-on): Add fread-tests.
7196
7197         Activate fputc tests.
7198         * modules/stdio-tests (Depends-on): Add fputc-tests.
7199
7200         Enhance fgetc, fputc tests.
7201         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7202         * tests/test-fputc.c (main): Likewise.
7203
7204 2011-09-24  Bruno Haible  <bruno@clisp.org>
7205
7206         write: Support for MSVC 9.
7207         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7208         is not 1.
7209         * lib/write.c (write_nothrow): New function.
7210         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7211         not 1. Use write_nothrow.
7212         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7213         invalid parameter handler.
7214         (gl_PREREQ_WRITE): New macro.
7215         * modules/write (Depends-on): Add msvc-inval.
7216         (configure.ac): Invoke gl_PREREQ_WRITE.
7217         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7218
7219 2011-09-24  Bruno Haible  <bruno@clisp.org>
7220
7221         read: Fix last commit.
7222         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7223
7224 2011-09-24  Bruno Haible  <bruno@clisp.org>
7225
7226         dup2: Fix last commit.
7227         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7228         (rpl_dup2): Disable fcntl workaround on native Windows.
7229
7230         sigprocmask: Make code safer.
7231         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7232         section that changes macro definitions for this compilation unit.
7233
7234 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7235
7236         dup2: clarify by coalescing Windows-specific material
7237         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7238         "msvc-nothrow.h"' to the Windows-specific section, so that the
7239         Emacs source need not contain these include files.
7240         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7241         Windows-specific fixes into this function rather than just the
7242         nothrow fix, as this shortens and clarifies the code.  Always
7243         define as a function, as that's a bit cleaner than having it be
7244         sometimes a function and sometimes a macro.
7245         (rpl_dup2): Move the Windows-specific stuff out of here and into
7246         ms_windows_dup2.  Don't protect the Haiku-related fix with
7247         "#if !defined __linux__", as the same code also works around
7248         a Linux kernel bug, and it doesn't add any system calls on any
7249         platform.  Add comment about FreeBSD 6.1.
7250
7251         sigprocmask: move #include directive
7252         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7253         Windows-specific section, so that the Emacs source need not
7254         contain msvc-inval.h.
7255
7256 2011-09-23  Bruno Haible  <bruno@clisp.org>
7257
7258         read: Support for MSVC 9.
7259         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7260         is not 1.
7261         * lib/read.c (read_nothrow): New function.
7262         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7263         read_nothrow.
7264         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7265         invalid parameter handler.
7266         (gl_PREREQ_READ): New macro.
7267         * modules/read (Depends-on): Add msvc-inval.
7268         (configure.ac): Invoke gl_PREREQ_READ.
7269         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7270
7271 2011-09-23  Bruno Haible  <bruno@clisp.org>
7272
7273         close: Support for MSVC 9.
7274         * lib/close.c: Include <errno.h>, msvc-inval.h.
7275         (close_nothrow): New function.
7276         (rpl_close): Use it.
7277         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7278         invalid parameter handler.
7279         * modules/close (Depends-on): Add msvc-inval.
7280         * modules/dup2-tests (Depends-on): Add close.
7281         * modules/dup3-tests (Depends-on): Likewise.
7282         * modules/fcntl-tests (Depends-on): Likewise.
7283         * modules/spawn-pipe-tests (Depends-on): Likewise.
7284         * modules/unistd-safer-tests (Depends-on): Likewise.
7285         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7286
7287 2011-09-23  Bruno Haible  <bruno@clisp.org>
7288
7289         New module 'dup'.
7290         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7291         Allow replacement.
7292         * lib/dup.c: New file.
7293         * lib/fchdir.c (rpl_dup): Remove function.
7294         * m4/dup.m4: New file.
7295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7296         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7297         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7298         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7299         * modules/dup: New file.
7300         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7301         'dup' module is in use.
7302         * modules/fdopendir (Depends-on): Add dup.
7303         * modules/fdutimensat-tests (Depends-on): Likewise.
7304         * modules/fts (Depends-on): Likewise.
7305         * modules/futimens-tests (Depends-on): Likewise.
7306         * modules/posix_spawnp-tests (Depends-on): Likewise.
7307         * modules/unistd-safer-tests (Depends-on): Likewise.
7308         * modules/utimens-tests (Depends-on): Likewise.
7309         * doc/posix-functions/dup.texi: Mention the new module and the problem
7310         on MSVC.
7311
7312 2011-09-23  Bruno Haible  <bruno@clisp.org>
7313
7314         getdtablesize: Support for MSVC 9.
7315         * lib/getdtablesize.c: Include msvc-inval.h.
7316         (_setmaxstdio_nothrow): New function.
7317         (_setmaxstdio): Redefine it.
7318         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7319         * modules/getdtablesize (Depends-on): Add msvc-inval.
7320         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7321
7322 2011-09-23  Bruno Haible  <bruno@clisp.org>
7323
7324         signal-h: Rename from signal.
7325         * modules/signal-h: Renamed from modules/signal.
7326         * modules/pthread_sigmask (Depends-on): Update.
7327         * modules/raise (Depends-on): Likewise.
7328         * modules/sigaction (Depends-on): Likewise.
7329         * modules/sigpipe (Depends-on): Likewise.
7330         * modules/sigprocmask (Depends-on): Likewise.
7331         * modules/sys_select (Depends-on): Likewise.
7332         * modules/signal-h-tests: Renamed from modules/signal-tests.
7333         (Files, Depends-on, Makefile.am): Update.
7334         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7335         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7336         (Files, Makefile.am): Update.
7337         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7338         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7339         * modules/signal: New placeholder file.
7340         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7341         * doc/posix-headers/signal.texi: Update.
7342         * NEWS: Mention the change.
7343
7344 2011-09-23  Bruno Haible  <bruno@clisp.org>
7345
7346         sigprocmask: Avoid crashes through signal() on MSVC 9.
7347         * lib/sigprocmask.c: Include msvc-inval.h.
7348         (signal_nothrow): New function.
7349         (signal): Redefine it.
7350         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7351         * modules/sigprocmask (Depends-on): Add msvc-inval.
7352         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7353
7354 2011-09-23  Bruno Haible  <bruno@clisp.org>
7355
7356         Tests for module 'raise'.
7357         * modules/raise-tests: New file.
7358         * tests/test-raise.c: New file.
7359
7360         raise: Support for MSVC.
7361         * lib/signal.in.h (raise): New declaration.
7362         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7363         for native Windows platforms.
7364         * m4/raise.m4: New file.
7365         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7366         HAVE_RAISE, REPLACE_RAISE.
7367         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7368         REPLACE_RAISE.
7369         * modules/raise (Status, Notice): Remove fields.
7370         (Files): Add m4/raise.m4.
7371         (Depends-on): Add signal, msvc-inval.
7372         (configure.ac): Use the common idioms.
7373         (Maintainer): Add me.
7374         * tests/test-signal-c++.cc: Check the signature of raise.
7375         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7376
7377 2011-09-23  Bruno Haible  <bruno@clisp.org>
7378
7379         pipe2: Fix compilation on pre-C99 compilers.
7380         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7381
7382 2011-09-23  Bruno Haible  <bruno@clisp.org>
7383
7384         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7385         * lib/msvc-nothrow.h: New file.
7386         * lib/msvc-nothrow.c: New file.
7387         * m4/msvc-nothrow.m4: New file.
7388         * modules/msvc-nothrow: New file.
7389         * lib/dup2.c: Include msvc-nothrow.h.
7390         (rpl_dup2): No need to protect _get_osfhandle call here.
7391         * lib/accept4.c: Include msvc-nothrow.h.
7392         * lib/error.c: Likewise.
7393         * lib/fcntl.c: Likewise.
7394         * lib/lseek.c: Likewise.
7395         * lib/nonblocking.c: Likewise.
7396         * lib/poll.c: Likewise.
7397         * lib/read.c: Likewise.
7398         * lib/select.c: Likewise.
7399         * lib/sockets.h: Likewise.
7400         * lib/sockets.c: Likewise.
7401         * lib/stdio-read.c: Likewise.
7402         * lib/stdio-write.c: Likewise.
7403         * lib/write.c: Likewise.
7404         * lib/w32sock.h: Likewise.
7405         * lib/w32spawn.h: Likewise.
7406         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7407         * lib/fsync.c: Likewise.
7408         * lib/isapipe.c: Likewise.
7409         * modules/dup2 (Depends-on): Add msvc-nothrow.
7410         * modules/accept4 (Depends-on): Likewise.
7411         * modules/error (Depends-on): Likewise.
7412         * modules/fcntl (Depends-on): Likewise.
7413         * modules/lseek (Depends-on): Likewise.
7414         * modules/nonblocking (Depends-on): Likewise.
7415         * modules/poll (Depends-on): Likewise.
7416         * modules/read (Depends-on): Likewise.
7417         * modules/select (Depends-on): Likewise.
7418         * modules/sockets (Depends-on): Likewise.
7419         * modules/sigpipe (Depends-on): Likewise.
7420         * modules/write (Depends-on): Likewise.
7421         * modules/accept (Depends-on): Likewise.
7422         * modules/bind (Depends-on): Likewise.
7423         * modules/connect (Depends-on): Likewise.
7424         * modules/gethostname (Depends-on): Likewise.
7425         * modules/getpeername (Depends-on): Likewise.
7426         * modules/getsockname (Depends-on): Likewise.
7427         * modules/getsockopt (Depends-on): Likewise.
7428         * modules/ioctl (Depends-on): Likewise.
7429         * modules/listen (Depends-on): Likewise.
7430         * modules/recv (Depends-on): Likewise.
7431         * modules/recvfrom (Depends-on): Likewise.
7432         * modules/send (Depends-on): Likewise.
7433         * modules/sendto (Depends-on): Likewise.
7434         * modules/setsockopt (Depends-on): Likewise.
7435         * modules/shutdown (Depends-on): Likewise.
7436         * modules/socket (Depends-on): Likewise.
7437         * modules/execute (Depends-on): Likewise.
7438         * modules/spawn-pipe (Depends-on): Likewise.
7439         * modules/flock (Depends-on): Likewise.
7440         * modules/fsync (Depends-on): Likewise.
7441         * modules/isapipe (Depends-on): Likewise.
7442         * tests/test-cloexec.c: Include msvc-nothrow.h.
7443         * tests/test-dup-safer.c: Likewise.
7444         * tests/test-dup2.c: Likewise.
7445         * tests/test-dup3.c: Likewise.
7446         * tests/test-fcntl.c: Likewise.
7447         * tests/test-pipe.c: Likewise.
7448         * tests/test-pipe2.c: Likewise.
7449         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7450         * modules/unistd-safer-tests (Depends-on): Likewise.
7451         * modules/dup2-tests (Depends-on): Likewise.
7452         * modules/dup3-tests (Depends-on): Likewise.
7453         * modules/fcntl-tests (Depends-on): Likewise.
7454         * modules/pipe-posix-tests (Depends-on): Likewise.
7455         * modules/pipe2-tests (Depends-on): Likewise.
7456
7457 2011-09-23  Bruno Haible  <bruno@clisp.org>
7458
7459         dup2: Make code more maintainable.
7460         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7461         (rpl_dup2): Use it.
7462         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7463         * modules/dup2 (configure.ac): Invoke it.
7464         Reported by Paul Eggert.
7465
7466 2011-09-23  Bruno Haible  <bruno@clisp.org>
7467
7468         msvc-inval: Fix compilation error.
7469         * lib/msvc-inval.h: Include <excpt.h>.
7470
7471 2011-09-23  Bruno Haible  <bruno@clisp.org>
7472
7473         mkdir: Tweak for MSVC 9.
7474         * lib/sys_stat.in.h: Update comments.
7475         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7476
7477         Tests for module 'chdir'.
7478         * modules/chdir-tests: New file.
7479         * tests/test-chdir.c: New file.
7480
7481         New module 'chdir'.
7482         * modules/chdir: New file.
7483         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7484         (chdir): New declaration.
7485         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7486         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7487         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7488         * tests/test-unistd-c++.cc: Check signature of chdir.
7489         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7490         * modules/chdir-long (Depends-on): Add chdir.
7491         * modules/fchdir (Depends-on): Likewise.
7492         * modules/rename (Depends-on): Likewise.
7493         * modules/savewd (Depends-on): Likewise.
7494
7495         rmdir: Support for mingw, MSVC 9.
7496         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7497         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7498
7499         getcwd: Tweak for MSVC 9.
7500         * lib/unistd.in.h: Update comments.
7501         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7502
7503 2011-09-22  Bruno Haible  <bruno@clisp.org>
7504
7505         strerror_r-posix: Avoid a link error on MSVC.
7506         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7507         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7508
7509 2011-09-22  Bruno Haible  <bruno@clisp.org>
7510
7511         select: Avoid link errors on MSVC.
7512         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7513         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7514         * modules/pselect (Link): Likewise.
7515         * NEWS: Mention the change.
7516         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7517         test-select-stdin against $(LIB_SELECT).
7518         * modules/pselect-tests (Makefile.am): Link test-pselect against
7519         $(LIB_SELECT).
7520
7521 2011-09-22  Bruno Haible  <bruno@clisp.org>
7522
7523         select: Avoid compilation error on MSVC.
7524         * lib/select.c: Don't include <stdbool.h>.
7525
7526 2011-09-21  Bruno Haible  <bruno@clisp.org>
7527
7528         Consolidate all uses of PATH_MAX in *.m4 files.
7529         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7530         macros.
7531         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7532         and gl_PATHMAX_SNIPPET.
7533         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7534         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7535         * modules/chdir-long (Files): Add m4/pathmax.m4.
7536         * modules/getcwd (Files): Likewise.
7537
7538 2011-09-21  Bruno Haible  <bruno@clisp.org>
7539
7540         ftruncate: Un-deprecate, concentrate on Win32 support.
7541         * modules/ftruncate (Status, Notice): Remove sections.
7542         (Depends-on): Add largefile.
7543         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7544         non-mingw platforms.
7545         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7546         include <io.h>.
7547         * modules/perror-tests (Depends-on): Add ftruncate.
7548         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7549         'ftruncate' module.
7550
7551 2011-09-21  Bruno Haible  <bruno@clisp.org>
7552
7553         Add dependencies to new dirent related modules.
7554         * modules/opendir (Depends-on): Add closedir.
7555         * modules/getcwd (Depends-on): Add opendir, closedir.
7556         * modules/dirent-safer-tests (Depends-on): Likewise.
7557         * modules/fdopendir-tests (Depends-on): Likewise.
7558         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7559         * modules/renameat-tests (Depends-on): Likewise.
7560
7561 2011-09-21  Bruno Haible  <bruno@clisp.org>
7562
7563         opendir: Avoid compilation error on mingw.
7564         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7565         * modules/opendir (Depends-on): Add unistd.
7566
7567 2011-09-21  Bruno Haible  <bruno@clisp.org>
7568
7569         ftruncate tests: Avoid a test failure on mingw.
7570         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7571
7572 2011-09-21  Bruno Haible  <bruno@clisp.org>
7573
7574         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7575         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7576         native Windows.
7577
7578 2011-09-21  Bruno Haible  <bruno@clisp.org>
7579
7580         New module 'fdopen'.
7581         * lib/stdio.in.h (fdopen): New declaration.
7582         * lib/fdopen.c: New file.
7583         * m4/fdopen.m4: New file.
7584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7585         REPLACE_FDOPEN.
7586         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7587         REPLACE_FDOPEN.
7588         * modules/fdopen: New file.
7589         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7590         * tests/test-stdio-c++.cc: Check signature of fdopen.
7591         * doc/posix-functions/fdopen.texi: Mention the new module.
7592
7593 2011-09-21  Bruno Haible  <bruno@clisp.org>
7594
7595         unlockpt tests: Avoid test failure on NetBSD 5.1.
7596         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7597         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7598
7599 2011-09-21  Bruno Haible  <bruno@clisp.org>
7600
7601         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7602         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7603         * tests/test-getlogin_r.c (main): Likewise.
7604
7605 2011-09-20  Bruno Haible  <bruno@clisp.org>
7606
7607         time tests: Don't require pid_t.
7608         * doc/posix-headers/time.texi: Revert last change.
7609         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7610         * tests/test-time.c: Comment out the check for pid_t.
7611
7612 2011-09-20  Bruno Haible  <bruno@clisp.org>
7613
7614         fsync tests: Avoid a test failure on mingw.
7615         * tests/test-fsync.c (main): Allow a failure with EIO.
7616
7617 2011-09-20  Bruno Haible  <bruno@clisp.org>
7618
7619         euidaccess: Update comments.
7620         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7621
7622 2011-09-20  Bruno Haible  <bruno@clisp.org>
7623
7624         Ensure EBADF returns for socket functions on mingw.
7625         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7626         descriptor is invalid.
7627         * lib/bind.c (rpl_bind): Likewise.
7628         * lib/connect.c (rpl_connect): Likewise.
7629         * lib/getpeername.c (rpl_getpeername): Likewise.
7630         * lib/getsockname.c (rpl_getsockname): Likewise.
7631         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7632         * lib/listen.c (rpl_listen): Likewise.
7633         * lib/recv.c (rpl_recv): Likewise.
7634         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7635         * lib/send.c (rpl_send): Likewise.
7636         * lib/sendto.c (rpl_sendto): Likewise.
7637         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7638         * lib/shutdown.c (rpl_shutdown): Likewise.
7639
7640 2011-09-20  Bruno Haible  <bruno@clisp.org>
7641
7642         select tests: EBADF tests.
7643         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7644         test_bad_fd): New functions.
7645         (test_function): Invoke also test_bad_fd.
7646
7647 2011-09-20  Bruno Haible  <bruno@clisp.org>
7648
7649         Tests for module 'posix_spawn_file_actions_addopen.
7650         * modules/posix_spawn_file_actions_addopen-tests: New file.
7651         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7652
7653         Tests for module 'posix_spawn_file_actions_adddup2'.
7654         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7655         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7656
7657         Tests for module 'posix_spawn_file_actions_addclose'.
7658         * modules/posix_spawn_file_actions_addclose-tests: New file.
7659         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7660
7661 2011-09-20  Bruno Haible  <bruno@clisp.org>
7662
7663         Tests for module 'unlockpt'.
7664         * modules/unlockpt-tests: New file.
7665         * tests/test-unlockpt.c: New file.
7666         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7667
7668         Tests for module 'grantpt'.
7669         * modules/grantpt-tests: New file.
7670         * tests/test-grantpt.c: New file.
7671         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7672
7673 2011-09-20  Bruno Haible  <bruno@clisp.org>
7674
7675         freopen tests: EBADF tests.
7676         * tests/test-freopen.c: Include errno.h, unistd.h.
7677         (main): Add tests for EBADF, commented out for the moment.
7678
7679         fclose tests: EBADF tests.
7680         * tests/test-fclose.c (main): Add tests for EBADF.
7681
7682         fflush tests: EBADF tests.
7683         * tests/test-fflush.c: Include errno.h, macros.h.
7684         (main): Add tests for EBADF.
7685
7686         ftello tests: EBADF tests.
7687         * tests/test-ftello4.sh: New file.
7688         * tests/test-ftello4.c: New file.
7689         * modules/ftello-tests (Files): Add them.
7690         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7691
7692         fseeko tests: EBADF tests.
7693         * tests/test-fseeko4.sh: New file.
7694         * tests/test-fseeko4.c: New file.
7695         * modules/fseeko-tests (Files): Add them.
7696         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7697
7698         Tests for function fputc().
7699         * modules/fputc-tests: New file.
7700         * tests/test-fputc.c: New file.
7701         * modules/stdio-tests (Depends-on): Add fputc-tests.
7702
7703         Tests for function fgetc().
7704         * modules/fgetc-tests: New file.
7705         * tests/test-fgetc.c: New file.
7706         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7707
7708         Tests for function fdopen().
7709         * modules/fdopen-tests: New file.
7710         * tests/test-fdopen.c: New file.
7711         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7712
7713         Tests for module 'vdprintf'.
7714         * modules/vdprintf-tests: New file.
7715         * tests/test-vdprintf.c: New file.
7716
7717         Tests for module 'dprintf'.
7718         * modules/dprintf-tests: New file.
7719         * tests/test-dprintf.c: New file.
7720
7721 2011-09-20  Bruno Haible  <bruno@clisp.org>
7722
7723         Tests for module 'ioctl'.
7724         * modules/ioctl-tests: New file.
7725         * tests/test-ioctl.c: New file.
7726
7727 2011-09-20  Bruno Haible  <bruno@clisp.org>
7728
7729         fcntl tests: EBADF tests.
7730         * tests/test-fcntl.c (main): Add more tests for EBADF.
7731
7732 2011-09-20  Bruno Haible  <bruno@clisp.org>
7733
7734         utimensat tests: EBADF tests.
7735         * tests/test-utimensat.c (main): Add tests for EBADF.
7736
7737         renameat tests: EBADF tests.
7738         * tests/test-renameat.c (main): Add tests for EBADF.
7739
7740         mkfifoat tests: EBADF tests.
7741         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7742
7743         readlinkat tests: EBADF tests.
7744         * tests/test-readlinkat.c (main): Add tests for EBADF.
7745
7746         symlinkat tests: EBADF tests.
7747         * tests/test-symlinkat.c (main): Add tests for EBADF.
7748
7749         linkat tests: EBADF tests.
7750         * tests/test-linkat.c (main): Add tests for EBADF.
7751
7752         Tests for module 'faccessat'.
7753         * modules/faccessat-tests: New file.
7754         * tests/test-faccessat.c: New file.
7755
7756         fdopendir tests: EBADF tests.
7757         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7758
7759         openat tests: EBADF tests.
7760         * tests/test-fchownat.c (main): Add tests for EBADF.
7761         * tests/test-fstatat.c (main): Likewise.
7762         * tests/test-mkdirat.c (main): Likewise.
7763         * tests/test-openat.c (main): Likewise.
7764         * tests/test-unlinkat.c (main): Likewise.
7765         * tests/test-fchmodat.c: New file.
7766         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7767         (Makefile.am): Also run 'test-fchmodat'.
7768
7769 2011-09-20  Bruno Haible  <bruno@clisp.org>
7770
7771         utimens, futimens, fdutimensat tests: EBADF tests.
7772         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7773
7774         Tests for function fstat().
7775         * modules/fstat-tests: New file.
7776         * tests/test-fstat.c: New file.
7777         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7778
7779 2011-09-20  Bruno Haible  <bruno@clisp.org>
7780
7781         test-ttyname_r tests: EBADF tests.
7782         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7783
7784         Tests for module 'isatty'.
7785         * modules/isatty-tests: New file.
7786         * tests/test-isatty.c: New file.
7787
7788         Tests for module 'write'.
7789         * modules/write-tests: New file.
7790         * tests/test-write.c: New file.
7791
7792         Tests for module 'read'.
7793         * modules/read-tests: New file.
7794         * tests/test-read.c: New file.
7795
7796         pwrite tests: EBADF tests.
7797         * tests/test-pwrite.c (main): Add tests for EBADF.
7798
7799         pread tests: EBADF tests.
7800         * tests/test-pread.c (main): Add tests for EBADF.
7801
7802         lseek tests: EBADF tests.
7803         * tests/test-lseek.c (main): Add more tests for EBADF.
7804
7805         Tests for module 'ftruncate'.
7806         * modules/ftruncate-tests: New file.
7807         * tests/test-ftruncate.sh: New file.
7808         * tests/test-ftruncate.c: New file.
7809
7810         fsync tests: EBADF tests.
7811         * tests/test-fsync.c (main): Add more tests for EBADF.
7812
7813         fdatasync tests: EBADF tests.
7814         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7815
7816         Tests for module 'fchown'.
7817         * modules/fchown-tests: New file.
7818         * tests/test-fchown.c: New file.
7819
7820         Tests for module 'fchmod'.
7821         * modules/fchmod-tests: New file.
7822         * tests/test-fchmod.c: New file.
7823
7824         fchdir tests: EBADF tests.
7825         * tests/test-fchdir.c (main): Add more tests for EBADF.
7826
7827         dup2 tests: EBADF tests.
7828         * tests/test-dup2.c (main): Add more tests for EBADF.
7829
7830         Tests for module 'dup'.
7831         * modules/dup-tests: New file.
7832         * tests/test-dup.c: New file.
7833
7834         Tests for module 'close'.
7835         * modules/close-tests: New file.
7836         * tests/test-close.c: New file.
7837
7838 2011-09-20  Bruno Haible  <bruno@clisp.org>
7839
7840         Tests for module 'shutdown'.
7841         * modules/shutdown-tests: New file.
7842         * tests/test-shutdown.c: New file.
7843
7844         Tests for module 'setsockopt'.
7845         * modules/setsockopt-tests: New file.
7846         * tests/test-setsockopt.c: New file.
7847
7848         Tests for module 'sendto'.
7849         * modules/sendto-tests: New file.
7850         * tests/test-sendto.c: New file.
7851
7852         Tests for module 'send'.
7853         * modules/send-tests: New file.
7854         * tests/test-send.c: New file.
7855
7856         Tests for module 'recvfrom'.
7857         * modules/recvfrom-tests: New file.
7858         * tests/test-recvfrom.c: New file.
7859
7860         Tests for module 'recv'.
7861         * modules/recv-tests: New file.
7862         * tests/test-recv.c: New file.
7863
7864         Tests for module 'listen'.
7865         * modules/listen-tests: New file.
7866         * tests/test-listen.c: New file.
7867
7868         Tests for module 'getsockopt'.
7869         * modules/getsockopt-tests: New file.
7870         * tests/test-getsockopt.c: New file.
7871
7872         Tests for module 'getsockname'.
7873         * modules/getsockname-tests: New file.
7874         * tests/test-getsockname.c: New file.
7875
7876         Tests for module 'getpeername'.
7877         * modules/getpeername-tests: New file.
7878         * tests/test-getpeername.c: New file.
7879
7880         Tests for module 'connect'.
7881         * modules/connect-tests: New file.
7882         * tests/test-connect.c: New file.
7883
7884         Tests for module 'bind'.
7885         * modules/bind-tests: New file.
7886         * tests/test-bind.c: New file.
7887
7888         accept4 tests: Fix for native Windows.
7889         * tests/test-accept4.c: Include sockets.h.
7890         (main): Invoke gl_sockets_startup.
7891         * modules/accept4-tests (Depends-on): Add sockets.
7892
7893         accept tests: Fix for native Windows.
7894         * tests/test-accept.c: Include sockets.h.
7895         (main): Invoke gl_sockets_startup.
7896         * modules/accept-tests (Depends-on): Add sockets.
7897
7898 2011-09-19  Bruno Haible  <bruno@clisp.org>
7899
7900         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7901         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7902         do...while(0).
7903         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7904         Suggested by Paul Eggert.
7905
7906 2011-09-19  Bruno Haible  <bruno@clisp.org>
7907
7908         sched: Ensure pid_t is defined.
7909         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7910         not define pid_t.
7911         * lib/sched.in.h: Include <sys/types.h>.
7912         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7913         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7914
7915 2011-09-19  Bruno Haible  <bruno@clisp.org>
7916
7917         msvc-inval: Ensure the entire expansion is a single statement.
7918         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7919         of braces.
7920
7921 2011-09-19  Jim Meyering  <meyering@redhat.com>
7922
7923         tests: use printf, not echo in init.sh's warn_ function
7924         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7925         misbehave when given strings containing a backslash or starting
7926         with e.g., -n.  James Youngman suggested setting IFS.
7927
7928 2011-09-19  Eric Blake  <eblake@redhat.com>
7929
7930         futimens: enhance test
7931         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7932         closed non-negative fd.
7933
7934         date: accept 'hence' as opposite of 'ago'
7935         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7936         * tests/test-parse-datetime.c (main): Enhance test.
7937         Suggested by Jesse Wilson.
7938
7939 2011-09-19  Jim Meyering  <meyering@redhat.com>
7940
7941         getcwd: don't fail in a deep directory on a system without openat
7942         Before this change, getcwd would fail when called from a directory
7943         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7944         the non-openat implementation used "..", "../..", "../../..", etc.
7945         to access ancestor directories.  With too many, that string would
7946         be longer than PATH_MAX.
7947         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7948         using gnulib's openat replacement.
7949         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7950         we're using the replacement function.
7951
7952 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7953
7954         maint.mk: avoid warnings from perl about missing files
7955         * top/maint.mk (def_sym_regex): Ignore files listed in
7956         $(gl_other_headers_) that do not exist, say because a project
7957         does not use a corresponding module.
7958
7959 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7960
7961         stat: use pathmax.h only if needed
7962         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7963         This is better for Emacs, which does not have a mingw port and
7964         therefore can avoid the pathmax module.
7965
7966         utimens: remove dependency on dup2
7967         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7968         to work around the Linux kernel bug.
7969         * modules/utimens (Depends-on): Remove dup2.
7970
7971 2011-09-18  Bruno Haible  <bruno@clisp.org>
7972
7973         inet_ntop, inet_pton: Look for it also in libresolv.
7974         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7975         libnsl, search for it in libresolv.
7976         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7977         Needed on Solaris 7.
7978
7979 2011-09-18  Bruno Haible  <bruno@clisp.org>
7980
7981         accept, accept4 tests: Avoid link error on Solaris.
7982         * modules/accept-tests (Makefile.am): Link test-accept against
7983         $(LIBSOCKET).
7984         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7985         $(LIBSOCKET).
7986
7987         accept4: Avoid link error on Solaris.
7988         * modules/accept4 (Link): New section.
7989
7990         socket functions: Avoid link errors on Solaris.
7991         * modules/accept (Depends-on): Add socketlib.
7992         (Link): New section.
7993         * modules/bind (Depends-on): Add socketlib.
7994         (Link): New section.
7995         * modules/connect (Depends-on): Add socketlib.
7996         (Link): New section.
7997         * modules/getpeername (Depends-on): Add socketlib.
7998         (Link): New section.
7999         * modules/getsockname (Depends-on): Add socketlib.
8000         (Link): New section.
8001         * modules/getsockopt (Depends-on): Add socketlib.
8002         (Link): New section.
8003         * modules/listen (Depends-on): Add socketlib.
8004         (Link): New section.
8005         * modules/recv (Depends-on): Add socketlib.
8006         (Link): New section.
8007         * modules/recvfrom (Depends-on): Add socketlib.
8008         (Link): New section.
8009         * modules/send (Depends-on): Add socketlib.
8010         (Link): New section.
8011         * modules/sendto (Depends-on): Add socketlib.
8012         (Link): New section.
8013         * modules/setsockopt (Depends-on): Add socketlib.
8014         (Link): New section.
8015         * modules/shutdown (Depends-on): Add socketlib.
8016         (Link): New section.
8017         * modules/socket (Depends-on): Add socketlib.
8018         (Link): New section.
8019
8020 2011-09-18  Bruno Haible  <bruno@clisp.org>
8021
8022         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8023         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8024         than 5 seconds.
8025         * modules/ptsname-tests (configure.ac): Test for alarm.
8026
8027 2011-09-18  Bruno Haible  <bruno@clisp.org>
8028
8029         posix_spawn_file_actions_add*: Fix module dependencies.
8030         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8031         posix_spawn_file_actions_init.
8032         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8033         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8034
8035 2011-09-18  Bruno Haible  <bruno@clisp.org>
8036
8037         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8038         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8039         * tests/test-renameat.c (main): Likewise.
8040
8041 2011-09-18  Bruno Haible  <bruno@clisp.org>
8042
8043         Tests for module 'accept4'.
8044         * modules/accept4-tests: New file.
8045         * tests/test-accept4.c: New file.
8046
8047 2011-09-18  Bruno Haible  <bruno@clisp.org>
8048
8049         Tests for module 'accept'.
8050         * modules/accept-tests: New file.
8051         * tests/test-accept.c: New file.
8052
8053 2011-09-18  Bruno Haible  <bruno@clisp.org>
8054
8055         dup2: Support for MSVC.
8056         * lib/dup2.c: Include msvc-inval.h.
8057         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8058         _get_osfhandle calls.
8059         * modules/dup2 (Depends-on): Add msvc-inval.
8060         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8061
8062         New module 'msvc-inval'.
8063         * lib/msvc-inval.h: New file.
8064         * lib/msvc-inval.c: New file.
8065         * m4/msvc-inval.m4: New file.
8066         * modules/msvc-inval: New file.
8067
8068 2011-09-17  Bruno Haible  <bruno@clisp.org>
8069
8070         Tests for module 'pclose'.
8071         * modules/pclose-tests: New file.
8072
8073         New module 'pclose'.
8074         * lib/stdio.in.h (pclose): New declaration.
8075         * lib/pclose.c: New file.
8076         * m4/pclose.m4: New file.
8077         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8078         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8079         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8080         * modules/pclose: New file.
8081         * modules/popen-tests (Depends-on): Add pclose.
8082         * modules/popen-safer-tests (Depends-on): Likewise.
8083         * doc/posix-functions/pclose.texi: Mention the new module.
8084
8085 2011-09-17  Bruno Haible  <bruno@clisp.org>
8086
8087         popen: Support for MSVC.
8088         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8089         * lib/popen.c (popen): Provide alternate definition for native Windows.
8090         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8092         * modules/popen (Depends-on, configure.ac): Update condition.
8093         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8094         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8095         fixed.
8096
8097 2011-09-17  Bruno Haible  <bruno@clisp.org>
8098
8099         isnanl, isnand, isnanf: Work around MSVC bug.
8100         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8101
8102 2011-09-17  Bruno Haible  <bruno@clisp.org>
8103
8104         sys_socket tests: Fix recent mistake.
8105         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8106
8107 2011-09-17  Bruno Haible  <bruno@clisp.org>
8108
8109         putenv: Support for MSVC.
8110         * modules/putenv (Depends-on): Add environ.
8111         * lib/putenv.c (environ): Disable declaration.
8112         * lib/unistd.in.h: Update comment.
8113
8114 2011-09-17  Bruno Haible  <bruno@clisp.org>
8115
8116         math: Avoid macro redefinition warnings on MSVC.
8117         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8118         Undefine before redefining.
8119
8120 2011-09-17  Bruno Haible  <bruno@clisp.org>
8121
8122         doc: Mention functions which are declared as macros.
8123         * doc/posix-functions/*[fl].texi: Mention that some functions are
8124         defined as macros with arguments only.
8125
8126 2011-09-17  Bruno Haible  <bruno@clisp.org>
8127
8128         Add dependencies to new dirent related modules.
8129         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8130         * modules/fts (Depends-on): Likewise.
8131         * modules/glob (Depends-on): Likewise.
8132         * modules/savedir (Depends-on): Likewise.
8133         * modules/scandir (Depends-on): Likewise.
8134         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8135         * modules/fdopendir (Depends-on): Add opendir.
8136
8137 2011-09-17  Bruno Haible  <bruno@clisp.org>
8138
8139         inet_pton: Support for MSVC on Windows Vista or newer.
8140         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8141         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8142         HAVE_DECL_INET_PTON is defined.
8143         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8144         On platforms with <winsock2.h>, test whether inet_pton is declared in
8145         <ws2tcpip.h>. If so, arrange to replace it.
8146         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8147         REPLACE_INET_PTON.
8148         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8149         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8150         (Depends-on, configure.ac): Update condition.
8151         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8152
8153 2011-09-17  Bruno Haible  <bruno@clisp.org>
8154
8155         inet_ntop: Support for MSVC on Windows Vista or newer.
8156         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8157         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8158         HAVE_DECL_INET_NTOP is defined.
8159         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8160         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8161         <ws2tcpip.h>. If so, arrange to replace it.
8162         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8163         REPLACE_INET_NTOP.
8164         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8165         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8166         (Depends-on, configure.ac): Update condition.
8167         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8168
8169 2011-09-16  Eric Blake  <eblake@redhat.com>
8170
8171         test-fsync: yet another enhancement
8172         * tests/test-fsync.c (main): Also test behavior on read-only text
8173         file.
8174
8175 2011-09-16  Bruno Haible  <bruno@clisp.org>
8176
8177         Enhance fsync, fdatasync tests.
8178         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8179         * tests/test-fdatasync.c (main): Likewise.
8180
8181 2011-09-16  Bruno Haible  <bruno@clisp.org>
8182
8183         Support for MSVC compiler: Ensure mode_t gets defined.
8184         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8185         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8186         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8187         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8188         * tests/test-fcntl-h.c: Check that mode_t is defined.
8189         * tests/test-sys_stat.c: Likewise.
8190         * tests/test-sys_types.c: Likewise.
8191         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8192         * doc/posix-headers/sys_stat.texi: Likewise.
8193         * doc/posix-headers/sys_types.texi: Likewise.
8194
8195 2011-09-16  Bruno Haible  <bruno@clisp.org>
8196
8197         sys_stat: Support for MSVC.
8198         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8199         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8200         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8201         MSVC.
8202
8203 2011-09-16  Bruno Haible  <bruno@clisp.org>
8204
8205         Support for MSVC compiler: Ensure off_t gets defined.
8206         * lib/unistd.in.h: Include <sys/types.h>.
8207         * tests/test-fcntl-h.c: Check that off_t is defined.
8208         * tests/test-sys_stat.c: Likewise.
8209         * tests/test-sys_types.c: Likewise.
8210
8211 2011-09-16  Eric Blake  <eblake@redhat.com>
8212
8213         fdatasync: port to Solaris
8214         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8215         * modules/fdatasync (Link): Document it.
8216         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8217
8218         fdatasync: port to MacOS X 10.7
8219         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8220         declared.
8221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8222         * modules/unistd (Makefile.am): Substitute it.
8223         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8224         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8225
8226         fdatasync: minor improvements
8227         * modules/fdatasync (Depends-on): Add condition for fsync.
8228         * lib/fdatasync.c (fdatasync): Add comment.
8229         * tests/test-unistd-c++.cc: Test fdatasync.
8230
8231         unistd: update refs to newer POSIX
8232         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8233         Suggested by Bruno Haible.
8234
8235         fdatasync: new module
8236         * modules/fsync (Description): Document difference to fdatasync.
8237         * modules/fdatasync: New module.
8238         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8239         * lib/fdatasync.c (fdatasync): Likewise.
8240         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8241         defaults.
8242         * modules/unistd (Makefile.am): Set witnesses.
8243         * lib/unistd.in.h (fdatasync): Declare.
8244         * MODULES.html.sh: Document it.
8245         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8246         * modules/fdatasync-tests: New test.
8247         * tests/test-fdatasync.c: Likewise.
8248
8249 2011-09-16  Eric Blake  <eblake@redhat.com>
8250
8251         test-fsync: enhance tests
8252         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8253         * tests/test-fsync.c (main): Enhance test.
8254
8255 2011-09-15  Bruno Haible  <bruno@clisp.org>
8256
8257         Support for MSVC compiler: Ensure ssize_t gets defined.
8258         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8259         * doc/posix-headers/stdio.texi: Likewise.
8260         * modules/stdio (Depends-on): Add ssize_t.
8261         * modules/sys_socket (Depends-on): Likewise.
8262         * modules/sys_types (Depends-on): Likewise.
8263         * modules/sys_uio (Depends-on): Likewise.
8264         * modules/unistd (Depends-on): Likewise.
8265         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8266         * tests/test-sys_types.c: Check that ssize_t is defined.
8267
8268 2011-09-14  Bruno Haible  <bruno@clisp.org>
8269
8270         Avoid using #, the m4 comment starter character, near brackets.
8271         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8272         delimiter character in sed expressions.
8273         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8274         Suggested by Eric Blake.
8275
8276         Properly quote AC_CHECK_DECLS' 4th argument.
8277         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8278         argument.
8279         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8280         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8281         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8282         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8283         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8284         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8285         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8286         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8287         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8288         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8289         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8290         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8291         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8292         * m4/isinf.m4 (gl_ISINF): Likewise.
8293         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8294         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8295         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8296         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8297         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8298         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8299         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8300         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8301         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8302         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8303         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8304         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8305         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8306         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8307         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8308         Reported by Eric Blake.
8309
8310         Properly quote AC_CHECK_DECL's 4th argument.
8311         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8312         argument.
8313         * m4/argp.m4 (gl_ARGP): Likewise.
8314         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8315         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8316         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8317         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8318         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8319         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8320         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8321         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8322         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8323         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8324         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8325         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8326         Reported by Eric Blake.
8327
8328 2011-09-14  Eric Blake  <eblake@redhat.com>
8329
8330         opendir: avoid compile warning
8331         * lib/opendir.c (includes): Always include errno.h.
8332         Reported by Tatsuro MATSUOKA.
8333
8334 2011-09-14  Jim Meyering  <meyering@redhat.com>
8335
8336         maint.mk: sc_tight_scope: propagate failure from sub-make
8337         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8338         Reported by Martin von Gagern.
8339
8340 2011-09-13  Bruno Haible  <bruno@clisp.org>
8341
8342         tempname: Support for MSVC.
8343         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8344         MSVC.
8345         * modules/tempname (Depends-on): Add fcntl-h.
8346
8347 2011-09-13  Bruno Haible  <bruno@clisp.org>
8348
8349         sys_time: Support for MSVC.
8350         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8351         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8352         include <winsock2.h>.
8353         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8354         function declarations that collide with POSIX.
8355         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8356         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8357
8358 2011-09-13  Bruno Haible  <bruno@clisp.org>
8359
8360         stat: Support for MSVC.
8361         * lib/stat.c: Include pathmax.h.
8362         * modules/stat (Depends-on): Add pathmax.
8363
8364         pathmax: Support for native Windows.
8365         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8366
8367 2011-09-12  Bruno Haible  <bruno@clisp.org>
8368
8369         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8370         * lib/dirent.in.h (struct dirent): New type.
8371         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8372         DT_WHT): New macros.
8373         (DIR): New type.
8374         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8375         (readdir, rewinddir): New declarations.
8376         * lib/dirent-private.h: New file.
8377         * lib/opendir.c: New file.
8378         * lib/readdir.c: New file.
8379         * lib/rewinddir.c: New file.
8380         * lib/closedir.c: New file.
8381         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8382         * m4/opendir.m4: New file.
8383         * m4/readdir.m4: New file.
8384         * m4/rewinddir.m4: New file.
8385         * m4/closedir.m4: New file.
8386         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8387         REPLACE_CLOSEDIR here.
8388         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8389         readdir, rewinddir are declared.
8390         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8391         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8392         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8393         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8394         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8395         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8396         * modules/opendir: New file.
8397         * modules/readdir: New file.
8398         * modules/rewinddir: New file.
8399         * modules/closedir: New file.
8400         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8401         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8402         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8403         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8404         * NEWS: Mention the 'fchdir' change.
8405
8406 2011-09-11  Bruno Haible  <bruno@clisp.org>
8407
8408         asm-underscore.m4: Support for MSVC.
8409         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8410         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8411
8412 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8413
8414         Doc about crypt functions.
8415         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8416         needing for _GNU_SOURCE to get crypt.
8417         * doc/posix-functions/encrypt.texi: Likewise.
8418         * doc/posix-functions/setkey.texi: Likewise.
8419
8420 2011-09-11  Bruno Haible  <bruno@clisp.org>
8421
8422         doc: Update regarding MSVC 9.
8423         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8424         tested".
8425         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8426         * doc/posix-headers/*.texi: Likewise.
8427         * doc/pastposix-functions/*.texi: Likewise.
8428         * doc/glibc-functions/*.texi: Likewise.
8429         * doc/glibc-headers/*.texi: Likewise.
8430
8431 2011-09-11  Bruno Haible  <bruno@clisp.org>
8432
8433         unistd et al.: Don't assume <unistd.h> exists.
8434         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8435         does not exist.
8436         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8437         exist. But include <stdlib.h>.
8438         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8439         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8440         symlink() does not exist.
8441         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8442         include <io.h> instead.
8443         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8444         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8445         include <direct.h> instead.
8446         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8447         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8448         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8449         <io.h> instead.
8450         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8451         correctly if the system does not have hard links.
8452         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8453         <direct.h> instead.
8454         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8455         it when looking for function declarations.
8456         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8457         <direct.h> and <io.h> instead.
8458         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8459
8460 2011-09-11  Bruno Haible  <bruno@clisp.org>
8461
8462         strcase: Support for MSVC.
8463         * modules/strcase (Status, Notice): Remove obsoletion mark.
8464         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8465         * doc/posix-functions/strncasecmp.texi: Likewise.
8466
8467         strings: Don't assume <strings.h> exists.
8468         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8469         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8470         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8471         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8472
8473 2011-09-11  Bruno Haible  <bruno@clisp.org>
8474
8475         dirent: Don't assume <dirent.h> exists.
8476         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8477         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8478         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8479         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8480
8481 2011-09-11  Bruno Haible  <bruno@clisp.org>
8482
8483         Fix wint_t on MSVC.
8484         * lib/wchar.in.h (wint_t): On MSVC, override it.
8485         * lib/wctype.in.h (wint_t): Likewise.
8486         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8487         MSVC.
8488         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8489         * doc/posix-headers/wctype.texi: Likewise.
8490
8491 2011-09-11  Bruno Haible  <bruno@clisp.org>
8492
8493         sys_types: Fix typo.
8494         * lib/sys_types.in.h: Fix typo in comment.
8495         Reported by Paul Eggert.
8496
8497         Support for MSVC compiler: Ensure size_t gets defined.
8498         * modules/strings (Depends-on): Add 'sys_types'.
8499         * modules/sys_uio (Depends-on): Likewise.
8500         * lib/sys_uio.in.h: Update comment.
8501
8502         C++ tests for module 'sys_types'.
8503         * modules/sys_types-c++-tests: New file.
8504         * tests/test-sys_types-c++.cc: New file.
8505
8506         Tests for module 'sys_types'.
8507         * modules/sys_types-tests: New file.
8508         * tests/test-sys_types.c: New file.
8509
8510         New module 'sys_types'.
8511         * lib/sys_types.in.h: New file.
8512         * m4/sys_types_h.m4: New file.
8513         * modules/sys_types: New file.
8514         * doc/posix-headers/sys_types.texi: Mention the new module and the
8515         size_t problem on MSVC 9.
8516
8517 2011-09-11  Bruno Haible  <bruno@clisp.org>
8518
8519         Support for MSVC compiler: Avoid division by a literal 0.
8520         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8521         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8522         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8523         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8524         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8525         * tests/infinity.h: New file.
8526         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8527         on MSVC.
8528         * tests/test-ceilf1.c: Include infinity.h.
8529         (main): Use Infinityf.
8530         * tests/test-ceil1.c: Include infinity.h.
8531         (main): Use Infinityd.
8532         * tests/test-ceill.c: Include infinity.h.
8533         (main): Use Infinityl.
8534         * tests/test-dprintf-posix.c: Include infinity.h.
8535         (test_function): Use Infinityd.
8536         * tests/test-floorf1.c: Include infinity.h.
8537         (main): Use Infinityf.
8538         * tests/test-floor1.c: Include infinity.h.
8539         (main): Use Infinityd.
8540         * tests/test-floorl.c: Include infinity.h.
8541         (main): Use Infinityl.
8542         * tests/test-fprintf-posix.c: Include infinity.h.
8543         (test_function): Use Infinityd.
8544         * tests/test-frexp.c: Include infinity.h.
8545         (main): Use Infinityd.
8546         * tests/test-frexpl.c: Include infinity.h.
8547         (main): Use Infinityl.
8548         * tests/test-isfinite.c: Include infinity.h.
8549         (test_isfinitef): Use Infinityf.
8550         (test_isfinited): Use Infinityd.
8551         (test_isfinitel): Use Infinityl.
8552         * tests/test-isinf.c: Include infinity.h.
8553         (test_isinff): Use Infinityf.
8554         (test_isinfd): Use Infinityd.
8555         (test_isinfl): Use Infinityl.
8556         * tests/test-isnan.c: Include infinity.h.
8557         (test_float): Use Infinityf.
8558         (test_double): Use Infinityd.
8559         (test_long_double): Use Infinityl.
8560         * tests/test-isnanf.h: Include infinity.h.
8561         (main): Use Infinityf.
8562         * tests/test-isnand.h: Include infinity.h.
8563         (main): Use Infinityd.
8564         * tests/test-isnanl.h: Include infinity.h.
8565         (main): Use Infinityl.
8566         * tests/test-ldexpl.c: Include infinity.h.
8567         (main): Use Infinityl.
8568         * tests/test-printf-posix.h: Include infinity.h.
8569         (test_function): Use Infinityd.
8570         * tests/test-roundf1.c: Include infinity.h.
8571         (main): Use Infinityf.
8572         * tests/test-round1.c: Include infinity.h.
8573         (main): Use Infinityd.
8574         * tests/test-roundl.c: Include infinity.h.
8575         (main): Use Infinityl.
8576         * tests/test-signbit.c: Include infinity.h.
8577         (test_signbitf): Use Infinityf.
8578         (test_signbitd): Use Infinityd.
8579         (test_signbitl): Use Infinityl.
8580         * tests/test-snprintf-posix.h: Include infinity.h.
8581         (test_function): Use Infinityd, Infinityl.
8582         * tests/test-sprintf-posix.h: Include infinity.h.
8583         (test_function): Use Infinityd, Infinityl.
8584         * tests/test-truncf1.c: Include infinity.h.
8585         (main): Use Infinityf.
8586         * tests/test-trunc1.c: Include infinity.h.
8587         (main): Use Infinityd.
8588         * tests/test-truncl.c: Include infinity.h.
8589         (main): Use Infinityl.
8590         * tests/test-vasnprintf-posix.c: Include infinity.h.
8591         (test_function): Use Infinityd, Infinityl.
8592         * tests/test-vasprintf-posix.c: Include infinity.h.
8593         (test_function): Use Infinityd, Infinityl.
8594         * modules/ceilf-tests (Files): Add tests/infinity.h.
8595         * modules/ceil-tests (Files): Likewise.
8596         * modules/ceill-tests (Files): Likewise.
8597         * modules/dprintf-posix-tests (Files): Likewise.
8598         * modules/floorf-tests (Files): Likewise.
8599         * modules/floor-tests (Files): Likewise.
8600         * modules/floorl-tests (Files): Likewise.
8601         * modules/fprintf-posix-tests (Files): Likewise.
8602         * modules/frexp-tests (Files): Likewise.
8603         * modules/frexp-nolibm-tests (Files): Likewise.
8604         * modules/frexpl-tests (Files): Likewise.
8605         * modules/frexpl-nolibm-tests (Files): Likewise.
8606         * modules/isfinite-tests (Files): Likewise.
8607         * modules/isinf-tests (Files): Likewise.
8608         * modules/isnan-tests (Files): Likewise.
8609         * modules/isnanf-tests (Files): Likewise.
8610         * modules/isnanf-nolibm-tests (Files): Likewise.
8611         * modules/isnand-tests (Files): Likewise.
8612         * modules/isnand-nolibm-tests (Files): Likewise.
8613         * modules/isnanl-tests (Files): Likewise.
8614         * modules/isnanl-nolibm-tests (Files): Likewise.
8615         * modules/ldexpl-tests (Files): Likewise.
8616         * modules/printf-posix-tests (Files): Likewise.
8617         * modules/roundf-tests (Files): Likewise.
8618         * modules/round-tests (Files): Likewise.
8619         * modules/roundl-tests (Files): Likewise.
8620         * modules/signbit-tests (Files): Likewise.
8621         * modules/snprintf-posix-tests (Files): Likewise.
8622         * modules/sprintf-posix-tests (Files): Likewise.
8623         * modules/truncf-tests (Files): Likewise.
8624         * modules/trunc-tests (Files): Likewise.
8625         * modules/truncl-tests (Files): Likewise.
8626         * modules/vasnprintf-posix-tests (Files): Likewise.
8627         * modules/vasprintf-posix-tests (Files): Likewise.
8628         * modules/vdprintf-posix-tests (Files): Likewise.
8629         * modules/vfprintf-posix-tests (Files): Likewise.
8630         * modules/vprintf-posix-tests (Files): Likewise.
8631         * modules/vsnprintf-posix-tests (Files): Likewise.
8632         * modules/vsprintf-posix-tests (Files): Likewise.
8633         * modules/xprintf-posix-tests (Files): Likewise.
8634
8635 2011-09-11  Bruno Haible  <bruno@clisp.org>
8636
8637         Ensure pid_t gets defined.
8638         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8639         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8640         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8641         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8642         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8643         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8644         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8645         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8646         * tests/test-fcntl-h.c: Check that pid_t is defined.
8647         * tests/test-sched.c: Likewise.
8648         * tests/test-termios.c: Likewise.
8649         * tests/test-time.c: Likewise.
8650         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8651         * doc/posix-headers/signal.texi: Likewise.
8652         * doc/posix-headers/sys_types.texi: Likewise.
8653         * doc/posix-headers/time.texi: Likewise.
8654
8655 2011-09-11  Bruno Haible  <bruno@clisp.org>
8656
8657         acl: Fix compilation on Solaris 10 (older version).
8658         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8659         of ACE_EVERYONE.
8660         * lib/set-mode-acl.c (qset_acl): Likewise.
8661         Reported by Christian Jullien <eligis@orange.fr>.
8662
8663 2011-09-10  Bruno Haible  <bruno@clisp.org>
8664
8665         iconv, unsetenv: Add support for MSVC compiler.
8666         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8667         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8668
8669 2011-09-10  Bruno Haible  <bruno@clisp.org>
8670
8671         *printf: Add support for MSVC compiler.
8672         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8673         handles the exception caused by the %n directive. When cross-compiling,
8674         guess no on native Windows.
8675         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8676         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8677         emulate it through vsnprintf.
8678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8679         * doc/posix-functions/dprintf.texi: Update documentation regarding
8680         MSVC 9.
8681         * doc/posix-functions/fprintf.texi: Likewise.
8682         * doc/posix-functions/printf.texi: Likewise.
8683         * doc/posix-functions/snprintf.texi: Likewise.
8684         * doc/posix-functions/sprintf.texi: Likewise.
8685         * doc/posix-functions/swprintf.texi: Likewise.
8686         * doc/posix-functions/vdprintf.texi: Likewise.
8687         * doc/posix-functions/vfprintf.texi: Likewise.
8688         * doc/posix-functions/vprintf.texi: Likewise.
8689         * doc/posix-functions/vsnprintf.texi: Likewise.
8690         * doc/posix-functions/vsprintf.texi: Likewise.
8691         * doc/glibc-functions/asprintf.texi: Likewise.
8692         * doc/glibc-functions/obstack_printf.texi: Likewise.
8693         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8694         * doc/glibc-functions/vasprintf.texi: Likewise.
8695
8696 2011-09-10  Bruno Haible  <bruno@clisp.org>
8697
8698         nocrash: Add support for native Windows.
8699         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8700
8701 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8702             Bruno Haible  <bruno@clisp.org>
8703
8704         absolute-header, include-next: Add support for MSVC compiler.
8705         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8706         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8707         directory separator in #line directives.
8708         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8709         recognize also backslash as directory separator in #line directives.
8710
8711 2011-09-08  Jim Meyering  <meyering@redhat.com>
8712
8713         maint.mk: mark the post-release commit log with "maint: " prefix
8714         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8715         one-line commit-log summary.
8716
8717 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8718             Bruno Haible  <bruno@clisp.org>
8719
8720         Doc about crypt functions.
8721         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8722         systems.
8723         * doc/posix-functions/encrypt.texi: Likewise.
8724         * doc/posix-functions/setkey.texi: Likewise.
8725
8726 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8727
8728         * lib/gc.h: Fix copyright header.
8729
8730 2011-09-07  Bruno Haible  <bruno@clisp.org>
8731
8732         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8733         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8734         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8735
8736 2011-09-07  Bruno Haible  <bruno@clisp.org>
8737
8738         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8739         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8740         * lib/freopen.c: Likewise.
8741         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8742         * lib/lstat.c: Likewise.
8743         * lib/stat.c: Likewise.
8744         * lib/open.c: Use different syntax for include of <fcntl.h>.
8745         * lib/openat.c: Include fcntl.h again, explicitly.
8746
8747 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8748
8749         parse-datetime: document the newly accepted format
8750         * doc/parse-datetime.texi (Combined date and time of day items):
8751         New section.
8752
8753 2011-09-06  Bruno Haible  <bruno@clisp.org>
8754
8755         acl: Fix a test failure on newer Solaris 10 with ZFS.
8756         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8757         ENOSYS as no ACL.
8758         Reported by Jim Meyering.
8759
8760 2011-09-06  Bruno Haible  <bruno@clisp.org>
8761
8762         acl: Update for AIX >= 5.3 with NFS.
8763         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8764         ENOSYS as no ACL.
8765
8766         acl: Fix a test failure on AIX >= 5.3 with NFS.
8767         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8768         as no ACL.
8769
8770 2011-09-06  Bruno Haible  <bruno@clisp.org>
8771
8772         acl: Fix a test failure on IRIX 6.5 with NFS.
8773         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8774         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8775         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8776         * lib/copy-acl.c (qcopy_acl): Likewise.
8777
8778 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8779
8780         openat: port to AIX 7.1 with large files
8781         AIX 7.1 does a "#define openat open64at" if large files are in use,
8782         so we can't simply #undef openat.  Use the orig_openat trick (similar
8783         to orig_open in lib/open.c) to work around the problem.  Problem
8784         reported by Kevin Brott for GNU tar, in the thread containing
8785         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8786         * lib/openat.c (__need_system_fcntl_h): Define first.
8787         Include <fcntl.h> and <sys/types.h> before undefining.
8788         (orig_openat) [HAVE_OPENAT]: New inline function.
8789         (openat) [HAVE_OPENAT]: Do not undef.
8790         (rpl_openat): Use orig_openat, not openat.
8791
8792 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8793             Bruno Haible  <bruno@clisp.org>
8794
8795         acl: Avoid errors on NonStop Kernel.
8796         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8797         ENOTSUP errors.
8798
8799 2011-09-05  Bruno Haible  <bruno@clisp.org>
8800
8801         acl: Clean up Solaris code.
8802         * lib/acl-internal.h: Remove no-op #if.
8803         * lib/file-has-acl.c: Likewise.
8804         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8805         * lib/copy-acl.c (qcopy_acl): Likewise.
8806
8807 2011-09-05  Bruno Haible  <bruno@clisp.org>
8808
8809         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8810         binaries built on the original Solaris 10.
8811         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8812         trivial.
8813
8814 2011-09-05  Bruno Haible  <bruno@clisp.org>
8815
8816         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8817         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8818         10.
8819         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8820         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8821         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8822         instead of acl_get, facl_get, acl_set, facl_set.
8823
8824 2011-09-05  Bruno Haible  <bruno@clisp.org>
8825
8826         copy-file: Try unit tests on more file systems.
8827         * tests/test-copy-file-1.sh: New file.
8828         * tests/test-copy-file-2.sh: New file.
8829         * modules/copy-file-tests (Files): Add them.
8830         (Makefile.am): Add them to TESTS.
8831
8832         acl: Try unit tests on more file systems.
8833         * tests/test-file-has-acl-1.sh: New file.
8834         * tests/test-file-has-acl-2.sh: New file.
8835         * tests/test-set-mode-acl-1.sh: New file.
8836         * tests/test-set-mode-acl-2.sh: New file.
8837         * tests/test-copy-acl-1.sh: New file.
8838         * tests/test-copy-acl-2.sh: New file.
8839         * modules/acl-tests (Files): Add them.
8840         (Makefile.am): Add them to TESTS.
8841
8842 2011-09-04  Bruno Haible  <bruno@clisp.org>
8843
8844         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8845         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8846         10.
8847         (OLD_ALLOW, OLD_DENY): New macros.
8848         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8849         ACE_ACCESS_ALLOWED_ACE_TYPE.
8850         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8851         ACE_ACCESS_DENIED_ACE_TYPE.
8852         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8853         (NEW_ACE_EXECUTE): Fix value.
8854         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8855         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8856         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8857         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8858         NEW_ACE_SYNCHRONIZE): New macros.
8859         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8860         instead of acl_fromtext, acl_set, facl_set.
8861         Fixes a coreutils/tests/cp/perm failure.
8862
8863 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8864
8865         openat: test for fstatat (..., 0) bug
8866         Further testing with tar suggests that fstatat (..., 0)
8867         does not work in general, on AIX 7.1; see
8868         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8869         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8870         replacement fstatat (which is what older AIX releases were using
8871         anyway).
8872         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8873         use is now changed to orig_fstatat.  This was probably the right
8874         thing to do anyway.
8875         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8876         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8877         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8878         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8879         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8880         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8881         if the bug is found.
8882
8883         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8884         This tests for another fstatat bug on AIX 7.1:
8885         fstatat (AT_FDCWD, ..., 0) does not work.  See
8886         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8887         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8888         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8889         (rpl_fstatat): Adjust so that it works around either (or both)
8890         bugs if present.
8891         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8892
8893 2011-09-03  Karl Berry  <karl@gnu.org>
8894
8895         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8896         in index entries.
8897
8898 2011-09-02  Bruno Haible  <bruno@clisp.org>
8899
8900         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8901         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8902         values of AR, ARFLAGS, RANLIB.
8903         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8904
8905 2011-09-02  Bruno Haible  <bruno@clisp.org>
8906
8907         Find 'ar' program that fits with --host argument.
8908         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8909
8910 2011-09-02  Bruno Haible  <bruno@clisp.org>
8911
8912         tests: init.sh: Support any non-GNU diff.
8913         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8914         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8915         Solaris 8.
8916
8917 2011-09-02  Bruno Haible  <bruno@clisp.org>
8918
8919         tests: init.sh: work also with any non-GNU diff that supports -u
8920         * tests/init.sh: Relax check for diff -u support.
8921         Rather than checking for GNU diff via --version, simply check
8922         for support for -u itself.  Useful at least on OpenBSD 4.9,
8923         AIX 7.1, IRIX 6.5, and Solaris 10.
8924
8925 2011-09-01  Bruno Haible  <bruno@clisp.org>
8926
8927         strtoimax, strtoumax: Document problem on HP-UX 11.
8928         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8929         * doc/posix-functions/strtoumax.texi: Likewise.
8930
8931 2011-09-01  Bruno Haible  <bruno@clisp.org>
8932
8933         strtoumax: Avoid link error on OSF/1 with DTK cc.
8934         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8935         defined as a function.
8936         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8937         strtoumax is defined, not whether it is declared.
8938
8939 2011-09-01  Bruno Haible  <bruno@clisp.org>
8940
8941         strtoimax: Avoid link error on OSF/1 with DTK cc.
8942         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8943         defined as a function.
8944         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8945         strtoimax is defined, not whether it is declared.
8946
8947 2011-09-01  Bruno Haible  <bruno@clisp.org>
8948
8949         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8950         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8951         as a function.
8952         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8953         whether it is declared.
8954
8955 2011-09-01  Bruno Haible  <bruno@clisp.org>
8956
8957         imaxabs: Avoid link error on OSF/1 with DTK cc.
8958         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8959         as a function.
8960         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8961         whether it is declared.
8962
8963 2011-09-01  Bruno Haible  <bruno@clisp.org>
8964
8965         Tests for module 'strtoumax'.
8966         * modules/strtoumax-tests: New file.
8967         * tests/test-strtoumax.c: New file.
8968
8969         Tests for module 'strtoimax'.
8970         * modules/strtoimax-tests: New file.
8971         * tests/test-strtoimax.c: New file.
8972
8973         Tests for module 'imaxdiv'.
8974         * modules/imaxdiv-tests: New file.
8975         * tests/test-imaxdiv.c: New file.
8976
8977         Tests for module 'imaxabs'.
8978         * modules/imaxabs-tests: New file.
8979         * tests/test-imaxabs.c: New file.
8980
8981 2011-09-01  Bruno Haible  <bruno@clisp.org>
8982
8983         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8984         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8985         pthread_create.
8986
8987 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8988
8989         openat: work around AIX 7.1 fstatat issue
8990         This should fix the problem that was not properly fixed
8991         in the previous change, dated 2011-08-30.
8992         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8993         __need_system_stat_h defined.
8994         (orig_fstatat) [HAVE_FSTATAT]: New function.
8995         (rpl_fstatat): Go back to the old way of doing things,
8996         except call orig_fstatat instead of fstatat.
8997         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8998         Remove unnecessary check whether fstatat fills in st_size etc.
8999
9000 2011-09-01  Bruno Haible  <bruno@clisp.org>
9001
9002         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9003         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9004         just include the system's header.
9005
9006 2011-08-31  Jim Meyering  <meyering@redhat.com>
9007
9008         tests: avoid spurious assertion failure in test-float.c on ppc64
9009         * tests/test-float.c (test_long_double): Comment out an assertion,
9010         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9011         with gcc-4.4.4.
9012
9013         maint: indent with spaces, not TABs
9014         I need to get in the habit of running gnulib's "make check".
9015         Both of these would have been caught.
9016         * m4/largefile.m4: Indent with spaces, not TABs.
9017         * lib/parse-datetime.y (iso_8601_time): Likewise.
9018         Spotted by Pádraig Brady.
9019
9020         test-parse-datetime.c: accommodate a relatively strict gcc warning
9021         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9022         to avoid a warning from gcc's -Werror=missing-declarations.
9023         Insert a few spaces-before-funcall-parenthesis.
9024
9025 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9026
9027         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9028         The parser now accepts ISO 8601 date-time strings with "T" as the
9029         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9030         with a space between the date and time strings.  Now it also parses
9031         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9032         variants like "2004-02-29T16:21:42.333-07:00"
9033         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9034         of day representation using the 'T' separator character.
9035         * doc/parse-datetime.texi (General date syntax): replace use of
9036         deprecated --iso-8601 option with --rfc-3339 in example of date
9037         command output formats that can be parsed.
9038         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9039         lib/parse-datetime.y.
9040         (gmt_offset): New function.
9041         (main): Add additional test cases to validate ISO8601 extended
9042         date and time of day parsing.
9043
9044 2011-08-31  Bruno Haible  <bruno@clisp.org>
9045
9046         freopen: Documentation.
9047         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9048         name.
9049         Reported by Claudio Bley <claudio.bley@gmail.com>.
9050
9051 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9052
9053         freopen: Don't crash if the filename argument is NULL.
9054         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9055         NULL.
9056
9057 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9058
9059         openat: work around AIX 7.1 fstatat bug
9060         Problem reported by Kevin Brott for GNU tar, in the thread containing
9061         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9062         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9063         FSTATAT_ST_SIZE_ETC_BROKEN.
9064         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9065         rpl_fstatat.
9066         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9067         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9068         AC_CHECK_FUNCS_ONCE for fstatat.
9069         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9070         fchmodat, mkdirat, openat and unlinkat.
9071
9072 2011-08-30  Bruno Haible  <bruno@clisp.org>
9073
9074         Avoid endless recursions if config.h includes some header files.
9075         * lib/fopen.c (__need_FILE): Define already before including config.h.
9076         * lib/freopen.c (__need_FILE): Likewise.
9077         * lib/open.c (__need_system_fcntl_h): Likewise.
9078         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9079         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9080         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9081
9082 2011-08-25  Karl Berry  <karl@gnu.org>
9083
9084         * config/srclist.txt (ylwrap): new try.
9085         * build-aux/ylwrap: new file.
9086
9087 2011-08-23  Bruno Haible  <bruno@clisp.org>
9088
9089         tmpdir: Use a good default directory on native Windows.
9090         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9091         (P_tmpdir): Default to _P_tmpdir on native Windows.
9092         (path_search): On native Windows, try the value returned by GetTempPath
9093         before trying P_tmpdir.
9094         * modules/tmpdir (Depends-on): Add pathmax.
9095         Suggested by John Darrington <john@darrington.wattle.id.au>.
9096
9097 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9098
9099         doc: fix typo in README-release
9100         * top/README-release: Capitalize first word of a sentence.
9101
9102 2011-08-19  Jim Meyering  <meyering@redhat.com>
9103
9104         fts: do not exhaust memory when processing million-entry directories
9105         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9106         directory would require about 256*N bytes of memory.  Thus, it was
9107         easy to construct a directory too large to be processed by any of
9108         those tools.  With this change, fts' maximum memory utilization is
9109         now limited to around 30MB.
9110         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9111         (fts_read): When we've processed the final entry (i.e., when
9112         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9113         using the parent entry to read any remaining entries.  Dispatch
9114         depending on what fts_build returns:
9115         - NULL+stop, aka failure: stop
9116         - NULL otherwise: move up in the dir hierarchy
9117         - non-NULL: handle this new entry
9118         (fts_build): Declare and use new local, continue_readdir.
9119         Prepare to be called from fts_read, when the entries
9120         from a partially-read directory have just been exhausted.
9121         In that case, we'll skip the opendir and instead use the parent's
9122         fts_dirp and derive dir_fd from that.
9123         Finally, in the readdir loop, if we read max_entries entries,
9124         exit the loop ensuring *not* to call closedir.  This is required
9125         so that fts_dirp can be reused on a subsequent call.
9126         Prompted by Ben England's report of memory exhaustion in find
9127         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9128
9129         maint: fts: move decl of `dp' down into while loop; split a long line
9130         * lib/fts.c (fts_build): No semantic change.
9131
9132         fts: add/use new struct member, fts_dirp
9133         We are about to use this to manage any directory with
9134         too many entries to read all of them into memory at once.
9135         To do that, we'll need to save the DIR* pointer in each
9136         affected FTSENT struct.
9137         * lib/fts_.h: Include <dirent.h>.
9138         (struct FTSENT) [fts_dirp]: New member.
9139         * lib/fts.c (closedir_and_clear): Define.
9140         Use it in place of closedir so that we are sure to
9141         clear the new fts_dirp member when done with it.
9142         (fts_alloc): Initialize the new member.
9143         (fts_lfree): Free, if needed.
9144
9145         maint: fts: give __opendir2 a new parameter and rename
9146         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9147         than surreptitiously using sole caller's "dir_fd".
9148         (fts_opendir): Rename from __opendir2.
9149
9150         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9151         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9152
9153         maint: fts.c: correct off-by-one indentation
9154         * lib/fts.c (fts_build): Correct indentation, change style
9155         of a couple of block comments, and bracing style.
9156
9157         maint: fts.c: move __opendir2 #define "up" out of function body
9158         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9159
9160         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9161         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9162         out for a long time and besides was useful only on BSD systems.
9163
9164 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9165
9166         regex: port to Stratus OpenVOS
9167         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9168         define to empty, rather than attempting nonportable optimizations.
9169         Problem reported by Paul Green in:
9170         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9171         and fix suggested by Eric Blake in:
9172         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9173
9174 2011-08-17  Eric Blake  <eblake@redhat.com>
9175
9176         getcwd: fix test failures on mingw
9177         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9178         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9179         test if long directory cannot be created, and allow mingw errno.
9180
9181         getcwd-lgpl: fix m4 to match relaxed test for BSD
9182         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9183         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9184         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9185         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9186         signature problem.
9187
9188         getcwd: fix compilation on mingw64
9189         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9190         getcwd.
9191         Reported by Marc-André Lureau.
9192
9193         pipe2: silence compiler warning
9194         * lib/pipe2.c (pipe2): Hide label if it is not used.
9195
9196 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9197
9198         relocatable-prog: fix link error
9199         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9200         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9201         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9202         into modules/relocatable-lib without noticing that
9203         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9204         also needs to build relocatable.c.
9205
9206 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9207
9208         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9209         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9210         shell code: it contained a 'break' that was not in a loop.
9211         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9212         via a shell-language loop; this may have been true in old Autoconf
9213         versions, but it's not true in Autoconf 2.68.  I found this bug
9214         when testing coreutils git on Solaris 8, whose shell complains
9215         about the syntax error.
9216
9217 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9218
9219         * lib/base64.c: Fix comment to reference RFC 4648.
9220         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9221         <gvtulder@gmail.com>.
9222
9223 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9224
9225         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9226
9227         po/Makefile.in.in: fix make -q problem
9228         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9229         rule, since there's no file named 'check-macro-version' and its
9230         use as a file breaks make -q.
9231         (all): Don't depend on check-macro-version.
9232         (CHECK_MACRO_VERSION): New macro.
9233         (stamp-po): Use it.
9234
9235         configmake: fix make -q problem
9236         * modules/configmake (configmake.h): Update configmake.h's time stamp
9237         even if the file does not change.  Otherwise, 'make -q' fails.
9238         Problem reported by Simon Josefsson in
9239         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9240
9241 2011-08-11  Jim Meyering  <meyering@redhat.com>
9242
9243         git-version-gen: correct the advice in a comment
9244         * build-aux/git-version-gen: Correct comment.
9245         Don't recommend to list .tarball-version in .gitignore.
9246
9247 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9248
9249         base64: fix off-by-one buffer size bug
9250         Problem and (trivial) fix reported by Gijs van Tulder in
9251         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9252         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9253         * tests/test-base64.c (main): Catch the bug.
9254
9255 2011-08-10  Eric Blake  <eblake@redhat.com>
9256
9257         closein: correct comments
9258         * lib/closein.c (close_stdin): Improve comments.
9259
9260 2011-08-09  Bruno Haible  <bruno@clisp.org>
9261
9262         More tests for 'fseeko'.
9263         * tests/test-fseeko3.c: New file, from Eric Blake.
9264         * tests/test-fseeko3.sh: New file.
9265         * modules/fseeko-tests (Files): Add them.
9266         (TESTS): Add test-fseeko3.sh.
9267         (check_PROGRAMS): Add test-fseeko3.
9268
9269 2011-08-09  Eric Blake  <eblake@redhat.com>
9270
9271         fseeko: remove unneeded hack
9272         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9273
9274         fseeko: fix bug on glibc
9275         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9276         Reported by John W. Eaton.
9277
9278 2011-08-08  Bruno Haible  <bruno@clisp.org>
9279
9280         unictype/base: Fix interoperability with preinstalled libunistring.
9281         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9282         Reported by Simon Josefsson.
9283
9284 2011-08-08  Bruno Haible  <bruno@clisp.org>
9285
9286         iswblank: Detect declaration correctly.
9287         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9288         AC_CHECK_DECLS invocation.
9289
9290 2011-08-08  Bruno Haible  <bruno@clisp.org>
9291
9292         tcgetsid: Detect declaration correctly.
9293         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9294         AC_CHECK_DECLS invocation.
9295         Reported by Simon Josefsson.
9296
9297 2011-08-08  Eric Blake  <eblake@redhat.com>
9298
9299         largefile: fix typo that regressed large file support
9300         * modules/largefile (configure.ac-early): Fix section name.
9301
9302 2011-08-06  Karl Berry  <karl@gnu.org>
9303
9304         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9305         a separate module.
9306
9307 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9308
9309         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9310         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9311         get prototype for free.
9312
9313 2011-08-04  Bruno Haible  <bruno@clisp.org>
9314
9315         Tests for module 'pathmax'.
9316         * modules/pathmax-tests: New file.
9317         * tests/test-pathmax.c: New file.
9318
9319         canonicalize-lgpl: Support larger filenames on the Hurd.
9320         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9321         Reported by Paul Eggert.
9322
9323         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9324         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9325         * lib/chdir-long.h: Include pathmax.h.
9326         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9327         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9328         (PATH_MAX): Remove code that is done by pathmax.h.
9329         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9330         * lib/tmpfile.c: Add a comment.
9331         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9332         * modules/chdir-long (Depends-on): Add pathmax.
9333         * modules/getcwd (Depends-on): Add pathmax.
9334         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9335         is not defined.
9336         * doc/posix-headers/limits.texi: Mention the pathmax module.
9337         * NEWS: Mention the change.
9338
9339 2011-08-02  Bruno Haible  <bruno@clisp.org>
9340
9341         pthread_sigmask: Actually use results of gl_THREADLIB.
9342         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9343         gl_THREADLIB, not gl_[]THREADLIB.
9344         Reported by Eric Blake.
9345
9346 2011-08-02  Jim Meyering  <meyering@redhat.com>
9347
9348         maint.mk: relax the default _gl_TS_function_match regexp
9349         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9350         space between function name and "(" in an "extern" declaration.
9351         That would fail to match a decl with no space there: extern void foo();
9352
9353 2011-07-31  Iain Nicol  <iain@thenicols.net>
9354
9355         git-version-gen: document that EXTRA_DIST must include .version
9356         * build-aux/git-version-gen: In the how-to-use comment, document
9357         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9358         will fail when run from an unpacked distribution tarball.
9359
9360 2011-08-01  Bruno Haible  <bruno@clisp.org>
9361
9362         wctype-h: Fix last change.
9363         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9364         REPLACE_TOWLOWER to 0.
9365         Reported by Sam Steingold <sds@gnu.org>.
9366
9367 2011-07-31  Bruno Haible  <bruno@clisp.org>
9368
9369         frexpl: Update autoconf test.
9370         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9371         according to changes of 2011-06-20.
9372
9373 2011-07-31  Bruno Haible  <bruno@clisp.org>
9374
9375         sys_utsname: Add support for Minix.
9376         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9377         <sys/utsname.h>.
9378         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9379         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9380
9381 2011-07-31  Bruno Haible  <bruno@clisp.org>
9382
9383         strings: Add support for Minix.
9384         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9385         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9386         * doc/posix-headers/strings.texi: Document the Minix problem.
9387
9388 2011-07-31  Bruno Haible  <bruno@clisp.org>
9389
9390         wctype-h: Add support for Minix.
9391         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9392         REPLACE_TOWLOWER.
9393         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9394         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9395         REPLACE_ISWCNTRL.
9396
9397 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9398
9399         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9400         This is a performance improvement for 64-bit hosts: it causes the
9401         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9402
9403 2011-07-31  Bruno Haible  <bruno@clisp.org>
9404
9405         stdioext: Add support for Minix.
9406         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9407         * lib/fpurge.c (fpurge): Likewise.
9408         * lib/freadahead.c (freadahead): Likewise.
9409         * lib/freadable.c (freadable): Likewise.
9410         * lib/freading.c (freading): Likewise.
9411         * lib/freadptr.c (freadptr): Likewise.
9412         * lib/freadseek.c (freadptrinc): Likewise.
9413         * lib/fseeko.c (rpl_fseeko): Likewise.
9414         * lib/fseterr.c (fseterr): Likewise.
9415         * lib/fwritable.c (fwritable): Likewise.
9416         * lib/fwriting.c (fwriting): Likewise.
9417         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9418         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9419
9420 2011-07-31  Bruno Haible  <bruno@clisp.org>
9421
9422         errno: Port to Minix.
9423         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9424         ECONNABORTED are defined.
9425         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9426         GNULIB_defined_ECONNABORTED): New macros.
9427         * lib/strerror-override.h (strerror_override): Test also
9428         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9429         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9430         ECONNABORTED.
9431         * doc/posix-headers/errno.texi: Mention the Minix problem.
9432
9433 2011-07-31  Bruno Haible  <bruno@clisp.org>
9434
9435         Work around declaration collisions on Minix.
9436         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9437         defined, set REPLACE_MBSINIT.
9438         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9439         defined, set REPLACE_MBRTOWC.
9440         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9441         set REPLACE_MBRLEN.
9442         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9443         defined, set REPLACE_MBSRTOWCS.
9444         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9445         defined, set REPLACE_WCRTOMB.
9446         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9447         defined, set REPLACE_WCSRTOMBS.
9448
9449 2011-07-31  Bruno Haible  <bruno@clisp.org>
9450
9451         Add support for Minix with ACK compiler.
9452         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9453         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9454         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9455
9456 2011-07-31  Bruno Haible  <bruno@clisp.org>
9457
9458         Documentation about Minix.
9459         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9460         * doc/glibc-headers/*.texi: Likewise.
9461         * doc/posix-functions/*.texi: Likewise.
9462         * doc/glibc-functions/*.texi: Likewise.
9463
9464 2011-07-31  Bruno Haible  <bruno@clisp.org>
9465
9466         snippet/warn-on-use: Fix indentation.
9467         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9468
9469 2011-07-25  Jim Meyering  <meyering@redhat.com>
9470
9471         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9472         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9473         commands.
9474
9475 2011-07-27  Jim Meyering  <meyering@redhat.com>
9476
9477         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9478         * top/maint.mk (gl_extract_significant_defines_): Now that
9479         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9480         gnulib/lib/signal.in.h, and now that we recommend to
9481         define-if-undefined those two symbols in application code,
9482         we must filter them out of the "significant" list.
9483         This avoids a "make syntax-check" failure in coreutils.
9484
9485 2011-07-26  Eric Blake  <eblake@redhat.com>
9486
9487         warnings: add comments about previous patch
9488         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9489         * m4/include_next.m4: Likewise.
9490         * m4/warn-on-use.m4: Likewise.
9491         * m4/warnings.m4: Likewise, and simplify use.
9492         Suggested by Stefano Lattarini.
9493
9494         include-next, warnings: support older autoconf
9495         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9496         AS_VAR_PUSHDEF in a way that works with older autoconf.
9497         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9498         Reported by Daniel P. Berrange.
9499
9500 2011-07-25  Bruno Haible  <bruno@clisp.org>
9501
9502         fseek, ftell: Fix doc.
9503         * doc/posix-functions/fseek.texi: Reword statement about
9504         AC_SYS_LARGEFILE.
9505         * doc/posix-functions/ftell.texi: Likewise.
9506
9507 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9508             Bruno Haible  <bruno@clisp.org>
9509
9510         Add dependencies to the 'largefile' module.
9511         * modules/fopen (Depends-on): Add 'largefile'.
9512         * modules/freopen (Depends-on): Likewise.
9513         * modules/fseeko (Depends-on): Likewise.
9514         * modules/ftello (Depends-on): Likewise.
9515         * modules/glob (Depends-on): Likewise.
9516         * modules/lseek (Depends-on): Likewise.
9517         * modules/lstat (Depends-on): Likewise.
9518         * modules/mkostemp (Depends-on): Likewise.
9519         * modules/mkostemps (Depends-on): Likewise.
9520         * modules/mkstemp (Depends-on): Likewise.
9521         * modules/mkstemps (Depends-on): Likewise.
9522         * modules/open (Depends-on): Likewise.
9523         * modules/openat (Depends-on): Likewise.
9524         * modules/pread (Depends-on): Likewise.
9525         * modules/pwrite (Depends-on): Likewise.
9526         * modules/scandir (Depends-on): Likewise.
9527         * modules/stat (Depends-on): Likewise.
9528         * modules/tmpfile (Depends-on): Likewise.
9529         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9530         since the containing module now depends on the largefile module.
9531         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9532         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9533         off_t is fixed by gnulib.
9534         * doc/posix-functions/freopen.texi: Likewise.
9535         * doc/posix-functions/fseeko.texi: Likewise.
9536         * doc/posix-functions/fstatat.texi: Likewise.
9537         * doc/posix-functions/ftello.texi: Likewise.
9538         * doc/posix-functions/glob.texi: Likewise.
9539         * doc/posix-functions/lseek.texi: Likewise.
9540         * doc/posix-functions/lstat.texi: Likewise.
9541         * doc/posix-functions/mkstemp.texi: Likewise.
9542         * doc/posix-functions/open.texi: Likewise.
9543         * doc/posix-functions/openat.texi: Likewise.
9544         * doc/posix-functions/pread.texi: Likewise.
9545         * doc/posix-functions/pwrite.texi: Likewise.
9546         * doc/posix-functions/scandir.texi: Likewise.
9547         * doc/posix-functions/stat.texi: Likewise.
9548         * doc/posix-functions/tmpfile.texi: Likewise.
9549         * doc/glibc-functions/mkostemp.texi: Likewise.
9550         * doc/glibc-functions/mkostemps.texi: Likewise.
9551         * doc/glibc-functions/mkstemps.texi: Likewise.
9552
9553 2011-07-25  Bruno Haible  <bruno@clisp.org>
9554
9555         fcntl: Move AC_LIBOBJ invocation to module description.
9556         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9557         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9558
9559         fcntl: Remove call-in from fchdir.m4.
9560         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9562
9563         dup3: Remove potential call-in from fchdir.m4.
9564         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9566
9567         dup2: Move AC_LIBOBJ invocation to module description.
9568         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9569         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9570         Don't invoke AC_LIBOBJ.
9571         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9572
9573         dup2: Remove call-in from fchdir.m4.
9574         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9575         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9576
9577         fclose: Move AC_LIBOBJ invocation to module description.
9578         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9579         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9580         to 1.
9581         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9582
9583         fclose: Remove call-in from close.m4.
9584         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9585         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9586
9587         close: Move AC_LIBOBJ invocation to module description.
9588         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9589         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9590         1.
9591         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9592
9593         close: Remove call-in from fchdir.m4.
9594         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9595         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9596
9597         open: Move AC_LIBOBJ invocation to module description.
9598         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9599         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9600         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9601
9602         open: Remove call-in from fchdir.m4.
9603         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9604         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9605
9606         fchdir: Start to remove gl_REPLACE_* idiom.
9607         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9608         (gl_FUNC_FCHDIR): Invoke it.
9609
9610 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9611
9612         * lib/ftell.c (ftell): Comment out cast.
9613
9614         close: use gl_REPLACE_FCLOSE only if defined
9615         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9616         is defined.  The close module doesn't depend on the fclose module
9617         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9619         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9620
9621 2011-07-24  Jim Meyering  <meyering@redhat.com>
9622
9623         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9624         * tests/test-select.h (test_function): Declare as "static".
9625
9626 2011-07-24  Bruno Haible  <bruno@clisp.org>
9627
9628         doc: Mention the effects of AC_SYS_LARGEFILE.
9629         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9630         on this function.
9631         * doc/posix-functions/aio_error.texi: Likewise.
9632         * doc/posix-functions/aio_fsync.texi: Likewise.
9633         * doc/posix-functions/aio_read.texi: Likewise.
9634         * doc/posix-functions/aio_return.texi: Likewise.
9635         * doc/posix-functions/aio_suspend.texi: Likewise.
9636         * doc/posix-functions/aio_write.texi: Likewise.
9637         * doc/posix-functions/fgetpos.texi: Likewise.
9638         * doc/posix-functions/fopen.texi: Likewise.
9639         * doc/posix-functions/freopen.texi: Likewise.
9640         * doc/posix-functions/fsetpos.texi: Likewise.
9641         * doc/posix-functions/fstatvfs.texi: Likewise.
9642         * doc/posix-functions/ftruncate.texi: Likewise.
9643         * doc/posix-functions/ftw.texi: Likewise.
9644         * doc/posix-functions/getrlimit.texi: Likewise.
9645         * doc/posix-functions/glob.texi: Likewise.
9646         * doc/posix-functions/lio_listio.texi: Likewise.
9647         * doc/posix-functions/lockf.texi: Likewise.
9648         * doc/posix-functions/mkstemp.texi: Likewise.
9649         * doc/posix-functions/mmap.texi: Likewise.
9650         * doc/posix-functions/nftw.texi: Likewise.
9651         * doc/posix-functions/openat.texi: Likewise.
9652         * doc/posix-functions/opendir.texi: Likewise.
9653         * doc/posix-functions/posix_fadvise.texi: Likewise.
9654         * doc/posix-functions/posix_fallocate.texi: Likewise.
9655         * doc/posix-functions/pread.texi: Likewise.
9656         * doc/posix-functions/pwrite.texi: Likewise.
9657         * doc/posix-functions/readdir.texi: Likewise.
9658         * doc/posix-functions/readdir_r.texi: Likewise.
9659         * doc/posix-functions/rewinddir.texi: Likewise.
9660         * doc/posix-functions/scandir.texi: Likewise.
9661         * doc/posix-functions/seekdir.texi: Likewise.
9662         * doc/posix-functions/setrlimit.texi: Likewise.
9663         * doc/posix-functions/statvfs.texi: Likewise.
9664         * doc/posix-functions/telldir.texi: Likewise.
9665         * doc/posix-functions/tmpfile.texi: Likewise.
9666         * doc/posix-functions/truncate.texi: Likewise.
9667         * doc/glibc-functions/fallocate.texi: Likewise.
9668         * doc/glibc-functions/fstatfs.texi: Likewise.
9669         * doc/glibc-functions/fts_children.texi: Likewise.
9670         * doc/glibc-functions/fts_read.texi: Likewise.
9671         * doc/glibc-functions/getdirentries.texi: Likewise.
9672         * doc/glibc-functions/mkostemp.texi: Likewise.
9673         * doc/glibc-functions/mkostemps.texi: Likewise.
9674         * doc/glibc-functions/mkstemps.texi: Likewise.
9675         * doc/glibc-functions/preadv.texi: Likewise.
9676         * doc/glibc-functions/pwritev.texi: Likewise.
9677         * doc/glibc-functions/sendfile.texi: Likewise.
9678         * doc/glibc-functions/statfs.texi: Likewise.
9679
9680 2011-07-24  Bruno Haible  <bruno@clisp.org>
9681
9682         doc: Fix typo.
9683         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9684
9685 2011-07-24  Bruno Haible  <bruno@clisp.org>
9686
9687         doc: Mention fsusage.
9688         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9689
9690 2011-07-24  Bruno Haible  <bruno@clisp.org>
9691
9692         doc: Mention new glibc headers and functions.
9693         * doc/glibc-headers/gshadow.texi: New file.
9694         * doc/glibc-functions/endsgent.texi: New file.
9695         * doc/glibc-functions/fgetsgent.texi: New file.
9696         * doc/glibc-functions/fgetsgent_r.texi: New file.
9697         * doc/glibc-functions/getsgent.texi: New file.
9698         * doc/glibc-functions/getsgent_r.texi: New file.
9699         * doc/glibc-functions/getsgnam.texi: New file.
9700         * doc/glibc-functions/getsgnam_r.texi: New file.
9701         * doc/glibc-functions/putsgent.texi: New file.
9702         * doc/glibc-functions/setsgent.texi: New file.
9703         * doc/glibc-functions/sgetsgent.texi: New file.
9704         * doc/glibc-functions/sgetsgent_r.texi: New file.
9705         * doc/glibc-functions/malloc_info.texi: New file.
9706         * doc/glibc-functions/preadv.texi: New file.
9707         * doc/glibc-functions/pwritev.texi: New file.
9708         * doc/glibc-functions/register_printf_modifier.texi: New file.
9709         * doc/glibc-functions/register_printf_specifier.texi: New file.
9710         * doc/glibc-functions/register_printf_type.texi: New file.
9711         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9712         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9713         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9714         * doc/glibc-functions/pthread_getname_np.texi: New file.
9715         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9716         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9717         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9718         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9719         * doc/glibc-functions/pthread_setname_np.texi: New file.
9720         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9721         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9722         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9723         * doc/glibc-functions/qsort_r.texi: New file.
9724         * doc/glibc-functions/quick_exit.texi: New file.
9725         * doc/glibc-functions/syncfs.texi: New file.
9726         * doc/gnulib.texi: Include them.
9727         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9728         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9729         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9730         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9731         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9732         * doc/glibc-functions/execvpe.texi: Likewise.
9733
9734 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9735
9736         ftell: don't include <unistd.h>
9737         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9738         guaranteed to define off_t, and the ftell module depends on the
9739         stdio module.
9740
9741         ftell: do not assume wraparound signed arithmetic
9742         * lib/ftell.c: Include <limits.h>.
9743         (ftell): Don't assume wraparound signed arithmetic.
9744
9745 2011-07-24  Bruno Haible  <bruno@clisp.org>
9746
9747         close: No longer depend on module 'fclose'.
9748         * modules/close (Depends-on): Remove fclose.
9749         * NEWS: Mention the change.
9750         Suggested by Sam Steingold <sds@gnu.org>.
9751
9752 2011-07-24  Bruno Haible  <bruno@clisp.org>
9753
9754         fsusage: Enable large volume support on AIX >= 5.2.
9755         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9756         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9757         instead of STAT_STATVFS.
9758         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9759
9760         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9761         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9762         f_blocks field only on MacOS X.
9763
9764         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9765         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9766         * modules/fsusage (Depends-on): Add largefile.
9767
9768 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9769
9770         * README: Modernize discussion of signed integers.
9771         Assuming overflow wraparound is no longer safe.
9772         Mention ones' complement and signed magnitude.
9773
9774 2011-07-22  Bruno Haible  <bruno@clisp.org>
9775
9776         select tests, pselect tests: Refactor.
9777         * tests/test-select.h: New file, extracted from tests/test-select.c.
9778         (select_fn): New type.
9779         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9780         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9781         test_pipe): Add my_select argument.
9782         (test_function): Renamed from main. Add my_select argument.
9783         * tests/test-select.c: Move most code to tests/test-select.h. Include
9784         test-select.h.
9785         * modules/select-tests (Files): Add tests/test-select.h.
9786         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9787         (my_select, main): New functions.
9788         * modules/pselect-tests (Files): Add tests/test-select.h,
9789         tests/macros.h, tests/signature.h.
9790         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9791         (configure.ac): Check for <sys/wait.h>.
9792
9793 2011-07-22  Bruno Haible  <bruno@clisp.org>
9794
9795         sys_select tests: Check the signature of FD_*.
9796         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9797         signature tests from here...
9798         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9799         here.
9800         * modules/sys_select-tests (Files): Add tests/signature.h.
9801
9802 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9803
9804         largefile: new module, replacing large-inode
9805         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9806         * MODULES.html.sh: Add largefile, remove large-inode.
9807         * modules/largefile, m4/largefile.m4: New files.
9808         * modules/large-inode, m4/large-inode.m4: Remove.
9809
9810         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9811         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9812         implementations that use only 32 bits to count blocks.
9813         On typical hosts with 1024-byte blocks, this fails with file
9814         systems as small as 4 TiB.  Problem reported by Herb Wartens
9815         <http://debbugs.gnu.org/9140> and this should also fix a similar
9816         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9817
9818         large-inode: New module
9819         * MODULES.html.sh: Add it.
9820         * modules/large-inode, m4/large-inode.m4: New files.
9821
9822         extensions: Enable extensions on MacOS X 10.5 and later.
9823         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9824
9825 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9826
9827         file-has-acl: use acl_extended_file_nofollow if available
9828         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9829         (acl_extended_file): New macro.
9830         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9831         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9832
9833 2011-07-21  Bruno Haible  <bruno@clisp.org>
9834
9835         Declare system functions in a way that works with C++.
9836         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9837         declare fdopendir as extern "C".
9838         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9839         declare frexpl as extern "C".
9840         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9841         declare gai_strerror as extern "C".
9842         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9843         programs, declare gai_strerror as extern "C".
9844         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9845         declare getlogin_r as extern "C".
9846         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9847         as extern "C".
9848         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9849         declare ldexpl as extern "C".
9850         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9851         as extern "C".
9852         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9853         program, declare getmntinfo as extern "C".
9854         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9855         stpncpy as extern "C".
9856         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9857         program, declare __xpg_strerror_r as extern "C".
9858         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9859         strndup as extern "C".
9860         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9861         declare memset and bzero as extern "C".
9862         Reported by Sam Steingold <sds@gnu.org>.
9863
9864 2011-07-12  Jim Meyering  <meyering@redhat.com>
9865
9866         maint.mk: prohibit inclusion of "verify.h" without use
9867         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9868
9869 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9870
9871         timer-time: A new module to check for timer_settime()
9872         * m4/timer_time.m4: Check for the posix function.
9873         * modules/timer-time: Add the new module.
9874         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9875         Mention it.
9876
9877 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9878             Bruno Haible  <bruno@clisp.org>
9879
9880         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9881         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9882         not defined, assume POSIX threads and look for pthread_sigmask in
9883         $LIBS, without changing $CPPFLAGS.
9884
9885 2011-07-19  Bruno Haible  <bruno@clisp.org>
9886
9887         strstr: Update cross-compilation guess.
9888         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9889         CPUs, guess no, in view of glibc
9890         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9891         Suggested by Eric Blake. Reported by Reuben Thomas.
9892
9893 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9894
9895         getopt-gnu: suppress core dumps from detection code
9896         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9897         to suppress core dumps that may well occur on glibc systems.
9898         * modules/getopt-gnu: Depend on nocrash.
9899
9900 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9901
9902         pthread_sigmask: ensure usleep is declared
9903         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9904         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9905
9906 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9907
9908         doc: Document NonStop portability issues.
9909         * doc/posix-functions/sigaction.texi (sigaction):
9910         * doc/posix-headers/signal.texi (signal.h):
9911         Document NonStop.  See Joachim Schmitz in
9912         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9913
9914 2011-07-15  Bruno Haible  <bruno@clisp.org>
9915
9916         ffsl, ffsll: Avoid unportable behaviour.
9917         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9918
9919 2011-07-15  Bruno Haible  <bruno@clisp.org>
9920
9921         ffs: More tests.
9922         * tests/test-ffs.c (NBITS): New macro.
9923         (main): Add more tests.
9924         * tests/test-ffsl.c (NBITS): New macro.
9925         (main): Add more tests.
9926         * tests/test-ffsll.c (NBITS): New macro.
9927         (main): Add more tests.
9928
9929 2011-07-15  Eric Blake  <eblake@redhat.com>
9930
9931         ffsl, ffsll: new modules
9932         * modules/ffsl: New file.
9933         * modules/ffsll: Likewise.
9934         * m4/ffsl.m4: Likewise.
9935         * m4/ffsll.m4: Likewise.
9936         * lib/ffsl.c: Likewise.
9937         * lib/ffsl.h: Likewise.
9938         * lib/ffsll.c: Likewise.
9939         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9940         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9941         * modules/string (Makefile.am): Substitute witnesses.
9942         * lib/strings.in.h (ffsl, ffsll): Declare.
9943         * modules/ffsl-tests: New test file.
9944         * modules/ffsll-tests: Likewise.
9945         * tests/test-ffsl.c: Likewise.
9946         * tests/test-ffsll.c: Likewise.
9947         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9948         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9949         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9950
9951         ffs: fix m4 prerequisite
9952         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9953
9954         ffs: avoid undefined behavior
9955         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9956         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9957         Reported by Bruno Haible.
9958
9959 2011-07-12  Bruno Haible  <bruno@clisp.org>
9960
9961         pthread_sigmask: Rely on module 'threadlib'.
9962         * modules/pthread_sigmask (Depends-on): Add threadlib.
9963         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9964         is defined.
9965
9966 2011-07-12  Bruno Haible  <bruno@clisp.org>
9967
9968         regex: Depend on module 'strcase'.
9969         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9970
9971 2011-07-12  Jim Meyering  <meyering@redhat.com>
9972
9973         warn-on-use: fix typo in file name
9974         * modules/snippet/warn-on-use (Files): Correct file name:
9975         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9976
9977 2011-07-12  Bruno Haible  <bruno@clisp.org>
9978
9979         strings: Document module.
9980         * doc/posix-headers/strings.texi: Mention module 'strings'.
9981
9982 2011-07-12  Bruno Haible  <bruno@clisp.org>
9983
9984         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9985         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9986         (Files, Makefile.am): Update.
9987         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9988         * modules/stdlib (Depends-on): Update.
9989
9990 2011-07-12  Bruno Haible  <bruno@clisp.org>
9991
9992         * NEWS: Mention the changes.
9993
9994         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9995         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9996         (Files, Makefile.am): Update.
9997         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9998         * modules/arpa_inet (Depends-on): Update.
9999         * modules/ctype (Depends-on): Update.
10000         * modules/dirent (Depends-on): Update.
10001         * modules/fcntl-h (Depends-on): Update.
10002         * modules/glob (Depends-on): Update.
10003         * modules/iconv-h (Depends-on): Update.
10004         * modules/inttypes-incomplete (Depends-on): Update.
10005         * modules/langinfo (Depends-on): Update.
10006         * modules/locale (Depends-on): Update.
10007         * modules/math (Depends-on): Update.
10008         * modules/netdb (Depends-on): Update.
10009         * modules/poll-h (Depends-on): Update.
10010         * modules/pty (Depends-on): Update.
10011         * modules/search (Depends-on): Update.
10012         * modules/signal (Depends-on): Update.
10013         * modules/spawn (Depends-on): Update.
10014         * modules/stdio (Depends-on): Update.
10015         * modules/stdlib (Depends-on): Update.
10016         * modules/string (Depends-on): Update.
10017         * modules/strings (Depends-on): Update.
10018         * modules/sys_file (Depends-on): Update.
10019         * modules/sys_ioctl (Depends-on): Update.
10020         * modules/sys_select (Depends-on): Update.
10021         * modules/sys_socket (Depends-on): Update.
10022         * modules/sys_stat (Depends-on): Update.
10023         * modules/sys_time (Depends-on): Update.
10024         * modules/sys_times (Depends-on): Update.
10025         * modules/sys_utsname (Depends-on): Update.
10026         * modules/sys_wait (Depends-on): Update.
10027         * modules/termios (Depends-on): Update.
10028         * modules/time (Depends-on): Update.
10029         * modules/unistd (Depends-on): Update.
10030         * modules/wchar (Depends-on): Update.
10031         * modules/wctype-h (Depends-on): Update.
10032         * MODULES.html.sh (Support for building libraries and executables):
10033         Update.
10034
10035         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10036         * modules/snippet/unused-parameter: Renamed from
10037         modules/unused-parameter.
10038         (Files, Makefile.am): Update.
10039         * build-aux/snippet/unused-parameter.h: Renamed from
10040         build-aux/unused-parameter.h.
10041         * modules/selinux-h (Depends-on): Update.
10042         * modules/unistr/base (Depends-on): Update.
10043         * MODULES.html.sh (Core language properties): Update.
10044
10045         Rename module 'link-warning' to 'snippet/link-warning'.
10046         * modules/snippet/link-warning: Renamed from modules/link-warning.
10047         (Files, Makefile.am): Update.
10048         * build-aux/snippet/link-warning.h: Renamed from
10049         build-aux/link-warning.h.
10050         * MODULES.html.sh (Support for building libraries and executables):
10051         Update.
10052
10053         Rename module 'c++defs' to 'snippet/c++defs'.
10054         * modules/snippet/c++defs: Renamed from modules/c++defs.
10055         (Files, Makefile.am): Update.
10056         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10057         * modules/arpa_inet (Depends-on): Update.
10058         * modules/ctype (Depends-on): Update.
10059         * modules/dirent (Depends-on): Update.
10060         * modules/fcntl-h (Depends-on): Update.
10061         * modules/glob (Depends-on): Update.
10062         * modules/iconv-h (Depends-on): Update.
10063         * modules/langinfo (Depends-on): Update.
10064         * modules/locale (Depends-on): Update.
10065         * modules/math (Depends-on): Update.
10066         * modules/netdb (Depends-on): Update.
10067         * modules/poll-h (Depends-on): Update.
10068         * modules/pty (Depends-on): Update.
10069         * modules/search (Depends-on): Update.
10070         * modules/signal (Depends-on): Update.
10071         * modules/spawn (Depends-on): Update.
10072         * modules/stdio (Depends-on): Update.
10073         * modules/stdlib (Depends-on): Update.
10074         * modules/string (Depends-on): Update.
10075         * modules/strings (Depends-on): Update.
10076         * modules/sys_ioctl (Depends-on): Update.
10077         * modules/sys_select (Depends-on): Update.
10078         * modules/sys_socket (Depends-on): Update.
10079         * modules/sys_stat (Depends-on): Update.
10080         * modules/sys_time (Depends-on): Update.
10081         * modules/sys_wait (Depends-on): Update.
10082         * modules/termios (Depends-on): Update.
10083         * modules/time (Depends-on): Update.
10084         * modules/unistd (Depends-on): Update.
10085         * modules/wchar (Depends-on): Update.
10086         * modules/wctype-h (Depends-on): Update.
10087
10088         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10089         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10090         (Files, Makefile.am): Update.
10091         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10092         * modules/argv-iter (Depends-on): Update.
10093         * modules/arpa_inet (Depends-on): Update.
10094         * modules/dirent (Depends-on): Update.
10095         * modules/fcntl-h (Depends-on): Update.
10096         * modules/fnmatch (Depends-on): Update.
10097         * modules/getopt-posix (Depends-on): Update.
10098         * modules/glob (Depends-on): Update.
10099         * modules/iconv-h (Depends-on): Update.
10100         * modules/inttypes-incomplete (Depends-on): Update.
10101         * modules/locale (Depends-on): Update.
10102         * modules/math (Depends-on): Update.
10103         * modules/netdb (Depends-on): Update.
10104         * modules/search (Depends-on): Update.
10105         * modules/signal (Depends-on): Update.
10106         * modules/spawn (Depends-on): Update.
10107         * modules/stdio (Depends-on): Update.
10108         * modules/stdlib (Depends-on): Update.
10109         * modules/string (Depends-on): Update.
10110         * modules/strings (Depends-on): Update.
10111         * modules/sys_socket (Depends-on): Update.
10112         * modules/sys_stat (Depends-on): Update.
10113         * modules/sys_time (Depends-on): Update.
10114         * modules/sys_times (Depends-on): Update.
10115         * modules/sys_utsname (Depends-on): Update.
10116         * modules/time (Depends-on): Update.
10117         * modules/unistd (Depends-on): Update.
10118         * modules/wchar (Depends-on): Update.
10119         * MODULES.html.sh (Support for building libraries and executables):
10120         Update.
10121
10122 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10123
10124         Improvements on _Noreturn and related modules.
10125
10126         modules/_Exit-tests: test _Noreturn too
10127         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10128         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10129         (main): Use them.
10130
10131         stdnoreturn, stdnoreturn-tests: remove modules
10132         They're not needed here and a bit premature for use elsewhere.  See
10133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10134         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10135         * tests/test-stdnoreturn.c: Remove files.
10136         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10137         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10138         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10139         and using noreturn.
10140         * modules/openat, modules/sigpipe-die, modules/xalloc:
10141         * modules/xmemdup0, modules/xstrtol:
10142         Remove dependency on stdnoreturn.
10143
10144         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10145         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10146         Reparenthesize to avoid GCC warning.
10147         Support Microsoft's syntax.
10148         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10149
10150         _Noreturn-tests: remove module
10151         * modules/_Noreturn-tests: Remove.
10152         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10153         * tests/test-_Noreturn.c: Remove.
10154         * tests/test-stdnoreturn.c: Merge from the old
10155         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10156
10157 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10158
10159         _Noreturn, stdnoreturn, and related modules.
10160
10161         * top/maint.mk: Adjust to new noreturn support.
10162         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10163         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10164
10165         xalloc: use stdnoreturn.h
10166         * lib/xalloc.h: Include <stdnoreturn.h>.
10167         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10168         * modules/xalloc (Depends-on): Add stdnoreturn.
10169
10170         xstrtol: use stdnoreturn.h
10171         * lib/xstrtol.h: Include <stdnoreturn.h>.
10172         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10173         * modules/xstrtol (Depends-on): Add stdnoreturn.
10174
10175         xmemdup0: use stdnoreturn.h
10176         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10177         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10178         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10179
10180         sigpipe-die: use stdnoreturn.h
10181         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10182         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10183         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10184
10185         openat: use stdnoreturn.h
10186         * lib/openat.h: Include <stdnoreturn.h>.
10187         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10188         * modules/openat (Depends-on): Add stdnoreturn.
10189
10190         * lib/openat-die.c (openat_save_fail): Modernize comment.
10191
10192         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10193
10194         * lib/glthread/thread.h: Modernize comment.
10195
10196         obstack: use _Noreturn
10197         * lib/obstack.c (__attribute__): Remove macro.
10198         (print_and_abort): Use _Noreturn.
10199
10200         c-stack: use _Noreturn
10201         * lib/c-stack.c (die, overflow_handler, segv_handler):
10202         Use _Noreturn rather than __attribute__((noreturn)).
10203
10204         argmatch-tests, exclude_tests: use _Noreturn
10205         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10206         Remove.
10207         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10208
10209         stdlib: use _Noreturn
10210         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10211         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10212         * modules/stdlib (Depends-on): Add _Noreturn.
10213         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10214
10215         stdnoreturn-tests: new module
10216         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10217
10218         stdnoreturn: new module
10219         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10220         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10221
10222         _Noreturn-tests: new module
10223         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10224
10225         _Noreturn: new module
10226         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10227         New section, mentioning it.
10228         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10229
10230         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10231
10232 2011-07-11  Eric Blake  <eblake@redhat.com>
10233
10234         ffs: new module
10235         * modules/ffs: New file.
10236         * m4/ffs.m4: Likewise.
10237         * lib/ffs.c: Likewise.
10238         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10239         * modules/strings (Makefile.am): Substitute witness.
10240         (Depends-on): Add c++defs.
10241         * lib/strings.in.h (ffs): Declare.
10242         * modules/ffs-tests: New test file.
10243         * tests/test-ffs.c: Test new module.
10244         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10245         * doc/posix-functions/ffs.texi (ffs): Likewise.
10246
10247         regex: avoid compiler warning
10248         * lib/regex.c (includes): Include <strings.h>, for use of
10249         strcasecmp in regcomp.c.
10250         Reported by Joachim Schmitz.
10251
10252 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10253
10254         stdint: respect system's intmax_t if INTMAX_MAX
10255         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10256         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10257         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10258         long but int64_t is long long, and where we will clash with the
10259         system intmax_t if we override it.  See
10260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10261         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10262         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10263         similarly for UINTMAX_C.
10264
10265 2011-07-08  Bruno Haible  <bruno@clisp.org>
10266
10267         pthread_sigmask tests: Avoid a compiler warning.
10268         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10269         non-zero.
10270
10271         sigprocmask tests: A better way to avoid a compiler warning.
10272         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10273         (main): Complain if system() returns non-zero.
10274         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10275
10276 2011-07-08  Bruno Haible  <bruno@clisp.org>
10277
10278         pthread_sigmask: Work around IRIX bug.
10279         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10280         bug.
10281         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10282         there may be unblocked pending signals.
10283         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10284
10285 2011-07-08  Bruno Haible  <bruno@clisp.org>
10286
10287         pthread_sigmask: Work around Cygwin bug.
10288         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10289         bug.
10290         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10291         the system's pthread_sigmask function.
10292         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10293
10294 2011-07-08  Bruno Haible  <bruno@clisp.org>
10295
10296         pthread_sigmask: Work around bug in single-threaded implementation.
10297         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10298         FreeBSD, HP-UX, Solaris bug.
10299         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10300         * lib/pthread_sigmask.c: Include <stddef.h>.
10301         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10302         the system's pthread_sigmask function.
10303         * modules/pthread_sigmask (configure.ac): Invoke
10304         gl_PREREQ_PTHREAD_SIGMASK.
10305         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10306         HP-UX, Solaris.
10307
10308 2011-07-08  Eric Blake  <eblake@redhat.com>
10309
10310         test-sigprocmask: avoid compiler warning
10311         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10312         * tests/test-sigprocmask.c (main): Use it to silence warning.
10313         Reported by Jim Meyering.
10314
10315         test-snprintf: avoid compiler warning
10316         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10317         * tests/test-vsnprintf.c (main): Likewise.
10318         Reported by Jim Meyering.
10319
10320 2011-07-08  Bruno Haible  <bruno@clisp.org>
10321
10322         Tests for module 'pthread_sigmask'.
10323         * modules/pthread_sigmask-tests: New file.
10324         * tests/test-pthread_sigmask1.c: New file, based on
10325         tests/test-sigprocmask.c.
10326         * tests/test-pthread_sigmask2.c: New file.
10327
10328 2011-07-08  Jim Meyering  <meyering@redhat.com>
10329
10330         test-getopt.h: avoid warning about an unused variable
10331         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10332
10333 2011-07-07  Jim Meyering  <meyering@redhat.com>
10334
10335         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10336         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10337         now that it no longer contains leading TABs.
10338         Remove unused "url=FIXME" statement.
10339
10340 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10341
10342         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10343         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10344         When gl_THREADLIB is not in use, assume that the POSIX sematics
10345         are desired.  This is better for Emacs, which uses POSIX semantics
10346         on GNUish and/or POSIXish platforms, and does not use threads at
10347         all otherwise.
10348
10349         pthread_sigmask: fix typo when testing for libraries
10350         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10351         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10352
10353 2011-07-08  Eric Blake  <eblake@redhat.com>
10354
10355         fts: introduce FTS_NOATIME
10356         * lib/fts_.h (FTS_NOATIME): New bit flag.
10357         (FTS_OPTIONMASK): Adjust.
10358         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10359         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10360
10361 2011-07-08  Bruno Haible  <bruno@clisp.org>
10362
10363         Tests for module 'thread'.
10364         * modules/thread-tests: New file.
10365         * tests/test-thread_self.c: New file.
10366         * tests/test-thread_create.cc: New file.
10367
10368 2011-07-08  Bruno Haible  <bruno@clisp.org>
10369
10370         thread: Avoid gcc warnings when using gl_thread_self().
10371         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10372         'void *'.
10373         (gl_thread_self_pointer): Update.
10374
10375 2011-07-07  Bruno Haible  <bruno@clisp.org>
10376
10377         signal-c++-tests: Check declaration of pthread_sigmask.
10378         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10379         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10380         $(LIB_PTHREAD_SIGMASK).
10381
10382 2011-07-07  Bruno Haible  <bruno@clisp.org>
10383
10384         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10385         * lib/signal.in.h (pthread_sigmask): Override if
10386         REPLACE_PTHREAD_SIGMASK is 1.
10387         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10388         REPLACE_PTHREAD_SIGMASK.
10389         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10390         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10391         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10392         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10393         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10394
10395 2011-07-07  Bruno Haible  <bruno@clisp.org>
10396
10397         pthread_sigmask: Ensure declaration in <signal.h>.
10398         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10399         include <pthread.h>.
10400         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10401         problem.
10402
10403 2011-07-07  Bruno Haible  <bruno@clisp.org>
10404
10405         pthread_sigmask: Document the module.
10406         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10407
10408 2011-07-07  Bruno Haible  <bruno@clisp.org>
10409
10410         pthread_sigmask: Follow gnulib conventions.
10411         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10412         gl_PTHREAD_SIGMASK.
10413         * modules/pthread_sigmask (configure.ac): Update.
10414
10415 2011-07-07  Bruno Haible  <bruno@clisp.org>
10416
10417         pthread_sigmask: Make declaration C++ safe.
10418         * lib/signal.in.h: In two special conditions, just do an #include_next.
10419         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10420         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10421         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10422         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10423         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10424         not REPLACE_PTHREAD_MASK.
10425         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10426         not REPLACE_PTHREAD_MASK.
10427         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10428
10429 2011-07-07  Bruno Haible  <bruno@clisp.org>
10430
10431         pthread_sigmask: Fix return value.
10432         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10433         * lib/pthread_sigmask.c: New file.
10434         * modules/pthread_sigmask (Files): Add it.
10435         (configure.ac): Invoke AC_LIBOBJ.
10436
10437 2011-07-07  Eric Blake  <eblake@redhat.com>
10438
10439         getopt: more portable argv creation
10440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10441         const, use char arrays rather than strings.
10442         Suggested by Paul Eggert.
10443
10444 2011-07-07  Bruno Haible  <bruno@clisp.org>
10445
10446         Tests for module 'sigprocmask'.
10447         * modules/sigprocmask-tests: New file.
10448         * tests/test-sigprocmask.c: New file.
10449
10450 2011-07-07  Bruno Haible  <bruno@clisp.org>
10451
10452         float tests: Tweak.
10453         * tests/test-float.c (main): Tweak skip message.
10454
10455 2011-07-07  Eric Blake  <eblake@redhat.com>
10456
10457         getopt: avoid compiler warning during configure
10458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10459         assigning string literals to non-const pointer.
10460
10461         getopt-gnu: avoid crash in glibc getopt
10462         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10463         * tests/test-getopt.h (test_getopt): Enhance test.
10464         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10465         * doc/posix-functions/getopt.texi (getopt): Document it.
10466         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10467         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10468         Likewise.
10469
10470 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10471
10472         getopt: handle W; without long options in getopt [BZ #12922]
10473         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10474         but no long options are defined, just return 'W'.
10475
10476 2011-07-07  Bruno Haible  <bruno@clisp.org>
10477
10478         Avoid literal tabs.
10479         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10480         variable containing a tab instead of a literal tab.
10481         Reported by Jim Meyering.
10482
10483 2011-07-07  Bruno Haible  <bruno@clisp.org>
10484
10485         Comments.
10486         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10487
10488 2011-07-06  Bruno Haible  <bruno@clisp.org>
10489
10490         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10491         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10492         <winsock2.h>.
10493         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10494         lib/sys_socket.in.h.
10495         (close, gethostname): Hide declarations from <winsock2.h>.
10496         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10497         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10498         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10499         (select): Don't override if gnulib's <sys/select.h> was already
10500         included.
10501         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10502         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10503         setsockopt, shutdown, select): Tweak indentation.
10504
10505 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10506
10507         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10508         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10509         in an application that does not use the sys_select module.
10510
10511 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10512
10513         poll: do not return 0 on timeout=-1
10514         * lib/poll.c: Loop with yield if no events occured
10515
10516 2011-07-06  Eric Blake  <eblake@redhat.com>
10517
10518         pthread_sigmask: always replace when not using pthread
10519         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10520         replacement when using some threading other than pthread.  Fix
10521         logic bug.
10522
10523 2011-07-06  Bruno Haible  <bruno@clisp.org>
10524
10525         Comments.
10526         * m4/printf.m4: Update comments about mingw.
10527
10528 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10529
10530         sys_select: define sigset_t more portably
10531         * lib/sys_select.in.h: Always include <sys/types.h>, since
10532         we now need sigset_t and mingw defines it there.
10533         Include <signal.h> before split inclusion guard, to avoid
10534         mishaps on Solaris, whose <signal.h> eventually includes us.
10535         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10536         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10537         which come from ...
10538         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10539         gl_CHECK_TYPE_SIGSET_T.
10540         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10541         does the real work.
10542         * modules/sys_select (Depends-on): Add 'signal'.
10543
10544         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10545         Suggested by Bruno Haible.
10546
10547         pselect: Use pthread_sigmask, not sigprocmask.
10548         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10549         multithreaded apps better than sigprocmask does.
10550         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10551         sigprocmask directly.
10552
10553 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10554
10555         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10556         Don't #undef,  since we don't need any underlying pselect.
10557         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10558         (Depends-on): Add select.
10559         (Link): Add $(LIBSOCKET).
10560         These changes suggested by Bruno Haible.
10561
10562         pselect: document better
10563         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10564         * doc/posix-functions/pselect.texi (pselect): Document new module.
10565
10566         pthread_sigmask: new module
10567         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10568         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10569         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10570         This is done only as a macro; I don't know how well that'll
10571         work for C++.  Move <sys/types.h> include before the include_next,
10572         to avoid mishap on Solaris.
10573         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10574         * modules/signal (Makefile.am): Substitute the check's results.
10575         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10576
10577         test-pselect: new module
10578         * modules/pselect-tests, tests/test-pselect.c: New files.
10579         * tests/test-select.c, tests/test-sys_select-c++.cc:
10580         If TEST_PSELECT is defined, test pselect instead of testing select.
10581
10582         * tests/test-sys_select.c (sigset_t): Test for it, too.
10583         Suggested by Bruno Haible.
10584
10585 2011-07-05  Eric Blake  <eblake@redhat.com>
10586
10587         snprintf: guarantee %1$d, for libintl
10588         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10589         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10590         * doc/posix-functions/snprintf.texi (snprintf): Update.
10591         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10592         * tests/test-snprintf.c (main): Enhance test.
10593         * tests/test-vsnprintf.c (main): Likewise.
10594
10595 2011-07-05  Jim Meyering  <meyering@redhat.com>
10596
10597         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10598         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10599         per Bruno's request, to accommodate this idiom (no space after "#")
10600         even when the function is inside an #if block:
10601         char *
10602         gets (char *s)
10603         #undef gets
10604         {
10605           ...
10606         }
10607
10608 2011-07-04  Jim Meyering  <meyering@redhat.com>
10609
10610         maint: indent with spaces, not TABs, and add a rule to check this
10611         * tests/test-userspec.c: Indent with spaces, not TABs.
10612         * tests/test-argp.c: Likewise.
10613         * tests/test-c-stack2.sh: Likewise.
10614         * tests/test-parse-duration.sh: Likewise
10615         * m4/strtod.m4: Likewise.
10616         * m4/alloca.m4: Likewise.
10617         * m4/pselect.m4: Likewise.
10618         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10619
10620 2011-07-03  Jim Meyering  <meyering@redhat.com>
10621
10622         maint.mk: correct omissions in prohibit_argmatch_without_use check
10623         This rule would mistakenly report that argmatch.h is included without
10624         use even when both the argmatch and invalid_arg macro were used.
10625         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10626         of argmatch and invalid_arg.
10627
10628 2011-07-03  Bruno Haible  <bruno@clisp.org>
10629
10630         Comments about EINTR.
10631         * lib/safe-read.h: Explain the purpose of this module.
10632         * lib/safe-write.h: Likewise.
10633         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10634         module.
10635         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10636         module.
10637         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10638
10639 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10640
10641         xnanosleep: Rewrite to use new dtotimespec module.
10642         It has the conversion code that used to be in xnanosleep.
10643         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10644         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10645         (TIME_T_MAX): Remove.
10646         (xnanosleep): Rewrite in terms of dtotimespec.
10647         * modules/xnanosleep (Depends-on): Add dtotimespec.
10648         Remove intprops, stdbool.
10649
10650         timespec-add, timespec-sub: new modules
10651         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10652         * lib/timespec-add.c, lib/timespec-sub.c:
10653         * modules/timespec-add, modules/timespec-sub: New files.
10654
10655         dtotimespec: new module
10656         * lib/timespec.h (dtotimespec): New decl.
10657         * lib/dtotimespec.c, modules/dtotimespec: New files.
10658
10659         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10660
10661         pselect: new module
10662         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10663         (pselect): New decls.
10664         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10665         since the standard pselect decl uses 'restrict'.
10666         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10667         HAVE_PSELECT, REPLACE_PSELECT.
10668         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10669         HAVE_PSELECT, REPLACE_PSELECT.
10670         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10671
10672         sys_select: don't depend on sys_socket
10673         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10675         This fix works on GNU and GNU-like platforms, but has not been tested
10676         on native Windows.
10677         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10678         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10679         gl_HEADER_SYS_SOCKET.
10680         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10681         gl_PREREQ_SYS_H_WINSOCK2.
10682
10683 2011-06-29  Eric Blake  <eblake@redhat.com>
10684
10685         pipe2: fix C89 compile problem
10686         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10687         Reported by Bruno Haible.
10688
10689         pipe, pipe2: don't corrupt fd on error
10690         * lib/pipe.c (pipe): Leave fd unchanged on error.
10691         * lib/pipe2.c (pipe2): Likewise.
10692         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10693         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10694
10695 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10696
10697         mmap-anon: do not use regular expressions inadvertently
10698         * m4/mmap-anon.m4: Remove trailing period from strings sought
10699         in the output.
10700
10701 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10702
10703         nanosleep: fix integer overflow problem
10704         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10705         arithmetic wraps around on overflow.
10706
10707         nanosleep: simplify carrying
10708         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10709         first call to the underyling nanosleep, not for the last one.
10710         This doesn't fix any bugs, but it simplifies the computation of
10711         the remaining delay.  Found while auditing integer overflow issues.
10712
10713         dup2: remove test for existence of fcntl
10714         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10715         "#if HAVE_FCNTL", in the configure-time test program.
10716         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10717         and therefore speeds up "configure" a bit.  Found while
10718         adding the dup2 module to Emacs.
10719
10720 2011-06-24  Eric Blake  <eblake@redhat.com>
10721
10722         maint.mk: enhance useless header checks
10723         * top/maint.mk (_sc_header_without_use): Check both include
10724         styles.
10725         (sc_prohibit_assert_without_use)
10726         (sc_prohibit_close_stream_without_use)
10727         (sc_prohibit_getopt_without_use)
10728         (sc_prohibit_quotearg_without_use)
10729         (sc_prohibit_quote_without_use)
10730         (sc_prohibit_long_options_without_use)
10731         (sc_prohibit_inttostr_without_use)
10732         (sc_prohibit_ignore_value_without_use)
10733         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10734         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10735         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10736         (sc_prohibit_hash_pjw_without_use)
10737         (sc_prohibit_safe_read_without_use)
10738         (sc_prohibit_argmatch_without_use)
10739         (sc_prohibit_canonicalize_without_use)
10740         (sc_prohibit_root_dev_ino_without_use)
10741         (sc_prohibit_openat_without_use)
10742         (sc_prohibit_c_ctype_without_use)
10743         (sc_prohibit_signal_without_use)
10744         (sc_prohibit_stdio--_without_use)
10745         (sc_prohibit_stdio-safer_without_use)
10746         (sc_prohibit_strings_without_use)
10747         (sc_prohibit_intprops_without_use)
10748         (sc_prohibit_stddef_without_use)
10749         (sc_prohibit_xfreopen_without_use): Update clients.
10750
10751 2011-06-24  Jim Meyering  <meyering@redhat.com>
10752
10753         syntax-check: keep one maint.mk rule in sync with its header
10754         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10755         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10756         I prefer to avoid temporary files here, so use <(...), but that
10757         is not supported by /bin/sh, so...
10758         (SHELL): Define to /bin/bash.
10759
10760 2011-06-24  Eric Blake  <eblake@redhat.com>
10761
10762         maint.mk: update sc_prohibit_intprops_without_use
10763         * top/maint.mk (_intprops_names): Match recent changes.
10764
10765 2011-06-24  Bruno Haible  <bruno@clisp.org>
10766
10767         strerror-override: No-op tweak.
10768         * lib/strerror-override.h (strerror_override): Reorder conditions,
10769         for consistency with lib/strerror-override.c.
10770
10771 2011-06-23  Eric Blake  <eblake@redhat.com>
10772
10773         maint.mk: test further PATH_MAX issues
10774         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10775         (sc_prohibit_path_max_allocation): ...and also test alloca.
10776         Suggested by Jim Meyering.
10777
10778 2011-06-22  Eric Blake  <eblake@redhat.com>
10779
10780         maint.mk: add syntax-check to avoid char[PATH_MAX]
10781         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10782
10783         stat: be robust to PATH_MAX definition
10784         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10785         * modules/stat (Depends-on): Add verify.
10786
10787         link: work around IRIX bug
10788         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10789         * lib/link.c (rpl_link): Work around it.
10790         * tests/test-link.h (test_link): Enhance test.
10791         * doc/posix-functions/link.texi (link): Document the bug.
10792
10793         getopt: silence clang warning
10794         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10795         dereference.
10796         Reported by Gustavo Martin Domato.
10797
10798 2011-06-22  Jim Meyering  <meyering@redhat.com>
10799
10800         bootstrap: do not insert a blank line into each .gitignore file
10801         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10802
10803 2011-06-21  Eric Blake  <eblake@redhat.com>
10804
10805         perror: test for output mismatch
10806         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10807         perror on IRIX.
10808
10809         strerror_r: fix OpenBSD behavior on out-of-range
10810         * lib/strerror_r.c (strerror_r): Always use maximal string.
10811         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10812
10813         strerror_r: fix OpenBSD behavior on 0
10814         * lib/strerror-override.c (strerror_override): Also override 0
10815         when needed.
10816         * lib/strerror-override.h (strerror_override): Likewise.
10817         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10818         earlier.
10819         * lib/strerror_r.c (strerror_r): Likewise.
10820         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10821         behavior...
10822         (gl_FUNC_STRERROR_0): ...into new macro.
10823         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10824         is overridden.
10825         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10826         * modules/strerror-override (Files): Add strerror.m4.
10827         (configure.ac): Also provide override for 0 when needed.
10828         * doc/posix-functions/strerror.texi (strerror): Document this.
10829         * doc/posix-functions/perror.texi (perror): Likewise.
10830
10831         perror: adjust array size
10832         * modules/perror (Depends-on): Add strerror-override.
10833         * lib/perror.c (perror): Use it to avoid magic number.
10834
10835         strerror-override: reduce size
10836         * lib/strerror-override.c (strerror_override): Use fewer lines.
10837
10838 2011-06-20  Bruno Haible  <bruno@clisp.org>
10839
10840         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10841         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10842
10843 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10844
10845         alloca: port to compilers that can optimize like GCC 4.6.0
10846         * lib/alloca.c (find_stack_direction): New signature, taken from
10847         Autoconf git.  This works with GCC 4.6.0.  This code should never
10848         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10849         be used with other compilers that optimize as well as GCC 4.6.0 does.
10850         (alloca): Adjust to new signature.
10851         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10852         New macro, which patches Autoconf in a similar way.
10853
10854         c-stack: stop worrying about stack direction
10855         * lib/c-stack.c (find_stack_direction): Remove.
10856         (segv_handler): Don't worry about stack direction growth, as it's
10857         too much of a pain to configure this correctly, given how compilers
10858         are optimizing-away our stack-growth detection code.  Instead, assume
10859         that any access to just before or just after the stack is OK.
10860         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10861         Don't require AC_FUNC_ALLOCA; no longer needed.
10862
10863 2011-06-20  Eric Blake  <eblake@redhat.com>
10864
10865         test-stat: don't allocate PATH_MAX bytes
10866         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10867         PATH_MAX-sized buffer.
10868         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10869         * modules/stat-tests (Depends-on): Likewise.
10870         * tests/test-fstatat.c (includes): Drop pathmax.h.
10871         * tests/test-stat.c (includes): Likewise.
10872         Reported by Bruno Haible.
10873
10874 2011-06-20  Bruno Haible  <bruno@clisp.org>
10875
10876         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10877         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10878         * lib/float.c: New file.
10879         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10880         REPLACE_FLOAT_LDBL.
10881         * modules/float (Files): Add lib/float.c.
10882         (configure.ac): Invoke AC_LIBOBJ.
10883         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10884
10885 2011-06-20  Bruno Haible  <bruno@clisp.org>
10886
10887         Tests for module 'float'.
10888         * modules/float-tests: New file.
10889         * tests/test-float.c: New file.
10890
10891 2011-06-19  Bruno Haible  <bruno@clisp.org>
10892
10893         isinf: Coding style.
10894         * lib/isinf.c: Use GNU coding style.
10895
10896 2011-06-19  Bruno Haible  <bruno@clisp.org>
10897
10898         linkat test: Avoid test failure on AIX 7.1.
10899         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10900         * tests/test-link.h (test_link): Likewise.
10901
10902 2011-06-19  Bruno Haible  <bruno@clisp.org>
10903
10904         pread test: Avoid test failure on OpenBSD 4.9.
10905         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10906
10907 2011-06-19  Bruno Haible  <bruno@clisp.org>
10908
10909         sprintf-posix: Fix test failure on AIX 7.1.
10910         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10911         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10912         on AIX.
10913         * doc/posix-functions/fprintf.texi: Likewise.
10914         * doc/posix-functions/printf.texi: Likewise.
10915         * doc/posix-functions/snprintf.texi: Likewise.
10916         * doc/posix-functions/sprintf.texi: Likewise.
10917         * doc/posix-functions/vdprintf.texi: Likewise.
10918         * doc/posix-functions/vfprintf.texi: Likewise.
10919         * doc/posix-functions/vprintf.texi: Likewise.
10920         * doc/posix-functions/vsnprintf.texi: Likewise.
10921         * doc/posix-functions/vsprintf.texi: Likewise.
10922
10923 2011-06-19  Bruno Haible  <bruno@clisp.org>
10924
10925         roundl-ieee: Fix test failure on AIX 7.1.
10926         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10927         * doc/posix-functions/roundl.texi: Mention problem with negative
10928         arguments.
10929
10930 2011-06-19  Bruno Haible  <bruno@clisp.org>
10931
10932         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10933         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10934         * doc/posix-functions/round.texi: Mention problem with negative
10935         arguments.
10936         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10937
10938 2011-06-19  Bruno Haible  <bruno@clisp.org>
10939
10940         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10941         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10942         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10943         * doc/posix-functions/roundf.texi: Mention problem with negative
10944         arguments.
10945         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10946
10947 2011-06-19  Bruno Haible  <bruno@clisp.org>
10948
10949         ceilf-ieee: Work around bug on MacOS X 10.5.
10950         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10951
10952         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10953         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10954         IEEE compliant, avoid compiler optimizations.
10955         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10956         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10957         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10958         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10959         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10960         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10961         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10962         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10963         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10964         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10965
10966 2011-06-19  Bruno Haible  <bruno@clisp.org>
10967
10968         ceilf-ieee: Work around bug on AIX 7.1.
10969         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10970         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10971
10972 2011-06-19  Bruno Haible  <bruno@clisp.org>
10973
10974         ceil-ieee: Work around bug on AIX 7.1.
10975         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10976         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10977
10978 2011-06-18  Bruno Haible  <bruno@clisp.org>
10979
10980         fsync test: Avoid test failure on MacOS X and AIX.
10981         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10982         EINVAL.
10983
10984 2011-06-18  Bruno Haible  <bruno@clisp.org>
10985
10986         openat, fdopendir tests: Fix link errors.
10987         * modules/openat-tests (Depends-on): Add progname.
10988         * modules/fdopendir-tests (Depends-on): Likewise.
10989         * tests/test-fchownat.c: Include progname.h.
10990         (main): Call set_program_name.
10991         * tests/test-fstatat.c: Include progname.h.
10992         (main): Call set_program_name.
10993         * tests/test-mkdirat.c: Include progname.h.
10994         (main): Call set_program_name.
10995         * tests/test-openat.c: Include progname.h.
10996         (main): Call set_program_name.
10997         * tests/test-unlinkat.c: Include progname.h.
10998         (main): Call set_program_name.
10999         * tests/test-fdopendir.c: Include progname.h.
11000         (main): Call set_program_name.
11001
11002 2011-06-18  Bruno Haible  <bruno@clisp.org>
11003
11004         Doc update.
11005         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11006         HP-UX.
11007         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11008
11009 2011-06-18  Bruno Haible  <bruno@clisp.org>
11010
11011         getcwd tests: Avoid compilation error on HP-UX 11.31.
11012         * modules/getcwd-tests (Depends-on): Add pathmax.
11013         * tests/test-getcwd.c: Include pathmax.h.
11014
11015 2011-06-18  Bruno Haible  <bruno@clisp.org>
11016
11017         isfinite, isinf: Fix link error on AIX 6 and 7.
11018         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11019         needed, also test the macro with a 'float' argument.
11020         * m4/isinf.m4 (gl_ISINF): Likewise.
11021
11022 2011-06-18  Bruno Haible  <bruno@clisp.org>
11023
11024         getloadavg: Don't clobber LIBS. Regression from previous commit.
11025         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11026         AC_CHECK_LIB from here...
11027         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11028         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11029         gl_func_getloadavg_done.
11030         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11031
11032 2011-06-18  Bruno Haible  <bruno@clisp.org>
11033
11034         clean-temp: Improve documentation.
11035         * lib/clean-temp.h: Explain better how to use this module.
11036         Reported by John Darrington <john@darrington.wattle.id.au>.
11037
11038 2011-06-17  Bruno Haible  <bruno@clisp.org>
11039
11040         pread, pwrite: Avoid cc warning on AIX.
11041         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11042         (pwrite): Likewise.
11043
11044 2011-06-17  Bruno Haible  <bruno@clisp.org>
11045
11046         spawn-pipe tests: Fix link error.
11047         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11048         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11049
11050 2011-06-17  Bruno Haible  <bruno@clisp.org>
11051
11052         Tests: Remove unnecessary dependency.
11053         * modules/canonicalize-tests (Depends-on): Remove progname.
11054         * modules/chown-tests (Depends-on): Likewise.
11055         * modules/dirname-tests (Depends-on): Likewise.
11056         * modules/fdopendir-tests (Depends-on): Likewise.
11057         * modules/fdutimensat-tests (Depends-on): Likewise.
11058         * modules/hash-tests (Depends-on): Likewise.
11059         * modules/lchown-tests (Depends-on): Likewise.
11060         * modules/linkat-tests (Depends-on): Likewise.
11061         * modules/renameat-tests (Depends-on): Likewise.
11062         * modules/spawn-pipe-tests (Depends-on): Likewise.
11063         * modules/utimensat-tests (Depends-on): Likewise.
11064
11065 2011-06-17  Bruno Haible  <bruno@clisp.org>
11066
11067         spawn-pipe tests: Fix link error.
11068         * tests/test-spawn-pipe-child.c: Undefine fflush.
11069
11070 2011-06-17  Bruno Haible  <bruno@clisp.org>
11071
11072         Fix tests link errors.
11073         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11074         * modules/chown-tests (Makefile.am): Don't link test-chown with
11075         LIBINTL.
11076         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11077         LIBINTL.
11078         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11079         LIBINTL.
11080         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11081         LIBINTL.
11082
11083 2011-06-16  Bruno Haible  <bruno@clisp.org>
11084
11085         crypto/gc-sha1: Fix recent regression.
11086         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11087         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11088
11089         crypto/gc-md5: Fix recent regression.
11090         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11091
11092         crypto/gc-md4: Fix recent regression.
11093         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11094         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11095
11096         crypto/gc-arctwo: Fix recent regression.
11097         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11098         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11099
11100         crypto/gc-rijndael: Fix recent regression.
11101         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11102         (configure.ac): Invoke AC_LIBOBJ here.
11103         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11105
11106         crypto/gc-hmac-sha1: Fix recent regression.
11107         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11108         (configure.ac): Invoke AC_LIBOBJ here.
11109         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11110         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11111
11112         crypto/gc-hmac-md5: Fix recent regression.
11113         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11114         (configure.ac): Invoke AC_LIBOBJ here.
11115         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11116         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11117
11118         crypto/gc-des: Fix recent regression.
11119         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11120         (configure.ac): Invoke AC_LIBOBJ here.
11121         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11122         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11123
11124         crypto/gc-arcfour: Fix recent regression.
11125         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11126         (configure.ac): Invoke AC_LIBOBJ here.
11127         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11128         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11129
11130 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11131
11132         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11133         After the 2011-05-21 change, this macro requires
11134         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11135         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11136
11137 2011-06-16  Bruno Haible  <bruno@clisp.org>
11138
11139         fprintftime: Move AC_LIBOBJ invocations to module description.
11140         * m4/fprintftime.m4: Remove file.
11141         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11142         (configure.ac): Remove gl_FPRINTFTIME call.
11143         (Makefile.am): Augment lib_SOURCES.
11144         Reported by Jim Meyering.
11145
11146 2011-06-16  Bruno Haible  <bruno@clisp.org>
11147
11148         tmpfile-safer: Finish 2011-05-23 commit.
11149         * m4/stdio-safer.m4: Really remove file.
11150         Reported by Jim Meyering.
11151
11152 2011-06-16  Bruno Haible  <bruno@clisp.org>
11153
11154         syntax-check: Fix typo.
11155         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11156         printf-posix.m4.
11157         Reported by Jim Meyering.
11158
11159 2011-06-13  Jim Meyering  <meyering@redhat.com>
11160
11161         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11162         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11163
11164 2011-05-23  Bruno Haible  <bruno@clisp.org>
11165
11166         yesno: Move AC_LIBOBJ invocations to module description.
11167         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11168         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11169
11170 2011-05-23  Bruno Haible  <bruno@clisp.org>
11171
11172         xstrtol: Move AC_LIBOBJ invocations to module description.
11173         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11174         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11175
11176 2011-05-23  Bruno Haible  <bruno@clisp.org>
11177
11178         xstrtold: Move AC_LIBOBJ invocations to module description.
11179         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11180         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11181
11182 2011-05-23  Bruno Haible  <bruno@clisp.org>
11183
11184         xstrtod: Move AC_LIBOBJ invocations to module description.
11185         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11186         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11187
11188 2011-05-23  Bruno Haible  <bruno@clisp.org>
11189
11190         xnanosleep: Move AC_LIBOBJ invocations to module description.
11191         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11192         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11193
11194 2011-05-23  Bruno Haible  <bruno@clisp.org>
11195
11196         xgetcwd: Move AC_LIBOBJ invocations to module description.
11197         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11198         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11199
11200 2011-05-23  Bruno Haible  <bruno@clisp.org>
11201
11202         xalloc: Move AC_LIBOBJ invocations to module description.
11203         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11204         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11205
11206 2011-05-23  Bruno Haible  <bruno@clisp.org>
11207
11208         write-any-file: Move AC_LIBOBJ invocations to module description.
11209         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11210         invocation.
11211         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11212
11213 2011-05-23  Bruno Haible  <bruno@clisp.org>
11214
11215         utimens: Move AC_LIBOBJ invocations to module description.
11216         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11217         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11218
11219 2011-05-23  Bruno Haible  <bruno@clisp.org>
11220
11221         utimecmp: Move AC_LIBOBJ invocations to module description.
11222         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11223         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11224
11225 2011-05-23  Bruno Haible  <bruno@clisp.org>
11226
11227         userspec: Move AC_LIBOBJ invocations to module description.
11228         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11229         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11230
11231 2011-05-23  Bruno Haible  <bruno@clisp.org>
11232
11233         unlinkdir: Move AC_LIBOBJ invocations to module description.
11234         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11235         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11236
11237 2011-05-23  Bruno Haible  <bruno@clisp.org>
11238
11239         unistd-safer: Move AC_LIBOBJ invocations to module description.
11240         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11241         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11242
11243 2011-05-23  Bruno Haible  <bruno@clisp.org>
11244
11245         tempname: Move AC_LIBOBJ invocations to module description.
11246         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11247         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11248
11249 2011-05-23  Bruno Haible  <bruno@clisp.org>
11250
11251         strftime: Move AC_LIBOBJ invocations to module description.
11252         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11253         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11254
11255 2011-05-23  Bruno Haible  <bruno@clisp.org>
11256
11257         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11258         * m4/stdlib-safer.m4: Remove file.
11259         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11260         (configure.ac): Remove gl_STDLIB_SAFER call.
11261         (Makefile.am): Augment lib_SOURCES.
11262
11263 2011-05-23  Bruno Haible  <bruno@clisp.org>
11264
11265         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11266         * m4/stdio-safer.m4: Remove file.
11267         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11268         (configure.ac): Remove gl_TMPFILE_SAFER call.
11269         (Makefile.am): Augment lib_SOURCES.
11270
11271 2011-05-23  Bruno Haible  <bruno@clisp.org>
11272
11273         popen-safer: Move AC_LIBOBJ invocations to module description.
11274         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11275         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11276         (configure.ac): Remove gl_POPEN_SAFER call.
11277         (Makefile.am): Augment lib_SOURCES.
11278
11279 2011-05-23  Bruno Haible  <bruno@clisp.org>
11280
11281         freopen-safer: Move AC_LIBOBJ invocations to module description.
11282         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11283         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11284         (configure.ac): Remove gl_FREOPEN_SAFER call.
11285         (Makefile.am): Augment lib_SOURCES.
11286
11287 2011-05-23  Bruno Haible  <bruno@clisp.org>
11288
11289         fopen-safer: Move AC_LIBOBJ invocations to module description.
11290         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11291         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11292         (configure.ac): Remove gl_FOPEN_SAFER call.
11293         (Makefile.am): Augment lib_SOURCES.
11294
11295 2011-05-23  Bruno Haible  <bruno@clisp.org>
11296
11297         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11298         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11299         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11300
11301 2011-05-23  Bruno Haible  <bruno@clisp.org>
11302
11303         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11304         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11305         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11306
11307 2011-05-23  Bruno Haible  <bruno@clisp.org>
11308
11309         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11310         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11311         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11312
11313 2011-05-23  Bruno Haible  <bruno@clisp.org>
11314
11315         settime: Move AC_LIBOBJ invocations to module description.
11316         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11317         * modules/settime (Makefile.am): Augment lib_SOURCES.
11318
11319 2011-05-23  Bruno Haible  <bruno@clisp.org>
11320
11321         savedir: Move AC_LIBOBJ invocations to module description.
11322         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11323         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11324
11325 2011-05-23  Bruno Haible  <bruno@clisp.org>
11326
11327         save-cwd: Move AC_LIBOBJ invocations to module description.
11328         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11329         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11330
11331 2011-05-23  Bruno Haible  <bruno@clisp.org>
11332
11333         same: Move AC_LIBOBJ invocations to module description.
11334         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11335         * modules/same (Makefile.am): Augment lib_SOURCES.
11336
11337 2011-05-23  Bruno Haible  <bruno@clisp.org>
11338
11339         safe-write: Move AC_LIBOBJ invocations to module description.
11340         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11341         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11342         instead of gl_SAFE_WRITE.
11343         (Makefile.am): Augment lib_SOURCES.
11344
11345 2011-05-23  Bruno Haible  <bruno@clisp.org>
11346
11347         safe-read: Move AC_LIBOBJ invocations to module description.
11348         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11349         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11350         of gl_SAFE_READ.
11351         (Makefile.am): Augment lib_SOURCES.
11352
11353 2011-05-23  Bruno Haible  <bruno@clisp.org>
11354
11355         safe-alloc: Move AC_LIBOBJ invocations to module description.
11356         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11357         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11358
11359 2011-05-23  Bruno Haible  <bruno@clisp.org>
11360
11361         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11362         * m4/rijndael.m4: Remove file.
11363         * modules/crypto/rijndael (Files): Remove it.
11364         (configure.ac): Remove gl_RIJNDAEL call.
11365         (Makefile.am): Augment lib_SOURCES.
11366
11367 2011-05-23  Bruno Haible  <bruno@clisp.org>
11368
11369         readtokens: Move AC_LIBOBJ invocations to module description.
11370         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11371         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11372
11373 2011-05-23  Bruno Haible  <bruno@clisp.org>
11374
11375         read-file: Move AC_LIBOBJ invocations to module description.
11376         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11377         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11378         of gl_FUNC_READ_FILE.
11379         (Makefile.am): Augment lib_SOURCES.
11380
11381 2011-05-23  Bruno Haible  <bruno@clisp.org>
11382
11383         quotearg: Move AC_LIBOBJ invocations to module description.
11384         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11385         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11386
11387 2011-05-23  Bruno Haible  <bruno@clisp.org>
11388
11389         quote: Move AC_LIBOBJ invocations to module description.
11390         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11391         * modules/quote (Makefile.am): Augment lib_SOURCES.
11392
11393 2011-05-23  Bruno Haible  <bruno@clisp.org>
11394
11395         posixver: Move AC_LIBOBJ invocations to module description.
11396         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11397         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11398
11399 2011-05-23  Bruno Haible  <bruno@clisp.org>
11400
11401         posixtm: Move AC_LIBOBJ invocations to module description.
11402         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11403         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11404
11405 2011-05-23  Bruno Haible  <bruno@clisp.org>
11406
11407         physmem: Move AC_LIBOBJ invocations to module description.
11408         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11409         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11410
11411 2011-05-23  Bruno Haible  <bruno@clisp.org>
11412
11413         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11414         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11415         invocation.
11416         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11417
11418 2011-05-23  Bruno Haible  <bruno@clisp.org>
11419
11420         mpsort: Move AC_LIBOBJ invocations to module description.
11421         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11422         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11423
11424 2011-05-23  Bruno Haible  <bruno@clisp.org>
11425
11426         modechange: Move AC_LIBOBJ invocations to module description.
11427         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11428         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11429
11430 2011-05-23  Bruno Haible  <bruno@clisp.org>
11431
11432         mkdir-p: Move AC_LIBOBJ invocations to module description.
11433         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11434         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11435
11436 2011-05-23  Bruno Haible  <bruno@clisp.org>
11437
11438         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11439         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11440         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11441
11442 2011-05-23  Bruno Haible  <bruno@clisp.org>
11443
11444         mgetgroups: Move AC_LIBOBJ invocations to module description.
11445         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11446         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11447
11448 2011-05-23  Bruno Haible  <bruno@clisp.org>
11449
11450         memxor: Move AC_LIBOBJ invocations to module description.
11451         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11452         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11453
11454 2011-05-23  Bruno Haible  <bruno@clisp.org>
11455
11456         memcoll: Move AC_LIBOBJ invocations to module description.
11457         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11458         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11459
11460 2011-05-23  Bruno Haible  <bruno@clisp.org>
11461
11462         memcasecmp: Move AC_LIBOBJ invocations to module description.
11463         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11464         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11465
11466 2011-05-23  Bruno Haible  <bruno@clisp.org>
11467
11468         crypto/md5: Move AC_LIBOBJ invocations to module description.
11469         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11470         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11471
11472 2011-05-23  Bruno Haible  <bruno@clisp.org>
11473
11474         crypto/md4: Move AC_LIBOBJ invocations to module description.
11475         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11476         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11477
11478 2011-05-23  Bruno Haible  <bruno@clisp.org>
11479
11480         crypto/md2: Move AC_LIBOBJ invocations to module description.
11481         * m4/md2.m4: Remove file.
11482         * modules/crypto/md2 (Files): Remove it.
11483         (configure.ac): Remove gl_MD2 call.
11484         (Makefile.am): Augment lib_SOURCES.
11485
11486 2011-05-23  Bruno Haible  <bruno@clisp.org>
11487
11488         long-options: Move AC_LIBOBJ invocations to module description.
11489         * m4/long-options.m4: Remove file.
11490         * modules/long-options (Files): Remove it.
11491         (configure.ac): Remove gl_LONG_OPTIONS call.
11492         (Makefile.am): Augment lib_SOURCES.
11493
11494 2011-05-23  Bruno Haible  <bruno@clisp.org>
11495
11496         i-ring: Move AC_LIBOBJ invocations to module description.
11497         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11498         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11499
11500 2011-05-23  Bruno Haible  <bruno@clisp.org>
11501
11502         idcache: Move AC_LIBOBJ invocations to module description.
11503         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11504         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11505
11506 2011-05-23  Bruno Haible  <bruno@clisp.org>
11507
11508         human: Move AC_LIBOBJ invocations to module description.
11509         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11510         * modules/human (Makefile.am): Augment lib_SOURCES.
11511
11512 2011-05-23  Bruno Haible  <bruno@clisp.org>
11513
11514         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11515         * m4/hmac-sha1.m4: Remove file.
11516         * modules/crypto/hmac-sha1 (Files): Remove it.
11517         (configure.ac): Remove gl_HMAC_SHA1 call.
11518         (Makefile.am): Augment lib_SOURCES.
11519
11520 2011-05-23  Bruno Haible  <bruno@clisp.org>
11521
11522         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11523         * m4/hmac-md5.m4: Remove file.
11524         * modules/crypto/hmac-md5 (Files): Remove it.
11525         (configure.ac): Remove gl_HMAC_MD5 call.
11526         (Makefile.am): Augment lib_SOURCES.
11527
11528 2011-05-23  Bruno Haible  <bruno@clisp.org>
11529
11530         hash: Move AC_LIBOBJ invocations to module description.
11531         * m4/hash.m4: Remove file.
11532         * modules/hash (Files): Remove it.
11533         (configure.ac): Remove gl_HASH call.
11534         (Makefile.am): Augment lib_SOURCES.
11535
11536 2011-05-23  Bruno Haible  <bruno@clisp.org>
11537
11538         hard-locale: Move AC_LIBOBJ invocations to module description.
11539         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11540         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11541
11542 2011-05-23  Bruno Haible  <bruno@clisp.org>
11543
11544         getugroups: Move AC_LIBOBJ invocations to module description.
11545         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11546         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11547
11548 2011-05-23  Bruno Haible  <bruno@clisp.org>
11549
11550         gettime: Move AC_LIBOBJ invocations to module description.
11551         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11552         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11553
11554 2011-05-23  Bruno Haible  <bruno@clisp.org>
11555
11556         getndelim2: Move AC_LIBOBJ invocations to module description.
11557         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11558         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11559
11560 2011-05-23  Bruno Haible  <bruno@clisp.org>
11561
11562         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11563         * m4/gc-pbkdf2-sha1.m4: Remove file.
11564         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11565         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11566         (Makefile.am): Augment lib_SOURCES.
11567
11568 2011-05-23  Bruno Haible  <bruno@clisp.org>
11569
11570         fts: Move AC_LIBOBJ invocations to module description.
11571         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11572         * modules/fts (configure.ac): ... to here.
11573
11574 2011-05-23  Bruno Haible  <bruno@clisp.org>
11575
11576         file-type: Move AC_LIBOBJ invocations to module description.
11577         * m4/file-type.m4: Remove file.
11578         * modules/file-type (Files): Remove it.
11579         (configure.ac): Remove gl_FILE_TYPE call.
11580         (Makefile.am): Augment lib_SOURCES.
11581
11582 2011-05-23  Bruno Haible  <bruno@clisp.org>
11583
11584         filenamecat*: Respect rules for use of AC_LIBOBJ.
11585         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11586         Remove AC_LIBOBJ invocation.
11587         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11588         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11589
11590 2011-05-23  Bruno Haible  <bruno@clisp.org>
11591
11592         filemode: Move AC_LIBOBJ invocations to module description.
11593         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11594         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11595
11596 2011-05-23  Bruno Haible  <bruno@clisp.org>
11597
11598         openat-safer: Move AC_LIBOBJ invocations to module description.
11599         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11600         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11601
11602 2011-05-23  Bruno Haible  <bruno@clisp.org>
11603
11604         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11605         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11606         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11607
11608 2011-05-23  Bruno Haible  <bruno@clisp.org>
11609
11610         exclude: Move AC_LIBOBJ invocations to module description.
11611         * m4/exclude.m4: Remove file.
11612         * modules/exclude (Files): Remove it.
11613         (configure.ac): Remove gl_EXCLUDE call.
11614         (Makefile.am): Augment lib_SOURCES.
11615
11616 2011-05-23  Bruno Haible  <bruno@clisp.org>
11617
11618         dirname*: Respect rules for use of AC_LIBOBJ.
11619         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11620         invocations.
11621         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11622         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11623
11624 2011-05-23  Bruno Haible  <bruno@clisp.org>
11625
11626         dirent-safer: Move AC_LIBOBJ invocations to module description.
11627         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11628         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11629
11630 2011-05-23  Bruno Haible  <bruno@clisp.org>
11631
11632         crypto/des: Move AC_LIBOBJ invocations to module description.
11633         * m4/des.m4: Remove file.
11634         * modules/crypto/des (Files): Remove it.
11635         (configure.ac): Remove gl_DES call.
11636         (Makefile.am): Augment lib_SOURCES.
11637
11638 2011-05-23  Bruno Haible  <bruno@clisp.org>
11639
11640         cycle-check: Move AC_LIBOBJ invocations to module description.
11641         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11642         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11643
11644 2011-05-23  Bruno Haible  <bruno@clisp.org>
11645
11646         c-strtold: Move AC_LIBOBJ invocations to module description.
11647         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11648         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11649
11650 2011-05-23  Bruno Haible  <bruno@clisp.org>
11651
11652         c-strtod: Move AC_LIBOBJ invocations to module description.
11653         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11654         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11655
11656 2011-05-23  Bruno Haible  <bruno@clisp.org>
11657
11658         crc: Move AC_LIBOBJ invocations to module description.
11659         * m4/crc.m4: Remove file.
11660         * modules/crc (Files): Remove it.
11661         (configure.ac): Remove gl_CRC call.
11662         (Makefile.am): Augment lib_SOURCES.
11663
11664 2011-05-23  Bruno Haible  <bruno@clisp.org>
11665
11666         close-stream: Move AC_LIBOBJ invocations to module description.
11667         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11668         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11669
11670 2011-05-23  Bruno Haible  <bruno@clisp.org>
11671
11672         closeout: Move AC_LIBOBJ invocations to module description.
11673         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11674         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11675
11676 2011-05-23  Bruno Haible  <bruno@clisp.org>
11677
11678         closein: Move AC_LIBOBJ invocations to module description.
11679         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11680         * modules/closein (Makefile.am): Augment lib_SOURCES.
11681
11682 2011-05-23  Bruno Haible  <bruno@clisp.org>
11683
11684         cloexec: Move AC_LIBOBJ invocations to module description.
11685         * m4/cloexec.m4: Remove file.
11686         * modules/cloexec (Files): Remove it.
11687         (configure.ac): Remove gl_CLOEXEC call.
11688         (Makefile.am): Augment lib_SOURCES.
11689
11690 2011-05-23  Bruno Haible  <bruno@clisp.org>
11691
11692         check-version: Move AC_LIBOBJ invocations to module description.
11693         * m4/check-version.m4: Remove file.
11694         * modules/check-version (Files): Remove it.
11695         (configure.ac): Remove gl_CHECK_VERSION call.
11696         (Makefile.am): Augment lib_SOURCES.
11697
11698 2011-05-23  Bruno Haible  <bruno@clisp.org>
11699
11700         chdir-safer: Move AC_LIBOBJ invocations to module description.
11701         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11702         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11703
11704 2011-05-23  Bruno Haible  <bruno@clisp.org>
11705
11706         canonicalize: Move AC_LIBOBJ invocations to module description.
11707         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11708         AC_LIBOBJ invocation.
11709         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11710
11711 2011-05-23  Bruno Haible  <bruno@clisp.org>
11712
11713         canon-host: Move AC_LIBOBJ invocations to module description.
11714         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11715         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11716         instead of gl_CANON_HOST.
11717         (Makefile.am): Augment lib_SOURCES.
11718
11719 2011-05-23  Bruno Haible  <bruno@clisp.org>
11720
11721         backupfile: Move AC_LIBOBJ invocations to module description.
11722         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11723         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11724
11725 2011-05-23  Bruno Haible  <bruno@clisp.org>
11726
11727         argmatch: Move AC_LIBOBJ invocations to module description.
11728         * m4/argmatch.m4: Remove file.
11729         * modules/argmatch (Files): Remove it.
11730         (configure.ac): Remove gl_ARGMATCH call.
11731         (Makefile.am): Augment lib_SOURCES.
11732
11733 2011-05-23  Bruno Haible  <bruno@clisp.org>
11734
11735         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11736         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11737         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11738
11739 2011-05-23  Bruno Haible  <bruno@clisp.org>
11740
11741         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11742         * m4/arcfour.m4: Remove file.
11743         * modules/crypto/arcfour (Files): Remove it.
11744         (configure.ac): Remove gl_ARCFOUR call.
11745         (Makefile.am): Augment lib_SOURCES.
11746
11747 2011-05-22  Bruno Haible  <bruno@clisp.org>
11748
11749         write: Move AC_LIBOBJ invocations to module description.
11750         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11751         * modules/write (configure.ac): ... to here.
11752
11753 2011-05-22  Bruno Haible  <bruno@clisp.org>
11754
11755         wmemset: Move AC_LIBOBJ invocations to module description.
11756         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11757         here...
11758         * modules/wmemset (configure.ac): ... to here.
11759
11760 2011-05-22  Bruno Haible  <bruno@clisp.org>
11761
11762         wmemmove: Move AC_LIBOBJ invocations to module description.
11763         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11764         here...
11765         * modules/wmemmove (configure.ac): ... to here.
11766
11767 2011-05-22  Bruno Haible  <bruno@clisp.org>
11768
11769         wmemcpy: Move AC_LIBOBJ invocations to module description.
11770         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11771         here...
11772         * modules/wmemcpy (configure.ac): ... to here.
11773
11774 2011-05-22  Bruno Haible  <bruno@clisp.org>
11775
11776         wmemcmp: Move AC_LIBOBJ invocations to module description.
11777         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11778         here...
11779         * modules/wmemcmp (configure.ac): ... to here.
11780
11781 2011-05-22  Bruno Haible  <bruno@clisp.org>
11782
11783         wmemchr: Move AC_LIBOBJ invocations to module description.
11784         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11785         here...
11786         * modules/wmemchr (configure.ac): ... to here.
11787
11788 2011-05-22  Bruno Haible  <bruno@clisp.org>
11789
11790         wcswidth: Move AC_LIBOBJ invocations to module description.
11791         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11792         here...
11793         * modules/wcswidth (configure.ac): ... to here.
11794
11795 2011-05-22  Bruno Haible  <bruno@clisp.org>
11796
11797         wcwidth: Respect rules for use of AC_LIBOBJ.
11798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11799         invocation from here...
11800         * modules/wcwidth (configure.ac): ... to here.
11801         (Depends-on): Update conditions.
11802
11803 2011-05-22  Bruno Haible  <bruno@clisp.org>
11804
11805         wctype: Move AC_LIBOBJ invocations to module description.
11806         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11807         invocation from here...
11808         * modules/wctype (configure.ac): ... to here.
11809         (Depends-on): Update conditions.
11810
11811 2011-05-22  Bruno Haible  <bruno@clisp.org>
11812
11813         wctrans: Move AC_LIBOBJ invocations to module description.
11814         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11815         invocation from here...
11816         * modules/wctrans (configure.ac): ... to here.
11817
11818 2011-05-22  Bruno Haible  <bruno@clisp.org>
11819
11820         wctomb: Move AC_LIBOBJ invocations to module description.
11821         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11822         invocations from here...
11823         * modules/wctomb (configure.ac): ... to here.
11824
11825 2011-05-22  Bruno Haible  <bruno@clisp.org>
11826
11827         wctob: Move AC_LIBOBJ invocations to module description.
11828         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11829         gl_PREREQ_WCTOB invocations from here...
11830         * modules/wctob (configure.ac): ... to here.
11831         (Depends-on): Update conditions.
11832
11833 2011-05-22  Bruno Haible  <bruno@clisp.org>
11834
11835         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11836         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11837         here...
11838         * modules/wcsxfrm (configure.ac): ... to here.
11839
11840 2011-05-22  Bruno Haible  <bruno@clisp.org>
11841
11842         wcstok: Move AC_LIBOBJ invocations to module description.
11843         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11844         * modules/wcstok (configure.ac): ... to here.
11845
11846 2011-05-22  Bruno Haible  <bruno@clisp.org>
11847
11848         wcsstr: Move AC_LIBOBJ invocations to module description.
11849         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11850         * modules/wcsstr (configure.ac): ... to here.
11851
11852 2011-05-22  Bruno Haible  <bruno@clisp.org>
11853
11854         wcsspn: Move AC_LIBOBJ invocations to module description.
11855         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11856         * modules/wcsspn (configure.ac): ... to here.
11857
11858 2011-05-22  Bruno Haible  <bruno@clisp.org>
11859
11860         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11861         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11862         gl_PREREQ_WCSRTOMBS invocations from here...
11863         * modules/wcsrtombs (configure.ac): ... to here.
11864
11865 2011-05-22  Bruno Haible  <bruno@clisp.org>
11866
11867         wcsrchr: Move AC_LIBOBJ invocations to module description.
11868         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11869         here...
11870         * modules/wcsrchr (configure.ac): ... to here.
11871
11872 2011-05-22  Bruno Haible  <bruno@clisp.org>
11873
11874         wcspbrk: Move AC_LIBOBJ invocations to module description.
11875         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11876         here...
11877         * modules/wcspbrk (configure.ac): ... to here.
11878
11879 2011-05-22  Bruno Haible  <bruno@clisp.org>
11880
11881         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11882         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11883         gl_PREREQ_WCSNRTOMBS invocations from here...
11884         * modules/wcsnrtombs (configure.ac): ... to here.
11885
11886 2011-05-22  Bruno Haible  <bruno@clisp.org>
11887
11888         wcsnlen: Move AC_LIBOBJ invocations to module description.
11889         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11890         here...
11891         * modules/wcsnlen (configure.ac): ... to here.
11892
11893 2011-05-22  Bruno Haible  <bruno@clisp.org>
11894
11895         wcsncpy: Move AC_LIBOBJ invocations to module description.
11896         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11897         here...
11898         * modules/wcsncpy (configure.ac): ... to here.
11899
11900 2011-05-22  Bruno Haible  <bruno@clisp.org>
11901
11902         wcsncmp: Move AC_LIBOBJ invocations to module description.
11903         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11904         here...
11905         * modules/wcsncmp (configure.ac): ... to here.
11906
11907 2011-05-22  Bruno Haible  <bruno@clisp.org>
11908
11909         wcsncat: Move AC_LIBOBJ invocations to module description.
11910         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11911         here...
11912         * modules/wcsncat (configure.ac): ... to here.
11913
11914 2011-05-22  Bruno Haible  <bruno@clisp.org>
11915
11916         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11917         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11918         from here...
11919         * modules/wcsncasecmp (configure.ac): ... to here.
11920
11921 2011-05-22  Bruno Haible  <bruno@clisp.org>
11922
11923         wcslen: Move AC_LIBOBJ invocations to module description.
11924         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11925         * modules/wcslen (configure.ac): ... to here.
11926
11927 2011-05-22  Bruno Haible  <bruno@clisp.org>
11928
11929         wcsdup: Move AC_LIBOBJ invocations to module description.
11930         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11931         * modules/wcsdup (configure.ac): ... to here.
11932
11933 2011-05-22  Bruno Haible  <bruno@clisp.org>
11934
11935         wcscspn: Move AC_LIBOBJ invocations to module description.
11936         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11937         here...
11938         * modules/wcscspn (configure.ac): ... to here.
11939
11940 2011-05-22  Bruno Haible  <bruno@clisp.org>
11941
11942         wcscpy: Move AC_LIBOBJ invocations to module description.
11943         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11944         * modules/wcscpy (configure.ac): ... to here.
11945
11946 2011-05-22  Bruno Haible  <bruno@clisp.org>
11947
11948         wcscoll: Move AC_LIBOBJ invocations to module description.
11949         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11950         here...
11951         * modules/wcscoll (configure.ac): ... to here.
11952
11953 2011-05-22  Bruno Haible  <bruno@clisp.org>
11954
11955         wcscmp: Move AC_LIBOBJ invocations to module description.
11956         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11957         * modules/wcscmp (configure.ac): ... to here.
11958
11959 2011-05-22  Bruno Haible  <bruno@clisp.org>
11960
11961         wcschr: Move AC_LIBOBJ invocations to module description.
11962         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11963         * modules/wcschr (configure.ac): ... to here.
11964
11965 2011-05-22  Bruno Haible  <bruno@clisp.org>
11966
11967         wcscat: Move AC_LIBOBJ invocations to module description.
11968         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11969         * modules/wcscat (configure.ac): ... to here.
11970
11971 2011-05-22  Bruno Haible  <bruno@clisp.org>
11972
11973         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11974         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11975         here...
11976         * modules/wcscasecmp (configure.ac): ... to here.
11977
11978 2011-05-22  Bruno Haible  <bruno@clisp.org>
11979
11980         wcrtomb: Move AC_LIBOBJ invocations to module description.
11981         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11982         invocations from here...
11983         * modules/wcrtomb (configure.ac): ... to here.
11984
11985 2011-05-22  Bruno Haible  <bruno@clisp.org>
11986
11987         wcpncpy: Move AC_LIBOBJ invocations to module description.
11988         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11989         here...
11990         * modules/wcpncpy (configure.ac): ... to here.
11991
11992 2011-05-22  Bruno Haible  <bruno@clisp.org>
11993
11994         wcpcpy: Move AC_LIBOBJ invocations to module description.
11995         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11996         * modules/wcpcpy (configure.ac): ... to here.
11997
11998 2011-05-22  Bruno Haible  <bruno@clisp.org>
11999
12000         waitpid: Move AC_LIBOBJ invocations to module description.
12001         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12002         invocation from here...
12003         * modules/waitpid (configure.ac): ... to here.
12004
12005 2011-05-22  Bruno Haible  <bruno@clisp.org>
12006
12007         utimensat: Move AC_LIBOBJ invocations to module description.
12008         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12009         here...
12010         * modules/utimensat (configure.ac): ... to here.
12011
12012 2011-05-22  Bruno Haible  <bruno@clisp.org>
12013
12014         usleep: Move AC_LIBOBJ invocations to module description.
12015         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12016         here...
12017         * modules/usleep (configure.ac): ... to here.
12018
12019 2011-05-22  Bruno Haible  <bruno@clisp.org>
12020
12021         unlockpt: Move AC_LIBOBJ invocations to module description.
12022         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12023         gl_PREREQ_UNLOCKPT invocations from here...
12024         * modules/unlockpt (configure.ac): ... to here.
12025
12026 2011-05-22  Bruno Haible  <bruno@clisp.org>
12027
12028         unlink: Respect rules for use of AC_LIBOBJ.
12029         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12030         * modules/unlink (configure.ac): ... to here.
12031
12032 2011-05-22  Bruno Haible  <bruno@clisp.org>
12033
12034         uname: Move AC_LIBOBJ invocations to module description.
12035         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12036         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12037         here...
12038         * modules/uname (configure.ac): ... to here.
12039
12040 2011-05-22  Bruno Haible  <bruno@clisp.org>
12041
12042         ttyname_r: Move AC_LIBOBJ invocations to module description.
12043         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12044         gl_PREREQ_TTYNAME_R invocations from here...
12045         * modules/ttyname_r (configure.ac): ... to here.
12046
12047 2011-05-22  Bruno Haible  <bruno@clisp.org>
12048
12049         tsearch: Move AC_LIBOBJ invocations to module description.
12050         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12051         invocations from here...
12052         * modules/tsearch (configure.ac): ... to here.
12053
12054 2011-05-22  Bruno Haible  <bruno@clisp.org>
12055
12056         towctrans: Move AC_LIBOBJ invocations to module description.
12057         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12058         AC_LIBOBJ invocation from here...
12059         * modules/towctrans (configure.ac): ... to here.
12060
12061 2011-05-22  Bruno Haible  <bruno@clisp.org>
12062
12063         tmpfile: Move AC_LIBOBJ invocations to module description.
12064         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12065         invocations from here...
12066         * modules/tmpfile (configure.ac): ... to here.
12067
12068 2011-05-22  Bruno Haible  <bruno@clisp.org>
12069
12070         times: Move AC_LIBOBJ invocations to module description.
12071         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12072         * modules/times (configure.ac): ... to here.
12073
12074 2011-05-22  Bruno Haible  <bruno@clisp.org>
12075
12076         time_r: Move AC_LIBOBJ invocations to module description.
12077         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12078         invocations from here...
12079         * modules/time_r (configure.ac): ... to here.
12080
12081 2011-05-22  Bruno Haible  <bruno@clisp.org>
12082
12083         timegm: Move AC_LIBOBJ invocations to module description.
12084         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12085         invocations from here...
12086         * modules/timegm (configure.ac): ... to here.
12087
12088 2011-05-22  Bruno Haible  <bruno@clisp.org>
12089
12090         tcgetsid: Move AC_LIBOBJ invocations to module description.
12091         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12092         and gl_PREREQ_TCGETSID invocations from here...
12093         * modules/tcgetsid (configure.ac): ... to here.
12094         (Depends-on): Update conditions.
12095
12096 2011-05-22  Bruno Haible  <bruno@clisp.org>
12097
12098         symlinkat: Move AC_LIBOBJ invocations to module description.
12099         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12100         here...
12101         * modules/symlinkat (configure.ac): ... to here.
12102
12103 2011-05-22  Bruno Haible  <bruno@clisp.org>
12104
12105         symlink: Move AC_LIBOBJ invocations to module description.
12106         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12107         here...
12108         * modules/symlink (configure.ac): ... to here.
12109
12110 2011-05-22  Bruno Haible  <bruno@clisp.org>
12111
12112         strverscmp: Move AC_LIBOBJ invocations to module description.
12113         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12114         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12115         from here...
12116         * modules/strverscmp (configure.ac): ... to here.
12117
12118 2011-05-22  Bruno Haible  <bruno@clisp.org>
12119
12120         strtok_r: Move AC_LIBOBJ invocations to module description.
12121         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12122         and gl_PREREQ_STRTOK_R invocations from here...
12123         * modules/strtok_r (configure.ac): ... to here.
12124         (Depends-on): Update conditions.
12125
12126 2011-05-22  Bruno Haible  <bruno@clisp.org>
12127
12128         strtoumax: Move AC_LIBOBJ invocations to module description.
12129         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12130         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12131         from here...
12132         * modules/strtoumax (configure.ac): ... to here.
12133
12134 2011-05-22  Bruno Haible  <bruno@clisp.org>
12135
12136         strtoimax: Move AC_LIBOBJ invocations to module description.
12137         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12138         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12139         from here...
12140         * modules/strtoimax (configure.ac): ... to here.
12141
12142 2011-05-22  Bruno Haible  <bruno@clisp.org>
12143
12144         strtoull: Move AC_LIBOBJ invocations to module description.
12145         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12146         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12147         from here...
12148         * modules/strtoull (configure.ac): ... to here.
12149
12150 2011-05-22  Bruno Haible  <bruno@clisp.org>
12151
12152         strtoll: Move AC_LIBOBJ invocations to module description.
12153         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12154         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12155         here...
12156         * modules/strtoll (configure.ac): ... to here.
12157
12158 2011-05-22  Bruno Haible  <bruno@clisp.org>
12159
12160         strtoul: Move AC_LIBOBJ invocations to module description.
12161         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12162         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12163         * modules/strtoul (configure.ac): ... to here.
12164
12165 2011-05-22  Bruno Haible  <bruno@clisp.org>
12166
12167         strtol: Move AC_LIBOBJ invocations to module description.
12168         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12169         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12170         * modules/strtol (configure.ac): ... to here.
12171
12172 2011-05-22  Bruno Haible  <bruno@clisp.org>
12173
12174         strtod: Move AC_LIBOBJ invocations to module description.
12175         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12176         invocations from here...
12177         * modules/strtod (configure.ac): ... to here.
12178
12179 2011-05-22  Bruno Haible  <bruno@clisp.org>
12180
12181         strstr*: Move AC_LIBOBJ invocations to module description.
12182         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12183         invocations from here...
12184         * modules/strstr-simple (configure.ac): ... to here.
12185         * modules/strstr (configure.ac): ... and here.
12186
12187 2011-05-22  Bruno Haible  <bruno@clisp.org>
12188
12189         strsignal: Move AC_LIBOBJ invocations to module description.
12190         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12191         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12192         * modules/strsignal (configure.ac): ... to here.
12193         (Depends-on): Update conditions.
12194
12195 2011-05-22  Bruno Haible  <bruno@clisp.org>
12196
12197         strsep: Move AC_LIBOBJ invocations to module description.
12198         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12200         here...
12201         * modules/strsep (configure.ac): ... to here.
12202
12203 2011-05-22  Bruno Haible  <bruno@clisp.org>
12204
12205         strptime: Move AC_LIBOBJ invocations to module description.
12206         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12207         gl_PREREQ_STRPTIME invocations from here...
12208         * modules/strptime (configure.ac): ... to here.
12209
12210 2011-05-22  Bruno Haible  <bruno@clisp.org>
12211
12212         strpbrk: Move AC_LIBOBJ invocations to module description.
12213         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12214         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12215         here...
12216         * modules/strpbrk (configure.ac): ... to here.
12217
12218 2011-05-22  Bruno Haible  <bruno@clisp.org>
12219
12220         strnlen: Move AC_LIBOBJ invocations to module description.
12221         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12222         invocations from here...
12223         * modules/strnlen (configure.ac): ... to here.
12224
12225 2011-05-22  Bruno Haible  <bruno@clisp.org>
12226
12227         strndup: Move AC_LIBOBJ invocations to module description.
12228         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12229         invocations from here...
12230         * modules/strndup (configure.ac): ... to here.
12231         (Depends-on): Update conditions.
12232
12233 2011-05-22  Bruno Haible  <bruno@clisp.org>
12234
12235         strncat: Move AC_LIBOBJ invocations to module description.
12236         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12237         invocations from here...
12238         * modules/strncat (configure.ac): ... to here.
12239
12240 2011-05-22  Bruno Haible  <bruno@clisp.org>
12241
12242         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12243         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12244         invocations from here...
12245         * modules/strdup (configure.ac): ... to here.
12246         * modules/strdup-posix (configure.ac): ... and here.
12247
12248 2011-05-22  Bruno Haible  <bruno@clisp.org>
12249
12250         strcspn: Move AC_LIBOBJ invocations to module description.
12251         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12252         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12253         here...
12254         * modules/strcspn (configure.ac): ... to here.
12255
12256 2011-05-22  Bruno Haible  <bruno@clisp.org>
12257
12258         strchrnul: Move AC_LIBOBJ invocations to module description.
12259         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12260         gl_PREREQ_STRCHRNUL invocations from here...
12261         * modules/strchrnul (configure.ac): ... to here.
12262
12263 2011-05-22  Bruno Haible  <bruno@clisp.org>
12264
12265         strcasestr*: Move AC_LIBOBJ invocations to module description.
12266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12267         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12268         * modules/strcasestr-simple (configure.ac): ... to here.
12269         * modules/strcasestr (configure.ac): ... and here.
12270
12271 2011-05-22  Bruno Haible  <bruno@clisp.org>
12272
12273         strcase: Move AC_LIBOBJ invocations to module description.
12274         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12275         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12276         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12277         gl_PREREQ_STRNCASECMP invocations from here...
12278         * modules/strcase (configure.ac): ... to here.
12279
12280 2011-05-22  Bruno Haible  <bruno@clisp.org>
12281
12282         stpncpy: Move AC_LIBOBJ invocations to module description.
12283         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12284         here...
12285         * modules/stpncpy (configure.ac): ... to here.
12286
12287 2011-05-22  Bruno Haible  <bruno@clisp.org>
12288
12289         stpcpy: Move AC_LIBOBJ invocations to module description.
12290         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12291         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12292         here...
12293         * modules/stpcpy (configure.ac): ... to here.
12294
12295 2011-05-21  Bruno Haible  <bruno@clisp.org>
12296
12297         stat: Move AC_LIBOBJ invocations to module description.
12298         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12299         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12300         here...
12301         * modules/stat (configure.ac): ... to here.
12302
12303 2011-05-21  Bruno Haible  <bruno@clisp.org>
12304
12305         sleep: Move AC_LIBOBJ invocations to module description.
12306         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12307         * modules/sleep (configure.ac): ... to here.
12308
12309 2011-05-21  Bruno Haible  <bruno@clisp.org>
12310
12311         signbit: Move AC_LIBOBJ invocations to module description.
12312         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12313         * modules/signbit (configure.ac): ... to here.
12314
12315 2011-05-21  Bruno Haible  <bruno@clisp.org>
12316
12317         sigprocmask: Move AC_LIBOBJ invocations to module description.
12318         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12319         gl_PREREQ_SIGPROMASK invocations from here...
12320         * modules/sigprocmask (configure.ac): ... to here.
12321
12322 2011-05-21  Bruno Haible  <bruno@clisp.org>
12323
12324         sigaction: Move AC_LIBOBJ invocations to module description.
12325         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12326         gl_PREREQ_SIGACTION invocations from here...
12327         * modules/sigaction (configure.ac): ... to here.
12328
12329 2011-05-21  Bruno Haible  <bruno@clisp.org>
12330
12331         sig2str: Move AC_LIBOBJ invocations to module description.
12332         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12333         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12334         here...
12335         * modules/sig2str (configure.ac): ... to here.
12336
12337 2011-05-21  Bruno Haible  <bruno@clisp.org>
12338
12339         setlocale: Move AC_LIBOBJ invocations to module description.
12340         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12341         gl_PREREQ_SETLOCALE invocations from here...
12342         * modules/setlocale (configure.ac): ... to here.
12343
12344 2011-05-21  Bruno Haible  <bruno@clisp.org>
12345
12346         unsetenv: Move AC_LIBOBJ invocations to module description.
12347         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12348         and gl_PREREQ_UNSETENV invocations from here...
12349         * modules/unsetenv (configure.ac): ... to here.
12350         (Depends-on): Update.
12351
12352 2011-05-21  Bruno Haible  <bruno@clisp.org>
12353
12354         setenv: Move AC_LIBOBJ invocations to module description.
12355         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12356         here...
12357         * modules/setenv (configure.ac): ... to here.
12358
12359 2011-05-21  Bruno Haible  <bruno@clisp.org>
12360
12361         selinux-h: Move AC_LIBOBJ invocations to module description.
12362         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12363         AC_LIBOBJ invocation from here...
12364         * modules/selinux-h (configure.ac): ... to here.
12365
12366 2011-05-21  Bruno Haible  <bruno@clisp.org>
12367
12368         select: Respect rules for use of AC_LIBOBJ.
12369         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12370         here...
12371         * modules/select (configure.ac): ... to here.
12372
12373 2011-05-21  Bruno Haible  <bruno@clisp.org>
12374
12375         scandir: Move AC_LIBOBJ invocations to module description.
12376         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12377         invocations from here...
12378         * modules/scandir (configure.ac): ... to here.
12379
12380 2011-05-21  Bruno Haible  <bruno@clisp.org>
12381
12382         rpmatch: Move AC_LIBOBJ invocations to module description.
12383         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12384         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12385         here...
12386         * modules/rpmatch (configure.ac): ... to here.
12387
12388 2011-05-21  Bruno Haible  <bruno@clisp.org>
12389
12390         rmdir: Respect rules for use of AC_LIBOBJ.
12391         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12392         * modules/rmdir (configure.ac): ... to here.
12393
12394 2011-05-21  Bruno Haible  <bruno@clisp.org>
12395
12396         renameat: Move AC_LIBOBJ invocations to module description.
12397         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12398         here...
12399         * modules/renameat (configure.ac): ... to here.
12400
12401 2011-05-21  Bruno Haible  <bruno@clisp.org>
12402
12403         rename: Respect rules for use of AC_LIBOBJ.
12404         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12405         here...
12406         * modules/rename (configure.ac): ... to here.
12407
12408 2011-05-21  Bruno Haible  <bruno@clisp.org>
12409
12410         remove: Move AC_LIBOBJ invocations to module description.
12411         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12412         here...
12413         * modules/remove (configure.ac): ... to here.
12414
12415 2011-05-21  Bruno Haible  <bruno@clisp.org>
12416
12417         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12418         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12419         macro.
12420         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12421         * modules/relocatable-lib (configure.ac): ... to here.
12422         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12423         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12424
12425 2011-05-21  Bruno Haible  <bruno@clisp.org>
12426
12427         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12428         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12429         here...
12430         * modules/relocatable-prog (configure.ac): ... to here.
12431
12432 2011-05-21  Bruno Haible  <bruno@clisp.org>
12433
12434         regex: Move AC_LIBOBJ invocations to module description.
12435         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12436         invocations from here...
12437         * modules/regex (configure.ac): ... to here.
12438
12439 2011-05-21  Bruno Haible  <bruno@clisp.org>
12440
12441         realloc-*: Move AC_LIBOBJ invocations to module description.
12442         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12443         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12444         AC_LIBOBJ invocations from here...
12445         * modules/realloc-gnu (configure.ac): ... to here.
12446         * modules/realloc-posix (configure.ac): ... and here.
12447
12448 2011-05-21  Bruno Haible  <bruno@clisp.org>
12449
12450         readutmp: Move AC_LIBOBJ invocations to module description.
12451         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12452         * modules/readutmp (configure.ac): ... to here.
12453
12454 2011-05-21  Bruno Haible  <bruno@clisp.org>
12455
12456         readlinkat: Move AC_LIBOBJ invocations to module description.
12457         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12458         here...
12459         * modules/readlinkat (configure.ac): ... to here.
12460
12461 2011-05-21  Bruno Haible  <bruno@clisp.org>
12462
12463         readlink: Move AC_LIBOBJ invocations to module description.
12464         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12465         gl_PREREQ_READLINK invocations from here...
12466         * modules/readlink (configure.ac): ... to here.
12467
12468 2011-05-21  Bruno Haible  <bruno@clisp.org>
12469
12470         readline: Move AC_LIBOBJ invocations to module description.
12471         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12472         gl_PREREQ_READLINE invocations from here...
12473         * modules/readline (configure.ac): ... to here.
12474
12475 2011-05-21  Bruno Haible  <bruno@clisp.org>
12476
12477         read: Move AC_LIBOBJ invocations to module description.
12478         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12479         * modules/read (configure.ac): ... to here.
12480
12481 2011-05-21  Bruno Haible  <bruno@clisp.org>
12482
12483         rawmemchr: Move AC_LIBOBJ invocations to module description.
12484         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12485         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12486         from here...
12487         * modules/rawmemchr (configure.ac): ... to here.
12488
12489 2011-05-21  Bruno Haible  <bruno@clisp.org>
12490
12491         random_r: Move AC_LIBOBJ invocations to module description.
12492         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12493         gl_PREREQ_RANDOM_R invocations from here...
12494         * modules/random_r (configure.ac): ... to here.
12495
12496 2011-05-21  Bruno Haible  <bruno@clisp.org>
12497
12498         pwrite: Move AC_LIBOBJ invocations to module description.
12499         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12500         * modules/pwrite (configure.ac): ... to here.
12501
12502 2011-05-21  Bruno Haible  <bruno@clisp.org>
12503
12504         putenv: Move AC_LIBOBJ invocations to module description.
12505         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12506         * modules/putenv (configure.ac): ... to here.
12507
12508 2011-05-21  Bruno Haible  <bruno@clisp.org>
12509
12510         login_tty: Move AC_LIBOBJ invocations to module description.
12511         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12512         * modules/login_tty (configure.ac): ... to here.
12513
12514 2011-05-21  Bruno Haible  <bruno@clisp.org>
12515
12516         openpty: Move AC_LIBOBJ invocations to module description.
12517         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12518         * modules/openpty (configure.ac): ... to here.
12519
12520 2011-05-21  Bruno Haible  <bruno@clisp.org>
12521
12522         forkpty: Move AC_LIBOBJ invocations to module description.
12523         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12524         * modules/forkpty (configure.ac): ... to here.
12525
12526 2011-05-21  Bruno Haible  <bruno@clisp.org>
12527
12528         ptsname: Move AC_LIBOBJ invocations to module description.
12529         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12530         invocations from here...
12531         * modules/ptsname (configure.ac): ... to here.
12532
12533 2011-05-21  Bruno Haible  <bruno@clisp.org>
12534
12535         pread: Move AC_LIBOBJ invocations to module description.
12536         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12537         * modules/pread (configure.ac): ... to here.
12538
12539 2011-05-21  Bruno Haible  <bruno@clisp.org>
12540
12541         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12542         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12543         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12544         * modules/posix_spawn (configure.ac): ... to here.
12545         * modules/posix_spawnp (configure.ac): ... and here.
12546
12547 2011-05-21  Bruno Haible  <bruno@clisp.org>
12548
12549         popen: Move AC_LIBOBJ invocations to module description.
12550         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12551         invocations from here...
12552         * modules/popen (configure.ac): ... to here.
12553
12554 2011-05-21  Bruno Haible  <bruno@clisp.org>
12555
12556         poll: Move AC_LIBOBJ invocations to module description.
12557         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12558         invocations from here...
12559         * modules/poll (configure.ac): ... to here.
12560
12561 2011-05-21  Bruno Haible  <bruno@clisp.org>
12562
12563         pipe-posix: Move AC_LIBOBJ invocations to module description.
12564         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12565         * modules/pipe-posix (configure.ac): ... to here.
12566
12567 2011-05-21  Bruno Haible  <bruno@clisp.org>
12568
12569         openat: Respect rules for use of AC_LIBOBJ.
12570         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12571         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12572         * modules/openat (configure.ac): ... to here.
12573
12574 2011-05-21  Bruno Haible  <bruno@clisp.org>
12575
12576         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12577         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12578         invocation from here...
12579         * modules/obstack-printf (configure.ac): ... to here.
12580         * modules/obstack-printf-posix (configure.ac): ... and here.
12581
12582 2011-05-21  Bruno Haible  <bruno@clisp.org>
12583
12584         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12585         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12586         from here...
12587         * modules/nl_langinfo (configure.ac): ... to here.
12588
12589 2011-05-21  Bruno Haible  <bruno@clisp.org>
12590
12591         nanosleep: Move AC_LIBOBJ invocations to module description.
12592         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12593         gl_PREREQ_NANOSLEEP invocations from here...
12594         * modules/nanosleep (configure.ac): ... to here.
12595
12596 2011-05-21  Bruno Haible  <bruno@clisp.org>
12597
12598         mountlist: Move AC_LIBOBJ invocations to module description.
12599         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12600         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12601         * modules/mountlist (configure.ac): ... to here.
12602
12603 2011-05-21  Bruno Haible  <bruno@clisp.org>
12604
12605         mktime: Respect rules for use of AC_LIBOBJ.
12606         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12607         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12608         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12609         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12610         * modules/mktime (configure.ac): ... to here.
12611         * modules/mktime-internal (configure.ac): ... and here.
12612         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12613
12614 2011-05-21  Bruno Haible  <bruno@clisp.org>
12615
12616         mkstemps: Move AC_LIBOBJ invocations to module description.
12617         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12618         here...
12619         * modules/mkstemps (configure.ac): ... to here.
12620
12621 2011-05-21  Bruno Haible  <bruno@clisp.org>
12622
12623         mkstemp: Move AC_LIBOBJ invocations to module description.
12624         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12625         gl_PREREQ_MKSTEMP invocations from here...
12626         * modules/mkstemp (configure.ac): ... to here.
12627
12628 2011-05-21  Bruno Haible  <bruno@clisp.org>
12629
12630         mkostemps: Move AC_LIBOBJ invocations to module description.
12631         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12632         here...
12633         * modules/mkostemps (configure.ac): ... to here.
12634
12635 2011-05-21  Bruno Haible  <bruno@clisp.org>
12636
12637         mkostemp: Move AC_LIBOBJ invocations to module description.
12638         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12639         gl_PREREQ_MKOSTEMP invocations from here...
12640         * modules/mkostemp (configure.ac): ... to here.
12641
12642 2011-05-21  Bruno Haible  <bruno@clisp.org>
12643
12644         mknod: Move AC_LIBOBJ invocations to module description.
12645         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12646         * modules/mknod (configure.ac): ... to here.
12647
12648 2011-05-21  Bruno Haible  <bruno@clisp.org>
12649
12650         mkfifoat: Move AC_LIBOBJ invocations to module description.
12651         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12652         here...
12653         * modules/mkfifoat (configure.ac): ... to here.
12654
12655 2011-05-21  Bruno Haible  <bruno@clisp.org>
12656
12657         mkfifo: Respect rules for use of AC_LIBOBJ.
12658         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12659         here...
12660         * modules/mkfifo (configure.ac): ... to here.
12661
12662 2011-05-21  Bruno Haible  <bruno@clisp.org>
12663
12664         mkdtemp: Move AC_LIBOBJ invocations to module description.
12665         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12666         invocations from here...
12667         * modules/mkdtemp (configure.ac): ... to here.
12668
12669 2011-05-21  Bruno Haible  <bruno@clisp.org>
12670
12671         mkdir: Move AC_LIBOBJ invocations to module description.
12672         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12673         * modules/mkdir (configure.ac): ... to here.
12674
12675 2011-05-21  Bruno Haible  <bruno@clisp.org>
12676
12677         memset: Move AC_LIBOBJ invocations to module description.
12678         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12679         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12680         here...
12681         * modules/memset (configure.ac): ... to here.
12682
12683 2011-05-21  Bruno Haible  <bruno@clisp.org>
12684
12685         memrchr: Move AC_LIBOBJ invocations to module description.
12686         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12687         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12688         here...
12689         * modules/memrchr (configure.ac): ... to here.
12690
12691 2011-05-21  Bruno Haible  <bruno@clisp.org>
12692
12693         mempcpy: Move AC_LIBOBJ invocations to module description.
12694         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12695         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12696         here...
12697         * modules/mempcpy (configure.ac): ... to here.
12698
12699 2011-05-21  Bruno Haible  <bruno@clisp.org>
12700
12701         memmove: Move AC_LIBOBJ invocations to module description.
12702         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12703         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12704         here...
12705         * modules/memmove (configure.ac): ... to here.
12706
12707 2011-05-21  Bruno Haible  <bruno@clisp.org>
12708
12709         memmem*: Move AC_LIBOBJ invocations to module description.
12710         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12711         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12712         here...
12713         (gl_FUNC_MEMMEM): ... and here...
12714         * modules/memmem-simple (configure.ac): ... to here.
12715         * modules/memmem (configure.ac): ... and here.
12716
12717 2011-05-21  Bruno Haible  <bruno@clisp.org>
12718
12719         memcpy: Move AC_LIBOBJ invocations to module description.
12720         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12721         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12722         here...
12723         * modules/memcpy (configure.ac): ... to here.
12724
12725 2011-05-21  Bruno Haible  <bruno@clisp.org>
12726
12727         memcmp: Simplify autoconf macro.
12728         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12729         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12730         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12731
12732 2011-05-21  Bruno Haible  <bruno@clisp.org>
12733
12734         memcmp: Move AC_LIBOBJ invocations to module description.
12735         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12736         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12737         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12738         * modules/memcmp (configure.ac): ... to here.
12739         (Depends-on): Update conditions.
12740
12741 2011-05-21  Bruno Haible  <bruno@clisp.org>
12742
12743         memchr: Respect rules for use of AC_LIBOBJ.
12744         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12745         invocations from here...
12746         * modules/memchr (configure.ac): ... to here.
12747
12748 2011-05-21  Bruno Haible  <bruno@clisp.org>
12749
12750         mbtowc: Move AC_LIBOBJ invocations to module description.
12751         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12752         invocations from here...
12753         * modules/mbtowc (configure.ac): ... to here.
12754
12755 2011-05-21  Bruno Haible  <bruno@clisp.org>
12756
12757         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12758         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12759         gl_PREREQ_MBSRTOWCS invocations from here...
12760         * modules/mbsrtowcs (configure.ac): ... to here.
12761
12762 2011-05-21  Bruno Haible  <bruno@clisp.org>
12763
12764         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12765         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12766         gl_PREREQ_MBSNRTOWCS invocations from here...
12767         * modules/mbsnrtowcs (configure.ac): ... to here.
12768
12769 2011-05-21  Bruno Haible  <bruno@clisp.org>
12770
12771         mbsinit: Move AC_LIBOBJ invocations to module description.
12772         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12773         invocations from here...
12774         * modules/mbsinit (configure.ac): ... to here.
12775
12776 2011-05-21  Bruno Haible  <bruno@clisp.org>
12777
12778         mbrlen: Move AC_LIBOBJ invocations to module description.
12779         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12780         invocations from here...
12781         * modules/mbrlen (configure.ac): ... to here.
12782
12783 2011-05-21  Bruno Haible  <bruno@clisp.org>
12784
12785         mbrtowc: Respect rules for use of AC_LIBOBJ.
12786         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12787         invocations from here...
12788         * modules/mbrtowc (configure.ac): ... to here.
12789
12790 2011-05-21  Bruno Haible  <bruno@clisp.org>
12791
12792         malloc-*: Move AC_LIBOBJ invocations to module description.
12793         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12794         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12795         AC_LIBOBJ invocations from here...
12796         * modules/malloc-gnu (configure.ac): ... to here.
12797         * modules/malloc-posix (configure.ac): ... and here.
12798
12799 2011-05-21  Bruno Haible  <bruno@clisp.org>
12800
12801         lstat, openat: Respect rules for use of AC_LIBOBJ.
12802         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12803         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12804         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12805         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12806         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12807         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12808         here.
12809         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12810
12811 2011-05-21  Bruno Haible  <bruno@clisp.org>
12812
12813         lseek: Move AC_LIBOBJ invocations to module description.
12814         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12815         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12816         * modules/lseek (configure.ac): ... to here.
12817
12818 2011-05-21  Bruno Haible  <bruno@clisp.org>
12819
12820         linkat: Move AC_LIBOBJ invocations to module description.
12821         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12822         here...
12823         * modules/linkat (configure.ac): ... to here.
12824
12825 2011-05-21  Bruno Haible  <bruno@clisp.org>
12826
12827         link: Respect rules for use of AC_LIBOBJ.
12828         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12829         * modules/link (configure.ac): ... to here.
12830
12831 2011-05-21  Bruno Haible  <bruno@clisp.org>
12832
12833         lchown: Move AC_LIBOBJ invocations to module description.
12834         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12835         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12836         * modules/lchown (configure.ac): ... to here.
12837
12838 2011-05-21  Bruno Haible  <bruno@clisp.org>
12839
12840         iswctype: Move AC_LIBOBJ invocations to module description.
12841         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12842         here...
12843         * modules/iswctype (configure.ac): ... to here.
12844
12845 2011-05-21  Bruno Haible  <bruno@clisp.org>
12846
12847         iswblank: Move AC_LIBOBJ invocations to module description.
12848         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12849         here...
12850         * modules/iswblank (configure.ac): ... to here.
12851
12852 2011-05-21  Bruno Haible  <bruno@clisp.org>
12853
12854         atanl: Move AC_LIBOBJ invocations to module description.
12855         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12856         * modules/atanl (configure.ac): ... to here.
12857
12858 2011-05-21  Bruno Haible  <bruno@clisp.org>
12859
12860         acosl: Move AC_LIBOBJ invocations to module description.
12861         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12862         * modules/acosl (configure.ac): ... to here.
12863
12864 2011-05-21  Bruno Haible  <bruno@clisp.org>
12865
12866         asinl: Respect rules for use of AC_LIBOBJ.
12867         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12868         * modules/asinl (configure.ac): ... to here.
12869
12870 2011-05-21  Bruno Haible  <bruno@clisp.org>
12871
12872         tanl: Move AC_LIBOBJ invocations to module description.
12873         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12874         * modules/tanl (configure.ac): ... to here.
12875
12876 2011-05-21  Bruno Haible  <bruno@clisp.org>
12877
12878         cosl: Move AC_LIBOBJ invocations to module description.
12879         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12880         * modules/cosl (configure.ac): ... to here.
12881
12882 2011-05-21  Bruno Haible  <bruno@clisp.org>
12883
12884         sinl: Move AC_LIBOBJ invocations to module description.
12885         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12886         * modules/sinl (configure.ac): ... to here.
12887
12888 2011-05-21  Bruno Haible  <bruno@clisp.org>
12889
12890         logl: Move AC_LIBOBJ invocations to module description.
12891         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12892         * modules/logl (configure.ac): ... to here.
12893
12894 2011-05-21  Bruno Haible  <bruno@clisp.org>
12895
12896         expl: Move AC_LIBOBJ invocations to module description.
12897         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12898         * modules/expl (configure.ac): ... to here.
12899
12900 2011-05-21  Bruno Haible  <bruno@clisp.org>
12901
12902         roundl: Move AC_LIBOBJ invocations to module description.
12903         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12904         * modules/roundl (configure.ac): ... to here.
12905
12906 2011-05-21  Bruno Haible  <bruno@clisp.org>
12907
12908         round: Move AC_LIBOBJ invocations to module description.
12909         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12910         * modules/round (configure.ac): ... to here.
12911
12912 2011-05-21  Bruno Haible  <bruno@clisp.org>
12913
12914         roundf: Move AC_LIBOBJ invocations to module description.
12915         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12916         * modules/roundf (configure.ac): ... to here.
12917
12918 2011-05-21  Bruno Haible  <bruno@clisp.org>
12919
12920         truncl: Move AC_LIBOBJ invocations to module description.
12921         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12922         * modules/truncl (configure.ac): ... to here.
12923
12924 2011-05-21  Bruno Haible  <bruno@clisp.org>
12925
12926         trunc: Move AC_LIBOBJ invocations to module description.
12927         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12928         * modules/trunc (configure.ac): ... to here.
12929
12930 2011-05-21  Bruno Haible  <bruno@clisp.org>
12931
12932         truncf: Move AC_LIBOBJ invocations to module description.
12933         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12934         * modules/truncf (configure.ac): ... to here.
12935
12936 2011-05-21  Bruno Haible  <bruno@clisp.org>
12937
12938         ceill: Move AC_LIBOBJ invocations to module description.
12939         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12940         * modules/ceill (configure.ac): ... to here.
12941
12942 2011-05-21  Bruno Haible  <bruno@clisp.org>
12943
12944         ceil: Move AC_LIBOBJ invocations to module description.
12945         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12946         * modules/ceil (configure.ac): ... to here.
12947
12948 2011-05-21  Bruno Haible  <bruno@clisp.org>
12949
12950         ceilf: Move AC_LIBOBJ invocations to module description.
12951         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12952         * modules/ceilf (configure.ac): ... to here.
12953
12954 2011-05-21  Bruno Haible  <bruno@clisp.org>
12955
12956         floorl: Respect rules for use of AC_LIBOBJ.
12957         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12958         * modules/floorl (configure.ac): ... to here.
12959
12960 2011-05-21  Bruno Haible  <bruno@clisp.org>
12961
12962         floor: Respect rules for use of AC_LIBOBJ.
12963         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12964         * modules/floor (configure.ac): ... to here.
12965
12966 2011-05-21  Bruno Haible  <bruno@clisp.org>
12967
12968         floorf: Move AC_LIBOBJ invocations to module description.
12969         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12970         * modules/floorf (configure.ac): ... to here.
12971
12972 2011-05-20  Bruno Haible  <bruno@clisp.org>
12973
12974         sqrtl: Respect rules for use of AC_LIBOBJ.
12975         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12976         * modules/sqrtl (configure.ac): ... to here.
12977
12978 2011-05-20  Bruno Haible  <bruno@clisp.org>
12979
12980         ldexpl: Respect rules for use of AC_LIBOBJ.
12981         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12982         * modules/ldexpl (configure.ac): ... to here.
12983
12984 2011-05-20  Bruno Haible  <bruno@clisp.org>
12985
12986         frexpl*: Respect rules for use of AC_LIBOBJ.
12987         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12988         invocation from here...
12989         * modules/frexpl (configure.ac): ... to here.
12990         * modules/frexpl-nolibm (configure.ac): ... and here.
12991
12992 2011-05-20  Bruno Haible  <bruno@clisp.org>
12993
12994         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12995         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12996         invocation from here...
12997         * modules/frexp (configure.ac): ... to here.
12998         * modules/frexp-nolibm (configure.ac): ... and here.
12999
13000 2011-05-20  Bruno Haible  <bruno@clisp.org>
13001
13002         isnan: Respect rules for use of AC_LIBOBJ.
13003         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13004         invocations here.
13005         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13006         REPLACE_ISNAN.
13007         * modules/isnand (configure.ac): Likewise.
13008         * modules/isnanl (configure.ac): Likewise.
13009
13010 2011-05-20  Bruno Haible  <bruno@clisp.org>
13011
13012         isnanl*: Respect rules for use of AC_LIBOBJ.
13013         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13014         invocation from here...
13015         * modules/isnanl (configure.ac): ... to here.
13016         * modules/isnanl-nolibm (configure.ac): ... and here.
13017
13018 2011-05-20  Bruno Haible  <bruno@clisp.org>
13019
13020         isnand*: Move AC_LIBOBJ invocations to module description.
13021         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13022         invocation from here...
13023         * modules/isnand (configure.ac): ... to here.
13024         * modules/isnand-nolibm (configure.ac): ... and here.
13025
13026 2011-05-20  Bruno Haible  <bruno@clisp.org>
13027
13028         isnanf*: Move AC_LIBOBJ invocations to module description.
13029         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13030         invocation from here...
13031         * modules/isnanf (configure.ac): ... to here.
13032         * modules/isnanf-nolibm (configure.ac): ... and here.
13033
13034 2011-05-20  Bruno Haible  <bruno@clisp.org>
13035
13036         isnan*: Separate the AC_LIBOBJ invocations.
13037         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13038         AC_LIBOBJ invocation.
13039         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13040         here.
13041         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13042         AC_LIBOBJ invocation.
13043         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13044         here.
13045         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13046         AC_LIBOBJ invocation.
13047         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13048         here.
13049         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13050
13051 2011-05-08  Bruno Haible  <bruno@clisp.org>
13052
13053         isinf: Move AC_LIBOBJ invocations to module description.
13054         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13055         * modules/isinf (configure.ac): ... to here.
13056
13057 2011-05-08  Bruno Haible  <bruno@clisp.org>
13058
13059         isfinite: Move AC_LIBOBJ invocations to module description.
13060         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13061         * modules/isfinite (configure.ac): ... to here.
13062
13063 2011-05-08  Bruno Haible  <bruno@clisp.org>
13064
13065         isblank: Move AC_LIBOBJ invocations to module description.
13066         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13067         here...
13068         * modules/isblank (configure.ac): ... to here.
13069
13070 2011-05-08  Bruno Haible  <bruno@clisp.org>
13071
13072         isapipe: Move AC_LIBOBJ invocations to module description.
13073         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13074         gl_PREREQ_ISAPIPE invocations from here...
13075         * modules/isapipe (configure.ac): ... to here.
13076         (Depends-on): Update condition.
13077
13078 2011-05-08  Bruno Haible  <bruno@clisp.org>
13079
13080         ioctl: Move AC_LIBOBJ invocations to module description.
13081         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13082         invocations from here...
13083         * modules/ioctl (configure.ac): ... to here.
13084         (Depends-on): Update condition.
13085
13086 2011-05-08  Bruno Haible  <bruno@clisp.org>
13087
13088         imaxdiv: Move AC_LIBOBJ invocations to module description.
13089         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13090         invocations from here...
13091         * modules/imaxdiv (configure.ac): ... to here.
13092
13093 2011-05-08  Bruno Haible  <bruno@clisp.org>
13094
13095         imaxabs: Move AC_LIBOBJ invocations to module description.
13096         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13097         invocations from here...
13098         * modules/imaxabs (configure.ac): ... to here.
13099
13100 2011-05-08  Bruno Haible  <bruno@clisp.org>
13101
13102         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13103         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13104         AC_LIBOBJ invocations from here...
13105         * modules/getaddrinfo (configure.ac): ... to here.
13106         (Depends-on): Add conditions.
13107
13108 2011-05-08  Bruno Haible  <bruno@clisp.org>
13109
13110         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13111         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13112         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13113         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13114         (gl_PREREQ_INET_PTON): ... from here.
13115         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13116         gl_PREREQ_INET_PTON here.
13117         (Depends-on): Update condition.
13118
13119 2011-05-08  Bruno Haible  <bruno@clisp.org>
13120
13121         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13122         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13123         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13124         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13125         (gl_PREREQ_INET_NTOP): ... from here.
13126         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13127         gl_PREREQ_INET_NTOP here.
13128         (Depends-on): Update condition.
13129
13130 2011-05-08  Bruno Haible  <bruno@clisp.org>
13131
13132         iconv_open: Move AC_LIBOBJ invocations to module description.
13133         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13134         AC_LIBOBJ invocations from here...
13135         * modules/iconv_open (configure.ac): ... to here.
13136
13137 2011-05-08  Bruno Haible  <bruno@clisp.org>
13138
13139         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13140         If module 'iconv_open' is among the main modules and module
13141         'iconv_open-utf' is among the tests dependencies, then
13142         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13143         return the special iconv_t values. Therefore iconv() and iconv_close()
13144         must support these special iconv_t values, already in lib, not only in
13145         tests.
13146         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13147         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13148         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13149         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13150         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13151         (Depends-on): Add the dependencies of iconv_open-utf.
13152         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13153         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13154         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13155
13156 2011-05-08  Bruno Haible  <bruno@clisp.org>
13157
13158         group-member: Move AC_LIBOBJ invocations to module description.
13159         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13160         gl_PREREQ_GROUP_MEMBER invocations from here...
13161         * modules/group-member (configure.ac): ... to here.
13162
13163 2011-05-08  Bruno Haible  <bruno@clisp.org>
13164
13165         grantpt: Move AC_LIBOBJ invocations to module description.
13166         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13167         invocations from here...
13168         * modules/grantpt (configure.ac): ... to here.
13169
13170 2011-05-08  Bruno Haible  <bruno@clisp.org>
13171
13172         glob: Move AC_LIBOBJ invocations to module description.
13173         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13174         from here...
13175         * modules/glob (configure.ac): ... to here.
13176
13177 2011-05-08  Bruno Haible  <bruno@clisp.org>
13178
13179         getusershell: Move AC_LIBOBJ invocations to module description.
13180         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13181         Move AC_LIBOBJ invocation from here...
13182         * modules/getusershell (configure.ac): ... to here.
13183         (Depends-on): Update condition.
13184
13185 2011-05-08  Bruno Haible  <bruno@clisp.org>
13186
13187         gettimeofday: Move AC_LIBOBJ invocations to module description.
13188         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13189         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13190         gl_PREREQ_GETTIMEOFDAY invocations from here...
13191         * modules/gettimeofday (configure.ac): ... to here.
13192
13193 2011-05-08  Bruno Haible  <bruno@clisp.org>
13194
13195         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13196         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13197         just gl_FUNC_TZSET.
13198         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13199         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13200         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13201         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13202
13203 2011-05-08  Bruno Haible  <bruno@clisp.org>
13204
13205         getsubopt: Move AC_LIBOBJ invocations to module description.
13206         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13207         gl_PREREQ_GETSUBOPT invocations from here...
13208         * modules/getsubopt (configure.ac): ... to here.
13209
13210 2011-05-08  Bruno Haible  <bruno@clisp.org>
13211
13212         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13213         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13214         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13215         * modules/getpass-gnu (configure.ac): ... to here.
13216
13217 2011-05-08  Bruno Haible  <bruno@clisp.org>
13218
13219         getpass: Move AC_LIBOBJ invocations to module description.
13220         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13221         gl_PREREQ_GETPASS invocations from here...
13222         * modules/getpass (configure.ac): ... to here.
13223
13224 2011-05-08  Bruno Haible  <bruno@clisp.org>
13225
13226         getpagesize: Move AC_LIBOBJ invocations to module description.
13227         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13228         from here...
13229         * modules/getpagesize (configure.ac): ... to here.
13230
13231 2011-05-08  Bruno Haible  <bruno@clisp.org>
13232
13233         getopt: Move AC_LIBOBJ invocations to module description.
13234         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13235         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13236         invocations from here...
13237         * modules/getopt-gnu (configure.ac): ... to here.
13238         * modules/getopt-posix (configure.ac): ... and here.
13239         (Depends-on): Update condition.
13240
13241 2011-05-08  Bruno Haible  <bruno@clisp.org>
13242
13243         getopt, argp: Respect rules for use of AC_LIBOBJ.
13244         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13245         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13246         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13247         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13248
13249 2011-05-08  Bruno Haible  <bruno@clisp.org>
13250
13251         getlogin_r: Move AC_LIBOBJ invocations to module description.
13252         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13253         gl_PREREQ_GETLOGIN_R invocations from here...
13254         * modules/getlogin_r (configure.ac): ... to here.
13255
13256 2011-05-08  Bruno Haible  <bruno@clisp.org>
13257
13258         getlogin: Move AC_LIBOBJ invocations to module description.
13259         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13260         here...
13261         * modules/getlogin (configure.ac): ... to here.
13262
13263 2011-05-08  Bruno Haible  <bruno@clisp.org>
13264
13265         getloadavg: Move AC_LIBOBJ invocations to module description.
13266         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13267         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13268         * modules/getloadavg (configure.ac): ... to here.
13269
13270 2011-05-08  Bruno Haible  <bruno@clisp.org>
13271
13272         gethrxtime: Move AC_LIBOBJ invocations to module description.
13273         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13274         LIB_GETHRXTIME from here...
13275         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13276         invocations from here...
13277         * modules/gethrxtime (configure.ac): ... to here.
13278
13279 2011-05-08  Bruno Haible  <bruno@clisp.org>
13280
13281         gethostname: Move AC_LIBOBJ invocations to module description.
13282         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13283         gl_PREREQ_GETHOSTNAME invocations from here...
13284         * modules/gethostname (configure.ac): ... to here.
13285
13286 2011-05-08  Bruno Haible  <bruno@clisp.org>
13287
13288         getgroups: Move AC_LIBOBJ invocations to module description.
13289         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13290         here...
13291         * modules/getgroups (configure.ac): ... to here.
13292
13293 2011-05-08  Bruno Haible  <bruno@clisp.org>
13294
13295         getdtablesize: Move AC_LIBOBJ invocations to module description.
13296         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13297         invocation from here...
13298         * modules/getdtablesize (configure.ac): ... to here.
13299
13300 2011-05-08  Bruno Haible  <bruno@clisp.org>
13301
13302         getdomainname: Move AC_LIBOBJ invocations to module description.
13303         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13304         gl_PREREQ_GETDOMAINNAME invocations from here...
13305         * modules/getdomainname (configure.ac): ... to here.
13306
13307 2011-05-08  Bruno Haible  <bruno@clisp.org>
13308
13309         getline: Move AC_LIBOBJ invocations to module description.
13310         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13311         invocations from here...
13312         * modules/getline (configure.ac): ... to here.
13313
13314 2011-05-08  Bruno Haible  <bruno@clisp.org>
13315
13316         getline: Simplify.
13317         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13318         It's already handled through the module dependency.
13319
13320 2011-05-08  Bruno Haible  <bruno@clisp.org>
13321
13322         getdelim: Move AC_LIBOBJ invocations to module description.
13323         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13324         and gl_PREREQ_GETDELIM invocations from here...
13325         * modules/getdelim (configure.ac): ... to here.
13326         (Depends-on): Fix condition.
13327
13328 2011-05-08  Bruno Haible  <bruno@clisp.org>
13329
13330         getcwd: Move AC_LIBOBJ invocations to module description.
13331         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13332         invocations from here...
13333         * modules/getcwd (configure.ac): ... to here.
13334
13335 2011-05-08  Bruno Haible  <bruno@clisp.org>
13336
13337         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13338         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13339         here...
13340         * modules/getcwd-lgpl (configure.ac): ... to here.
13341
13342 2011-05-07  Bruno Haible  <bruno@clisp.org>
13343
13344         crypto/gc: Move AC_LIBOBJ invocations to module description.
13345         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13346         * modules/crypto/gc (configure.ac): ... to here.
13347
13348 2011-05-07  Bruno Haible  <bruno@clisp.org>
13349
13350         fwriting: Move AC_LIBOBJ invocations to module description.
13351         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13352         here...
13353         * modules/fwriting (configure.ac): ... to here.
13354
13355 2011-05-07  Bruno Haible  <bruno@clisp.org>
13356
13357         fwritable: Move AC_LIBOBJ invocations to module description.
13358         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13359         here...
13360         * modules/fwritable (configure.ac): ... to here.
13361
13362 2011-05-07  Bruno Haible  <bruno@clisp.org>
13363
13364         futimens: Move AC_LIBOBJ invocations to module description.
13365         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13366         here...
13367         * modules/futimens (configure.ac): ... to here.
13368
13369 2011-05-07  Bruno Haible  <bruno@clisp.org>
13370
13371         ftruncate: Move AC_LIBOBJ invocations to module description.
13372         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13373         gl_PREREQ_FTRUNCATE invocations from here...
13374         * modules/ftruncate (configure.ac): ... to here.
13375
13376 2011-05-07  Bruno Haible  <bruno@clisp.org>
13377
13378         fsync: Move AC_LIBOBJ invocations to module description.
13379         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13380         invocations from here...
13381         * modules/fsync (configure.ac): ... to here.
13382
13383 2011-05-07  Bruno Haible  <bruno@clisp.org>
13384
13385         fsusage: Move AC_LIBOBJ invocations to module description.
13386         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13387         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13388         * modules/fsusage (configure.ac): ... to here.
13389
13390 2011-05-07  Bruno Haible  <bruno@clisp.org>
13391
13392         freopen: Move AC_LIBOBJ invocations to module description.
13393         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13394         invocations from here...
13395         * modules/freopen (configure.ac): ... to here.
13396
13397 2011-05-07  Bruno Haible  <bruno@clisp.org>
13398
13399         free: Move AC_LIBOBJ invocations to module description.
13400         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13401         invocations from here...
13402         * modules/free (configure.ac): ... to here.
13403
13404 2011-05-07  Bruno Haible  <bruno@clisp.org>
13405
13406         freadable: Move AC_LIBOBJ invocations to module description.
13407         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13408         here...
13409         * modules/freadable (configure.ac): ... to here.
13410
13411 2011-05-07  Bruno Haible  <bruno@clisp.org>
13412
13413         fpurge: Move AC_LIBOBJ invocations to module description.
13414         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13415         invocations from here...
13416         * modules/fpurge (configure.ac): ... to here.
13417
13418 2011-05-07  Bruno Haible  <bruno@clisp.org>
13419
13420         fpending: Move AC_LIBOBJ invocations to module description.
13421         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13422         gl_FUNC_FPENDING.
13423         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13424         invocations from here...
13425         * modules/fpending (configure.ac): ... to here.
13426
13427 2011-05-07  Bruno Haible  <bruno@clisp.org>
13428
13429         fopen: Move AC_LIBOBJ invocations to module description.
13430         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13431         invocations from here...
13432         * modules/fopen (configure.ac): ... to here.
13433
13434 2011-05-07  Bruno Haible  <bruno@clisp.org>
13435
13436         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13437         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13438         gl_FUNC_FNMATCH_POSIX.
13439         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13440         invocations from here...
13441         * modules/fnmatch (configure.ac): ... to here.
13442         * modules/fnmatch-gnu (configure.ac): ... and here.
13443
13444 2011-05-07  Bruno Haible  <bruno@clisp.org>
13445
13446         flock: Move AC_LIBOBJ invocations to module description.
13447         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13448         invocations from here...
13449         * modules/flock (configure.ac): ... to here.
13450
13451 2011-05-07  Bruno Haible  <bruno@clisp.org>
13452
13453         fileblocks: Move AC_LIBOBJ invocations to module description.
13454         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13455         gl_PREREQ_FILEBLOCKS invocations from here...
13456         * modules/fileblocks (configure.ac): ... to here.
13457
13458 2011-05-06  Bruno Haible  <bruno@clisp.org>
13459
13460         fflush: Move AC_LIBOBJ invocations to module description.
13461         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13462         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13463         invocations from here...
13464         * modules/fflush (configure.ac): ... to here.
13465
13466 2011-05-06  Bruno Haible  <bruno@clisp.org>
13467
13468         fdopendir: Move AC_LIBOBJ invocations to module description.
13469         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13470         here...
13471         * modules/fdopendir (configure.ac): ... to here.
13472         (Depends-on): Improve conditions.
13473
13474 2011-05-06  Bruno Haible  <bruno@clisp.org>
13475
13476         _Exit: Move AC_LIBOBJ invocations to module description.
13477         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13478         invocations from here...
13479         * modules/_Exit (configure.ac): ... to here.
13480
13481 2011-05-21  Bruno Haible  <bruno@clisp.org>
13482
13483         euidaccess: Respect rules for use of AC_LIBOBJ.
13484         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13485         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13486         from here...
13487         * modules/euidaccess (configure.ac): ... to here.
13488
13489 2011-05-06  Bruno Haible  <bruno@clisp.org>
13490
13491         error: Move AC_LIBOBJ invocations to module description.
13492         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13493         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13494         invocations from here...
13495         * modules/error (configure.ac): ... to here.
13496
13497 2011-05-06  Bruno Haible  <bruno@clisp.org>
13498
13499         duplocale: Move AC_LIBOBJ invocations to module description.
13500         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13501         gl_PREREQ_DUPLOCALE invocations from here...
13502         * modules/duplocale (configure.ac): ... to here.
13503
13504 2011-05-05  Bruno Haible  <bruno@clisp.org>
13505
13506         dirfd: Move AC_LIBOBJ invocations to module description.
13507         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13508         gl_FUNC_DIRFD.
13509         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13510         here...
13511         * modules/dirfd (configure.ac): ... to here.
13512         (Depends-on): Fix condition.
13513
13514 2011-05-05  Bruno Haible  <bruno@clisp.org>
13515
13516         chown: Respect rules for use of AC_LIBOBJ.
13517         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13518         * modules/chown (configure.ac): ... to here.
13519
13520 2011-05-05  Bruno Haible  <bruno@clisp.org>
13521
13522         chdir-long: Move AC_LIBOBJ invocations to module description.
13523         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13524         gl_PREREQ_CHDIR_LONG invocations from here...
13525         * modules/chdir-long (configure.ac): ... to here.
13526
13527 2011-05-05  Bruno Haible  <bruno@clisp.org>
13528
13529         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13530         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13531         from here...
13532         * modules/canonicalize-lgpl (configure.ac): ... to here.
13533
13534 2011-05-05  Bruno Haible  <bruno@clisp.org>
13535
13536         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13537         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13538         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13539         REPLACE_CALLOC.
13540         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13541         * modules/calloc-gnu (configure.ac): Likewise.
13542
13543 2011-05-05  Bruno Haible  <bruno@clisp.org>
13544
13545         btowc: Move AC_LIBOBJ invocations to module description.
13546         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13547         invocations from here...
13548         * modules/btowc (configure.ac): ... to here.
13549
13550 2011-05-21  Bruno Haible  <bruno@clisp.org>
13551
13552         atexit: Move AC_LIBOBJ invocations to module description.
13553         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13554         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13555         here...
13556         * modules/atexit (configure.ac): ... to here.
13557
13558 2011-05-05  Bruno Haible  <bruno@clisp.org>
13559
13560         atoll: Move AC_LIBOBJ invocations to module description.
13561         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13562         invocations from here...
13563         * modules/atoll (configure.ac): ... to here.
13564
13565 2011-05-05  Bruno Haible  <bruno@clisp.org>
13566
13567         argz: Move AC_LIBOBJ invocations to module description.
13568         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13569         * modules/argz (configure.ac): ... to here.
13570
13571 2011-05-05  Bruno Haible  <bruno@clisp.org>
13572
13573         alphasort: Move AC_LIBOBJ invocations to module description.
13574         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13575         gl_PREREQ_ALPHASORT invocations from here...
13576         * modules/alphasort (configure.ac): ... to here.
13577
13578 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13579
13580         verify: new macro verify_expr; verify_true deprecated
13581         * NEWS: Mention this.
13582         * doc/verify.texi (Compile-time Assertions): Document this.
13583         * lib/verify.h (verify_true): Deprecate.
13584         (verify_expr): New macro.
13585         * tests/test-verify.c (function): Test verify_expr.
13586
13587 2011-06-14  Jim Meyering  <meyering@redhat.com>
13588
13589         init.sh: give more portable redirection-related advice in a comment
13590         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13591         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13592         for lots of discussion.  Stefano Lattarini suggested the solution
13593         of putting "9>&2" after the command.  Reported by Bruno Haible.
13594
13595 2011-06-13  Bruno Haible  <bruno@clisp.org>
13596
13597         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13598         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13599         'none'.
13600
13601 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13602
13603         ftoastr: use strtof only if HAVE_STRTOF
13604         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13606         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13607         * modules/ftoastr (configure.ac): Check for strtof.
13608
13609 2011-06-13  Bruno Haible  <bruno@clisp.org>
13610
13611         gnulib-tool: Addendum to 2011-06-08 commit.
13612         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13613         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13614
13615 2011-06-13  Bruno Haible  <bruno@clisp.org>
13616
13617         fseeko: Provide a non-inline replacement of fseek().
13618         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13619         * modules/fseeko (Depends-on): Add fseek.
13620         * modules/fseek (License): Change to LGPLv2+.
13621
13622 2011-06-13  Bruno Haible  <bruno@clisp.org>
13623
13624         ftello: Provide a non-inline replacement of ftell().
13625         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13626         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13627         not have ftello() (such as on mingw).
13628         * modules/ftello (Depends-on): Add ftell.
13629         * modules/ftell (License): Change to LGPLv2+.
13630
13631 2011-05-07  Bruno Haible  <bruno@clisp.org>
13632
13633         ftell: Move AC_LIBOBJ invocations to module description.
13634         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13635         * modules/ftell (configure.ac): ... to here.
13636
13637 2011-05-07  Bruno Haible  <bruno@clisp.org>
13638
13639         ftello: Respect rules for use of AC_LIBOBJ.
13640         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13641         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13642         here...
13643         * modules/ftello (configure.ac): ... to here.
13644
13645 2011-05-07  Bruno Haible  <bruno@clisp.org>
13646
13647         fseeko: Simplify.
13648         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13649         (gl_FUNC_FSEEKO): Inline it here.
13650
13651 2011-05-07  Bruno Haible  <bruno@clisp.org>
13652
13653         fseek: Move AC_LIBOBJ invocations to module description.
13654         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13655         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13656         * modules/fseek (configure.ac): ... to here.
13657
13658 2011-05-07  Bruno Haible  <bruno@clisp.org>
13659
13660         fseek: Respect rules for use of AC_LIBOBJ.
13661         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13662         here...
13663         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13664
13665 2011-05-07  Bruno Haible  <bruno@clisp.org>
13666
13667         fseeko: Respect rules for use of AC_LIBOBJ.
13668         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13669         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13670         here...
13671         * modules/fseeko (configure.ac): ... to here.
13672
13673 2011-06-13  Bruno Haible  <bruno@clisp.org>
13674
13675         gnulib-tool: Allow comments in the 'Depends-on' section.
13676         * doc/gnulib.texi (Module description): Mention comment syntax in the
13677         Depends-on section.
13678         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13679
13680 2011-06-13  Bruno Haible  <bruno@clisp.org>
13681
13682         file-set.h: guard __attibute__ use, now that it's not always defined
13683         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13684         versions that support it.  This fixes a coreutils build failure with
13685         the vendor cc on HP-UX 11.31.
13686
13687 2011-06-12  Bruno Haible  <bruno@clisp.org>
13688
13689         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13690         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13691         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13692         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13693         (acl, aclsort): New declarations.
13694         (aclv_nontrivial): New declaration.
13695         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13696         (file_has_acl): Read also the second kind of HP-UX ACLs.
13697         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13698         kind of HP-UX ACLs if the first kind fails.
13699         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13700         second kind of HP-UX ACLs.
13701         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13702         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13703         agree.
13704         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13705         hpuxjfs.
13706         Handle hpuxjfs.
13707         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13708         hpuxjfs.
13709         Handle hpuxjfs.
13710         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13711         (func_test_same_acls): Use both lsacl and getacl.
13712         Handle hpuxjfs.
13713         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13714         (func_test_same_acls): Use both lsacl and getacl.
13715         Handle hpuxjfs.
13716
13717 2011-06-12  Bruno Haible  <bruno@clisp.org>
13718
13719         acl: Complete the 2010-08-10 fix.
13720         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13721         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13722         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13723         explicitly.
13724         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13725         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13726
13727 2011-06-12  Bruno Haible  <bruno@clisp.org>
13728
13729         spawn-pipe tests: Comments.
13730         * tests/test-spawn-pipe-child.c (main): Update comment.
13731         Reported by James Youngman <jay@gnu.org>.
13732
13733 2011-06-11  James Youngman  <jay@gnu.org>
13734
13735         New module 'stat-size'.
13736         * modules/stat-size: New module.  Provides macros for accessing
13737         file size information in instances of struct stat.  Depends on the
13738         fileblocks module because it calls st_blocks.
13739         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13740         * doc/gnulib.texi: Include stat-size.texi.
13741         * doc/stat-size.texi: Documentation for this module.
13742         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13743         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13744         AC_STRUCT_ST_BLOCKS.
13745
13746 2011-06-09  Bruno Haible  <bruno@clisp.org>
13747
13748         thread: Support pthreads-win32.
13749         * lib/glthread/thread.h (gl_thread_self): Define differently on
13750         pthreads-win32.
13751         (gl_null_thread): New declaration.
13752         (gl_thread_self_pointer): New macro.
13753         * lib/glthread/thread.c (gl_null_thread): New constant.
13754         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13755         gl_thread_self.
13756         * tests/test-tls.c: Likewise.
13757         Suggested by Paul Eggert. Reported by Eric Blake.
13758
13759 2011-06-09  Bruno Haible  <bruno@clisp.org>
13760
13761         thread: Fix confusion between NULL and 0.
13762         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13763         Reported by Paul Eggert.
13764
13765 2011-06-09  Bruno Haible  <bruno@clisp.org>
13766
13767         spawn-pipe tests: Avoid test failure on HP-UX 11.
13768         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13769         is closed.
13770
13771 2011-06-09  Bruno Haible  <bruno@clisp.org>
13772
13773         acl tests: Fix compilation error on HP-UX 11.
13774         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13775
13776 2011-06-09  Bruno Haible  <bruno@clisp.org>
13777
13778         rmdir: Avoid test failure on HP-UX 10.20.
13779         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13780         EEXIST.
13781
13782 2011-06-08  Eric Blake  <eblake@redhat.com>
13783
13784         perror: fix test on mingw
13785         * modules/perror-tests (Depends-on): Add dup2.
13786
13787         strerror_r-posix: fix on MacOS
13788         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13789         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13790         logic bug.
13791         * lib/strerror_r.c (strerror_r): Fix the bug.
13792         * lib/strerror.c (strerror): Likewise.
13793         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13794         problem.
13795         * doc/posix-functions/strerror.texi (strerror): Likewise.
13796         * doc/posix-functions/perror.texi (perror): Likewise.
13797         * tests/test-strerror.c (main): Enhance test.
13798         * tests/test-strerror_r.c (main): Likewise.
13799
13800 2011-06-08  Bruno Haible  <bruno@clisp.org>
13801
13802         gnulib-tool: Better isolation between different gnulib-tool invocations.
13803         * gnulib-tool: New option --witness-c-macro.
13804         (witness_c_macro): New variable.
13805         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13806         AM_CPPFLAGS define it as a C macro.
13807         (func_emit_tests_Makefile_am): Likewise.
13808         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13809         read it from there.
13810         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13811         m4_define, not AC_DEFUN.
13812         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13813         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13814         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13815         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13816         s|...|...|, to substitute the values of the GNULIB_* module indicator
13817         variables.
13818         * modules/dirent (Makefile.am): Likewise.
13819         * modules/fcntl-h (Makefile.am): Likewise.
13820         * modules/iconv-h (Makefile.am): Likewise.
13821         * modules/langinfo (Makefile.am): Likewise.
13822         * modules/locale (Makefile.am): Likewise.
13823         * modules/math (Makefile.am): Likewise.
13824         * modules/netdb (Makefile.am): Likewise.
13825         * modules/poll-h (Makefile.am): Likewise.
13826         * modules/pty (Makefile.am): Likewise.
13827         * modules/search (Makefile.am): Likewise.
13828         * modules/signal (Makefile.am): Likewise.
13829         * modules/spawn (Makefile.am): Likewise.
13830         * modules/stdio (Makefile.am): Likewise.
13831         * modules/stdlib (Makefile.am): Likewise.
13832         * modules/string (Makefile.am): Likewise.
13833         * modules/sys_ioctl (Makefile.am): Likewise.
13834         * modules/sys_select (Makefile.am): Likewise.
13835         * modules/sys_socket (Makefile.am): Likewise.
13836         * modules/sys_stat (Makefile.am): Likewise.
13837         * modules/sys_times (Makefile.am): Likewise.
13838         * modules/sys_utsname (Makefile.am): Likewise.
13839         * modules/sys_wait (Makefile.am): Likewise.
13840         * modules/termios (Makefile.am): Likewise.
13841         * modules/time (Makefile.am): Likewise.
13842         * modules/unistd (Makefile.am): Likewise.
13843         * modules/wchar (Makefile.am): Likewise.
13844
13845 2011-06-08  Eric Blake  <eblake@redhat.com>
13846
13847         strerror: simplify replacement
13848         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13849         * modules/strerror (configure.ac): No prereqs needed here...
13850         * modules/strerror-override (configure.ac): ...but this needs it.
13851         (Files): Add file for needed prereq macro.
13852
13853 2011-06-08  Bruno Haible  <bruno@clisp.org>
13854
13855         strerror_r-posix: Tweaks.
13856         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13857         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13858         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13859         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13860         (gl_FUNC_STRERROR_R): ... to here.
13861         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13862
13863 2011-06-07  Eric Blake  <eblake@redhat.com>
13864
13865         perror: document fixed bugs
13866         * doc/posix-functions/perror.texi (perror): Document recent
13867         patches.
13868
13869 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13870
13871         stat-time: get_stat_birthtime failure is better-defined
13872         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13873         return a timestamp whose tv_sec and tv_nsec values are both -1.
13874         Previously, the spec said only that the tv_nsec value was negative.
13875         This upward-compatible change simplifies GNU tar a bit.
13876
13877 2011-06-07  Eric Blake  <eblake@redhat.com>
13878
13879         strerror_r-posix: work around cygwin 1.7.9
13880         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13881         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13882         bug without replacing strerror_r.
13883         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13884         strerror_r is buggy, but without requiring strerror_r compilation.
13885         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13886
13887         test-perror: relax test to ignore cygwin bug
13888         * tests/test-perror2.c (main): Relax test on requiring detection
13889         of stream errors, and use unbuffered stream.
13890         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13891         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13892         * doc/posix-functions/fputc.texi (fputc): Likewise.
13893         * doc/posix-functions/fputs.texi (fputs): Likewise.
13894         * doc/posix-functions/fputws.texi (fputws): Likewise.
13895         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13896         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13897         * doc/posix-functions/getopt.texi (getopt): Likewise.
13898         * doc/posix-functions/perror.texi (perror): Likewise.
13899         * doc/posix-functions/printf.texi (printf): Likewise.
13900         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13901         * doc/posix-functions/psignal.texi (psignal): Likewise.
13902         * doc/posix-functions/putc.texi (putc): Likewise.
13903         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13904         Likewise.
13905         * doc/posix-functions/putchar.texi (putchar): Likewise.
13906         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13907         Likewise.
13908         * doc/posix-functions/puts.texi (puts): Likewise.
13909         * doc/posix-functions/putwc.texi (putwc): Likewise.
13910         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13911         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13912         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13913         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13914         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13915         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13916         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13917         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13918
13919 2011-05-22  Bruno Haible  <bruno@clisp.org>
13920
13921         strerror: Move AC_LIBOBJ invocations to module description.
13922         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13923         gl_PREREQ_STRERROR invocations from here...
13924         * modules/strerror (configure.ac): ... to here.
13925
13926 2011-05-21  Bruno Haible  <bruno@clisp.org>
13927
13928         perror: Use common idiom.
13929         * modules/perror (configure.ac): Reorder statements.
13930
13931 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13932
13933         tests: fix usage message in 'mktempd_'
13934         * tests/init.sh (mktempd_): In the usage message, use literal
13935         'mktempd_', not '$ME' (which is even undefined), as the name of
13936         the subroutine.
13937
13938 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13939
13940         tests init: new function 'fatal_', for hard errors
13941         Before this patch, the only way offered by tests/init.sh to
13942         properly signal a hard error was the `framework_failure_'
13943         function.  But the error message issued by that function,
13944         as its name would suggest, refers to a set-up failure in the
13945         testsuite, while hard errors can obviously also be due to
13946         other reasons.  The best way to fix this inconsistency is to
13947         introduce a new function with a more general error message.
13948         * tests/init.sh (fatal_): New function.
13949
13950 2011-06-06  Eric Blake  <eblake@redhat.com>
13951
13952         canonicalize-lgpl: use common idiom
13953         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13954         over newer POSIX -Rf.
13955         Reported by Bruno Haible.
13956
13957         canonicalize-lgpl: work around AIX realpath bug
13958         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13959         * doc/posix-functions/realpath.texi (realpath): Document it.
13960         Reported by Bruno Haible.
13961
13962         strerror: work around FreeBSD bug
13963         * lib/strerror.c (strerror): Special case 0.
13964         Reported by Bruno Haible.
13965
13966         strerror-override: avoid bloating errno module
13967         * modules/errno (Files, configure.ac): Move replacement strings...
13968         * modules/strerror-override: ...to new module.
13969         * modules/strerror (Depends-on): Add strerror-override.
13970         * modules/strerror_r-posix (Depends-on): Likewise.
13971         * MODULES.html.sh: Document new module.
13972         Reported by Bruno Haible.
13973
13974 2011-06-06  Bruno Haible  <bruno@clisp.org>
13975
13976         spawn-pipe tests: Rename program.
13977         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13978         * tests/test-spawn-pipe-child.c: Update comment.
13979         * tests/test-spawn-pipe.sh: Update.
13980         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13981
13982         spawn-pipe tests: Link the child program only against libc.
13983         * tests/test-spawn-pipe-child.c: New file, extracted from
13984         tests/test-spawn-pipe.c.
13985         (main): Expect only one argument.
13986         (is_open): New function, copied from tests/test-pipe.c.
13987         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13988         (child_main): Remove function.
13989         (test_pipe): Pass only one argument to the child program.
13990         (main): Remove child process code. Expect the child program's name as
13991         first argument.
13992         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13993         argument.
13994         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13995         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13996         test-spawn-pipe-child against no libraries.
13997
13998 2011-06-06  Bruno Haible  <bruno@clisp.org>
13999
14000         careadlinkat: Avoid mismatch between ssize_t and int.
14001         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14002         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14003
14004 2011-06-06  Jim Meyering  <meyering@redhat.com>
14005
14006         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14007         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14008         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14009
14010 2011-06-05  Bruno Haible  <bruno@clisp.org>
14011
14012         ansi-c++-opt: Interoperability with libtool.
14013         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14014         set the variable to "no", not to ":".
14015         * NEWS: Mention the change.
14016
14017 2011-06-05  Bruno Haible  <bruno@clisp.org>
14018
14019         acl: Fix test failure on AIX 7.
14020         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14021         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14022
14023 2011-06-05  Bruno Haible  <bruno@clisp.org>
14024
14025         pipe-filter-ii: Fix test failure on AIX and IRIX.
14026         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14027         with EAGAIN, retry with a smaller buffer size.
14028
14029 2011-06-05  Bruno Haible  <bruno@clisp.org>
14030
14031         localename: Fix link dependencies.
14032         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14033         * modules/localename-tests (Makefile.am): Link test-localename with
14034         $(LIBTHREAD).
14035
14036 2011-06-05  Bruno Haible  <bruno@clisp.org>
14037
14038         error: Avoid gcc warning.
14039         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14040
14041 2011-06-05  Bruno Haible  <bruno@clisp.org>
14042
14043         unsetenv: Avoid gcc warning.
14044         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14045
14046 2011-06-05  Bruno Haible  <bruno@clisp.org>
14047
14048         setenv: Avoid gcc warning.
14049         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14050
14051 2011-06-05  Bruno Haible  <bruno@clisp.org>
14052
14053         sys_select: Ensure memset is declared also on AIX 7.
14054         * lib/sys_select.in.h: Include <string.h> also on AIX.
14055         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14056         self-contained also on AIX 7.1.
14057
14058 2011-06-04  Jim Meyering  <meyering@redhat.com>
14059
14060         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14061         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14062         function name, "error".
14063         (_gl_translatable_diag_func_re): New configurable variable.
14064
14065 2011-06-04  Bruno Haible  <bruno@clisp.org>
14066
14067         getopt: Avoid gcc warning.
14068         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14069
14070 2011-06-04  Bruno Haible  <bruno@clisp.org>
14071
14072         strerror_r: Fix comments.
14073         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14074         commit.
14075
14076 2011-06-04  Bruno Haible  <bruno@clisp.org>
14077
14078         perror: Fix compilation error.
14079         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14080         Undefine fprintf, not sprintf.
14081         * modules/perror (Depends-on): Remove intprops, verify.
14082
14083 2011-06-04  Bruno Haible  <bruno@clisp.org>
14084
14085         setlocale: Enable replacement on Cygwin 1.5.
14086         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14087         Cygwin 1.5.x.
14088         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14089         LC_CTYPE category also exists on Cygwin 1.5.x.
14090
14091 2011-06-04  Bruno Haible  <bruno@clisp.org>
14092
14093         strerror-override: Don't disable symbol renamings.
14094         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14095         * lib/strerror-override.c: Include config.h.
14096         (strerror_override): Don't undefine.
14097
14098 2011-06-03  Bruno Haible  <bruno@clisp.org>
14099
14100         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14101         * lib/localename.h: Update copyright header.
14102         * lib/localename.c: Likewise.
14103         * lib/relocatable.h: Likewise.
14104         * lib/relocatable.c: Likewise.
14105
14106 2011-06-02  Bruno Haible  <bruno@clisp.org>
14107
14108         doc: Fix a module name.
14109         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14110
14111 2011-06-02  Bruno Haible  <bruno@clisp.org>
14112
14113         pipe2: Remove dependency on 'nonblocking' module.
14114         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14115         O_NONBLOCK is defined by gnulib.
14116         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14117         is zero.
14118         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14119         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14120         defined by gnulib.
14121         (get_nonblocking_flag): New function.
14122         (main): Test O_NONBLOCK flag only if it is nonzero.
14123         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14124
14125 2011-06-03  Jim Meyering  <meyering@redhat.com>
14126
14127         maint: three new prohibit-header-without-use rules
14128         Prohibit use of cloexec.h, posixver.h, same.h without use.
14129         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14130         (sc_prohibit_posixver_without_use): Likewise.
14131         (sc_prohibit_same_without_use): Likewise.
14132
14133 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14134
14135         allocator: 'die' routine is now given requested size
14136         * lib/allocator.h (struct allocator.die): New size arg.
14137         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14138         If the actual problem is an ssize_t limitation, not a size_t or
14139         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14140
14141 2011-06-01  Eric Blake  <eblake@redhat.com>
14142
14143         strerror: drop strerror_r dependency
14144         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14145         * lib/strerror-override.c (strerror_override): ...to new file.
14146         * lib/strerror-override.h: Add prototype.
14147         * lib/strerror-impl.h: Delete.
14148         * lib/strerror.c (strerror): New implementation.
14149         * modules/errno (Files): Add new files.
14150         (configure.ac): Compile new file as appropriate.
14151         * modules/strerror (Files): Drop unused file.
14152         (Depends-on): Drop strerror_r-posix.
14153         * MODULES.html.sh: Document strerror_r-posix.
14154         Requested by Sam Steingold.
14155
14156         perror: call strerror_r directly
14157         * modules/perror (Files): Drop strerror-impl.h.
14158         * lib/perror.c (perror): Use our own stack buffer, rather than
14159         calling a wrapper that uses static storage.
14160         * doc/posix-functions/perror.texi (perror): Document a limitation
14161         of our replacement.
14162
14163         strerror_r: fix includes for FreeBSD
14164         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14165         since we use abort on some platforms.
14166         Reported by Matthias Bolte.
14167
14168 2011-05-31  Bruno Haible  <bruno@clisp.org>
14169
14170         Fix link errors in tests: openat-die uses gettext-h.
14171         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14172         against $(LIBINTL).
14173         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14174         against $(LIBINTL).
14175         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14176         $(LIBINTL).
14177         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14178         against $(LIBINTL).
14179         * modules/linkat-tests (Makefile.am): Link test-linkat against
14180         $(LIBINTL).
14181         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14182         $(LIBINTL).
14183         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14184         against $(LIBINTL).
14185         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14186         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14187         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14188         $(LIBINTL).
14189         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14190         $(LIBINTL).
14191         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14192         $(LIBINTL).
14193         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14194
14195 2011-05-31  Bruno Haible  <bruno@clisp.org>
14196
14197         Fix link errors in tests: wait-process uses gettext-h.
14198         * modules/nonblocking-pipe-tests (Makefile.am): Set
14199         test_nonblocking_pipe_main_LDADD.
14200         * modules/nonblocking-socket-tests (Makefile.am): Link
14201         test-nonblocking-socket-main against $(LIBINTL).
14202         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14203
14204 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14205
14206         assert-h: work around 'verify' incompatibility
14207         * lib/verify.h: Use @...@ directives, not ifdef.
14208         * modules/assert-h (assert.h): Implement the directives.
14209         (assert.h): Substitute the symbol-prefix more consistently.
14210
14211 2011-05-29  Jim Meyering  <meyering@redhat.com>
14212
14213         trim: remove three superfluous assignments
14214         * lib/trim.c (trim2): Remove three superfluous assignments
14215         and correct brace positioning.
14216
14217 2011-05-29  Bruno Haible  <bruno@clisp.org>
14218
14219         wctype-h: Avoid namespace pollution on Solaris 2.6.
14220         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14221         identifiers.
14222         * doc/posix-headers/wctype.texi: Mention the problem.
14223         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14224
14225 2011-05-28  Jim Meyering  <meyering@redhat.com>
14226
14227         parse-datetime.y: accommodate -Wstrict-overflow
14228         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14229         placate -Wstrict-overflow.
14230
14231         trim: avoid a warning from -O2 -Wstrict-overflow
14232         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14233
14234 2011-05-29  Bruno Haible  <bruno@clisp.org>
14235
14236         gnulib-tool: Fix bug in yesterday's commit.
14237         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14238         twice.
14239
14240 2011-05-29  Bruno Haible  <bruno@clisp.org>
14241
14242         Allow multiple gnulib generated include files to be combined.
14243         * gnulib-tool (func_compute_include_guard_prefix): New function.
14244         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14245         ${gl_include_guard_prefix} references.
14246         (func_import, func_create_testdir): Invoke
14247         func_compute_include_guard_prefix.
14248         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14249         * lib/ctype.in.h: Likewise.
14250         * lib/dirent.in.h: Likewise.
14251         * lib/errno.in.h: Likewise.
14252         * lib/fcntl.in.h: Likewise.
14253         * lib/float.in.h: Likewise.
14254         * lib/getopt.in.h: Likewise.
14255         * lib/iconv.in.h: Likewise.
14256         * lib/langinfo.in.h: Likewise.
14257         * lib/locale.in.h: Likewise.
14258         * lib/math.in.h: Likewise.
14259         * lib/netdb.in.h: Likewise.
14260         * lib/netinet_in.in.h: Likewise.
14261         * lib/poll.in.h: Likewise.
14262         * lib/pthread.in.h: Likewise.
14263         * lib/pty.in.h: Likewise.
14264         * lib/sched.in.h: Likewise.
14265         * lib/se-selinux.in.h: Likewise.
14266         * lib/search.in.h: Likewise.
14267         * lib/signal.in.h: Likewise.
14268         * lib/spawn.in.h: Likewise.
14269         * lib/stdarg.in.h: Likewise.
14270         * lib/stddef.in.h: Likewise.
14271         * lib/stdint.in.h: Likewise.
14272         * lib/stdio.in.h: Likewise.
14273         * lib/stdlib.in.h: Likewise.
14274         * lib/string.in.h: Likewise.
14275         * lib/strings.in.h: Likewise.
14276         * lib/sys_file.in.h: Likewise.
14277         * lib/sys_ioctl.in.h: Likewise.
14278         * lib/sys_select.in.h: Likewise.
14279         * lib/sys_socket.in.h: Likewise.
14280         * lib/sys_stat.in.h: Likewise.
14281         * lib/sys_time.in.h: Likewise.
14282         * lib/sys_times.in.h: Likewise.
14283         * lib/sys_uio.in.h: Likewise.
14284         * lib/sys_utsname.in.h: Likewise.
14285         * lib/sys_wait.in.h: Likewise.
14286         * lib/sysexits.in.h: Likewise.
14287         * lib/termios.in.h: Likewise.
14288         * lib/time.in.h: Likewise.
14289         * lib/unistd.in.h: Likewise.
14290         * lib/wchar.in.h: Likewise.
14291         * lib/wctype.in.h: Likewise.
14292         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14293         * modules/ctype (Makefile.am): Likewise.
14294         * modules/dirent (Makefile.am): Likewise.
14295         * modules/errno (Makefile.am): Likewise.
14296         * modules/fcntl-h (Makefile.am): Likewise.
14297         * modules/float (Makefile.am): Likewise.
14298         * modules/getopt-posix (Makefile.am): Likewise.
14299         * modules/iconv-h (Makefile.am): Likewise.
14300         * modules/langinfo (Makefile.am): Likewise.
14301         * modules/locale (Makefile.am): Likewise.
14302         * modules/math (Makefile.am): Likewise.
14303         * modules/netdb (Makefile.am): Likewise.
14304         * modules/netinet_in (Makefile.am): Likewise.
14305         * modules/poll-h (Makefile.am): Likewise.
14306         * modules/pthread (Makefile.am): Likewise.
14307         * modules/pty (Makefile.am): Likewise.
14308         * modules/sched (Makefile.am): Likewise.
14309         * modules/search (Makefile.am): Likewise.
14310         * modules/selinux-h (Makefile.am): Likewise.
14311         * modules/signal (Makefile.am): Likewise.
14312         * modules/spawn (Makefile.am): Likewise.
14313         * modules/stdarg (Makefile.am): Likewise.
14314         * modules/stddef (Makefile.am): Likewise.
14315         * modules/stdint (Makefile.am): Likewise.
14316         * modules/stdio (Makefile.am): Likewise.
14317         * modules/stdlib (Makefile.am): Likewise.
14318         * modules/string (Makefile.am): Likewise.
14319         * modules/strings (Makefile.am): Likewise.
14320         * modules/sys_file (Makefile.am): Likewise.
14321         * modules/sys_ioctl (Makefile.am): Likewise.
14322         * modules/sys_select (Makefile.am): Likewise.
14323         * modules/sys_socket (Makefile.am): Likewise.
14324         * modules/sys_stat (Makefile.am): Likewise.
14325         * modules/sys_time (Makefile.am): Likewise.
14326         * modules/sys_times (Makefile.am): Likewise.
14327         * modules/sys_uio (Makefile.am): Likewise.
14328         * modules/sys_utsname (Makefile.am): Likewise.
14329         * modules/sys_wait (Makefile.am): Likewise.
14330         * modules/sysexits (Makefile.am): Likewise.
14331         * modules/termios (Makefile.am): Likewise.
14332         * modules/time (Makefile.am): Likewise.
14333         * modules/unistd (Makefile.am): Likewise.
14334         * modules/wchar (Makefile.am): Likewise.
14335         * modules/wctype-h (Makefile.am): Likewise.
14336         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14337
14338 2011-05-29  Bruno Haible  <bruno@clisp.org>
14339
14340         assert-h: Allow multiple gnulib generated replacements to coexist.
14341         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14342
14343 2011-05-29  Bruno Haible  <bruno@clisp.org>
14344
14345         argp: Allow coexistence with strerror_r-posix module.
14346         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14347         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14348         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14349         not the glibc signature.
14350
14351 2011-05-28  Bruno Haible  <bruno@clisp.org>
14352
14353         gnulib-tool: Alternative structure of testdirs, similar to --import.
14354         * gnulib-tool: New option --single-configure.
14355         (func_usage): Document it.
14356         (single_configure): New variable.
14357         (func_modules_transitive_closure_separately,
14358         func_modules_transitive_closure_separately,
14359         func_determine_use_libtests, func_modules_add_dummy_separately,
14360         func_modules_to_filelist_separately): New functions, extracted from
14361         func_import.
14362         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14363         (func_import): Use the new functions.
14364         (func_create_testdir): Set final_modules. Handle $single_configure =
14365         true case.
14366
14367 2011-05-28  Bruno Haible  <bruno@clisp.org>
14368
14369         getloadavg: Remove an unreliable safety check.
14370         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14371         getloadavg.c is in place.
14372         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14373         Reported by Sam Steingold <sds@gnu.org>.
14374
14375 2011-05-28  Bruno Haible  <bruno@clisp.org>
14376
14377         doc: Cleanup yet another file produced by texinfo.tex.
14378         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14379
14380 2011-05-28  Bruno Haible  <bruno@clisp.org>
14381
14382         Finish the conditional dependencies mechanism.
14383         * gnulib-tool: New option --no-conditional-dependencies.
14384         (func_usage): Document it. Don't mark --conditional-dependencies as
14385         experimental.
14386         (cond_dependencies): The possible values can now be true, false, empty.
14387         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14388         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14389         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14390
14391 2011-05-28  Bruno Haible  <bruno@clisp.org>
14392
14393         doc: Use a recent texinfo.tex.
14394         * doc/Makefile (tex_opts): New variable.
14395         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14396
14397 2011-05-28  Jim Meyering  <meyering@redhat.com>
14398
14399         intprops.h: adjust comment to match code change
14400         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14401         only once, it *may* have side effects.  Also fix an unrelated typo.
14402         (_GL_INT_SIGNED): Likewise.
14403
14404 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14405
14406         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14407
14408 2011-05-26  Bruno Haible  <bruno@clisp.org>
14409
14410         mbsrchr: Avoid collision with system function on Interix.
14411         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14412         Reported by Markus Duft <mduft@gentoo.org>.
14413
14414 2011-05-15  James Youngman  <jay@gnu.org>
14415
14416         getopt: for ambiguous options, enumerate the possibilities.
14417         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14418         the ambiguous options when an ambiguous prefix is given. This was
14419         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14420         glibc change was
14421         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14422
14423 2011-05-25  Eric Blake  <eblake@redhat.com>
14424
14425         getcwd: work around mingw bug
14426         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14427         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14428         Reported by Matthias Bolte.
14429
14430 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14431
14432         test-intprops: disable -Wtype-limits diagnostics
14433         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14434         diagnostics.  Otherwise, the integer overflow macros generate many
14435         diagnostics.  Reported by Jim Meyering in
14436         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14437
14438         intprops: shorten, to pacify gcc -Woverlength-strings
14439         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14440         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14441         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14442         likely to run afoul of C compiler limits for string constant lengths.
14443         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14444
14445 2011-05-24  Eric Blake  <eblake@redhat.com>
14446
14447         docs: document recently fixed glibc printf bug
14448         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14449         * doc/posix-functions/printf.texi (printf): Likewise.
14450         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14451         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14452
14453         closein-tests: convert to init.sh
14454         * modules/closein-tests (Files): Add init.sh
14455         * tests/test-closein.sh Use it.
14456
14457         yesno-tests: convert to init.sh
14458         * modules/yesno-tests (Files): Add init.sh.
14459         * tests/test-yesno.sh: Use it.
14460
14461         atexit-tests: ensure reliable exit status
14462         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14463         Reported by Bruno Haible.
14464
14465 2011-05-24  Bruno Haible  <bruno@clisp.org>
14466
14467         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14468         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14469         gl_PREREQ_STRERROR_R invocations from here...
14470         * modules/strerror_r-posix (configure.ac): ... to here.
14471
14472 2011-05-24  Eric Blake  <eblake@redhat.com>
14473
14474         strerror_r: fix missing header
14475         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14476
14477         strerror_r: fix AIX test failures
14478         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14479         ERANGE failure.
14480
14481         strerror_r: fix Solaris test failures
14482         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14483         failures.
14484         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14485
14486         strerror_r: enforce POSIX recommendations
14487         * lib/strerror_r.c (safe_copy): New helper method.
14488         (strerror_r): Guarantee a non-empty string.
14489         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14490         recent POSIX rulings and to match our strerror guarantees.
14491         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14492
14493 2011-05-24  Jim Meyering  <meyering@redhat.com>
14494
14495         test-perror2.c: avoid warning about unused variable
14496         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14497
14498 2011-05-24  Eric Blake  <eblake@redhat.com>
14499
14500         perror: avoid spurious test failure on HP-UX
14501         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14502
14503         tests: fix logic bug in init.sh
14504         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14505         shell.
14506
14507 2011-05-24  Jim Meyering  <meyering@redhat.com>
14508
14509         utimensat: do not reference an out-of-scope buffer
14510         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14511         declared in an inner scope, yet "times" would be dereferenced outside
14512         the scope in which "ts" was valid.
14513         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14514         of ts[2] "out/up", so that the use of aliased "times" (via
14515         "times = ts;") does not end up referencing an out-of-scope "ts"
14516
14517         opendir-safer.c: don't clobber errno; don't close negative FD
14518         * lib/opendir-safer.c (opendir_safer):
14519         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14520         file descriptor, and more importantly, don't clobber the
14521         offending errno value with EINVAL.  Before, upon failure
14522         of dup_safer, we would pass the negative file descriptor to
14523         fdopendir, which would clobber errno.
14524
14525 2011-05-23  Bruno Haible  <bruno@clisp.org>
14526
14527         idcache: Fix module description.
14528         * modules/idcache (Include): Set to "idcache.h".
14529
14530 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14531
14532         gnulib-tool: fix portability problem with MacOS sed
14533         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14534         before the "}".  Problem reported by Leo in
14535         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14536         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14537         sed_extract_condition1, sed_extract_condition2.
14538
14539 2011-05-23  Bruno Haible  <bruno@clisp.org>
14540
14541         hash: Simplify autoconf macro.
14542         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14543
14544 2011-05-23  Bruno Haible  <bruno@clisp.org>
14545
14546         getugroups: Fix module description.
14547         * modules/getugroups (Include): Set to "getugroups.h".
14548
14549 2011-05-23  Bruno Haible  <bruno@clisp.org>
14550
14551         linkat: Simplify autoconf macro.
14552         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14553
14554 2011-05-23  Bruno Haible  <bruno@clisp.org>
14555             Eric Blake  <eblake@redhat.com>
14556
14557         linkat, renameat: Update dependencies.
14558         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14559         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14560         symlinkat.
14561
14562 2011-05-23  Jim Meyering  <meyering@redhat.com>
14563
14564         maint.mk: more tight_scope improvements
14565         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14566         (_gl_TS_headers): Define only in if-0'd block.
14567         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14568         sometimes we must *not* use it.  Adjust uses accordingly.
14569         (sc_tight_scope): Use much simpler grep-based test to determine
14570         whether we skip this rule.
14571
14572         maint.mk: generalize/improve the tight-scope rule
14573         * top/maint.mk: Emit a warning when the test is skipped.
14574         (_gl_TS_dir): Add $(srcdir)/ prefix.
14575         (_gl_TS_function_match): Simplify, rather than trying
14576         to enumerate common types.  Otherwise, it would fail to match an
14577         "extern unsigned char const *" declaration in idutils.
14578         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14579         a way to support use of that type of macro.
14580         (_gl_TS_var_match): Simplify regexp.
14581         (_gl_TS_obj_files): New configurable variable.
14582         (_gl_TS_headers): Likewise.
14583
14584 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14585
14586         verify: fix bug when gnulib <assert.h> is also included
14587         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14588         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14589         Perhaps there's a better way, but this fixes the immediate problem.
14590         Problem reported by Bruno Haible in
14591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14592
14593 2011-05-22  Bruno Haible  <bruno@clisp.org>
14594
14595         xgetcwd: Simplify autoconf macro.
14596         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14597
14598 2011-05-22  Bruno Haible  <bruno@clisp.org>
14599
14600         New module 'mktime-internal'.
14601         * modules/mktime-internal: New file.
14602         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14603         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14604         mktime_internal as a C macro if libc has __mktime_internal.
14605         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14606         conditions.
14607         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14608
14609 2011-05-22  Bruno Haible  <bruno@clisp.org>
14610
14611         timegm: Correct mktime replacement statements.
14612         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14613         defining mktime as a C macro. This completes a 2009-07-28 commit.
14614
14615 2011-05-22  Bruno Haible  <bruno@clisp.org>
14616
14617         timegm: Simplify autoconf macro.
14618         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14619
14620 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14621
14622         clock-time: change to LGPLv2+.
14623         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14624         BSD-like but we have no mark for that; this is good enough for now.
14625
14626 2011-05-21  Bruno Haible  <bruno@clisp.org>
14627
14628         strerror_r: Fix comments.
14629         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14630
14631 2011-05-21  Bruno Haible  <bruno@clisp.org>
14632
14633         relocatable-prog-wrapper: Fix possible link error.
14634         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14635         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14636         (gl_FUNC_SETENV): ... to here.
14637         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14638         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14639
14640 2011-05-21  Bruno Haible  <bruno@clisp.org>
14641
14642         relocatable-prog-wrapper: Assume strerror() exists.
14643         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14644         m4/strerror.m4.
14645         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14646         * lib/relocwrapper.c: Remove mention of strerror module.
14647         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14648         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14649         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14650         C macro.
14651
14652 2011-05-21  Bruno Haible  <bruno@clisp.org>
14653
14654         select: Simplify replacement idiom.
14655         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14656         Win32 platforms.
14657         * lib/sys_select.in.h (select): Simplify accordingly.
14658         * modules/select (Depends-on): Likewise.
14659
14660 2011-05-21  Bruno Haible  <bruno@clisp.org>
14661
14662         mkdir-p: Simplify autoconf macro.
14663         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14664         gl_FUNC_LCHOWN.
14665
14666 2011-05-21  Eric Blake  <eblake@redhat.com>
14667
14668         strerror_r: avoid clobbering strerror on cygwin
14669         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14670         fall back instead to sys_errlist.
14671         * modules/strerror (configure.ac): Add witness.
14672         * tests/test-strerror_r.c (main): Enhance test.
14673         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14674         * tests/test-perror2.c (main): Free memory before exit.
14675
14676 2011-05-21  Bruno Haible  <bruno@clisp.org>
14677
14678         mkdtemp: Use gnulib naming conventions.
14679         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14680         * modules/mkdtemp (configure.ac): Update.
14681
14682 2011-05-20  Eric Blake  <eblake@redhat.com>
14683
14684         strerror_r: avoid corrupting errno on Solaris
14685         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14686         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14687
14688         strerror_r: avoid compiler warning
14689         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14690
14691         strerror_r: simplify AIX code
14692         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14693
14694         test-perror: avoid spurious failure on FreeBSD
14695         * modules/perror-tests (Depends-on): Add strerror, now that
14696         strerror_r no longer pulls it in.
14697
14698 2011-05-20  Bruno Haible  <bruno@clisp.org>
14699
14700         strerror_r-posix: Remove unused dependencies.
14701         * modules/strerror_r-posix (Depends-on): Remove strerror.
14702         Reported by Eric Blake.
14703
14704 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14705
14706         intprops: remove assumption about A|B representation
14707         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14708         is a valid integer if both A and B are.  Although this is true for
14709         all known practical hosts, the C standard doesn't guarantee it,
14710         and the code need not assume it.  Also, this change may work around
14711         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14713
14714 2011-05-20  Eric Blake  <eblake@redhat.com>
14715
14716         perror: work around FreeBSD bug
14717         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14718         is broken.  Move AC_LIBOBJ...
14719         * modules/perror (configure.ac): Here.
14720         * doc/posix-functions/perror.texi (perror): Document this.
14721         * tests/test-perror2.c (main): Enhance test.
14722
14723         test-perror: check for strerror interactions
14724         * tests/macros.h (STREQ): Add macro.
14725         * modules/perror-tests (Files): Add second test.
14726         * tests/test-perror2.c (main): New file.
14727         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14728
14729         test-perror: rewrite to use init script
14730         * modules/perror-tests (Files): Add init.sh.
14731         * tests/test-perror.sh: Use temporary directory.
14732
14733 2011-05-20  Jim Meyering  <meyering@redhat.com>
14734
14735         maint: replace misused "a" with "an"
14736         * doc/intprops.texi: "a integer"
14737         * doc/regex.texi: "a explanation"
14738         * lib/alignof.h: "a object"
14739         * lib/argmatch.h: "a explanation"
14740         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14741         * lib/stdint.in.h: "a integer"
14742         * lib/userspec.c: "a owner"
14743         * doc/gnulib.texi: Fix "a idea", and reword.
14744
14745 2011-05-19  Jim Meyering  <meyering@redhat.com>
14746
14747         maint: correct misuse of "a" and "an"
14748         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14749         * lib/argp-help.c: "an docum...": s/an/a/
14750         * lib/argp-parse.c: "An vector": s/An/A/
14751         * lib/execute.c: "an native": s/an/a/
14752         * lib/spawn-pipe.c: Likewise.
14753         * lib/gc.h: "an Gc_rc": s/an/a/
14754         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14755         * lib/fts.c: "an stat.st_dev": s/an/a/
14756
14757 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14758
14759         intprops-tests: work around HP-UX 11.23 cc bug with constants
14760         * tests/test-intprops.c (VERIFY): New macro.
14761         (main): Use it, instead of verify, to work around the compiler bug; see
14762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14763
14764         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14765         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14766         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14767         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14768         (_GL_REMAINDER_OVERFLOW): Use it.
14769
14770         intprops-tests: revert unsigned part of previous change
14771         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14772         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14773         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14775
14776 2011-05-19  Bruno Haible  <bruno@clisp.org>
14777
14778         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14779         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14780         strerror_r() returned without filling the buffer.
14781         Reported by Eric Blake.
14782
14783 2011-05-19  Eric Blake  <eblake@redhat.com>
14784
14785         strerror_r: guarantee unchanged errno
14786         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14787         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14788         failure.
14789         * tests/test-strerror_r.c (main): Enhance test.
14790
14791 2011-05-19  Bruno Haible  <bruno@clisp.org>
14792
14793         strerror_r: Reorder #if blocks.
14794         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14795         for consistency with the previous commit.
14796
14797 2011-05-19  Bruno Haible  <bruno@clisp.org>
14798
14799         perror: Avoid clobbering the strerror buffer when possible.
14800         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14801         * lib/strerror.c: Include it.
14802         * modules/strerror (Files): Add lib/strerror-impl.h.
14803         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14804         (my_strerror): New function, defined through lib/strerror-impl.h.
14805         (perror): Use it instead of strerror.
14806         * modules/perror (Files): Add lib/strerror-impl.h.
14807         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14808
14809 2011-05-19  Eric Blake  <eblake@redhat.com>
14810
14811         strerror_r: fix on newer cygwin
14812         * lib/strerror_r.c (strerror_r): Cygwin now has
14813         __xpg_strerror_r, use it.
14814
14815 2011-05-19  Bruno Haible  <bruno@clisp.org>
14816
14817         strerror_r: Avoid clobbering the strerror buffer when possible.
14818         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14819         (sys_nerr, sys_errlist): New declarations.
14820         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14821         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14822         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14823
14824 2011-05-19  Bruno Haible  <bruno@clisp.org>
14825
14826         strerror_r: Fix test failure on mingw.
14827         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14828         EXTEND_STRERROR_R.
14829         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14830         macros from errno.in.h instead.
14831
14832 2011-05-19  Eric Blake  <eblake@redhat.com>
14833
14834         strerror: relax test for Solaris
14835         * tests/test-strerror.c (main): Permit Solaris behavior.
14836         * tests/test-strerror_r.c (main): Likewise.
14837
14838         strerror: enforce POSIX ruling on strerror(0)
14839         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14840         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14841         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14842         * doc/posix-functions/strerror.texi (strerror): Document it.
14843         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14844         * tests/test-strerror.c (main): Strengthen test.
14845         * tests/test-strerror_r.c (main): Likewise.
14846
14847 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14848
14849         intprop-tests: port to older and more-pedantic compilers
14850         * modules/intprops-tests (Files): Add tests/macros.h.
14851         * tests/test-intprops.c: Include macros.h.
14852         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14853         it's no longer documented to expand to an integer constant expression.
14854         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14855         argument is floating point, as it's no longer documented to expand
14856         to an integer constant expression in that case.
14857         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14858         compiler bugs reported by Bruno Haible.  See
14859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14860         (U0, U1): New constants, to work around the same bugs.  Also,
14861         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14862
14863         intprops: work around C compiler bugs
14864         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14865         bug in Sun C 5.11 2010/08/13 and other compilers; see
14866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14867
14868         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14869         * doc/intprops.texi (Integer Type Determination): Fix
14870         documentation for TYPE_IS_INTEGER: it returns an constant
14871         expression, not an integer constant expression.  Fix doc for
14872         TYPE_SIGNED: it returns an integer constant expression only if its
14873         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14874         hardly worth documented that way....)
14875
14876 2011-05-18  Bruno Haible  <bruno@clisp.org>
14877
14878         strerror_r: Avoid clobbering the strerror buffer when possible.
14879         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14880         Handle gnulib defined errno values here. When strerror() returns NULL
14881         or an empty string, return EINVAL.
14882         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14883         gnulib defined errno values here.
14884         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14885
14886 2011-05-18  Eric Blake  <eblake@redhat.com>
14887
14888         fnmatch: avoid compiler warning
14889         * lib/fnmatch_loop.c (FCT): Use correct type.
14890         Reported by Matthias Bolte.
14891
14892 2011-05-13  Jim Meyering  <meyering@redhat.com>
14893
14894         maint.mk: three new prohibit_<HDR>_without_use rules
14895         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14896         (sc_prohibit_stdio-safer_without_use): Likewise.
14897         (sc_prohibit_xfreopen_without_use): Likewise.
14898
14899 2011-05-17  Jim Meyering  <meyering@redhat.com>
14900
14901         announce-gen: fail if the NEWS delta is empty
14902         If there's nothing noteworthy in NEWS, then either you forgot
14903         or you shouldn't be releasing.
14904         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14905
14906 2011-05-17  Pádraig Brady <P@draigBrady.com>
14907
14908         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14909         reserved symbols starting with double underscore from the check.
14910
14911 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14912
14913         intprops: add doc
14914         * doc/intprops.texi: New file, documenting intprops.
14915         * doc/gnulib.texi (Particular Modules): Include it.
14916
14917         verify: add doc to gnulib manual and fix example
14918         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14919         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14920         (Compile-time Assertions): Fix example so it can't overflow.
14921
14922 2011-05-17  Jim Meyering  <meyering@redhat.com>
14923
14924         warnings.m4: don't usurp save_CPPFLAGS variable name
14925         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14926
14927         doc: fix typo
14928         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14929
14930 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14931             Bruno Haible  <bruno@clisp.org>
14932
14933         doc: Tweak recent change.
14934         * README (Portability guidelines): Tweak new text.
14935         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14936         Interix 6.1.
14937
14938 2011-05-16  Eric Blake  <eblake@redhat.com>
14939
14940         inttypes: avoid autoconf warning
14941         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14942         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14943
14944 2011-05-16  Sam Steingold <sds@gnu.org>
14945         and Eric Blake  <eblake@redhat.com>
14946
14947         vc-list-files: accept multiple directory operands
14948         * build-aux/vc-list-files: Iterate over all remaining operands.
14949
14950 2011-05-16  Bruno Haible  <bruno@clisp.org>
14951
14952         Fix confusion regarding deprecated modules.
14953         * modules/calloc (Status, Notice): Mark module as deprecated, not
14954         obsolete.
14955         * modules/fnmatch-posix (Status, Notice): Likewise.
14956         * modules/getdate (Status, Notice): Likewise.
14957         * modules/getopt (Status, Notice): Likewise.
14958         * modules/malloc (Status, Notice): Likewise.
14959         * modules/pipe (Status, Notice): Likewise.
14960         * modules/realloc (Status, Notice): Likewise.
14961         * modules/rename-dest-slash (Status, Notice): Likewise.
14962         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14963         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14964         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14965         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14966         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14967
14968 2011-05-16  Bruno Haible  <bruno@clisp.org>
14969
14970         doc: List the target platforms.
14971         * doc/gnulib-intro.texi (Target Platforms): New section.
14972         * doc/gnulib.texi (Introduction): Update menu.
14973         * README (Portability guidelines): Refer to the new section. Update
14974         statement about oldest supported environment. Remove rationale why
14975         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14976         unportable C89 function.
14977         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14978         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14979
14980 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14981
14982         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14983
14984 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14985
14986         intprops-tests: new module
14987         * modules/intprops-tests, tests/test-intprops.c: New files.
14988
14989         intprops: add safe, portable integer overflow checking
14990         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14991         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14992         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14993         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14994         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14995         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14996         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14997         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14998         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14999         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15000         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15001
15002 2011-05-12  James Youngman  <jay@gnu.org>
15003
15004         Add a test for glibc's Bugzilla bug #12378.
15005         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15006         doesn't allow the literal matching of a lone "[" (which is
15007         required by POSIX).
15008         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15009
15010 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15011
15012         Sync glibc change fixing Bugzilla bug #12378.
15013         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15014         beginning and fall back to matching as normal character if the
15015         string ends before the matching ']' is found.  This is what POSIX
15016         requires.
15017
15018 2011-05-13  Eric Blake  <eblake@redhat.com>
15019
15020         getcwd-lgpl: relax test for FreeBSD
15021         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15022         issue.
15023         * tests/test-getcwd-lgpl.c (main): Relax test.
15024         Reported by Matthias Bolte.
15025
15026 2011-05-11  Eric Blake  <eblake@redhat.com>
15027
15028         test-fflush: silence compiler warning
15029         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15030
15031 2011-05-11  Bruno Haible  <bruno@clisp.org>
15032
15033         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15034         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15035         * modules/canonicalize (Depends-on): Add 'nocrash'.
15036         * modules/canonicalize-lgpl (Depends-on): Likewise.
15037         * doc/posix-functions/realpath.texi: Update platforms list.
15038         Reported by Ryan Schmidt <ryandesign@macports.org>.
15039
15040 2011-05-11  Bruno Haible  <bruno@clisp.org>
15041
15042         group-member: Declare function in <unistd.h>.
15043         * lib/unistd.in.h (group_member): New declaration.
15044         * lib/group-member.h: Remove file.
15045         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15046         * tests/test-unistd-c++.cc: Check signature of group_member.
15047         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15048         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15049         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15050         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15051         HAVE_GROUP_MEMBER.
15052         * modules/group-member (Files): Remove lib/group-member.h.
15053         (Depends-on): Add unistd. Specify conditions.
15054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15055         (Include): Change to <unistd.h>.
15056         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15057         HAVE_GROUP_MEMBER.
15058         * NEWS: Mention the change.
15059         * lib/euidaccess.c: Don't include group-member.h.
15060
15061 2011-05-11  Bruno Haible  <bruno@clisp.org>
15062
15063         group-member: Document module.
15064         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15065         module.
15066
15067 2011-05-11  Bruno Haible  <bruno@clisp.org>
15068
15069         fclose: Fix mistake earlier today.
15070         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15071
15072 2011-05-11  Eric Blake  <eblake@redhat.com>
15073
15074         fclose: preserve fflush errors
15075         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15076         Reported by Jim Meyering.
15077
15078         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15079         * build-aux/bootstrap (check_versions): When no specific version
15080         is required, merely check that the app produces an exit status
15081         that indicates its existence.
15082
15083         maint.mk: drop redundant check
15084         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15085         the same but better.
15086
15087 2011-05-11  Bruno Haible  <bruno@clisp.org>
15088
15089         fclose: Fix possible link error.
15090         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15091         unregister_shadow_fd. Improve comments.
15092         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15093         Eric Blake.
15094
15095 2011-05-11  Jim Meyering  <meyering@redhat.com>
15096
15097         maint.mk: improve "can not" detection and generalize rule name
15098         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15099         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15100         Use the same technique as in sc_prohibit_doubled_word, so that
15101         we recognize "can not" also when the words are separated by a newline.
15102         Suggested by Eric Blake.
15103         (perl_filename_lineno_text_): Define.  Factored out of...
15104         (prohibit_doubled_word_): ...here.  Use the new definition.
15105         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15106         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15107         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15108
15109 2011-05-10  Eric Blake  <eblake@redhat.com>
15110
15111         fclose: avoid double close race when possible
15112         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15113         all but WINDOWS_SOCKETS.
15114
15115 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15116
15117         openat: correct new comment
15118         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15119
15120 2011-05-10  Jim Meyering  <meyering@redhat.com>
15121
15122         openat: add comments
15123         * lib/openat-proc.c (openat_proc_name): Add comments,
15124         mostly from Eric Blake.
15125
15126 2011-05-09  Eric Blake  <eblake@redhat.com>
15127
15128         openat: reduce syscalls in first probe of /proc
15129         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15130         be a directory.  Simplify the probe for .. bugs.
15131         * modules/openat (Depends-on): Drop same-inode.
15132         Reported by Bastien ROUCARIES.
15133
15134 2011-05-09  Jim Meyering  <meyering@redhat.com>
15135
15136         maint.mk: change semantics/name of tight_scope variables
15137         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15138         Rename variables to align with semantics that make them more useful.
15139
15140         maint.mk: tweak new rule's name not to impinge
15141         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15142         (sc_tight_scope): Use new rule name rather than $@-0.
15143
15144         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15145         * top/maint.mk (sc_tight_scope): New rule.
15146         (sc_tight_scope-0): New rule, ifdef'd out.
15147         (_gl_TS_dir): Default.
15148         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15149         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15150
15151 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15152
15153         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15154         Haible <bruno@clisp.org>.
15155
15156 2011-05-08  Bruno Haible  <bruno@clisp.org>
15157
15158         Comments.
15159         * m4/isnanf.m4: Add comment.
15160         * m4/isnanl.m4: Likewise.
15161
15162 2011-05-08  Bruno Haible  <bruno@clisp.org>
15163
15164         glob: Remove obsolete macro.
15165         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15166
15167 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15168
15169         intprops: Sun C 5.11 supports __typeof__
15170         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15171         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15172         which is new.
15173         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15174
15175         intprops: switch to usual gnulib indenting and naming
15176         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15177         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15178
15179         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15180
15181 2011-05-08  Jim Meyering  <meyering@redhat.com>
15182
15183         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15184         * top/maint.mk (release-prep): Use make's --no-print-directory
15185         option when generating the announcement.  This eliminates the
15186         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15187         generated announcement template.
15188
15189 2011-05-08  Bruno Haible  <bruno@clisp.org>
15190
15191         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15192         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15193         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15194
15195 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15196
15197         ignore-value, verify: Omit include files from lib_SOURCES.
15198         * modules/ignore-value, modules/verify (Makefile.am):
15199         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15200         that leads Automake to duplicate use of am__objects_... variables
15201         in Makefile.in.  See
15202         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15203
15204 2011-05-07  Bruno Haible  <bruno@clisp.org>
15205
15206         fclose: Simplify autoconf macro.
15207         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15208         defined.
15209
15210 2011-05-07  Bruno Haible  <bruno@clisp.org>
15211
15212         canonicalize-lgpl: Fix autoconf macro ordering bug.
15213         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15214         gl_STDLIB_H_DEFAULTS.
15215
15216 2011-05-06  Eric Blake  <eblake@redhat.com>
15217
15218         maintainer-makefile: make sc_po_check easier to tune
15219         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15220         to probe for strings, such as an alternate location for gnulib.
15221
15222         fclose: guarantee behavior on seekable stdin
15223         * modules/fclose (Depends-on): Add fflush.
15224         * doc/posix-functions/fclose.texi (fclose): Document this.
15225         * tests/test-fclose.c (main): Make test for this unconditional.
15226
15227 2011-05-06  Bruno Haible  <bruno@clisp.org>
15228
15229         fflush, fpurge: Relicense under LGPLv2+.
15230         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15231         * modules/fpurge (License): Likewise.
15232         With permission from Eric Blake and Jim Meyering.
15233         Suggested by Eric Blake.
15234
15235 2011-05-06  Karl Berry  <karl@gnu.org>
15236
15237         * MODULES.html.sh (func_all_modules): remove exit.
15238
15239 2011-05-06  Jim Meyering  <meyering@redhat.com>
15240
15241         maint.mk: use info-gnu@ as the default only for a stable release
15242         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15243         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15244         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15245         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15246
15247 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15248
15249         assert-h: new module, which supports C1X-style static_assert
15250         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15251         * lib/verify.h: Revamp so that this can be copied into assert.h,
15252         while retaining the ability to use it standalone as before.
15253         Rename private identifiers so as not to encroach on the
15254         standard C namespace, since this is now used by assert.h.
15255         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15256         the old verify_true.
15257         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15258         the old verify_true.  Use _GL_VERIFY_TYPE.
15259         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15260         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15261         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15262         defined when this file is copied into the replacement assert.h.
15263         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15264         and _Static_assert is not built in.
15265         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15266         defined, and use the new macros mentioned above.
15267         * doc/posix-headers/assert.texi: Document this.
15268
15269 2011-05-05  Bruno Haible  <bruno@clisp.org>
15270
15271         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15272         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15273         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15274         gl_REPLACE_FCLOSE here.
15275         * modules/fflush (Depends-on): Remove fclose.
15276         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15277         combination with module 'fclose'.
15278
15279 2011-05-05  Bruno Haible  <bruno@clisp.org>
15280
15281         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15282         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15283         gl_FUNC_FFLUSH.
15284         (gl_FUNC_FFLUSH): Use it.
15285         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15286         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15287         gl_REPLACE_FSEEKO here.
15288
15289 2011-05-05  Bruno Haible  <bruno@clisp.org>
15290
15291         tzset: Relicense under LGPL.
15292         * modules/tzset (License): Change to LGPL.
15293         No agreement needed; it's a no-op.
15294
15295         strtoimax, strtoumax: Relicense under LGPL.
15296         * modules/strtoimax (License): Change to LGPL.
15297         * modules/strtoumax (License): Likewise.
15298         With permission from Jim Meyering, Paul Eggert:
15299         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15301
15302         getgroups: Relicense under LGPL.
15303         * modules/getgroups (License): Change to LGPL.
15304         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15307         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15308
15309         nanosleep: Relicense under LGPL.
15310         * modules/nanosleep (License): Change to LGPL.
15311         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15312         Haible:
15313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15314         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15315         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15316         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15317
15318         futimens: Relicense under LGPL.
15319         * modules/futimens (License): Change to LGPL.
15320         With permission from Eric Blake:
15321         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15322
15323         fflush: Relicense under LGPL.
15324         * modules/fflush (License): Change to LGPL.
15325         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15328         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15329
15330         tmpfile: Relicense under LGPL.
15331         * modules/tmpfile (License): Change to LGPL.
15332         With permission from Ben Pfaff:
15333         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15334
15335         isfinite: Relicense under LGPL.
15336         * modules/isfinite (License): Change to LGPL.
15337         With permission from Ben Pfaff, Bruno Haible:
15338         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15340
15341         acosl..tanl: Relicense under LGPL.
15342         * modules/acosl (License): Change to LGPL.
15343         * modules/asinl (License): Likewise.
15344         * modules/atanl (License): Likewise.
15345         * modules/cosl (License): Likewise.
15346         * modules/expl (License): Likewise.
15347         * modules/logl (License): Likewise.
15348         * modules/sinl (License): Likewise.
15349         * modules/sqrtl (License): Likewise.
15350         * modules/tanl (License): Likewise.
15351         Source code originally from glibc and Paolo Bonzini. Agreements:
15352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15354
15355 2011-05-05  Bruno Haible  <bruno@clisp.org>
15356
15357         signal: Define sighandler_t.
15358         * lib/signal.in.h (sighandler_t): New type.
15359         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15360         whether sighandler_t is defined.
15361         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15362         * modules/signal (Depends-on): Add extensions.
15363         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15364         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15365         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15366
15367 2011-05-05  Eric Blake  <eblake@redhat.com>
15368
15369         maint: remove useless REPLACE_*_H macros
15370         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15371         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15372         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15373         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15374         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15375         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15376         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15377         * m4/btowc.m4: Update callers.
15378         * m4/dirfd.m4: Likewise.
15379         * m4/duplocale.m4: Likewise.
15380         * m4/fchdir.m4: Likewise.
15381         * m4/fdopendir.m4: Likewise.
15382         * m4/inet_ntop.m4: Likewise.
15383         * m4/inet_pton.m4: Likewise.
15384         * m4/ioctl.m4: Likewise.
15385         * m4/mbrlen.m4: Likewise.
15386         * m4/mbrtowc.m4: Likewise.
15387         * m4/mbsinit.m4: Likewise.
15388         * m4/mbsnrtowcs.m4: Likewise.
15389         * m4/mbsrtowcs.m4: Likewise.
15390         * m4/poll.m4: Likewise.
15391         * m4/setlocale.m4: Likewise.
15392         * m4/wcrtomb.m4: Likewise.
15393         * m4/wcsnrtombs.m4: Likewise.
15394         * m4/wcsrtombs.m4: Likewise.
15395         * m4/wctob.m4: Likewise.
15396         * m4/wcwidth.m4: Likewise.
15397         * modules/posix_spawn: Likewise.
15398         * modules/posix_spawn_file_actions_addclose: Likewise.
15399         * modules/posix_spawn_file_actions_adddup2: Likewise.
15400         * modules/posix_spawn_file_actions_addopen: Likewise.
15401         * modules/posix_spawn_file_actions_destroy: Likewise.
15402         * modules/posix_spawn_file_actions_init: Likewise.
15403         * modules/posix_spawnattr_destroy: Likewise.
15404         * modules/posix_spawnattr_getflags: Likewise.
15405         * modules/posix_spawnattr_getpgroup: Likewise.
15406         * modules/posix_spawnattr_getschedparam: Likewise.
15407         * modules/posix_spawnattr_getschedpolicy: Likewise.
15408         * modules/posix_spawnattr_getsigdefault: Likewise.
15409         * modules/posix_spawnattr_getsigmask: Likewise.
15410         * modules/posix_spawnattr_init: Likewise.
15411         * modules/posix_spawnattr_setflags: Likewise.
15412         * modules/posix_spawnattr_setpgroup: Likewise.
15413         * modules/posix_spawnattr_setschedparam: Likewise.
15414         * modules/posix_spawnattr_setschedpolicy: Likewise.
15415         * modules/posix_spawnattr_setsigdefault: Likewise.
15416         * modules/posix_spawnattr_setsigmask: Likewise.
15417         * modules/posix_spawnp: Likewise.
15418
15419 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15420
15421         Add option to do-release-commit-and-tag to specify branch.
15422         * build-aux/do-release-commit-and-tag: Add --branch.
15423
15424 2011-05-03  Bruno Haible  <bruno@clisp.org>
15425
15426         Avoid unnecessary compilation units, through conditional dependencies.
15427         * modules/accept (Depends-on): Add conditions to the dependencies.
15428         * modules/acosl (Depends-on): Likewise.
15429         * modules/argz (Depends-on): Likewise.
15430         * modules/asinl (Depends-on): Likewise.
15431         * modules/atanl (Depends-on): Likewise.
15432         * modules/atoll (Depends-on): Likewise.
15433         * modules/bind (Depends-on): Likewise.
15434         * modules/btowc (Depends-on): Likewise.
15435         * modules/canonicalize-lgpl (Depends-on): Likewise.
15436         * modules/ceil (Depends-on): Likewise.
15437         * modules/ceilf (Depends-on): Likewise.
15438         * modules/ceill (Depends-on): Likewise.
15439         * modules/chdir-long (Depends-on): Likewise.
15440         * modules/chown (Depends-on): Likewise.
15441         * modules/close (Depends-on): Likewise.
15442         * modules/connect (Depends-on): Likewise.
15443         * modules/cosl (Depends-on): Likewise.
15444         * modules/dirfd (Depends-on): Likewise.
15445         * modules/dprintf (Depends-on): Likewise.
15446         * modules/dprintf-posix (Depends-on): Likewise.
15447         * modules/error (Depends-on): Likewise.
15448         * modules/euidaccess (Depends-on): Likewise.
15449         * modules/expl (Depends-on): Likewise.
15450         * modules/faccessat (Depends-on): Likewise.
15451         * modules/fchdir (Depends-on): Likewise.
15452         * modules/fclose (Depends-on): Likewise.
15453         * modules/fcntl (Depends-on): Likewise.
15454         * modules/fdopendir (Depends-on): Likewise.
15455         * modules/fflush (Depends-on): Likewise.
15456         * modules/floor (Depends-on): Likewise.
15457         * modules/floorf (Depends-on): Likewise.
15458         * modules/floorl (Depends-on): Likewise.
15459         * modules/fnmatch (Depends-on): Likewise.
15460         * modules/fopen (Depends-on): Likewise.
15461         * modules/fprintf-posix (Depends-on): Likewise.
15462         * modules/frexp (Depends-on): Likewise.
15463         * modules/frexp-nolibm (Depends-on): Likewise.
15464         * modules/frexpl (Depends-on): Likewise.
15465         * modules/frexpl-nolibm (Depends-on): Likewise.
15466         * modules/fseek (Depends-on): Likewise.
15467         * modules/fsusage (Depends-on): Likewise.
15468         * modules/ftell (Depends-on): Likewise.
15469         * modules/ftello (Depends-on): Likewise.
15470         * modules/futimens (Depends-on): Likewise.
15471         * modules/getcwd (Depends-on): Likewise.
15472         * modules/getcwd-lgpl (Depends-on): Likewise.
15473         * modules/getdelim (Depends-on): Likewise.
15474         * modules/getdomainname (Depends-on): Likewise.
15475         * modules/getgroups (Depends-on): Likewise.
15476         * modules/gethostname (Depends-on): Likewise.
15477         * modules/getline (Depends-on): Likewise.
15478         * modules/getlogin_r (Depends-on): Likewise.
15479         * modules/getopt-posix (Depends-on): Likewise.
15480         * modules/getpeername (Depends-on): Likewise.
15481         * modules/getsockname (Depends-on): Likewise.
15482         * modules/getsockopt (Depends-on): Likewise.
15483         * modules/getsubopt (Depends-on): Likewise.
15484         * modules/getusershell (Depends-on): Likewise.
15485         * modules/glob (Depends-on): Likewise.
15486         * modules/grantpt (Depends-on): Likewise.
15487         * modules/iconv_open (Depends-on): Likewise.
15488         * modules/iconv_open-utf (Depends-on): Likewise.
15489         * modules/inet_ntop (Depends-on): Likewise.
15490         * modules/inet_pton (Depends-on): Likewise.
15491         * modules/ioctl (Depends-on): Likewise.
15492         * modules/isapipe (Depends-on): Likewise.
15493         * modules/isfinite (Depends-on): Likewise.
15494         * modules/isinf (Depends-on): Likewise.
15495         * modules/lchown (Depends-on): Likewise.
15496         * modules/ldexpl (Depends-on): Likewise.
15497         * modules/link (Depends-on): Likewise.
15498         * modules/linkat (Depends-on): Likewise.
15499         * modules/listen (Depends-on): Likewise.
15500         * modules/logl (Depends-on): Likewise.
15501         * modules/lstat (Depends-on): Likewise.
15502         * modules/mbrlen (Depends-on): Likewise.
15503         * modules/mbrtowc (Depends-on): Likewise.
15504         * modules/mbsinit (Depends-on): Likewise.
15505         * modules/mbsnrtowcs (Depends-on): Likewise.
15506         * modules/mbsrtowcs (Depends-on): Likewise.
15507         * modules/mbtowc (Depends-on): Likewise.
15508         * modules/memcmp (Depends-on): Likewise.
15509         * modules/mkdir (Depends-on): Likewise.
15510         * modules/mkdtemp (Depends-on): Likewise.
15511         * modules/mkfifo (Depends-on): Likewise.
15512         * modules/mkfifoat (Depends-on): Likewise.
15513         * modules/mknod (Depends-on): Likewise.
15514         * modules/mkostemp (Depends-on): Likewise.
15515         * modules/mkostemps (Depends-on): Likewise.
15516         * modules/mkstemp (Depends-on): Likewise.
15517         * modules/mkstemps (Depends-on): Likewise.
15518         * modules/mktime (Depends-on): Likewise.
15519         * modules/nanosleep (Depends-on): Likewise.
15520         * modules/open (Depends-on): Likewise.
15521         * modules/openat (Depends-on): Likewise.
15522         * modules/perror (Depends-on): Likewise.
15523         * modules/poll (Depends-on): Likewise.
15524         * modules/popen (Depends-on): Likewise.
15525         * modules/posix_spawn (Depends-on): Likewise.
15526         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15527         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15528         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15529         * modules/posix_spawnp (Depends-on): Likewise.
15530         * modules/pread (Depends-on): Likewise.
15531         * modules/printf-posix (Depends-on): Likewise.
15532         * modules/ptsname (Depends-on): Likewise.
15533         * modules/putenv (Depends-on): Likewise.
15534         * modules/pwrite (Depends-on): Likewise.
15535         * modules/readline (Depends-on): Likewise.
15536         * modules/readlink (Depends-on): Likewise.
15537         * modules/readlinkat (Depends-on): Likewise.
15538         * modules/recv (Depends-on): Likewise.
15539         * modules/recvfrom (Depends-on): Likewise.
15540         * modules/regex (Depends-on): Likewise.
15541         * modules/remove (Depends-on): Likewise.
15542         * modules/rename (Depends-on): Likewise.
15543         * modules/renameat (Depends-on): Likewise.
15544         * modules/rmdir (Depends-on): Likewise.
15545         * modules/round (Depends-on): Likewise.
15546         * modules/roundf (Depends-on): Likewise.
15547         * modules/roundl (Depends-on): Likewise.
15548         * modules/rpmatch (Depends-on): Likewise.
15549         * modules/select (Depends-on): Likewise.
15550         * modules/send (Depends-on): Likewise.
15551         * modules/sendto (Depends-on): Likewise.
15552         * modules/setenv (Depends-on): Likewise.
15553         * modules/setlocale (Depends-on): Likewise.
15554         * modules/setsockopt (Depends-on): Likewise.
15555         * modules/shutdown (Depends-on): Likewise.
15556         * modules/sigaction (Depends-on): Likewise.
15557         * modules/signbit (Depends-on): Likewise.
15558         * modules/sigprocmask (Depends-on): Likewise.
15559         * modules/sinl (Depends-on): Likewise.
15560         * modules/sleep (Depends-on): Likewise.
15561         * modules/snprintf (Depends-on): Likewise.
15562         * modules/snprintf-posix (Depends-on): Likewise.
15563         * modules/socket (Depends-on): Likewise.
15564         * modules/sprintf-posix (Depends-on): Likewise.
15565         * modules/sqrtl (Depends-on): Likewise.
15566         * modules/stat (Depends-on): Likewise.
15567         * modules/strchrnul (Depends-on): Likewise.
15568         * modules/strdup-posix (Depends-on): Likewise.
15569         * modules/strerror (Depends-on): Likewise.
15570         * modules/strerror_r-posix (Depends-on): Likewise.
15571         * modules/strndup (Depends-on): Likewise.
15572         * modules/strnlen (Depends-on): Likewise.
15573         * modules/strptime (Depends-on): Likewise.
15574         * modules/strsep (Depends-on): Likewise.
15575         * modules/strsignal (Depends-on): Likewise.
15576         * modules/strstr-simple (Depends-on): Likewise.
15577         * modules/strtod (Depends-on): Likewise.
15578         * modules/strtoimax (Depends-on): Likewise.
15579         * modules/strtok_r (Depends-on): Likewise.
15580         * modules/strtoumax (Depends-on): Likewise.
15581         * modules/symlink (Depends-on): Likewise.
15582         * modules/symlinkat (Depends-on): Likewise.
15583         * modules/tanl (Depends-on): Likewise.
15584         * modules/tcgetsid (Depends-on): Likewise.
15585         * modules/tmpfile (Depends-on): Likewise.
15586         * modules/trunc (Depends-on): Likewise.
15587         * modules/truncf (Depends-on): Likewise.
15588         * modules/truncl (Depends-on): Likewise.
15589         * modules/uname (Depends-on): Likewise.
15590         * modules/unlink (Depends-on): Likewise.
15591         * modules/unlockpt (Depends-on): Likewise.
15592         * modules/unsetenv (Depends-on): Likewise.
15593         * modules/usleep (Depends-on): Likewise.
15594         * modules/utimensat (Depends-on): Likewise.
15595         * modules/vasprintf (Depends-on): Likewise.
15596         * modules/vdprintf (Depends-on): Likewise.
15597         * modules/vdprintf-posix (Depends-on): Likewise.
15598         * modules/vfprintf-posix (Depends-on): Likewise.
15599         * modules/vprintf-posix (Depends-on): Likewise.
15600         * modules/vsnprintf (Depends-on): Likewise.
15601         * modules/vsnprintf-posix (Depends-on): Likewise.
15602         * modules/vsprintf-posix (Depends-on): Likewise.
15603         * modules/wcrtomb (Depends-on): Likewise.
15604         * modules/wcscasecmp (Depends-on): Likewise.
15605         * modules/wcscspn (Depends-on): Likewise.
15606         * modules/wcsdup (Depends-on): Likewise.
15607         * modules/wcsncasecmp (Depends-on): Likewise.
15608         * modules/wcsnrtombs (Depends-on): Likewise.
15609         * modules/wcspbrk (Depends-on): Likewise.
15610         * modules/wcsrtombs (Depends-on): Likewise.
15611         * modules/wcsspn (Depends-on): Likewise.
15612         * modules/wcsstr (Depends-on): Likewise.
15613         * modules/wcstok (Depends-on): Likewise.
15614         * modules/wcswidth (Depends-on): Likewise.
15615         * modules/wctob (Depends-on): Likewise.
15616         * modules/wctomb (Depends-on): Likewise.
15617         * modules/wctype (Depends-on): Likewise.
15618         * modules/wcwidth (Depends-on): Likewise.
15619         * modules/write (Depends-on): Likewise.
15620
15621 2011-05-03  Bruno Haible  <bruno@clisp.org>
15622
15623         Support for conditional dependencies.
15624         * doc/gnulib.texi (Module description): Document the syntax of
15625         conditional dependencies.
15626         * gnulib-tool: New option --conditional-dependencies.
15627         (func_usage): Document it.
15628         (cond_dependencies): New variable.
15629         (func_get_automake_snippet_conditional,
15630         func_get_automake_snippet_unconditional): New functions, extracted from
15631         func_get_automake_snippet.
15632         (func_get_automake_snippet): Use them.
15633         (sed_first_32_chars): New variable.
15634         (func_module_shellfunc_name): New function.
15635         (func_module_shellvar_name): New function.
15636         (func_module_conditional_name): New function.
15637         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15638         func_cond_module_condition): New functions.
15639         (func_modules_transitive_closure): Add support for conditional
15640         dependencies.
15641         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15642         conditional automake snippet in an automake conditional.
15643         (func_emit_autoconf_snippets): Emit shell functions that contain the
15644         code for conditional modules.
15645         (func_import, func_create_testdir): Update specification.
15646
15647 2011-05-03  Eric Blake  <eblake@redhat.com>
15648
15649         test-getaddrinfo: report error information
15650         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15651
15652 2011-05-03  Jim Meyering  <meyering@redhat.com>
15653
15654         bootstrap: avoid build failure when $GZIP is set
15655         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15656         program name.  If defined at all, it is supposed to list gzip options.
15657         Reported by Alan Curry in http://debbugs.gnu.org/8609
15658
15659 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15660
15661         readme-release: new module with release instructions
15662         * modules/readme-release: New module.
15663         * top/README-release: New file, from coreutils, grep, diffutils.
15664         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15665
15666 2011-05-02  Eric Blake  <eblake@redhat.com>
15667
15668         fflush: also replace fclose when fixing fflush
15669         * modules/fflush (Depends-on): Add fclose.
15670         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15671         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15672         memstreams with no backing fd.
15673         * doc/posix-functions/fclose.texi (fclose): Document the use of
15674         fflush module to fix the bug.
15675         * tests/test-fclose.c (main): Relax test when fclose is used in
15676         isolation.
15677
15678         fclose: add some tests
15679         * modules/fclose-tests: New test module.
15680         * tests/test-fclose.c: New file.
15681         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15682
15683         fclose: reduced dependencies
15684         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15685         simpler lseek.
15686         * lib/fclose.c (rpl_fclose): Likewise.
15687         Reported by Simon Josefsson.
15688
15689         exit: drop remaining clients
15690         * modules/argmatch (Depends-on): Replace exit with stdlib.
15691         * modules/copy-file (Depends-on): Likewise.
15692         * modules/execute (Depends-on): Likewise.
15693         * modules/exitfail (Depends-on): Likewise.
15694         * modules/obstack (Depends-on): Likewise.
15695         * modules/pagealign_alloc (Depends-on): Likewise.
15696         * modules/pipe-filter-gi (Depends-on): Likewise.
15697         * modules/pipe-filter-ii (Depends-on): Likewise.
15698         * modules/savewd (Depends-on): Likewise.
15699         * modules/spawn-pipe (Depends-on): Likewise.
15700         * modules/wait-process (Depends-on): Likewise.
15701         * modules/xsetenv (Depends-on): Likewise.
15702         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15703         * modules/git-merge-changelog (Depends-on): Likewise.
15704         * modules/long-options (Depends-on): Likewise.
15705         * modules/pt_chown (Depends-on): Likewise.
15706         * modules/sysexits (Depends-on): Likewise.
15707
15708         freading: relax license from LGPLv3+ to LGPLv2+
15709         * modules/freading (License): Relax LGPL version.
15710
15711 2011-05-02  Bruno Haible  <bruno@clisp.org>
15712
15713         fchdir: Remove unused dependencies.
15714         * modules/fchdir (Depends-on): Remove include_next.
15715
15716 2011-05-02  Bruno Haible  <bruno@clisp.org>
15717
15718         gnulib-tool: Refactor.
15719         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15720         from func_emit_autoconf_snippets.
15721         (func_emit_autoconf_snippets): Use it.
15722
15723 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15724
15725         * NEWS: Document removal of 'exit'.
15726         * modules/exit: Remove file.
15727
15728 2011-05-01  Bruno Haible  <bruno@clisp.org>
15729
15730         Update DEPENDENCIES.
15731         * DEPENDENCIES (gettext): Recommend the newest release.
15732         Reported by Simon Josefsson.
15733
15734 2011-05-01  Bruno Haible  <bruno@clisp.org>
15735
15736         gnulib-tool: Reduce code duplication.
15737         * gnulib-tool (func_emit_autoconf_snippets): New function.
15738         (func_import, func_create_testdir): Use it.
15739
15740 2011-04-30  Eric Blake  <eblake@redhat.com>
15741
15742         fclose: don't fail on non-seekable input stream
15743         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15744         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15745         since fflush is allowed to fail in that case.
15746
15747 2011-04-30  Bruno Haible  <bruno@clisp.org>
15748
15749         dup3: cleanup
15750         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15751
15752 2011-04-30  Bruno Haible  <bruno@clisp.org>
15753
15754         netdb: Make it work in C++ mode.
15755         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15756         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15757         module.
15758         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15759         gl_MODULE_INDICATOR_FOR_TESTS.
15760         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15761         * modules/netdb-c++-tests: New file.
15762         * tests/test-netdb-c++.cc: New file.
15763
15764 2011-04-30  Bruno Haible  <bruno@clisp.org>
15765
15766         New modules 'vfscanf', 'vscanf'.
15767         * modules/vfscanf: New file.
15768         * modules/vscanf: New file.
15769         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15770         here.
15771         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15772         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15773
15774 2011-04-30  Bruno Haible  <bruno@clisp.org>
15775
15776         passfd: Add comments.
15777         * lib/passfd.c: Add comments about platforms.
15778
15779 2011-04-30  Bruno Haible  <bruno@clisp.org>
15780
15781         sys_uio: Make <sys/uio.h> self-contained.
15782         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15783         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15784
15785 2011-04-30  Bruno Haible  <bruno@clisp.org>
15786
15787         sys_socket: Ensure 'struct iovec' definition.
15788         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15789         <sys/socket.h>.
15790         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15791
15792 2011-04-30  Bruno Haible  <bruno@clisp.org>
15793
15794         sys_uio: Protect definition of 'struct iovec'.
15795         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15796         it as a C struct.
15797
15798 2011-04-30  Bruno Haible  <bruno@clisp.org>
15799
15800         manywarnings: fix indentation
15801         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15802
15803 2011-04-30  Pádraig Brady <P@draigBrady.com>
15804
15805         manywarnings: add -Wno-missing-field-initializers if needed.
15806         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15807         option if it's needed to allow initialization with { 0, }
15808
15809 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15810
15811         announce-gen: cosmetic improvement
15812         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15813
15814 2011-04-29  Jim Meyering  <meyering@redhat.com>
15815
15816         vc-list-files: indent with spaces, not TABs
15817         * build-aux/vc-list-files: Convert leading TABs to spaces,
15818         to match the style of most other files in gnulib.
15819
15820         announce-gen: indent with spaces, not TABs
15821         * build-aux/announce-gen: Convert all TABs to spaces, to match
15822         the style of most other files in gnulib.
15823
15824 2011-04-29  Eric Blake  <eblake@redhat.com>
15825
15826         quotearg: avoid uninitialized variable use
15827         * lib/quotearg.c (quoting_options_from_style): Initialize
15828         remaining fields, and ensure that custom styles are only used via
15829         quoting_options rather than quoting_style.
15830
15831 2011-04-29  Jim Meyering  <meyering@redhat.com>
15832
15833         maint.mk: remove unused VC-tag variable
15834         * top/maint.mk (VC-tag): Remove unused variable.
15835
15836 2011-04-29  Bruno Haible  <bruno@clisp.org>
15837
15838         netdb: fix gai_strerror replacements
15839         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15840         * modules/netdb: Substitute it.
15841
15842 2011-04-29  Jim Meyering  <meyering@redhat.com>
15843
15844         test-getcwd.c: avoid new set-but-not-used warning
15845         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15846         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15847         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15848         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15849
15850         test-hash.c: avoid a new shadowing warning
15851         * tests/test-hash.c (main): Don't shadow "dup".
15852
15853 2011-04-28  Eric Blake  <eblake@redhat.com>
15854
15855         getaddrinfo: fix gai_strerror signature
15856         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15857         and work around mingw with UNICODE defined.
15858         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15859         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15860         * modules/netdb (Makefile.am): Substitute it.
15861         * lib/netdb.in.h (gai_strerror): Declare replacement.
15862         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15863         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15864         the fix.
15865
15866         getsockopt: avoid compiler warning
15867         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15868         Reported by Matthias Bolte.
15869
15870         tests: drop unused link dependency
15871         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15872         * modules/dirent-safer-tests (Makefile.am): Likewise.
15873         * modules/fdopendir-tests (Makefile.am): Likewise.
15874         * modules/mkfifoat-tests (Makefile.am): Likewise.
15875         * modules/openat-safer-tests (Makefile.am): Likewise.
15876         * modules/openat-tests (Makefile.am): Likewise.
15877         * modules/readlinkat-tests (Makefile.am): Likewise.
15878         * modules/symlinkat-tests (Makefile.am): Likewise.
15879         * modules/linkat-tests (Makefile.am): Likewise.
15880         (Depends-on): Switch to filenamecat-lgpl.
15881         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15882         LIBINTL.
15883         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15884         * tests/test-linkat.c (main): Don't require xalloc.
15885
15886         hash, mgetgroups: drop xalloc dependency
15887         * lib/hash.c (includes): Adjust includes.
15888         * lib/mgetgroups.c (includes): Likewise.
15889         (xgetgroups): Move...
15890         * lib/xgetgroups.c: ...to new file.
15891         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15892         * modules/xgetgroups: New file, split from...
15893         * modules/mgetgroups: ...here.
15894         (Depends-on): Add xalloc-oversized.
15895         * modules/hash (Depends-on): Likewise.
15896         * modules/hash-tests (Depends-on): Drop xalloc.
15897         (test_hash_LDADD): Drop unused library.
15898         * tests/test-hash.c (main): Break xalloc dependency.
15899         (includes): Drop unused include.
15900
15901         xalloc-oversized: new module
15902         * modules/xalloc-oversized: New module.
15903         * modules/xalloc (Depends-on): Add it.
15904         * lib/xalloc.h (xalloc_oversized): Move...
15905         * lib/xalloc-oversized.h: ...into new file.
15906
15907         utimecmp: drop dependency on xmalloc
15908         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15909         due to memory pressure.
15910         * modules/utimecmp (Depends-on): Drop xalloc.
15911
15912 2011-04-27  Eric Blake  <eblake@redhat.com>
15913
15914         getcwd: fix mingw bugs
15915         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15916         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15917         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15918
15919 2011-04-27  Bruno Haible  <bruno@clisp.org>
15920
15921         mkstemps: Ensure declaration on MacOS X 10.5.
15922         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15923         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15924         MacOS X.
15925
15926 2011-04-27  Bruno Haible  <bruno@clisp.org>
15927
15928         mkstemp: More documentation.
15929         * doc/posix-functions/mkstemp.texi: Document header file problem on
15930         MacOS X.
15931
15932 2011-04-27  Bruno Haible  <bruno@clisp.org>
15933
15934         mkstemp: Tweak configure message when cross-compiling.
15935         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15936         result as a guess.
15937
15938 2011-04-27  Bruno Haible  <bruno@clisp.org>
15939
15940         clean-temp: Clarify what it does.
15941         * lib/clean-temp.h: Add more comments.
15942         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15943         module.
15944         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15945         * doc/glibc-functions/mkstemps.texi: Likewise.
15946         * doc/glibc-functions/mkostemps.texi: Likewise.
15947
15948 2011-04-27  Eric Blake  <eblake@redhat.com>
15949
15950         fchdir: avoid extra chdir and fix test
15951         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15952         getcwd-lgpl.
15953         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15954         have to be canonical.
15955         (canonicalize_file_name): Drop unused macro.
15956         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15957
15958         filenamecat-lgpl: fix licence
15959         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15960         when it was first created.
15961
15962         linkat, renameat: add missing dependency
15963         * modules/linkat (Depends-on): Require getcwd-lgpl.
15964         * modules/renameat (Depends-on): Likewise.
15965
15966         tests: reduce dependencies
15967         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15968         * tests/test-renameat.c (main): Likewise.
15969         * modules/linkat-tests (Depends-on): Relax dependency.
15970         * modules/renameat-tests (Depends-on): Likewise.
15971         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15972         dependency explicit.
15973
15974         save-cwd: reduce default dependency
15975         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15976         * lib/save-cwd.c: Update comments.
15977         * NEWS: Document the semantic change.
15978
15979         getcwd: enhance tests
15980         * tests/test-getcwd-lgpl.c: New file, taken from...
15981         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15982         repeat long path stress tests from m4 probe.
15983         * modules/getcwd-lgpl-tests: New module.
15984         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15985         * m4/getcwd-abort-bug.m4: Update comment.
15986         * m4/getcwd-path-max.m4: Likewise.
15987
15988         getcwd-lgpl: new module
15989         * modules/getcwd-lgpl: New module.
15990         * lib/getcwd-lgpl.c: New file.
15991         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15992         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15993         * modules/getcwd (configure.ac): Set C witness.
15994         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15995
15996         getcwd: tweak comments
15997         * m4/getcwd-abort-bug.m4: Fix comments.
15998         * m4/getcwd-path-max.m4: Likewise.
15999         * m4/getcwd.m4: Likewise.
16000
16001 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16002         and Eric Blake  <eblake@redhat.com>
16003
16004         mkstemp: replace if system version uses wrong permissions
16005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16006         read/write mode bits set in file created by mkstemp.
16007         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16008
16009 2011-04-27  Eric Blake  <eblake@redhat.com>
16010
16011         passfd: avoid compiler warning
16012         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16013         Reported by Laine Stump.
16014
16015 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16016
16017         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16018         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16019
16020 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16021         and Eric Blake  <eblake@redhat.com>
16022
16023         mkstemp: mention clean-temp module
16024         * lib/mkstemp.c: Add comment.
16025         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16026
16027 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16028
16029         inttypes: also provide default values for 32-bit tests
16030         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16031         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16032
16033 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16034
16035         strtoumax: remove dependency on strtoimax
16036         This is like the strtoull change of yesterday.
16037         * modules/strtoumax (Files): Add lib/strtoimax.c.
16038         (Depends-on): Remove strtoimax and add verify.
16039
16040         inttypes-incomplete: new module
16041         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16042         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16043         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16044         of gl_INTTYPES_H.
16045         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16046         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16047         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16048         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16049         * modules/strtoumax, modules/xstrtol (Depends-on):
16050         Depend on inttypes-incomplete, not inttypes.
16051         * modules/inttypes-incomplete: New module, containing the contents
16052         of the old modules/inttypes module, except that the Files: section
16053         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16054         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16055         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16056         (Depends-on): Depend only on inttypes-incomplete.
16057         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16058
16059         inttypes: omit now-redundant strtoimax and strtoumax work
16060         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16061         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16062
16063         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16064         This supports apps that need pointers to strtoimax and strtoumax,
16065         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16066         nonexistent functions.  See
16067         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16068         et seq.
16069         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16070         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16071         a macro.
16072         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16073
16074 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16075
16076         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16077
16078 2011-04-25  Bruno Haible  <bruno@clisp.org>
16079
16080         strtol, strtoul: Mark modules as obsolete.
16081         * modules/strtol (Status, Notice): New sections.
16082         * modules/strtoul (Status, Notice): New sections.
16083
16084 2011-04-25  Bruno Haible  <bruno@clisp.org>
16085
16086         strtod: Remove check for strtod, unless supporting old platforms.
16087         * modules/strtod-obsolete: New file.
16088         * m4/strtod-obsolete.m4: New file.
16089         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16090         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16091         * modules/strtod (Depends-on): Add strtod-obsolete.
16092         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16093
16094 2011-04-25  Bruno Haible  <bruno@clisp.org>
16095
16096         strcase: Make module obsolete.
16097         * modules/strcase (Status, Notice): New sections.
16098
16099 2011-04-25  Bruno Haible  <bruno@clisp.org>
16100
16101         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16102         * modules/dup2-obsolete: New file.
16103         * m4/dup2-obsolete.m4: New file.
16104         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16105         gl_FUNC_DUP2_OBSOLETE is not also defined.
16106         * modules/dup2 (Depends-on): Add dup2-obsolete.
16107         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16108
16109 2011-04-25  Bruno Haible  <bruno@clisp.org>
16110
16111         strnlen: Avoid memchr related link error on old obsolete platforms.
16112         * modules/memchr-obsolete: New file.
16113         * m4/memchr-obsolete.m4: New file.
16114         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16115         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16116         * modules/memchr (Depends-on): Add memchr-obsolete.
16117         * modules/strnlen (Depends-on): Likewise.
16118         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16119
16120 2011-04-25  Jim Meyering  <meyering@redhat.com>
16121
16122         maint.mk: makefile_at_at_check extend and clean up
16123         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16124         in addition to */Makefile.am.
16125         Exempt legitimate uses of @VAR@ notation, e.g.,
16126         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16127         Remove obsolete coreutils-specific comment.
16128         Prompted by discussion here:
16129         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16130
16131 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16132
16133         strtoul: remove dependency on strtol
16134         This is so that 'configure' need not check for strtol merely because
16135         the application needs strtoul.
16136         * modules/strtoul (Files): Add lib/strtol.c.
16137         (Depends-on): Remove strtol.
16138
16139         strtoull: remove dependency on strtoul
16140         This is like the strtoll change.
16141         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16142         (Depends-on): Remove strtoul.
16143
16144         strtoll: remove dependency on strtol
16145         This is so that 'configure' need not check for strtol merely because
16146         the application needs strtoll.
16147         * modules/strtoll (Files): Add lib/strtol.c.
16148         (Depends-on): Remove strtol.
16149
16150 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16151
16152         inttypes: Move some configure check to module 'imaxdiv'.
16153         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16154         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16155         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16156
16157 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16158
16159         inttypes: Move some configure check to module 'imaxabs'.
16160         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16161         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16162         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16163
16164 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16165
16166         inttypes: Remove configure tests that are not needed since 2009-12-31.
16167         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16168         gl_cv_header_working_inttypes_h.
16169
16170 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16171
16172         * modules/strnlen (Depends-on): Remove memchr.
16173         The strnlen implementation doesn't need the memchr module's fixes; see
16174         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16175
16176         strtol: remove dependency on wchar
16177         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16178         * modules/strtol (Depends-on): Remove wchar.
16179
16180 2011-04-21  Eric Blake  <eblake@redhat.com>
16181
16182         passfd: fix test regression on Linux
16183         * modules/passfd-tests (configure.ac): Correct socketpair check.
16184
16185         passfd: speed up configure and drop unused code
16186         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16187         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16188         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16189         Instead of probing at configure for unix_scm_rights_bsd44_way,
16190         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16191         check to a struct member probe.
16192         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16193         (sendfd, recvfd): Update preprocessor checks.
16194         * modules/passfd (Files): Reflect rename, and drop unused file.
16195         (Depends-on): Drop unused dependency.
16196
16197         passfd: allow compilation on mingw
16198         * modules/sys_socket (Depends-on): Add sys_uio.
16199         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16200         iovec and a minimal struct msghdr.
16201         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16202         * tests/test-sys_socket.c (main): Enhance test.
16203         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16204         guaranteed to provide what we need.
16205         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16206         * modules/passfd-tests (Depends-on): Add sys_wait.
16207         * tests/test-passfd.c (main): Skip test on mingw, for now.
16208         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16209         partial 'struct msghdr' implementation.
16210
16211         sys_uio: new module
16212         * modules/sys_uio: New module.
16213         * modules/sys_uio-tests: Likewise.
16214         * lib/sys_uio.in.h: New file.
16215         * m4/sys_uio_h.m4: Likewise.
16216         * tests/test-sys_uio.c: Likewise.
16217         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16218         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16219
16220 2011-04-20  Jim Meyering  <meyering@redhat.com>
16221
16222         useless-if-before-free: avoid false-positive
16223         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16224         disjunct so that it too requires a terminating ";".  Without that,
16225         this script would identify as useless one statement from gcc that
16226         was not:
16227           if (aligned_ptr)
16228             free (((void **) aligned_ptr) [-1]);
16229
16230 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16231
16232         doc: update users.txt.
16233         * users.txt: Add barcode.
16234
16235 2011-04-19  Bruno Haible  <bruno@clisp.org>
16236
16237         ioctl: Remove link dependency on native Windows.
16238         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16239         (gl_close_fn, gl_ioctl_fn): New types.
16240         (struct fd_hook): Renamed from struct close_hook. Change type of
16241         private_close_fn field. Add private_ioctl_fn field.
16242         (close_hook_fn): Add parameter for primary close method.
16243         (execute_close_hooks, execute_all_close_hooks): Likewise.
16244         (ioctl_hook_fn): New type.
16245         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16246         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16247         argument.
16248         (unregister_fd_hook): Renamed from unregister_close_hook.
16249         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16250         Don't include <unistd.h>.
16251         (close): Remove undef.
16252         (anchor): Update.
16253         (execute_close_hooks): Add argument for primary close method.
16254         (execute_all_close_hooks): Likewise.
16255         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16256         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16257         argument. Allow each argument to be NULL.
16258         (unregister_fd_hook): Renamed from unregister_close_hook.
16259         * lib/close.c (rpl_close): Pass 'close' function pointer to
16260         execute_all_close_hooks.
16261         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16262         (primary_ioctl): New function.
16263         (ioctl): Don't call ioctlsocket here. Instead, call
16264         execute_all_ioctl_hooks.
16265         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16266         close method.
16267         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16268         (fd_sockets_hook): Renamed from close_sockets_hook.
16269         (gl_sockets_startup, gl_sockets_cleanup): Update.
16270         * modules/fd-hook: Renamed from modules/close-hook. Update.
16271         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16272         * modules/sockets (Depends-on): Likewise.
16273         * modules/ioctl (Depends-on): Add fd-hook.
16274         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16275         GNULIB_SOCKET.
16276
16277 2011-04-19  Bruno Haible  <bruno@clisp.org>
16278
16279         Move the support of O_NONBLOCK in open() to the 'open' module.
16280         * modules/nonblocking (Depends-on): Remove 'open'.
16281         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16282         gl_cv_have_open_O_NONBLOCK.
16283         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16284         O_NONBLOCK support.
16285         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16286
16287 2011-04-17  Bruno Haible  <bruno@clisp.org>
16288
16289         pipe2: Simplify code.
16290         * lib/pipe2.c (pipe2): Reduce code duplication.
16291
16292 2011-04-17  Bruno Haible  <bruno@clisp.org>
16293
16294         nonblocking: Add comment.
16295         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16296
16297 2011-04-17  Bruno Haible  <bruno@clisp.org>
16298
16299         nonblocking: Add tests for sockets.
16300         * tests/test-nonblocking-socket.sh: New file.
16301         * tests/test-nonblocking-socket-main.c: New file.
16302         * tests/test-nonblocking-socket-child.c: New file.
16303         * tests/test-nonblocking-socket.h: New file.
16304         * tests/socket-server.h: New file.
16305         * tests/socket-client.h: New file.
16306         * modules/nonblocking-socket-tests: New file.
16307         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16308
16309 2011-04-17  Bruno Haible  <bruno@clisp.org>
16310
16311         nonblocking: Add tests for pipes.
16312         * tests/test-nonblocking-pipe.sh: New file.
16313         * tests/test-nonblocking-pipe-main.c: New file.
16314         * tests/test-nonblocking-pipe-child.c: New file.
16315         * tests/test-nonblocking-pipe.h: New file.
16316         * tests/test-nonblocking-writer.h: New file.
16317         * tests/test-nonblocking-reader.h: New file.
16318         * tests/test-nonblocking-misc.h: New file.
16319         * modules/nonblocking-pipe-tests: New file.
16320         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16321
16322 2011-04-16  Bruno Haible  <bruno@clisp.org>
16323
16324         gettext: Clarify the needed programmer actions.
16325         * modules/gettext (Notice): New field.
16326         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16327
16328 2011-04-16  Bruno Haible  <bruno@clisp.org>
16329
16330         strchrnul: Tweak last commit.
16331         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16332         bug.
16333         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16334         as in _GL_FUNCDECL_SYS.
16335         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16336         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16337
16338 2011-04-15  Eric Blake  <eblake@redhat.com>
16339
16340         strchrnul: work around cygwin bug
16341         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16342         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16344         * modules/string (Makefile.am): Substitute it.
16345         * lib/string.in.h (strchrnul): Use it.
16346
16347 2011-04-15  Bruno Haible  <bruno@clisp.org>
16348
16349         Don't require lib/stdio-write.c when only module 'stdio' is used.
16350         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16351         invocation.
16352         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16353
16354 2011-04-14  Bruno Haible  <bruno@clisp.org>
16355
16356         Support non-blocking pipe I/O in read() on native Windows.
16357         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16358         (read): New declaration.
16359         * lib/read.c: New file.
16360         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16361         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16362         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16363         vscanf): New declarations.
16364         * lib/stdio-read.c: New file.
16365         * m4/read.m4: New file.
16366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16367         REPLACE_READ.
16368         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16369         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16370         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16371         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16372         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16373         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16374         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16375         * modules/read: New file.
16376         * modules/nonblocking (Files): Add lib/stdio-read.c.
16377         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16378         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16379         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16380         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16381         * modules/pread (Depends-on): Add read.
16382         * modules/safe-read (Depends-on): Likewise.
16383         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16384         gets, scanf, vfscanf, vscanf): Verify signatures.
16385         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16386         problem with non-blocking pipes.
16387         * doc/posix-functions/fgetc.texi: Likewise.
16388         * doc/posix-functions/fgets.texi: Likewise.
16389         * doc/posix-functions/fread.texi: Likewise.
16390         * doc/posix-functions/fscanf.texi: Likewise.
16391         * doc/posix-functions/getc.texi: Likewise.
16392         * doc/posix-functions/getchar.texi: Likewise.
16393         * doc/posix-functions/gets.texi: Likewise.
16394         * doc/posix-functions/scanf.texi: Likewise.
16395         * doc/posix-functions/vfscanf.texi: Likewise.
16396         * doc/posix-functions/vscanf.texi: Likewise.
16397
16398 2011-04-14  Bruno Haible  <bruno@clisp.org>
16399
16400         Support non-blocking pipe I/O in write() on native Windows.
16401         * lib/write.c (rpl_write): Split a write request that failed merely
16402         because the byte count was larger than the pipe buffer's size.
16403         * doc/posix-functions/write.texi: Mention the problem with large byte
16404         counts.
16405
16406 2011-04-14  Bruno Haible  <bruno@clisp.org>
16407
16408         wchar: Ensure that wchar_t gets defined on uClibc.
16409         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16410         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16411
16412 2011-04-13  Bruno Haible  <bruno@clisp.org>
16413
16414         safe-write, full-read: Avoid unnecessary compilation units.
16415         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16416         (Depends-on): Remove safe-read. Add ssize_t.
16417         * modules/full-read (Files): Add lib/full-write.c.
16418         (Depends-on): Add full-write.
16419
16420 2011-04-13  Bruno Haible  <bruno@clisp.org>
16421
16422         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16423         * modules/pwrite (Depends-on): Add 'write'.
16424
16425 2011-04-13  Bruno Haible  <bruno@clisp.org>
16426
16427         Support non-blocking pipe I/O in write() on native Windows.
16428         * lib/unistd.in.h (write): Enable replacement also if
16429         GNULIB_UNISTD_H_NONBLOCKING is 1.
16430         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16431         (rpl_write): When failing to write on a non-blocking pipe, change
16432         errno from ENOSPC to EAGAIN.
16433         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16434         putchar, puts, vfprintf, vprintf): Enable replacement also if
16435         GNULIB_STDIO_H_NONBLOCKING is 1.
16436         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16437         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16438         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16439         CALL_WITH_SIGPIPE_EMULATION.
16440         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16441         * m4/nonblocking.m4: New file.
16442         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16443         for non-blocking I/O support.
16444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16445         GNULIB_UNISTD_H_NONBLOCKING.
16446         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16447         required for non-blocking I/O support.
16448         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16449         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16450         lib/stdio-write.c, m4/asm-underscore.m4.
16451         (Depends-on): Add stdio, unistd.
16452         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16453         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16454         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16455         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16456         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16457         problem with non-blocking pipes.
16458         * doc/posix-functions/fputc.texi: Likewise.
16459         * doc/posix-functions/fputs.texi: Likewise.
16460         * doc/posix-functions/fwrite.texi: Likewise.
16461         * doc/posix-functions/printf.texi: Likewise.
16462         * doc/posix-functions/putc.texi: Likewise.
16463         * doc/posix-functions/putchar.texi: Likewise.
16464         * doc/posix-functions/puts.texi: Likewise.
16465         * doc/posix-functions/vfprintf.texi: Likewise.
16466         * doc/posix-functions/vprintf.texi: Likewise.
16467         * doc/posix-functions/write.texi: Likewise.
16468
16469 2011-04-10  Jim Meyering  <meyering@redhat.com>
16470
16471         maint.mk: prohibit doubled words
16472         Detect them also when they're separated by a newline.
16473         There are 3 ways to customize it:
16474           - disable the test on a per file basis, as usual with rules using
16475             $(VC_LIST_EXCEPT)
16476           - replace the default doubled-word-selecting regexp (affects all files)
16477           - ignore a particular file-vs-doubled-word match
16478         I nearly used that last one to ignore the "is is" match in
16479         coreutils' NEWS file, since the text was "ls -is is ..."
16480         To do that, I would have added this line to cfg.mk:
16481           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16482         but it would have ignored any "is is" match in NEWS.
16483         Low probability, but still...
16484         Instead, I changed the text, slightly:
16485           -  ls -is is now consistent with ls -lis in ignoring values returned
16486           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16487         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16488         (prohibit_doubled_word_): Define.
16489         (sc_prohibit_doubled_word): New rule.
16490         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16491
16492 2011-04-10  Jim Meyering  <meyering@redhat.com>
16493
16494         maint: fix doubled-word typo in comment
16495         * m4/gethostname.m4: s/is is/it is/
16496         * m4/getdomainname.m4: Likewise.
16497
16498 2011-04-10  Jim Meyering  <meyering@redhat.com>
16499
16500         maint: remove doubled word: s/it it/it/
16501         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16502
16503 2011-04-10  Jim Meyering  <meyering@redhat.com>
16504
16505         maint.mk: remove useless semicolon and backslash
16506         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16507         semicolon and backslash.
16508
16509 2011-04-10  Bruno Haible  <bruno@clisp.org>
16510
16511         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16512         * modules/stdint-tests (Depends-on): Add wchar.
16513
16514 2011-04-10  Jim Meyering  <meyering@redhat.com>
16515
16516         maint: remove doubled words in comments, e.g., s/a a/a/
16517         * lib/strptime.c (day_of_the_week): s/the the/the/
16518         * tests/test-chown.h (test_chown): s/a a/a/
16519
16520         test-chown.h: correct a cast
16521         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16522         when the destination is a stat.st_gid.
16523
16524 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16525
16526         getaddrinfo: Fix test for sa_len member.
16527         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16528         include <sys/types.h> before <sys/socket.h>.
16529
16530 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16531
16532         maint: change "can not" to "cannot"
16533         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16534         boundaries.
16535
16536 2011-04-09  Jim Meyering  <meyering@redhat.com>
16537
16538         maint: change "a a" to "a"
16539         * tests/test-lchown.h (test_lchown): s/a a/a/
16540
16541         maint.mk: prohibit \<the the\>
16542         * top/maint.mk (sc_prohibit_the_the): New rule.
16543
16544         maint: fix "the the" in comment
16545         * lib/count-one-bits.h: s/the the/the/
16546
16547         maint: change "can not" to "cannot"
16548         But do not change the occurrences in maintain.texi or in
16549         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16550         * doc/gnulib-tool.texi: s/can not/cannot/
16551         * doc/posix-functions/accept.texi (accept): Likewise.
16552         * doc/posix-functions/socket.texi (socket): Likewise.
16553         * lib/mbrtowc.c: Likewise.
16554
16555         maint.mk: prohibit use of "can not"
16556         * top/maint.mk (sc_prohibit_can_not): New rule.
16557         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16558
16559 2011-04-09  Bruno Haible  <bruno@clisp.org>
16560
16561         careadlinkat: Guard against misuse of careadlinkatcwd.
16562         * lib/careadlinkat.c: Include <stdlib.h>.
16563         (careadlinkatcwd): Check that the fd argument is as expected.
16564
16565 2011-04-09  Bruno Haible  <bruno@clisp.org>
16566
16567         careadlinkat: Use common coding style.
16568         * lib/careadlinkat.c: Move gnulib includes after system includes.
16569
16570 2011-04-09  Bruno Haible  <bruno@clisp.org>
16571
16572         careadlinkat: Clarify specification.
16573         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16574         (careadlinkatcwd): Add comment.
16575         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16576
16577 2011-04-09  Bruno Haible  <bruno@clisp.org>
16578
16579         areadlinkat: Avoid link error on many platforms.
16580         * modules/areadlinkat (Depends-on): Add areadlink.
16581
16582 2011-04-09  Bruno Haible  <bruno@clisp.org>
16583
16584         allocator, careadlinkat: Fix double-inclusion guard.
16585         * lib/allocator.h: Fix double-inclusion guard.
16586         * lib/careadlinkat.h: Likewise.
16587
16588 2011-04-09  Bruno Haible  <bruno@clisp.org>
16589
16590         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16591         * lib/relocwrapper.c: Update dependencies hierarchy.
16592         * build-aux/install-reloc: Update list of files to be compiled.
16593         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16594         lib/allocator.[hc].
16595
16596 2011-04-08  Eric Blake  <eblake@redhat.com>
16597
16598         strftime: silence gnulib-tool warning
16599         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16600
16601 2011-04-08  Bruno Haible  <bruno@clisp.org>
16602
16603         verify: Fix syntax error with GCC 4.6 in C++ mode.
16604         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16605         (HAVE_STATIC_ASSERT): New macro.
16606         (verify_true, verify): Use 'static_assert' if it is supported and
16607         '_Static_assert' is not supported.
16608
16609 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16610
16611         allocator: New module.
16612         * modules/allocator, lib/allocator.c: New files.
16613         * lib/allocator.h (stdlib_allocator): New decl.
16614         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16615         Remove.  Do not include <stdlib.h>.
16616         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16617         * modules/careadlinkat (Files): Remove lib/allocator.h.
16618         (Depends-on): Add allocator.
16619
16620         stdlib: let modules use system malloc, realloc
16621         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16622         if !_GL_USE_STDLIB_ALLOC.
16623         (malloc, realloc): Limit this change to a smaller scope.
16624
16625         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16626         (malloc, realloc): Don't #undef; no longer needed.
16627         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16628         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16629         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16630         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16631         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16632         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16633         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16634         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16635
16636         careadlinkat: rename members to avoid problem
16637         * lib/allocator.h (struct allocator): Rename members from
16638         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16639         and realloc are #define'd.  Reported by Eric Blake in
16640         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16641         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16642
16643 2011-04-08  Eric Blake  <eblake@redhat.com>
16644
16645         nonblocking: reduce dependency
16646         * tests/test-nonblocking.c: Only test sockets when in use.
16647         * modules/nonblocking-tests (Depends-on): Drop socket.
16648         (Makefile.am): Link even if sockets are not present.
16649         * modules/pipe2-tests (Makefile.am): Likewise.
16650         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16651
16652         pipe2: fix O_NONBLOCK support on mingw
16653         * modules/pipe2 (Depends-on): Add nonblocking.
16654         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16655         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16656         * tests/test-nonblocking.c (main): Likewise.
16657         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16658
16659         fcntl-h: fix O_ACCMODE on cygwin
16660         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16661         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16662
16663         pipe-filter: drop O_NONBLOCK workarounds
16664         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16665         * modules/pipe-filter-ii (Depends-on): Likewise.
16666         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16667
16668         nonblocking: provide O_NONBLOCK for mingw
16669         * modules/nonblocking (Depends-on): Add open.
16670         (configure.ac): Set new witness macro.
16671         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16672         * modules/fcntl-h (Makefile.am): Substitute it.
16673         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16674         nonblocking module is in use.
16675         * lib/nonblocking.c: Adjust portability test.
16676         * lib/open.c (open): Don't let native open see gnulib flag.
16677         * tests/test-fcntl-h.c (main): Enhance test.
16678         * tests/test-open.h (test_open): Likewise.
16679         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16680
16681         careadlinkat: fix compilation error on mingw
16682         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16683         within struct allocator.
16684
16685 2011-04-06  Eric Blake  <eblake@redhat.com>
16686
16687         binary-io: relicense under LGPLv2+
16688         * modules/binary-io (License): Relax to LGPLv2+.
16689         Requested for libvirt, and required by pipe2.
16690
16691 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16692
16693         verify: use _Static_assert if available
16694         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16695         (verify_true, verify): Use it if available.  This generates better
16696         diagnostics with GCC 4.6.0 and later.
16697
16698 2011-04-05  Bruno Haible  <bruno@clisp.org>
16699
16700         Remove leftover generated .h files after config.status changed.
16701
16702         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16703         GL_GENERATE_ALLOCA_H.
16704         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16705         GL_GENERATE_ALLOCA_H evaluates to false.
16706
16707         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16708         GL_GENERATE_ARGZ_H.
16709         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16710         evaluates to false.
16711
16712         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16713         GL_GENERATE_BYTESWAP_H.
16714         * modules/byteswap (Makefile.am): Remove byteswap.h if
16715         GL_GENERATE_BYTESWAP_H evaluates to false.
16716
16717         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16718         GL_GENERATE_ERRNO_H.
16719         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16720         evaluates to false.
16721
16722         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16723         GL_GENERATE_FLOAT_H.
16724         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16725         evaluates to false.
16726
16727         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16728         GL_GENERATE_FNMATCH_H.
16729         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16730         GL_GENERATE_FNMATCH_H evaluates to false.
16731
16732         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16733         GL_GENERATE_GLOB_H.
16734         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16735         evaluates to false.
16736
16737         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16738         automake conditional GL_GENERATE_ICONV_H.
16739         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16740         evaluates to false.
16741
16742         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16743         GL_GENERATE_NETINET_IN_H.
16744         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16745         GL_GENERATE_NETINET_IN_H evaluates to false.
16746
16747         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16748         conditional GL_GENERATE_PTHREAD_H.
16749         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16750         * modules/pthread (Makefile.am): Remove pthread.h if
16751         GL_GENERATE_PTHREAD_H evaluates to false.
16752
16753         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16754         GL_GENERATE_SCHED_H.
16755         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16756         evaluates to false.
16757
16758         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16759         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16760         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16761         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16762
16763         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16764         GL_GENERATE_STDARG_H.
16765         * modules/stdarg (Makefile.am): Remove stdarg.h if
16766         GL_GENERATE_STDARG_H evaluates to false.
16767
16768         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16769         GL_GENERATE_STDBOOL_H.
16770         * modules/stdbool (Makefile.am): Remove stdbool.h if
16771         GL_GENERATE_STDBOOL_H evaluates to false.
16772
16773         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16774         conditional GL_GENERATE_STDDEF_H.
16775         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16776         * modules/stddef (Makefile.am): Remove stddef.h if
16777         GL_GENERATE_STDDEF_H evaluates to false.
16778
16779         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16780         GL_GENERATE_STDINT_H.
16781         * modules/stdint (Makefile.am): Remove stdint.h if
16782         GL_GENERATE_STDINT_H evaluates to false.
16783
16784         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16785         GL_GENERATE_SYSEXITS_H.
16786         * modules/sysexits (Makefile.am): Remove sysexits.h if
16787         GL_GENERATE_SYSEXITS_H evaluates to false.
16788
16789         Reported by Karl Berry and Ralf Wildenhues.
16790
16791 2011-04-05  Bruno Haible  <bruno@clisp.org>
16792
16793         Ensure to rebuild generated .h files when config.status has changed.
16794         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16795         config.status.
16796         * modules/ctype (Makefile.am): Likewise.
16797         * modules/dirent (Makefile.am): Likewise.
16798         * modules/errno (Makefile.am): Likewise.
16799         * modules/fcntl-h (Makefile.am): Likewise.
16800         * modules/float (Makefile.am): Likewise.
16801         * modules/getopt-posix (Makefile.am): Likewise.
16802         * modules/glob (Makefile.am): Likewise.
16803         * modules/iconv-h (Makefile.am): Likewise.
16804         * modules/inttypes (Makefile.am): Likewise.
16805         * modules/langinfo (Makefile.am): Likewise.
16806         * modules/locale (Makefile.am): Likewise.
16807         * modules/math (Makefile.am): Likewise.
16808         * modules/netdb (Makefile.am): Likewise.
16809         * modules/netinet_in (Makefile.am): Likewise.
16810         * modules/poll-h (Makefile.am): Likewise.
16811         * modules/pthread (Makefile.am): Likewise.
16812         * modules/pty (Makefile.am): Likewise.
16813         * modules/sched (Makefile.am): Likewise.
16814         * modules/search (Makefile.am): Likewise.
16815         * modules/selinux-h (Makefile.am): Likewise.
16816         * modules/signal (Makefile.am): Likewise.
16817         * modules/spawn (Makefile.am): Likewise.
16818         * modules/stdarg (Makefile.am): Likewise.
16819         * modules/stdbool (Makefile.am): Likewise.
16820         * modules/stddef (Makefile.am): Likewise.
16821         * modules/stdint (Makefile.am): Likewise.
16822         * modules/stdio (Makefile.am): Likewise.
16823         * modules/stdlib (Makefile.am): Likewise.
16824         * modules/string (Makefile.am): Likewise.
16825         * modules/strings (Makefile.am): Likewise.
16826         * modules/sys_file (Makefile.am): Likewise.
16827         * modules/sys_ioctl (Makefile.am): Likewise.
16828         * modules/sys_select (Makefile.am): Likewise.
16829         * modules/sys_socket (Makefile.am): Likewise.
16830         * modules/sys_stat (Makefile.am): Likewise.
16831         * modules/sys_time (Makefile.am): Likewise.
16832         * modules/sys_times (Makefile.am): Likewise.
16833         * modules/sys_utsname (Makefile.am): Likewise.
16834         * modules/sys_wait (Makefile.am): Likewise.
16835         * modules/sysexits (Makefile.am): Likewise.
16836         * modules/termios (Makefile.am): Likewise.
16837         * modules/time (Makefile.am): Likewise.
16838         * modules/unistd (Makefile.am): Likewise.
16839         * modules/wchar (Makefile.am): Likewise.
16840         * modules/wctype-h (Makefile.am): Likewise.
16841         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16842
16843 2011-04-05  Bruno Haible  <bruno@clisp.org>
16844
16845         pipe2: Relicense under LGPLv2+.
16846         * modules/pipe2 (License): Change to LGPLv2+.
16847         Requested by Eric Blake, for libvirt.
16848
16849 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16850
16851         bootstrap: compute gnulib_extra_files after updating build_aux
16852         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16853         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16854
16855 2011-04-05  Eric Blake  <eblake@redhat.com>
16856
16857         bootstrap: preserve git whitelist item sorting
16858         * build-aux/bootstrap (sort_patterns): New function.
16859         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16860
16861 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16862
16863         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16864         sc_space_tab check.
16865
16866 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16867
16868         areadlink, areadlinkat: rewrite in terms of careadlinkat
16869         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16870         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16871         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16872         (malloc, realloc): Remove #undefs.
16873         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16874         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16875         readlink, ssize_t, stdint, unistd.
16876         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16877         areadlink, stdint.
16878
16879         careadlinkat: new module
16880         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16881         * modules/careadlinkat: New files, written by me with
16882         a review and feedback from Ben Pfaff in
16883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16884
16885 2011-04-01  Bruno Haible  <bruno@clisp.org>
16886
16887         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16888         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16889         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16890         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16891         Reported by Bruce Korb <bruce.korb@gmail.com>.
16892
16893 2011-04-01  Bruno Haible  <bruno@clisp.org>
16894
16895         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16896         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16897         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16898         * modules/wcpcpy (Depends-on): Add extensions.
16899         * modules/wcpncpy (Depends-on): Likewise.
16900         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16901         systems.
16902         * doc/posix-functions/wcpncpy.texi: Likewise.
16903         * doc/posix-functions/wcwidth.texi: Likewise.
16904
16905 2011-03-31  Eric Blake  <eblake@redhat.com>
16906
16907         nonblocking: fix mingw test failures
16908         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16909         non-blocking flag on regular file.
16910         (get_nonblocking_flag): Set errno on invalid fd.
16911         * tests/test-nonblocking.c (main): Avoid test failure on
16912         directories if fchdir is not active.
16913         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16914
16915 2011-03-31  Bruno Haible  <bruno@clisp.org>
16916
16917         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16918         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16919         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16920         Reported by Simon Josefsson <simon@josefsson.org>.
16921
16922 2011-03-31  Bruno Haible  <bruno@clisp.org>
16923         and Eric Blake  <eblake@redhat.com>
16924
16925         nonblocking: new module
16926         * modules/nonblocking: New module.
16927         * modules/nonblocking-tests: Likewise.
16928         * lib/nonblocking.h: New file.
16929         * lib/nonblocking.c: Likewise.
16930         * tests/test-nonblocking.c: New test.
16931         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16932
16933 2011-03-30  Bruno Haible  <bruno@clisp.org>
16934
16935         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16936         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16937         instead of 'printf' format for GCC >= 4.4.
16938         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16939         (fprintf, printf, vfprintf, vprintf): Declare with
16940         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16941         the system's vfprintf() function.
16942         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16943
16944 2011-03-30  Eric Blake  <eblake@redhat.com>
16945
16946         passfd: fix scoping bug
16947         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16948         before sendmsg/recvmsg.
16949
16950         passfd: standardize coding conventions
16951         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16952         can be learned at compile time.
16953         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16954         ifdefs.
16955         (sendfd, recvfd): Follow gnulib code conventions.
16956
16957         passfd: fix incorrect sendmsg arguments
16958         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16959         incorrect msg_controllen value.
16960         * modules/passfd-tests (Depends-on): Check for alarm.
16961         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16962         Reported by Bastien ROUCARIES.
16963
16964 2011-03-30  Bruno Haible  <bruno@clisp.org>
16965
16966         c-strcasestr: Relicense under LGPLv2+.
16967         * modules/c-strcasestr (License): Change to LGPLv2+.
16968         Requested by Eric Blake, for libvirt.
16969
16970 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16971
16972         * users.txt: Add libidn2.  Fix libtasn1 link.
16973
16974 2011-03-30  Jim Meyering  <meyering@redhat.com>
16975
16976         tests: readlink* ("",... fails with EINVAL on newer kernels
16977         readlink and readlinkat have typically failed with ENOENT for
16978         the invalid, empty file name,  "".  However, with the advent
16979         of linux-2.6.39, they fail with EINVAL.
16980         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16981         when operating on the empty file name.
16982         * tests/test-readlink.h (test_readlink): Likewise.
16983
16984 2011-03-29  Bruno Haible  <bruno@clisp.org>
16985
16986         Relicense some modules under LGPLv2+, for libidn2.
16987         * modules/array-mergesort (License): Change to LGPLv2+.
16988         * modules/c-strcaseeq (License): Likewise.
16989         * modules/striconveh (License): Likewise.
16990         * modules/striconveha (License): Likewise.
16991         * modules/uniconv/base (License): Likewise.
16992         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16993         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16994         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16995         * modules/unictype/base (License): Likewise.
16996         * modules/unictype/bidiclass-of (License): Likewise.
16997         * modules/unictype/category-M (License): Likewise.
16998         * modules/unictype/category-none (License): Likewise.
16999         * modules/unictype/category-of (License): Likewise.
17000         * modules/unictype/category-test (License): Likewise.
17001         * modules/unictype/category-test-withtable (License): Likewise.
17002         * modules/unictype/combining-class (License): Likewise.
17003         * modules/unictype/joiningtype-of (License): Likewise.
17004         * modules/unictype/scripts (License): Likewise.
17005         * modules/uninorm/base (License): Likewise.
17006         * modules/uninorm/canonical-decomposition (License): Likewise.
17007         * modules/uninorm/composition (License): Likewise.
17008         * modules/uninorm/decompose-internal (License): Likewise.
17009         * modules/uninorm/decomposition-table (License): Likewise.
17010         * modules/uninorm/nfc (License): Likewise.
17011         * modules/uninorm/nfd (License): Likewise.
17012         * modules/uninorm/u32-normalize (License): Likewise.
17013         * modules/unistr/base (License): Likewise.
17014         * modules/unistr/u32-cpy (License): Likewise.
17015         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17016         * modules/unistr/u32-to-u8 (License): Likewise.
17017         * modules/unistr/u32-uctomb (License): Likewise.
17018         * modules/unistr/u8-check (License): Likewise.
17019         * modules/unistr/u8-mblen (License): Likewise.
17020         * modules/unistr/u8-mbtouc (License): Likewise.
17021         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17022         * modules/unistr/u8-mbtoucr (License): Likewise.
17023         * modules/unistr/u8-prev (License): Likewise.
17024         * modules/unistr/u8-strlen (License): Likewise.
17025         * modules/unistr/u8-to-u32 (License): Likewise.
17026         * modules/unistr/u8-uctomb (License): Likewise.
17027         * modules/unitypes (License): Likewise.
17028         Requested by Simon Josefsson.
17029
17030 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17031
17032         lib-symbol-visibility: Add a notice.
17033         * modules/lib-symbol-visibility (Notice): New field.
17034
17035 2011-03-29  Bruno Haible  <bruno@clisp.org>
17036
17037         getaddrinfo: Doc fix.
17038         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17039         section "fixed in Gnulib".
17040
17041 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17042
17043         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17044         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17045
17046 2011-03-26  Bruno Haible  <bruno@clisp.org>
17047
17048         unictype/property-byname: Reduce the number of load-time relocations.
17049         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17050         (UC_PROPERTY_INDEX_*): New enumeration values.
17051         (uc_property_byname): Convert an index from the lookup table to an
17052         uc_property_t.
17053         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17054         values.
17055
17056 2011-03-26  Bruno Haible  <bruno@clisp.org>
17057
17058         unictype/property-byname: Allow omitted word separators and aliases.
17059         * lib/unictype/pr_byname.gperf: Add property names without word
17060         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17061         for 'space'.
17062
17063 2011-03-26  Bruno Haible  <bruno@clisp.org>
17064
17065         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17066         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17067         also hyphens to space.
17068         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17069         without spaces.
17070         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17071
17072 2011-03-26  Bruno Haible  <bruno@clisp.org>
17073
17074         unictype/joiningtype-byname: Recognize long names as well.
17075         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17076         a long name.
17077         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17078         unictype/joiningtype_byname.h.
17079         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17080         * lib/unictype/joiningtype_byname.gperf: New file.
17081         * modules/unictype/joiningtype-byname (Files): Add
17082         lib/unictype/joiningtype_byname.gperf.
17083         (Depends-on): Add gperf.
17084         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17085         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17086         long names.
17087
17088         Tests for module 'unictype/joiningtype-longname'.
17089         * modules/unictype/joiningtype-longname-tests: New file.
17090         * tests/unictype/test-joiningtype_longname.c: New file.
17091
17092         New module 'unictype/joiningtype-longname'.
17093         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17094         * lib/unictype/joiningtype_longname.c: New file.
17095         * modules/unictype/joiningtype-longname: New file.
17096         * modules/unictype/joiningtype-all (Depends-on): Add
17097         unictype/joiningtype-longname.
17098
17099 2011-03-26  Bruno Haible  <bruno@clisp.org>
17100
17101         unictype/bidiclass-byname: Recognize long names as well.
17102         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17103         name.
17104         * lib/unictype/bidi_byname.c: Include <string.h>,
17105         unictype/bidi_byname.h.
17106         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17107         * lib/unictype/bidi_byname.gperf: New file.
17108         * modules/unictype/bidiclass-byname (Files): Add
17109         lib/unictype/bidi_byname.gperf.
17110         (Depends-on): Add gperf.
17111         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17112         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17113         long names.
17114
17115         Tests for module 'unictype/bidiclass-longname'.
17116         * modules/unictype/bidiclass-longname-tests: New file.
17117         * tests/unictype/test-bidi_longname.c: New file.
17118
17119         New module 'unictype/bidiclass-longname'.
17120         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17121         * lib/unictype/bidi_longname.c: New file.
17122         * modules/unictype/bidiclass-longname: New file.
17123         * modules/unictype/bidiclass-all (Depends-on): Add
17124         unictype/bidiclass-longname.
17125
17126 2011-03-26  Bruno Haible  <bruno@clisp.org>
17127
17128         unictype/bidi*: Rename modules.
17129         * modules/unictype/bidiclass-all: Renamed from
17130         modules/unictype/bidicategory-all.
17131         * modules/unictype/bidiclass-name: Renamed from
17132         modules/unictype/bidiclass-name.
17133         (Description): Update.
17134         * modules/unictype/bidiclass-name-tests: Renamed from
17135         modules/unictype/bidicategory-name-tests.
17136         * modules/unictype/bidiclass-byname: Renamed from
17137         modules/unictype/bidicategory-byname.
17138         (Description): Update.
17139         * modules/unictype/bidiclass-byname-tests: Renamed from
17140         modules/unictype/bidicategory-byname-tests.
17141         * modules/unictype/bidiclass-of: Renamed from
17142         modules/unictype/bidicategory-of.
17143         (Description): Update.
17144         * modules/unictype/bidiclass-of-tests: Renamed from
17145         modules/unictype/bidicategory-of-tests.
17146         * modules/unictype/bidiclass-test: Renamed from
17147         modules/unictype/bidicategory-test.
17148         (Description): Update.
17149         * modules/unictype/bidiclass-test-tests: Renamed from
17150         modules/unictype/bidicategory-test-tests.
17151         * modules/unictype/bidicategory-all: New file, a simple redirection.
17152         * modules/unictype/bidicategory-name: Likewise.
17153         * modules/unictype/bidicategory-byname: Likewise.
17154         * modules/unictype/bidicategory-of: Likewise.
17155         * modules/unictype/bidicategory-test: Likewise.
17156         * modules/unictype/property-bidi-* (Dependencies): Update.
17157         * lib/unictype/bidi_*.c: Update comment.
17158
17159 2011-03-26  Bruno Haible  <bruno@clisp.org>
17160
17161         unictype/bidi*: Rename functions, part 2.
17162         * modules/unictype/bidicategory-name (configure.ac): Update required
17163         libunistring version.
17164         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17165
17166 2011-03-25  Bruno Haible  <bruno@clisp.org>
17167
17168         New module 'unictype/combining-class-all'.
17169         * modules/unictype/combining-class-all: New file.
17170
17171         Tests for module 'unictype/combining-class-byname'.
17172         * modules/unictype/combining-class-byname-tests: New file.
17173         * tests/unictype/test-combiningclass_byname.c: New file.
17174
17175         New module 'unictype/combining-class-byname'.
17176         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17177         * lib/unictype/combiningclass_byname.c: New file.
17178         * lib/unictype/combiningclass_byname.gperf: New file.
17179         * modules/unictype/combining-class-byname: New file.
17180
17181         Tests for module 'unictype/combining-class-longname'.
17182         * modules/unictype/combining-class-longname-tests: New file.
17183         * tests/unictype/test-combiningclass_longname.c: New file.
17184
17185         New module 'unictype/combining-class-longname'.
17186         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17187         * lib/unictype/combiningclass_longname.c: New file.
17188         * modules/unictype/combining-class-longname: New file.
17189
17190         Tests for module 'unictype/combining-class-name'.
17191         * modules/unictype/combining-class-name-tests: New file.
17192         * tests/unictype/test-combiningclass_name.c: New file.
17193
17194         New module 'unictype/combining-class-name'.
17195         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17196         * lib/unictype/combiningclass_name.c: New file.
17197         * modules/unictype/combining-class-name: New file.
17198
17199 2011-03-25  Bruno Haible  <bruno@clisp.org>
17200
17201         unictype/combining-class: Rename source files.
17202         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17203         of unictype/combining.h.
17204         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17205         Update.
17206         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17207         * modules/unictype/combining-class (Description): Fix.
17208         (Files, Makefile.am): Update.
17209         * tests/unictype/test-combiningclass.c: Renamed from
17210         tests/unictype/test-combining.c.
17211         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17212
17213 2011-03-25  Bruno Haible  <bruno@clisp.org>
17214
17215         unictype: Update list of canonical combining classes.
17216         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17217
17218 2011-03-25  Bruno Haible  <bruno@clisp.org>
17219
17220         unictype/category-byname: Recognize long names as well.
17221         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17222         a long name.
17223         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17224         unictype/categ_byname.h.
17225         (UC_CATEGORY_INDEX_*): New enumeration values.
17226         (uc_general_category_byname): Use uc_general_category_lookup and
17227         convert from index to value.
17228         * lib/unictype/categ_byname.gperf: New file.
17229         * modules/unictype/category-byname (Files): Add
17230         lib/unictype/categ_byname.gperf.
17231         (Depends-on): Add gperf.
17232         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17233         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17234         long names.
17235
17236         Tests for module 'unictype/category-longname'.
17237         * modules/unictype/category-longname-tests: New file.
17238         * tests/unictype/test-categ_longname.c: New file.
17239
17240         New module 'unictype/category-longname'.
17241         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17242         * lib/unictype/categ_longname.c: New file.
17243         * modules/unictype/category-longname: New file.
17244         * modules/unictype/category-all (Depends-on): Add it.
17245
17246 2011-03-25  Bruno Haible  <bruno@clisp.org>
17247
17248         Tests for module 'unictype/category-LC'.
17249         * modules/unictype/category-LC-tests: New file.
17250         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17251
17252         New module 'unictype/category-LC'.
17253         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17254         (UC_CATEGORY_LC): New declaration.
17255         (UC_CASED_LETTER): New macro.
17256         * lib/gen-uni-tables.c (is_category_LC): New function.
17257         (output_categories): Also handle category LC.
17258         (UC_CATEGORY_MASK_LC): New enumeration value.
17259         (general_category_byname): Also handle category LC.
17260         * lib/unictype/categ_LC.c: New file.
17261         * lib/unictype/categ_LC.h: New file, automatically generated.
17262         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17263         category LC.
17264         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17265         * modules/unictype/category-LC: New file.
17266         * modules/unictype/category-byname (Depends-on): Add
17267         unictype/category-LC.
17268         * modules/unictype/category-all (Depends-on): Likewise.
17269
17270 2011-03-25  Eric Blake  <eblake@redhat.com>
17271
17272         xmalloc: revert yesterday's regression
17273         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17274         realloc's underlying behavior (allowing allocation of zero-size
17275         objects, especially if malloc-gnu is also in use).
17276
17277 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17278
17279         maint.mk: add missing version to VC-tag
17280         * top/maint.mk: git tag was missing actual tag name; add it.
17281
17282         valgrind: do leak checking, and exit with code 1 on error (not 0)
17283         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17284         to VALGRIND.
17285
17286 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17287
17288         posix-modules: say what it does.
17289         * posix-modules: Add a line to the --help output saying what it does.
17290
17291 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17292
17293         xmalloc: Do not leak if underlying realloc is C99 compatible.
17294         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17295         This avoids a leak on C99-based systems.  See
17296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17297
17298 2011-03-24  Eric Blake  <eblake@redhat.com>
17299
17300         realloc: document portability problem
17301         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17302         passing 0 size to realloc.
17303
17304 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17305
17306         doc: update users.txt
17307         * users.txt: Add cvsps, tmpwatch
17308
17309 2011-03-23  Matt Rice  <ratmice@gmail.com>
17310
17311         doc: update users.txt
17312         * users.txt: Add gdb.
17313
17314 2011-03-23  Jim Meyering  <meyering@redhat.com>
17315
17316         doc: update users.txt
17317         Looking through matches up to the following URL (there are still
17318         several more pages), I found several projects that use gnulib:
17319         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17320         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17321         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17322
17323 2011-03-22  Bruno Haible  <bruno@clisp.org>
17324
17325         unictype/bidi*: Rename functions.
17326         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17327         uc_bidi_class, uc_is_bidi_class): New declarations.
17328         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17329         uc_bidi_category_byname.
17330         (uc_bidi_category_byname): New function.
17331         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17332         u_bidi_category_name.
17333         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17334         (uc_bidi_category_name): New function.
17335         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17336         uc_bidi_category.
17337         (uc_bidi_category): New function.
17338         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17339         uc_is_bidi_category. Invoke uc_bidi_class.
17340         (uc_is_bidi_category): New function.
17341         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17342         instead of uc_bidi_category_byname.
17343         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17344         instead of uc_bidi_category_name.
17345         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17346         uc_bidi_category.
17347         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17348         instead of uc_is_bidi_category.
17349
17350 2011-03-21  Bruno Haible  <bruno@clisp.org>
17351
17352         New module 'unictype/joininggroup-all'.
17353         * modules/unictype/joininggroup-all: New file.
17354
17355         Tests for module 'unictype/joininggroup-of'.
17356         * modules/unictype/joininggroup-of-tests: New file.
17357         * tests/unictype/test-joininggroup_of.c: New file.
17358         * tests/unictype/test-joininggroup_of.h: New file, automatically
17359         generated by gen-uni-tables.
17360
17361         New module 'unictype/joininggroup-of'.
17362         * modules/unictype/joininggroup-of: New file.
17363         * lib/unictype/joininggroup_of.c: New file.
17364         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17365         gen-uni-tables.
17366
17367         Tests for module 'unictype/joininggroup-byname'.
17368         * modules/unictype/joininggroup-byname-tests: New file.
17369         * tests/unictype/test-joininggroup_byname.c: New file.
17370
17371         New module 'unictype/joininggroup-byname'.
17372         * modules/unictype/joininggroup-byname: New file.
17373         * lib/unictype/joininggroup_byname.c: New file.
17374         * lib/unictype/joininggroup_byname.gperf: New file.
17375
17376         Tests for module 'unictype/joininggroup-name'.
17377         * modules/unictype/joininggroup-name-tests: New file.
17378         * tests/unictype/test-joininggroup_name.c: New file.
17379
17380         New module 'unictype/joininggroup-name'.
17381         * modules/unictype/joininggroup-name: New file.
17382         * lib/unictype/joininggroup_name.c: New file.
17383         * lib/unictype/joininggroup_name.h: New file.
17384
17385         New module 'unictype/joiningtype-all'.
17386         * modules/unictype/joiningtype-all: New file.
17387
17388         Tests for module 'unictype/joiningtype-of'.
17389         * modules/unictype/joiningtype-of-tests: New file.
17390         * tests/unictype/test-joiningtype_of.c: New file.
17391         * tests/unictype/test-joiningtype_of.h: New file, automatically
17392         generated by gen-uni-tables.
17393
17394         New module 'unictype/joiningtype-of'.
17395         * modules/unictype/joiningtype-of: New file.
17396         * lib/unictype/joiningtype_of.c: New file.
17397         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17398         gen-uni-tables.
17399
17400         Tests for module 'unictype/joiningtype-byname'.
17401         * modules/unictype/joiningtype-byname-tests: New file.
17402         * tests/unictype/test-joiningtype_byname.c: New file.
17403
17404         New module 'unictype/joiningtype-byname'.
17405         * modules/unictype/joiningtype-byname: New file.
17406         * lib/unictype/joiningtype_byname.c: New file.
17407
17408         Tests for module 'unictype/joiningtype-name'.
17409         * modules/unictype/joiningtype-name-tests: New file.
17410         * tests/unictype/test-joiningtype_name.c: New file.
17411
17412         New module 'unictype/joiningtype-name'.
17413         * modules/unictype/joiningtype-name: New file.
17414         * lib/unictype/joiningtype_name.c: New file.
17415
17416         unictype: Add support for Arabic shaping properties.
17417         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17418         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17419         declarations.
17420         (UC_JOINING_GROUP_*): New enumeration values.
17421         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17422         declarations.
17423         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17424         (unicode_joining_type): New variable.
17425         (UC_JOINING_GROUP_*): New enumeration values.
17426         (unicode_joining_group): New variable.
17427         (fill_arabicshaping, joining_type_as_c_identifier,
17428         output_joining_type_test, output_joining_type,
17429         joining_group_as_c_identifier, output_joining_group_test,
17430         output_joining_group): New functions.
17431         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17432         fill_arabicshaping and output_joining_type_test, output_joining_type,
17433         output_joining_group_test, output_joining_group.
17434         Reported by Simon Josefsson.
17435
17436 2011-03-21  Jim Meyering  <meyering@redhat.com>
17437
17438         strftime: fix a bug in yesterday's change
17439         * lib/strftime.c (add): Accommodate width's initial value of -1.
17440         Otherwise, nstrftime would copy uninitialized data into
17441         the result buffer.
17442
17443 2011-03-21  Jim Meyering  <meyering@redhat.com>
17444
17445         tests: add strftime-tests module
17446         * tests/test-strftime.c: New file.
17447         * modules/strftime-tests: New module.
17448
17449 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17450
17451         strftime: don't assume a byte count fits in 'int'
17452         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17453         found this problem by static analysis, using gcc -Wstrict-overflow
17454         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17455         on an integer overflow having undefined behavior, but it turns out
17456         that the argument is a size, which might not fit in 'int' anyway,
17457
17458 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17459
17460         stdio: don't require ignore_value around fwrite
17461
17462         This patch works around libc bug 11959
17463         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17464         Without this patch, applications must often write
17465         ignore_value (fwrite (...)) even though the ignore_value is
17466         not helpful here.  It's common to write many objects, using
17467         fwrite/printf/etc., and then use ferror to detect output error.
17468
17469         I considered making this patch optional, but decided against it,
17470         because libc is obviously being inconsistent here: there is no
17471         reason libc should insist that user code must inspect fwrite
17472         return's value without also insisting that it inspect printf's,
17473         putchar's, etc.  If user code wants to have a strict style where
17474         all these functions' values are checked (so that ferror need not
17475         be checked), we could add support for that style in a new gnulib
17476         module, but in the meantime it's better to be consistent and to
17477         support common usage.
17478
17479         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17480         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17481         that we are compiling in checking mode, and if not C++, and
17482         if not already wrapping fwrite for some other reason.
17483         (fwrite): #define to rpl_fwrite if the latter is defined.
17484
17485 2011-03-20  Bruno Haible  <bruno@clisp.org>
17486
17487         verror: Fix compilation error introduced on 2011-02-13.
17488         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17489         instead of __attribute__.
17490         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17491
17492 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17493             Bruno Haible  <bruno@clisp.org>
17494
17495         socklen: do not depend on sys_socket
17496         While trying to modify Emacs to use gnulib's socklen module,
17497         I discovered a circular dependency: socklen depends on sys_socket
17498         and vice versa.  Emacs can use socklen, but it does not need
17499         sys_socket because it has its own substitute for sys/socket.h.
17500         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17501         gl_TYPE_SOCKLEN_T.
17502         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17503         gl_PREREQ_SYS_H_SOCKET.
17504         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17505         gl_PREREQ_SYS_H_SOCKET.
17506         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17507         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17508         * modules/socklen (Depends-on): Do not depend on sys_socket.
17509         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17510
17511 2011-03-20  Jim Meyering  <meyering@redhat.com>
17512
17513         maint.mk: sort file names *after* new transformation
17514         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17515         prefix would have led to an unwarranted failure in GNU parted.
17516         Sort after that transformation.
17517
17518 2011-03-19  Jim Meyering  <meyering@redhat.com>
17519
17520         maint.mk: fix po-file syntax-check rule
17521         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17522         Patch by Bruno Haible.
17523
17524 2011-03-19  Bruno Haible  <bruno@clisp.org>
17525
17526         socklen: Update comment.
17527         * m4/socklen.m4: Update comment about platforms.
17528
17529 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17530             Bruno Haible  <bruno@clisp.org>
17531
17532         inet_ntop, inet_pton: Simplify.
17533         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17534         documented to provide socklen_t and we already depend on sys_socket.
17535         * modules/inet_pton (Depends-on): Likewise.
17536         * lib/arpa_inet.in.h: Adjust comment.
17537
17538 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17539             Bruno Haible  <bruno@clisp.org>
17540
17541         netdb: Simplify.
17542         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17543         documented to provide socklen_t and we already depend on sys_socket.
17544         * lib/netdb.in.h: Adjust comment.
17545
17546 2011-03-19  Bruno Haible  <bruno@clisp.org>
17547
17548         sys_socket, netdb: Document problem with socklen_t.
17549         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17550         platforms.
17551         * doc/posix-headers/netdb.texi: Likewise.
17552
17553 2011-03-18  Eric Blake  <eblake@redhat.com>
17554
17555         maint.mk: let po check work in VPATH build
17556         * top/maint.mk (po_file): Allow cfg.mk override.
17557         (sc_po_check): Allow VPATH use.
17558         Reported by Jiri Denemark.
17559
17560 2011-03-16  Jim Meyering  <meyering@redhat.com>
17561
17562         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17563         Before, you would have had to create one .x-sc_ file per rule in order
17564         to exempt offending files.  Now, you may instead use a Make variable --
17565         usually defined in cfg.mk -- whose name identifies the affected rule.
17566         * top/maint.mk (_sc_excl): Define.
17567         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17568         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17569
17570 2011-03-13  Bruno Haible  <bruno@clisp.org>
17571
17572         ignore-value tests: Avoid warnings.
17573         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17574         empty for gcc < 3.4.
17575
17576 2011-03-13  Bruno Haible  <bruno@clisp.org>
17577
17578         passfd: Fix link error on Solaris.
17579         * modules/passfd (Description): Correct.
17580         (Depends-on): Add socketlib.
17581         (Link): New section.
17582         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17583
17584 2011-03-13  Bruno Haible  <bruno@clisp.org>
17585
17586         passfd: Fix link error on AIX 5.2.
17587         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17588
17589 2011-03-13  Bruno Haible  <bruno@clisp.org>
17590
17591         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17592         * lib/sys_socket.in.h: Include <stddef.h>.
17593         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17594         CMSG_FIRSTHDR. Remove unused variable.
17595
17596 2011-03-13  Bruno Haible  <bruno@clisp.org>
17597
17598         passfd: Fix compilation error on OpenBSD.
17599         * lib/passfd.c: Include <sys/uio.h>.
17600
17601 2011-03-13  Bruno Haible  <bruno@clisp.org>
17602
17603         passfd test: Fix warnings.
17604         * tests/test-passfd.c: Include <sys/wait.h>.
17605         (main): Fix typo.
17606
17607 2011-03-13  Bruno Haible  <bruno@clisp.org>
17608
17609         passfd module, part 4, tweaks.
17610         * tests/test-passfd.c: Reorder includes.
17611         (main): Fix perror and printf calls.
17612
17613 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17614
17615         passfd module, part 4.
17616         * modules/passfd-tests: New file.
17617         * tests/test-passfd.c: New file.
17618
17619 2011-03-13  Jim Meyering  <meyering@redhat.com>
17620
17621         Makefile: rely on GNU make; derive syntax-check rule names
17622         Rather than requiring that each sc_ rule be listed as a dependent
17623         of "check", use features of GNU make to derive the list.
17624         * Makefile (syntax-check-rules): Define.
17625         (check): Depend on the new variable, not the hard-coded list.
17626
17627 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17628             Bruno Haible  <bruno@clisp.org>
17629
17630         passfd module, part 3.
17631         * lib/passfd.h (recvfd): Add a flags argument.
17632         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17633         (recvfd): Add a flags argument.
17634         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17635         exists.
17636         * modules/passfd (Depends-on): Add cloexec.
17637         Suggested by Eric Blake.
17638
17639 2011-03-13  Bruno Haible  <bruno@clisp.org>
17640
17641         passfd module, part 2, tweaks.
17642         * modules/passfd (Files): Reorder.
17643         (Depends-on): Remove errno.
17644         (Include): Remove <sys/socket.h>, <sys/un.h>.
17645         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17646         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17647         specification header. Include <sys/socket.h> always. Don't include
17648         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17649         (sendfd): Clarify that it sets errno when it fails.
17650         (recvfd): Fix specification.
17651
17652 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17653
17654         passfd module, part 2.
17655         * modules/passfd: New file.
17656         * lib/passfd.h: New file.
17657         * lib/passfd.c: New file.
17658
17659 2011-03-12  Bruno Haible  <bruno@clisp.org>
17660
17661         wcswidth, mbswidth: Avoid integer overflow.
17662         * lib/wcswidth.c: Include <limits.h>.
17663         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17664         * lib/mbswidth.c: Include <limits.h>.
17665         (mbsnwidth): Avoid 'int' overflow.
17666         Reported by Jim Meyering.
17667
17668 2011-03-12  Bruno Haible  <bruno@clisp.org>
17669
17670         futimens, utimensat: Avoid endless recursion on Solaris 10.
17671         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17672         Solaris.
17673         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17674         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17675
17676 2011-03-11  Jim Meyering  <meyering@redhat.com>
17677
17678         maint.mk: relax a regexp to accommodate other formatting styles
17679         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17680         between "ngettext" and the following "(".
17681
17682 2011-03-11  Pádraig Brady <P@draigBrady.com>
17683
17684         maint.mk: suppress a false positive warning
17685         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17686         diagnostics are marked with ngettext.
17687
17688 2011-03-10  Eric Blake  <eblake@redhat.com>
17689
17690         wchar: add explicit dependencies, for Tru64
17691         * modules/mbmemcasecoll (Depends-on): Add wchar.
17692         * modules/mbtowc (Depends-on): Likewise.
17693         * modules/vasnprintf (Depends-on): Likewise.
17694         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17695         * modules/wctomb (Depends-on): Likewise.
17696         Reported by Peter O'Gorman.
17697
17698 2011-03-08  Bruno Haible  <bruno@clisp.org>
17699
17700         passfd module, part 1, tweaks.
17701         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17702         Improve indentation. Improve AC_MSG_CHECKING messages.
17703         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17704         gl_SOCKET_FAMILIES.
17705
17706 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17707
17708         passfd module, part 1.
17709         * m4/afunix.m4: New file.
17710         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17711         sockets.
17712
17713 2011-03-08  Bruno Haible  <bruno@clisp.org>
17714
17715         regex-quote: New API.
17716         * lib/regex-quote.h: Include <stdbool.h>.
17717         (struct regex_quote_spec): New type.
17718         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17719         New declarations.
17720         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17721         'const struct regex_quote_spec *' argument.
17722         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17723         (pcre_special): New constant.
17724         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17725         New functions.
17726         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17727         'const struct regex_quote_spec *' argument.
17728         * modules/regex-quote (Depends-on): Add stdbool.
17729         * tests/test-regex-quote.c (check): Update for new API. Add test for
17730         anchored results.
17731         * NEWS: Mention the API change.
17732         Reported by Reuben Thomas and Eric Blake.
17733
17734 2011-03-06  Bruno Haible  <bruno@clisp.org>
17735
17736         regex-quote: Fix creation of POSIX extended regular expressions.
17737         * lib/regex-quote.c (ere_special): Add grouping and alternation
17738         operators.
17739
17740 2011-03-05  Bruno Haible  <bruno@clisp.org>
17741
17742         doc: Improve doc regarding autopoint vs. gnulib.
17743         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17744         disable autopoint while running autoreconf.
17745         Suggested by Ralf Wildenhues.
17746
17747 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17748
17749         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17750         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17751
17752 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17753
17754         parse-duration: remove xalloc.h dependency
17755         * lib/parse-duration.c (parse_period): handle NULL return from
17756         strdup instead of calling xstrdup().
17757         * modules/parse-duration: remove "xalloc" dependency
17758
17759 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17760
17761         bootstrap: honor m4_base when running aclocal
17762         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17763
17764 2011-03-02  Jim Meyering  <meyering@redhat.com>
17765
17766         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17767         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17768         on request from Matt Booth.
17769
17770 2011-03-01  Eric Blake  <eblake@redhat.com>
17771
17772         test-link: work on Hurd
17773         * tests/test-link.h (test_link): Hurd rejects linking directories
17774         with EISDIR instead of the POSIX-mandated EPERM.
17775
17776 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17777
17778         stdio: simplify by moving files to printf-posix, sigpipe
17779         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17780         since this symbol is needed only if printf is replaced.
17781         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17782         Require gl_ASM_SYMBOL_PREFIX.
17783         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17784         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17785         (Depends-on): Add 'raise'.
17786         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17787         * modules/stdio (Files): Remove lib/stdio-write.c,
17788         m4/asm-underscore.m4.
17789         (Depends-on): Remove 'raise'.
17790
17791         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17792         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17793         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17794         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17795
17796 2011-02-28  Bruno Haible  <bruno@clisp.org>
17797
17798         localcharset: Assume ANSI C behaviour of free().
17799         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17800         calling free().
17801         Suggested by Simon Josefsson <simon@josefsson.org>.
17802
17803 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17804             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17805             Bruno Haible  <bruno@clisp.org>  (tiny change)
17806
17807         On Cygwin, use /proc file system instead of win32 API.
17808         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17809         Win32 file names.
17810         (DllMain): Simplify by removing Cygwin specific code.
17811         (find_shared_library_fullname): Use Linux specific implementation also
17812         for Cygwin.
17813         (get_shared_library_fullname): Update accordingly.
17814         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17815         Win32 file names.
17816         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17817         Cygwin specific code.
17818
17819 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17820             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17821
17822         Fix OpenMP flag detection for various Fortran compilers.
17823         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17824         OpenMP-conditional compilation construct, to force compile
17825         failure with missing OpenMP flag.
17826         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17827
17828 2011-02-25  Eric Blake  <eblake@redhat.com>
17829
17830         strstr: expand test coverage
17831         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17832         compilation.
17833         * tests/test-memmem.c (main): Duplicate tests.
17834         * tests/test-strcasestr.c (main): Likewise.
17835         * tests/test-c-strcasestr.c (main): Likewise.
17836
17837 2011-02-25  Jim Meyering  <meyering@redhat.com>
17838
17839         maint.mk: detect missing-NL-at-EOF, too
17840         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17841         it also detects when a file lacks a newline at EOF.
17842         (require_exactly_one_NL_at_EOF_): Renamed from
17843         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17844         since people may well have .x-sc_... file names tied to the
17845         existing name.  Suggested by Eric Blake.
17846
17847 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17848
17849         dirname: move m4/dos.m4 functionality into lib/dosname.h
17850
17851         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17852         extracts symbols from it, puts them into config.h; but it's much
17853         easier to use the symbols directly.  filename.h already does this,
17854         but it disagrees with dos.m4 in some respects.  This patch
17855         introduces a different include file dosname.h that packages up
17856         dos.m4, and then later we can work on merging filename.h and
17857         dosname.h.  Applications that need only the easy-to-configure
17858         symbols should consider including dosname.h rather than dirname.h.
17859         * NEWS: Mention incompatible changes.
17860         * m4/dos.m4: Remove.
17861         * lib/dosname.h, modules/dosname: New files.
17862         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17863         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17864         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17865         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17866         Include dosname.h, not dirname.h.
17867         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17868         Include dosname.h, for definitions of symbols like ISSLASH
17869         that used to be in config.h.
17870         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17871         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17872         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17873         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17874         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17875         * modules/rmdir (Files): Likewise.
17876         * modules/stat (Files): Likewise.
17877         * modules/unlink (Files): Likewise.
17878         * modules/dirname-lgpl (Depends-on): Add dosname.
17879         * modules/lstat (Depends-on): Likewise.
17880         * modules/openat (Depends-on): Likewise.
17881         * modules/rmdir (Depends-on): Likewise.
17882         * modules/savewd (Depends-on): Likewise.
17883         * modules/stat (Depends-on): Likewise.
17884         * modules/unlink (Depends-on): Likewise.
17885         * modules/openat (Depends-on): Remove dirname-lgpl.
17886         * modules/savewd (Depends-on): Likewise.
17887         * tests/test-dirname.c: Do not use removed symbols like
17888         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17889         the remaining symbols, e.g., ISSLASH ('\\').
17890
17891 2011-02-25  Eric Blake  <eblake@redhat.com>
17892
17893         strstr: revert patches that introduced bug and pessimization
17894         * lib/str-two-way.h: Add another reference.
17895         (two_way_short_needle, two_way_long_needle): Revert changes from
17896         2011-02-24; they pessimize search speed.
17897         (critical_factorization): Partially revert changes from
17898         2010-06-22; they violate the requirement that the left half of the
17899         needle be smaller than the period of the needle.
17900
17901 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17902
17903         filenamecat: remove unnecessary dependency on dirname-lgpl
17904         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17905         is no direct dependency, just an indirect one via filenamecat-lgpl.
17906
17907         remove: remove unnecessary use of m4/dos.m4
17908         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17909         * modules/remove (FILES): Remove m4/dos.m4.
17910
17911         * lib/openat-proc.c: Don't include dirname.h; not needed.
17912
17913         backupfile: remove unnecessary use of m4/dos.m4
17914         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17915         of its symbols are used by the backupfile code.  backupfile.c does
17916         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17917         for the rare case of programs that want all their backup file
17918         names to live within 8+3 limits, and dos.m4 doesn't address that.
17919         * modules/backupfile (Files): Remove m4/dos.m4.
17920
17921 2011-02-24  Jim Meyering  <meyering@redhat.com>
17922
17923         strstr: fix a bug whereby strstr would mistakenly return NULL
17924         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17925         in period calculation.
17926         (two_way_long_needle): Likewise.
17927         The original problem was reported by Mike Stump in
17928         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17929         Ralf Wildenhues provided the short needle and haystack.
17930         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17931         Add a more involved test to trigger the bug in two_way_long_needle.
17932
17933 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17934
17935         gnulib-tool: remove use of bold display in help screen
17936         * gnulib-tool (func_usage): Do not use bold display anymore in the
17937         help screen.  That was just meant to be a temporary emphasis for a
17938         backward-incompatible change.
17939
17940 2011-02-23  Bruno Haible  <bruno@clisp.org>
17941
17942         Fix misindentation of preprocessor directives.
17943         * lib/argp-namefrob.h: Reindent preprocessor directives.
17944         * lib/getopt_int.h (struct _getopt_data): Likewise.
17945         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17946         * lib/vasnprintf.c (decode_long_double): Likewise.
17947         * tests/test-argmatch.c: Insert blank lines, for clarity.
17948         * tests/test-exclude.c: Likewise.
17949
17950 2011-02-22  Bruno Haible  <bruno@clisp.org>
17951
17952         ioctl: Fix for MacOS X in 64-bit mode.
17953         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17954         value.
17955         Suggested by Eric Blake.
17956         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17957
17958 2011-02-22  Jim Meyering  <meyering@redhat.com>
17959
17960         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17961         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17962         in lib/.
17963
17964 2011-02-22  Eric Blake  <eblake@redhat.com>
17965
17966         maint: avoid any CDPATH issue
17967         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17968
17969         maint: adjust cpp indentation for my modules, as well
17970         * Makefile (sc_cpp_indent_check): Add my name.
17971         * lib/fbufmode.c: Filter through cppi.
17972         * lib/fpurge.c: Likewise.
17973         * lib/freadable.c: Likewise.
17974         * lib/freading.c: Likewise.
17975         * lib/fwritable.c: Likewise.
17976         * lib/fwriting.c: Likewise.
17977         * lib/sigaction.c: Likewise.
17978
17979 2011-02-22  Jim Meyering  <meyering@redhat.com>
17980
17981         maint: adjust cpp indentation to reflect nesting depth
17982         I.e., in a block of code that begins with an unnested "#if",
17983         put one space between the "#" in column 1 and following token.
17984         For example,
17985         -#include <sys/vfs.h>
17986         +# include <sys/vfs.h>
17987         Do this only in .c files that are part of a module I maintain.
17988         * lib/linkat.c: Filter through cppi.
17989         * lib/nanosleep.c: Likewise.
17990         * lib/openat.c: Likewise.
17991         * lib/openat-die.c: Likewise.
17992         * lib/dup3.c: Likewise.
17993         * lib/fchownat.c: Likewise.
17994         * lib/flock.c: Likewise.
17995         * lib/fsync.c: Likewise.
17996         * lib/fts.c: Likewise.
17997         * lib/getpass.c: Likewise.
17998         * lib/gettimeofday.c: Likewise.
17999         * lib/userspec.c: Likewise.
18000         * Makefile (sc_cpp_indent_check): New rule, to check this.
18001
18002 2011-02-22  Bruno Haible  <bruno@clisp.org>
18003
18004         New module 'wctomb'.
18005         * lib/stdlib.in.h (wctomb): New declaration.
18006         * lib/wctomb.c: New file.
18007         * lib/wctomb-impl.h: New file.
18008         * m4/wctomb.m4: New file.
18009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18010         REPLACE_WCTOMB.
18011         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18012         REPLACE_WCTOMB.
18013         * modules/wctomb: New file.
18014         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18015         * doc/posix-functions/wctomb.texi: Mention the new module.
18016         * modules/wctob (Depends-on): Add wctomb.
18017
18018 2011-02-22  Bruno Haible  <bruno@clisp.org>
18019
18020         New module 'mbtowc'.
18021         * lib/stdlib.in.h (mbtowc): New declaration.
18022         * lib/mbtowc.c: New file.
18023         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18024         * m4/mbtowc.m4: New file.
18025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18026         REPLACE_MBTOWC.
18027         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18028         REPLACE_MBTOWC.
18029         * modules/mbtowc: New file.
18030         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18031         * doc/posix-functions/mbtowc.texi: Mention the new module.
18032         * modules/btowc (Depends-on): Add mbtowc.
18033
18034 2011-02-22  Bruno Haible  <bruno@clisp.org>
18035
18036         wcrtomb: Add more tests for native Windows platforms.
18037         * tests/test-wcrtomb-w32-1.sh: New file.
18038         * tests/test-wcrtomb-w32-2.sh: New file.
18039         * tests/test-wcrtomb-w32-3.sh: New file.
18040         * tests/test-wcrtomb-w32-4.sh: New file.
18041         * tests/test-wcrtomb-w32-5.sh: New file.
18042         * tests/test-wcrtomb-w32.c: New file.
18043         * modules/wcrtomb-tests (Files): Add them.
18044         (Makefile.am): Arrange to run these tests.
18045         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18046         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18047
18048 2011-02-20  Bruno Haible  <bruno@clisp.org>
18049
18050         wcrtomb: Enhance test.
18051         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18052
18053 2011-02-20  Bruno Haible  <bruno@clisp.org>
18054
18055         mbrtowc: Tiny optimization.
18056         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18057
18058 2011-02-20  Jim Meyering  <meyering@redhat.com>
18059
18060         test-exclude.c: remove unmatched #endif
18061         * tests/test-exclude.c: Remove stray #endif, left over from
18062         the change of a week ago.
18063
18064 2011-02-19  Jim Meyering  <meyering@redhat.com>
18065
18066         git-version-gen: skip "-dirty" check when appropriate
18067         * build-aux/git-version-gen: Don't run any git commands when the
18068         version string comes from .tarball-version.  Prior to this, we
18069         would run git update-index --refresh even from a just-unpacked
18070         tarball directory, and that could affect a .git/ directory in a
18071         parent of the build directory.  Reported by Mike Frysinger.
18072
18073 2011-02-19  Bruno Haible  <bruno@clisp.org>
18074
18075         unictype/property-byname: Reduce the size of the 'data' segment.
18076         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18077
18078 2011-02-19  Bruno Haible  <bruno@clisp.org>
18079
18080         unictype/scripts: Reduce the size of the 'data' segment.
18081         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18082         '%pic'.
18083         * lib/unictype/scripts_byname.gperf: Regenerated.
18084
18085 2011-02-19  Bruno Haible  <bruno@clisp.org>
18086
18087         stdint: Update documentation.
18088         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18089
18090 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18091
18092         stdint: omit redundant check for wchar.h
18093         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18094         always tests whether wchar.h exists, so remove the now-redundant test.
18095
18096 2011-02-18  Bruno Haible  <bruno@clisp.org>
18097
18098         stdint: Cut dependency to module 'wchar'.
18099         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18100         include the necessary prerequisites.
18101         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18102         * modules/stdint (Depends-on): Remove wchar.
18103         (Makefile.am): Substitute HAVE_WCHAR_H.
18104         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18105
18106 2011-02-18  Eric Blake  <eblake@redhat.com>
18107
18108         longlong: skip, rather than fail, on cross-compilation
18109         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18110         when cross-compiling; regression from 2011-02-16.
18111
18112 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18113
18114         * NEWS: Mention 2011-02-08 change to stdlib.
18115
18116 2011-02-17  Bruno Haible  <bruno@clisp.org>
18117
18118         getloadavg: Add comments about platforms.
18119         * m4/getloadavg.m4: Add comment.
18120         * lib/getloadavg.c: Likewise.
18121
18122 2011-02-17  Bruno Haible  <bruno@clisp.org>
18123
18124         getloadavg: Fix link error on Solaris 2.6.
18125         * modules/getloadavg (Link): New section.
18126         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18127         linking test-getloadavg.
18128         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18129         getloadavg.
18130
18131 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18132
18133         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18134         It was 'int', but this doesn't match the IRIX 6.5 manual.
18135         Suggested by Bruno Haible in
18136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18137
18138 2011-02-17  Bruno Haible  <bruno@clisp.org>
18139
18140         havelib: Fix comments.
18141         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18142         change.
18143
18144 2011-02-17  Bruno Haible  <bruno@clisp.org>
18145
18146         havelib: Update config.rpath.
18147         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18148
18149 2011-02-17  Bruno Haible  <bruno@clisp.org>
18150
18151         getloadavg test: Add some plausibility checks.
18152         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18153         is improbable.
18154
18155 2011-02-16  Eric Blake  <eblake@redhat.com>
18156
18157         maintainer-makefile: make syntax-check a no-op from tarballs
18158         * top/maint.mk (no-vc-detected): New rule.
18159         (local-checks-available): Use it to avoid hanging if someone tries
18160         'make syntax-check' from a tarball.  Also append to any non-syntax
18161         checks already defined in cfg.mk.
18162
18163 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18164
18165         longlong: tune, particularly for common case of c99
18166
18167         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18168         or running anything if c99, or if unsigned long long int does not
18169         work.  In either case, we know the answer without further tests.
18170         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18171         it at most once, and use its results for both long long int and
18172         unsigned long long int.  This is more likely to be efficient in
18173         the common case where the program wants to check for both long
18174         long int and unsigned long long int.
18175         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18176         since the answer is already known.
18177
18178 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18179
18180         getloadavg: set errno
18181         * lib/getloadavg.c: Set errno when returning -1.  If no other
18182         error number looks appropriate, set it to ENOSYS if the getloadavg
18183         looks like it can't possibly ever work, ENOTSUP otherwise.
18184         Suggested by Bruno Haible in
18185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18186
18187         getloadavg: trim unused parts and speed up 'configure'
18188         * NEWS: Document this.
18189         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18190         always compiled if getloadavg is absent.
18191         Move test code to ...
18192         * tests/test-getloadavg.c: New file, containing previous
18193         contents of test from lib/getloadavg.c.  It also contains
18194         suggestions by Bruno Haible in
18195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18196         * modules/getloadavg-tests: New file.
18197         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18198         Do tests in the same order as they're needed for getloadavg.c.
18199         Omit setgid-related tests that generate symbols KMEM_GROUP,
18200         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18201         Do only the tests that are needed to see whether the system has
18202         getloadavg, moving the other tests into ...
18203         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18204         NLIST_NAME_UNION; nobody should be using it.  Do not define
18205         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18206         relevant, as the user of this module shouldn't care how getloadavg
18207         is implemented.
18208
18209         getloadavg: omit unused var
18210         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18211
18212 2011-02-15  Jim Meyering  <meyering@redhat.com>
18213
18214         doc: update users.txt
18215         * users.txt: Update iwhd's URL.
18216
18217 2011-02-13  Bruno Haible  <bruno@clisp.org>
18218
18219         Consistent macro naming for macros that use GCC __attribute__.
18220         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18221         _ATTRIBUTE_NONNULL_.
18222         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18223         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18224         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18225         ATTRIBUTE_DEPRECATED.
18226         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18227         ATTRIBUTE_NORETURN.
18228         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18229         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18230         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18231         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18232         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18233         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18234         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18235         ATTRIBUTE_SENTINEL.
18236         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18237         ATTRIBUTE_RETURN_CHECK.
18238         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18239         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18240         ATTRIBUTE_NORETURN.
18241         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18242         Reported by Paul Eggert.
18243
18244 2011-02-13  Bruno Haible  <bruno@clisp.org>
18245
18246         Don't interfere with a program's definition of __attribute__.
18247         * lib/argp.h (__attribute__): Remove definition.
18248         (_GL_ATTRIBUTE_FORMAT): New macro.
18249         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18250         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18251         (_GL_ATTRIBUTE_FORMAT): New macro.
18252         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18253         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18254         GCC 3 or newer.
18255         * lib/error.h (__attribute__): Remove definition.
18256         (_GL_ATTRIBUTE_FORMAT): New macro.
18257         (error, error_at_line): Use it.
18258         * lib/hash.h (__attribute__): Remove definition.
18259         (ATTRIBUTE_WUR): Update definition. Define always.
18260         * lib/openat.h (__attribute__): Remove definition.
18261         (ATTRIBUTE_NORETURN): Update definition. Define always.
18262         * lib/sigpipe-die.h (__attribute__): Remove definition.
18263         (ATTRIBUTE_NORETURN): Update definition. Define always.
18264         * lib/vasnprintf.h (__attribute__): Remove definition.
18265         (_GL_ATTRIBUTE_FORMAT): New macro.
18266         (asnprintf, vasnprintf): Use it.
18267         * lib/xalloc.h (__attribute__): Remove definition.
18268         (ATTRIBUTE_NORETURN): Update definition. Define always.
18269         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18270         * lib/xmemdup0.h (__attribute__): Remove definition.
18271         (ATTRIBUTE_NORETURN): Update definition. Define always.
18272         * lib/xprintf.h (__attribute__): Remove definition.
18273         (_GL_ATTRIBUTE_FORMAT): New macro.
18274         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18275         * lib/xstrtol.h (__attribute__): Remove definition.
18276         (ATTRIBUTE_NORETURN): Update definition. Define always.
18277         * lib/xvasprintf.h (__attribute__): Remove definition.
18278         (_GL_ATTRIBUTE_FORMAT): New macro.
18279         (xasprintf, xvasprintf): Use it.
18280         * tests/test-argmatch.c (__attribute__): Remove definition.
18281         (ATTRIBUTE_NORETURN): Update definition. Define always.
18282         * tests/test-exclude.c (__attribute__): Remove definition.
18283         (ATTRIBUTE_NORETURN): Update definition. Define always.
18284         Reported by Paul Eggert.
18285
18286 2011-02-13  Bruno Haible  <bruno@clisp.org>
18287
18288         mbrtowc: Add more tests for native Windows platforms.
18289         * tests/test-mbrtowc-w32-1.sh: New file.
18290         * tests/test-mbrtowc-w32-2.sh: New file.
18291         * tests/test-mbrtowc-w32-3.sh: New file.
18292         * tests/test-mbrtowc-w32-4.sh: New file.
18293         * tests/test-mbrtowc-w32-5.sh: New file.
18294         * tests/test-mbrtowc-w32.c: New file.
18295         * modules/mbrtowc-tests (Files): Add them.
18296         (Makefile.am): Arrange to run these tests.
18297         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18298         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18299
18300 2011-02-13  Bruno Haible  <bruno@clisp.org>
18301
18302         mbrtowc: Work around native Windows bug.
18303         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18304         guess when no suitable locale for testing was found.
18305         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18306
18307 2011-02-13  Bruno Haible  <bruno@clisp.org>
18308
18309         mbsinit: Work around mingw bug.
18310         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18311         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18312         Windows.
18313         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18314
18315 2011-02-13  Bruno Haible  <bruno@clisp.org>
18316
18317         mbsinit: Don't crash for a NULL argument.
18318         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18319         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18320
18321 2011-02-13  Bruno Haible  <bruno@clisp.org>
18322
18323         Don't interfere with a program's definition of __attribute__.
18324         * lib/stdio.in.h (__attribute__): Remove definition.
18325         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18326         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18327         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18328         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18329         * lib/string.in.h (__attribute__): Remove definition.
18330         Reported by Paul Eggert.
18331
18332 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18333
18334         stdlib: don't get in the way of non-GCC __attribute__
18335         See thread starting at
18336         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18337         Revert previous stdlib change, installing the following instead:
18338         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18339         to get in the way of a non-GCC compiler that supports __attribute__.
18340         (_GL_ATTRIBUTE_RETURN): New macro.
18341         (_Exit): Use it instead of __attribute__.
18342
18343 2011-02-12  Bruno Haible  <bruno@clisp.org>
18344
18345         quotearg test: Avoid test failure on mingw.
18346         * tests/test-quotearg.sh: Convert the locale identifier from native
18347         Windows syntax to Unix syntax.
18348
18349 2011-02-12  Bruno Haible  <bruno@clisp.org>
18350
18351         setlocale: Prefer gnulib's override over libintl's override.
18352         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18353         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18354         GNULIB_defined_setlocale is set.
18355
18356 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18357
18358         stdlib: support non-GCC __attribute__
18359
18360         Fix a serious and tricky problem encountered when attempting to
18361         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18362         5.5, but it crashed due to memory corruption on Solaris 10 with
18363         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18364         bits that are otherwise zero.  This tagging is optional inside
18365         Emacs but is preferred and is used when __attribute__ ((__aligned
18366         (8))) works, as it does with both recent-enough GCC and with Sun C
18367         5.11.  However, Sun C 5.11 is not GCC and does not #define
18368         __GNUC__ and __GNUC_MINOR__.
18369
18370         When I added the getloadavg module to Emacs, it brought in
18371         stdlib.in.h, which contained this fragment:
18372
18373            #ifndef __attribute__
18374            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18375            #  define __attribute__(Spec)   /* empty */
18376            # endif
18377            #endif
18378
18379         When files that include <stdlib.h> were compiled with Sun C 5.11,
18380         the above code disabled __attribute__ ((__aligned (8))), which
18381         caused variables to not be properly aligned, which eventually led
18382         to the pointer corruption mentioned above.  (This was a bit hard
18383         to diagnose, unfortunately.)
18384
18385         Several "#define __attribute__(X) /* empty */" code snippets need
18386         to be eradicated from Gnulib to work with non-GCC compilers that
18387         support __attribute__.  The Autoconf way to do this is to test for
18388         each kind of attribute that we want support for, and selectively
18389         enable that in source code.
18390
18391         Fix this problem just for stdlib.h, by adding a test for the
18392         __noreturn__ attribute, and change stdlib.in.h to use that test
18393         when needed.  This technique can be easily generalized to the
18394         other *.in.h files and attributes, and a similar technique can be
18395         used for *.h and *.c files.  This patch is enough to solve the
18396         problem for Emacs + getloadavg, and I thought I'd publish it for
18397         feedback before undertaking further, similar fixes in other
18398         modules.
18399
18400         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18401         because it's not needed for stdlib.h.  It merely substitutes the
18402         value directly into stdlib.h.  We may well need to #define it, or
18403         similar symbols, for other modules, but it's nice to also have an
18404         option to not #define it for applications like Emacs that do not
18405         need it.
18406
18407         * lib/stdlib.in.h (__attribute__): Do not #define.
18408         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18409         be defined only if the _Exit module is also used.
18410         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18412         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18413         platforms.
18414         * modules/_Exit (Files): Add m4/attribute.m4.
18415         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18416         * m4/attribute.m4: New file.
18417
18418 2011-02-12  Bruno Haible  <bruno@clisp.org>
18419
18420         wcsrtombs: Work around bug on native Windows.
18421         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18422         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18423         instead of len.
18424         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18425
18426 2011-02-12  Bruno Haible  <bruno@clisp.org>
18427
18428         mbsrtowcs: Work around bug on native Windows.
18429         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18430         against mingw bug.
18431         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18432
18433 2011-02-12  Bruno Haible  <bruno@clisp.org>
18434
18435         Avoid setlocale bugs in tests.
18436         * modules/btowc (Dependencies): Add setlocale.
18437         * modules/c-strcase (Dependencies): Likewise.
18438         * modules/mbmemcasecmp (Dependencies): Likewise.
18439         * modules/mbmemcasecoll (Dependencies): Likewise.
18440         * modules/mbrtowc (Dependencies): Likewise.
18441         * modules/mbscasecmp (Dependencies): Likewise.
18442         * modules/mbscasestr (Dependencies): Likewise.
18443         * modules/mbschr (Dependencies): Likewise.
18444         * modules/mbscspn (Dependencies): Likewise.
18445         * modules/mbsinit (Dependencies): Likewise.
18446         * modules/mbsncasecmp (Dependencies): Likewise.
18447         * modules/mbsnrtowcs (Dependencies): Likewise.
18448         * modules/mbspbrk (Dependencies): Likewise.
18449         * modules/mbspcasecmp (Dependencies): Likewise.
18450         * modules/mbsrchr (Dependencies): Likewise.
18451         * modules/mbsrtowcs (Dependencies): Likewise.
18452         * modules/mbsspn (Dependencies): Likewise.
18453         * modules/mbsstr (Dependencies): Likewise.
18454         * modules/nl_langinfo (Dependencies): Likewise.
18455         * modules/quotearg (Dependencies): Likewise.
18456         * modules/unicase/locale-language (Dependencies): Likewise.
18457         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18458         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18459         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18460         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18461         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18462         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18463         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18464         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18465         * modules/vasnprintf-posix (Dependencies): Likewise.
18466         * modules/wcrtomb (Dependencies): Likewise.
18467         * modules/wcsnrtombs (Dependencies): Likewise.
18468         * modules/wcsrtombs (Dependencies): Likewise.
18469
18470 2011-02-12  Bruno Haible  <bruno@clisp.org>
18471
18472         setlocale: Workaround native Windows bug.
18473         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18474         succeeds but sets LC_CTYPE to "C", report a failure.
18475         * tests/test-setlocale2.sh: New file.
18476         * tests/test-setlocale2.c: New file.
18477         * modules/setlocale-tests (Files): Add the new files.
18478         (Makefile.am): Enable test-setlocale2.sh test.
18479         * doc/posix-functions/setlocale.texi: Mention workaround.
18480
18481 2011-02-11  Bruno Haible  <bruno@clisp.org>
18482
18483         Tests for module 'setlocale'.
18484         * modules/setlocale-tests: New file.
18485         * tests/test-setlocale1.sh: New file.
18486         * tests/test-setlocale1.c: New file.
18487
18488         New module 'setlocale'.
18489         * lib/locale.in.h (setlocale): New declaration.
18490         * lib/setlocale.c: New file, based on
18491         gettext/gettext-runtime/intl/setlocale.c.
18492         * m4/setlocale.m4: New file.
18493         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18494         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18495         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18496         REPLACE_SETLOCALE.
18497         * modules/setlocale: New file.
18498         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18499         * doc/posix-functions/setlocale.texi: Mention the new module.
18500
18501 2011-02-11  Bruno Haible  <bruno@clisp.org>
18502
18503         Prepare for locale dependent tests on mingw.
18504         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18505         because it has the wrong locale encoding.
18506         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18507         French_France.1252 instead of "fr".
18508         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18509         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18510         because it has the wrong locale encoding.
18511         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18512         native Windows, try Turkish_Turkey.65001.
18513         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18514         Chinese_China.54936.
18515
18516         Prepare for locale dependent tests on mingw.
18517         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18518         differently.
18519         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18520         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18521         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18522         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18523
18524 2011-02-11  Eric Blake  <eblake@redhat.com>
18525
18526         strptime: avoid compiler warnings
18527         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18528         compiler warnings about dead code.
18529         Reported by Daniel P. Berrange.
18530
18531 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18532
18533         doc: update users.txt
18534         * users.txt: Add rcs.
18535
18536 2011-02-10  John W. Eaton  <jwe@gnu.org>
18537
18538         doc: update users.txt
18539         * users.txt: Add octave.
18540
18541 2011-02-10  Jim Meyering  <meyering@redhat.com>
18542
18543         doc: update users.txt
18544         * users.txt: Add iwhd.
18545
18546 2011-02-09  Bruno Haible  <bruno@clisp.org>
18547
18548         gnulib-tool: Make copyright notice adjustment more robust.
18549         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18550         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18551         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18552         License".
18553         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18554
18555 2011-02-06  Bruno Haible  <bruno@clisp.org>
18556
18557         New module 'towctrans'.
18558         * modules/towctrans: New file.
18559         * lib/wctype.in.h (towctrans): New declaration.
18560         * lib/towctrans.c: New file.
18561         * lib/towctrans-impl.h: New file.
18562         * m4/towctrans.m4: New file.
18563         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18564         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18565         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18566         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18567         * doc/posix-functions/towctrans.texi: Mention the new module.
18568
18569 2011-02-06  Bruno Haible  <bruno@clisp.org>
18570
18571         New module 'wctrans'.
18572         * modules/wctrans: New file.
18573         * lib/wctype.in.h (wctrans): New declaration.
18574         * lib/wctrans.c: New file.
18575         * lib/wctrans-impl.h: New file.
18576         * m4/wctrans.m4: New file.
18577         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18578         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18579         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18580         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18581         * doc/posix-functions/wctrans.texi: Mention the new module.
18582
18583 2011-02-06  Bruno Haible  <bruno@clisp.org>
18584
18585         New module 'iswctype'.
18586         * modules/iswctype: New file.
18587         * lib/wctype.in.h (iswctype): New declaration.
18588         * lib/iswctype.c: New file.
18589         * lib/iswctype-impl.h: New file.
18590         * m4/iswctype.m4: New file.
18591         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18592         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18593         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18594         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18595         * doc/posix-functions/iswctype.texi: Mention the new module and the
18596         HP-UX 11.00 problem.
18597
18598 2011-02-06  Bruno Haible  <bruno@clisp.org>
18599
18600         New module 'wctype'.
18601         * modules/wctype: Change to represent the wctype() substitute.
18602         * lib/wctype.in.h (wctype): New declaration.
18603         * lib/wctype.c: New file.
18604         * lib/wctype-impl.h: New file.
18605         * m4/wctype.m4: New file.
18606         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18607         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18608         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18609         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18610         * doc/posix-functions/wctype.texi: Mention the new module and the
18611         HP-UX 11.00 problem.
18612
18613 2011-02-06  Bruno Haible  <bruno@clisp.org>
18614
18615         wctype-h: Ensure wctype_t and wctrans_t are defined.
18616         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18617         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18618         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18619         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18620         HAVE_WCTRANS_T.
18621         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18622
18623 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18624
18625         flock: fix license typo
18626
18627         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18628         omitted.
18629
18630 2011-02-08  Bruno Haible  <bruno@clisp.org>
18631
18632         Split large sed scripts, for HP-UX sed.
18633         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18634         to avoid HP-UX limit of 99 commands, in the near future.
18635         * modules/stdlib (Makefile.am): Likewise.
18636         * modules/unistd (Makefile.am): Likewise.
18637         * modules/wchar (Makefile.am): Likewise.
18638         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18639         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18641
18642 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18643             Bruno Haible  <bruno@clisp.org>
18644
18645         stdlib: improve random_r modularization
18646         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18647         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18648         you also need the random_r module to get this material right.
18649         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18650         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18651         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18652
18653 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18654
18655         stdlib: don't depend on stdint
18656         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18657         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18658         be independent of whether stdint.h is needed.
18659         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18660         here, instead of ...
18661         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18662         struct random_data should be using the random_r module, not just
18663         the stdlib module (which wouldn't make sense: what package needs
18664         just struct random_data without also needing random_r?).
18665         * modules/stdlib (Depends-on): Remove stdint.
18666
18667         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18668         See the thread rooted at
18669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18670         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18671         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18672         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18673         __VMS)); previously it was always included (via fcntl--.h).
18674         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18675         hand; this is good enough for load averages.  Also, do not use
18676         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18677         flags directly if available and don't bother otherwise.  (Packages
18678         that need the extra reliability should use the modules that define
18679         these flags on older platforms that lack them.)
18680         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18681         fcntl-safer.
18682
18683 2011-02-08  Jim Meyering  <meyering@redhat.com>
18684
18685         di-set.h, ino-map.h: add multiple-inclusion guard
18686         Technically, the guard is required only for ino-map.h, due to its
18687         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18688         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18689         * lib/ino-map.h: Likewise.
18690
18691 2011-02-06  Bruno Haible  <bruno@clisp.org>
18692
18693         iswblank: Ensure declaration on glibc systems.
18694         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18695         * modules/iswblank (Dependencies): Add 'extensions'.
18696         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18697
18698 2011-02-06  Bruno Haible  <bruno@clisp.org>
18699
18700         New module 'iswblank'.
18701         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18702         * modules/iswblank: New file.
18703         * modules/wctype-h (Files): Remove lib/iswblank.c.
18704         (Makefile.am): Substitute GNULIB_ISWBLANK.
18705         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18706         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18707         (gl_WCTYPE_H_DEFAULTS): New macro.
18708         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18709         * modules/iswblank-tests: New file.
18710         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18711         * tests/test-wctype-h.c (main): Remove iswblank tests.
18712         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18713         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18714         of 'wctype-h'.
18715         * NEWS: Mention the change.
18716         * modules/mbchar (Depends-on): Add iswblank.
18717
18718 2011-02-08  Bruno Haible  <bruno@clisp.org>
18719
18720         di-set tests: Refactor.
18721         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18722         unnecessary includes.
18723         (ASSERT): Remove macro.
18724         (main): Make C90 compliant by avoiding variable declaration after
18725         statement.
18726         * modules/di-set-tests (Files): Add tests/macros.h.
18727
18728 2011-02-08  Bruno Haible  <bruno@clisp.org>
18729
18730         ino-map tests: Refactor.
18731         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18732         unnecessary includes.
18733         (ASSERT): Remove macro.
18734         (main): Make C90 compliant by avoiding variable declaration after
18735         statement.
18736         * modules/ino-map-tests (Files): Add tests/macros.h.
18737
18738 2011-02-08  Jim Meyering  <meyering@redhat.com>
18739
18740         di-set: add "const" to a cast
18741         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18742         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18743
18744 2011-02-06  Bruno Haible  <bruno@clisp.org>
18745
18746         Rename module 'wctype' to 'wctype-h'.
18747         * modules/wctype-h: Renamed from modules/wctype.
18748         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18749         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18750         (Files, Depends-on, Makefile.am): Update.
18751         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18752         (Files, Makefile.am): Update.
18753         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18754         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18755         * doc/posix-headers/wctype.texi: Update.
18756         * doc/posix-functions/iswalnum.texi: Update.
18757         * doc/posix-functions/iswalpha.texi: Update.
18758         * doc/posix-functions/iswblank.texi: Update.
18759         * doc/posix-functions/iswcntrl.texi: Update.
18760         * doc/posix-functions/iswdigit.texi: Update.
18761         * doc/posix-functions/iswgraph.texi: Update.
18762         * doc/posix-functions/iswlower.texi: Update.
18763         * doc/posix-functions/iswprint.texi: Update.
18764         * doc/posix-functions/iswpunct.texi: Update.
18765         * doc/posix-functions/iswspace.texi: Update.
18766         * doc/posix-functions/iswupper.texi: Update.
18767         * doc/posix-functions/iswxdigit.texi: Update.
18768         * doc/posix-functions/towlower.texi: Update.
18769         * doc/posix-functions/towupper.texi: Update.
18770         * NEWS: Mention the change.
18771         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18772         * modules/mbchar (Dependencies): Likewise.
18773         * modules/mbswidth (Dependencies): Likewise.
18774         * modules/quotearg (Dependencies): Likewise.
18775         * modules/regex (Dependencies): Likewise.
18776         * modules/wcscasecmp (Dependencies): Likewise.
18777         * modules/wcsncasecmp (Dependencies): Likewise.
18778         * modules/wcwidth (Dependencies): Likewise.
18779
18780 2011-02-06  Bruno Haible  <bruno@clisp.org>
18781
18782         New module 'wcswidth'.
18783         * modules/wcswidth: New file.
18784         * lib/wchar.in.h (wcswidth): New declaration.
18785         * lib/wcswidth.c: New file.
18786         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18787         * m4/wcswidth.m4: New file.
18788         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18789         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18790         REPLACE_WCSWIDTH.
18791         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18792         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18793         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18794         * doc/posix-functions/wcswidth.texi: Mention the new module.
18795
18796 2011-02-06  Bruno Haible  <bruno@clisp.org>
18797
18798         New module 'wcstok'.
18799         * modules/wcstok: New file.
18800         * lib/wchar.in.h (wcstok): New declaration.
18801         * lib/wcstok.c: New file.
18802         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18803         * m4/wcstok.m4: New file.
18804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18807         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18808         * doc/posix-functions/wcstok.texi: Mention the new module.
18809
18810 2011-02-06  Bruno Haible  <bruno@clisp.org>
18811
18812         New module 'wcsstr'.
18813         * modules/wcsstr: New file.
18814         * lib/wchar.in.h (wcsstr): New declaration.
18815         * lib/wcsstr.c: New file.
18816         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18817         * m4/wcsstr.m4: New file.
18818         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18819         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18821         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18822         * doc/posix-functions/wcsstr.texi: Mention the new module.
18823
18824 2011-02-06  Bruno Haible  <bruno@clisp.org>
18825
18826         New module 'wcspbrk'.
18827         * modules/wcspbrk: New file.
18828         * lib/wchar.in.h (wcspbrk): New declaration.
18829         * lib/wcspbrk.c: New file.
18830         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18831         * m4/wcspbrk.m4: New file.
18832         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18833         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18834         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18835         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18836         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18837
18838 2011-02-06  Bruno Haible  <bruno@clisp.org>
18839
18840         New module 'wcsspn'.
18841         * modules/wcsspn: New file.
18842         * lib/wchar.in.h (wcsspn): New declaration.
18843         * lib/wcsspn.c: New file.
18844         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18845         * m4/wcsspn.m4: New file.
18846         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18847         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18848         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18849         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18850         * doc/posix-functions/wcsspn.texi: Mention the new module.
18851
18852 2011-02-06  Bruno Haible  <bruno@clisp.org>
18853
18854         New module 'wcscspn'.
18855         * modules/wcscspn: New file.
18856         * lib/wchar.in.h (wcscspn): New declaration.
18857         * lib/wcscspn.c: New file.
18858         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18859         * m4/wcscspn.m4: New file.
18860         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18861         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18862         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18863         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18864         * doc/posix-functions/wcscspn.texi: Mention the new module.
18865
18866 2011-02-06  Bruno Haible  <bruno@clisp.org>
18867
18868         New module 'wcsrchr'.
18869         * modules/wcsrchr: New file.
18870         * lib/wchar.in.h (wcsrchr): New declaration.
18871         * lib/wcsrchr.c: New file.
18872         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18873         * m4/wcsrchr.m4: New file.
18874         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18875         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18876         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18877         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18878         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18879
18880 2011-02-06  Bruno Haible  <bruno@clisp.org>
18881
18882         New module 'wcschr'.
18883         * modules/wcschr: New file.
18884         * lib/wchar.in.h (wcschr): New declaration.
18885         * lib/wcschr.c: New file.
18886         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18887         * m4/wcschr.m4: New file.
18888         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18889         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18890         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18891         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18892         * doc/posix-functions/wcschr.texi: Mention the new module.
18893
18894 2011-02-06  Bruno Haible  <bruno@clisp.org>
18895
18896         New module 'wcsdup'.
18897         * modules/wcsdup: New file.
18898         * lib/wchar.in.h (wcsdup): New declaration.
18899         * lib/wcsdup.c: New file.
18900         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18901         * m4/wcsdup.m4: New file.
18902         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18903         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18904         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18905         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18906         * doc/posix-functions/wcsdup.texi: Mention the new module.
18907
18908 2011-02-06  Bruno Haible  <bruno@clisp.org>
18909
18910         New module 'wcsxfrm'.
18911         * modules/wcsxfrm: New file.
18912         * lib/wchar.in.h (wcsxfrm): New declaration.
18913         * lib/wcsxfrm.c: New file.
18914         * lib/wcsxfrm-impl.h: New file.
18915         * m4/wcsxfrm.m4: New file.
18916         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18917         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18918         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18919         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18920         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18921
18922 2011-02-06  Bruno Haible  <bruno@clisp.org>
18923
18924         New module 'wcscoll'.
18925         * modules/wcscoll: New file.
18926         * lib/wchar.in.h (wcscoll): New declaration.
18927         * lib/wcscoll.c: New file.
18928         * lib/wcscoll-impl.h: New file.
18929         * m4/wcscoll.m4: New file.
18930         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18931         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18932         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18933         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18934         * doc/posix-functions/wcscoll.texi: Mention the new module.
18935
18936 2011-02-06  Bruno Haible  <bruno@clisp.org>
18937
18938         New module 'wcsncasecmp'.
18939         * modules/wcsncasecmp: New file.
18940         * lib/wchar.in.h (wcsncasecmp): New declaration.
18941         * lib/wcsncasecmp.c: New file.
18942         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18943         * m4/wcsncasecmp.m4: New file.
18944         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18945         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18946         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18947         HAVE_WCSNCASECMP.
18948         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18949         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18950
18951 2011-02-06  Bruno Haible  <bruno@clisp.org>
18952
18953         New module 'wcscasecmp'.
18954         * modules/wcscasecmp: New file.
18955         * lib/wchar.in.h (wcscasecmp): New declaration.
18956         * lib/wcscasecmp.c: New file.
18957         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18958         * m4/wcscasecmp.m4: New file.
18959         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18960         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18961         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18962         HAVE_WCSCASECMP.
18963         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18964         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18965
18966 2011-02-05  Bruno Haible  <bruno@clisp.org>
18967
18968         New module 'wcsncmp'.
18969         * modules/wcsncmp: New file.
18970         * lib/wchar.in.h (wcsncmp): New declaration.
18971         * lib/wcsncmp.c: New file.
18972         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18973         * m4/wcsncmp.m4: New file.
18974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18976         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18977         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18978         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18979
18980 2011-02-05  Bruno Haible  <bruno@clisp.org>
18981
18982         New module 'wcscmp'.
18983         * modules/wcscmp: New file.
18984         * lib/wchar.in.h (wcscmp): New declaration.
18985         * lib/wcscmp.c: New file.
18986         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18987         * m4/wcscmp.m4: New file.
18988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18990         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18991         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18992         * doc/posix-functions/wcscmp.texi: Mention the new module.
18993
18994 2011-02-05  Bruno Haible  <bruno@clisp.org>
18995
18996         New module 'wcsncat'.
18997         * modules/wcsncat: New file.
18998         * lib/wchar.in.h (wcsncat): New declaration.
18999         * lib/wcsncat.c: New file.
19000         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19001         * m4/wcsncat.m4: New file.
19002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19004         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19005         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19006         * doc/posix-functions/wcsncat.texi: Mention the new module.
19007
19008 2011-02-05  Bruno Haible  <bruno@clisp.org>
19009
19010         New module 'wcscat'.
19011         * modules/wcscat: New file.
19012         * lib/wchar.in.h (wcscat): New declaration.
19013         * lib/wcscat.c: New file.
19014         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19015         * m4/wcscat.m4: New file.
19016         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19017         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19018         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19019         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19020         * doc/posix-functions/wcscat.texi: Mention the new module.
19021
19022 2011-02-05  Bruno Haible  <bruno@clisp.org>
19023
19024         New module 'wcpncpy'.
19025         * modules/wcpncpy: New file.
19026         * lib/wchar.in.h (wcpncpy): New declaration.
19027         * lib/wcpncpy.c: New file.
19028         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19029         * m4/wcpncpy.m4: New file.
19030         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19031         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19032         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19033         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19034         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19035
19036 2011-02-05  Bruno Haible  <bruno@clisp.org>
19037
19038         New module 'wcsncpy'.
19039         * modules/wcsncpy: New file.
19040         * lib/wchar.in.h (wcsncpy): New declaration.
19041         * lib/wcsncpy.c: New file.
19042         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19043         * m4/wcsncpy.m4: New file.
19044         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19045         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19046         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19047         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19048         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19049
19050 2011-02-05  Bruno Haible  <bruno@clisp.org>
19051
19052         New module 'wcpcpy'.
19053         * modules/wcpcpy: New file.
19054         * lib/wchar.in.h (wcpcpy): New declaration.
19055         * lib/wcpcpy.c: New file.
19056         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19057         * m4/wcpcpy.m4: New file.
19058         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19059         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19060         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19061         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19062         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19063
19064 2011-02-05  Bruno Haible  <bruno@clisp.org>
19065
19066         New module 'wcscpy'.
19067         * modules/wcscpy: New file.
19068         * lib/wchar.in.h (wcscpy): New declaration.
19069         * lib/wcscpy.c: New file.
19070         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19071         * m4/wcscpy.m4: New file.
19072         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19073         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19074         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19075         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19076         * doc/posix-functions/wcscpy.texi: Mention the new module.
19077
19078 2011-02-05  Bruno Haible  <bruno@clisp.org>
19079
19080         New module 'wcsnlen'.
19081         * modules/wcsnlen: New file.
19082         * lib/wchar.in.h (wcsnlen): New declaration.
19083         * lib/wcsnlen.c: New file.
19084         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19085         * m4/wcsnlen.m4: New file.
19086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19088         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19089         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19090         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19091
19092 2011-02-05  Bruno Haible  <bruno@clisp.org>
19093
19094         New module 'wcslen'.
19095         * modules/wcslen: New file.
19096         * lib/wchar.in.h (wcslen): New declaration.
19097         * lib/wcslen.c: New file.
19098         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19099         * m4/wcslen.m4: New file.
19100         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19101         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19102         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19103         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19104         * doc/posix-functions/wcslen.texi: Mention the new module.
19105
19106 2011-02-05  Bruno Haible  <bruno@clisp.org>
19107
19108         New module 'wmemset'.
19109         * modules/wmemset: New file.
19110         * lib/wchar.in.h (wmemset): New declaration.
19111         * lib/wmemset.c: New file.
19112         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19113         * m4/wmemset.m4: New file.
19114         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19115         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19116         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19117         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19118         * doc/posix-functions/wmemset.texi: Mention the new module.
19119
19120 2011-02-05  Bruno Haible  <bruno@clisp.org>
19121
19122         New module 'wmemmove'.
19123         * modules/wmemmove: New file.
19124         * lib/wchar.in.h (wmemmove): New declaration.
19125         * lib/wmemmove.c: New file.
19126         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19127         * m4/wmemmove.m4: New file.
19128         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19129         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19130         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19131         HAVE_WMEMMOVE.
19132         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19133         * doc/posix-functions/wmemmove.texi: Mention the new module.
19134
19135 2011-02-05  Bruno Haible  <bruno@clisp.org>
19136
19137         New module 'wmemcpy'.
19138         * modules/wmemcpy: New file.
19139         * lib/wchar.in.h (wmemcpy): New declaration.
19140         * lib/wmemcpy.c: New file.
19141         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19142         * m4/wmemcpy.m4: New file.
19143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19145         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19146         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19147         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19148
19149 2011-02-05  Bruno Haible  <bruno@clisp.org>
19150
19151         New module 'wmemcmp'.
19152         * modules/wmemcmp: New file.
19153         * lib/wchar.in.h (wmemcmp): New declaration.
19154         * lib/wmemcmp.c: New file.
19155         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19156         * m4/wmemcmp.m4: New file.
19157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19159         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19160         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19161         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19162
19163 2011-02-07  Jim Meyering  <meyering@redhat.com>
19164
19165         di-set, ino-map: new modules, from coreutils
19166         * lib/di-set.c: New file.
19167         * lib/di-set.h: Likewise.
19168         * lib/ino-map.c: Likewise.
19169         * lib/ino-map.h: Likewise.
19170         * modules/di-set: Likewise.
19171         * modules/di-set-tests: Likewise.
19172         * modules/ino-map: Likewise.
19173         * modules/ino-map-tests: Likewise.
19174         * tests/test-di-set.c: Likewise.
19175         * tests/test-ino-map.c: Likewise.
19176
19177 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19178
19179         getloadavg: merge minor changes from Emacs
19180
19181         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19182         (getloadavg): Use memset, not bzero.
19183
19184         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19185         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19186         clash (bug#86).
19187
19188 2010-11-14  Bruno Haible  <bruno@clisp.org>
19189
19190         Allow multiple gnulib generated replacements to coexist.
19191         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19192         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19193         * lib/langinfo.in.h (nl_item): Likewise.
19194         * lib/math.in.h (_NaN, NAN): Likewise.
19195         * lib/netdb.in.h (struct addrinfo): Likewise.
19196         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19197         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19198         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19199         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19200         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19201         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19202         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19203         pthread_mutexattr_init, pthread_mutexattr_settype,
19204         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19205         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19206         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19207         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19208         * lib/sched.in.h (struct sched_param): Likewise.
19209         * lib/se-selinux.in.h (security_class_t, security_context_t,
19210         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19211         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19212         lsetfilecon, fsetfilecon, security_check_context,
19213         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19214         Likewise.
19215         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19216         Likewise.
19217         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19218         _gl_function_taking_int_returning_void_t, union sigval,
19219         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19220         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19221         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19222         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19223         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19224         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19225         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19226         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19227         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19228         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19229         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19230         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19231         socklen_t, rpl_fd_isset): Likewise.
19232         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19233         * lib/sys_time.in.h (struct timeval): Likewise.
19234         * lib/sys_times.in.h (struct tms): Likewise.
19235         * lib/sys_utsname.in.h (struct utsname):
19236         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19237         * lib/unistd.in.h (getpagesize): Likewise.
19238         * lib/wchar.in.h (mbstate_t): Likewise.
19239         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19240         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19241         towlower, towupper): Likewise.
19242         Reported by Sam Steingold <sds@gnu.org>.
19243
19244 2011-02-05  Eric Blake  <eblake@redhat.com>
19245
19246         unsetenv: work around Haiku issues
19247         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19248         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19249
19250 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19251
19252         libposix: avoid calling error() within libposix
19253         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19254         is defined.
19255
19256 2011-02-05  Eric Blake  <eblake@redhat.com>
19257
19258         strerror_r-posix: port to cygwin
19259         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19260         implementation.
19261         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19262         * tests/test-strerror_r.c (main): Fix test.
19263         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19264         issue.
19265
19266 2011-02-05  Bruno Haible  <bruno@clisp.org>
19267
19268         New module 'wmemchr'.
19269         * modules/wmemchr: New file.
19270         * lib/wchar.in.h (wmemchr): New declaration.
19271         * lib/wmemchr.c: New file.
19272         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19273         * m4/wmemchr.m4: New file.
19274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19276         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19277         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19278         * doc/posix-functions/wmemchr.texi: Mention the new module.
19279
19280 2011-02-04  Eric Blake  <eblake@redhat.com>
19281
19282         fdopendir: detect FreeBSD bug
19283         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19284         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19285
19286 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19287
19288         stdbool: do not define HAVE_STDBOOL_H
19289         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19290         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19291         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19292         imported from the latest Autoconf git.  It was motivated by Emacs,
19293         which uses gnulib but does not need HAVE_STDBOOL_H.
19294
19295 2011-02-04  Bruno Haible  <bruno@clisp.org>
19296
19297         wcsnrtombs: Prepare for new module wwcsnrtombs.
19298         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19299         * lib/wcsnrtombs.c: Include it.
19300         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19301
19302         wcsrtombs: Prepare for new module wwcsrtombs.
19303         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19304         * lib/wcsrtombs.c: Include it.
19305         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19306
19307         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19308         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19309         * lib/mbsnrtowcs.c: Include it.
19310         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19311
19312         mbsrtowcs: Prepare for new module mbsrtowwcs.
19313         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19314         * lib/mbsrtowcs.c: Include it.
19315         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19316
19317 2011-02-04  Bruno Haible  <bruno@clisp.org>
19318
19319         vasnprintf: Reduce use of malloc for small format strings.
19320         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19321         (arguments): Add room for the first 7 arguments.
19322         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19323         (char_directives, u8_directives, u16_directives, u32_directives): Add
19324         room for the first 7 directives.
19325         * lib/printf-parse.c: Include <string.h>.
19326         (PRINTF_PARSE): Change memory handling code so that it uses the first
19327         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19328         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19329         Reported by Pádraig Brady <P@draigbrady.com>.
19330
19331 2011-01-31  Eric Blake  <eblake@redhat.com>
19332
19333         dup2: work around Haiku bug
19334         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19335         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19336         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19337         * tests/test-dup2.c (main): Enhance test.
19338
19339 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19340
19341         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19342         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19343         declared by eglibc 2.11.2.
19344         * lib/stdio.in.h: Likewise.
19345
19346 2011-01-31  Eric Blake  <eblake@redhat.com>
19347
19348         ignore-value: add missing test dependency
19349         * tests/test-ignore-value.c: Revert previous change; stdio.h
19350         provides off_t.
19351         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19352
19353 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19354
19355         mktime: clarify long_int width checking
19356         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19357         the top level, to make it clearer that the assumption about
19358         long_int width is being checked.  See
19359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19360
19361 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19362
19363         ignore-value: Fix self-test.
19364         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19365
19366 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19367
19368         TYPE_MAXIMUM: avoid theoretically undefined behavior
19369         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19370         negative number, which the C Standard says has undefined behavior.
19371         In practice this is not a problem, but might as well do it by the book.
19372         Reported by Rich Felker and Eric Blake; see
19373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19374         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19375         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19377         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19378         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19379         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19380
19381         mktime: #undef mktime before #defining it
19382         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19383
19384         mktime: systematically normalize tm_isdst comparisons
19385         * lib/mktime.c (isdst_differ): New function.
19386         (__mktime_internal): Use it systematically for all isdst comparisons.
19387         This completes the fix for libc BZ #6723, and removes the need for
19388         normalizing tm_isdst.  See
19389         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19390         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19391
19392         mktime: fix some integer overflow issues and sidestep the rest
19393
19394         This was prompted by a bug report by Benjamin Lindner for MinGW
19395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19396         His bug is due to signed integer overflow (0 - INT_MIN), and I
19397         I scanned through mktime.c looking for other integer overflow
19398         problems, fixing all the bugs I found.
19399
19400         Although the C Standard says the resulting code is still not safe
19401         in the presence of integer overflow, in practice it should be good
19402         enough for all real-world two's-complement implementations, except
19403         for debugging environments that deliberately trap on integer
19404         overflow (e.g., gcc -ftrapv).
19405
19406         * lib/mktime.c (WRAPV): New macro.
19407         (SHR): Also check that long_int and time_t shift right in the
19408         usual way, before using the fast-but-unportable method.
19409         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19410         used.  The code already assumed two's complement, so there's
19411         no need to test for alternatives.  All uses removed.
19412         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19413         the C standard.  Problem reported by Rich Felker in
19414         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19415         (twos_complement_arithmetic): Also check long_int and time_t.
19416         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19417         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19418         (__mktime_internal): Avoid integer overflow with unary subtraction
19419         in two instances where -1 - X is an adequate replacement for -X,
19420         since the calculations are approximate.
19421
19422 2011-01-29  Eric Blake  <eblake@redhat.com>
19423
19424         mktime: avoid infinite loop
19425         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19426         type; behavior is still undefined but portable to all known targets.
19427         Reported by Rich Felker.
19428
19429 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19430
19431         rename, unlink, same-inode: Relicense.
19432         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19433         * modules/unlink (License): Likewise.
19434         * modules/same-inode (License): Likewise.
19435
19436 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19437
19438         mktime: avoid problems on NetBSD 5 / i386
19439         * lib/mktime.c (long_int): New type.  This works around a problem
19440         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19441         but time_t is 64 bits, and where I expect the existing code is
19442         wrong in some cases.
19443         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19444         (ydhms_diff): Bring back the compile-time check for wide-enough
19445         year and yday.
19446
19447         mktime: fix misspelling in comment
19448         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19449         This merges all recent glibc changes of importance.
19450
19451 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19452
19453         move-if-change: cope with concurrent mv of identical file.
19454         * build-aux/move-if-change (CMPPROG): Accept environment
19455         variable as an override for `cmp'.
19456         (usage): Document CMPPROG.
19457         Adjust comparison to drop stdout.  Cope with failure of mv if
19458         the target file exists and is identical to the source, for
19459         parallel builds.
19460         Report from H.J. Lu against binutils in PR binutils/12283.
19461
19462 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19463
19464         * users.txt: Mention sharutils.
19465
19466 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19467
19468         * users.txt: Mention OATH Toolkit.
19469
19470 2011-01-27  Bruno Haible  <bruno@clisp.org>
19471
19472         Prepare for supporting FreeBSD 10.
19473         * build-aux/config.libpath: Remove handling of freebsd1*.
19474
19475 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19476
19477         Prepare for supporting FreeBSD 10.
19478         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19479         match FreeBSD 10.0.
19480
19481 2011-01-27  Bruno Haible  <bruno@clisp.org>
19482
19483         vma-iter, get-rusage-as: Add OpenBSD support.
19484         * modules/vma-iter (configure.ac): Test for mquery.
19485         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19486         * lib/vma-iter.c: Include <sys/mman.h>.
19487         (vma_iterate): Add an implementation based on mquery().
19488         * lib/resource-ext.h (get_rusage_as): Update comments.
19489         * lib/get-rusage-as.c: Likewise.
19490         * lib/get-rusage-data.c: Likewise.
19491
19492 2011-01-26  Karl Berry  <karl@gnu.org>
19493
19494         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19495         variables to make it easier to override the makeinfo program used.
19496
19497 2011-01-26  Eric Blake  <eblake@redhat.com>
19498
19499         fcntl: work around Haiku F_DUPFD bugs
19500         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19501         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19502         cloexec bit on duplication.
19503         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19504
19505 2011-01-26  Bruno Haible  <bruno@clisp.org>
19506
19507         Enable memory leak tests on AIX.
19508         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19509         * tests/test-fprintf-posix3.c (main): Likewise.
19510
19511 2011-01-26  Bruno Haible  <bruno@clisp.org>
19512
19513         Tests for module 'get-rusage-data'.
19514         * modules/get-rusage-data-tests: New file.
19515         * tests/test-get-rusage-data.c: New file.
19516
19517         New module 'get-rusage-data'.
19518         * lib/resource-ext.h (get_rusage_data): New declaration.
19519         * lib/get-rusage-data.c: New file.
19520         * modules/get-rusage-data: New file.
19521
19522 2011-01-25  Bruno Haible  <bruno@clisp.org>
19523
19524         get-rusage-as: Allow for easier testing.
19525         * lib/resource-ext.h (get_rusage_as): Add comment.
19526         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19527         (main): New function for interactive testing.
19528
19529 2011-01-25  Bruno Haible  <bruno@clisp.org>
19530
19531         vma-iter: Treat Haiku like BeOS.
19532         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19533         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19534
19535 2011-01-25  Eric Blake  <eblake@redhat.com>
19536
19537         c-stack: fix regression on cygwin when libsigsegv is present
19538         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19539
19540 2011-01-24  Bruno Haible  <bruno@clisp.org>
19541
19542         vma-iter: Avoid empty intervals.
19543         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19544         on an empty interval.
19545
19546 2011-01-24  Jim Meyering  <meyering@redhat.com>
19547
19548         u64: remove unnecessary #include
19549         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19550
19551 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19552
19553         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19554         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19555
19556 2011-01-23  Bruno Haible  <bruno@clisp.org>
19557
19558         New module 'vma-iter'.
19559         * lib/vma-iter.h: New file.
19560         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19561         * modules/vma-iter: New file.
19562         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19563         for get_rusage_as_via_iterator.
19564         (vma_iterate_callback): New function.
19565         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19566         * modules/get-rusage-as (Depends-on): Add vma-iter.
19567
19568 2011-01-23  Bruno Haible  <bruno@clisp.org>
19569
19570         uninorm: Tweak includes.
19571         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19572         Reported by Jim Meyering.
19573
19574 2011-01-23  Bruno Haible  <bruno@clisp.org>
19575
19576         get-rusage-as: Improve on NetBSD.
19577         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19578         /proc, like on FreeBSD.
19579
19580 2011-01-23  Jim Meyering  <meyering@redhat.com>
19581
19582         xreadlink.h: remove unnecessary #include
19583         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19584
19585         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19586         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19587
19588 2011-01-23  Bruno Haible  <bruno@clisp.org>
19589
19590         get-rusage-as: Fix bug.
19591         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19592         original limit when aborting the first loop.
19593
19594 2011-01-23  Bruno Haible  <bruno@clisp.org>
19595
19596         wctype: Ensure valid C syntax.
19597         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19598         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19599
19600 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19601
19602         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19603         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19604         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19605         as they are needed only for configure's test case.
19606         This removes two unnecessary symbols from config.h.
19607
19608         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19609         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19610         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19611         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19612         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19613         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19614         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19615         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19616         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19617         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19618         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19619         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19620         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19621         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19622         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19623         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19624         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19625         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19626
19627 2011-01-21  Eric Blake  <eblake@redhat.com>
19628
19629         maintainer-makefile: work with older git for submodule check
19630         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19631         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19632         Reported by Matthias Bolte.
19633
19634         bootstrap: minor portability fixes
19635         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19636         (usage): Omit leading capital and trailing . on help phrases, per
19637         GNU Coding Standards.
19638         (check_versions, top level): Prefix messages with script name.
19639
19640 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19641
19642         bootstrap: support --no-git option
19643         * build-aux/bootstrap: Add --no-git option, to be used when
19644         --gnulib-srcdir points to the exact desired checkout.
19645
19646 2011-01-21  Eric Blake  <eblake@redhat.com>
19647
19648         strerror_r-posix: work with glibc 2.13
19649         * lib/strerror_r.c (strerror_r): Fix return type.
19650
19651 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19652             Bruno Haible  <bruno@clisp.org>
19653
19654         uN_strstr: New unit tests.
19655         * modules/unistr/u8-strstr-tests: New file.
19656         * modules/unistr/u16-strstr-tests: New file.
19657         * modules/unistr/u32-strstr-tests: New file.
19658         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19659         * tests/unistr/test-u8-strstr.c: New file.
19660         * tests/unistr/test-u16-strstr.c: New file.
19661         * tests/unistr/test-u32-strstr.c: New file.
19662
19663 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19664             Bruno Haible  <bruno@clisp.org>
19665
19666         Make uN_strstr functions O(n) worst-case.
19667         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19668         16-bit and 32-bit unit cases, use the unibyte algorithm from
19669         lib/mbsstr.c.
19670         * lib/unistr/u8-strstr.c: Include <string.h>.
19671         (UNIT_IS_UINT8_T): New macro.
19672         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19673         (U_STRLEN, U_STRNLEN): New macros.
19674         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19675         (U_STRLEN, U_STRNLEN): New macros.
19676         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19677         (configure.ac): Update required libunistring version.
19678         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19679         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19680         malloca.
19681         (configure.ac): Update required libunistring version.
19682         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19683         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19684         malloca.
19685         (configure.ac): Update required libunistring version.
19686
19687 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19688             Bruno Haible  <bruno@clisp.org>
19689
19690         Prepare for faster uN_strstr functions.
19691         * lib/str-kmp.h: Support definable UNITs.
19692         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19693         needle_len argument.
19694         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19695         * lib/mbscasestr.c (mbscasestr): Likewise.
19696
19697 2011-01-21  Pádraig Brady <P@draigBrady.com>
19698
19699         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19700         * tests/test-malloca.c (main): Unset the environment variable
19701         to greatly speed up the test.
19702         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19703         * modules/malloca-tests: Depend on unsetenv.
19704
19705 2011-01-21  Pádraig Brady <P@draigBrady.com>
19706
19707         ignore-value: remove stdint dependency
19708         * lib/ignore-value.h: Remove <stdint.h>
19709         * modules/ignore-value: Remove stdint dependency.
19710
19711 2011-01-21  Jim Meyering  <meyering@redhat.com>
19712
19713         maint.mk: adjust variable name to be consistent with other gl_ vars
19714         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19715         to be lower case.
19716
19717 2011-01-20  Jim Meyering  <meyering@redhat.com>
19718
19719         maint.mk: make "check" depend on public-submodule-commit by default
19720         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19721
19722 2011-01-20  Bruno Haible  <bruno@clisp.org>
19723
19724         mbfile, mbiter: Complete change from 2008-12-21.
19725         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19726         * m4/mbiter.m4 (gl_MBITER): Likewise.
19727
19728 2011-01-20  Jim Meyering  <meyering@redhat.com>
19729
19730         init.sh: insert space between each function name and "()"
19731         * tests/init.sh: Make it a little easier to see that a function's
19732         name is "warn_", and not "warn" when looking at the first part of
19733         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19734
19735 2011-01-20  Jim Meyering  <meyering@redhat.com>
19736
19737         mountlist: clean up code formatting
19738         * lib/mountlist.c (read_file_system_list): Split a long line,
19739         correct bracing style, use NULL in place of "(struct statfs *)0",
19740         don't parenthesize return value, add spaces around "=" and after
19741         ";-in-for-stmt".
19742
19743 2011-01-14  Markus Duft <mduft@gentoo.org>
19744
19745         mountlist: add support for Interix
19746         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19747         Apply statvfs to all entries of /dev/fs.
19748         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19749         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19750
19751 2011-01-20  Jim Meyering  <meyering@redhat.com>
19752
19753         maint.mk: improve the public-submodule-commit rule
19754         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19755         to suppress printing of its commands... unless V=1.
19756         Add git submodule's --quiet option to suppress printing of e.g.,
19757         "Entering gnulib" output.
19758         "cd" into $(srcdir) before running git submodule.
19759
19760 2011-01-20  Bruno Haible  <bruno@clisp.org>
19761
19762         include_next: Fix bug introduced on 2011-01-18.
19763         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19764         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19765         ac_cv_header_... variable if the second argument is not 'check'.
19766         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19767         gl_NEXT_HEADERS_INTERNAL.
19768
19769 2011-01-20  Bruno Haible  <bruno@clisp.org>
19770
19771         Allow the user to avoid the GNULIB_TEST_* macros.
19772         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19773         Suggested by Paul Eggert.
19774
19775 2011-01-14  Jim Meyering  <meyering@redhat.com>
19776
19777         bootstrap: avoid failure when there is no .gitmodules file
19778         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19779         has been assigned to, even when its value is the empty string.
19780         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19781         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19782         Reported by John W. Eaton <jwe@gnu.org>.
19783
19784 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19785
19786         assume <ctype.h>, ..., <time.h> exist
19787         For years gnulib has been assuming the existence of the headers
19788         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19789         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19790         them, since they don't appear to be needed.
19791         * README (Portability guidelines): Document this.
19792         * lib/flock.c: Assume <fcntl.h> exists.
19793         * lib/regex_internal.h: Assume <locale.h> exists.
19794         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19795         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19796         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19797         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19798         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19799         * m4/regex.m4 (gl_REGEX): Likewise.
19800         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19801         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19802         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19803         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19804         * tests/test-argp.c: Likewise.
19805         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19806
19807         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19808         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19809         AA_APPLE_UNIVERSAL_BUILD.  See
19810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19811         * NEWS: Document this.
19812
19813 2011-01-19  Eric Blake  <eblake@redhat.com>
19814
19815         c-stack: assume stack overflow if SA_SIGINFO unsupported
19816         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19817         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19818         sigaction will work.
19819         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19820         behavior match Linux.
19821         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19822
19823         stdbool-tests: accomodate Haiku
19824         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19825
19826         binary-io: fix O_TEXT on Haiku
19827         * modules/binary-io (Depends-on): Add fcntl-h.
19828         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19829         than blindly undefining O_TEXT.
19830         Reported by Scott McCreary.
19831
19832 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19833
19834         include_next: do not check for standard headers like stddef.h
19835
19836         I found this problem when modifying Emacs to use gnulib.
19837         I noticed that it added HAVE_STDDEF_H to config.h, even though
19838         gnulib always assumes <stddef.h> exists as per README and this
19839         symbol is unnecessary.
19840         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19841         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19842         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19843         faster for headers like stddef.h that are known to exist.
19844         (gl_CHECK_NEXT_HEADERS): Use it.
19845         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19846         rather than gl_CHECK_NEXT_HEADERS.
19847         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19848         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19849
19850 2011-01-18  Eric Blake  <eblake@redhat.com>
19851
19852         ansi-c++-opt: skip C++ dependency style if C++ is unused
19853         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19854         tests when we know C++ compilation is not desired.
19855         Reported by Scott McCreary.
19856
19857 2011-01-18  Bruno Haible  <bruno@clisp.org>
19858
19859         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19860         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19861         (main): Perform test also when getrlimit and setrlimit don't exist or
19862         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19863         limiting the address space size using setrlimit, compare the address
19864         space size before and after the the test.
19865         * tests/test-dprintf-posix2.c: Likewise.
19866         * tests/test-fprintf-posix3.sh: Update skip messages.
19867         * tests/test-dprintf-posix2.sh: Likewise.
19868         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19869         * modules/dprintf-posix-tests (Depends-on): Likewise.
19870         Reported by Bruce Korb <bkorb@gnu.org> and
19871         Gary V. Vaughan <gary@gnu.org>.
19872
19873 2011-01-18  Bruno Haible  <bruno@clisp.org>
19874
19875         get-rusage-as: Improvement for Cygwin.
19876         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19877         areas that are merely reserved.
19878
19879 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19880
19881         strftime: remove dependencies on multibyte modules
19882
19883         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19884         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19885         only if __osf__ is defined, and I suspect OSF doesn't need these
19886         other modules.  If my guess is wrong, we'll need to come up with a
19887         variant of strftime that doesn't need the multibyte modules.
19888
19889         I discovered this problem when attempting modify Emacs to use the
19890         strftime module.  With the previous gnulib, this caused Emacs to
19891         need 31 new files, ranging from lib/config.charset to
19892         m4/wint_t.m4.  This was overkill and I expect would be offputting
19893         to the Emacs maintainers.  After this change, only 6 new files are
19894         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19895         stdbool.m4, and tm_gmtoff.m4.
19896
19897         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19898         Suggested by Bruno Haible in
19899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19900         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19901         and do not check for wchar.h.
19902         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19903         (Depends-on): Remove mbrlen, mbsinit, wchar.
19904
19905 2011-01-18  Bruno Haible  <bruno@clisp.org>
19906
19907         Tests for module 'get-rusage-as'.
19908         * modules/get-rusage-as-tests: New file.
19909         * tests/test-get-rusage-as.c: New file.
19910
19911         New module 'get-rusage-as'.
19912         * modules/get-rusage-as: New file.
19913         * lib/resource-ext.h: New file.
19914         * lib/get-rusage-as.c: New file.
19915
19916 2011-01-17  Eric Blake  <eblake@redhat.com>
19917
19918         sigaction: relax license from LGPLv3+ to LGPLv2+
19919         * modules/sigaction (License): Relax to LGPLv2+.
19920
19921 2011-01-14  Bruno Haible  <bruno@clisp.org>
19922
19923         filemode: Make function declarations usable in C++ mode.
19924         * lib/filemode.h: Enclose function declarations in extern "C" block.
19925         Reported by John W. Eaton <jwe@gnu.org>.
19926
19927 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19928
19929         save-cwd: no longer include "xgetcwd.h"
19930         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19931         This avoids a compilation failure in projects that use save-cwd
19932         without also using the xgetcwd module.
19933
19934 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19935
19936         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19937         This is so that a program like Emacs, which needs only dtoastr,
19938         does not have to bother with distributing and compiling ftoastr
19939         and ldtoastr.
19940         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19941         * modules/dtoastr, modules/ldtoastr: New files.
19942         * modules/ftoastr: Now works just for 'float'.
19943         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19944         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19945         dtoastr.c, ldtoastr.c.
19946
19947 2011-01-11  Jim Meyering  <meyering@redhat.com>
19948
19949         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19950         There is no need to work around the lack of the fchdir function,
19951         since gnulib can now provide a replacement when required.
19952         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19953         * modules/save-cwd (Depends-on): Add fchdir.
19954
19955 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19956
19957         openat, save-cwd: avoid xmalloc
19958
19959         This removes a direct (but undocumented) dependency of openat on
19960         xalloc, along with an indirect dependency via save-cwd.  It also
19961         removes a dependency of save-cwd on xgetcwd, and thereby
19962         indirectly on xalloc.  This change causes the openat substitute
19963         to fall back on save_cwd when memory is tight, and for save_cwd to
19964         fail instead of dying when memory is tight, but that's good enough.
19965         Problem and initial idea for fix reported by Bastien Roucaries in
19966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19967
19968         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19969         xalloc.h (for xmalloc).
19970         (openat_proc_name): Use malloc, not xmalloc.
19971         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19972         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19973
19974         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19975         This avoids heap allocation for file names whose lengths are in
19976         the range 512..1023, with the upper bound increasing to at most
19977         4031 depending on the platform's PATH_MAX.  (We do not want
19978         pathmax.h here as it might supply a non-constant PATH_MAX.)
19979         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19980         Perhaps they should be moved to malloca.h?
19981         (OPENAT_BUFFER_SIZE): Use them.
19982
19983 2011-01-10  Bruno Haible  <bruno@clisp.org>
19984
19985         doc: Update users.txt.
19986         * users.txt: Add recutils.
19987
19988 2011-01-09  Karl Berry  <karl@gnu.org>
19989
19990         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19991
19992         * doc/configmake.texi: New file.
19993         * doc/gnulib.texi: Include it.
19994         * modules/configmake: Move documentation from here.
19995
19996 2011-01-09  Bruno Haible  <bruno@clisp.org>
19997
19998         Update to Unicode 6.0.0.
19999         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20000         (get_lbp): Update for Unicode 6.0.0.
20001         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20002         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20003         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20004         U+11001, U+11038..U+11046. Remove U+06DE.
20005         (uc_width): Fix bounds of planes.
20006         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20007         lib/uniwidth/width.c.
20008         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20009         trailing whitespace removed.
20010         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20011         without comments, but with the original copyright notice.
20012         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20013         * lib/unicase/ignorable.h: Likewise.
20014         * lib/unicase/tocasefold.h: Likewise.
20015         * lib/unicase/tolower.h: Likewise.
20016         * lib/unicase/totitle.h: Likewise.
20017         * lib/unicase/toupper.h: Likewise.
20018         * lib/unictype/bidi_of.h: Likewise.
20019         * lib/unictype/blocks.h: Likewise.
20020         * lib/unictype/categ_C.h: Likewise.
20021         * lib/unictype/categ_Cn.h: Likewise.
20022         * lib/unictype/categ_L.h: Likewise.
20023         * lib/unictype/categ_Ll.h: Likewise.
20024         * lib/unictype/categ_Lm.h: Likewise.
20025         * lib/unictype/categ_Lo.h: Likewise.
20026         * lib/unictype/categ_Lu.h: Likewise.
20027         * lib/unictype/categ_M.h: Likewise.
20028         * lib/unictype/categ_Mc.h: Likewise.
20029         * lib/unictype/categ_Me.h: Likewise.
20030         * lib/unictype/categ_Mn.h: Likewise.
20031         * lib/unictype/categ_N.h: Likewise.
20032         * lib/unictype/categ_Nd.h: Likewise.
20033         * lib/unictype/categ_No.h: Likewise.
20034         * lib/unictype/categ_P.h: Likewise.
20035         * lib/unictype/categ_Po.h: Likewise.
20036         * lib/unictype/categ_S.h: Likewise.
20037         * lib/unictype/categ_Sc.h: Likewise.
20038         * lib/unictype/categ_Sk.h: Likewise.
20039         * lib/unictype/categ_Sm.h: Likewise.
20040         * lib/unictype/categ_So.h: Likewise.
20041         * lib/unictype/categ_of.h: Likewise.
20042         * lib/unictype/combining.h: Likewise.
20043         * lib/unictype/ctype_alnum.h: Likewise.
20044         * lib/unictype/ctype_alpha.h: Likewise.
20045         * lib/unictype/ctype_graph.h: Likewise.
20046         * lib/unictype/ctype_lower.h: Likewise.
20047         * lib/unictype/ctype_print.h: Likewise.
20048         * lib/unictype/ctype_punct.h: Likewise.
20049         * lib/unictype/ctype_upper.h: Likewise.
20050         * lib/unictype/decdigit.h: Likewise.
20051         * lib/unictype/digit.h: Likewise.
20052         * lib/unictype/numeric.h: Likewise.
20053         * lib/unictype/pr_alphabetic.h: Likewise.
20054         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20055         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20056         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20057         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20058         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20059         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20060         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20061         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20062         * lib/unictype/pr_case_ignorable.h: Likewise.
20063         * lib/unictype/pr_cased.h: Likewise.
20064         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20065         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20066         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20067         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20068         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20069         * lib/unictype/pr_combining.h: Likewise.
20070         * lib/unictype/pr_composite.h: Likewise.
20071         * lib/unictype/pr_currency_symbol.h: Likewise.
20072         * lib/unictype/pr_decimal_digit.h: Likewise.
20073         * lib/unictype/pr_deprecated.h: Likewise.
20074         * lib/unictype/pr_format_control.h: Likewise.
20075         * lib/unictype/pr_grapheme_base.h: Likewise.
20076         * lib/unictype/pr_grapheme_extend.h: Likewise.
20077         * lib/unictype/pr_grapheme_link.h: Likewise.
20078         * lib/unictype/pr_id_continue.h: Likewise.
20079         * lib/unictype/pr_id_start.h: Likewise.
20080         * lib/unictype/pr_ideographic.h: Likewise.
20081         * lib/unictype/pr_lowercase.h: Likewise.
20082         * lib/unictype/pr_math.h: Likewise.
20083         * lib/unictype/pr_numeric.h: Likewise.
20084         * lib/unictype/pr_other_alphabetic.h: Likewise.
20085         * lib/unictype/pr_other_id_continue.h: Likewise.
20086         * lib/unictype/pr_other_math.h: Likewise.
20087         * lib/unictype/pr_punctuation.h: Likewise.
20088         * lib/unictype/pr_sentence_terminal.h: Likewise.
20089         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20090         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20091         * lib/unictype/pr_unified_ideograph.h: Likewise.
20092         * lib/unictype/pr_uppercase.h: Likewise.
20093         * lib/unictype/pr_xid_continue.h: Likewise.
20094         * lib/unictype/pr_xid_start.h: Likewise.
20095         * lib/unictype/scripts.h: Likewise.
20096         * lib/unictype/scripts_byname.gperf: Likewise.
20097         * lib/unictype/sy_java_ident.h: Likewise.
20098         * lib/unigbrk/gbrkprop.h: Likewise.
20099         * lib/unilbrk/lbrkprop1.h: Likewise.
20100         * lib/unilbrk/lbrkprop2.h: Likewise.
20101         * lib/uninorm/decomposition-table2.h: Likewise.
20102         * lib/uniwbrk/wbrkprop.h: Likewise.
20103         * tests/unicase/test-cased.c: Likewise.
20104         * tests/unicase/test-ignorable.c: Likewise.
20105         * tests/unicase/test-uc_tolower.c: Likewise.
20106         * tests/unicase/test-uc_totitle.c: Likewise.
20107         * tests/unicase/test-uc_toupper.c: Likewise.
20108         * tests/unictype/test-categ_C.c: Likewise.
20109         * tests/unictype/test-categ_Cn.c: Likewise.
20110         * tests/unictype/test-categ_L.c: Likewise.
20111         * tests/unictype/test-categ_Ll.c: Likewise.
20112         * tests/unictype/test-categ_Lm.c: Likewise.
20113         * tests/unictype/test-categ_Lo.c: Likewise.
20114         * tests/unictype/test-categ_Lu.c: Likewise.
20115         * tests/unictype/test-categ_M.c: Likewise.
20116         * tests/unictype/test-categ_Mc.c: Likewise.
20117         * tests/unictype/test-categ_Me.c: Likewise.
20118         * tests/unictype/test-categ_Mn.c: Likewise.
20119         * tests/unictype/test-categ_N.c: Likewise.
20120         * tests/unictype/test-categ_Nd.c: Likewise.
20121         * tests/unictype/test-categ_No.c: Likewise.
20122         * tests/unictype/test-categ_P.c: Likewise.
20123         * tests/unictype/test-categ_Po.c: Likewise.
20124         * tests/unictype/test-categ_S.c: Likewise.
20125         * tests/unictype/test-categ_Sc.c: Likewise.
20126         * tests/unictype/test-categ_Sk.c: Likewise.
20127         * tests/unictype/test-categ_Sm.c: Likewise.
20128         * tests/unictype/test-categ_So.c: Likewise.
20129         * tests/unictype/test-ctype_alnum.c: Likewise.
20130         * tests/unictype/test-ctype_alpha.c: Likewise.
20131         * tests/unictype/test-ctype_graph.c: Likewise.
20132         * tests/unictype/test-ctype_lower.c: Likewise.
20133         * tests/unictype/test-ctype_print.c: Likewise.
20134         * tests/unictype/test-ctype_punct.c: Likewise.
20135         * tests/unictype/test-ctype_upper.c: Likewise.
20136         * tests/unictype/test-decdigit.h: Likewise.
20137         * tests/unictype/test-digit.h: Likewise.
20138         * tests/unictype/test-numeric.h: Likewise.
20139         * tests/unictype/test-pr_alphabetic.c: Likewise.
20140         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20141         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20142         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20143         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20144         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20145         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20146         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20147         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20148         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20149         * tests/unictype/test-pr_cased.c: Likewise.
20150         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20151         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20152         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20153         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20154         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20155         * tests/unictype/test-pr_combining.c: Likewise.
20156         * tests/unictype/test-pr_composite.c: Likewise.
20157         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20158         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20159         * tests/unictype/test-pr_deprecated.c: Likewise.
20160         * tests/unictype/test-pr_format_control.c: Likewise.
20161         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20162         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20163         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20164         * tests/unictype/test-pr_id_continue.c: Likewise.
20165         * tests/unictype/test-pr_id_start.c: Likewise.
20166         * tests/unictype/test-pr_ideographic.c: Likewise.
20167         * tests/unictype/test-pr_lowercase.c: Likewise.
20168         * tests/unictype/test-pr_math.c: Likewise.
20169         * tests/unictype/test-pr_numeric.c: Likewise.
20170         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20171         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20172         * tests/unictype/test-pr_other_math.c: Likewise.
20173         * tests/unictype/test-pr_punctuation.c: Likewise.
20174         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20175         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20176         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20177         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20178         * tests/unictype/test-pr_uppercase.c: Likewise.
20179         * tests/unictype/test-pr_xid_continue.c: Likewise.
20180         * tests/unictype/test-pr_xid_start.c: Likewise.
20181         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20182         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20183         changes.
20184         * lib/unictype/categ_Cc.h: Likewise.
20185         * lib/unictype/categ_Cf.h: Likewise.
20186         * lib/unictype/categ_Co.h: Likewise.
20187         * lib/unictype/categ_Cs.h: Likewise.
20188         * lib/unictype/categ_Lt.h: Likewise.
20189         * lib/unictype/categ_Nl.h: Likewise.
20190         * lib/unictype/categ_Pc.h: Likewise.
20191         * lib/unictype/categ_Pd.h: Likewise.
20192         * lib/unictype/categ_Pe.h: Likewise.
20193         * lib/unictype/categ_Pf.h: Likewise.
20194         * lib/unictype/categ_Pi.h: Likewise.
20195         * lib/unictype/categ_Ps.h: Likewise.
20196         * lib/unictype/categ_Z.h: Likewise.
20197         * lib/unictype/categ_Zl.h: Likewise.
20198         * lib/unictype/categ_Zp.h: Likewise.
20199         * lib/unictype/categ_Zs.h: Likewise.
20200         * lib/unictype/ctype_blank.h: Likewise.
20201         * lib/unictype/ctype_cntrl.h: Likewise.
20202         * lib/unictype/ctype_digit.h: Likewise.
20203         * lib/unictype/ctype_space.h: Likewise.
20204         * lib/unictype/ctype_xdigit.h: Likewise.
20205         * lib/unictype/mirror.h: Likewise.
20206         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20207         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20208         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20209         * lib/unictype/pr_bidi_control.h: Likewise.
20210         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20211         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20212         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20213         * lib/unictype/pr_bidi_pdf.h: Likewise.
20214         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20215         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20216         * lib/unictype/pr_dash.h: Likewise.
20217         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20218         * lib/unictype/pr_diacritic.h: Likewise.
20219         * lib/unictype/pr_extender.h: Likewise.
20220         * lib/unictype/pr_hex_digit.h: Likewise.
20221         * lib/unictype/pr_hyphen.h: Likewise.
20222         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20223         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20224         * lib/unictype/pr_ignorable_control.h: Likewise.
20225         * lib/unictype/pr_iso_control.h: Likewise.
20226         * lib/unictype/pr_join_control.h: Likewise.
20227         * lib/unictype/pr_left_of_pair.h: Likewise.
20228         * lib/unictype/pr_line_separator.h: Likewise.
20229         * lib/unictype/pr_logical_order_exception.h: Likewise.
20230         * lib/unictype/pr_non_break.h: Likewise.
20231         * lib/unictype/pr_not_a_character.h: Likewise.
20232         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20233         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20234         * lib/unictype/pr_other_id_start.h: Likewise.
20235         * lib/unictype/pr_other_lowercase.h: Likewise.
20236         * lib/unictype/pr_other_uppercase.h: Likewise.
20237         * lib/unictype/pr_paired_punctuation.h: Likewise.
20238         * lib/unictype/pr_paragraph_separator.h: Likewise.
20239         * lib/unictype/pr_pattern_syntax.h: Likewise.
20240         * lib/unictype/pr_pattern_white_space.h: Likewise.
20241         * lib/unictype/pr_private_use.h: Likewise.
20242         * lib/unictype/pr_quotation_mark.h: Likewise.
20243         * lib/unictype/pr_radical.h: Likewise.
20244         * lib/unictype/pr_soft_dotted.h: Likewise.
20245         * lib/unictype/pr_space.h: Likewise.
20246         * lib/unictype/pr_titlecase.h: Likewise.
20247         * lib/unictype/pr_variation_selector.h: Likewise.
20248         * lib/unictype/pr_white_space.h: Likewise.
20249         * lib/unictype/pr_zero_width.h: Likewise.
20250         * lib/unictype/sy_c_ident.h: Likewise.
20251         * lib/unictype/sy_c_whitespace.h: Likewise.
20252         * lib/unictype/sy_java_whitespace.h: Likewise.
20253         * lib/uninorm/composition-table.gperf: Likewise.
20254         * lib/uninorm/decomposition-table1.h: Likewise.
20255         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20256         LB8.
20257         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20258         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20259         * modules/unictype/*: Bump version number of expected libunistring
20260         version.
20261
20262 2011-01-09  Bruno Haible  <bruno@clisp.org>
20263
20264         Update to Unicode 5.2.0.
20265         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20266         trailing whitespace removed.
20267
20268 2011-01-09  Bruno Haible  <bruno@clisp.org>
20269
20270         New Unicode character properties, from Unicode 5.2.0.
20271         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20272         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20273         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20274         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20275         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20276         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20277         uc_is_property_cased, uc_is_property_case_ignorable,
20278         uc_is_property_changes_when_lowercased,
20279         uc_is_property_changes_when_uppercased,
20280         uc_is_property_changes_when_titlecased,
20281         uc_is_property_changes_when_casefolded,
20282         uc_is_property_changes_when_casemapped): New declarations.
20283         * lib/unictype/pr_byname.gperf: Add the new properties.
20284         * modules/unictype/property-byname (Depends-on): Depend on the new
20285         properties modules.
20286         * modules/unictype/property-all (Depends-on): Likewise.
20287         * MODULES.html.sh (Unicode string functions): Add
20288         unictype/property-case-ignorable, unictype/property-cased,
20289         unictype/property-changes-when-casefolded,
20290         unictype/property-changes-when-casemapped,
20291         unictype/property-changes-when-lowercased,
20292         unictype/property-changes-when-titlecased,
20293         unictype/property-changes-when-uppercased.
20294
20295         New module 'unictype/property-changes-when-casemapped'.
20296         * modules/unictype/property-changes-when-casemapped: New file.
20297         * lib/unictype/pr_changes_when_casemapped.c: New file.
20298         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20299         generated by gen-uni-tables.
20300         * modules/unictype/property-changes-when-casemapped-tests: New file.
20301         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20302         automatically generated by gen-uni-tables.
20303
20304         New module 'unictype/property-changes-when-casefolded'.
20305         * modules/unictype/property-changes-when-casefolded: New file.
20306         * lib/unictype/pr_changes_when_casefolded.c: New file.
20307         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20308         generated by gen-uni-tables.
20309         * modules/unictype/property-changes-when-casefolded-tests: New file.
20310         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20311         automatically generated by gen-uni-tables.
20312
20313         New module 'unictype/property-changes-when-titlecased'.
20314         * modules/unictype/property-changes-when-titlecased: New file.
20315         * lib/unictype/pr_changes_when_titlecased.c: New file.
20316         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20317         generated by gen-uni-tables.
20318         * modules/unictype/property-changes-when-titlecased-tests: New file.
20319         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20320         automatically generated by gen-uni-tables.
20321
20322         New module 'unictype/property-changes-when-uppercased'.
20323         * modules/unictype/property-changes-when-uppercased: New file.
20324         * lib/unictype/pr_changes_when_uppercased.c: New file.
20325         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20326         generated by gen-uni-tables.
20327         * modules/unictype/property-changes-when-uppercased-tests: New file.
20328         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20329         automatically generated by gen-uni-tables.
20330
20331         New module 'unictype/property-changes-when-lowercased'.
20332         * modules/unictype/property-changes-when-lowercased: New file.
20333         * lib/unictype/pr_changes_when_lowercased.c: New file.
20334         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20335         generated by gen-uni-tables.
20336         * modules/unictype/property-changes-when-lowercased-tests: New file.
20337         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20338         automatically generated by gen-uni-tables.
20339
20340         New module 'unictype/property-case-ignorable'.
20341         * modules/unictype/property-case-ignorable: New file.
20342         * lib/unictype/pr_case_ignorable.c: New file.
20343         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20344         by gen-uni-tables.
20345         * modules/unictype/property-case-ignorable-tests: New file.
20346         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20347         generated by gen-uni-tables.
20348
20349         New module 'unictype/property-cased'.
20350         * modules/unictype/property-cased: New file.
20351         * lib/unictype/pr_cased.c: New file.
20352         * lib/unictype/pr_cased.h: New file, automatically generated by
20353         gen-uni-tables.
20354         * modules/unictype/property-cased-tests: New file.
20355         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20356         gen-uni-tables.
20357
20358 2011-01-09  Bruno Haible  <bruno@clisp.org>
20359
20360         Update to Unicode 5.2.0.
20361         * lib/gen-uni-tables.c (output_predicate, output_category,
20362         output_combclass, output_bidi_category, output_decimal_digit_test,
20363         output_decimal_digit, output_digit_test, output_digit,
20364         output_numeric_test, output_numeric, output_mirror, output_scripts,
20365         output_scripts_byname, output_blocks, output_ident_category): Fix
20366         comment header.
20367         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20368         get_wbp.
20369         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20370         items.
20371         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20372         Changes_When_Lowercased, Changes_When_Uppercased,
20373         Changes_When_Titlecased, Changes_When_Casefolded,
20374         Changes_When_Casemapped.
20375         (is_property_alphabetic, is_property_default_ignorable_code_point):
20376         Update for Unicode 5.2.0.
20377         (is_property_cased, is_property_case_ignorable,
20378         is_property_changes_when_lowercased,
20379         is_property_changes_when_uppercased,
20380         is_property_changes_when_titlecased,
20381         is_property_changes_when_casefolded,
20382         is_property_changes_when_casemapped): New functions.
20383         (output_properties): Output also the properties cased, case_ignorable,
20384         changes_when_lowercased, changes_when_uppercased,
20385         changes_when_titlecased, changes_when_casefolded,
20386         changes_when_casemapped.
20387         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20388         Unicode TR#11 revision 17 -> 19.
20389         (LBP_CP): New enumeration value.
20390         (LBP_*): Adjust values accordingly.
20391         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20392         TR#14 revision 22 -> 24.
20393         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20394         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20395         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20396         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20397         is_WBP_MIDLETTER.
20398         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20399         the code1 and code2 of each composition rule.
20400         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20401         * lib/unicase/ignorable.h: Likewise.
20402         * lib/unicase/tocasefold.h: Likewise.
20403         * lib/unicase/tolower.h: Likewise.
20404         * lib/unicase/totitle.h: Likewise.
20405         * lib/unicase/toupper.h: Likewise.
20406         * lib/unictype/bidi_of.h: Likewise.
20407         * lib/unictype/blocks.h: Likewise.
20408         * lib/unictype/categ_C.h: Likewise.
20409         * lib/unictype/categ_Cf.h: Likewise.
20410         * lib/unictype/categ_Cn.h: Likewise.
20411         * lib/unictype/categ_L.h: Likewise.
20412         * lib/unictype/categ_Ll.h: Likewise.
20413         * lib/unictype/categ_Lm.h: Likewise.
20414         * lib/unictype/categ_Lo.h: Likewise.
20415         * lib/unictype/categ_Lu.h: Likewise.
20416         * lib/unictype/categ_M.h: Likewise.
20417         * lib/unictype/categ_Mc.h: Likewise.
20418         * lib/unictype/categ_Mn.h: Likewise.
20419         * lib/unictype/categ_N.h: Likewise.
20420         * lib/unictype/categ_Nd.h: Likewise.
20421         * lib/unictype/categ_Nl.h: Likewise.
20422         * lib/unictype/categ_No.h: Likewise.
20423         * lib/unictype/categ_P.h: Likewise.
20424         * lib/unictype/categ_Pd.h: Likewise.
20425         * lib/unictype/categ_Po.h: Likewise.
20426         * lib/unictype/categ_S.h: Likewise.
20427         * lib/unictype/categ_Sc.h: Likewise.
20428         * lib/unictype/categ_So.h: Likewise.
20429         * lib/unictype/categ_of.h: Likewise.
20430         * lib/unictype/combining.h: Likewise.
20431         * lib/unictype/ctype_alnum.h: Likewise.
20432         * lib/unictype/ctype_alpha.h: Likewise.
20433         * lib/unictype/ctype_graph.h: Likewise.
20434         * lib/unictype/ctype_lower.h: Likewise.
20435         * lib/unictype/ctype_print.h: Likewise.
20436         * lib/unictype/ctype_punct.h: Likewise.
20437         * lib/unictype/ctype_upper.h: Likewise.
20438         * lib/unictype/decdigit.h: Likewise.
20439         * lib/unictype/digit.h: Likewise.
20440         * lib/unictype/numeric.h: Likewise.
20441         * lib/unictype/pr_alphabetic.h: Likewise.
20442         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20443         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20444         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20445         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20446         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20447         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20448         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20449         * lib/unictype/pr_combining.h: Likewise.
20450         * lib/unictype/pr_composite.h: Likewise.
20451         * lib/unictype/pr_currency_symbol.h: Likewise.
20452         * lib/unictype/pr_dash.h: Likewise.
20453         * lib/unictype/pr_decimal_digit.h: Likewise.
20454         * lib/unictype/pr_deprecated.h: Likewise.
20455         * lib/unictype/pr_diacritic.h: Likewise.
20456         * lib/unictype/pr_extender.h: Likewise.
20457         * lib/unictype/pr_grapheme_base.h: Likewise.
20458         * lib/unictype/pr_grapheme_extend.h: Likewise.
20459         * lib/unictype/pr_grapheme_link.h: Likewise.
20460         * lib/unictype/pr_id_continue.h: Likewise.
20461         * lib/unictype/pr_id_start.h: Likewise.
20462         * lib/unictype/pr_ideographic.h: Likewise.
20463         * lib/unictype/pr_ignorable_control.h: Likewise.
20464         * lib/unictype/pr_logical_order_exception.h: Likewise.
20465         * lib/unictype/pr_lowercase.h: Likewise.
20466         * lib/unictype/pr_numeric.h: Likewise.
20467         * lib/unictype/pr_other_alphabetic.h: Likewise.
20468         * lib/unictype/pr_punctuation.h: Likewise.
20469         * lib/unictype/pr_sentence_terminal.h: Likewise.
20470         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20471         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20472         * lib/unictype/pr_unified_ideograph.h: Likewise.
20473         * lib/unictype/pr_uppercase.h: Likewise.
20474         * lib/unictype/pr_xid_continue.h: Likewise.
20475         * lib/unictype/pr_xid_start.h: Likewise.
20476         * lib/unictype/pr_zero_width.h: Likewise.
20477         * lib/unictype/scripts.h: Likewise.
20478         * lib/unictype/scripts_byname.gperf: Likewise.
20479         * lib/unictype/sy_java_ident.h: Likewise.
20480         * lib/unigbrk/gbrkprop.h: Likewise.
20481         * lib/unilbrk/lbrkprop1.h: Likewise.
20482         * lib/unilbrk/lbrkprop2.h: Likewise.
20483         * lib/unilbrk/lbrktables.h: Likewise.
20484         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20485         LBP_CP. Implement rule LB30.
20486         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20487         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20488         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20489         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20490         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20491         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20492         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20493         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20494         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20495         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20496         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20497         bits instead of 16 bits in the code1 and code2 of each composition
20498         rule.
20499         (uc_composition): Update for Unicode 5.2.0.
20500         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20501         * lib/uninorm/decomposition-table2.h: Likewise.
20502         * lib/uniwbrk/wbrkprop.h: Likewise.
20503         * tests/unicase/test-cased.c: Likewise.
20504         * tests/unicase/test-ignorable.c: Likewise.
20505         * tests/unicase/test-uc_tolower.c: Likewise.
20506         * tests/unicase/test-uc_totitle.c: Likewise.
20507         * tests/unicase/test-uc_toupper.c: Likewise.
20508         * tests/unictype/test-categ_C.c: Likewise.
20509         * tests/unictype/test-categ_Cf.c: Likewise.
20510         * tests/unictype/test-categ_Cn.c: Likewise.
20511         * tests/unictype/test-categ_L.c: Likewise.
20512         * tests/unictype/test-categ_Ll.c: Likewise.
20513         * tests/unictype/test-categ_Lm.c: Likewise.
20514         * tests/unictype/test-categ_Lo.c: Likewise.
20515         * tests/unictype/test-categ_Lu.c: Likewise.
20516         * tests/unictype/test-categ_M.c: Likewise.
20517         * tests/unictype/test-categ_Mc.c: Likewise.
20518         * tests/unictype/test-categ_Mn.c: Likewise.
20519         * tests/unictype/test-categ_N.c: Likewise.
20520         * tests/unictype/test-categ_Nd.c: Likewise.
20521         * tests/unictype/test-categ_Nl.c: Likewise.
20522         * tests/unictype/test-categ_No.c: Likewise.
20523         * tests/unictype/test-categ_P.c: Likewise.
20524         * tests/unictype/test-categ_Pd.c: Likewise.
20525         * tests/unictype/test-categ_Po.c: Likewise.
20526         * tests/unictype/test-categ_S.c: Likewise.
20527         * tests/unictype/test-categ_Sc.c: Likewise.
20528         * tests/unictype/test-categ_So.c: Likewise.
20529         * tests/unictype/test-ctype_alnum.c: Likewise.
20530         * tests/unictype/test-ctype_alpha.c: Likewise.
20531         * tests/unictype/test-ctype_graph.c: Likewise.
20532         * tests/unictype/test-ctype_lower.c: Likewise.
20533         * tests/unictype/test-ctype_print.c: Likewise.
20534         * tests/unictype/test-ctype_punct.c: Likewise.
20535         * tests/unictype/test-ctype_upper.c: Likewise.
20536         * tests/unictype/test-decdigit.h: Likewise.
20537         * tests/unictype/test-digit.h: Likewise.
20538         * tests/unictype/test-numeric.h: Likewise.
20539         * tests/unictype/test-pr_alphabetic.c: Likewise.
20540         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20541         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20542         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20543         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20544         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20545         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20546         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20547         * tests/unictype/test-pr_combining.c: Likewise.
20548         * tests/unictype/test-pr_composite.c: Likewise.
20549         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20550         * tests/unictype/test-pr_dash.c: Likewise.
20551         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20552         * tests/unictype/test-pr_deprecated.c: Likewise.
20553         * tests/unictype/test-pr_diacritic.c: Likewise.
20554         * tests/unictype/test-pr_extender.c: Likewise.
20555         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20556         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20557         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20558         * tests/unictype/test-pr_id_continue.c: Likewise.
20559         * tests/unictype/test-pr_id_start.c: Likewise.
20560         * tests/unictype/test-pr_ideographic.c: Likewise.
20561         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20562         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20563         * tests/unictype/test-pr_lowercase.c: Likewise.
20564         * tests/unictype/test-pr_numeric.c: Likewise.
20565         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20566         * tests/unictype/test-pr_punctuation.c: Likewise.
20567         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20568         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20569         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20570         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20571         * tests/unictype/test-pr_uppercase.c: Likewise.
20572         * tests/unictype/test-pr_xid_continue.c: Likewise.
20573         * tests/unictype/test-pr_xid_start.c: Likewise.
20574         * tests/unictype/test-pr_zero_width.c: Likewise.
20575         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20576         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20577         changed behaviour: line breaking is now disallowed between a letter
20578         or '=' and '('.
20579         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20580         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20581         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20582         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20583         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20584         lib/uniwidth/width.c.
20585         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20586         without comments, but with the original copyright notice.
20587         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20588         changes.
20589         * lib/unictype/categ_Cc.h: Likewise.
20590         * lib/unictype/categ_Co.h: Likewise.
20591         * lib/unictype/categ_Cs.h: Likewise.
20592         * lib/unictype/categ_Lt.h: Likewise.
20593         * lib/unictype/categ_Me.h: Likewise.
20594         * lib/unictype/categ_Pc.h: Likewise.
20595         * lib/unictype/categ_Pe.h: Likewise.
20596         * lib/unictype/categ_Pf.h: Likewise.
20597         * lib/unictype/categ_Pi.h: Likewise.
20598         * lib/unictype/categ_Ps.h: Likewise.
20599         * lib/unictype/categ_Sk.h: Likewise.
20600         * lib/unictype/categ_Sm.h: Likewise.
20601         * lib/unictype/categ_Z.h: Likewise.
20602         * lib/unictype/categ_Zl.h: Likewise.
20603         * lib/unictype/categ_Zp.h: Likewise.
20604         * lib/unictype/categ_Zs.h: Likewise.
20605         * lib/unictype/ctype_blank.h: Likewise.
20606         * lib/unictype/ctype_cntrl.h: Likewise.
20607         * lib/unictype/ctype_digit.h: Likewise.
20608         * lib/unictype/ctype_space.h: Likewise.
20609         * lib/unictype/ctype_xdigit.h: Likewise.
20610         * lib/unictype/mirror.h: Likewise.
20611         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20612         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20613         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20614         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20615         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20616         * lib/unictype/pr_bidi_control.h: Likewise.
20617         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20618         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20619         * lib/unictype/pr_bidi_pdf.h: Likewise.
20620         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20621         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20622         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20623         * lib/unictype/pr_format_control.h: Likewise.
20624         * lib/unictype/pr_hex_digit.h: Likewise.
20625         * lib/unictype/pr_hyphen.h: Likewise.
20626         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20627         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20628         * lib/unictype/pr_iso_control.h: Likewise.
20629         * lib/unictype/pr_join_control.h: Likewise.
20630         * lib/unictype/pr_left_of_pair.h: Likewise.
20631         * lib/unictype/pr_line_separator.h: Likewise.
20632         * lib/unictype/pr_math.h: Likewise.
20633         * lib/unictype/pr_non_break.h: Likewise.
20634         * lib/unictype/pr_not_a_character.h: Likewise.
20635         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20636         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20637         * lib/unictype/pr_other_id_continue.h: Likewise.
20638         * lib/unictype/pr_other_id_start.h: Likewise.
20639         * lib/unictype/pr_other_lowercase.h: Likewise.
20640         * lib/unictype/pr_other_math.h: Likewise.
20641         * lib/unictype/pr_other_uppercase.h: Likewise.
20642         * lib/unictype/pr_paired_punctuation.h: Likewise.
20643         * lib/unictype/pr_paragraph_separator.h: Likewise.
20644         * lib/unictype/pr_pattern_syntax.h: Likewise.
20645         * lib/unictype/pr_pattern_white_space.h: Likewise.
20646         * lib/unictype/pr_private_use.h: Likewise.
20647         * lib/unictype/pr_quotation_mark.h: Likewise.
20648         * lib/unictype/pr_radical.h: Likewise.
20649         * lib/unictype/pr_soft_dotted.h: Likewise.
20650         * lib/unictype/pr_space.h: Likewise.
20651         * lib/unictype/pr_titlecase.h: Likewise.
20652         * lib/unictype/pr_variation_selector.h: Likewise.
20653         * lib/unictype/pr_white_space.h: Likewise.
20654         * lib/unictype/sy_c_ident.h: Likewise.
20655         * lib/unictype/sy_c_whitespace.h: Likewise.
20656         * lib/unictype/sy_java_whitespace.h: Likewise.
20657         * modules/uni*/*: Bump version number of expected libunistring version.
20658         Reported by Simon Josefsson.
20659
20660 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20661
20662         useless-if-before-free: fix typo in --help and make the internal,
20663         automatic version date update process work once again.
20664         --help output contained a NUL character instead of the
20665         backslash-zero that was intended.  Also, the "must lie within
20666         the first 8 lines" line is on line 9, and hence not getting
20667         automatically updated.
20668         * build-aux/useless-if-before-free: Fix the former by adding a
20669         backslash, and the latter by condensing the three lines of what-it-does
20670         to a single line, leaving one line of slack for the future.
20671
20672 2011-01-09  Bruno Haible  <bruno@clisp.org>
20673
20674         uniwidth/width: Fix width of U+1D173..U+1D17A.
20675         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20676         symbolic_width, output_width_property_test): New functions.
20677         (main): Invoke output_nonspacing_property, output_width_property_test.
20678         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20679         U+1D173..U+1D17A.
20680         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20681         1.
20682         * modules/uniwidth/*: Bump version number of expected libunistring
20683         version.
20684         * modules/unilbrk/*: Likewise.
20685
20686 2011-01-08  Bruno Haible  <bruno@clisp.org>
20687
20688         uninorm tests: Preserve copyright of Unicode data file.
20689         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20690         Mention modifications.
20691
20692 2011-01-08  Bruno Haible  <bruno@clisp.org>
20693
20694         gen-uni-tables: Prepare for Unicode 5.2.0.
20695         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20696         (debug_output_lbp, output_lbp): Update.
20697
20698 2011-01-08  Bruno Haible  <bruno@clisp.org>
20699
20700         unilbrk: Clarify gen-uni-tables.c code.
20701         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20702         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20703         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20704
20705 2011-01-07  Bruno Haible  <bruno@clisp.org>
20706
20707         strtod: Restore errno when successfully parsing Infinity or NaN.
20708         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20709         restore the original errno.
20710
20711 2011-01-07  Bruno Haible  <bruno@clisp.org>
20712
20713         remove test: Avoid failure on HP-UX 11.
20714         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20715
20716 2011-01-07  Bruno Haible  <bruno@clisp.org>
20717
20718         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20719         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20720         error code.
20721
20722 2011-01-07  Pádraig Brady <P@draigBrady.com>
20723
20724         ignore-value: fixup comments, and add Eric Blake
20725         as an author since he rewrote the macros.
20726         * lib/ignore-value.h (ignore_value):  State that
20727         we now support aggregates.  Also specify exactly
20728         when the GCC warn_unused_result feature was added.
20729
20730 2011-01-06  Eric Blake  <eblake@redhat.com>
20731
20732         ignore-value: support aggregate types
20733         * lib/ignore-value.h (ignore_value): Provide separate gcc
20734         definition.
20735         * modules/ignore-value-tests: New test module.
20736         * tests/test-ignore-value.c: New test.
20737
20738         maint.mk: improve sc_prohibit_strcmp regex
20739         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20740         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20741         definition of STRNEQ.
20742
20743         signal: work around Haiku issue with SIGBUS
20744         * lib/siglist.h: Add comment.
20745         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20746         strsignal's favoring of SIGSEGV.
20747         * tests/test-signal.c (main): Avoid test failure.
20748         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20749         Reported by Scott McCreary.
20750
20751         maint.mk: add pre-release check to ensure submodule commits are public
20752         * top/maint.mk (public-submodule-commit): New rule.
20753         (submodule-checks): New variable.
20754         (alpha beta stable): Depend on the variable.
20755
20756 2011-01-05  Pádraig Brady <P@draigBrady.com>
20757         and Jim Meyering  <meyering@redhat.com>
20758
20759         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20760         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20761         (ATTRIBUTE_DEPRECATED): Define.
20762         (_ignore_case): New function.
20763         (ignore_value): New macro, to replace the old function.
20764         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20765         * modules/ignore-value (Depends-on): Add stdint.
20766
20767 2011-01-04  Eric Blake  <eblake@redhat.com>
20768
20769         doc: regenerate INSTALL
20770         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20771         @firstparagraphindent support, now that autoconf dropped it.
20772         (INSTALL_PRELUDE): Reinstate old macro.
20773         * doc/install.texi: Resync from autoconf.
20774         * doc/INSTALL: Reflect recent autoconf update.
20775         * doc/INSTALL.ISO: Likewise.
20776         * doc/INSTALL.UTF-8: Likewise.
20777         Reported by Karl Berry.
20778
20779 2011-01-04  Bruce Korb  <address@hidden>
20780
20781         git-version-gen: avoid a sub-shell
20782         * build-aux/git-version-gen: Redirect stderr in `...` via
20783         "exec 2>...", rather than via an added sub-shell.
20784
20785 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20786
20787         git-version-gen: use (...) rather than sh -c '...'
20788         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20789         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20790
20791 2011-01-03  Jim Meyering  <meyering@redhat.com>
20792
20793         git-version-gen: convert leading TABs to spaces
20794         * build-aux/git-version-gen: Expand leading TABs.
20795
20796         git-version-gen: handle failed "git rev-list"
20797         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20798         from git and proceeding as if it had succeeded but printed no SHA1
20799         checksums, suppress the diagnostic and handle the failure.
20800         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20801
20802         git-version-gen: include command name in one more diagnostic
20803         * build-aux/git-version-gen: When the required .tarball-version file
20804         was missing or unreadable, you might see the diagnostic from "cat",
20805         but no trace of the name of the invoking script.  Now, you still see
20806         the diagnostic from cat, but also get one from "git-version-gen: ".
20807         Inspired by a patch from Bruce Korb.
20808
20809         update-copyright: adjust test to match changed code
20810         * tests/test-update-copyright.sh: Change test's expected output
20811         to match new actual output.
20812
20813 2011-01-02  Bruno Haible  <bruno@clisp.org>
20814
20815         getlogin_r: Avoid test failure on HP-UX 11.
20816         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20817         ERANGE when the second argument is zero.
20818         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20819         portability problem.
20820
20821 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20822
20823         * build-aux/update-copyright: doc Simon's changes
20824
20825 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20826
20827         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20828         environment variable.
20829
20830 2011-01-02  Bruno Haible  <bruno@clisp.org>
20831
20832         unigbrk: Avoid gcc warnings.
20833         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20834         unused variable.
20835         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20836         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20837         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20838         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20839         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20840         Change type of first argument to 'const char *'.
20841         (main): Remove unused variable.
20842         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20843         type of first argument to 'const char *'.
20844         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20845         Likewise.
20846         (main): Change type of variable 's'.
20847         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20848         to 'int'.
20849
20850 2011-01-02  Bruno Haible  <bruno@clisp.org>
20851
20852         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20853         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20854         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20855         bug.
20856         * lib/pwrite.c: Undo 2010-12-31 patch.
20857         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20858
20859 2011-01-02  Bruno Haible  <bruno@clisp.org>
20860
20861         pread: Fix test whether it works.
20862         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20863
20864 2011-01-02  Bruno Haible  <bruno@clisp.org>
20865
20866         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20867         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20868         ends in "6". Don't require a specific month name. Try also the locale
20869         names found on HP-UX 11 and Solaris 7.
20870
20871 2011-01-02  Bruno Haible  <bruno@clisp.org>
20872
20873         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20874         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20875         C linkage.
20876         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20877
20878 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20879
20880         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20881         for consistency, since the "cluster" term is not used elsewhere.
20882         * lib/unigbrk.in.h: Update name.
20883         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20884         * lib/unigbrk/u16-grapheme-next.c: Update name.
20885         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20886         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20887         * lib/unigbrk/u32-grapheme-next.c: Update name.
20888         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20889         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20890         * lib/unigbrk/u8-grapheme-next.c: Update name.
20891         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20892         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20893         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20894         Suggested by Bruno Haible.
20895
20896 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20897
20898         Remove module 'u8-grapheme-len' as too redundant with
20899         'u8-grapheme-next'.
20900         * modules/unigbrk/u8-grapheme-len: Delete file.
20901         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20902         * lib/unigbrk.in.h: Remove prototype for deleted function.
20903         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20904         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20905
20906         Remove module 'u16-grapheme-len' as too redundant with
20907         'u16-grapheme-next'.
20908         * modules/unigbrk/u16-grapheme-len: Delete file.
20909         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20910         * lib/unigbrk.in.h: Remove prototype for deleted function.
20911         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20912         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20913
20914         Remove module 'u32-grapheme-len' as too redundant with
20915         'u32-grapheme-next'.
20916         * modules/unigbrk/u32-grapheme-len: Delete file.
20917         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20918         * lib/unigbrk.in.h: Remove prototype for deleted function.
20919         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20920         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20921
20922         Suggested by Bruno Haible.
20923
20924 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20925
20926         * unigbrk.in.h: Fix typo: "ben" => "been".
20927         Reported by Bruno Haible.
20928
20929 2011-01-01  Jim Meyering  <meyering@redhat.com>
20930
20931         maint: update almost all copyright ranges to include 2011
20932         Run the new "make update-copyright" rule.
20933
20934 2011-01-01  Jim Meyering  <meyering@redhat.com>
20935
20936         maint: update-copyright: exempt doc/INSTALL*
20937         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20938         since they are generated.  Suggested by Bruno Haible.
20939
20940 2011-01-01  Jim Meyering  <meyering@redhat.com>
20941
20942         maint: refine the update-copyright rule
20943         * Makefile (update-copyright): Also exclude any file that includes
20944         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20945         code that merely generates the comment.
20946
20947 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20948
20949         New module 'u8-grapheme-len'.
20950         * modules/unigbrk/u8-grapheme-len: New file.
20951         * modules/unigbrk/u8-grapheme-len-tests: New file.
20952         * lib/unigbrk.in.h: Add prototype for new function.
20953         * lib/unigbrk/u8-grapheme-len.c: New file.
20954         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20955
20956         New module 'u16-grapheme-len'.
20957         * modules/unigbrk/u16-grapheme-len: New file.
20958         * modules/unigbrk/u16-grapheme-len-tests: New file.
20959         * lib/unigbrk.in.h: Add prototype for new function.
20960         * lib/unigbrk/u16-grapheme-len.c: New file.
20961         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20962
20963         New module 'u32-grapheme-len'.
20964         * modules/unigbrk/u32-grapheme-len: New file.
20965         * modules/unigbrk/u32-grapheme-len-tests: New file.
20966         * lib/unigbrk.in.h: Add prototype for new function.
20967         * lib/unigbrk/u32-grapheme-len.c: New file.
20968         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20969
20970         New module 'u8-grapheme-next'.
20971         * modules/unigbrk/u8-grapheme-next: New file.
20972         * modules/unigbrk/u8-grapheme-next-tests: New file.
20973         * lib/unigbrk.in.h: Add prototype for new function.
20974         * lib/unigbrk/u8-grapheme-next.c: New file.
20975         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20976
20977         New module 'u16-grapheme-next'.
20978         * modules/unigbrk/u16-grapheme-next: New file.
20979         * modules/unigbrk/u16-grapheme-next-tests: New file.
20980         * lib/unigbrk.in.h: Add prototype for new function.
20981         * lib/unigbrk/u16-grapheme-next.c: New file.
20982         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20983
20984         New module 'u32-grapheme-next'.
20985         * modules/unigbrk/u32-grapheme-next: New file.
20986         * modules/unigbrk/u32-grapheme-next-tests: New file.
20987         * lib/unigbrk.in.h: Add prototype for new function.
20988         * lib/unigbrk/u32-grapheme-next.c: New file.
20989         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20990
20991         New module 'u8-grapheme-prev'.
20992         * modules/unigbrk/u8-grapheme-prev: New file.
20993         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20994         * lib/unigbrk.in.h: Add prototype for new function.
20995         * lib/unigbrk/u8-grapheme-prev.c: New file.
20996         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20997
20998         New module 'u16-grapheme-prev'.
20999         * modules/unigbrk/u16-grapheme-prev: New file.
21000         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21001         * lib/unigbrk.in.h: Add prototype for new function.
21002         * lib/unigbrk/u16-grapheme-prev.c: New file.
21003         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21004
21005         New module 'u32-grapheme-prev'.
21006         * modules/unigbrk/u32-grapheme-prev: New file.
21007         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21008         * lib/unigbrk.in.h: Add prototype for new function.
21009         * lib/unigbrk/u32-grapheme-prev.c: New file.
21010         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21011
21012         New module 'u8-grapheme-breaks'.
21013         * modules/unigbrk/u8-grapheme-breaks: New file.
21014         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21015         * lib/unigbrk.in.h: Add prototype for new function.
21016         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21017         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21018
21019         New module 'u16-grapheme-breaks'.
21020         * modules/unigbrk/u16-grapheme-breaks: New file.
21021         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21022         * lib/unigbrk.in.h: Add prototype for new function.
21023         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21024         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21025
21026         New module 'u32-grapheme-breaks'.
21027         * modules/unigbrk/u32-grapheme-breaks: New file.
21028         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21029         * lib/unigbrk.in.h: Add prototype for new function.
21030         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21031         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21032
21033         New module 'ulc-grapheme-breaks'.
21034         * modules/unigbrk/ulc-grapheme-breaks: New file.
21035         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21036         * m4/locale-ar.m4: New file.
21037         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21038         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21039         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21040
21041 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21042
21043         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21044         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21045         modified how this file was generated before I initially submitted
21046         the module, but failed to regenerate it.  This meant that several
21047         of the level2 entries were wrong.
21048         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21049         Remove the division-by-2 that is folded into the table now that
21050         gbrkprop.h has been regenerated properly.  Now -1 entries are
21051         handled correctly.
21052
21053         New module 'unigbrk/uc-gbrk-prop-tests'.
21054         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21055         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21056         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21057         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21058
21059 2011-01-01  Bruno Haible  <bruno@clisp.org>
21060
21061         Avoid use of hexadecimal escapes.
21062         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21063         instead of hexadecimal escapes.
21064
21065 2011-01-01  Jim Meyering  <meyering@redhat.com>
21066
21067         maint: new rule to update copyright year ranges
21068         * Makefile (update-copyright): New rule.
21069
21070         maint: indent with TABs in Makefile
21071         * Makefile: Expand leading sequences of spaces to TABs
21072
21073         version-etc: update the copyright year it reports
21074         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21075
21076 2010-12-31  Bruno Haible  <bruno@clisp.org>
21077
21078         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21079         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21080         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21081         zero.
21082
21083 2010-12-31  Bruno Haible  <bruno@clisp.org>
21084
21085         pwrite: Work around HP-UX 11.11 bug.
21086         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21087         works and set REPLACE_PWRITE if not.
21088         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21089         function.
21090         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21091
21092 2010-12-31  Bruno Haible  <bruno@clisp.org>
21093
21094         pread: Work around HP-UX 11 bugs.
21095         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21096         and set REPLACE_PREAD if not.
21097         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21098
21099 2010-12-31  Eric Blake  <eblake@redhat.com>
21100
21101         nl_langinfo: fix YESEXPR on Irix 6.5
21102         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21103         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21104         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21105         it.
21106
21107 2010-12-31  Bruno Haible  <bruno@clisp.org>
21108
21109         iconv: Document HP-UX 11 bug.
21110         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21111
21112 2010-12-31  Bruno Haible  <bruno@clisp.org>
21113
21114         ldexpl: Fix link error on HP-UX 11.
21115         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21116         LDEXPL_LIBM, using $ISNANL_LIBM.
21117
21118 2010-12-31  Eric Blake  <eblake@redhat.com>
21119
21120         ftello: avoid compilation failure with SunStudio c89
21121         * lib/ftello.c (ftello): Use lseek, not llseek.
21122
21123         tests: avoid failing coreutils tests on cygwin
21124         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21125         (create_exe_shims_): Return 0 when skipping.
21126
21127 2010-12-31  Bruno Haible  <bruno@clisp.org>
21128
21129         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21130         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21131
21132 2010-12-31  Bruno Haible  <bruno@clisp.org>
21133
21134         waitpid: Fix link error in C++ mode.
21135         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21136
21137 2010-12-31  Bruno Haible  <bruno@clisp.org>
21138
21139         isnan: Use GCC built-ins when possible.
21140         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21141         __builtin_isnan.
21142         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21143         (isnan): Define using GCC built-ins for GCC >= 4.0.
21144
21145 2010-12-31  Bruno Haible  <bruno@clisp.org>
21146
21147         isnand: Fix mistake.
21148         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21149         __builtin_isnand.
21150
21151 2010-12-31  Bruno Haible  <bruno@clisp.org>
21152
21153         open: Avoid C++ error on HP-UX 11.
21154         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21155
21156 2010-12-31  Bruno Haible  <bruno@clisp.org>
21157
21158         time_r: Add missing declarations on HP-UX 11.
21159         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21160         instead of HAVE_LOCALTIME_R.
21161         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21162         HAVE_LOCALTIME_R always.
21163         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21164         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21165         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21166         HAVE_LOCALTIME_R.
21167         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21168         * doc/posix-functions/localtime_r.texi: Likewise.
21169
21170 2010-12-29  Eric Blake  <eblake@redhat.com>
21171
21172         mountlist: tweak previous commit
21173         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21174         Reported by Paul Eggert.
21175
21176         mountlist: fix local drive detection on cygwin
21177         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21178         that works for cygwin.
21179
21180 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21181
21182         ftoastr, snprintf: ftoastr + snprintf module
21183         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21184         since the snprintf module now should be good enough here.
21185         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21186         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21187         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21188         GNULIB_SNPRINTF only for the test directory, and the latter
21189         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21190         seems to suffice by itself.
21191
21192 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21193
21194         alloca: one step towards thread-safety
21195         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21196         need for a static variable.  All callers changed.  This does not
21197         make the alloca replacement thread-safe, but it's one step.
21198
21199         tests: minor indenting change
21200         * tests/init.sh: Sync from coreutils housekeeping patch
21201         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21202         to keep lines within 80 columns.
21203
21204 2010-12-28  Jim Meyering  <meyering@redhat.com>
21205
21206         regex: don't infloop on persistent failing calloc
21207         * lib/regexec.c (build_trtable): Return failure indication upon
21208         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21209         In glibc, this was fixed for version 2.13:
21210         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21211
21212 2010-12-28  Bruno Haible  <bruno@clisp.org>
21213             Paul Eggert <eggert@cs.ucla.edu>
21214
21215         linkat: Make implementation robust against system behaviour variations.
21216         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21217         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21218         way, and to -2 if it needs a generic runtime test.
21219         * lib/linkat.c (solaris_optimized_link_immediate,
21220         solaris_optimized_link_follow): New functions.
21221         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21222         (check_same_link): Use it.
21223
21224 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21225
21226         New module 'unigbrk/base'.
21227         * modules/unigbrk/base: New file.
21228         * lib/unigbrk.in.h: New file.
21229
21230         New module 'unigbrk/uc-gbrk-prop'.
21231         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21232         * modules/unigbrk/uc-gbrk-prop: New file.
21233         * lib/unigbrk/gbrkprop.h: New file.
21234         * lib/unigbrk/uc-gbrk-prop.c: New file.
21235
21236         New module 'unigbrk/uc-is-grapheme-break'.
21237         * modules/unigbrk/uc-is-grapheme-break: New file.
21238         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21239         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21240         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21241         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21242         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21243
21244         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21245
21246 2010-12-27  Bruno Haible  <bruno@clisp.org>
21247
21248         linkat test: Avoid failure on Solaris 11 2010-11.
21249         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21250
21251 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21252
21253         utimens: work around glibc rounding bug on more platforms
21254         * lib/utimens.c (fdutimens): Work around rounding bug even if
21255         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21257
21258 2010-12-27  Bruno Haible  <bruno@clisp.org>
21259
21260         select tests: Improve comments.
21261         * tests/test-select.c (do_select): Add comments.
21262
21263 2010-12-27  Bruno Haible  <bruno@clisp.org>
21264
21265         select tests: Safer way of handling timeout.
21266         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21267         at every invocation.
21268
21269 2010-12-27  Bruno Haible  <bruno@clisp.org>
21270
21271         select tests: Use 'bool' where appropriate.
21272         * tests/test-select.c (connect_to_socket): Change argument type to
21273         'bool'.
21274
21275 2010-12-27  Bruno Haible  <bruno@clisp.org>
21276
21277         select tests: Use existing modules.
21278         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21279         (configure.ac): Don't test for unistd.h.
21280         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21281         declared in <unistd.h>.
21282
21283 2010-12-27  Bruno Haible  <bruno@clisp.org>
21284
21285         mbrtowc: Work around a Solaris 7 bug.
21286         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21287         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21288         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21289         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21290         MBRTOWC_NULL_ARG1_BUG.
21291         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21292         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21293         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21294         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21295
21296 2010-12-27  Jim Meyering  <meyering@redhat.com>
21297
21298         read-file.c: tweak syntax
21299         * lib/read-file.c (fread_file): Remove space after "*" in function
21300         definitions.
21301
21302 2010-12-27  Bruno Haible  <bruno@clisp.org>
21303
21304         times test: Avoid gcc warnings on OSF/1.
21305         * tests/test-times.c (main): Cast printf arguments from clock_t to
21306         'long int'.
21307
21308 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21309
21310         utimens: work around glibc rounding bug on older Linux kernels
21311         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21312         on Linux with a glibc whose utimes might not work, then work
21313         around a longstanding glibc bug involving rounding rather than
21314         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21315         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21316
21317 2010-12-26  Bruno Haible  <bruno@clisp.org>
21318
21319         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21320         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21321         _GL_CXXALIAS_SYS.
21322         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21323
21324 2010-12-26  Bruno Haible  <bruno@clisp.org>
21325
21326         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21327         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21328         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21329         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21330         looking for the declaration.
21331         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21332         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21333         problem.
21334         * doc/posix-functions/inet_pton.texi: Likewise.
21335
21336 2010-12-26  Bruno Haible  <bruno@clisp.org>
21337
21338         arpa_inet: Use the common idioms with C++ support.
21339         * lib/arpa_inet.in.h: Include c++defs.h.
21340         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21341         support.
21342         * modules/arpa_inet (Depends-on): Add c++defs.
21343         (Makefile.am): Substitute the contents of c++defs.h.
21344         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21345         * modules/arpa_inet-c++-tests: New file.
21346         * tests/test-arpa_inet-c++.cc: New file.
21347
21348 2010-12-25  Bruno Haible  <bruno@clisp.org>
21349
21350         Fix more C++ link errors on Solaris 8.
21351         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21352         $(LIB_EACCESS).
21353         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21354         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21355         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21356         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21357         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21358
21359 2010-12-25  Bruno Haible  <bruno@clisp.org>
21360
21361         printf-posix: Fix link error when a non-GCC compiler is used.
21362         * lib/stdio.in.h (printf): When not using GCC, override printf
21363         correctly.
21364         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21365
21366 2010-12-25  Bruno Haible  <bruno@clisp.org>
21367
21368         strerror_r-posix: Update doc.
21369         * doc/posix-functions/strerror_r.texi: Update doc about the return
21370         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21371
21372 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21373
21374         utimens: simplify the logic of the previous change
21375         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21376         This should not affect whether the test succeeds or fails.
21377
21378         utimens: configure better on hosts with NFS clock skew
21379         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21380         uses the clock of the local host.  It might use the clock of the
21381         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21382         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21383
21384 2010-12-25  Bruno Haible  <bruno@clisp.org>
21385
21386         ptsname test: Avoid failure on Solaris.
21387         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21388         open a pseudo-terminal; don't use BSD-style ptys.
21389         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21390
21391 2010-12-25  Bruno Haible  <bruno@clisp.org>
21392
21393         ptsname: Avoid ERANGE failure on some systems.
21394         * lib/ptsname.c (buffer): Increase size.
21395
21396 2010-12-25  Bruno Haible  <bruno@clisp.org>
21397
21398         rename, renameat: Avoid test failures at NFS mounted locations.
21399         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21400         so that subsequent mkdir calls succeed.
21401
21402 2010-12-25  Bruno Haible  <bruno@clisp.org>
21403
21404         iswblank: Fix C++ link error on Solaris 8.
21405         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21406         _GL_FUNCDECL_SYS.
21407
21408 2010-12-25  Bruno Haible  <bruno@clisp.org>
21409
21410         unistd: Fix C++ link error on Solaris 8.
21411         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21412
21413 2010-12-25  Bruno Haible  <bruno@clisp.org>
21414
21415         readlink doc: Mention an old glibc bug.
21416         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21417
21418 2010-12-25  Bruno Haible  <bruno@clisp.org>
21419
21420         fcntl-h: Fix for use of C++ on glibc systems.
21421         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21422         also on glibc systems in C++ mode.
21423         Reported by Gary V. Vaughan <gary@gnu.org>.
21424
21425 2010-12-25  Bruno Haible  <bruno@clisp.org>
21426
21427         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21428         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21429
21430 2010-12-25  Bruno Haible  <bruno@clisp.org>
21431
21432         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21433         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21434         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21435         test whether truncl works according to ISO C 99 with IEC 60559.
21436         * m4/truncl-ieee.m4: New file.
21437         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21438         m4/signbit.m4.
21439         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21440
21441 2010-12-25  Bruno Haible  <bruno@clisp.org>
21442
21443         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21444         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21445         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21446         test whether ceill works according to ISO C 99 with IEC 60559.
21447         * m4/ceill-ieee.m4: New file.
21448         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21449         m4/signbit.m4.
21450         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21451
21452 2010-12-25  Bruno Haible  <bruno@clisp.org>
21453
21454         Ensure all prerequisites of <wchar.h> are included.
21455         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21456         before <wchar.h>.
21457         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21458         gl_MBRLEN_NUL_RETVAL): Likewise.
21459         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21460         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21461         AC_FUNC_MBRTOWC): Likewise.
21462         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21463         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21464         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21465         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21466         Likewise.
21467         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21468         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21469         (gl_WCHAR_H): Improve comments.
21470         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21471
21472 2010-12-25  Bruno Haible  <bruno@clisp.org>
21473
21474         strtok_r: Fix C syntax error in autoconf macro.
21475         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21476         characters in test program.
21477
21478 2010-12-24  Bruno Haible  <bruno@clisp.org>
21479
21480         ceil, trunc, round: Fix gcc warnings.
21481         * lib/ceil.c (MIN): Undefine before redefining.
21482         * lib/trunc.c (MIN): Likewise.
21483         * lib/round.c (MIN): Likewise.
21484         Include <math.h> first.
21485
21486 2010-12-24  Bruno Haible  <bruno@clisp.org>
21487
21488         select tests: Avoid failures on OSF/1 5.1.
21489         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21490         failure of closing the last socket; it may fail with ECONNRESET.
21491
21492 2010-12-24  Eric Blake  <eblake@redhat.com>
21493
21494         stdint: avoid HP-UX 10.20 preprocessor bug
21495         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21496         than #if.
21497         * tests/test-floor2.c (main): Likewise.
21498         Reported by Peter O'Gorman.
21499
21500         pipe: make obsoletion transition easier
21501         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21502         * modules/pipe (Files): Include revived file.
21503         (Include): Drop reference, to mirror getdate's behavior.
21504
21505 2010-12-24  Bruno Haible  <bruno@clisp.org>
21506
21507         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21508         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21509         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21510         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21511
21512 2010-12-24  Bruno Haible  <bruno@clisp.org>
21513
21514         gethostname: Ensure declaration on NonStop Kernel.
21515         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21516         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21517
21518 2010-12-24  Bruno Haible  <bruno@clisp.org>
21519
21520         sys_select: Ensure all necessary types on NonStop Kernel.
21521         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21522         include <sys/time.h>.
21523         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21524         NonStop Kernel.
21525         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21526
21527 2010-12-24  Bruno Haible  <bruno@clisp.org>
21528
21529         sys_select: Remove unneeded include.
21530         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21531         have <sys/select.h>.
21532
21533 2010-12-24  Bruno Haible  <bruno@clisp.org>
21534
21535         gethostname: Provide a fallback for HOST_NAME_MAX.
21536         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21537         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21538         instead.
21539         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21540
21541 2010-12-24  Bruno Haible  <bruno@clisp.org>
21542
21543         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21544         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21545         (SA_RESTART): Likewise.
21546         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21547
21548 2010-12-24  Bruno Haible  <bruno@clisp.org>
21549
21550         signal: Define NSIG.
21551         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21552         * tests/test-signal.c (nsig): New variable.
21553         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21554
21555 2010-12-24  Bruno Haible  <bruno@clisp.org>
21556
21557         rename, renameat: Avoid test failures on OSF/1 5.1.
21558         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21559         alternative error codes.
21560         * tests/test-renameat.c (main): Likewise.
21561
21562 2010-12-24  Bruno Haible  <bruno@clisp.org>
21563
21564         *printf: Detect large precisions bug on Solaris 10/SPARC.
21565         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21566         by Paul Eggert.
21567         * tests/test-snprintf-posix.h (test_function): Add this test code here
21568         too.
21569         * tests/test-sprintf-posix.h (test_function): Likewise.
21570         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21571         * tests/test-vasprintf-posix.c (test_function): Likewise.
21572         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21573         around by gnulib.
21574         * doc/posix-functions/printf.texi: Likewise.
21575         * doc/posix-functions/snprintf.texi: Likewise.
21576         * doc/posix-functions/sprintf.texi: Likewise.
21577         * doc/posix-functions/vfprintf.texi: Likewise.
21578         * doc/posix-functions/vprintf.texi: Likewise.
21579         * doc/posix-functions/vsnprintf.texi: Likewise.
21580         * doc/posix-functions/vsprintf.texi: Likewise.
21581         * doc/posix-functions/dprintf.texi: Undo last commit.
21582         * doc/posix-functions/vdprintf.texi: Likewise.
21583
21584 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21585
21586         tests: port test-fdutimensat.c to Solaris 8
21587         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21588         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21589         On Solaris 8, it fails with errno == ENOSYS, because there is no
21590         futimens (so it can't use the fd), and there is no lutimens (so it
21591         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21592
21593         vsnprintf: make more consistent with snprintf; doc fixes
21594
21595         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21596         the byte count return problem was promoted from the snprintf-posix
21597         to the snprintf module.
21598         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21599         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21600         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21601         * tests/test-snprintf.c (main): Check the byte count returned.
21602         * tests/test-vsnprintf.c (main): Likewise.
21603
21604 2010-12-23  Eric Blake  <eblake@redhat.com>
21605
21606         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21607         * modules/sigpipe (License): Relax license.
21608
21609 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21610
21611         doc: document Solaris printf bug with large float precisions
21612         * doc/posix-functions/dprintf.texi (dprintf):
21613         * doc/posix-functions/fprintf.texi (fprintf):
21614         * doc/posix-functions/printf.texi (printf):
21615         * doc/posix-functions/snprintf.texi (snprintf):
21616         * doc/posix-functions/sprintf.texi (sprintf):
21617         * doc/posix-functions/vdprintf.texi (vdprintf):
21618         * doc/posix-functions/vfprintf.texi (vfprintf):
21619         * doc/posix-functions/vprintf.texi (vprintf):
21620         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21621         * doc/posix-functions/vsprintf.texi (vsprintf):
21622         Mention that these functions mishandle large floating point
21623         precisions on Solaris 10.  The same bug is also present in Solaris
21624         8, and I assume earlier.  This causes "cd gnulib-tests; make
21625         check" to fail on Solaris 8 (and I assume, later) when building
21626         the latest coreutils, in test-vasprintf-posix's call to
21627         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21628         the wide flavors (e.g., wprintf) so this patch just updates the
21629         documentation for the narrow ones.
21630
21631         test-posixtm.c: add two tests
21632         * tests/test-posixtm.c: Add two tests, to highlight the
21633         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21634         around this bug; this is merely to document it.
21635
21636 2010-12-22  Bruno Haible  <bruno@clisp.org>
21637
21638         getlogin_r: Work around portability problem on OSF/1.
21639         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21640         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21641         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21642         test for a truncated result.
21643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21644         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21645         * modules/getlogin_r (Depends-on): Add memchr.
21646         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21647
21648 2010-12-22  Bruno Haible  <bruno@clisp.org>
21649
21650         ptsname: Avoid test failure on OSF/1 5.1.
21651         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21652         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21653         (same_slave): New function.
21654         (main): Use it to compare ptsname's result with the expected file name.
21655
21656 2010-12-22  Bruno Haible  <bruno@clisp.org>
21657
21658         Port extended stdio modules to HP NonStop Kernel.
21659         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21660         macros.
21661         * lib/fbufmode.c: Update comments.
21662         * lib/fflush.c: Likewise.
21663         * lib/fpurge.c: Likewise.
21664         * lib/freadable.c: Likewise.
21665         * lib/freadahead.c: Likewise.
21666         * lib/freading.c: Likewise.
21667         * lib/freadptr.c: Likewise.
21668         * lib/freadseek.c: Likewise.
21669         * lib/fseeko.c: Likewise.
21670         * lib/fseterr.c: Likewise.
21671         * lib/fwritable.c: Likewise.
21672         * lib/fwriting.c: Likewise.
21673         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21674
21675 2010-12-22  Bruno Haible  <bruno@clisp.org>
21676
21677         ttyname_r: Work around bug on OSF/1 5.1.
21678         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21679         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21680         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21681         present.
21682         * lib/ttyname_r.c (ttyname_r): Update comments.
21683
21684 2010-12-22  Bruno Haible  <bruno@clisp.org>
21685
21686         round: Implement result sign according to IEEE 754.
21687         * lib/round.c (MIN, MINUS_ZERO): New macros.
21688         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21689         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21690         * tests/test-round-ieee.c (main): Likewise.
21691         * tests/test-roundl-ieee.c (main): Likewise.
21692
21693         trunc: Implement result sign according to IEEE 754.
21694         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21695         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21696         * tests/test-trunc2.c: Include minus-zero.h.
21697         (MINUS_ZERO): New macro.
21698         (trunc_reference): Keep in sync with lib/trunc.c.
21699         * tests/test-truncf2.c: Include minus-zero.h.
21700         (MINUS_ZERO): New macro.
21701         (truncf_reference): Keep in sync with lib/trunc.c.
21702         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21703         * tests/test-trunc-ieee.c (main): Likewise.
21704         * tests/test-truncl-ieee.c (main): Likewise.
21705
21706         ceil: Implement result sign according to IEEE 754.
21707         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21708         (FUNC): Return -0.0 for -1 < x < 0.
21709         * tests/test-ceil2.c: Include minus-zero.h.
21710         (MINUS_ZERO): New macro.
21711         (ceil_reference): Keep in sync with lib/ceil.c.
21712         * tests/test-ceilf2.c: Include minus-zero.h.
21713         (MINUS_ZERO): New macro.
21714         (ceilf_reference): Keep in sync with lib/ceil.c.
21715         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21716         * tests/test-ceil-ieee.c (main): Likewise.
21717         * tests/test-ceill-ieee.c (main): Likewise.
21718
21719         floor: Implement result sign according to IEEE 754.
21720         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21721         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21722         * tests/test-floorf2.c (floorf_reference): Likewise.
21723         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21724         * tests/test-floor-ieee.c (main): Likewise.
21725         * tests/test-floorl-ieee.c (main): Likewise.
21726
21727 2010-12-22  Bruno Haible  <bruno@clisp.org>
21728
21729         getaddrinfo: Update doc.
21730         * doc/posix-functions/gai_strerror.texi: Return type is also different
21731         on AIX and HP-UX.
21732
21733 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21734
21735         getaddrinfo, inet_ntop: Update doc for Solaris.
21736         * doc/posix-functions/gai_strerror.texi: Return type is also an
21737         issue on Solaris 9 and earlier.
21738         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21739         on Solaris 10 and earlier.
21740
21741 2010-12-21  Bruno Haible  <bruno@clisp.org>
21742
21743         New module 'roundl-ieee'.
21744         * modules/roundl-ieee: New file.
21745         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21746         test whether roundl works according to ISO C 99 with IEC 60559.
21747         * m4/roundl-ieee.m4: New file.
21748         * modules/roundl-ieee-tests: New file.
21749         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21750         * tests/test-roundl.c (main): Remove signbit tests.
21751         * modules/roundl-tests (Depends-on): Remove signbit.
21752         * doc/posix-functions/roundl.texi: Mention the new module.
21753
21754 2010-12-21  Bruno Haible  <bruno@clisp.org>
21755
21756         New module 'truncl-ieee'.
21757         * modules/truncl-ieee: New file.
21758         * modules/truncl-ieee-tests: New file.
21759         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21760         * tests/test-truncl.c (main): Remove signbit tests.
21761         * modules/truncl-tests (Depends-on): Remove signbit.
21762         * doc/posix-functions/truncl.texi: Mention the new module.
21763
21764 2010-12-21  Bruno Haible  <bruno@clisp.org>
21765
21766         New module 'ceill-ieee'.
21767         * modules/ceill-ieee: New file.
21768         * modules/ceill-ieee-tests: New file.
21769         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21770         * tests/test-ceill.c (main): Remove signbit tests.
21771         * modules/ceill-tests (Depends-on): Remove signbit.
21772         * doc/posix-functions/ceill.texi: Mention the new module.
21773
21774 2010-12-21  Bruno Haible  <bruno@clisp.org>
21775
21776         New module 'floorl-ieee'.
21777         * modules/floorl-ieee: New file.
21778         * modules/floorl-ieee-tests: New file.
21779         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21780         * tests/test-floorl.c (main): Remove signbit tests.
21781         * modules/floorl-tests (Depends-on): Remove signbit.
21782         * doc/posix-functions/floorl.texi: Mention the new module.
21783
21784 2010-12-21  Bruno Haible  <bruno@clisp.org>
21785
21786         New module 'round-ieee'.
21787         * modules/round-ieee: New file.
21788         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21789         whether round works according to ISO C 99 with IEC 60559.
21790         * m4/round-ieee.m4: New file.
21791         * modules/round-ieee-tests: New file.
21792         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21793         * tests/test-round1.c (main): Remove signbit tests.
21794         * modules/round-tests (Depends-on): Remove 'signbit'.
21795         * doc/posix-functions/round.texi: Mention the new module.
21796
21797 2010-12-21  Bruno Haible  <bruno@clisp.org>
21798
21799         New module 'trunc-ieee'.
21800         * modules/trunc-ieee: New file.
21801         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21802         whether trunc works according to ISO C 99 with IEC 60559.
21803         * m4/trunc-ieee.m4: New file.
21804         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21806         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21807         * modules/trunc-ieee-tests: New file.
21808         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21809         * tests/test-trunc1.c (main): Remove signbit tests.
21810         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21811         * doc/posix-functions/trunc.texi: Mention the new module.
21812
21813 2010-12-21  Bruno Haible  <bruno@clisp.org>
21814
21815         New module 'ceil-ieee'.
21816         * modules/ceil-ieee: New file.
21817         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21818         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21819         ISO C 99 with IEC 60559.
21820         * m4/ceil-ieee.m4: New file.
21821         * modules/ceil (Files): Add lib/ceil.c.
21822         (Depends-on): Add 'float'.
21823         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21824         * lib/math.in.h (ceil): New declaration.
21825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21826         REPLACE_CEIL.
21827         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21828         * modules/ceil-ieee-tests: New file.
21829         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21830         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21831         * doc/posix-functions/ceil.texi: Mention the new module.
21832
21833 2010-12-21  Bruno Haible  <bruno@clisp.org>
21834
21835         New module 'floor-ieee'.
21836         * modules/floor-ieee: New file.
21837         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21838         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21839         ISO C 99 with IEC 60559.
21840         * m4/floor-ieee.m4: New file.
21841         * modules/floor (Files): Add lib/floor.c.
21842         (Depends-on): Add 'float'.
21843         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21844         * lib/math.in.h (floor): New declaration.
21845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21846         REPLACE_FLOOR.
21847         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21848         * modules/floor-ieee-tests: New file.
21849         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21850         * tests/test-math-c++.cc: Check the signature of 'floor'.
21851         * doc/posix-functions/floor.texi: Mention the new module.
21852
21853 2010-12-21  Bruno Haible  <bruno@clisp.org>
21854
21855         New module 'roundf-ieee'.
21856         * modules/roundf-ieee: New file.
21857         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21858         test whether roundf works according to ISO C 99 with IEC 60559.
21859         * m4/roundf-ieee.m4: New file.
21860         * modules/roundf-ieee-tests: New file.
21861         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21862         * tests/test-roundf1.c (main): Remove signbit tests.
21863         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21864         * doc/posix-functions/roundf.texi: Mention the new module.
21865
21866 2010-12-21  Bruno Haible  <bruno@clisp.org>
21867
21868         New module 'truncf-ieee'.
21869         * modules/truncf-ieee: New file.
21870         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21871         test whether truncf works according to ISO C 99 with IEC 60559.
21872         * m4/truncf-ieee.m4: New file.
21873         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21875         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21876         * modules/truncf-ieee-tests: New file.
21877         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21878         * tests/test-truncf1.c (main): Remove signbit tests.
21879         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21880         * doc/posix-functions/truncf.texi: Mention the new module.
21881
21882 2010-12-21  Bruno Haible  <bruno@clisp.org>
21883
21884         New module 'ceilf-ieee'.
21885         * modules/ceilf-ieee: New file.
21886         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21887         test whether ceilf works according to ISO C 99 with IEC 60559.
21888         * m4/ceilf-ieee.m4: New file.
21889         * modules/ceilf-ieee-tests: New file.
21890         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21891         * tests/test-ceilf1.c (main): Remove signbit tests.
21892         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21893         * doc/posix-functions/ceilf.texi: Mention the new module.
21894
21895 2010-12-21  Bruno Haible  <bruno@clisp.org>
21896
21897         New module 'floorf-ieee'.
21898         * modules/floorf-ieee: New file.
21899         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21900         test whether floorf works according to ISO C 99 with IEC 60559.
21901         * m4/floorf-ieee.m4: New file.
21902         * modules/floorf-ieee-tests: New file.
21903         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21904         * tests/test-floorf1.c (main): Remove signbit tests.
21905         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21906         * doc/posix-functions/floorf.texi: Mention the new module.
21907
21908 2010-12-21  Bruno Haible  <bruno@clisp.org>
21909
21910         Support for minus zero in autoconf macros.
21911         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21912         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21913         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21914         * tests/minus-zero.h: Update comments.
21915
21916 2010-12-21  Bruno Haible  <bruno@clisp.org>
21917
21918         Tests for module 'ceil'.
21919         * modules/ceil-tests: New file.
21920         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21921         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21922
21923 2010-12-21  Bruno Haible  <bruno@clisp.org>
21924
21925         Tests for module 'floor'.
21926         * modules/floor-tests: New file.
21927         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21928         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21929
21930 2010-12-21  Bruno Haible  <bruno@clisp.org>
21931
21932         math: Fix indentation.
21933         * lib/math.in.h (floorf): Fix indentation.
21934
21935 2010-12-21  Bruno Haible  <bruno@clisp.org>
21936
21937         Fix cross-compilation guesses on Solaris.
21938         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21939         not match "solaris2.10".
21940         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21941         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21942         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21943
21944 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21945
21946         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21947         This fixes a problem observed with the latest coreutils snapshot
21948         that caused a test to fail on Solaris 8.  src/csplit.c's call
21949         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21950         earlier, instead of returning the number of bytes that would have
21951         been generated; this causes csplit to incorrectly report memory
21952         exhaustion.
21953         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21954         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21955         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21956         comments to match.
21957         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21958         Fix typo in matching older versions of Solaris: "solaris2.10"
21959         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21960         only for guessing while cross-compiling.
21961         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21962
21963 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21964
21965         ftoastr: fix comment again
21966         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21967         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21968         Also, simplify example a bit by using flags = 0.
21969
21970 2010-12-20  Bruno Haible  <bruno@clisp.org>
21971
21972         round*, trunc*: Update documentation regarding glibc.
21973         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21974         * doc/posix-functions/round.texi: Likewise.
21975         * doc/posix-functions/roundl.texi: Likewise.
21976         * doc/posix-functions/truncf.texi: Likewise.
21977         * doc/posix-functions/trunc.texi: Likewise.
21978         * doc/posix-functions/truncl.texi: Likewise.
21979
21980 2010-12-20  Bruno Haible  <bruno@clisp.org>
21981
21982         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21983         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21984         * doc/posix-functions/round.texi: Likewise.
21985         * doc/posix-functions/roundl.texi: Likewise.
21986
21987 2010-12-20  Bruno Haible  <bruno@clisp.org>
21988
21989         ttyname_r: Add missing declaration on HP-UX 11.
21990         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21991         HAVE_TTYNAME_R.
21992         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21993         declared. Set HAVE_TTYNAME_R always.
21994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21995         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21996         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21997         HAVE_TTYNAME_R.
21998         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21999
22000 2010-12-20  Bruno Haible  <bruno@clisp.org>
22001
22002         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22003         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22004         * doc/posix-functions/getlogin_r.texi: Likewise.
22005         * tests/test-getlogin.c: Include <errno.h>.
22006         (main): Avoid test failure on HP-UX 11.11.
22007         * tests/test-getlogin_r.c (main): Likewise.
22008
22009 2010-12-20  Bruno Haible  <bruno@clisp.org>
22010
22011         getlogin_r: Add missing declaration on HP-UX 11.
22012         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22013         declared also when it exists as a function.
22014         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22015
22016 2010-12-20  Bruno Haible  <bruno@clisp.org>
22017
22018         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22019         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22020         through wcrtomb.
22021
22022 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22023
22024         ftoastr: fix comment
22025         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22026         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22027
22028 2010-12-19  Bruno Haible  <bruno@clisp.org>
22029
22030         isnan: Ensure it is a macro.
22031         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22032         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22033         Solaris.
22034
22035 2010-12-19  Bruno Haible  <bruno@clisp.org>
22036
22037         ldexpl test: Fix link error on OSF/1 5.1.
22038         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22039
22040 2010-12-19  Bruno Haible  <bruno@clisp.org>
22041
22042         wctype: Make it work in C++ mode on OSF/1 5.1.
22043         * lib/wctype.in.h (iswblank): Declare but not define here.
22044         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22045         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22046         * modules/wctype (Files): Add lib/iswblank.c.
22047
22048 2010-12-19  Bruno Haible  <bruno@clisp.org>
22049
22050         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22051         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22052         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22053
22054 2010-12-19  Bruno Haible  <bruno@clisp.org>
22055
22056         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22057         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22058         _POSIX_PII_SOCKET.
22059         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22060         * doc/posix-functions/recvfrom.texi: Likewise.
22061         * doc/posix-functions/send.texi: Likewise.
22062         * doc/posix-functions/sendto.texi: Likewise.
22063
22064 2010-12-19  Bruno Haible  <bruno@clisp.org>
22065
22066         tcgetsid: Add missing declaration on OSF/1 5.1.
22067         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22068         HAVE_TCGETSID.
22069         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22070         Don't set HAVE_TCGETSID.
22071         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22072         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22073         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22074         HAVE_TCGETSID.
22075         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22076
22077 2010-12-19  Bruno Haible  <bruno@clisp.org>
22078
22079         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22080         * lib/stdio.in.h: During the include_next statement, let recursive
22081         includes of this file include only the system header file.
22082
22083 2010-12-19  Bruno Haible  <bruno@clisp.org>
22084
22085         iconv_open: Fix regression from 2010-12-04.
22086         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22087         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22088
22089 2010-12-19  Bruno Haible  <bruno@clisp.org>
22090
22091         stdbool test: Avoid a gcc warning.
22092         * tests/test-stdbool.c (main): Fail if e1 is false.
22093         Reported by Jim Meyering.
22094
22095 2010-12-19  Jim Meyering  <meyering@redhat.com>
22096
22097         setenv: restore to working order
22098         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22099         mistakenly removed.
22100         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22101         HAVE_SETENV.
22102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22103         HAVE_SETENV.
22104
22105 2010-12-19  Bruno Haible  <bruno@clisp.org>
22106
22107         Document some different function declarations on OSF/1 5.1.
22108         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22109         * doc/posix-functions/inet_ntop.texi: Likewise.
22110         * doc/posix-functions/gethostname.texi: Likewise.
22111         * lib/unistd.in.h (gethostname): Update comment.
22112
22113 2010-12-19  Bruno Haible  <bruno@clisp.org>
22114
22115         doc: Mention vasprintf-posix module.
22116         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22117         the 'vasprintf-posix' module.
22118         * doc/glibc-functions/vasprintf.texi: Likewise.
22119
22120 2010-12-19  Bruno Haible  <bruno@clisp.org>
22121
22122         unsetenv: Add missing declaration on OSF/1 5.1.
22123         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22124         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22125         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22127         not HAVE_UNSETENV.
22128         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22129         HAVE_UNSETENV.
22130         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22131
22132 2010-12-19  Bruno Haible  <bruno@clisp.org>
22133
22134         setenv: Add missing declaration on OSF/1 5.1.
22135         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22136         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22137         declared. Don't set HAVE_SETENV.
22138         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22139         not HAVE_SETENV.
22140         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22141         HAVE_SETENV.
22142         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22143
22144 2010-12-19  Bruno Haible  <bruno@clisp.org>
22145
22146         nl_langinfo tests: Avoid gcc warning.
22147         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22148
22149 2010-12-19  Bruno Haible  <bruno@clisp.org>
22150
22151         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22152         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22153         _GL_CXXALIAS_SYS.
22154
22155 2010-12-19  Bruno Haible  <bruno@clisp.org>
22156
22157         stdbool: Relax test.
22158         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22159         address to 'bool' work in static initializer, for compilers other than
22160         GCC.
22161
22162 2010-12-19  Bruno Haible  <bruno@clisp.org>
22163
22164         ftello: Add missing declaration on OSF/1 5.1.
22165         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22166         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22167         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22168         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22169         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22170
22171 2010-12-19  Bruno Haible  <bruno@clisp.org>
22172
22173         fseeko: Add missing declaration on OSF/1 5.1.
22174         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22175         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22177         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22178         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22179
22180 2010-12-19  Bruno Haible  <bruno@clisp.org>
22181
22182         fchdir: Add missing declaration on OSF/1 5.1.
22183         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22184         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22186         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22187         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22188
22189 2010-12-19  Bruno Haible  <bruno@clisp.org>
22190
22191         relocatable-prog-wrapper: Separate from relocatable-prog.
22192         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22193         uninstall-relocwrapper rule here.
22194         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22195         Reported by Ian Beckwith <ianb@erislabs.net>.
22196
22197 2010-12-19  Bruno Haible  <bruno@clisp.org>
22198
22199         unistr/u8-mbsnlen: Add missing dependency.
22200         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22201         Reported by Ian Beckwith <ianb@erislabs.net>.
22202
22203 2010-12-19  Bruno Haible  <bruno@clisp.org>
22204
22205         iconv: Make it possible again to use this module without 'iconv-h'.
22206         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22207         if it is not defined.
22208         Reported by Ian Beckwith <ianb@erislabs.net>.
22209
22210 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22211
22212         acl: port to Solaris 8 when copying from tmpfs to ufs
22213         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22214         error number.  Problem observed on Solaris 8 with latest
22215         coreutils, with "mv A B", where A is on a tmpfs file system and B
22216         is on a ufs file system.  This caused coreutils' mv/part-symlink
22217         test to fail.
22218
22219         tests: set fail=0 at start
22220         * tests/init.sh (setup_): Move fail=0 initialization here ...
22221         (mktempd_): ... from here, so that tests can rely on fail being
22222         set to 0 initially.  This fixes a problem in coreutils; see:
22223         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22224
22225 2010-12-18  Bruno Haible  <bruno@clisp.org>
22226
22227         memmem-simple: Stylistic changes.
22228         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22229         Fix preprocessor directive indentation.
22230
22231 2010-12-15  Pádraig Brady <P@draigBrady.com>
22232
22233         memmem, memmem-simple: reorganize and expand empty needle check
22234         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22235         functional checks to memmem-simple so that one has a fully functional
22236         memmem by using just this module.
22237         Restrict the performance only check to the memmem module.
22238         Also expand the empty needle check to ensure the correct
22239         pointer is returned, not just a non NULL pointer.
22240         * doc/glibc-functions/memmem.texi: Rearrange the portability
22241         documentation to correlate with the rearranged checks.
22242         Clarify exactly how the memmem and memmem-simple modules
22243         relate to each other.
22244
22245 2010-12-15  Pádraig Brady <P@draigBrady.com>
22246             Bruno Haible  <bruno@clisp.org>
22247
22248         Improve cross-compilation guesses for uClibc.
22249         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22250         that uClibc does not have the glibc bug.
22251         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22252         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22253
22254 2010-12-14  Eric Blake  <eblake@redhat.com>
22255
22256         configmake: provide fallbacks for oldest supported autotools
22257         * m4/configmake.m4: New file.
22258         * modules/configmake (Files): Ship it.
22259         (configure.ac): Use it to guarantee fallbacks.
22260
22261 2010-12-13  Pádraig Brady <P@draigBrady.com>
22262
22263         read-file: Improve handling of large files
22264         * lib/read-file.c (fread_file): Minimize realloc()s
22265         for regular files, and better manage sizes around SIZE_MAX.
22266
22267 2010-12-13  Eric Blake  <eblake@redhat.com>
22268
22269         cloexec, fcntl: relax license
22270         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22271         consent from all contributors.
22272         * modules/fcntl (License): Likewise.
22273
22274 2010-12-10  Bruno Haible  <bruno@clisp.org>
22275
22276         Tests for module 'pipe-posix'.
22277         * modules/pipe-posix-tests: New file.
22278         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22279
22280 2010-12-10  Bruno Haible  <bruno@clisp.org>
22281
22282         pipe-posix: Make it work in C++ mode.
22283         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22284         (pipe): Use common idiom, not a macro definition.
22285         * lib/pipe.c: New file.
22286         * m4/pipe.m4: New file.
22287         * modules/pipe-posix (Description): Enhance.
22288         (Files): Add lib/pipe.c, m4/pipe.m4.
22289         (configure.ac): Invoke gl_FUNC_PIPE.
22290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22291         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22292         * tests/test-unistd-c++.cc: Check the signature of pipe.
22293
22294 2010-12-10  Bruno Haible  <bruno@clisp.org>
22295
22296         Rename module 'pipe' to 'spawn-pipe'.
22297         * modules/spawn-pipe: New file, renamed from modules/pipe.
22298         (Files, configure.ac, Makefile.am): Update.
22299         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22300         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22301         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22302         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22303         "spawn-pipe.h" instead of "pipe.h".
22304         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22305         to gl_SPAWN_PIPE.
22306         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22307         (Files, Makefile.am): Update.
22308         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22309         Update.
22310         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22311         Include "spawn-pipe.h" instead of "pipe.h".
22312         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22313         * lib/javacomp.c: Likewise.
22314         * lib/javaversion.c: Likewise.
22315         * lib/pipe-filter-gi.c: Likewise.
22316         * lib/pipe-filter-ii.c: Likewise.
22317         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22318         * modules/javacomp (Depends-on): Likewise.
22319         * modules/javaversion (Depends-on): Likewise.
22320         * modules/pipe-filter-gi (Depends-on): Likewise.
22321         * modules/pipe-filter-ii (Depends-on): Likewise.
22322         * MODULES.html.sh (Executing programs): Update.
22323         * NEWS: Mention the change.
22324
22325 2010-12-10  Eric Blake  <eblake@redhat.com>
22326
22327         pipe-posix: new module
22328         * modules/pipe-posix: New file.
22329         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22330         (gl_UNISTD_H): Check for declaration.
22331         * modules/unistd (Makefile.am): Substitute it.
22332         * lib/unistd.in.h (pipe): Provide it for mingw.
22333         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22334         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22335
22336 2010-12-07  Bruno Haible  <bruno@clisp.org>
22337
22338         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22339         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22340         u8_strcmp_gnu.
22341         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22342
22343 2010-12-06  Bruno Haible  <bruno@clisp.org>
22344
22345         Update internal documentation.
22346         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22347
22348 2010-12-04  Bruno Haible  <bruno@clisp.org>
22349
22350         Put more information about failed tests into the test return codes.
22351         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22352         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22353         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22354         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22355         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22357         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22358         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22359         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22360         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22361         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22362         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22363         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22364         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22365         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22366         returns a bit mask.
22367         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22368         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22369         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22370         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22371         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22372         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22373         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22375         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22376         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22377         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22378         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22379         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22380         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22381         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22382         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22383         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22384         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22385         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22386         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22387         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22388         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22389         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22390         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22391         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22392         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22393         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22394         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22395         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22396         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22397         gl_PRINTF_PRECISION): Likewise.
22398         * m4/regex.m4 (gl_REGEX): Likewise.
22399         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22400         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22401         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22402         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22403         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22404         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22405         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22406         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22407         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22408         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22409         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22410         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22411         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22412         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22413         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22414         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22415         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22416         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22417         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22418         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22419         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22420         enumerated value.
22421         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22422
22423 2010-12-04  Bruno Haible  <bruno@clisp.org>
22424
22425         Update for Solaris 11 2010-11.
22426         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22427         Express, released in November 2010.
22428
22429 2010-12-04  Bruno Haible  <bruno@clisp.org>
22430
22431         nproc: Relax license.
22432         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22433         and Paul Eggert.
22434         Requested by Ludovic Courtès <ludo@gnu.org>.
22435
22436 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22437
22438         utimecmp: fine-grained src to nearby coarse-grained dest
22439
22440         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22441         and the source is on a file system with higher-resolution time
22442         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22443         not work, and the time stamps are close together, the algorithm to
22444         determine the exact resolution from the read-back mtime was buggy:
22445         it had a "!=" where it should have had an "==".  This bug has been
22446         in the code ever since it was introduced to gnulib.
22447         Problem reported by Dan Jacobson in
22448         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22449
22450 2010-11-30  Bruno Haible  <bruno@clisp.org>
22451
22452         strerror_r-posix: Fix autoconf test.
22453         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22454
22455 2010-11-28  Bruno Haible  <bruno@clisp.org>
22456             Paul Eggert  <eggert@cs.ucla.edu>
22457
22458         Tests for module 'getdomainname'.
22459         * modules/getdomainname-tests: New file.
22460         * tests/test-getdomainname.c: New file, based on
22461         tests/test-gethostname.c.
22462
22463 2010-11-28  Bruno Haible  <bruno@clisp.org>
22464             Paul Eggert  <eggert@cs.ucla.edu>
22465
22466         getdomainname: Use the system function when possible.
22467         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22468         (getdomainname): Replace if needed. Provide the declaration if it is
22469         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22470         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22471         (getdomainname): When the system has getdomainname, call the system
22472         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22473         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22474         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22475         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22476         the function if its second argument is of type 'int' or if it is found
22477         in libnsl.
22478         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22479         <sys/systeminfo.h> and sysinfo().
22480         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22482         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22483         HAVE_GETDOMAINNAME.
22484         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22485         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22486         * doc/glibc-functions/getdomainname.texi: Document the problems with
22487         the getdomainname declaration.
22488
22489 2010-11-28  Bruno Haible  <bruno@clisp.org>
22490
22491         sys_socket: Ensure ss_family field on AIX.
22492         * lib/sys_socket.in.h (ss_family): New macro definition.
22493         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22494         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22495         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22496         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22497         * modules/sys_socket (Makefile.am): Substitute
22498         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22499         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22500
22501 2010-11-27  Bruno Haible  <bruno@clisp.org>
22502
22503         readline: Improve configure output.
22504         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22505         "checking for readline..." result understandable.
22506
22507 2010-11-27  Bruno Haible  <bruno@clisp.org>
22508
22509         *printf-posix: Detect a bug on Solaris 10/x86.
22510         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22511         for floating-point output.
22512         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22513         directive.
22514         * tests/test-snprintf-posix.h (test_function): Likewise.
22515         * tests/test-sprintf-posix.h (test_function): Likewise.
22516         * tests/test-vasprintf-posix.c (test_function): Likewise.
22517         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22518         * doc/posix-functions/printf.texi: Likewise.
22519         * doc/posix-functions/snprintf.texi: Likewise.
22520         * doc/posix-functions/sprintf.texi: Likewise.
22521         * doc/posix-functions/vfprintf.texi: Likewise.
22522         * doc/posix-functions/vprintf.texi: Likewise.
22523         * doc/posix-functions/vsnprintf.texi: Likewise.
22524         * doc/posix-functions/vsprintf.texi: Likewise.
22525         * doc/glibc-functions/obstack_printf.texi: Likewise.
22526         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22527
22528 2010-11-27  Bruno Haible  <bruno@clisp.org>
22529
22530         Fix link error when module libunistring-optional is in use.
22531         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22532         * modules/striconveha-tests (Makefile.am): Likewise.
22533
22534 2010-11-27  Bruno Haible  <bruno@clisp.org>
22535
22536         regex: Mention link dependencies.
22537         * modules/regex (Link): New section.
22538         * modules/rpmatch (Link): Likewise.
22539         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22540
22541 2010-11-27  Bruno Haible  <bruno@clisp.org>
22542
22543         ftoastr: Fix compilation error on Solaris.
22544         * lib/ftoastr.c: Include <config.h>.
22545
22546 2010-11-27  Bruno Haible  <bruno@clisp.org>
22547
22548         getloadavg: Update documentation.
22549         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22550
22551 2010-11-27  Bruno Haible  <bruno@clisp.org>
22552
22553         sys_socket: Fix test whether the functions are declared.
22554         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22555         not <sys/select.h>.
22556
22557 2010-11-27  Bruno Haible  <bruno@clisp.org>
22558
22559         getpass: Make sure to get system declaration on some platforms.
22560         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22561         gl_USE_SYSTEM_EXTENSIONS.
22562         * modules/getpass (Depends-on): Add extensions.
22563
22564 2010-11-26  Bruno Haible  <bruno@clisp.org>
22565
22566         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22567         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22568         'iconv' module is present.
22569         (ICONV_CONST): New macro.
22570         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22571         ICONV_CONST.
22572         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22573         set ICONV_CONST.
22574         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22575         here.
22576         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22577         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22578         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22579         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22580         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22581         present.
22582
22583 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22584
22585         ftoastr: comment fix
22586         * lib/ftoastr.c: "little" -> "little or no" in comment
22587
22588 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22589
22590         stdint: port to GCC 4.3 + OSX + Octave
22591         On this platform, stdint.h is buggy and defines int64_t to long
22592         long int.  The replacement defined it to long int, causing
22593         problems with C++ style name mangling.  Instead, trust the system
22594         definition if INT64_MAX is defined, and likewise for the unsigned
22595         variant.   Problem reported by Jarno Rajahalme in
22596         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22597         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22598         and don't mess with int64_t and INT64_MAX in this case.
22599         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22600
22601 2010-11-24  Bruno Haible  <bruno@clisp.org>
22602
22603         doc: Corrections regarding MacOS X 10.4 and 10.5.
22604         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22605         MacOS X.
22606         Reported by Simon Josefsson.
22607
22608 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22609
22610         Uninstall ".bin" files installed by relocwrapper.
22611         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22612         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22613         unless it is already there.
22614
22615 2010-11-21  Bruno Haible  <bruno@clisp.org>
22616
22617         Update for NetBSD 5.0.
22618         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22619         NetBSD; the test fails on NetBSD 5.0.
22620         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22621         about NetBSD.
22622
22623 2010-11-21  Bruno Haible  <bruno@clisp.org>
22624
22625         Update for HP-UX 11.23 and HP-UX 11.31.
22626         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22627         HP-UX.
22628
22629 2010-11-21  Bruno Haible  <bruno@clisp.org>
22630
22631         Update for MacOS X 10.5.
22632         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22633         MacOS X; the test fails on MacOS X 10.5.8.
22634         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22635         about MacOS X.
22636
22637 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22638
22639         bootstrap: add bootstrap_sync option.
22640         See discussion at
22641         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22642         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22643         * build-aux/bootstrap: Accept --bootstrap-sync to update
22644         bootstrap if it is not identical to the local gnulib's
22645         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22646         enable this by default.  Accept --no-bootstrap-sync to disable
22647         it.
22648
22649 2010-11-20  Bruno Haible  <bruno@clisp.org>
22650
22651         Ensure that <features.h> is included before __GLIBC__ is tested.
22652         * lib/printf-parse.h: Include <features.h>.
22653         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22654         Reported by Mike Frysinger <vapier@gentoo.org>.
22655
22656         Ensure that <features.h> is included before __GLIBC__ is tested.
22657         * lib/wchar.in.h: Include <features.h>.
22658         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22659         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22660         Reported by Mike Frysinger <vapier@gentoo.org>.
22661
22662         Ensure that <features.h> is included before __GLIBC__ is tested.
22663         * lib/arpa_inet.in.h: Include <features.h>.
22664         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22665         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22666         Reported by Mike Frysinger <vapier@gentoo.org>.
22667
22668         Ensure that <features.h> is included before __GLIBC__ is tested.
22669         * build-aux/link-warning.h: Include <features.h>.
22670         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22671         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22672         Reported by Mike Frysinger <vapier@gentoo.org>.
22673
22674         Ensure that <features.h> is included before __GLIBC__ is tested.
22675         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22676         Reported by Mike Frysinger <vapier@gentoo.org>.
22677
22678 2010-11-20  Bruno Haible  <bruno@clisp.org>
22679
22680         memmem: Fix autoconf test.
22681         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22682
22683 2010-11-20  Bruno Haible  <bruno@clisp.org>
22684
22685         Port to uClibc.
22686         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22687         * lib/fcntl.in.h: Likewise.
22688         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22689         * lib/mbrtowc.c (mbrtowc): Likewise.
22690         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22691         * lib/strerror_r.c: Likewise.
22692         * lib/unistr/u8-strnlen.c: Likewise.
22693         * lib/vasnprintf.c (decimal_point_char): Likewise.
22694         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22695         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22696         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22697         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22698         * tests/test-sigaction.c (handler, main): Likewise.
22699         * lib/freading.h: Treat uClibc like a non-glibc platform.
22700         * lib/freading.c: Likewise.
22701         * lib/gettext.h: Likewise.
22702         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22703         Likewise.
22704         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22705         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22706         * lib/propername.c (proper_name_utf8): Likewise.
22707         * lib/spawn.in.h: Likewise.
22708         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22709         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22710         mem_cd_iconveh_internal): Likewise.
22711         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22712         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22713         strstr, strcasestr): Likewise.
22714         * lib/unicodeio.c (unicode_to_mb): Likewise.
22715         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22716         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22717         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22718         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22719         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22720         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22721         * lib/unistr/u8-stpncpy.c: Likewise.
22722         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22723         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22724         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22725         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22726         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22727         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22728         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22729         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22731         Likewise.
22732         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22733         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22734         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22735         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22736         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22737         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22738         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22739         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22740         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22741         * tests/test-striconveha.c (main): Likewise.
22742         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22743         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22744         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22745         * doc/posix-functions/getline.texi: Likewise.
22746         Reported by Mike Frysinger <vapier@gentoo.org>.
22747
22748 2010-11-20  Bruno Haible  <bruno@clisp.org>
22749
22750         nproc: Fix condition.
22751         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22752         HAVE_PTHREAD_AFFINITY_NP.
22753
22754 2010-11-20  Bruno Haible  <bruno@clisp.org>
22755
22756         Fix a comment.
22757         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22758
22759 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22760
22761         ftoastr: don't assume snprintf
22762         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22763         Implement a subset of snprintf here, by using sprintf safely.
22764         * modules/ftoastr (Depends-on): Remove snprintf.
22765
22766 2010-11-19  Jim Meyering  <meyering@redhat.com>
22767
22768         test-rename.h: fix compilation failure
22769         * tests/test-rename.h (test_rename): Add omitted "}".
22770
22771 2010-11-17  Jim Meyering  <meyering@redhat.com>
22772
22773         maint.mk: add a URL discussing the no-@acronym policy
22774         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22775
22776 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22777
22778         ftoastr: depend on snprintf, improve comments
22779         * lib/ftoastr.c: Also mention Loitsch's draft.
22780         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22781         needed in the current implementation, but it might simplify
22782         speeding up the code later.
22783         * modules/ftoastr: Depend on snprintf; this improves portability.
22784         Suggested by Bruno Haible in the same email.
22785
22786         ftoastr: port to hosts lacking strtof and strtold
22787         Problem reported by Bruno Haible in
22788         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22789         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22790         environment and strtold (and presumably strtof) are not available.
22791         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22792         (configure.ac): Require gl_C99_STRTOLD.
22793
22794 2010-11-18  Bruno Haible  <bruno@clisp.org>
22795
22796         c-strtold: Avoid link error on AIX 7.
22797         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22798         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22799         (gl_C_STRTOLD): Test whether strtold_l exists.
22800         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22801
22802 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22803
22804         intprops: new macro INT_BITS_STRLEN_BOUND
22805         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22806         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22807         not exposed.  Also, it uses a slightly tighter bound than before;
22808         though this makes no practical difference, we might as well be as
22809         tight as we easily can.
22810
22811         ftoastr: new module, for lossless conversion of floats to short strings
22812         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22813         * modules/ftoastr: New files.
22814
22815 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22816
22817         bootstrap: port to Solaris sed
22818         * build-aux/bootstrap (get_version): Port to Solaris sed.
22819         See Ralf Wildenhues's note in
22820         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22821
22822 2010-11-14  Jim Meyering  <meyering@redhat.com>
22823
22824         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22825         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22826         and move definition closer to sole use.
22827
22828 2010-11-13  Jim Meyering  <meyering@redhat.com>
22829
22830         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22831         Now we require at least autoconf-2.59, which means the work-around
22832         is no longer needed.
22833         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22834         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22835         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22836         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22837         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22838
22839 2010-11-13  Bruno Haible  <bruno@clisp.org>
22840
22841         rename, renameat: Avoid test failures at NFS mounted locations.
22842         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22843         functions.
22844         (test_rename): Use assert_nonexistent.
22845         * tests/test-rename.c: Include <dirent.h>.
22846         * tests/test-renameat.c: Likewise.
22847         Reported by Gary V. Vaughan <gary@gnu.org>.
22848
22849         rename, renameat: Document Linux bug with NFS
22850         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22851         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22852         * doc/posix-functions/renameat.texi: Likewise.
22853         Suggested by Eric Blake.
22854
22855 2010-11-13  Bruno Haible  <bruno@clisp.org>
22856
22857         rename test: Add comments.
22858         * tests/test-rename.h (test_rename): Add structure and comments.
22859
22860 2010-11-13  Eric Blake  <eblake@redhat.com>
22861
22862         maintainer-makefile: cover a few more files
22863         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22864         scripts generated within C files, for libvirt.
22865
22866 2010-11-13  Bruno Haible  <bruno@clisp.org>
22867
22868         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22869         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22870         character, return the number of bytes that belong together, not always
22871         1.
22872         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22873         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22874         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22875         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22876         number of bytes of an invalid character.
22877         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22878         (main): Invoke it.
22879         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22880         results.
22881         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22882         malformed byte sequences.
22883         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22884         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22885         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22886         Reported by Ben Pfaff and Paolo Bonzini.
22887
22888 2010-11-13  Bruno Haible  <bruno@clisp.org>
22889
22890         openat: Work around glibc bug with fchownat() and empty file names.
22891         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22892         (gl_FUNC_FCHOWNAT): Invoke it.
22893         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22894         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22895         Reported by Gary V. Vaughan <gary@gnu.org>.
22896
22897 2010-11-13  Bruno Haible  <bruno@clisp.org>
22898
22899         openat: Ensure autoconf macro ordering.
22900         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22901         gl_USE_SYSTEM_EXTENSIONS.
22902         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22903
22904 2010-11-13  Bruno Haible  <bruno@clisp.org>
22905
22906         Update comments.
22907         * lib/unistr/u8-check.c: Update file name in comments.
22908         * lib/unistr/u8-mblen.c: Likewise.
22909         * lib/unistr/u8-prev.c: Likewise.
22910         * lib/unistr/u8-strmblen.c: Likewise.
22911         * lib/unistr/u8-strmbtouc.c: Likewise.
22912
22913 2010-11-13  Jim Meyering  <meyering@redhat.com>
22914
22915         tests: avoid test failure on Solaris 10 due to lack of PATH export
22916         * tests/test-update-copyright.sh: Don't forget to export PATH.
22917
22918         init.sh: ensure that IFS is defined, just in case...
22919         * tests/init.sh (setup_): Ensure that IFS is defined,
22920         so that saving and restoring it works as expected.  This
22921         appears to be useful at least for an old version of dash
22922         from a long time ago (RH 6).  See here for details:
22923         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22924
22925         maint.mk: tighten "test a == b" check
22926         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22927         test to files that contain something like #!/bin/sh.
22928         Without this, coreutils would get two false positives in
22929         the comments of C source files.
22930
22931 2010-11-12  Eric Blake  <eblake@redhat.com>
22932
22933         bootstrap: fix typo in previous attempt
22934         * build-aux/bootstrap (buildreq): Correct the grouping.
22935         Reported by Paul Eggert.
22936
22937         maintainer-makefile: prohibit test x == x
22938         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22939         Based on a report by Matthias Bolte.
22940
22941         bootstrap: allow FreeBSD gzip
22942         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22943         which has no '.' and goes to stderr.
22944         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22945         Reported by Matthias Bolte.
22946
22947         maintainer-makefile: check for i18n setup
22948         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22949         will likely work.
22950
22951 2010-11-12  Bruno Haible  <bruno@clisp.org>
22952
22953         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22954         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22955         * lib/nanosleep.c (nanosleep): Likewise.
22956
22957 2010-11-11  Bruno Haible  <bruno@clisp.org>
22958
22959         fcntl-h: Fix for use of C++ on glibc systems.
22960         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22961         also on glibc systems in C++ mode.
22962         Reported by Gary V. Vaughan <gary@gnu.org>.
22963
22964 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22965
22966         mknod: avoid false failure with dash
22967         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22968
22969 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22970
22971         unlink: Fix "is it should" typo in diagnostic.
22972         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22974
22975 2010-11-11  Bruno Haible  <bruno@clisp.org>
22976
22977         Tests for module 'strerror_r-posix'.
22978         * modules/strerror_r-posix-tests: New file.
22979         * tests/test-strerror_r.c: New file.
22980         * tests/test-string-c++.cc: Check the signature of strerror_r.
22981
22982         New module 'strerror_r-posix'.
22983         * lib/string.in.h (strerror_r): New declaration.
22984         * lib/strerror_r.c: New file.
22985         * m4/strerror_r.m4: New file.
22986         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22987         of strerror_r.
22988         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22989         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22990         * modules/strerror_r-posix: New file.
22991         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22992         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22993         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22994         portability problems.
22995
22996 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22997
22998         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22999         line is also considered for output. Quoted function name in shell
23000         command, so temporary files for functions like MyClass::operator()
23001         are removed correctly without errors.
23002
23003 2010-11-09  Bruno Haible  <bruno@clisp.org>
23004
23005         * doc/posix-functions/strerror.texi: List more failing platforms.
23006
23007         * doc/posix-functions/strerror.texi: Add a comment.
23008
23009 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23010
23011         fdopendir: fix bug on MacOS X when low on file descriptors
23012
23013         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23014         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23015         All callers changed.
23016         (fdopendir): Invoke save_cwd at the top level, not after using
23017         multiple dup() calls to use up file descriptors.  Then retry
23018         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23019         less than the maximum number of open file descriptors, because
23020         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23021         on Mac OS X 10.6.4 for tar 1.24
23022         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23023         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23024         and for tar 1.25
23025         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23026
23027 2010-11-07  Bruno Haible  <bruno@clisp.org>
23028
23029         vasnprintf: Support I flag on glibc systems.
23030         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23031         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23032         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23033         snprintf function.
23034         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23035         glibc systems.
23036         * tests/test-vasnprintf-posix3.c: New file.
23037         * modules/vasnprintf-posix-tests (Files): Add it.
23038         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23039
23040 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23041
23042         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23043         * MODULES.html.sh: For compiler warnings, use name
23044         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23045
23046 2010-11-05  Eric Blake  <eblake@redhat.com>
23047
23048         ceil, floor: avoid spurious failure with icc
23049         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23050         [denormals-as-zero] when optimizing without -mieee-fp option.
23051         * tests/test-floorf2.c (floorf_reference): Likewise.
23052         * tests/test-ceilf1.c (dummy): New function.
23053         (main): Use it to outsmart icc's optimization.
23054         * tests/test-floorf1.c (dummy, main): Likewise.
23055
23056         tests: require working signbit
23057         * modules/ceilf-tests (Depends-on): Add signbit.
23058         * modules/ceill-tests (Depends-on): Likewise.
23059         * modules/floorf-tests (Depends-on): Likewise.
23060         * modules/floorl-tests (Depends-on): Likewise.
23061         * modules/round-tests (Depends-on): Likewise.
23062         * modules/roundf-tests (Depends-on): Likewise.
23063         * modules/roundl-tests (Depends-on): Likewise.
23064         * modules/trunc-tests (Depends-on): Likewise.
23065         * modules/truncf-tests (Depends-on): Likewise.
23066         * modules/truncl-tests (Depends-on): Likewise.
23067
23068         strtod: work around icc bug
23069         * lib/strtod.c (minus_zero): Define to working value.
23070         (strtod): Use it to avoid icc bug.
23071
23072         copysign: enhance tests
23073         * modules/copysign-tests (Files): Add minus-zero.h.
23074         * tests/test-copysign.c (main): Also test zeros.
23075
23076 2010-11-04  Eric Blake  <eblake@redhat.com>
23077
23078         ceil, floor, round, trunc: enhance tests of -0
23079         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23080         * tests/test-ceill.c (main): Likewise.
23081         * tests/test-floorf1.c (main): Likewise.
23082         * tests/test-floorl.c (main): Likewise.
23083         * tests/test-round1.c (main): Likewise.
23084         * tests/test-roundf1.c (main): Likewise.
23085         * tests/test-roundl.c (main): Likewise.
23086         * tests/test-trunc1.c (main): Likewise.
23087         * tests/test-truncf1.c (main): Likewise.
23088         * tests/test-truncl.c (main): Likewise.
23089
23090 2010-11-04  Eric Blake  <eblake@redhat.com>
23091
23092         frexp, tests: work around ICC bug with -zero
23093         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23094         works with more compilers.
23095         * tests/minus-zero.h: New file.
23096         * modules/ceilf-tests (Files): Include it.
23097         * modules/ceill-tests (Files): Likewise.
23098         * modules/floorf-tests (Files): Likewise.
23099         * modules/floorl-tests (Files): Likewise.
23100         * modules/frexp-nolibm-tests (Files): Likewise.
23101         * modules/frexp-tests (Files): Likewise.
23102         * modules/frexpl-nolibm-tests (Files): Likewise.
23103         * modules/frexpl-tests (Files): Likewise.
23104         * modules/isnan-tests (Files): Likewise.
23105         * modules/isnand-nolibm-tests (Files): Likewise.
23106         * modules/isnand-tests (Files): Likewise.
23107         * modules/isnanf-nolibm-tests (Files): Likewise.
23108         * modules/isnanf-tests (Files): Likewise.
23109         * modules/isnanl-nolibm-tests (Files): Likewise.
23110         * modules/isnanl-tests (Files): Likewise.
23111         * modules/round-tests (Files): Likewise.
23112         * modules/roundf-tests (Files): Likewise.
23113         * modules/roundl-tests (Files): Likewise.
23114         * modules/ldexpl-tests (Files): Likewise.
23115         * modules/signbit-tests (Files): Likewise.
23116         * modules/snprintf-posix-tests (Files): Likewise.
23117         * modules/sprintf-posix-tests (Files): Likewise.
23118         * modules/strtod-tests (Files): Likewise.
23119         * modules/trunc-tests (Files): Likewise.
23120         * modules/truncf-tests (Files): Likewise.
23121         * modules/truncl-tests (Files): Likewise.
23122         * modules/vsnprintf-posix-tests (Files): Likewise.
23123         * modules/vsprintf-posix-tests (Files): Likewise.
23124         * modules/vasnprintf-posix-tests (Files): Likewise.
23125         * modules/vasprintf-posix-tests (Files): Likewise.
23126         * tests/test-ceilf1.c (main): Use it.
23127         * tests/test-ceill.c (main): Likewise.
23128         * tests/test-floorf1.c (main): Likewise.
23129         * tests/test-floorl.c (main): Likewise.
23130         * tests/test-frexp.c (main): Likewise.
23131         * tests/test-frexpl.c (main): Likewise.
23132         * tests/test-isnan.c (main): Likewise.
23133         * tests/test-isnand.h (main): Likewise.
23134         * tests/test-isnanf.h (main): Likewise.
23135         * tests/test-isnanl.h (main): Likewise.
23136         * tests/test-ldexpl.c (main): Likewise.
23137         * tests/test-round.c (main): Likewise.
23138         * tests/test-roundf.c (main): Likewise.
23139         * tests/test-roundl.c (main): Likewise.
23140         * tests/test-signbit.c (test_signbitf, test_signbitd)
23141         (test_signbitl): Likewise.
23142         * tests/test-snprintf-posix.h (test_function): Likewise.
23143         * tests/test-sprintf-posix.h (test_function): Likewise.
23144         * tests/test-strtod.c (main): Likewise.
23145         * tests/test-trunc1.c (main): Likewise.
23146         * tests/test-truncf1.c (main): Likewise.
23147         * tests/test-truncl.c (main): Likewise.
23148
23149         isnanl: work around icc bug
23150         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23151
23152 2010-11-03  Eric Blake  <eblake@redhat.com>
23153
23154         tests: fix compiler warnings
23155         * tests/test-getopt.h (test_getopt): Fix condition.
23156         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23157         * tests/test-pipe2.c (main): Likewise.
23158         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23159
23160         utimens: fix broken m4 test
23161         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23162
23163 2010-10-28  Bruno Haible  <bruno@clisp.org>
23164
23165         posix_spawn*, getdtablesize: Relax license.
23166         * modules/posix_spawn (License): Change to LGPLv2+.
23167         * modules/posix_spawnp (License): Likewise.
23168         * modules/posix_spawn-internal (License): Likewise.
23169         * modules/posix_spawnattr_init (License): Likewise.
23170         * modules/posix_spawnattr_getflags (License): Likewise.
23171         * modules/posix_spawnattr_setflags (License): Likewise.
23172         * modules/posix_spawnattr_getpgroup (License): Likewise.
23173         * modules/posix_spawnattr_setpgroup (License): Likewise.
23174         * modules/posix_spawnattr_getschedparam (License): Likewise.
23175         * modules/posix_spawnattr_setschedparam (License): Likewise.
23176         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23177         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23178         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23179         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23180         * modules/posix_spawnattr_getsigmask (License): Likewise.
23181         * modules/posix_spawnattr_setsigmask (License): Likewise.
23182         * modules/posix_spawnattr_destroy (License): Likewise.
23183         * modules/posix_spawn_file_actions_init (License): Likewise.
23184         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23185         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23186         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23187         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23188         * modules/getdtablesize (License): Likewise.
23189         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23190
23191 2010-10-26  Bruno Haible  <bruno@clisp.org>
23192
23193         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23194         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23195         Cygwin and mingw.
23196         Suggested by Eric Blake.
23197
23198 2010-10-26  Bruno Haible  <bruno@clisp.org>
23199
23200         stdio: Work around compilation error due to renameat() on Solaris 10.
23201         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23202         * lib/renameat.c: Don't include <unistd.h> here.
23203         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23204         Reported by Paul Eggert and Eric Blake.
23205
23206 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23207
23208         renameat: port to Solaris 10, which declares renameat in unistd.h
23209
23210         * lib/renameat.c: Include unistd.h before stdio.h, because
23211         Solaris 10 declares renameat in unistd.h.  Problem encountered
23212         when building GNU tar 1.24 on Solaris 10.
23213
23214 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23215
23216         fdopendir: fix C89 compilation
23217         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23218         compilers.
23219
23220 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23221
23222         inttostr: simplify by removing unnecessary redundancy
23223         * lib/anytostr.c: Don't include verify.h.
23224         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23225         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23226         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23227         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23228         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23229         Likewise.
23230         * modules/inttostr (Depends-on): Remove 'verify'.
23231
23232 2010-10-23  Bruno Haible  <bruno@clisp.org>
23233
23234         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23235         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23236         Reported by Eric Blake.
23237
23238 2010-10-23  Bruno Haible  <bruno@clisp.org>
23239
23240         Tests: Fix LOCALE_JA on MirBSD 10.
23241         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23242         to an UTF-8 locale.
23243         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23244         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23245         Reported by Eric Blake.
23246
23247 2010-10-21  Bruno Haible  <bruno@clisp.org>
23248
23249         nl_langinfo test: Avoid test failure on NetBSD 5.
23250         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23251         Reported by Eric Blake.
23252
23253 2010-10-21  Eric Blake  <eblake@redhat.com>
23254
23255         c-stack: work around libsigsegv 2.8 bug
23256         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23257         overflow on at least PowerPC64.
23258
23259 2010-10-17  Bruno Haible  <bruno@clisp.org>
23260
23261         userspec: Drop redundant file.
23262         * modules/userspec (Files): Remove lib/inttostr.h.
23263
23264 2010-10-17  Bruno Haible  <bruno@clisp.org>
23265
23266         nl_langinfo tests: Silence some warnings.
23267         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23268         Reported by Jim Meyering.
23269
23270 2010-10-17  Bruno Haible  <bruno@clisp.org>
23271
23272         Make use of GCC's attribute __alloc_size__.
23273         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23274         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23275         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23276         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23277         __alloc_size__.
23278         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23279         Suggested by Jim Meyering.
23280
23281 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23282
23283         bootstrap: anchor .gitignore entries.
23284         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23285         with...
23286         (insert_vc_ignore): ... this new function, which prepends `/' to
23287         all .gitignore entries before passing them to
23288         insert_sorted_if_absent.
23289
23290 2010-10-16  Bruno Haible  <bruno@clisp.org>
23291
23292         nextafter: Fix configure check.
23293         * modules/nextafter (configure.ac): Correct expected prototype.
23294
23295 2010-10-16  Bruno Haible  <bruno@clisp.org>
23296
23297         termios: Update documentation.
23298         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23299
23300 2010-10-16  Bruno Haible  <bruno@clisp.org>
23301
23302         tests: Make them compile with TinyCC.
23303         * tests/test-strstr.c (main): Remove parentheses around array
23304         initializer.
23305
23306 2010-10-15  Eric Blake  <eblake@redhat.com>
23307
23308         ignore-value: make header idempotent
23309         * lib/ignore-value.h: Add double-inclusion guards.
23310         Reported by Stefan Berger.
23311
23312 2010-10-15  Jim Meyering  <meyering@redhat.com>
23313
23314         GNUmakefile: handle "stable" target, not "major"
23315         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23316         lists in maint.mk and announce-gen.  Without this, "make stable"
23317         would fail to ensure that $(VERSION) is up to date.
23318
23319 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23320
23321         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23322         & co.
23323
23324 2010-10-14  Bruno Haible  <bruno@clisp.org>
23325
23326         vasnprintf: Don't set errno to 0.
23327         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23328         block that sets it to 0.
23329         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23330
23331 2010-10-14  Bruno Haible  <bruno@clisp.org>
23332
23333         socketlib: Fix.
23334         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23335         gl_PREREQ_SYS_H_WINSOCK2.
23336         Reported by Ian Beckwith <ianb@erislabs.net>.
23337
23338 2010-10-13  Jim Meyering  <meyering@redhat.com>
23339
23340         test-select-stdin.c: avoid warn_unused_result warnings
23341         * tests/test-select-stdin.c: Include "macros.h".
23342         ASSERT that read and fflush succeed.
23343
23344 2010-10-13  Jim Meyering  <meyering@redhat.com>
23345
23346         git-version-gen: do require git-VC'd files in cwd
23347         * build-aux/git-version-gen: Reject a git version string
23348         if there are no commits associated with the current directory.
23349         This avoids an unlikely false-positive (unrelated dir whose parent
23350         repository also contains a tag matching v*), as pointed out
23351         by Giuseppe Scrivano in
23352         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23353
23354 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23355
23356         argv-iter: omit nonconforming declaration
23357         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23358         enum arg_iter_err declaration, which doesn't conform to C99.
23359         Solaris 10 cc warns about this.
23360
23361 2010-10-13  Eric Blake  <eblake@redhat.com>
23362
23363         termios: fix compilation on mingw
23364         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23365         (gl_TERMIOS_H): Adjust it on mingw.
23366         * modules/termios (Makefile.am): Substitute new key.
23367         * lib/termios.in.h (includes): Make include_next conditional.
23368         * doc/posix-headers/termios.texi (termios.h): Update
23369         documentation.
23370         Reported by Daniel P. Berrange.
23371
23372 2010-10-13  Jim Meyering  <meyering@redhat.com>
23373
23374         git-version-gen: don't require that .git/ be in the current dir
23375         * build-aux/git-version-gen: Adjust this script so that it works
23376         when run from any working directory beneath the top-level .git/-
23377         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23378         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23379
23380         test-select: avoid warn_unused_result warnings
23381         * tests/test-select.c: Include "macros.h".
23382         ASSERT that each call to read, write, and pipe succeeds.
23383         While not technically required, also check each "close".
23384         * modules/select-tests (Files): Add tests/macros.h.
23385
23386         test-symlinkat: remove declaration of unused local
23387         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23388
23389         test-inttostr: avoid shadowing warnings
23390         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23391         and use malloc rather than the stack for the same reason as
23392         mentioned in the comment justifying the other allocation.
23393
23394 2010-10-11  Bruno Haible  <bruno@clisp.org>
23395
23396         stdlib: Allow multiple gnulib generated replacements to coexist.
23397         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23398         Reported by Sam Steingold <sds@gnu.org>.
23399
23400 2010-10-11  Jim Meyering  <meyering@redhat.com>
23401
23402         fix a documentation typo
23403         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23404
23405 2010-10-11  Eric Blake  <eblake@redhat.com>
23406
23407         futimens: work around Solaris 11 bug
23408         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23409         * tests/test-futimens.h (test_futimens): Enhance, rather than
23410         weaken test.
23411         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23412
23413 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23414
23415         Indentation.
23416         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23417         higher-level operators more to the left.
23418
23419 2010-10-11  Jim Meyering  <meyering@redhat.com>
23420
23421         test-futimens: avoid unwarranted test failure on Solaris 5.11
23422         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23423         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23424         because it tries to dereference the NULL name argument.
23425
23426 2010-10-11  Bruno Haible  <bruno@clisp.org>
23427
23428         Indentation.
23429         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23430         indentation.
23431
23432 2010-10-11  Jim Meyering  <meyering@redhat.com>
23433
23434         spawn.in.h: make indentation consistent with parentheses
23435         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23436         Make indentation consistent with parentheses.
23437
23438 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23439
23440         Fix mismatched parens in previous commit
23441         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23442         parens.
23443
23444 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23445
23446         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23447
23448         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23449         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23450         * lib/malloca.c: Include "verify.h".
23451         (verify1): Remove, replacing with a verify call.
23452         * lib/relocwrapper.c (verify1): Likewise.
23453         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23454         Likewise.
23455         * modules/malloca (Depends-on): Add 'verify'.
23456         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23457         * modules/vasnprintf (Depends-on): Add 'verify'.
23458         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23459         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23460         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23461         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23462         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23463         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23464         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23465
23466         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23467
23468         Formerly the style was sometimes 2*X - 1, because the C standard
23469         was wrongly thought to disallow ?: in integral constant expressions.
23470         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23471         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23472         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23473         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23474         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23475         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23476         verify that time_t cannot be floating.
23477
23478 2010-10-08  Eric Blake  <eblake@redhat.com>
23479
23480         time: enforce recent POSIX ruling that time_t is integral
23481         * lib/time.in.h (__time_t_must_be_integral): Detect any
23482         problematic systems, allowing the rest of gnulib to assume POSIX.
23483
23484 2010-10-08  Jim Meyering  <meyering@redhat.com>
23485
23486         fdopendir: fix a bug on systems lacking openat and /proc support
23487         OpenBSD 4.7 is one such system.  The most noticeable effect was
23488         failure of any application making nontrivial use of fts: rm, du,
23489         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23490           ./rm: traversal failed: `a': Bad file descriptor
23491         Debugging that, you see that even though FD 6 was closed just
23492         prior to the opendir call in fd_clone_opendir, its resulting
23493         dir->dd_fd was 8, rather than the expected value of 6:
23494
23495         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23496         93                close (fd);
23497         (gdb) n
23498         94                dir = fd_clone_opendir (dupfd);
23499         (gdb) n
23500         95                saved_errno = errno;
23501         (gdb) p dir->dd_fd
23502         $11 = 8
23503
23504         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23505         The problem is that on OpenBSD, fd_clone_opendir has to resort
23506         to using the old-style save/restore CWD mechanism, due to its
23507         lack of openat/proc support, and *that* would steal the FD (6)
23508         that opendir was supposed to use.
23509
23510         The fix is to squirrel away the desired FD so that save_cwd uses a
23511         different one, and then free the dest FD right before calling opendir.
23512         That guarantees opendir will use the required file descriptor.
23513
23514         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23515
23516 2010-10-08  Bruno Haible  <bruno@clisp.org>
23517
23518         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23519         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23520
23521 2010-10-08  Bruno Haible  <bruno@clisp.org>
23522
23523         nanosleep: Make replacement POSIX compliant.
23524         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23525         is out of range.
23526         Reported by Jim Meyering.
23527
23528 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23529
23530         bootstrap: add hook for altering gnulib.mk, for Bison
23531         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23532         the Bison bootstrapping process can rewrite file names and variables
23533         in this file before later parts of 'bootstrap' use the file.
23534         Bison wants to include lib/gnulib.mk from the top-level makefile,
23535         so it needs the file names in this file to be relative to the top
23536         level, not relative to lib; plus it needs variable names to be
23537         rewritten.
23538         (slurp): Use the new function.
23539
23540         bootstrap: reformat for readability
23541         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23542
23543 2010-10-08  Eric Blake  <eblake@redhat.com>
23544
23545         docs: update cygwin progress
23546         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23547         1.7.7.
23548         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23549         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23550         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23551         * doc/posix-functions/carg.texi (carg): Likewise.
23552         * doc/posix-functions/cargf.texi (cargf): Likewise.
23553         * doc/posix-functions/casin.texi (casin): Likewise.
23554         * doc/posix-functions/casinf.texi (casinf): Likewise.
23555         * doc/posix-functions/casinh.texi (casinh): Likewise.
23556         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23557         * doc/posix-functions/catan.texi (catan): Likewise.
23558         * doc/posix-functions/catanf.texi (catanf): Likewise.
23559         * doc/posix-functions/catanh.texi (catanh): Likewise.
23560         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23561         * doc/posix-functions/ccos.texi (ccos): Likewise.
23562         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23563         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23564         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23565         * doc/posix-functions/cexp.texi (cexp): Likewise.
23566         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23567         * doc/posix-functions/cimag.texi (cimag): Likewise.
23568         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23569         * doc/posix-functions/clog.texi (clog): Likewise.
23570         * doc/posix-functions/clogf.texi (clogf): Likewise.
23571         * doc/posix-functions/conj.texi (conj): Likewise.
23572         * doc/posix-functions/conjf.texi (conjf): Likewise.
23573         * doc/posix-functions/cpow.texi (cpow): Likewise.
23574         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23575         * doc/posix-functions/cproj.texi (cproj): Likewise.
23576         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23577         * doc/posix-functions/creal.texi (creal): Likewise.
23578         * doc/posix-functions/crealf.texi (crealf): Likewise.
23579         * doc/posix-functions/csin.texi (csin): Likewise.
23580         * doc/posix-functions/csinf.texi (csinf): Likewise.
23581         * doc/posix-functions/csinh.texi (csinh): Likewise.
23582         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23583         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23584         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23585         * doc/posix-functions/ctan.texi (ctan): Likewise.
23586         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23587         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23588         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23589         * doc/posix-headers/complex.texi (complex.h): Likewise.
23590
23591 2010-10-07  Jim Meyering  <meyering@redhat.com>
23592
23593         parse-datetime: avoid compilation failure on OpenBSD 4.7
23594         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23595         This works around a compilation failure on OpenBSD 4.7:
23596         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23597
23598 2010-10-07  Eric Blake  <eblake@redhat.com>
23599
23600         docs: update cygwin progress
23601         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23602         1.7.6.
23603         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23604         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23605         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23606         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23607         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23608         Likewise.
23609         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23610         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23611         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23612         Likewise.
23613         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23614         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23615         Likewise.
23616         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23617         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23618         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23619         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23620         Likewise.
23621         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23622         Likewise.
23623         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23624
23625         docs: update parse-datetime history
23626         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23627         documentation of this function's history and alternatives.
23628
23629         cygwin: use more robust version check
23630         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23631         exclude an eventual cygwin 1.9.1.
23632         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23633         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23634         (gl_FUNC_STRCASESTR): Likewise.
23635         Reported by Bruno Haible.
23636
23637 2010-10-06  Bruno Haible  <bruno@clisp.org>
23638
23639         string, sys_select: Avoid #including large headers unless necessary.
23640         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23641         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23642         OSF/1, BeOS, Haiku.
23643         Reported by Jim Meyering.
23644
23645 2010-10-05  Eric Blake  <eblake@redhat.com>
23646
23647         memmem, strstr, strcasestr: fix bug with long periodic needle
23648         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23649         periodic needle having false positive.
23650         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23651         and cygwin 1.7.7.
23652         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23653         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23654         (gl_FUNC_STRCASESTR): Likewise.
23655         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23656         * tests/test-memmem.c (main): Expose the bug.
23657         * tests/test-strcasestr.c (main): Likewise.
23658         * tests/test-strstr.c (main): Likewise.
23659         * tests/test-c-strcasestr.c (main): Likewise.
23660         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23661         * doc/posix-functions/strstr.texi (strstr): Likewise.
23662         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23663         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23664
23665 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23666
23667         parse-datetime: do some more renaming
23668         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23669         parse_datetime, not get_date.  Mention the renaming.
23670         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23671         in comments.
23672         * m4/bison.m4: Likewise.
23673
23674 2010-10-05  Eric Blake  <eblake@redhat.com>
23675
23676         parse-datetime: better name than get_date
23677         * NEWS: Reword the deprecation notice.
23678         * modules/get_date: Rename to modules/parse-datetime.
23679         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23680         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23681         * lib/get_date.y: Rename to lib/parse-datetime.y.
23682         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23683         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23684         * doc/getdate.texi: Provide fallback wrapper.
23685         * lib/getdate.h: Move guts, and wrap...
23686         * lib/parse-datetime.h: ...new file.
23687         * lib/parse-datetime.y (get_date): Rename...
23688         (parse_datetime): ...to this.
23689         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23690         (gl_PARSE_DATETIME): ...to this.
23691         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23692         documentation.
23693         * modules/getdate (Files): Provide fallback docs and header.
23694         (Notice, Depends-on): Update references.
23695         * tests/test-parse-datetime.c: Likewise.
23696         * DEPENDENCIES: Likewise.
23697         * MODULES.html.sh (Date and time <time.h>): Likewise.
23698         * doc/parse-datetime.texi (Date input formats)
23699         (Authors of parse_datetime): Likewise.
23700         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23701         (Include): Likewise.
23702         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23703         * gnulib-tool: Likewise.
23704         * m4/bison.m4 (gl_BISON): Likewise.
23705         Suggested by Bruno Haible.
23706
23707 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23708
23709         more ports to Solaris tr, which needs [] around ranges
23710         * gnulib-tool: Solaris tr needs [] around ranges.
23711         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23712         * tests/test-pipe-filter-gi1.c (main): Likewise.
23713         * tests/test-pipe-filter-ii1.c (main): Likewise.
23714
23715 2010-10-05  Eric Blake  <eblake@redhat.com>
23716
23717         bootstrap: fix Solaris regression
23718         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23719         around ranges.
23720         Reported by Pádraig Brady.
23721
23722         bootstrap: work with pkg-config
23723         * build-aux/bootstrap (check_versions): Also transliterate - in
23724         prerequisite name.
23725         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23726         prerequisites that were already found, to avoid confusion.
23727         Reported by Justin Clift.
23728
23729         faccessat: remove unused wrappers
23730         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23731         presence of these wrappers dragged in -lgen on Solaris.
23732         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23733
23734 2010-10-05  Jim Meyering  <meyering@redhat.com>
23735
23736         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23737         * Makefile (sc_pragma_columns): New syntax-check rule.
23738
23739 2010-10-04  Bruno Haible  <bruno@clisp.org>
23740
23741         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23742         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23743         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23744         Reported by Bruce Korb and Eric Blake.
23745
23746 2010-10-04  Bruno Haible  <bruno@clisp.org>
23747
23748         threadlib: Make option --with-libpth-prefix work.
23749         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23750         use $LIBPTH, not just -lpth.
23751
23752 2010-10-04  Bruno Haible  <bruno@clisp.org>
23753
23754         Avoid line length limitation from HP NonStop system header files.
23755         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23756         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23757         * lib/ctype.in.h: Likewise.
23758         * lib/dirent.in.h: Likewise.
23759         * lib/errno.in.h: Likewise.
23760         * lib/fcntl.in.h: Likewise.
23761         * lib/float.in.h: Likewise.
23762         * lib/getopt.in.h: Likewise.
23763         * lib/iconv.in.h: Likewise.
23764         * lib/inttypes.in.h: Likewise.
23765         * lib/langinfo.in.h: Likewise.
23766         * lib/locale.in.h: Likewise.
23767         * lib/math.in.h: Likewise.
23768         * lib/netdb.in.h: Likewise.
23769         * lib/netinet_in.in.h: Likewise.
23770         * lib/poll.in.h: Likewise.
23771         * lib/pthread.in.h: Likewise.
23772         * lib/pty.in.h: Likewise.
23773         * lib/sched.in.h: Likewise.
23774         * lib/se-selinux.in.h: Likewise.
23775         * lib/search.in.h: Likewise.
23776         * lib/signal.in.h: Likewise.
23777         * lib/spawn.in.h: Likewise.
23778         * lib/stdarg.in.h: Likewise.
23779         * lib/stddef.in.h: Likewise.
23780         * lib/stdint.in.h: Likewise.
23781         * lib/stdio.in.h: Likewise.
23782         * lib/stdlib.in.h: Likewise.
23783         * lib/string.in.h: Likewise.
23784         * lib/strings.in.h: Likewise.
23785         * lib/sys_file.in.h: Likewise.
23786         * lib/sys_ioctl.in.h: Likewise.
23787         * lib/sys_select.in.h: Likewise.
23788         * lib/sys_socket.in.h: Likewise.
23789         * lib/sys_stat.in.h: Likewise.
23790         * lib/sys_time.in.h: Likewise.
23791         * lib/sys_times.in.h: Likewise.
23792         * lib/sys_utsname.in.h: Likewise.
23793         * lib/sys_wait.in.h: Likewise.
23794         * lib/sysexits.in.h: Likewise.
23795         * lib/termios.in.h: Likewise.
23796         * lib/time.in.h: Likewise.
23797         * lib/unistd.in.h: Likewise.
23798         * lib/wchar.in.h: Likewise.
23799         * lib/wctype.in.h: Likewise.
23800         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23801         * modules/ctype (Makefile.am): Likewise.
23802         * modules/dirent (Makefile.am): Likewise.
23803         * modules/errno (Makefile.am): Likewise.
23804         * modules/fcntl-h (Makefile.am): Likewise.
23805         * modules/float (Makefile.am): Likewise.
23806         * modules/getopt-posix (Makefile.am): Likewise.
23807         * modules/iconv-h (Makefile.am): Likewise.
23808         * modules/inttypes (Makefile.am): Likewise.
23809         * modules/langinfo (Makefile.am): Likewise.
23810         * modules/locale (Makefile.am): Likewise.
23811         * modules/math (Makefile.am): Likewise.
23812         * modules/netdb (Makefile.am): Likewise.
23813         * modules/netinet_in (Makefile.am): Likewise.
23814         * modules/poll-h (Makefile.am): Likewise.
23815         * modules/pthread (Makefile.am): Likewise.
23816         * modules/pty (Makefile.am): Likewise.
23817         * modules/sched (Makefile.am): Likewise.
23818         * modules/search (Makefile.am): Likewise.
23819         * modules/selinux-h (Makefile.am): Likewise.
23820         * modules/signal (Makefile.am): Likewise.
23821         * modules/spawn (Makefile.am): Likewise.
23822         * modules/stdarg (Makefile.am): Likewise.
23823         * modules/stddef (Makefile.am): Likewise.
23824         * modules/stdint (Makefile.am): Likewise.
23825         * modules/stdio (Makefile.am): Likewise.
23826         * modules/stdlib (Makefile.am): Likewise.
23827         * modules/string (Makefile.am): Likewise.
23828         * modules/strings (Makefile.am): Likewise.
23829         * modules/sys_file (Makefile.am): Likewise.
23830         * modules/sys_ioctl (Makefile.am): Likewise.
23831         * modules/sys_select (Makefile.am): Likewise.
23832         * modules/sys_socket (Makefile.am): Likewise.
23833         * modules/sys_stat (Makefile.am): Likewise.
23834         * modules/sys_time (Makefile.am): Likewise.
23835         * modules/sys_times (Makefile.am): Likewise.
23836         * modules/sys_utsname (Makefile.am): Likewise.
23837         * modules/sys_wait (Makefile.am): Likewise.
23838         * modules/sysexits (Makefile.am): Likewise.
23839         * modules/termios (Makefile.am): Likewise.
23840         * modules/time (Makefile.am): Likewise.
23841         * modules/unistd (Makefile.am): Likewise.
23842         * modules/wchar (Makefile.am): Likewise.
23843         * modules/wctype (Makefile.am): Likewise.
23844
23845 2010-10-04  Bruno Haible  <bruno@clisp.org>
23846
23847         read-file tests: Avoid a test failure on NonStop Kernel.
23848         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23849         a regular file.
23850         Reported by Joachim Schmitz <schmitz@hp.com>.
23851
23852 2010-10-03  Bruno Haible  <bruno@clisp.org>
23853
23854         gnulib-tool: Fixes for --create-testdir with --libtool.
23855         * gnulib-tool (func_get_automake_snippet): Don't augment
23856         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23857         an executable.
23858         (func_create_testdir): Handle module 'alloca' like func_import.
23859         Reported by Bruce Korb <bruce.korb@gmail.com>.
23860
23861 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23862
23863         Avoid some lines longer than 80 characters.
23864         * lib/stdint.in.h: Break long comment lines.
23865         * lib/math.in.h: Likewise.
23866         (_GL_NUM_UINT_WORDS): New macro, for readability.
23867         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23868         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23869         * lib/stdlib.in.h: Likewise.
23870         * lib/spawn.in.h: Likewise.
23871         * lib/sys_socket.in.h: Update an URL.
23872         * lib/sys_stat.in.h: Break long line.
23873
23874 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23875
23876         Improve pmccabe2html.
23877         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23878         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23879         when the sources change. Remove the line in the HTML about "Used
23880         ranges" (which implied that there might be other unused ranges),
23881         rename "Resume" to "Summary" (easier to understand for more users).
23882         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23883         styles, and some unnecessary blank lines.
23884
23885 2010-10-03  Bruno Haible  <bruno@clisp.org>
23886             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23887
23888         acl: Add support for ACLs on NonStop Kernel.
23889         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23890         Check whether the function aclsort() exists.
23891         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23892         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23893         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23894         (acl_nontrivial [HAVE_ACLSORT]: New function.
23895         (file_has_acl): Implement for NonStop Kernel.
23896         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23897         (qset_acl): Implement for NonStop Kernel.
23898         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23899         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23900         (main): Implement for NonStop Kernel.
23901         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23902         Kernel. Handle this flavor.
23903         * tests/test-set-mode-acl.sh: Likewise.
23904         * tests/test-copy-acl.sh: Likewise.
23905         * tests/test-copy-file.sh: Likewise.
23906
23907 2010-10-03  Bruno Haible  <bruno@clisp.org>
23908
23909         Info about ACLs on NonStop Kernel.
23910         * doc/acl-resources.txt: Add info about NonStop Kernel.
23911         References by Joachim Schmitz <schmitz@hp.com>.
23912
23913 2010-10-02  Bruno Haible  <bruno@clisp.org>
23914
23915         Define missing EDQUOT on NonStop Kernel.
23916         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23917         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23918         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23919         missing.
23920         * doc/posix-headers/errno.texi: Mention the NSK bug.
23921         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23922         Reported by Joachim Schmitz <schmitz@hp.com>.
23923
23924 2010-10-02  Bruno Haible  <bruno@clisp.org>
23925
23926         Update doc for POSIX:2008.
23927         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23928         Update URL of POSIX specification.
23929
23930 2010-10-02  Bruno Haible  <bruno@clisp.org>
23931
23932         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23933         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23934         from gnulib, not from Automake.
23935
23936 2010-10-02  Bruno Haible  <bruno@clisp.org>
23937
23938         New module 'system-posix'.
23939         * modules/system-posix: New file.
23940         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23941         module is present.
23942         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23943         GNULIB_SYSTEM_POSIX.
23944         * modules/stdlib (Depends-on): Remove sys_wait.
23945         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23946         * doc/posix-functions/system.texi: Mention the new module.
23947         * doc/posix-headers/stdlib.texi: Likewise.
23948         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23949         define test_sys_wait_macros to a no-op.
23950         Reported by Sam Steingold <sds@gnu.org>.
23951
23952 2010-09-30  Bruno Haible  <bruno@clisp.org>
23953
23954         More renaming from 'getdate' to 'get_date'.
23955         * doc/get_date.texi: Renamed from doc/getdate.texi.
23956         * modules/get_date (Files): Update.
23957         * MODULES.html.sh (Date and time <time.h>): Update.
23958         * DEPENDENCIES: Update.
23959         * gnulib-tool: Update comment.
23960         * m4/bison.m4 (gl_BISON): Likewise.
23961         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23962
23963 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23964
23965         bootstrap: support ACLOCAL_FLAGS during aclocal
23966         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23967         can add additional -I dir for third-party .m4 files.
23968
23969 2010-09-30  Eric Blake  <eblake@redhat.com>
23970
23971         bootstrap: use glibtoolize on MacOS
23972         * build-aux/bootstrap (check_versions): Convert libtool into
23973         libtoolize.
23974         (tool search): Move libtool check earlier, and look for
23975         glibtoolize for MacOS.
23976         (gnulib_tool_options): Auto-add --libtool when appropriate.
23977         Reported by Justin Clift.
23978
23979         poll: fix typo that broke test on MacOS
23980         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23981         Reported by Justin Clift.
23982
23983         getdate: rename to get_date
23984         Note: getdate.h is not renamed, to minimize client impact.
23985         * modules/getdate: Mark obsolete.  Move old contents...
23986         * modules/get_date: ...to new module name.
23987         * modules/getdate-tests: Move...
23988         * modules/get_date-tests: ...here.
23989         * m4/getdate.m4: Move...
23990         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23991         * lib/getdate.y: Move...
23992         * lib/get_date.y: ...here.
23993         * tests/test-getdate.c: Move...
23994         * tests/test-get_date.c: ...here.
23995         * doc/posix-functions/getdate.texi (getdate): Update name.
23996         * NEWS: Mention the change.
23997
23998 2010-09-29  Bruno Haible  <bruno@clisp.org>
23999
24000         Separate the module 'waitpid' from the module 'sys_wait'.
24001         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24002         present.
24003         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24004         gl_MODULE_INDICATOR_FOR_TESTS.
24005         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24006         * modules/sys_wait (Depends-on): Remove waitpid.
24007         (Makefile.am): Substitute GNULIB_WAITPID.
24008         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24009         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24010         signature only if the 'waitpid' module is present.
24011         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24012         * NEWS: Mention the change.
24013         * modules/grantpt (Depends-on): Add waitpid.
24014         * modules/wait-process (Depends-on): Likewise.
24015
24016 2010-09-29  Bruno Haible  <bruno@clisp.org>
24017
24018         More tests for module 'sys_wait'.
24019         * modules/sys_wait-c++-tests: New file.
24020         * tests/test-sys_wait-c++.cc: New file.
24021         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24022         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24023
24024 2010-09-29  Bruno Haible  <bruno@clisp.org>
24025
24026         New module 'waitpid'.
24027         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24028         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24029         Don't include <process.h>.
24030         (waitpid): Declare only, using modern idiom.
24031         * m4/waitpid.m4: New file.
24032         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24033         * modules/waitpid: New file.
24034         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24035         (Makefile.am): Update.
24036         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24037
24038 2010-09-28  Bruno Haible  <bruno@clisp.org>
24039
24040         poll: Assume ANSI C.
24041         * lib/poll.c (poll): Use an ANSI C declaration.
24042
24043 2010-09-28  Bruno Haible  <bruno@clisp.org>
24044
24045         poll-h: Create poll.h on all platforms.
24046         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24047         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24048         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24049         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24050         (gl_REPLACE_POLL_H): Don't set POLL_H.
24051         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24052         * modules/poll-h (Depends-on): Add include_next.
24053         (Makefile.am): Create poll.h unconditionally. Substitute also
24054         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24055
24056 2010-09-28  Bruno Haible  <bruno@clisp.org>
24057
24058         Tests for module 'poll-h'.
24059         * modules/poll-h-c++-tests: New file.
24060         * tests/test-poll-h-c++.cc: New file.
24061
24062         Tests for module 'poll-h'.
24063         * modules/poll-h-tests: New file.
24064         * tests/test-poll-h.c: New file.
24065
24066 2010-09-28  Bruno Haible  <bruno@clisp.org>
24067
24068         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24069         * modules/poll-h (Depends-on): Add 'extensions'.
24070
24071 2010-09-28  Bruno Haible  <bruno@clisp.org>
24072
24073         New module 'poll-h'.
24074         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24075         (poll): Use modern idiom.
24076         * modules/poll-h: New file.
24077         * modules/poll (Files): Remove lib/poll.in.h.
24078         (Depends-on): Add poll-h.
24079         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24080         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24081         * m4/poll_h.m4: New file.
24082         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24083         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24084         and invoke gl_REPLACE_POLL_H.
24085         * lib/poll.c: Use common idiom.
24086         * tests/test-poll.c: Likewise.
24087         * doc/posix-headers/poll.texi: Mention the poll-h module.
24088         Suggested by Eric Blake.
24089
24090 2010-09-26  Bruno Haible  <bruno@clisp.org>
24091
24092         sys_wait: Implement WSTOPSIG.
24093         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24094         Reported by Simon Josefsson.
24095
24096 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24097
24098         stdlib, sys_wait: Avoid compilation error on mingw.
24099         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24100
24101 2010-09-26  Bruno Haible  <bruno@clisp.org>
24102
24103         stdlib tests: Avoid code duplication.
24104         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24105         * modules/sys_wait-tests (Files): Likewise.
24106         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24107         * tests/test-stdlib.c: Include test-sys_wait.h.
24108         (main): Invoke test_sys_wait_macros.
24109         * tests/test-sys_wait.c: Include test-sys_wait.h.
24110         (main): Invoke test_sys_wait_macros.
24111
24112 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24113
24114         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24115         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24116         sure Windows sockets are working before calling getaddrinfo.
24117         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24118         * doc/gnulib.texi (Windows sockets): Fix typo.
24119
24120 2010-09-25  Bruno Haible  <bruno@clisp.org>
24121
24122         Tests for module 'regex-quote'.
24123         * modules/regex-quote-tests: New file.
24124         * tests/test-regex-quote.c: New file.
24125
24126         New module 'regex-quote'.
24127         * lib/regex-quote.h: New file.
24128         * lib/regex-quote.c: New file.
24129         * modules/regex-quote: New file.
24130         Suggested by Reuben Thomas <rrt@sc3d.org>.
24131
24132 2010-09-24  Bruno Haible  <bruno@clisp.org>
24133
24134         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24135         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24136
24137 2010-09-23  Bruno Haible  <bruno@clisp.org>
24138
24139         setenv: Relax license.
24140         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24141         Blake.
24142         Requested by Eric Blake.
24143
24144 2010-09-22  Bruno Haible  <bruno@clisp.org>
24145
24146         termios: Relax license.
24147         * modules/termios (License): Change to LGPLv2+.
24148         Requested by Eric Blake.
24149
24150 2010-09-22  Bruno Haible  <bruno@clisp.org>
24151
24152         threadlib: Allow the package to change the default to 'no'.
24153         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24154         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24155         Reported by Paul Eggert.
24156
24157 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24158             Bruno Haible  <bruno@clisp.org>
24159
24160         Fix endless loop in mbmemcasecoll.
24161         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24162         byte.
24163         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24164
24165 2010-09-22  Bruno Haible  <bruno@clisp.org>
24166
24167         Tests for module 'memcoll'.
24168         * modules/memcoll-tests: New file.
24169         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24170
24171         memcoll, xmemcoll: Clarify size vs. length.
24172         * modules/memcoll.c (memcoll0): Clarify specification.
24173         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24174         passed to collate_error.
24175
24176 2010-09-22  Bruno Haible  <bruno@clisp.org>
24177
24178         Tests for module 'memcasecmp'.
24179         * modules/memcasecmp-tests: New file.
24180         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24181
24182 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24183
24184         * lib/pthread.in.h: Add split double-inclusion guard, and include
24185         system <pthread.h> if there is one.  Use @@-style as in other
24186         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24187         pthread.h doesn't.
24188         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24189         (pthread_mutexattr_settype, pthread_mutex_trylock):
24190         New static inline functions, if there's no system <pthread.h>.
24191         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24192         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24193         Approximate with mutexes if the system lacks spinlocks, as in
24194         MacOS.
24195         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24196         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24197         @@-style.  Check for spinlocks separately.
24198         (gl_PTHREAD_DEFAULTS): New macro.
24199         * modules/pthread: Redo to use a more typical style for in.h files.
24200
24201 2010-09-21  Eric Blake  <eblake@redhat.com>
24202
24203         net_if: enhance tests
24204         * tests/test-net_if.c (main): Move signature checks earlier.
24205         Print failures to stderr.
24206         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24207         Document the bug that we do not yet fix.
24208
24209 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24210
24211         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24212         about gnulib, not GSS.
24213
24214 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24215
24216         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24217         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24218         for Emacs.
24219         * build-aux/pmccabe2html: Make Makefile.am example code more
24220         cut-and-paste friendly.
24221
24222 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24223
24224         * tests/test-net_if.c: New file.
24225         * modules/net_if-tests: New file.
24226
24227 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24228
24229         pthread: add pthread_spin_destroy
24230         * lib/pthread.in.h (pthread_spin_destroy): New function.
24231
24232 2010-09-19  Bruno Haible  <bruno@clisp.org>
24233
24234         gnulib-tool: Fix --help output.
24235         * gnulib-tool (func_usage): Fix help message.
24236         Reported by Reuben Thomas <rrt@sc3d.org>.
24237
24238 2010-09-18  Jim Meyering  <meyering@redhat.com>
24239
24240         maint.mk: avoid unexpanded \n in two diagnostics
24241         * top/maint.mk (sc_prohibit_always_true_header_tests):
24242         Don't use a literal \n in a halt=... assignment.  It would not be
24243         expanded, and the two \n bytes would appear in the diagnostic output
24244         rather than the desired newline.  Use halt=$$(printf ... instead.
24245         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24246
24247 2010-09-18  Bruno Haible  <bruno@clisp.org>
24248
24249         netinet_in: Doc tweak.
24250         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24251         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24252
24253 2010-09-18  Jim Meyering  <meyering@redhat.com>
24254
24255         init.sh: correct an outdated comment
24256         * tests/init.sh (create_exe_shims_):  s/function/alias/
24257
24258         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24259         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24260         a file named "*.exe" is removed between the glob expansion and the
24261         processing of that oddly named file.
24262
24263 2010-09-17  Eric Blake  <eblake@redhat.com>
24264
24265         mirbsd: add some more support
24266         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24267         in BSD family.
24268         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24269         devices as OpenBSD.
24270         * m4/host-os.m4 (mirbsd): Add MirBSD.
24271
24272         tests: fix unportable assumption on sys/wait.h
24273         * tests/test-sys_wait.c (main): Relax test.
24274         * tests/test-stdlib.c (main): Likewise.
24275
24276         init.sh: accomodate directory with no .exes
24277         * tests/init.sh: Accomodate directory containing only scripts.
24278
24279         tests: avoid compiler warning
24280         * tests/test-stdlib.c (main): Use the variable.
24281
24282         fdutimens, fdutimensat: update signature, again
24283         * lib/utimens.h (gl_futimens): Delete, and move signature...
24284         (fdutimens): ...here.
24285         (fdutimensat): Rearrange signature.
24286         (lutimensat): Rename variable for clarity.
24287         * lib/fdutimensat.c (fdutimensat): Update signature.
24288         * lib/utimens.c (fdutimens): Likewise.
24289         (gl_futimens): Delete.
24290         (utimens, lutimens): Update callers.
24291         * lib/futimens.c (futimens): Likewise.
24292         * tests/test-fdutimensat.c: Likewise.
24293         * tests/test-utimens.c: Likewise.
24294         * tests/test-futimens.h: Update comment.
24295         * NEWS: Mention this.
24296         Suggested by Paul Eggert.
24297
24298 2010-09-17  Bruno Haible  <bruno@clisp.org>
24299
24300         Take over the maintenance of some older macros from Autoconf.
24301         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24302         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24303         GNU Autoconf.
24304         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24305         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24306
24307 2010-09-17  Eric Blake  <eblake@redhat.com>
24308
24309         fdutimensat: drop atflag validation
24310         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24311         with valid fd, to close a race scenario where futimens is
24312         unsupported and FILE was replaced by a symlink.
24313         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24314         accordingly.
24315         Suggested by Paul Eggert.
24316
24317 2010-09-16  Bruno Haible  <bruno@clisp.org>
24318
24319         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24320         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24321
24322 2010-09-16  Bruno Haible  <bruno@clisp.org>
24323
24324         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24325         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24326         login_tty exists.
24327         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24328
24329 2010-09-16  Bruno Haible  <bruno@clisp.org>
24330
24331         login_tty: Make the replacement code work on BSD systems.
24332         * lib/login_tty.c: Include <sys/ioctl.h>.
24333         (login_tty): Use ioctl TIOCSCTTY when available.
24334         * modules/login_tty (Depends-on): Add sys_ioctl.
24335         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24336
24337 2010-09-16  Bruno Haible  <bruno@clisp.org>
24338
24339         login_tty: Stricter unit test.
24340         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24341         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24342         and tcgetsid() after login_tty.
24343         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24344
24345 2010-09-16  Bruno Haible  <bruno@clisp.org>
24346
24347         New module 'tcgetsid'.
24348         * lib/tcgetsid.c: New file.
24349         * m4/tcgetsid.m4: New file.
24350         * modules/tcgetsid: New file.
24351         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24352         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24353         GNULIB_TCGETSID, HAVE_TCGETSID.
24354         * lib/termios.in.h: Include <sys/types.h>.
24355         (tcgetsid): New declaration.
24356         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24357         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24358         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24359         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24360
24361 2010-09-16  Bruno Haible  <bruno@clisp.org>
24362
24363         Tests for module 'termios'.
24364         * modules/termios-c++-tests: New file.
24365         * modules/termios-tests: New file.
24366         * tests/test-termios-c++.cc: New file.
24367         * tests/test-termios.c: New file.
24368
24369         New module 'termios'.
24370         * modules/termios: New file.
24371         * lib/termios.in.h: New file.
24372         * m4/termios_h.m4: New file.
24373         * doc/posix-headers/termios.texi: Mention the new module.
24374
24375 2010-09-16  Eric Blake  <eblake@redhat.com>
24376
24377         fdutimensat: add an atflag parameter
24378         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24379         * lib/utimens.h (fdutimensat): Update prototype.
24380         * tests/test-fdutimensat.c: Adjust test to match.
24381         * NEWS: Document the change.
24382         Suggested by Paul Eggert.
24383
24384 2010-09-16  Bruno Haible  <bruno@clisp.org>
24385
24386         Fix typos in comments.
24387         * lib/striconveh.h: Fix typo in comment.
24388         * lib/login_tty.c (login_tty): Likewise.
24389
24390 2010-09-15  Bruno Haible  <bruno@clisp.org>
24391
24392         stdlib: clarify MirBSD WEXITSTATUS bug
24393         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24394         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24395
24396 2010-09-15  Eric Blake  <eblake@redhat.com>
24397
24398         stdlib: work around MirBSD WEXITSTATUS bug
24399         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24400         * modules/stdlib (Depends-on): Add sys_wait.
24401         * tests/test-sys_wait.c (main): Enhance test.
24402         * tests/test-stdlib.c (main): Likewise.
24403         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24404
24405         docs: mention MacOS issue with WEXITSTATUS(constant)
24406         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24407         issue.
24408         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24409
24410         strnlen: add tests
24411         * modules/strnlen-tests: New file.
24412         * tests/test-strnlen.c: Likewise.
24413
24414 2010-09-14  Bruno Haible  <bruno@clisp.org>
24415
24416         unistr/base: Avoid link errors when module 'libunistring' is also used.
24417         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24418         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24419         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24420         Declare also when HAVE_LIBUNISTRING is set.
24421         Reported by Pádraig Brady <P@draigbrady.com>.
24422
24423 2010-09-14  Eric Blake  <eblake@redhat.com>
24424
24425         test-rawmemchr: make more robust
24426         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24427         (Depends-on, configure.ac): Add needed prerequisites to use it.
24428         * modules/memchr-tests (Files, Depends-on, configure.ac):
24429         Likewise, to avoid implicit reliance on memchr module prereqs.
24430         * tests/test-memchr.c (main): Ensure proper masking.
24431         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24432         reads.
24433
24434         memchr: detect glibc Alpha bug
24435         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24436         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24437         Alpha.
24438         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24439         * tests/test-memchr.c (main): Enhance test.
24440         Reported by Nelson H. F. Beebe.
24441
24442 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24443
24444         fts, getcwd, glob: audit for dirfd returning -1
24445         * lib/fts.c (opendir): Remove #define; no longer used.
24446         (opendirat): New arg PDIR_FD.  All callers changed.
24447         (fts_build, _opendir2): Use new opendirat to avoid the need for
24448         dirfd, or for checking whether dirfd returns a negative value.
24449         Don't use opendir; always use openat followed by fdopendir.
24450         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24451         it.
24452         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24453         returns -1 here.
24454         * modules/fts (Depends-on): Remove dirfd.
24455         * modules/getcwd (Depends-on): Likewise.
24456
24457 2010-09-13  Eric Blake  <eblake@redhat.com>
24458
24459         float: fix broken MirBSD header
24460         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24461         * doc/posix-headers/float.texi (float.h): Document it.
24462
24463 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24464
24465         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24466         * lib/fts.c (opendirat): New arg extra_flags.
24467         (__opendir2): Use it to avoid following symlinks when opening
24468         a directory, if symlinks are not supposed to be followed.  See
24469         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24470
24471         fdopendir: preserve argument fd before returning
24472         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24473         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24474         (fdopendir): Use them, arranging for FD to be open to the same
24475         directory that it was when it started.  (It might be temporarily
24476         closed while fdopendir is running, so this not thread- or
24477         signal-safe.)  Be careful to do the right thing even when file
24478         descriptors are scarce and dup fails with errno == EMFILE.  See
24479         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24480
24481 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24482
24483         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24484         * NEWS: Document change.
24485         * m4/regex.m4: Disable test for regoff_t size.
24486
24487 2010-09-13  Jim Meyering  <meyering@redhat.com>
24488
24489         fts: don't operate on an invalid file descriptor after failed dup
24490         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24491         negative file descriptor.
24492
24493 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24494
24495         savedir: add streamsavedir, deprecate fdsavedir
24496         * NEWS: Mention deprecation of fdsavedir.
24497         * lib/savedir.c (streamsavedir): New extern function, whose name
24498         ends in "savedir" to be consistent with the others.  This differs
24499         from savedirstream in that it doesn't close its argument.  The
24500         next version of GNU tar will use this instead of fdsavedir, to
24501         avoid some race conditions and conserve file descriptors.
24502         (savedirstream): Reimplement as a wrapper around streamsavedir.
24503         (fdsavedir): Add a comment deprecating this function.  As far as
24504         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24505         * lib/savedir.h (streamsavedir): New decl.
24506         (fdsavedir): Add a comment deprecating this.
24507
24508 2010-09-10  Bruno Haible  <bruno@clisp.org>
24509
24510         langinfo: Fix last commit.
24511         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24512         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24513         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24514
24515 2010-09-10  Bruno Haible  <bruno@clisp.org>
24516
24517         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24518         * lib/progreloc.c (O_EXEC): Define fallback.
24519
24520 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24521
24522         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24523         * NEWS: Document recent changes to fcntl-h.
24524         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24525         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24526         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24527         Similarly for O_SEARCH; this last was already true, but not documented.
24528         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24529         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24530         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24531         Likewise.
24532         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24533         is zero, not whether it is defined.
24534         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24535         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24536         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24537
24538 2010-09-10  Bruno Haible  <bruno@clisp.org>
24539
24540         langinfo, nl_langinfo: Fix for IRIX 5.3.
24541         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24542         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24543         HAVE_LANGINFO_YESEXPR.
24544         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24545         HAVE_LANGINFO_YESEXPR.
24546         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24547         HAVE_LANGINFO_T_FMT_AMPM is 0.
24548         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24549         HAVE_LANGINFO_YESEXPR is 0.
24550         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24551         NOEXPR.
24552         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24553         * doc/posix-functions/nl_langinfo.texi: Likewise.
24554         Reported by Eric Blake.
24555
24556 2010-09-10  Bruno Haible  <bruno@clisp.org>
24557
24558         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24559         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24560         on FreeBSD 8.0 and OpenBSD 4.6.
24561         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24562         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24563         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24564         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24565         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24566         ac_includes_default.
24567         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24568
24569 2010-09-09  Eric Blake  <eblake@redhat.com>
24570
24571         strsignal: work around NetBSD bug
24572         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24573         * lib/string.in.h (includes): Likewise.
24574         * doc/posix-functions/strsignal.texi (strsignal): Document the
24575         bug.
24576         Reported by Nelson H. F. Beebe.
24577
24578         gnulib-tool: work with NetBSD /bin/sh
24579         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24580         (func_get_description, func_get_comment, func_get_status)
24581         (func_get_notice, func_get_applicability, func_get_filelist)
24582         (func_get_dependencies, func_get_autoconf_early_snippet)
24583         (func_get_autoconf_snippet, func_get_automake_snippet)
24584         (func_get_include_directive, func_get_link_directive)
24585         (func_get_license, func_get_maintainer, func_import): Avoid
24586         shell syntax errors from parsing syntax extensions.
24587
24588 2010-09-09  Bruno Haible  <bruno@clisp.org>
24589
24590         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24591         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24592         a reliable way to determine whether the 'alias' command works.
24593
24594 2010-09-08  Jim Meyering  <meyering@redhat.com>
24595
24596         init.sh: penalize a set-x-impaired shell; don't disqualify it
24597         * tests/init.sh: Too many shells corrupt application stderr when
24598         you set -x, so we can't afford to disqualify them, since at least
24599         on Irix-6.5, that would disqualify all bourne shells.
24600         Instead, use a two-pass approach.
24601         On the first pass, try to find a shell that meets the stricter
24602         condition that set -x does not corrupt stderr.
24603         If no shell meets the stricter condition, retest each candidate
24604         shell, but without that extra condition.  Finally, when
24605         VERBOSE=yes is requested and set -x might cause trouble, simply
24606         issue a warning and refrain from enabling debug output.
24607
24608 2010-09-08  Eric Blake  <eblake@redhat.com>
24609
24610         unsetenv: fix OpenBSD bug
24611         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24612         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24613         documentation.
24614         Reported by Jim Meyering.
24615
24616         strtod: work around IRIX 6.5 bug
24617         * lib/strtod.c (strtod): Reparse number on shorter string if
24618         exponent parse was invalid.
24619         * tests/test-strtod.c (main): Add check for "0x1p 2".
24620         Reported by Tom G. Christensen.
24621
24622         getopt: optimize previous patch
24623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24624         empty variable.  Speed up awk script.
24625         Reported by Paolo Bonzini.
24626
24627 2010-09-08  Jim Meyering  <meyering@redhat.com>
24628
24629         test.sh: disqualify shells for which set -x corrupts stderr
24630         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24631         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24632         appear in stderr output.  For example, this command:
24633             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24634         prints "P=1" on those two systems:
24635
24636 2010-09-08  Bruno Haible  <bruno@clisp.org>
24637
24638         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24639         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24640         commands, because some shells ignore redirections when there is an
24641         error in the command lookup.
24642         Reported by Eric Blake.
24643
24644 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24645
24646         * lib/regex.h: Fix a mention of `regex_compile' (should be
24647         `re_compile_pattern').
24648         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24649         (re_set_registers): Correct name of parameter in comment.
24650
24651         * doc/regex.texi: Add documentation for missing syntax flags.
24652         Remove commented-out documentation of defunct syntax option
24653         RE_NO_EMPTY_ALTS.
24654         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24655         Add documentation of re_set_registers.
24656         Document trick to re-use a pattern buffer by setting fastmap manually.
24657         Update documentation of struct re_pattern_buffer per public members.
24658         Uncomment documentation of equivalence class operators and
24659         collating symbol operators, since they are now implemented,
24660         Explain leftmost-longest matching in relation to alternatives.
24661         Tidy documentation of substring matching.
24662         Remove POSIX documentation, which is done better in
24663         glibc, and refer the reader there. Keep BSD API documentation, as
24664         that is not readily available elsewhere.
24665
24666 2010-09-07  Eric Blake  <eblake@redhat.com>
24667
24668         getopt: handle POSIXLY_CORRECT set but not exported
24669         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24670         export state of POSIXLY_CORRECT, due to bash set -o posix.
24671         Reported by Dustin J. Mitchell.
24672
24673 2010-09-05  Bruno Haible  <bruno@clisp.org>
24674
24675         gnulib-tool: Highlight the changed options.
24676         * gnulib-tool (func_usage): Display the --import, --add-import,
24677         --remove-import explanations in bold font.
24678
24679 2010-09-06  Karl Berry  <karl@gnu.org>
24680
24681         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24682
24683 2010-09-05  Bruno Haible  <bruno@clisp.org>
24684
24685         uniwidth/width: Update comment.
24686         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24687         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24688
24689 2010-09-05  Bruno Haible  <bruno@clisp.org>
24690
24691         isinf, isnan: Relax license.
24692         * modules/isinf (License): Change from GPL to LGPL, with consent from
24693         Ben Pfaff.
24694         * modules/isnan (License): Likewise.
24695         Requested by Ludovic Courtès.
24696
24697 2010-09-04  Bruno Haible  <bruno@clisp.org>
24698
24699         gnulib-tool: Help migration from --import to --add-import or --update.
24700         * gnulib-tool: Emit a verbose error message when --import is used
24701         without any module name.
24702
24703 2010-09-04  Bruno Haible  <bruno@clisp.org>
24704
24705         Update doc about gnulib-tool.
24706         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24707         'gnulib-tool --update' in more detail.
24708         Reported by Eric Blake.
24709
24710 2010-09-04  Bruno Haible  <bruno@clisp.org>
24711
24712         gnulib-tool: Change --import. New options --add/remove-import.
24713         * gnulib-tool: New options --add-import, --remove-import.
24714         (func_usage): Document them.
24715         (have_associative): Define always.
24716         (func_import): In import mode, don't merge the specified settings with
24717         the cached settings. Implement remove-import mode.
24718         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24719         Explain when to use them versus --import.
24720         (Simple update): Use --add-import instead of --import.
24721         * NEWS: Mention the change.
24722
24723 2010-09-04  Bruno Haible  <bruno@clisp.org>
24724
24725         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24726         separate gnulib.mk.
24727
24728 2010-09-04  Bruno Haible  <bruno@clisp.org>
24729
24730         gnulib-tool: Don't talk about CVS any more.
24731         * gnulib-tool (func_usage, func_import): Write "version control"
24732         instead of CVS.
24733
24734 2010-09-04  Jim Meyering  <meyering@redhat.com>
24735
24736         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24737         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24738         false positives (whose names may be ill-chosen) when searching
24739         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24740         would cause a false-positive.
24741
24742         avoid coreutils "make distcheck" failure
24743         Coreutils tests with an absolute build directory name that contains
24744         a space.  Not quoting this directory name caused a failure.
24745         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24746         * tests/test-vc-list-files-cvs.sh: Likewise.
24747
24748 2010-09-04  Bruno Haible  <bruno@clisp.org>
24749
24750         gnulib-tool: Avoid error when run in a package without Makefile.am.
24751         * gnulib-tool: When collecting the m4dirs in a package that does not
24752         have a Makefile.am, eliminate those directories that contain no
24753         gnulib-cache.m4. Fix expression that counts these directories.
24754
24755 2010-09-04  Bruno Haible  <bruno@clisp.org>
24756
24757         update-copyright test: Improve output when perl is missing or too old.
24758         * tests/test-update-copyright.sh: Move test of Perl version down after
24759         the test whether Perl exists. Provide an explanation relating Perl's
24760         error message to Automake's SKIP: message.
24761
24762 2010-09-04  Bruno Haible  <bruno@clisp.org>
24763
24764         Don't augment PATH in TESTS_ENVIRONMENT.
24765         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24766         set abs_aux_dir instead of augmenting PATH.
24767         * modules/vc-list-files-tests (Makefile.am): Likewise.
24768         * tests/test-update-copyright.sh: Augment PATH here.
24769         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24770         path_prepend_.
24771         * tests/test-vc-list-files-git.sh: Likewise.
24772
24773 2010-09-04  Jim Meyering  <meyering@redhat.com>
24774
24775         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24776         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24777
24778 2010-09-04  Bruno Haible  <bruno@clisp.org>
24779
24780         strdup: Fix compilation error in C++ mode.
24781         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24782         the macro.
24783
24784 2010-09-04  Bruno Haible  <bruno@clisp.org>
24785
24786         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24787         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24788         macro into a function.
24789         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24790
24791 2010-09-04  Bruno Haible  <bruno@clisp.org>
24792
24793         Set PATH_SEPARATOR the same way autoconf does.
24794         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24795         the value of PATH_SEPARATOR the same way autoconf-generated configure
24796         scripts do.
24797         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24798         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24799
24800 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24801
24802         Set PATH_SEPARATOR the same way autoconf does.
24803         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24804         the same way autoconf-generated configure scripts do.
24805         * posix-modules: Likewise.
24806
24807 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24808
24809         hash: fix safe_hasher const typo
24810         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24811         const; otherwise, there is a type error later.
24812
24813 2010-09-02  Jim Meyering  <meyering@redhat.com>
24814
24815         test-update-copyright.sh: require perl 5.8.0
24816         * tests/test-update-copyright.sh: Require 5.8.0,
24817         which Tom G. Christensen has confirmed is adequate,
24818         while 5.6.1 is not.
24819
24820 2010-09-02  Eric Blake  <eblake@redhat.com>
24821
24822         tests: init.sh improvements for re-exec'ing with zsh
24823         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24824         -vx through shell re-exec.
24825         Reported by Tom G. Christensen.
24826
24827         wctype: fix typo in previous commit
24828         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24829         Reported by Ludovic Courtès.
24830
24831 2010-09-02  Jim Meyering  <meyering@redhat.com>
24832
24833         test-update-copyright.sh: skip test if Perl is too old
24834         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24835         Reported by Tom G. Christensen.
24836
24837 2010-09-02  Bruno Haible  <bruno@clisp.org>
24838
24839         wctype: Avoid compilation error on IRIX 6.5.30.
24840         * lib/wctype.in.h (iswblank): Declare with a replacement if
24841         REPLACE_ISWBLANK is set.
24842         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24843         declared. Set REPLACE_ISWBLANK.
24844         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24845         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24846         * doc/posix-headers/wctype.texi: Likewise.
24847         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24848
24849 2010-09-01  Bruno Haible  <bruno@clisp.org>
24850
24851         New module 'socketlib'.
24852         * modules/socketlib: New file.
24853         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24854         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24855         * modules/sockets (Depends-on): Add socketlib.
24856         Suggested by Sam Steingold <sds@gnu.org>.
24857
24858 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24859
24860         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24861
24862         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24863         when one needs search access to a directory but not read access.
24864         On systems where it is available, it works in some cases where
24865         O_RDONLY does not, namely on directories that are searchable but
24866         not readable, and which need only to be searchable.  If O_SEARCH
24867         is not available, fall back to the traditional method of using
24868         O_RDONLY.
24869
24870         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24871         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24872         when opening a directory that needs only to be searchable.
24873         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24874         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24875         * lib/openat-proc.c (openat_proc_name): Likewise.
24876         * lib/openat.c (openat_needs_fchdir): Likewise.
24877         * lib/save-cwd.c (save_cwd): Likewise.
24878         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24879
24880 2010-08-28  Bruno Haible  <bruno@clisp.org>
24881
24882         New module 'host-cpu-c-abi'.
24883         * modules/host-cpu-c-abi: New file.
24884         * m4/host-cpu-c-abi.m4: New file, based on part of
24885         clisp/src/m4/general.m4.
24886         Requested by Sam Steingold <sds@gnu.org>.
24887
24888 2010-08-31  Eric Blake  <eblake@redhat.com>
24889         and Jim Meyering  <meyering@redhat.com>
24890
24891         hash: factor, and guard against misbehaving hasher function
24892         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24893         of table->hasher's return value.  Also protect against a hash value
24894         so large that adding it to table->bucket results in a NULL pointer.
24895         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24896         Use it in place of open-coded check-and-abort.
24897
24898 2010-08-30  Bruno Haible  <bruno@clisp.org>
24899
24900         hash: silence spurious clang warning
24901         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24902         Reported by Eric Blake.
24903
24904 2010-08-30  Eric Blake  <eblake@redhat.com>
24905
24906         strstr, memmem, strcasestr: avoid leaked shell message
24907         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24908         FreeBSD.
24909         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24910         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24911
24912         tests: silence clang warning
24913         * tests/test-malloca.c (do_allocation): Avoid dead store.
24914
24915 2010-08-29  Bruno Haible  <bruno@clisp.org>
24916
24917         gettext: Fix recent mistake.
24918         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24919
24920 2010-08-29  Bruno Haible  <bruno@clisp.org>
24921
24922         selinux-h: Offer a --without-selinux option.
24923         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24924         --without-selinux was specified, skip all tests and define
24925         HAVE_SELINUX_SELINUX_H to 0.
24926         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24927         set LIB_SELINUX to empty.
24928         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24929         gl_LIBSELINUX. If --without-selinux was specified, replace
24930         selinux/context.h.
24931         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24932
24933 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24934             Bruno Haible  <bruno@clisp.org>
24935
24936         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24937         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24938         of HAVE_REALLOC.
24939         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24940         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24941         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24942         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24943
24944 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24945             Bruno Haible  <bruno@clisp.org>
24946
24947         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24948         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24949         HAVE_CALLOC.
24950         * lib/xmalloc.c: Update accordingly.
24951         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24952         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24953         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24954
24955 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24956             Bruno Haible  <bruno@clisp.org>
24957
24958         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24959         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24960         HAVE_MALLOC.
24961         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24962         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24963         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24964
24965 2010-08-29  Bruno Haible  <bruno@clisp.org>
24966
24967         Update modules list.
24968         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24969         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24970         (String handling <string.h>): Add astrxfrm.
24971         (File system functions): Add readlinkat.
24972
24973 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24974
24975         Tests for module 'realloc-gnu'.
24976         * modules/realloc-gnu-tests: New file.
24977         * tests/test-realloc-gnu.c: New file.
24978
24979         Tests for module 'calloc-gnu'.
24980         * modules/calloc-gnu-tests: New file.
24981         * tests/test-calloc-gnu.c: New file.
24982
24983         Tests for module 'malloc-gnu'.
24984         * modules/malloc-gnu-tests: New file.
24985         * tests/test-malloc-gnu.c: New file.
24986
24987 2010-08-28  Bruno Haible  <bruno@clisp.org>
24988
24989         Rename module 'realloc' -> 'realloc-gnu'.
24990         * modules/realloc-gnu: New file, copied from modules/realloc.
24991         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24992         obsolete.
24993         * modules/mgetgroups (Depends-on): Update.
24994         * doc/posix-functions/realloc.texi: Update.
24995         * NEWS: Mention the change.
24996
24997         Rename module 'calloc' -> 'calloc-gnu'.
24998         * modules/calloc-gnu: New file, copied from modules/calloc.
24999         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25000         obsolete.
25001         * doc/posix-functions/calloc.texi: Update.
25002         * NEWS: Mention the change.
25003
25004         Rename module 'malloc' -> 'malloc-gnu'.
25005         * modules/malloc-gnu: New file, copied from modules/malloc.
25006         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25007         obsolete.
25008         * modules/argp (Depends-on): Update.
25009         * modules/regex (Depends-on): Update.
25010         * doc/posix-functions/malloc.texi: Update.
25011         * NEWS: Mention the change.
25012
25013 2010-08-28  Eric Blake  <eblake@redhat.com>
25014
25015         pread, pwrite: add missing dependency
25016         * modules/pread (Depends-on): Add extensions.
25017         * modules/pwrite (Depends-on): Likewise.
25018
25019 2010-08-28  Bruno Haible  <bruno@clisp.org>
25020
25021         unistr/u*-strchr: Fix tests dependencies.
25022         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25023         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25024         Reported by Ian Beckwith <ianb@erislabs.net>.
25025
25026 2010-08-28  Bruno Haible  <bruno@clisp.org>
25027
25028         read-file: Don't occupy too much unused memory.
25029         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25030
25031 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25032             Eric Blake  <eblake@redhat.com>
25033             Bruno Haible  <bruno@clisp.org>
25034
25035         read-file: Avoid memory reallocations with regular files.
25036         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25037         (fread_file): With regular files, use the remaining length as the
25038         initial buffer size.  Check against overflow.
25039         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25040         sys_stat.
25041
25042 2010-08-28  Bruno Haible  <bruno@clisp.org>
25043
25044         ftello: Relax license.
25045         * modules/ftello (License): Relax to LGPLv2+.
25046         Reported by Eric Blake.
25047
25048 2010-08-28  Bruno Haible  <bruno@clisp.org>
25049
25050         Avoid relocwrapper link errors due to gnulib replacement functions.
25051         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25052         function.
25053         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25054
25055 2010-08-28  Bruno Haible  <bruno@clisp.org>
25056
25057         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25058         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25059         defined.
25060         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25061         Suggested by Eric Blake.
25062
25063 2010-08-28  Bruno Haible  <bruno@clisp.org>
25064
25065         sys_socket, netdb: Ensure socklen_t gets defined.
25066         * modules/sys_socket (Depends-on): Add socklen.
25067         * modules/netdb (Depends-on): Likewise.
25068         * modules/getaddrinfo (Depends-on): Remove socklen.
25069         * modules/getsockopt (Depends-on): Likewise.
25070         * modules/setsockopt (Depends-on): Likewise.
25071         * tests/test-sys_socket.c: Check that socklen_t is defined.
25072         * tests/test-netdb.c: Likewise.
25073         * m4/socklen.m4: Update comments.
25074         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25075
25076 2010-08-27  Eric Blake  <eblake@redhat.com>
25077
25078         login_tty: add missing dependency
25079         * modules/login_tty (Depends-on): Add pty.
25080
25081 2010-08-26  Eric Blake  <eblake@redhat.com>
25082
25083         lib-symbol-versions: fix m4 quoting
25084         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25085         format for AC_LINK_IFELSE.
25086
25087         glob: fix compile test
25088         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25089
25090         btowc: fix missing file
25091         * modules/btowc (Files): Also ship locale-fr.m4.
25092
25093         lseek: fix link test
25094         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25095         AC_LINK_IFELSE.
25096
25097         include_next: silence autoconf 2.68 warning
25098         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25099         AC_COMPILE_IFELSE as special.
25100         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25101         autoconf < 2.68.
25102
25103         acl: fix compilation test
25104         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25105         AC_COMPILE_IFELSE.
25106
25107 2010-08-26  Bruno Haible  <bruno@clisp.org>
25108
25109         Modernize AC_TRY_RUN invocations.
25110         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25111         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25112         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25113         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25114         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25115         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25116         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25117         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25118         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25119         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25120         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25121         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25122         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25123         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25124         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25125         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25126         gl_MBRLEN_NUL_RETVAL): Likewise.
25127         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25128         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25129         Likewise.
25130         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25131         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25132         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25133         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25134         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25135         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25136         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25137         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25138         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25139         Likewise.
25140         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25141         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25142         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25143         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25144         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25145         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25146         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25147         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25148         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25149         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25150
25151 2010-08-26  Bruno Haible  <bruno@clisp.org>
25152
25153         Modernize AC_TRY_LINK invocations.
25154         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25155         AC_TRY_LINK.
25156         * m4/argp.m4 (gl_ARGP): Likewise.
25157         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25158         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25159         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25160         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25161         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25162         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25163         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25164         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25165         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25166         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25167         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25168         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25169         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25170         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25171         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25172         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25173         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25174         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25175         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25176         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25177         Likewise.
25178         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25179         Likewise.
25180         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25181         Likewise.
25182         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25184         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25185         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25186         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25187         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25188         * m4/servent.m4 (gl_SERVENT): Likewise.
25189         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25190         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25191         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25192         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25193         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25194         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25195         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25196         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25197         * modules/tsearch-tests (configure.ac): Likewise.
25198
25199 2010-08-26  Bruno Haible  <bruno@clisp.org>
25200
25201         Modernize AC_TRY_COMPILE invocations.
25202         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25203         AC_TRY_COMPILE.
25204         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25205         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25206         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25207         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25208         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25209         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25210         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25211         * m4/lock.m4 (gl_LOCK): Likewise.
25212         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25213         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25214         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25215         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25216         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25217         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25218         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25219         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25220         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25221         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25222         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25223         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25224         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25225         extraneous semicolon.
25226
25227 2010-08-26  Jim Meyering  <meyering@redhat.com>
25228
25229         stat-time: relax license LGPL
25230         * modules/stat-time (License): Change from GPL to LGPL,
25231         with consent from all contributors, for use in libguile.
25232         Requested by Ludovic Courtès.
25233
25234 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25235
25236         poll: return immediately on POLLHUP.
25237         * lib/poll.c (poll): Always set timeout before wait_timeout is
25238         computed.
25239
25240 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25241
25242         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25243         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25244         rmdir ("dir/.//"), unlinkat.
25245
25246 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25247
25248         stdbool: avoid spurious failure with modern xlc
25249         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25250
25251 2010-08-24  Bruno Haible  <bruno@clisp.org>
25252
25253         getloadavg: simplify code
25254         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25255         gl_have_func. Update comments.
25256
25257 2010-08-24  Eric Blake  <eblake@redhat.com>
25258
25259         getloadavg: don't define SVR4 on cygwin
25260         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25261         only define SVR4 when -lkvm is required.
25262         Reported by Yaakov Selkowitz.
25263
25264 2010-08-24  Bruno Haible  <bruno@clisp.org>
25265
25266         priv-set: fix comment
25267         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25268
25269 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25270
25271         priv-set: fix comments
25272         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25273         to match code, as suggested by David Bartley in:
25274         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25275
25276 2010-08-23  Eric Blake  <eblake@redhat.com>
25277
25278         stdbool: avoid rejecting clang
25279         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25280         * tests/test-stdbool.c: Enable more tests if using the system
25281         <stdbool.h> instead of the gnulib replacement.
25282         (main): Move xlc bug test to a runtime test for all compilers.
25283         Reported by Anders Kaseorg.
25284
25285         argz: fix shell quoting issue
25286         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25287         Reported by Charles Wilson.
25288
25289 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25290             Erik Faye-Lund <kusmabite@gmail.com>
25291
25292         poll, select: handle ERROR_BROKEN_PIPE.
25293         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25294         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25295         * lib/select.c (win32_compute_revents): Do not mark a pipe
25296         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25297
25298 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25299
25300         fts: allow compilation with C++
25301         * lib/fts_.h: Specify extern "C" linkage with C++.
25302
25303 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25304
25305         Fix gnulib-tool sed script de-commentation for AIX sed.
25306         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25307         sed.
25308
25309 2010-08-17  Eric Blake  <eblake@redhat.com>
25310
25311         test-stddef: test for (some) offsetof bugs
25312         * tests/test-stddef.c: Enhance test to ensure correct type of
25313         offsetof.
25314         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25315         that we are not fixing at this time.
25316
25317 2010-08-15  Bruno Haible  <bruno@clisp.org>
25318
25319         stpncpy: Allow stpncpy to be defined as a macro.
25320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25321         if it's already correctly declared.
25322         * lib/string.in.h (stpncpy): Undefine before redefining.
25323         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25324
25325 2010-08-14  Bruno Haible  <bruno@clisp.org>
25326
25327         Rename module 'memxfrm' to 'amemxfrm'.
25328         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25329         (amemxfrm): Renamed from memxfrm.
25330         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25331         (amemxfrm): Renamed from memxfrm.
25332         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25333         * NEWS: Mention the change.
25334         * MODULES.html.sh (String handling <string.h>): Update.
25335         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25336         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25337         * lib/unicase/u16-casexfrm.c: Likewise.
25338         * lib/unicase/u32-casexfrm.c: Likewise.
25339         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25340         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25341         * lib/uninorm/u16-normxfrm.c: Likewise.
25342         * lib/uninorm/u32-normxfrm.c: Likewise.
25343         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25344         memxfrm.
25345         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25346         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25347         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25348         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25349         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25350         Suggested by Paul Eggert.
25351
25352 2010-08-14  Bruno Haible  <bruno@clisp.org>
25353
25354         Tests for module 'astrxfrm'.
25355         * modules/astrxfrm-tests: New file.
25356         * tests/test-astrxfrm.c: New file.
25357
25358         New module 'astrxfrm'.
25359         * lib/astrxfrm.h: New file.
25360         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25361         * modules/astrxfrm: New file.
25362
25363 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25364
25365         regex: Tweak doc.
25366         * doc/regex.texi (Overview): Don't mention regex.c.
25367         (GNU Regular Expression Compiling): Likewise.
25368         (Match-end-of-line Operator): Mention 'not_eol'.
25369
25370 2010-08-14  Brian Gough  <bjg@gnu.org>
25371             Bruno Haible  <bruno@clisp.org>
25372
25373         git-merge-changelog: add doc relating to use with bzr and hg.
25374         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25375
25376 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25377
25378         pthread: fix pthread.h creation for srcdir != builddir
25379         * modules/pthread (Makefile.am): Fix the rule to work also in a
25380         non-srcdir build.
25381
25382 2010-08-13  Karl Berry  <karl@gnu.org>
25383
25384         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25385         * doc/posix-*/*: force line break before @url of POSIX
25386         specifications.
25387         Suggested by Werner Lemberg.
25388
25389 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25390
25391         strtod: fix const diagnostic
25392         * lib/strtod.c (strtod): Don't assign const char * to char *,
25393         as this elicits a warning from GCC when warnings are enabled.
25394
25395 2010-08-10  Pádraig Brady <P@draigbrady.com>
25396         and Eric Blake  <eblake@redhat.com>
25397
25398         copy-acl: ignore ENOTSUP on HP-UX
25399         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25400         so that it is available for HP-UX.
25401         * lib/copy-acl.c (qcopy_acl): Use it.
25402         Reported by Patrick M. Callahan.
25403
25404 2010-08-10  Eric Blake  <eblake@redhat.com>
25405
25406         open, chown: relax license
25407         * modules/open (License): Change to LGPLv2+, with consent by all
25408         authors, for use in augeas.
25409         * modules/chown (License): Likewise.
25410         * modules/lchown (Likewise): Likewise.
25411         Requested by Adam Stokes.
25412
25413 2010-08-09  Karl Berry  <karl@gnu.org>
25414
25415         * build-aux/ar-lib: new file, import from Automake.
25416         * config/srclist.txt: autocheck for updates.
25417
25418 2010-08-09  Eric Blake  <eblake@redhat.com>
25419
25420         readlinkat: adjust client modules
25421         * modules/areadlinkat (Depends-on): Use readlinkat, not
25422         symlinkat.
25423         * modules/areadlinkat-with-size (Depends-on): Likewise.
25424
25425         mknod: be more vocal about danger of running tests as root
25426         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25427         root, since that is just asking for problems.
25428         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25429
25430         readlinkat: split into its own module
25431         * modules/symlinkat: Split readlinkat...
25432         * modules/readlinkat: ...into separate module.
25433         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25434         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25435         * lib/symlinkat.c (readlinkat): Move...
25436         * lib/readlinkat.c: ...into new file.
25437         * modules/symlinkat-tests: Split readlinkat test...
25438         * modules/readlinkat-tests: ...into separate module.
25439         * tests/test-symlinkat.c: Split...
25440         * tests/test-readlinkat.c: ...into new file.
25441         * NEWS: Document the split.
25442         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25443         * lib/unistd.in.h (readlinkat): Likewise.
25444         Suggested by Bruno Haible.
25445
25446 2010-08-08  Bruno Haible  <bruno@clisp.org>
25447
25448         memxfrm: Speed up.
25449         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25450         that usually only one call to strxfrm is necessary for each string
25451         part.
25452         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25453
25454 2010-08-07  Karl Berry  <karl@gnu.org>
25455
25456         * doc/posix-headers/limits.texi,
25457         * doc/posix-functions/malloc.texi,
25458         * doc/posix-functions/strsignal.texi: missing @item.
25459         * doc/ld-version-script.texi: spurious leading i.
25460         * doc/regex.texi (Interval Operators): no commas inside @var.
25461
25462 2010-08-01  Bruno Haible  <bruno@clisp.org>
25463
25464         Integrate the regex documentation.
25465         * doc/gnulib.texi: Define 'cn' index.
25466         (Regular expressions): New a chapter that includes regex.texi and
25467         regexprops-generic.texi.
25468         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25469         syntax.
25470
25471         Whitespace cleanup.
25472         * doc/regex.texi: Remove trailing spaces.
25473
25474         Add regex documentation.
25475         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25476         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25477         Written by Kathy A. Hargreaves and Karl Berry.
25478
25479 2010-08-01  Bruno Haible  <bruno@clisp.org>
25480
25481         link: Update documentation.
25482         * doc/posix-functions/link.texi: Update regarding Solaris.
25483
25484 2010-07-31  Bruno Haible  <bruno@clisp.org>
25485
25486         Update modules list.
25487         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25488         (String handling <string.h>): Add memcmp2, memxfrm.
25489         (Container data structures): Add xlist, xsublist, xoset.
25490         (Core language properties): Add alignof, unused-parameter.
25491         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25492         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25493         (Unibyte characters <ctype.h>): New section.
25494         (String handling <string.h>): New section.
25495         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25496         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25497         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25498         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25499         tan, tanh, tanl, y0, y1, yn.
25500         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25501         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25502         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25503         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25504         unlockpt, vdprintf, vdprintf-posix.
25505         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25506         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25507         xconcat-filename.
25508         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25509         getdtablesize, pipe2, pipe2-safer.
25510         (Security): New section.
25511         (Networking functions): Add accept4.
25512         (Signal handling): Add sigpipe.
25513         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25514         mbmemcasecoll.
25515         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25516         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25517         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25518         pipe-filter-ii.
25519         (Misc): Add argp-version-etc, login_tty, parse-duration.
25520
25521 2010-07-31  Bruno Haible  <bruno@clisp.org>
25522
25523         Improve doc in MODULES.html.
25524         * modules/linkat (Description): Add the word "function".
25525         * modules/mkfifo (Description): Likewise.
25526         * modules/mknod (Description): Likewise.
25527         * modules/remove (Description): Likewise.
25528         * modules/renameat (Description): Likewise.
25529         * modules/stat (Description): Likewise.
25530         * modules/symlink (Description): Likewise.
25531         * modules/unlink (Description): Likewise.
25532
25533 2010-07-31  Bruno Haible  <bruno@clisp.org>
25534
25535         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25536         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25537         option --enable/disable-c++ instead of --enable/disable-cxx.
25538         * NEWS: Mention the change.
25539
25540 2010-07-31  Bruno Haible  <bruno@clisp.org>
25541
25542         readlink, areadlink: Relax test a bit.
25543         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25544         alternative to ENOTDIR.
25545         * tests/test-areadlink.h (test_areadlink): Likewise.
25546         Reported by Rainer Tammer.
25547
25548 2010-07-31  Bruno Haible  <bruno@clisp.org>
25549
25550         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25551         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25552         character, perform the search using U_STRCHR.
25553         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25554         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25555         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25556         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25557         Suggested by Paolo Bonzini.
25558
25559 2010-07-31  Bruno Haible  <bruno@clisp.org>
25560
25561         unistr/u*-strstr: Fix dependencies.
25562         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25563         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25564         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25565
25566 2010-07-31  Bruno Haible  <bruno@clisp.org>
25567
25568         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25569         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25570         the beginning of the loop.
25571         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25572         cases in 'switch' statement.
25573
25574         unistr/u8-strchr: Fix several bugs.
25575         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25576         the string. When not found, return NULL, not a pointer near the end.
25577
25578         More tests for unistr/u8-strchr.
25579         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25580         that the function does not read past the first occurrence of the byte
25581         being searched.
25582         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25583         * tests/unistr/test-u16-strchr.c (main): New function.
25584         * tests/unistr/test-u32-strchr.c (main): New function.
25585
25586 2010-07-31  Bruno Haible  <bruno@clisp.org>
25587
25588         posix-modules: Ignore backup files of documentation files.
25589         * posix-modules: grep only through files named *.texi.
25590
25591 2010-07-31  Bruno Haible  <bruno@clisp.org>
25592
25593         symlinkat: Fix documentation.
25594         * doc/posix-functions/readlinkat.texi: Fix module name.
25595
25596 2010-07-31  Bruno Haible  <bruno@clisp.org>
25597
25598         fchownat: Replace also when chown has the trailing slash bug.
25599         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25600         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25601         introduced on 2010-04-10.
25602         Reported by Rainer Tammer.
25603
25604 2010-07-31  Bruno Haible  <bruno@clisp.org>
25605
25606         linkat: Work around AIX 7.1 bug.
25607         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25608         whether linkat handles trailing slash correctly. If not, replace linkat
25609         and define LINKAT_TRAILING_SLASH_BUG.
25610         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25611         check whether (fd1,file1) points to a directory if file1 or file2 ends
25612         in a slash. Code taken from lib/link.c.
25613         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25614         Reported by Rainer Tammer.
25615
25616 2010-07-31  Bruno Haible  <bruno@clisp.org>
25617
25618         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25619         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25620         This disables an xlc optimization that was causing wrong test results.
25621         Reported by Rainer Tammer.
25622
25623 2010-07-31  Bruno Haible  <bruno@clisp.org>
25624
25625         iconv: Work around AIX 6.1..7.1 bug.
25626         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25627         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25628         cross-compiling, guess no on all versions of AIX.
25629         Reported by Rainer Tammer.
25630
25631 2010-07-31  Bruno Haible  <bruno@clisp.org>
25632
25633         readlink: Relax test a bit.
25634         * tests/test-readlink.h (test_readlink): Allow different errno value
25635         when readlink is called with a file name that ends in / and refers to
25636         a file.
25637         Suggested by Eric Blake.
25638         Reported by Rainer Tammer.
25639
25640 2010-07-31  Bruno Haible  <bruno@clisp.org>
25641
25642         copysign: Does not require -lm on glibc systems.
25643         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25644         gl_COMMON_DOUBLE_MATHFUNC.
25645         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25646
25647 2010-07-31  Bruno Haible  <bruno@clisp.org>
25648
25649         duplocale: Work around AIX 7.1 bug.
25650         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25651         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25652         * lib/duplocale.c (rpl_duplocale): Update comment.
25653         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25654         Reported by Rainer Tammer.
25655
25656 2010-07-30  Bruno Haible  <bruno@clisp.org>
25657
25658         dirfd: Avoid link error on AIX 7.1.
25659         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25660         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25661         exist, set REPLACE_DIRFD.
25662         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25663         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25664         * doc/posix-functions/dirfd.texi: Update.
25665         Reported by Rainer Tammer.
25666
25667 2010-07-30  Eric Blake  <eblake@redhat.com>
25668
25669         strtod: next round of AIX fixes
25670         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25671         exponent.
25672         * tests/test-strtod.c (main): Enhance tests.
25673         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25674         Reported by Rainer Tammer.
25675
25676         futimens: fix configure check
25677         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25678         Reported by Bruno Haible.
25679
25680 2010-07-30  Bruno Haible  <bruno@clisp.org>
25681
25682         getline: Update regarding AIX.
25683         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25684         Reported by Rainer Tammer.
25685
25686 2010-07-30  Bruno Haible  <bruno@clisp.org>
25687
25688         wcwidth: Drop replacement on AIX 7.
25689         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25690         AIX 7.
25691         Reported by Rainer Tammer.
25692
25693 2010-07-30  Bruno Haible  <bruno@clisp.org>
25694
25695         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25696         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25697         a 'char *'.
25698         Reported by Rainer Tammer.
25699
25700 2010-07-30  Bruno Haible  <bruno@clisp.org>
25701
25702         unlink: Update regarding AIX.
25703         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25704         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25705         Reported by Rainer Tammer.
25706
25707 2010-07-30  Bruno Haible  <bruno@clisp.org>
25708
25709         symlink: Update regarding AIX.
25710         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25711         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25712         Reported by Rainer Tammer.
25713
25714 2010-07-30  Bruno Haible  <bruno@clisp.org>
25715
25716         strndup: Update regarding AIX.
25717         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25718         AIX 7.
25719         Reported by Rainer Tammer.
25720
25721 2010-07-30  Bruno Haible  <bruno@clisp.org>
25722
25723         stat: Update regarding AIX.
25724         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25725         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25726         Reported by Rainer Tammer.
25727
25728 2010-07-30  Bruno Haible  <bruno@clisp.org>
25729
25730         truncl: Fix autoconf test.
25731         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25732         whether truncl works.
25733         Reported by Rainer Tammer.
25734
25735 2010-07-30  Bruno Haible  <bruno@clisp.org>
25736
25737         round: Update regarding AIX.
25738         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25739         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25740         Reported by Rainer Tammer.
25741
25742 2010-07-30  Bruno Haible  <bruno@clisp.org>
25743
25744         rename: Update regarding AIX.
25745         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25746         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25747         Reported by Rainer Tammer.
25748
25749 2010-07-30  Bruno Haible  <bruno@clisp.org>
25750
25751         printf.m4: Update regarding AIX.
25752         * m4/printf.m4: Update comments regarding AIX.
25753         Reported by Rainer Tammer.
25754
25755 2010-07-30  Bruno Haible  <bruno@clisp.org>
25756
25757         iconv: Update regarding AIX.
25758         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25759         AIX 7.
25760         Reported by Rainer Tammer.
25761
25762 2010-07-30  Bruno Haible  <bruno@clisp.org>
25763
25764         getopt: Update regarding AIX.
25765         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25766         no on AIX.
25767         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25768         Reported by Rainer Tammer.
25769
25770 2010-07-30  Bruno Haible  <bruno@clisp.org>
25771
25772         ldexpl; Update regarding AIX.
25773         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25774         on AIX 7.
25775         Reported by Rainer Tammer.
25776
25777 2010-07-30  Bruno Haible  <bruno@clisp.org>
25778
25779         frexpl: Update regarding AIX.
25780         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25781         on AIX 7.
25782         Reported by Rainer Tammer.
25783
25784 2010-07-30  Bruno Haible  <bruno@clisp.org>
25785
25786         open, fopen: Update regarding AIX.
25787         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25788         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25789         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25790         * doc/posix-functions/fopen.texi: Likewise.
25791         Reported by Rainer Tammer.
25792
25793 2010-07-30  Bruno Haible  <bruno@clisp.org>
25794
25795         chown: Update doc regarding AIX.
25796         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25797         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25798         Reported by Rainer Tammer.
25799
25800 2010-07-30  Eric Blake  <eblake@redhat.com>
25801
25802         strtod: fix bug in replacement function on AIX
25803         * lib/strtod.c (strtod): Special case broken "0x" parse in
25804         underlying strtod.
25805         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25806         * doc/posix-functions/strtod.texi (strtod): Likewise.
25807         Reported by Rainer Tammer.
25808
25809 2010-07-30  Bruno Haible  <bruno@clisp.org>
25810
25811         mbrlen: Fix cross-compilation guess for AIX.
25812         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25813         guess. Leftover from 2008-12-22.
25814
25815 2010-07-30  Bruno Haible  <bruno@clisp.org>
25816
25817         mbrtowc: Fix cross-compilation guess for AIX.
25818         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25819         guess. Leftover from 2008-12-21.
25820
25821 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25822
25823         init.sh: work around trap limitation of some shells
25824         * tests/init.sh (setup_): Move exit trap outside of shell function.
25825
25826 2010-07-29  Eric Blake  <eblake@redhat.com>
25827
25828         strtod: aid debugging
25829         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25830         understanding why strtod is rejected.
25831
25832 2010-07-28  Bruno Haible  <bruno@clisp.org>
25833
25834         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25835         * lib/unistr/u8-chr.c: Include <string.h>.
25836         * tests/unistr/test-u8-chr.c: Likewise.
25837         * tests/unistr/test-u16-chr.c: Likewise.
25838         * tests/unistr/test-u32-chr.c: Likewise.
25839         * tests/unistr/test-u8-strchr.c: Likewise.
25840         * tests/unistr/test-u16-strchr.c: Likewise.
25841         * tests/unistr/test-u32-strchr.c: Likewise.
25842         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25843         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25844         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25845         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25846
25847 2010-07-28  Bruno Haible  <bruno@clisp.org>
25848
25849         Use spaces for indentation, not tabs.
25850         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25851
25852 2010-07-27  Bruno Haible  <bruno@clisp.org>
25853
25854         mbspcasecmp: Fix function specification.
25855         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25856         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25857         Reported by Eric Blake <eblake@redhat.com>.
25858
25859 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25860
25861         timespec: use cast and not conditional, as truncation isn't possible
25862         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25863         instead of a conditional.  Comment about the situation in more detail.
25864         This undoes most of the 2009-10-29 patch.
25865
25866 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25867
25868         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25869         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25870         * lib/unistr/u8-strchr.c: Likewise.
25871         * modules/unistr/u8-chr: Depend on memchr.
25872
25873         unistr/u*-strchr: add tests
25874         * modules/unistr/u8-strchr-tests: New file.
25875         * modules/unistr/u16-strchr-tests: New file.
25876         * modules/unistr/u32-strchr-tests: New file.
25877         * tests/unistr/test-strchr.h: New file.
25878         * tests/unistr/test-u8-strchr.c: New file.
25879         * tests/unistr/test-u16-strchr.c: New file.
25880         * tests/unistr/test-u32-strchr.c: New file.
25881
25882         unistr/u*-chr: test multibyte sequences more
25883         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25884         test vector.
25885         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25886         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25887         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25888
25889         unistr/u*-chr: test multibyte sequences
25890         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25891
25892         unistr/u*-chr: prepare for multibyte tests
25893         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25894         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25895         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25896         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25897         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25898         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25899
25900 2010-07-18  Bruno Haible  <bruno@clisp.org>
25901
25902         unistr/u8-strchr: Optimize non-ASCII argument case.
25903         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25904         because the first byte often matches anyway.
25905         Reported by Pádraig Brady <P@draigbrady.com>.
25906
25907 2010-07-15  Karl Berry  <karl@gnu.org>
25908
25909         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25910
25911 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25912
25913         getcwd: on Solaris, work better if ancestors are inaccessible
25914         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25915         buffer and size, try again with a large buffer.  This works better
25916         on Solaris, since its getcwd succeeds even if the path to the root
25917         is inaccessible, and this is helpful in common cases such as .zfs
25918         hidden directories.  Problem reported by J Chapman Flack in
25919         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25920         Use system getcwd if it's declared, not merely if it's partly
25921         working; use the partly-working test only to avoid needless effort
25922         if the system getcwd fails.
25923         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25924         comment that was already obsolete and is now even more obsolete.
25925         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25926         now might call strdup.
25927
25928 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25929
25930         pthread: Add enough so that coreutils/src/sort.c compiles.
25931         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25932         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25933         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25934         Include <sys/types.h>, in case it defines pthread_t.
25935         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25936         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25937         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25938         (pthread_rwlockattr_t, pthread_spinlock_t):
25939         New typedefs, if HAVE_PTHREAD_T is not defined.
25940         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25941         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25942         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25943         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25944         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25945         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25946         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25947         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25948         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25949         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25950         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25951         New macros.
25952         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25953         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25954         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25955         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25956         (pthread_spin_unlock): New dummy functions.
25957         (pthread_create): Return EAGAIN; don't set errno.
25958         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25959         require AC_C_INLINE.
25960         * modules/pthread (Depends-on): Add sched, time.
25961         (pthread.h): Use AM_V_GEN.
25962
25963 2010-07-13  Bruno Haible  <bruno@clisp.org>
25964
25965         striconveh: Don't malloc memory if the result buffer is sufficient.
25966         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25967         buffer if its size is sufficient.
25968         Reported by Ludovic Courtès <ludo@gnu.org>.
25969
25970 2010-07-13  Bruno Haible  <bruno@clisp.org>
25971
25972         strtod: Add safety check.
25973         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25974
25975 2010-07-12  Bruno Haible  <bruno@clisp.org>
25976
25977         Unify tests that set gl_cv_func_ldexpl_no_libm.
25978         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25979         gl_FUNC_LDEXPL.
25980         (gl_FUNC_LDEXPL): Invoke it.
25981         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25982
25983 2010-07-12  Bruno Haible  <bruno@clisp.org>
25984
25985         Unify tests that set gl_cv_func_ldexp_no_libm.
25986         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25987         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25988         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25989         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25990         * modules/strtod (Files): Add m4/ldexp.m4.
25991
25992 2010-07-12  Bruno Haible  <bruno@clisp.org>
25993
25994         Unify tests that set gl_cv_func_frexpl_no_libm.
25995         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25996         gl_FUNC_FREXPL_NO_LIBM.
25997         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25998         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25999
26000 2010-07-12  Bruno Haible  <bruno@clisp.org>
26001
26002         Unify tests that set gl_cv_func_frexp_no_libm.
26003         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26004         gl_FUNC_FREXP_NO_LIBM.
26005         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26006         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26007
26008 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26009
26010         memcoll: clarify sizes versus lengths, document better, and tweak perf
26011         * lib/memcoll.c (strcoll_loop, memcoll0):
26012         Improve quality of descriptive comments.  Name variables
26013         consistently as to whether they are lengths (which do not include
26014         terminating null) versus sizes (which do).
26015         * lib/xmemcoll.c (xmemcoll0): Likewise.
26016         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26017         returned when s1size == 0; this is easier to compile and saves
26018         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26019
26020 2010-07-12  Bruno Haible  <bruno@clisp.org>
26021
26022         Tests for module '_Exit'.
26023         * modules/_Exit-tests: New file.
26024         * tests/test-_Exit.sh: New file.
26025         * tests/test-_Exit.c: New file.
26026
26027         New module '_Exit'.
26028         * lib/stdlib.in.h (__attribute__): New macro.
26029         (_Exit): New declaration.
26030         * lib/_Exit.c: New file.
26031         * m4/_Exit.m4: New file.
26032         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26033         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26034         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26035         * modules/_Exit: New file.
26036         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26037         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26038
26039 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26040
26041         strtod: make it more-accurate typically, and don't require libm
26042         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26043         Include limits.h.  Don't include string.h.
26044         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26045         (locale_isspace): New function, so that no casts are needed to
26046         check whether *s is a space.
26047         (ldexp): Provide an unused dummy if not available.
26048         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26049         (strtod): Use them.  This implementation prefers to use the
26050         underlying strtod if available, falling back on our own code
26051         only to fix known bugs.  This is more likely to produce an
26052         accurate result.  Also, it avoids the use of libm functions.
26053         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26054         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26055         was absent, but it caused a test failure with coreutils.
26056         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26057         with libm.
26058         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26059         * modules/strtod-tests (Makefile.am): Likewise.
26060
26061 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26062             Bruno Haible  <bruno@clisp.org>
26063
26064         unistr/u8-strchr: Optimize ASCII argument case.
26065         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26066
26067 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26068
26069         (x)memcoll: minor tweaks
26070         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26071         is after the type that it qualifies.
26072         (memcoll0): Likewise.
26073         * lib/memcoll.h (memcoll0): Likewise.
26074         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26075         * lib/xmemcoll.h (xmemcoll0): Likewise.
26076         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26077         differs from memcoll in that the NUL byte is part of the argument.
26078         Omit the abort-checks, as performance is a real issue here.  Plus,
26079         the checks were wrong anyway (an off-by-one error).  Omit local
26080         variable 'diff', as it's a bit clearer that way.
26081         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26082         no longer needed.
26083
26084 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26085
26086         (x)memcoll: speedup when input is known to be NUL delimited
26087         * lib/memcoll.c: Include stdlib.
26088         (memcoll0): New function.
26089         (strcoll_loop): New function, refactored for use in both memcoll
26090         and memcoll0.
26091         * lib/memcoll.h (memcoll0): Add prototype.
26092         * lib/xmemcoll.c (xmemcoll0): New function.
26093         (collate_error): New function, refactored for use in both xmemcoll
26094         and xmemcoll0.
26095         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26096         * m4/memcoll.m4: add inline invocation.
26097
26098 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26099
26100         * build-aux/bootstrap: Remove any local translations
26101         from the translation project synchronization directory,
26102         so that local only translations are not distributed.
26103
26104 2010-07-04  Bruno Haible  <bruno@clisp.org>
26105
26106         fsusage: Clarify which code applies to which platforms.
26107         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26108         platform.
26109         * lib/fsusage.c (get_fs_usage): Likewise.
26110
26111 2010-07-04  Bruno Haible  <bruno@clisp.org>
26112
26113         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26114         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26115         Reported by Martin Lambers <marlam@marlam.de>.
26116
26117 2010-07-04  Jim Meyering  <meyering@redhat.com>
26118
26119         hash: once again explicitly disallow insertion of NULL
26120         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26121         inserting a NULL pointer cannot work with these functions.
26122         Add a comment with details.
26123         This reverts part of the 2010-07-01 commit, 5bef1a35
26124         "hash: extend module to deal with non-pointer keys".
26125
26126 2010-07-01  Bruno Haible  <bruno@clisp.org>
26127
26128         stdbool: Update doc.
26129         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26130         Info from Christian Weisgerber <naddy@mips.inka.de>.
26131
26132 2010-07-01  Jim Meyering  <meyering@redhat.com>
26133
26134         hash: extend module to deal with non-pointer keys
26135         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26136         but that allows insertion of non-pointer entries.
26137         Do not disallow an ENTRY value of NULL.
26138         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26139         * lib/hash.h (hash_insert0): Declare.
26140
26141 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26142
26143         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26144         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26145         not present (i.e. with autoconf 2.59 and when using gettextize, not
26146         gnulib), require AC_GNU_SOURCE instead.
26147
26148 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26149
26150         idpriv-drop: Fix tests.
26151         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26152         not to the test-idpriv-droptemp program.
26153
26154 2010-06-29  Bruno Haible  <bruno@clisp.org>
26155
26156         string: Fix syntax error with g++ 2.96.
26157         * lib/string.in.h (__pure__): Remove definition.
26158         (_GL_ATTRIBUTE_PURE): New macro.
26159         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26160         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26161         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26162
26163 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26164
26165         unitypes: Fix bug introduced on 2010-05-18.
26166         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26167
26168 2010-06-22  Eric Blake  <eblake@redhat.com>
26169
26170         memmem: slight optimization
26171         * lib/str-two-way.h (critical_factorization): Update comments.
26172         Reduce work during factorization phase.
26173         Reported by Carlos Bueno <carlos@bueno.org>.
26174
26175 2010-06-21  Bruno Haible  <bruno@clisp.org>
26176
26177         Fix HAVE_CALLOC_POSIX misnomer.
26178         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26179         !HAVE_CALLOC_POSIX.
26180         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26181         HAVE_CALLOC_POSIX.
26182         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26183         instead of HAVE_CALLOC_POSIX.
26184         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26185         HAVE_CALLOC_POSIX.
26186
26187         Use modern idiom for calloc() replacement.
26188         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26189         AC_FUNC_CALLOC.
26190         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26191         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26192         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26193         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26194         (gl_REPLACE_CALLOC): New macro.
26195
26196 2010-06-21  Bruno Haible  <bruno@clisp.org>
26197
26198         Fix HAVE_REALLOC_POSIX misnomer.
26199         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26200         !HAVE_REALLOC_POSIX.
26201         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26202         HAVE_REALLOC_POSIX.
26203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26204         instead of HAVE_REALLOC_POSIX.
26205         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26206         HAVE_REALLOC_POSIX.
26207
26208         Use modern idiom for realloc() replacement.
26209         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26210         AC_FUNC_REALLOC.
26211         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26212         Autoconf's AC_FUNC_REALLOC.
26213         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26214         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26215         (gl_REPLACE_REALLOC): New macro.
26216         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26217
26218 2010-06-21  Bruno Haible  <bruno@clisp.org>
26219
26220         Fix HAVE_MALLOC_POSIX misnomer.
26221         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26222         !HAVE_MALLOC_POSIX.
26223         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26224         HAVE_MALLOC_POSIX.
26225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26226         instead of HAVE_MALLOC_POSIX.
26227         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26228         HAVE_MALLOC_POSIX.
26229
26230         Use modern idiom for malloc() replacement.
26231         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26232         AC_FUNC_MALLOC.
26233         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26234         Autoconf's AC_FUNC_MALLOC.
26235         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26236         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26237         (gl_REPLACE_MALLOC): New macro.
26238         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26239
26240 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26241
26242         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26243         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26244         This macro takes 3 arguments, not 4.
26245
26246 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26247
26248         ipv6: fix detection under mingw
26249         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26250         in6_addr.
26251
26252 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26253
26254         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26255         that strtod() works when cross-compiling to a glibc version known
26256         to work.
26257
26258 2010-06-15  Bruno Haible  <bruno@clisp.org>
26259
26260         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26261
26262 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26263
26264         select: Correct timeout.
26265         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26266
26267 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26268
26269         git-version-gen: init shell var to avoid env var influence
26270         * build-aux/git-version-gen (v): Init shell var to empty.
26271
26272 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26273
26274         priv-set: Don't assume that priv.h exists merely because getppriv does.
26275         See Jan Andersen's bug report about AIX 5L in
26276         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26277         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26278         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26279         * lib/priv-set.h: Likewise.
26280         * tests/test-priv-set.c: Likewise.
26281
26282 2010-06-13  Bruno Haible  <bruno@clisp.org>
26283
26284         relocatable: Make it easier to test whether to install wrappers.
26285         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26286         RELOCATABLE_VIA_WRAPPER.
26287
26288 2010-06-13  Bruno Haible  <bruno@clisp.org>
26289
26290         gnulib-tool: Display specified modules and dependencies differently.
26291         * gnulib-tool (func_show_module_list): New function.
26292         (func_import, func_create_testdir): Invoke it.
26293         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26294
26295 2010-06-13  Bruno Haible  <bruno@clisp.org>
26296
26297         gnulib-tool: Align code of func_import and func_create_testdir.
26298         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26299         specified_modules.
26300
26301 2010-06-12  Jim Meyering  <meyering@redhat.com>
26302
26303         test-inttostr: avoid spurious failure on Solaris 9
26304         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26305         to accept "%ju".  Reported by Bruno Haible.
26306
26307 2010-06-11  Jim Meyering  <meyering@redhat.com>
26308
26309         test-sys_socket: mark variables as used more readably
26310         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26311         as "used" explicitly via (void) statement casts.  This is more
26312         readable than using them in an artificial return expression.
26313         Suggestion from Bruno Haible.
26314
26315 2010-06-11  Bruno Haible  <bruno@clisp.org>
26316
26317         Avoid some more warnings from "gcc -Wwrite-strings".
26318         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26319         to 'const char *'.
26320         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26321         * tests/test-c-strcasestr.c (main): Likewise.
26322         * tests/test-mbscasestr1.c (main): Likewise.
26323         * tests/test-mbscasestr2.c (main): Likewise.
26324         * tests/test-memmem.c (main): Likewise.
26325         * tests/test-strstr.c (main): Likewise.
26326         * tests/test-strcasestr.c (main): Likewise.
26327
26328 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26329
26330         init.sh: change framework_failure_ to fail with status 99, not 1
26331         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26332         automake's parallel-tests rule that this is an unexpected failure,
26333         even if the test is listed in XFAIL_TESTS.
26334
26335 2010-06-11  Jim Meyering  <meyering@redhat.com>
26336
26337         test-inttostr: avoid warnings about 4-6KB literal strings
26338         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26339         Include "macros.h", for its definition of ASSERT.
26340         (CK): s/assert/ASSERT/
26341         * modules/inttostr-tests (Files): Add macros.h.
26342
26343         init.sh: don't use $ME_ or skip_ before they are defined
26344         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26345         their first uses.  Also hoist their companions: warn_, fail_,
26346         framework_failure_, $stderr_fileno.  Prompted by a patch from
26347         Stefano Lattarini.
26348
26349         test-sys_socket: avoid set-but-not-used warnings from gcc
26350         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26351         avoid warning about set-but-not-used variables.
26352
26353         test-xvasprintf: avoid 'const' discard warnings
26354         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26355         "const" when assigning from literal strings.
26356         (test_xasprintf): Add "void" in function argument list to placate
26357         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26358
26359         tests: avoid compilation warnings in argmatch and exclude tests...
26360         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26361         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26362         Since it always exits, declare with the "noreturn" attribute.
26363         * tests/test-argmatch.c: Likewise.
26364
26365         tests: avoid 'const' discard warnings in mbsstr tests
26366         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26367         * tests/test-mbsstr2.c (main): Likewise.
26368
26369         test-verify: avoid warning from gcc's -Wmissing-declarations
26370         * tests/test-verify.c (function): Declare to be static.
26371
26372         test-inttostr.c: include <string.h> for use of strcmp
26373         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26374
26375         test-linkat: avoid failed assertion on "other" architectures
26376         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26377         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26378         sparc: https://bugs.launchpad.net/bugs/591968
26379
26380 2010-06-11  Jim Meyering  <meyering@redhat.com>
26381
26382         printf.m4: avoid autoconf's "Expanded Before Required" warning
26383         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26384         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26385         autoconf warning.
26386
26387 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26388
26389         Replacement header templates are now named with ".in", not "_".
26390         * doc/gnulib-intro.texi: Correct.
26391
26392 2010-06-10  Jim Meyering  <meyering@redhat.com>
26393
26394         inttostr-tests: depend on snprintf, not snprintf-posix
26395         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26396         snprintf-posix, to avoid this aclocal failure:
26397           missing file gnulib-tests/vasnprintf.c
26398           configure.ac:45: error: expected source file, required through \
26399           AC_LIBSOURCES, not found
26400
26401 2010-06-10  Jim Meyering  <meyering@redhat.com>
26402
26403         inttostr: add a new function, inttostr, and tests
26404         The namesake function was not available.  The existence of the
26405         template file, inttostr.c makes its addition nontrivial.
26406         * lib/anytostr.c: Rename from inttostr.c.
26407         (anytostr): Rename from inttostr.
26408         * lib/inttostr.c: New file.
26409         * modules/inttostr (Files): Add anytostr.c.
26410         (Makefile.am): Set lib_SOURCES instead of ...
26411         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26412         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26413         * lib/offtostr.c: Likewise.
26414         * lib/uinttostr.c: Likewise.
26415         * lib/umaxtostr.c: Likewise.
26416         * modules/inttostr-tests: New file.
26417         * tests/test-inttostr.c: New file.  Test these functions.
26418
26419 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26420             Bruno Haible  <bruno@clisp.org>
26421
26422         Add "Extending Gnulib" chapter to manual.
26423         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26424         chapter.
26425         (Extending Gnulib): New chapter.
26426         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26427         chapter.
26428
26429 2010-06-09  Bruno Haible  <bruno@clisp.org>
26430
26431         Avoid relocwrapper link errors due to gnulib replacement functions.
26432         * lib/areadlink.c: Use the system's malloc, realloc functions.
26433         (areadlink): Set errno to ENOMEM explicitly.
26434         * modules/areadlink (Depends-on): Remove malloc-posix.
26435         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26436
26437 2010-06-09  Bruno Haible  <bruno@clisp.org>
26438
26439         Avoid relocwrapper link errors due to gnulib replacement functions.
26440         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26441         * lib/malloca.c: Likewise.
26442         * lib/relocatable.c: Likewise.
26443         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26444         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26445         * lib/setenv.c: Use the system's malloc, realloc functions.
26446         * lib/strerror.c: Use the system's sprintf function.
26447         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26448
26449 2010-06-04  Bruno Haible  <bruno@clisp.org>
26450
26451         Prefer documented low-level autoconf macro names.
26452         * m4/lib-link.m4: Use m4_translit instead of translit.
26453         * m4/environ.m4: Likewise.
26454         * m4/mathfunc.m4: Likewise.
26455         * m4/onceonly.m4: Likewise.
26456         * m4/stdint.m4: Likewise.
26457         Suggested by Eric Blake.
26458
26459 2010-06-04  Martin Lambers  <marlam@marlam.de>
26460             Bruno Haible  <bruno@clisp.org>
26461
26462         havelib: Allow library names with '+' characters.
26463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26464         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26465
26466 2010-06-09  Bruno Haible  <bruno@clisp.org>
26467
26468         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26469         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26470         realloc failed.
26471
26472 2010-06-08  Peter Simons  <simons@cryp.to>
26473
26474         maint.mk: make the news-check rule more configurable
26475         * top/maint.mk (news-check-lines-spec): New variable.
26476         (news-check): Use "sed -n 1,10p" in place of "head".
26477
26478 2010-06-07  Jim Meyering  <meyering@redhat.com>
26479
26480         do-release-commit-and-tag: fix typo in --help
26481         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26482
26483         regex: avoid new dead-code warning with gcc-4.6.0
26484         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26485         if-block containing a while-loop.  It's been unused for at least
26486         5 years.
26487
26488 2010-06-05  Bruno Haible  <bruno@clisp.org>
26489
26490         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26491         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26492
26493 2010-06-04  Bruno Haible  <bruno@clisp.org>
26494
26495         Update to GNU gettext 0.18.1.
26496         * modules/gettext (configure.ac): Require gettext infrastructure from
26497         version 0.18.1.
26498
26499 2010-06-03  Bruno Haible  <bruno@clisp.org>
26500
26501         Don't use AC_LIBOBJ with file names in subdirectories.
26502         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26503         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26504         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26505         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26506         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26507         gl_LIBUNISTRING_LIBSOURCE.
26508         (Makefile.am): Augment lib_SOURCES here, conditionally.
26509         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26510
26511 2010-06-03  Bruno Haible  <bruno@clisp.org>
26512
26513         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26514         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26515         expansion does not end with a newline.
26516         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26517         unnecessary newline.
26518
26519 2010-06-03  Bruno Haible  <bruno@clisp.org>
26520
26521         Reduce dependencies.
26522         * tests/test-quotearg.h: New file, extracted from
26523         tests/test-quotearg.c.
26524         * tests/test-quotearg-simple.c: New file, extracted from
26525         tests/test-quotearg.c.
26526         * tests/test-quotearg.c: Don't include <ctype.h>.
26527         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26528         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26529         use_quote_double_quotes, use_quotearg_colon): Moved to
26530         tests/test-quotearg.h.
26531         (results_g, flag_results, custom_quotes, custom_results): Moved
26532         to tests/test-quotearg-simple.c.
26533         (main): Moved the part that does not depend on gettext to
26534         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26535         performed.
26536         * modules/quotearg-simple: New file.
26537         * modules/quotearg-simple-tests: New file.
26538         * modules/quotearg (Depends-on): Add quotearg-simple.
26539         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26540         (Files): Add tests/test-quotearg.h.
26541         Reported by Paolo Bonzini.
26542
26543 2010-06-03  Bruno Haible  <bruno@clisp.org>
26544
26545         Reduce dependencies.
26546         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26547
26548 2010-06-03  Bruno Haible  <bruno@clisp.org>
26549
26550         time: Undefine more broken macros.
26551         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26552         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26553         Reported by Eric Blake.
26554
26555 2010-06-03  Bruno Haible  <bruno@clisp.org>
26556
26557         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26558         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26559         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26560         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26561         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26562         Reported by Ludovic Courtès <ludo@gnu.org>.
26563
26564 2010-06-02  Eric Blake  <eblake@redhat.com>
26565
26566         time: work with mingw + pthreads-win32 library
26567         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26568         if timespec is defined only in pthread.h.
26569         * modules/time (Makefile.am): Substitute it.
26570         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26571         <pthread.h>, when needed.
26572         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26573         from the library.
26574
26575 2010-05-31  Bruno Haible  <bruno@clisp.org>
26576
26577         Avoid expanding two macros in the wrong order.
26578         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26579         gl_LIBUNISTRING if it is defined.
26580         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26581         autoconf >= 2.64.
26582         Reported by Ludovic Courtès <ludo@gnu.org>.
26583
26584 2010-05-27  Jim Meyering  <meyering@redhat.com>
26585
26586         maint.mk: also prohibit "#undef" of always-defined symbols
26587         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26588         Allow more than one space before the symbol name.
26589         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26590         the regexp uses alternation.
26591
26592 2010-05-26  Eric Blake  <eblake@redhat.com>
26593
26594         maint.mk: avoid echo -e
26595         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26596         Convert all uses of echo -* to printf.
26597         Reported by Matthias Bolte.
26598
26599 2010-05-25  Bruno Haible  <bruno@clisp.org>
26600
26601         Update to GNU gettext 0.18, part 2.
26602         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26603         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26604
26605 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26606
26607         Add missing include in test-pwrite.c.
26608         * tests/test-pwrite.c: Include string.h, for strcmp.
26609
26610 2010-05-24  Bruno Haible  <bruno@clisp.org>
26611
26612         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26613
26614 2010-05-24  Bruno Haible  <bruno@clisp.org>
26615
26616         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26617         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26618         iconveh_error argument.
26619         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26620         U_STRCONV_TO_LOCALE.
26621         * lib/unistr/u16-strcoll.c: Likewise.
26622         * lib/unistr/u32-strcoll.c: Likewise.
26623         * modules/unistr/u8-strcoll (Depends-on): Add
26624         uniconv/u8-strconv-to-enc, localcharset. Remove
26625         uniconv/u8-strconv-to-locale.
26626         (configure.ac): Bump version number.
26627         * modules/unistr/u16-strcoll (Depends-on): Add
26628         uniconv/u16-strconv-to-enc, localcharset. Remove
26629         uniconv/u16-strconv-to-locale.
26630         (configure.ac): Bump version number.
26631         * modules/unistr/u32-strcoll (Depends-on): Add
26632         uniconv/u32-strconv-to-enc, localcharset. Remove
26633         uniconv/u32-strconv-to-locale.
26634         (configure.ac): Bump version number.
26635
26636 2010-05-24  Bruno Haible  <bruno@clisp.org>
26637
26638         Avoid a test failure on NetBSD 5.0.
26639         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26640         an iconv() bug.
26641
26642 2010-05-24  Bruno Haible  <bruno@clisp.org>
26643
26644         Adjust #include directive style.
26645         * modules/regex (Includes): Recommend to write <regex.h>.
26646
26647 2010-05-24  Bruno Haible  <bruno@clisp.org>
26648
26649         regex: Don't require alloca.
26650         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26651         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26652         only inside if (0).
26653
26654 2010-05-23  Jim Meyering  <meyering@redhat.com>
26655
26656         test-renameat.c: include <sys/stat.h>
26657         * tests/test-renameat.c: Include <sys/stat.h>; required for
26658         definition of S_IS* macros.
26659
26660 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26661
26662         Update maintainer documentation for 'relocatable-prog' module.
26663         * doc/relocatable-maint.texi: Update.
26664         Comments by Bruno Haible.
26665
26666 2010-05-23  Bruno Haible  <bruno@clisp.org>
26667
26668         git-merge-changelog: Enable --split-merged-entry by default.
26669         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26670         (usage): Don't mention this option any more.
26671         Reported by Ralf Wildenhues.
26672
26673 2010-05-23  Jim Meyering  <meyering@redhat.com>
26674
26675         test-pwrite: do not leave behind a test file named "out"
26676         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26677         The trivial-looking use of init.sh is really necessary.
26678         It ensures that the temporary file, "out", is created in
26679         a temporary directory, and removed upon termination.
26680         * tests/test-pwrite.sh: Re-add file.
26681         * modules/pwrite-tests: Reference it.
26682
26683 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26684
26685         Fix output redirection buglet in init.sh.
26686         * tests/init.sh: Fix redirection of stderr.
26687
26688 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26689
26690         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26691
26692 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26693
26694         * modules/valgrind-tests: New file.
26695         * m4/valgrind-tests.m4: New file.
26696         * doc/valgrind-tests.texi: New file.
26697         * doc/gnulib.texi (Running self-tests under valgrind): New
26698         section.
26699
26700 2010-05-19  Bruno Haible  <bruno@clisp.org>
26701
26702         Clean up dead code in recent commit.
26703         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26704         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26705         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26706         Suggested by Paolo Bonzini.
26707
26708 2010-05-19  Bruno Haible  <bruno@clisp.org>
26709
26710         Avoid valgrind error reports from libunistring.
26711         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26712         * modules/libunistring (Files): Add it.
26713         * modules/libunistring-optional (Files): Likewise.
26714
26715 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26716             Bruno Haible  <bruno@clisp.org>
26717
26718         New module 'libunistring-optional'.
26719         * modules/libunistring-optional: New file.
26720         * m4/libunistring-base.m4: New file.
26721         * m4/libunistring-optional.m4: New file.
26722         * lib/unicase.in.h: Renamed from lib/unicase.h.
26723         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26724         * lib/unictype.in.h: Renamed from lib/unictype.h.
26725         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26726         * lib/uniname.in.h: Renamed from lib/uniname.h.
26727         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26728         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26729         * lib/unistr.in.h: Renamed from lib/unistr.h.
26730         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26731         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26732         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26733         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26734         gl_LIBUNISTRING. If the library was found, determine the installed
26735         version and set LIBUNISTRING_VERSION.
26736         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26737         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26738         handle a configuration option --with-included-libunistring.
26739         * modules/libunistring (Files): Add m4/absolute-header.m4.
26740         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26741         Add m4/libunistring-base.m4.
26742         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26743         (Makefile.am): Build unicase.h from unicase.in.h.
26744         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26745         Add m4/libunistring-base.m4.
26746         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26747         (Makefile.am): Build uniconv.h from uniconv.in.h.
26748         * modules/unictype/base (Files): Use unictype.in.h instead of
26749         unictype.h. Add m4/libunistring-base.m4.
26750         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26751         (Makefile.am): Build unictype.h from unictype.in.h.
26752         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26753         Add m4/libunistring-base.m4.
26754         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26755         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26756         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26757         Add m4/libunistring-base.m4.
26758         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26759         (Makefile.am): Build uniname.h from uniname.in.h.
26760         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26761         Add m4/libunistring-base.m4.
26762         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26763         (Makefile.am): Build uninorm.h from uninorm.in.h.
26764         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26765         unistdio.h. Add m4/libunistring-base.m4.
26766         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26767         (Makefile.am): Build unistdio.h from unistdio.in.h.
26768         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26769         Add m4/libunistring-base.m4.
26770         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26771         (Makefile.am): Build unistr.h from unistr.in.h.
26772         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26773         Add m4/libunistring-base.m4.
26774         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26775         (Makefile.am): Build unitypes.h from unitypes.in.h.
26776         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26777         Add m4/libunistring-base.m4.
26778         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26779         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26780         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26781         uniwidth.h. Add m4/libunistring-base.m4.
26782         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26783         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26784         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26785         instead of augmenting lib_SOURCES.
26786         * modules/unicase/empty-suffix-context: Likewise.
26787         * modules/unicase/locale-language: Likewise.
26788         * modules/unicase/tolower: Likewise.
26789         * modules/unicase/totitle: Likewise.
26790         * modules/unicase/toupper: Likewise.
26791         * modules/unicase/u8-casecmp: Likewise.
26792         * modules/unicase/u8-casecoll: Likewise.
26793         * modules/unicase/u8-casefold: Likewise.
26794         * modules/unicase/u8-casexfrm: Likewise.
26795         * modules/unicase/u8-ct-casefold: Likewise.
26796         * modules/unicase/u8-ct-tolower: Likewise.
26797         * modules/unicase/u8-ct-totitle: Likewise.
26798         * modules/unicase/u8-ct-toupper: Likewise.
26799         * modules/unicase/u8-is-cased: Likewise.
26800         * modules/unicase/u8-is-casefolded: Likewise.
26801         * modules/unicase/u8-is-lowercase: Likewise.
26802         * modules/unicase/u8-is-titlecase: Likewise.
26803         * modules/unicase/u8-is-uppercase: Likewise.
26804         * modules/unicase/u8-prefix-context: Likewise.
26805         * modules/unicase/u8-suffix-context: Likewise.
26806         * modules/unicase/u8-tolower: Likewise.
26807         * modules/unicase/u8-totitle: Likewise.
26808         * modules/unicase/u8-toupper: Likewise.
26809         * modules/unicase/u16-casecmp: Likewise.
26810         * modules/unicase/u16-casecoll: Likewise.
26811         * modules/unicase/u16-casefold: Likewise.
26812         * modules/unicase/u16-casexfrm: Likewise.
26813         * modules/unicase/u16-ct-casefold: Likewise.
26814         * modules/unicase/u16-ct-tolower: Likewise.
26815         * modules/unicase/u16-ct-totitle: Likewise.
26816         * modules/unicase/u16-ct-toupper: Likewise.
26817         * modules/unicase/u16-is-cased: Likewise.
26818         * modules/unicase/u16-is-casefolded: Likewise.
26819         * modules/unicase/u16-is-lowercase: Likewise.
26820         * modules/unicase/u16-is-titlecase: Likewise.
26821         * modules/unicase/u16-is-uppercase: Likewise.
26822         * modules/unicase/u16-prefix-context: Likewise.
26823         * modules/unicase/u16-suffix-context: Likewise.
26824         * modules/unicase/u16-tolower: Likewise.
26825         * modules/unicase/u16-totitle: Likewise.
26826         * modules/unicase/u16-toupper: Likewise.
26827         * modules/unicase/u32-casecmp: Likewise.
26828         * modules/unicase/u32-casecoll: Likewise.
26829         * modules/unicase/u32-casefold: Likewise.
26830         * modules/unicase/u32-casexfrm: Likewise.
26831         * modules/unicase/u32-ct-casefold: Likewise.
26832         * modules/unicase/u32-ct-tolower: Likewise.
26833         * modules/unicase/u32-ct-totitle: Likewise.
26834         * modules/unicase/u32-ct-toupper: Likewise.
26835         * modules/unicase/u32-is-cased: Likewise.
26836         * modules/unicase/u32-is-casefolded: Likewise.
26837         * modules/unicase/u32-is-lowercase: Likewise.
26838         * modules/unicase/u32-is-titlecase: Likewise.
26839         * modules/unicase/u32-is-uppercase: Likewise.
26840         * modules/unicase/u32-prefix-context: Likewise.
26841         * modules/unicase/u32-suffix-context: Likewise.
26842         * modules/unicase/u32-tolower: Likewise.
26843         * modules/unicase/u32-totitle: Likewise.
26844         * modules/unicase/u32-toupper: Likewise.
26845         * modules/unicase/ulc-casecmp: Likewise.
26846         * modules/unicase/ulc-casecoll: Likewise.
26847         * modules/unicase/ulc-casexfrm: Likewise.
26848         * modules/uniconv/u8-conv-from-enc: Likewise.
26849         * modules/uniconv/u8-conv-to-enc: Likewise.
26850         * modules/uniconv/u8-strconv-from-enc: Likewise.
26851         * modules/uniconv/u8-strconv-from-locale: Likewise.
26852         * modules/uniconv/u8-strconv-to-enc: Likewise.
26853         * modules/uniconv/u8-strconv-to-locale: Likewise.
26854         * modules/uniconv/u16-conv-from-enc: Likewise.
26855         * modules/uniconv/u16-conv-to-enc: Likewise.
26856         * modules/uniconv/u16-strconv-from-enc: Likewise.
26857         * modules/uniconv/u16-strconv-from-locale: Likewise.
26858         * modules/uniconv/u16-strconv-to-enc: Likewise.
26859         * modules/uniconv/u16-strconv-to-locale: Likewise.
26860         * modules/uniconv/u32-conv-from-enc: Likewise.
26861         * modules/uniconv/u32-conv-to-enc: Likewise.
26862         * modules/uniconv/u32-strconv-from-enc: Likewise.
26863         * modules/uniconv/u32-strconv-from-locale: Likewise.
26864         * modules/uniconv/u32-strconv-to-enc: Likewise.
26865         * modules/uniconv/u32-strconv-to-locale: Likewise.
26866         * modules/unictype/bidicategory-byname: Likewise.
26867         * modules/unictype/bidicategory-name: Likewise.
26868         * modules/unictype/bidicategory-of: Likewise.
26869         * modules/unictype/bidicategory-test: Likewise.
26870         * modules/unictype/block-list: Likewise.
26871         * modules/unictype/block-test: Likewise.
26872         * modules/unictype/category-C: Likewise.
26873         * modules/unictype/category-Cc: Likewise.
26874         * modules/unictype/category-Cf: Likewise.
26875         * modules/unictype/category-Cn: Likewise.
26876         * modules/unictype/category-Co: Likewise.
26877         * modules/unictype/category-Cs: Likewise.
26878         * modules/unictype/category-L: Likewise.
26879         * modules/unictype/category-Ll: Likewise.
26880         * modules/unictype/category-Lm: Likewise.
26881         * modules/unictype/category-Lo: Likewise.
26882         * modules/unictype/category-Lt: Likewise.
26883         * modules/unictype/category-Lu: Likewise.
26884         * modules/unictype/category-M: Likewise.
26885         * modules/unictype/category-Mc: Likewise.
26886         * modules/unictype/category-Me: Likewise.
26887         * modules/unictype/category-Mn: Likewise.
26888         * modules/unictype/category-N: Likewise.
26889         * modules/unictype/category-Nd: Likewise.
26890         * modules/unictype/category-Nl: Likewise.
26891         * modules/unictype/category-No: Likewise.
26892         * modules/unictype/category-P: Likewise.
26893         * modules/unictype/category-Pc: Likewise.
26894         * modules/unictype/category-Pd: Likewise.
26895         * modules/unictype/category-Pe: Likewise.
26896         * modules/unictype/category-Pf: Likewise.
26897         * modules/unictype/category-Pi: Likewise.
26898         * modules/unictype/category-Po: Likewise.
26899         * modules/unictype/category-Ps: Likewise.
26900         * modules/unictype/category-S: Likewise.
26901         * modules/unictype/category-Sc: Likewise.
26902         * modules/unictype/category-Sk: Likewise.
26903         * modules/unictype/category-Sm: Likewise.
26904         * modules/unictype/category-So: Likewise.
26905         * modules/unictype/category-Z: Likewise.
26906         * modules/unictype/category-Zl: Likewise.
26907         * modules/unictype/category-Zp: Likewise.
26908         * modules/unictype/category-Zs: Likewise.
26909         * modules/unictype/category-and: Likewise.
26910         * modules/unictype/category-and-not: Likewise.
26911         * modules/unictype/category-byname: Likewise.
26912         * modules/unictype/category-name: Likewise.
26913         * modules/unictype/category-none: Likewise.
26914         * modules/unictype/category-of: Likewise.
26915         * modules/unictype/category-or: Likewise.
26916         * modules/unictype/category-test: Likewise.
26917         * modules/unictype/combining-class: Likewise.
26918         * modules/unictype/ctype-alnum: Likewise.
26919         * modules/unictype/ctype-alpha: Likewise.
26920         * modules/unictype/ctype-blank: Likewise.
26921         * modules/unictype/ctype-cntrl: Likewise.
26922         * modules/unictype/ctype-digit: Likewise.
26923         * modules/unictype/ctype-graph: Likewise.
26924         * modules/unictype/ctype-lower: Likewise.
26925         * modules/unictype/ctype-print: Likewise.
26926         * modules/unictype/ctype-punct: Likewise.
26927         * modules/unictype/ctype-space: Likewise.
26928         * modules/unictype/ctype-upper: Likewise.
26929         * modules/unictype/ctype-xdigit: Likewise.
26930         * modules/unictype/decimal-digit: Likewise.
26931         * modules/unictype/digit: Likewise.
26932         * modules/unictype/mirror: Likewise.
26933         * modules/unictype/numeric: Likewise.
26934         * modules/unictype/property-alphabetic: Likewise.
26935         * modules/unictype/property-ascii-hex-digit: Likewise.
26936         * modules/unictype/property-bidi-arabic-digit: Likewise.
26937         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26938         * modules/unictype/property-bidi-block-separator: Likewise.
26939         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26940         * modules/unictype/property-bidi-common-separator: Likewise.
26941         * modules/unictype/property-bidi-control: Likewise.
26942         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26943         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26944         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26945         * modules/unictype/property-bidi-european-digit: Likewise.
26946         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26947         * modules/unictype/property-bidi-left-to-right: Likewise.
26948         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26949         * modules/unictype/property-bidi-other-neutral: Likewise.
26950         * modules/unictype/property-bidi-pdf: Likewise.
26951         * modules/unictype/property-bidi-segment-separator: Likewise.
26952         * modules/unictype/property-bidi-whitespace: Likewise.
26953         * modules/unictype/property-byname: Likewise.
26954         * modules/unictype/property-combining: Likewise.
26955         * modules/unictype/property-composite: Likewise.
26956         * modules/unictype/property-currency-symbol: Likewise.
26957         * modules/unictype/property-dash: Likewise.
26958         * modules/unictype/property-decimal-digit: Likewise.
26959         * modules/unictype/property-default-ignorable-code-point: Likewise.
26960         * modules/unictype/property-deprecated: Likewise.
26961         * modules/unictype/property-diacritic: Likewise.
26962         * modules/unictype/property-extender: Likewise.
26963         * modules/unictype/property-format-control: Likewise.
26964         * modules/unictype/property-grapheme-base: Likewise.
26965         * modules/unictype/property-grapheme-extend: Likewise.
26966         * modules/unictype/property-grapheme-link: Likewise.
26967         * modules/unictype/property-hex-digit: Likewise.
26968         * modules/unictype/property-hyphen: Likewise.
26969         * modules/unictype/property-id-continue: Likewise.
26970         * modules/unictype/property-id-start: Likewise.
26971         * modules/unictype/property-ideographic: Likewise.
26972         * modules/unictype/property-ids-binary-operator: Likewise.
26973         * modules/unictype/property-ids-trinary-operator: Likewise.
26974         * modules/unictype/property-ignorable-control: Likewise.
26975         * modules/unictype/property-iso-control: Likewise.
26976         * modules/unictype/property-join-control: Likewise.
26977         * modules/unictype/property-left-of-pair: Likewise.
26978         * modules/unictype/property-line-separator: Likewise.
26979         * modules/unictype/property-logical-order-exception: Likewise.
26980         * modules/unictype/property-lowercase: Likewise.
26981         * modules/unictype/property-math: Likewise.
26982         * modules/unictype/property-non-break: Likewise.
26983         * modules/unictype/property-not-a-character: Likewise.
26984         * modules/unictype/property-numeric: Likewise.
26985         * modules/unictype/property-other-alphabetic: Likewise.
26986         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26987         * modules/unictype/property-other-grapheme-extend: Likewise.
26988         * modules/unictype/property-other-id-continue: Likewise.
26989         * modules/unictype/property-other-id-start: Likewise.
26990         * modules/unictype/property-other-lowercase: Likewise.
26991         * modules/unictype/property-other-math: Likewise.
26992         * modules/unictype/property-other-uppercase: Likewise.
26993         * modules/unictype/property-paired-punctuation: Likewise.
26994         * modules/unictype/property-paragraph-separator: Likewise.
26995         * modules/unictype/property-pattern-syntax: Likewise.
26996         * modules/unictype/property-pattern-white-space: Likewise.
26997         * modules/unictype/property-private-use: Likewise.
26998         * modules/unictype/property-punctuation: Likewise.
26999         * modules/unictype/property-quotation-mark: Likewise.
27000         * modules/unictype/property-radical: Likewise.
27001         * modules/unictype/property-sentence-terminal: Likewise.
27002         * modules/unictype/property-soft-dotted: Likewise.
27003         * modules/unictype/property-space: Likewise.
27004         * modules/unictype/property-terminal-punctuation: Likewise.
27005         * modules/unictype/property-test: Likewise.
27006         * modules/unictype/property-titlecase: Likewise.
27007         * modules/unictype/property-unassigned-code-value: Likewise.
27008         * modules/unictype/property-unified-ideograph: Likewise.
27009         * modules/unictype/property-uppercase: Likewise.
27010         * modules/unictype/property-variation-selector: Likewise.
27011         * modules/unictype/property-white-space: Likewise.
27012         * modules/unictype/property-xid-continue: Likewise.
27013         * modules/unictype/property-xid-start: Likewise.
27014         * modules/unictype/property-zero-width: Likewise.
27015         * modules/unictype/scripts: Likewise.
27016         * modules/unictype/syntax-c-ident: Likewise.
27017         * modules/unictype/syntax-c-whitespace: Likewise.
27018         * modules/unictype/syntax-java-ident: Likewise.
27019         * modules/unictype/syntax-java-whitespace: Likewise.
27020         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27021         * modules/unilbrk/u8-width-linebreaks: Likewise.
27022         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27023         * modules/unilbrk/u16-width-linebreaks: Likewise.
27024         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27025         * modules/unilbrk/u32-width-linebreaks: Likewise.
27026         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27027         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27028         * modules/uniname/uniname: Likewise.
27029         * modules/uninorm/canonical-decomposition: Likewise.
27030         * modules/uninorm/composition: Likewise.
27031         * modules/uninorm/decomposing-form: Likewise.
27032         * modules/uninorm/decomposition: Likewise.
27033         * modules/uninorm/filter: Likewise.
27034         * modules/uninorm/nfc: Likewise.
27035         * modules/uninorm/nfd: Likewise.
27036         * modules/uninorm/nfkc: Likewise.
27037         * modules/uninorm/nfkd: Likewise.
27038         * modules/uninorm/u8-normalize: Likewise.
27039         * modules/uninorm/u8-normcmp: Likewise.
27040         * modules/uninorm/u8-normcoll: Likewise.
27041         * modules/uninorm/u8-normxfrm: Likewise.
27042         * modules/uninorm/u16-normalize: Likewise.
27043         * modules/uninorm/u16-normcmp: Likewise.
27044         * modules/uninorm/u16-normcoll: Likewise.
27045         * modules/uninorm/u16-normxfrm: Likewise.
27046         * modules/uninorm/u32-normalize: Likewise.
27047         * modules/uninorm/u32-normcmp: Likewise.
27048         * modules/uninorm/u32-normcoll: Likewise.
27049         * modules/uninorm/u32-normxfrm: Likewise.
27050         * modules/unistdio/u8-asnprintf: Likewise.
27051         * modules/unistdio/u8-asprintf: Likewise.
27052         * modules/unistdio/u8-snprintf: Likewise.
27053         * modules/unistdio/u8-sprintf: Likewise.
27054         * modules/unistdio/u8-u8-asnprintf: Likewise.
27055         * modules/unistdio/u8-u8-asprintf: Likewise.
27056         * modules/unistdio/u8-u8-snprintf: Likewise.
27057         * modules/unistdio/u8-u8-sprintf: Likewise.
27058         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27059         * modules/unistdio/u8-u8-vasprintf: Likewise.
27060         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27061         * modules/unistdio/u8-u8-vsprintf: Likewise.
27062         * modules/unistdio/u8-vasnprintf: Likewise.
27063         * modules/unistdio/u8-vasprintf: Likewise.
27064         * modules/unistdio/u8-vsnprintf: Likewise.
27065         * modules/unistdio/u8-vsprintf: Likewise.
27066         * modules/unistdio/u16-asnprintf: Likewise.
27067         * modules/unistdio/u16-asprintf: Likewise.
27068         * modules/unistdio/u16-snprintf: Likewise.
27069         * modules/unistdio/u16-sprintf: Likewise.
27070         * modules/unistdio/u16-u16-asnprintf: Likewise.
27071         * modules/unistdio/u16-u16-asprintf: Likewise.
27072         * modules/unistdio/u16-u16-snprintf: Likewise.
27073         * modules/unistdio/u16-u16-sprintf: Likewise.
27074         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27075         * modules/unistdio/u16-u16-vasprintf: Likewise.
27076         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27077         * modules/unistdio/u16-u16-vsprintf: Likewise.
27078         * modules/unistdio/u16-vasnprintf: Likewise.
27079         * modules/unistdio/u16-vasprintf: Likewise.
27080         * modules/unistdio/u16-vsnprintf: Likewise.
27081         * modules/unistdio/u16-vsprintf: Likewise.
27082         * modules/unistdio/u32-asnprintf: Likewise.
27083         * modules/unistdio/u32-asprintf: Likewise.
27084         * modules/unistdio/u32-snprintf: Likewise.
27085         * modules/unistdio/u32-sprintf: Likewise.
27086         * modules/unistdio/u32-u32-asnprintf: Likewise.
27087         * modules/unistdio/u32-u32-asprintf: Likewise.
27088         * modules/unistdio/u32-u32-snprintf: Likewise.
27089         * modules/unistdio/u32-u32-sprintf: Likewise.
27090         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27091         * modules/unistdio/u32-u32-vasprintf: Likewise.
27092         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27093         * modules/unistdio/u32-u32-vsprintf: Likewise.
27094         * modules/unistdio/u32-vasnprintf: Likewise.
27095         * modules/unistdio/u32-vasprintf: Likewise.
27096         * modules/unistdio/u32-vsnprintf: Likewise.
27097         * modules/unistdio/u32-vsprintf: Likewise.
27098         * modules/unistdio/ulc-asnprintf: Likewise.
27099         * modules/unistdio/ulc-asprintf: Likewise.
27100         * modules/unistdio/ulc-fprintf: Likewise.
27101         * modules/unistdio/ulc-snprintf: Likewise.
27102         * modules/unistdio/ulc-sprintf: Likewise.
27103         * modules/unistdio/ulc-vasnprintf: Likewise.
27104         * modules/unistdio/ulc-vasprintf: Likewise.
27105         * modules/unistdio/ulc-vfprintf: Likewise.
27106         * modules/unistdio/ulc-vsnprintf: Likewise.
27107         * modules/unistdio/ulc-vsprintf: Likewise.
27108         * modules/unistr/u8-check: Likewise.
27109         * modules/unistr/u8-chr: Likewise.
27110         * modules/unistr/u8-cmp: Likewise.
27111         * modules/unistr/u8-cmp2: Likewise.
27112         * modules/unistr/u8-cpy: Likewise.
27113         * modules/unistr/u8-cpy-alloc: Likewise.
27114         * modules/unistr/u8-endswith: Likewise.
27115         * modules/unistr/u8-mblen: Likewise.
27116         * modules/unistr/u8-mbsnlen: Likewise.
27117         * modules/unistr/u8-mbtouc: Likewise.
27118         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27119         * modules/unistr/u8-mbtoucr: Likewise.
27120         * modules/unistr/u8-move: Likewise.
27121         * modules/unistr/u8-next: Likewise.
27122         * modules/unistr/u8-prev: Likewise.
27123         * modules/unistr/u8-set: Likewise.
27124         * modules/unistr/u8-startswith: Likewise.
27125         * modules/unistr/u8-stpcpy: Likewise.
27126         * modules/unistr/u8-stpncpy: Likewise.
27127         * modules/unistr/u8-strcat: Likewise.
27128         * modules/unistr/u8-strchr: Likewise.
27129         * modules/unistr/u8-strcmp: Likewise.
27130         * modules/unistr/u8-strcoll: Likewise.
27131         * modules/unistr/u8-strcpy: Likewise.
27132         * modules/unistr/u8-strcspn: Likewise.
27133         * modules/unistr/u8-strdup: Likewise.
27134         * modules/unistr/u8-strlen: Likewise.
27135         * modules/unistr/u8-strmblen: Likewise.
27136         * modules/unistr/u8-strmbtouc: Likewise.
27137         * modules/unistr/u8-strncat: Likewise.
27138         * modules/unistr/u8-strncmp: Likewise.
27139         * modules/unistr/u8-strncpy: Likewise.
27140         * modules/unistr/u8-strnlen: Likewise.
27141         * modules/unistr/u8-strpbrk: Likewise.
27142         * modules/unistr/u8-strrchr: Likewise.
27143         * modules/unistr/u8-strspn: Likewise.
27144         * modules/unistr/u8-strstr: Likewise.
27145         * modules/unistr/u8-strtok: Likewise.
27146         * modules/unistr/u8-to-u16: Likewise.
27147         * modules/unistr/u8-to-u32: Likewise.
27148         * modules/unistr/u8-uctomb: Likewise.
27149         * modules/unistr/u16-check: Likewise.
27150         * modules/unistr/u16-chr: Likewise.
27151         * modules/unistr/u16-cmp: Likewise.
27152         * modules/unistr/u16-cmp2: Likewise.
27153         * modules/unistr/u16-cpy: Likewise.
27154         * modules/unistr/u16-cpy-alloc: Likewise.
27155         * modules/unistr/u16-endswith: Likewise.
27156         * modules/unistr/u16-mblen: Likewise.
27157         * modules/unistr/u16-mbsnlen: Likewise.
27158         * modules/unistr/u16-mbtouc: Likewise.
27159         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27160         * modules/unistr/u16-mbtoucr: Likewise.
27161         * modules/unistr/u16-move: Likewise.
27162         * modules/unistr/u16-next: Likewise.
27163         * modules/unistr/u16-prev: Likewise.
27164         * modules/unistr/u16-set: Likewise.
27165         * modules/unistr/u16-startswith: Likewise.
27166         * modules/unistr/u16-stpcpy: Likewise.
27167         * modules/unistr/u16-stpncpy: Likewise.
27168         * modules/unistr/u16-strcat: Likewise.
27169         * modules/unistr/u16-strchr: Likewise.
27170         * modules/unistr/u16-strcmp: Likewise.
27171         * modules/unistr/u16-strcoll: Likewise.
27172         * modules/unistr/u16-strcpy: Likewise.
27173         * modules/unistr/u16-strcspn: Likewise.
27174         * modules/unistr/u16-strdup: Likewise.
27175         * modules/unistr/u16-strlen: Likewise.
27176         * modules/unistr/u16-strmblen: Likewise.
27177         * modules/unistr/u16-strmbtouc: Likewise.
27178         * modules/unistr/u16-strncat: Likewise.
27179         * modules/unistr/u16-strncmp: Likewise.
27180         * modules/unistr/u16-strncpy: Likewise.
27181         * modules/unistr/u16-strnlen: Likewise.
27182         * modules/unistr/u16-strpbrk: Likewise.
27183         * modules/unistr/u16-strrchr: Likewise.
27184         * modules/unistr/u16-strspn: Likewise.
27185         * modules/unistr/u16-strstr: Likewise.
27186         * modules/unistr/u16-strtok: Likewise.
27187         * modules/unistr/u16-to-u32: Likewise.
27188         * modules/unistr/u16-to-u8: Likewise.
27189         * modules/unistr/u16-uctomb: Likewise.
27190         * modules/unistr/u32-check: Likewise.
27191         * modules/unistr/u32-chr: Likewise.
27192         * modules/unistr/u32-cmp: Likewise.
27193         * modules/unistr/u32-cmp2: Likewise.
27194         * modules/unistr/u32-cpy: Likewise.
27195         * modules/unistr/u32-cpy-alloc: Likewise.
27196         * modules/unistr/u32-endswith: Likewise.
27197         * modules/unistr/u32-mblen: Likewise.
27198         * modules/unistr/u32-mbsnlen: Likewise.
27199         * modules/unistr/u32-mbtouc: Likewise.
27200         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27201         * modules/unistr/u32-mbtoucr: Likewise.
27202         * modules/unistr/u32-move: Likewise.
27203         * modules/unistr/u32-next: Likewise.
27204         * modules/unistr/u32-prev: Likewise.
27205         * modules/unistr/u32-set: Likewise.
27206         * modules/unistr/u32-startswith: Likewise.
27207         * modules/unistr/u32-stpcpy: Likewise.
27208         * modules/unistr/u32-stpncpy: Likewise.
27209         * modules/unistr/u32-strcat: Likewise.
27210         * modules/unistr/u32-strchr: Likewise.
27211         * modules/unistr/u32-strcmp: Likewise.
27212         * modules/unistr/u32-strcoll: Likewise.
27213         * modules/unistr/u32-strcpy: Likewise.
27214         * modules/unistr/u32-strcspn: Likewise.
27215         * modules/unistr/u32-strdup: Likewise.
27216         * modules/unistr/u32-strlen: Likewise.
27217         * modules/unistr/u32-strmblen: Likewise.
27218         * modules/unistr/u32-strmbtouc: Likewise.
27219         * modules/unistr/u32-strncat: Likewise.
27220         * modules/unistr/u32-strncmp: Likewise.
27221         * modules/unistr/u32-strncpy: Likewise.
27222         * modules/unistr/u32-strnlen: Likewise.
27223         * modules/unistr/u32-strpbrk: Likewise.
27224         * modules/unistr/u32-strrchr: Likewise.
27225         * modules/unistr/u32-strspn: Likewise.
27226         * modules/unistr/u32-strstr: Likewise.
27227         * modules/unistr/u32-strtok: Likewise.
27228         * modules/unistr/u32-to-u16: Likewise.
27229         * modules/unistr/u32-to-u8: Likewise.
27230         * modules/unistr/u32-uctomb: Likewise.
27231         * modules/uniwbrk/u8-wordbreaks: Likewise.
27232         * modules/uniwbrk/u16-wordbreaks: Likewise.
27233         * modules/uniwbrk/u32-wordbreaks: Likewise.
27234         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27235         * modules/uniwbrk/wordbreak-property: Likewise.
27236         * modules/uniwidth/u8-strwidth: Likewise.
27237         * modules/uniwidth/u8-width: Likewise.
27238         * modules/uniwidth/u16-strwidth: Likewise.
27239         * modules/uniwidth/u16-width: Likewise.
27240         * modules/uniwidth/u32-strwidth: Likewise.
27241         * modules/uniwidth/u32-width: Likewise.
27242         * modules/uniwidth/width: Likewise.
27243         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27244         with $(LIBUNISTRING).
27245         * modules/unicase/ignorable-tests: Likewise.
27246         * modules/unicase/locale-language-tests: Likewise.
27247         * modules/unicase/tolower-tests: Likewise.
27248         * modules/unicase/totitle-tests: Likewise.
27249         * modules/unicase/toupper-tests: Likewise.
27250         * modules/unicase/u8-casecmp-tests: Likewise.
27251         * modules/unicase/u8-casecoll-tests: Likewise.
27252         * modules/unicase/u8-casefold-tests: Likewise.
27253         * modules/unicase/u8-is-cased-tests: Likewise.
27254         * modules/unicase/u8-is-casefolded-tests: Likewise.
27255         * modules/unicase/u8-is-lowercase-tests: Likewise.
27256         * modules/unicase/u8-is-titlecase-tests: Likewise.
27257         * modules/unicase/u8-is-uppercase-tests: Likewise.
27258         * modules/unicase/u8-tolower-tests: Likewise.
27259         * modules/unicase/u8-totitle-tests: Likewise.
27260         * modules/unicase/u8-toupper-tests: Likewise.
27261         * modules/unicase/u16-casecmp-tests: Likewise.
27262         * modules/unicase/u16-casecoll-tests: Likewise.
27263         * modules/unicase/u16-casefold-tests: Likewise.
27264         * modules/unicase/u16-is-cased-tests: Likewise.
27265         * modules/unicase/u16-is-casefolded-tests: Likewise.
27266         * modules/unicase/u16-is-lowercase-tests: Likewise.
27267         * modules/unicase/u16-is-titlecase-tests: Likewise.
27268         * modules/unicase/u16-is-uppercase-tests: Likewise.
27269         * modules/unicase/u16-tolower-tests: Likewise.
27270         * modules/unicase/u16-totitle-tests: Likewise.
27271         * modules/unicase/u16-toupper-tests: Likewise.
27272         * modules/unicase/u32-casecmp-tests: Likewise.
27273         * modules/unicase/u32-casecoll-tests: Likewise.
27274         * modules/unicase/u32-casefold-tests: Likewise.
27275         * modules/unicase/u32-is-cased-tests: Likewise.
27276         * modules/unicase/u32-is-casefolded-tests: Likewise.
27277         * modules/unicase/u32-is-lowercase-tests: Likewise.
27278         * modules/unicase/u32-is-titlecase-tests: Likewise.
27279         * modules/unicase/u32-is-uppercase-tests: Likewise.
27280         * modules/unicase/u32-tolower-tests: Likewise.
27281         * modules/unicase/u32-totitle-tests: Likewise.
27282         * modules/unicase/u32-toupper-tests: Likewise.
27283         * modules/unicase/ulc-casecmp-tests: Likewise.
27284         * modules/unicase/ulc-casecoll-tests: Likewise.
27285         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27286         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27287         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27288         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27289         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27290         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27291         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27292         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27293         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27294         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27295         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27296         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27297         * modules/unictype/bidicategory-byname-tests: Likewise.
27298         * modules/unictype/bidicategory-name-tests: Likewise.
27299         * modules/unictype/bidicategory-of-tests: Likewise.
27300         * modules/unictype/bidicategory-test-tests: Likewise.
27301         * modules/unictype/block-list-tests: Likewise.
27302         * modules/unictype/block-of-tests: Likewise.
27303         * modules/unictype/block-test-tests: Likewise.
27304         * modules/unictype/category-C-tests: Likewise.
27305         * modules/unictype/category-Cc-tests: Likewise.
27306         * modules/unictype/category-Cf-tests: Likewise.
27307         * modules/unictype/category-Cn-tests: Likewise.
27308         * modules/unictype/category-Co-tests: Likewise.
27309         * modules/unictype/category-Cs-tests: Likewise.
27310         * modules/unictype/category-L-tests: Likewise.
27311         * modules/unictype/category-Ll-tests: Likewise.
27312         * modules/unictype/category-Lm-tests: Likewise.
27313         * modules/unictype/category-Lo-tests: Likewise.
27314         * modules/unictype/category-Lt-tests: Likewise.
27315         * modules/unictype/category-Lu-tests: Likewise.
27316         * modules/unictype/category-M-tests: Likewise.
27317         * modules/unictype/category-Mc-tests: Likewise.
27318         * modules/unictype/category-Me-tests: Likewise.
27319         * modules/unictype/category-Mn-tests: Likewise.
27320         * modules/unictype/category-N-tests: Likewise.
27321         * modules/unictype/category-Nd-tests: Likewise.
27322         * modules/unictype/category-Nl-tests: Likewise.
27323         * modules/unictype/category-No-tests: Likewise.
27324         * modules/unictype/category-P-tests: Likewise.
27325         * modules/unictype/category-Pc-tests: Likewise.
27326         * modules/unictype/category-Pd-tests: Likewise.
27327         * modules/unictype/category-Pe-tests: Likewise.
27328         * modules/unictype/category-Pf-tests: Likewise.
27329         * modules/unictype/category-Pi-tests: Likewise.
27330         * modules/unictype/category-Po-tests: Likewise.
27331         * modules/unictype/category-Ps-tests: Likewise.
27332         * modules/unictype/category-S-tests: Likewise.
27333         * modules/unictype/category-Sc-tests: Likewise.
27334         * modules/unictype/category-Sk-tests: Likewise.
27335         * modules/unictype/category-Sm-tests: Likewise.
27336         * modules/unictype/category-So-tests: Likewise.
27337         * modules/unictype/category-Z-tests: Likewise.
27338         * modules/unictype/category-Zl-tests: Likewise.
27339         * modules/unictype/category-Zp-tests: Likewise.
27340         * modules/unictype/category-Zs-tests: Likewise.
27341         * modules/unictype/category-and-not-tests: Likewise.
27342         * modules/unictype/category-and-tests: Likewise.
27343         * modules/unictype/category-byname-tests: Likewise.
27344         * modules/unictype/category-name-tests: Likewise.
27345         * modules/unictype/category-none-tests: Likewise.
27346         * modules/unictype/category-of-tests: Likewise.
27347         * modules/unictype/category-or-tests: Likewise.
27348         * modules/unictype/category-test-withtable-tests: Likewise.
27349         * modules/unictype/combining-class-tests: Likewise.
27350         * modules/unictype/ctype-alnum-tests: Likewise.
27351         * modules/unictype/ctype-alpha-tests: Likewise.
27352         * modules/unictype/ctype-blank-tests: Likewise.
27353         * modules/unictype/ctype-cntrl-tests: Likewise.
27354         * modules/unictype/ctype-digit-tests: Likewise.
27355         * modules/unictype/ctype-graph-tests: Likewise.
27356         * modules/unictype/ctype-lower-tests: Likewise.
27357         * modules/unictype/ctype-print-tests: Likewise.
27358         * modules/unictype/ctype-punct-tests: Likewise.
27359         * modules/unictype/ctype-space-tests: Likewise.
27360         * modules/unictype/ctype-upper-tests: Likewise.
27361         * modules/unictype/ctype-xdigit-tests: Likewise.
27362         * modules/unictype/decimal-digit-tests: Likewise.
27363         * modules/unictype/digit-tests: Likewise.
27364         * modules/unictype/mirror-tests: Likewise.
27365         * modules/unictype/numeric-tests: Likewise.
27366         * modules/unictype/property-alphabetic-tests: Likewise.
27367         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27368         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27369         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27370         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27371         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27372         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27373         * modules/unictype/property-bidi-control-tests: Likewise.
27374         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27375         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27376         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27377         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27378         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27379         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27380         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27381         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27382         * modules/unictype/property-bidi-pdf-tests: Likewise.
27383         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27384         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27385         * modules/unictype/property-byname-tests: Likewise.
27386         * modules/unictype/property-combining-tests: Likewise.
27387         * modules/unictype/property-composite-tests: Likewise.
27388         * modules/unictype/property-currency-symbol-tests: Likewise.
27389         * modules/unictype/property-dash-tests: Likewise.
27390         * modules/unictype/property-decimal-digit-tests: Likewise.
27391         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27392         * modules/unictype/property-deprecated-tests: Likewise.
27393         * modules/unictype/property-diacritic-tests: Likewise.
27394         * modules/unictype/property-extender-tests: Likewise.
27395         * modules/unictype/property-format-control-tests: Likewise.
27396         * modules/unictype/property-grapheme-base-tests: Likewise.
27397         * modules/unictype/property-grapheme-extend-tests: Likewise.
27398         * modules/unictype/property-grapheme-link-tests: Likewise.
27399         * modules/unictype/property-hex-digit-tests: Likewise.
27400         * modules/unictype/property-hyphen-tests: Likewise.
27401         * modules/unictype/property-id-continue-tests: Likewise.
27402         * modules/unictype/property-id-start-tests: Likewise.
27403         * modules/unictype/property-ideographic-tests: Likewise.
27404         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27405         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27406         * modules/unictype/property-ignorable-control-tests: Likewise.
27407         * modules/unictype/property-iso-control-tests: Likewise.
27408         * modules/unictype/property-join-control-tests: Likewise.
27409         * modules/unictype/property-left-of-pair-tests: Likewise.
27410         * modules/unictype/property-line-separator-tests: Likewise.
27411         * modules/unictype/property-logical-order-exception-tests: Likewise.
27412         * modules/unictype/property-lowercase-tests: Likewise.
27413         * modules/unictype/property-math-tests: Likewise.
27414         * modules/unictype/property-non-break-tests: Likewise.
27415         * modules/unictype/property-not-a-character-tests: Likewise.
27416         * modules/unictype/property-numeric-tests: Likewise.
27417         * modules/unictype/property-other-alphabetic-tests: Likewise.
27418         * modules/unictype/property-other-default-ignorable-code-point-tests:
27419         Likewise.
27420         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27421         * modules/unictype/property-other-id-continue-tests: Likewise.
27422         * modules/unictype/property-other-id-start-tests: Likewise.
27423         * modules/unictype/property-other-lowercase-tests: Likewise.
27424         * modules/unictype/property-other-math-tests: Likewise.
27425         * modules/unictype/property-other-uppercase-tests: Likewise.
27426         * modules/unictype/property-paired-punctuation-tests: Likewise.
27427         * modules/unictype/property-paragraph-separator-tests: Likewise.
27428         * modules/unictype/property-pattern-syntax-tests: Likewise.
27429         * modules/unictype/property-pattern-white-space-tests: Likewise.
27430         * modules/unictype/property-private-use-tests: Likewise.
27431         * modules/unictype/property-punctuation-tests: Likewise.
27432         * modules/unictype/property-quotation-mark-tests: Likewise.
27433         * modules/unictype/property-radical-tests: Likewise.
27434         * modules/unictype/property-sentence-terminal-tests: Likewise.
27435         * modules/unictype/property-soft-dotted-tests: Likewise.
27436         * modules/unictype/property-space-tests: Likewise.
27437         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27438         * modules/unictype/property-test-tests: Likewise.
27439         * modules/unictype/property-titlecase-tests: Likewise.
27440         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27441         * modules/unictype/property-unified-ideograph-tests: Likewise.
27442         * modules/unictype/property-uppercase-tests: Likewise.
27443         * modules/unictype/property-variation-selector-tests: Likewise.
27444         * modules/unictype/property-white-space-tests: Likewise.
27445         * modules/unictype/property-xid-continue-tests: Likewise.
27446         * modules/unictype/property-xid-start-tests: Likewise.
27447         * modules/unictype/property-zero-width-tests: Likewise.
27448         * modules/unictype/scripts-tests: Likewise.
27449         * modules/unictype/syntax-c-ident-tests: Likewise.
27450         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27451         * modules/unictype/syntax-java-ident-tests: Likewise.
27452         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27453         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27454         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27455         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27456         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27457         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27458         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27459         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27460         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27461         * modules/uniname/uniname-tests: Likewise.
27462         * modules/uninorm/canonical-decomposition-tests: Likewise.
27463         * modules/uninorm/compat-decomposition-tests: Likewise.
27464         * modules/uninorm/composition-tests: Likewise.
27465         * modules/uninorm/decomposing-form-tests: Likewise.
27466         * modules/uninorm/decomposition-tests: Likewise.
27467         * modules/uninorm/filter-tests: Likewise.
27468         * modules/uninorm/nfc-tests: Likewise.
27469         * modules/uninorm/nfd-tests: Likewise.
27470         * modules/uninorm/nfkc-tests: Likewise.
27471         * modules/uninorm/nfkd-tests: Likewise.
27472         * modules/uninorm/u8-normcmp-tests: Likewise.
27473         * modules/uninorm/u8-normcoll-tests: Likewise.
27474         * modules/uninorm/u16-normcmp-tests: Likewise.
27475         * modules/uninorm/u16-normcoll-tests: Likewise.
27476         * modules/uninorm/u32-normcmp-tests: Likewise.
27477         * modules/uninorm/u32-normcoll-tests: Likewise.
27478         * modules/unistdio/u8-asnprintf-tests: Likewise.
27479         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27480         * modules/unistdio/u8-vasprintf-tests: Likewise.
27481         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27482         * modules/unistdio/u8-vsprintf-tests: Likewise.
27483         * modules/unistdio/u16-asnprintf-tests: Likewise.
27484         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27485         * modules/unistdio/u16-vasprintf-tests: Likewise.
27486         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27487         * modules/unistdio/u16-vsprintf-tests: Likewise.
27488         * modules/unistdio/u32-asnprintf-tests: Likewise.
27489         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27490         * modules/unistdio/u32-vasprintf-tests: Likewise.
27491         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27492         * modules/unistdio/u32-vsprintf-tests: Likewise.
27493         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27494         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27495         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27496         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27497         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27498         * modules/unistr/u8-check-tests: Likewise.
27499         * modules/unistr/u8-chr-tests: Likewise.
27500         * modules/unistr/u8-cmp-tests: Likewise.
27501         * modules/unistr/u8-cmp2-tests: Likewise.
27502         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27503         * modules/unistr/u8-cpy-tests: Likewise.
27504         * modules/unistr/u8-mblen-tests: Likewise.
27505         * modules/unistr/u8-mbsnlen-tests: Likewise.
27506         * modules/unistr/u8-mbtouc-tests: Likewise.
27507         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27508         * modules/unistr/u8-mbtoucr-tests: Likewise.
27509         * modules/unistr/u8-move-tests: Likewise.
27510         * modules/unistr/u8-next-tests: Likewise.
27511         * modules/unistr/u8-prev-tests: Likewise.
27512         * modules/unistr/u8-set-tests: Likewise.
27513         * modules/unistr/u8-stpcpy-tests: Likewise.
27514         * modules/unistr/u8-stpncpy-tests: Likewise.
27515         * modules/unistr/u8-strcat-tests: Likewise.
27516         * modules/unistr/u8-strcmp-tests: Likewise.
27517         * modules/unistr/u8-strcoll-tests: Likewise.
27518         * modules/unistr/u8-strcpy-tests: Likewise.
27519         * modules/unistr/u8-strdup-tests: Likewise.
27520         * modules/unistr/u8-strlen-tests: Likewise.
27521         * modules/unistr/u8-strmblen-tests: Likewise.
27522         * modules/unistr/u8-strmbtouc-tests: Likewise.
27523         * modules/unistr/u8-strncat-tests: Likewise.
27524         * modules/unistr/u8-strncmp-tests: Likewise.
27525         * modules/unistr/u8-strncpy-tests: Likewise.
27526         * modules/unistr/u8-strnlen-tests: Likewise.
27527         * modules/unistr/u8-to-u16-tests: Likewise.
27528         * modules/unistr/u8-to-u32-tests: Likewise.
27529         * modules/unistr/u8-uctomb-tests: Likewise.
27530         * modules/unistr/u16-check-tests: Likewise.
27531         * modules/unistr/u16-chr-tests: Likewise.
27532         * modules/unistr/u16-cmp-tests: Likewise.
27533         * modules/unistr/u16-cmp2-tests: Likewise.
27534         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27535         * modules/unistr/u16-cpy-tests: Likewise.
27536         * modules/unistr/u16-mblen-tests: Likewise.
27537         * modules/unistr/u16-mbsnlen-tests: Likewise.
27538         * modules/unistr/u16-mbtouc-tests: Likewise.
27539         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27540         * modules/unistr/u16-mbtoucr-tests: Likewise.
27541         * modules/unistr/u16-move-tests: Likewise.
27542         * modules/unistr/u16-next-tests: Likewise.
27543         * modules/unistr/u16-prev-tests: Likewise.
27544         * modules/unistr/u16-set-tests: Likewise.
27545         * modules/unistr/u16-stpcpy-tests: Likewise.
27546         * modules/unistr/u16-stpncpy-tests: Likewise.
27547         * modules/unistr/u16-strcat-tests: Likewise.
27548         * modules/unistr/u16-strcmp-tests: Likewise.
27549         * modules/unistr/u16-strcoll-tests: Likewise.
27550         * modules/unistr/u16-strcpy-tests: Likewise.
27551         * modules/unistr/u16-strdup-tests: Likewise.
27552         * modules/unistr/u16-strlen-tests: Likewise.
27553         * modules/unistr/u16-strmblen-tests: Likewise.
27554         * modules/unistr/u16-strmbtouc-tests: Likewise.
27555         * modules/unistr/u16-strncat-tests: Likewise.
27556         * modules/unistr/u16-strncmp-tests: Likewise.
27557         * modules/unistr/u16-strncpy-tests: Likewise.
27558         * modules/unistr/u16-strnlen-tests: Likewise.
27559         * modules/unistr/u16-to-u32-tests: Likewise.
27560         * modules/unistr/u16-to-u8-tests: Likewise.
27561         * modules/unistr/u16-uctomb-tests: Likewise.
27562         * modules/unistr/u32-check-tests: Likewise.
27563         * modules/unistr/u32-chr-tests: Likewise.
27564         * modules/unistr/u32-cmp-tests: Likewise.
27565         * modules/unistr/u32-cmp2-tests: Likewise.
27566         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27567         * modules/unistr/u32-cpy-tests: Likewise.
27568         * modules/unistr/u32-mblen-tests: Likewise.
27569         * modules/unistr/u32-mbsnlen-tests: Likewise.
27570         * modules/unistr/u32-mbtouc-tests: Likewise.
27571         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27572         * modules/unistr/u32-mbtoucr-tests: Likewise.
27573         * modules/unistr/u32-move-tests: Likewise.
27574         * modules/unistr/u32-next-tests: Likewise.
27575         * modules/unistr/u32-prev-tests: Likewise.
27576         * modules/unistr/u32-set-tests: Likewise.
27577         * modules/unistr/u32-stpcpy-tests: Likewise.
27578         * modules/unistr/u32-stpncpy-tests: Likewise.
27579         * modules/unistr/u32-strcat-tests: Likewise.
27580         * modules/unistr/u32-strcmp-tests: Likewise.
27581         * modules/unistr/u32-strcoll-tests: Likewise.
27582         * modules/unistr/u32-strcpy-tests: Likewise.
27583         * modules/unistr/u32-strdup-tests: Likewise.
27584         * modules/unistr/u32-strlen-tests: Likewise.
27585         * modules/unistr/u32-strmblen-tests: Likewise.
27586         * modules/unistr/u32-strmbtouc-tests: Likewise.
27587         * modules/unistr/u32-strncat-tests: Likewise.
27588         * modules/unistr/u32-strncmp-tests: Likewise.
27589         * modules/unistr/u32-strncpy-tests: Likewise.
27590         * modules/unistr/u32-strnlen-tests: Likewise.
27591         * modules/unistr/u32-to-u16-tests: Likewise.
27592         * modules/unistr/u32-to-u8-tests: Likewise.
27593         * modules/unistr/u32-uctomb-tests: Likewise.
27594         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27595         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27596         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27597         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27598         * modules/uniwidth/u8-strwidth-tests: Likewise.
27599         * modules/uniwidth/u8-width-tests: Likewise.
27600         * modules/uniwidth/u16-strwidth-tests: Likewise.
27601         * modules/uniwidth/u16-width-tests: Likewise.
27602         * modules/uniwidth/u32-strwidth-tests: Likewise.
27603         * modules/uniwidth/u32-width-tests: Likewise.
27604         * modules/uniwidth/width-tests: Likewise.
27605
27606 2010-05-18  Richard Jones  <rjones@redhat.com>
27607
27608         doc: users.txt: list hivex
27609         * users.txt: Add hivex.
27610
27611 2010-05-18  Richard Jones  <rjones@redhat.com>
27612
27613         doc: users.txt: list febootstrap
27614         * users.txt: Add febootstrap.
27615
27616 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27617
27618         bootstrap: fix an error when gnulib is not used as a git submodule
27619         * build-aux/bootstrap (gnulib_path): If its length is zero then
27620         assign "gnulib" to it.
27621         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27622
27623 2010-05-16  Bruno Haible  <bruno@clisp.org>
27624
27625         Avoid autoconf warnings about AM_ICONV.
27626         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27627         2.64.
27628
27629 2010-05-16  Bruno Haible  <bruno@clisp.org>
27630
27631         absolute-header: Make the macro usable in more situations.
27632         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27633         from gl_ABSOLUTE_HEADER.
27634         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27635
27636 2010-05-16  James Youngman  <jay@gnu.org>
27637
27638         doc: update users.txt
27639         * users.txt: Add CSSC.
27640
27641 2010-05-16  Jim Meyering  <meyering@redhat.com>
27642
27643         init.sh: fix an error in the previous change; add more comments
27644         * tests/init.sh: Compare exit code in loop against 9, not 2.
27645         Patch by Bruno Haible.
27646         Make the two tests more similar by adding an empty "then" clause.
27647         Add comments.
27648
27649         init.sh: avoid unnecessary shell re-exec
27650         * tests/init.sh: Improve the re-exec-required check to first test the
27651         current shell.  If it passes the test, do not search for a shell that
27652         does pass, and do not re-exec.  This test is particularly contorted to
27653         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27654         of $(...) evokes a syntax error and causes immediate shell exit with
27655         status 2.  Bruno Haible reported that the re-exec made it impossible
27656         to single-step through any init.sh-using script.
27657
27658 2010-05-16  Bruno Haible  <bruno@clisp.org>
27659
27660         Fix collision between gnulib's and libintl's printf replacements.
27661         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27662         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27663         (printf): When using GNU C, map the __printf__ function to rpl_printf
27664         via __asm__. When not using GNU C, define rpl_printf instead of
27665         __printf__.
27666         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27667         commit.
27668         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27669         commit.
27670         * m4/asm-underscore.m4: New file.
27671         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27672         * modules/stdio (Files): Add m4/asm-underscore.m4.
27673         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27674         Reported by Ben Pfaff.
27675
27676 2010-05-16  Bruno Haible  <bruno@clisp.org>
27677
27678         verify: Avoid skipping the test on openSUSE 11.0.
27679         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27680
27681 2010-05-13  Bruno Haible  <bruno@clisp.org>
27682
27683         Avoid useless warnings from G++.
27684         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27685         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27686         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27687
27688 2010-05-11  Jim Meyering  <meyering@redhat.com>
27689
27690         maint.mk: tweak preceding change
27691         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27692         regexps tighter by anchoring at EOL, and make the new group "shy"
27693         for slightly decreased overhead.
27694
27695 2010-05-11  Eric Blake  <eblake@redhat.com>
27696
27697         maint.mk: gnulib doesn't guarantee NSIG
27698         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27699
27700 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27701
27702         test-pwrite.c: Remove unused variable declaration.
27703         * tests/test-pwrite.c (main): Remove read_buf declaration.
27704
27705         Remove useless test-pwrite.sh file.
27706         * tests/test-pwrite.sh: Delete file.
27707         * modules/pwrite-tests: Remove references.
27708         Reported by Bruno Haible.
27709
27710 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27711
27712         init.sh: fix a typo
27713         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27714
27715 2010-05-10  Jim Meyering  <meyering@redhat.com>
27716
27717         maint.mk: avoid using a temporary file in the always-defined-macros check
27718         * top/maint.mk (.re-defmac): Remove rule.
27719         (gl_trap_): Remove definition.
27720         (sc_prohibit_always-defined_macros): Rewrite not to create and
27721         depend on a temporary file.  Instead, depend on GNU grep's ability
27722         to read a list of regular expressions from stdin when given "-f -".
27723
27724 2010-05-09  Bruno Haible  <bruno@clisp.org>
27725
27726         Update to GNU gettext 0.18, part 1.
27727         * m4/gettext.m4: Update to GNU gettext 0.18.
27728         * m4/intl.m4: Likewise.
27729         * m4/po.m4: Likewise.
27730         * modules/gettext (Files): Add m4/fcntl-o.m4.
27731         (configure.ac): Require gettext infrastructure from version 0.18.
27732
27733 2010-05-09  Jim Meyering  <meyering@redhat.com>
27734
27735         init.sh: enable MALLOC_PERTURB_
27736         * tests/init.sh: Enable glibc's malloc-perturbing option.
27737
27738         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27739         With my recent change in init.sh from the two-line form:
27740             -#   : ${srcdir=.}
27741             -#   . "$srcdir/init.sh"; path_prepend_ .
27742             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27743         I noticed that using the one-line form would cause this test
27744         to fail with a false-positive, or to stop working altogether,
27745         depending on whether help-version changed or all the tests did.
27746         * top/maint.mk (_hv_regex): Remove this definition.
27747         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27748         (_hv_regex_strong): Use a stronger regex to check for conformance.
27749         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27750         Give a separate diagnostic for lack of conforming use.
27751
27752         maint.mk: prohibit definition of symbols defined by gnulib
27753         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27754         definition of symbols defined by gnulib.
27755
27756 2010-05-09  Bruno Haible  <bruno@clisp.org>
27757
27758         acl: Avoid test failure on Cygwin-hosted mingw.
27759         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27760
27761 2010-05-09  Bruno Haible  <bruno@clisp.org>
27762
27763         error: Use system's fcntl function.
27764         * lib/error.c (fcntl): Undefine.
27765
27766 2010-05-09  Jim Meyering  <meyering@redhat.com>
27767
27768         verify: adjust formatting to be more consistent
27769         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27770         argument-list '('s, and after one comma.
27771
27772 2010-05-09  Bruno Haible  <bruno@clisp.org>
27773
27774         error: More reliable output on mingw.
27775         * lib/error.c: Include <windows.h>.
27776         (is_open): New function.
27777         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27778         defined.
27779
27780 2010-05-09  Bruno Haible  <bruno@clisp.org>
27781
27782         vasnprintf: Fix syntax errors in libintl build on mingw.
27783         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27784         pad_ourselves and prec_ourselves after use.
27785
27786 2010-05-08  Bruno Haible  <bruno@clisp.org>
27787
27788         * lib/config.charset: Update comments for Cygwin 1.7.
27789         * lib/localcharset.c: Likewise.
27790
27791 2010-05-07  Jim Meyering  <meyering@redhat.com>
27792
27793         init.sh: improve comments
27794         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27795         . "${srcdir=.}/init.sh"; path_prepend_ .
27796         Add a note about path_prepend_ and the alternative of using
27797         TESTS_ENVIRONMENT.
27798
27799 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27800
27801         exclude: Unescape hashed patterns in wildcard mode.
27802         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27803         to the hash list.
27804         * tests/test-exclude8.sh: New test case.
27805         * modules/exclude-tests: Add new test.
27806
27807 2010-05-05  Eric Blake  <eblake@redhat.com>
27808
27809         verify: automate tests
27810         * modules/verify-tests: New module.
27811         * tests/test-verify.sh: New file.
27812         * tests/test-verify.c: Guard each negative test with a unique id.
27813         Also avoid warning about unused left hand of comma expressions.
27814
27815 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27816
27817         Further improvements to verify.h, suggested by Eric Blake.
27818         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27819         the GL_* versions, to avoid collision with OpenGL.
27820         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27821         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27822         than testing merely whether it's defined.
27823
27824         Modify verify.h to pacify gcc -Wredundant_decls.
27825         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27826         These use the prefix "GL_" since they're likely to be useful elsewhere.
27827         We may need to break them out into a different .h file.
27828         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27829         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27830         of verify_function__.
27831
27832 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27833
27834         Tests for module pwrite.
27835         * modules/pwrite-tests: New file.
27836         * tests/test-pwrite.sh: New file.
27837         * tests/test-pwrite.c: New file.
27838
27839         New module pwrite.
27840         * lib/unistd.in.h (pwrite): New declaration.
27841         * lib/pwrite.c: New file, from glibc with modifications.
27842         * m4/pwrite.m4: New file.
27843         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27844         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27845         REPLACE_PWRITE.
27846         * modules/pwrite: New file.
27847         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27848         REPLACE_PWRITE.
27849         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27850         * doc/posix-functions/pwrite.texi: Mention the new module.
27851
27852 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27853
27854         pread: Update documentation.
27855         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27856
27857 2010-05-04  Eric Blake  <eblake@redhat.com>
27858
27859         docs: update cygwin progress
27860         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27861         this bug.
27862         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27863         Added in cygwin 1.7.2.
27864         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27865         Likewise.
27866         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27867         Likewise.
27868         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27869         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27870         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27871         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27872         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27873         Mention nproc module.
27874         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27875         bug in cygwin 1.7.5 addition.
27876         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27877         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27878         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27879         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27880         1.7.5.
27881         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27882         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27883         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27884         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27885         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27886         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27887         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27888         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27889         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27890         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27891         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27892         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27893         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27894         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27895         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27896         Likewise.
27897         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27898         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27899         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27900         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27901         Likewise.
27902         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27903         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27904         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27905         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27906         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27907         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27908         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27909         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27910         Likewise.
27911         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27912         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27913         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27914         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27915         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27916         Likewise.
27917         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27918         Likewise.
27919         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27920         Likewise.
27921         * doc/glibc-functions/xdrrec_endofrecord.texi
27922         (xdrrec_endofrecord): Likewise.
27923         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27924         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27925         Likewise.
27926         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27927         Likewise.
27928
27929 2010-05-04  Jim Meyering  <meyering@redhat.com>
27930
27931         gendocs.sh: make its "-s FILE" option more useful
27932         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27933         $PACKAGE to reflect the probably-different basename of "FILE".
27934
27935 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27936
27937         bootstrap: don't ignore download_po_files failure
27938         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27939         failure.
27940
27941 2010-05-03  Jim Meyering  <meyering@redhat.com>
27942
27943         maint.mk: allow to pass options to gendocs.sh
27944         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27945         (gendocs_options_): New overridable variable.
27946
27947         gnu-web-doc-update: don't ignore configure or build failure
27948         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27949
27950         announce-gen: backslash-escape '@'s in --help output
27951         * build-aux/announce-gen: Fix syntax errors.
27952
27953         maint.mk, announce-gen: allow project-specific announcement mail headers
27954         * top/maint.mk (translation_project_): Define default.
27955         (announcement_Cc_, announcement_mail_headers_): Likewise.
27956         (announcement): Invoke announce-gen with new --mail-headers option.
27957         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27958
27959         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27960         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27961         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27962         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27963         line in the "err2" output file when running "make check" in verbose
27964         mode (i.e., with set -x enabled).
27965
27966 2010-05-03  Bruno Haible  <bruno@clisp.org>
27967
27968         wctob: Fix for weird platforms.
27969         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27970         argument value.
27971
27972 2010-05-03  Jim Meyering  <meyering@redhat.com>
27973
27974         maint.mk: prohibit unwarranted use of <strings.h>
27975         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27976         strings.h in a file that does not also use strcasecmp, strncasecmp,
27977         ffs or ffsll.
27978
27979         maint.mk: remove obsolete comments
27980         * top/maint.mk: Remove stale, commented-out rules.
27981
27982 2010-05-02  Bruno Haible  <bruno@clisp.org>
27983
27984         wcwidth: Declare also when it's aliased.
27985         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27986         macro.
27987
27988 2010-05-02  Bruno Haible  <bruno@clisp.org>
27989
27990         Fix regression from 2010-04-25.
27991         * gnulib-tool (func_modules_transitive_closure): Check the status of
27992         all modules, not only of the tests that are of the form foo-tests where
27993         foo is a module.
27994
27995 2010-05-02  Bruno Haible  <bruno@clisp.org>
27996
27997         wctob: Work around nasty Cygwin 1.7.2 bug.
27998         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27999         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28000
28001 2010-05-01  Bruno Haible  <bruno@clisp.org>
28002
28003         fpurge: Sharper test.
28004         * tests/test-fpurge.c (main): Add one more ftell check.
28005         * modules/fpurge-tests (Depends-on): Add ftell.
28006         Suggested by Eric Blake.
28007
28008 2010-05-01  Bruno Haible  <bruno@clisp.org>
28009
28010         ftello: Another test.
28011         * tests/test-ftello3.c: New file.
28012         * modules/ftello-tests (Files): Add it.
28013         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28014         MOSTLYCLEANFILES.
28015
28016         ftell: Another test.
28017         * tests/test-ftell3.c: New file.
28018         * modules/ftell-tests (Files): Add it.
28019         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28020         MOSTLYCLEANFILES.
28021
28022 2010-05-01  Bruno Haible  <bruno@clisp.org>
28023
28024         ftell, ftello: Work around Solaris bug.
28025         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28026         * lib/ftello.c: Include stdio-impl.h.
28027         (ftello): On Solaris, when _IOWRT is set, compute the result without
28028         looking at _IOREAD.
28029         * modules/ftello (Files): Add lib/stdio-impl.h.
28030         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28031         * doc/posix-functions/ftello.texi: Likewise.
28032         Reported by Eric Blake.
28033
28034 2010-05-01  Bruno Haible  <bruno@clisp.org>
28035
28036         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28037         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28038         the _IOWRT flag is also set.
28039
28040 2010-05-01  Bruno Haible  <bruno@clisp.org>
28041
28042         Fix doc about a HP-UX stdio bug.
28043         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28044         * doc/posix-functions/ftello.texi: Likewise.
28045
28046 2010-05-01  Bruno Haible  <bruno@clisp.org>
28047
28048         lseek test: Fix failure on Solaris.
28049         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28050         output.
28051
28052 2010-04-30  Jim Meyering  <meyering@redhat.com>
28053
28054         bootstrap: don't ignore failure to generate po*/Makevars
28055         * build-aux/bootstrap (with_gettext): Don't ignore failure
28056         to create po/Makevars or runtime-po/Makevars.
28057
28058 2010-04-29  Eric Blake  <eblake@redhat.com>
28059
28060         headers: relax license to LGPLv2+
28061         * modules/fcntl-h (License): Relax license.
28062         * modules/getopt-posix (License): Likewise.
28063         * modules/locale (License): Likewise.
28064         * modules/math (License): Likewise.
28065         * modules/pty (License): Likewise.
28066         * modules/sched (License): Likewise.
28067         * modules/search (License): Likewise.
28068         * modules/spawn (License): Likewise.
28069         * modules/stdarg (License): Likewise.
28070         * modules/sysexits (License): Likewise.
28071
28072 2010-04-29  Jim Meyering  <meyering@redhat.com>
28073
28074         inttypes: relax license to LGPLv2+
28075         * modules/inttypes (License): Relax license.
28076
28077 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28078
28079         * top/maint.mk (indent): Run twice to produce idempotent results.
28080
28081 2010-04-28  Bruno Haible  <bruno@clisp.org>
28082
28083         getdate: Generate getdate.c in the source directory.
28084         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28085         MOSTLYCLEANFILES.
28086         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28087
28088 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28089
28090         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28091         is not declared as a const *; avoid warnings in that case.
28092
28093 2010-04-28  Eric Blake  <eblake@redhat.com>
28094
28095         canonicalize-lgpl: avoid compiler warning
28096         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28097         declaration' / 'extraneous semicolon' warning with some compilers.
28098         Reported by Andreas Gruenbacher.
28099
28100 2010-04-28  Jim Meyering  <meyering@redhat.com>
28101
28102         init.sh: ensure a more reliable exit status when exiting via trap
28103         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28104         Inspired by patches from Dmitry V. Levin.
28105         Also trap on signal 3 (SIGQUIT).
28106
28107 2010-04-27  Bruno Haible  <bruno@clisp.org>
28108
28109         Update doc about utimes().
28110         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28111         'utimens' module.
28112         Reported by Andreas Gruenbacher <agruen@suse.de>.
28113
28114 2010-04-27  Eric Blake  <eblake@redhat.com>
28115
28116         full-read, full-write: relax license
28117         * modules/full-read (License): Drop to LGPLv2+.
28118         * modules/full-write (License): Likewise.
28119         * modules/safe-read (License): Likewise.
28120         * modules/safe-write (License): Likewise.
28121
28122         pthread: mention library for linking
28123         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28124
28125 2010-04-27  Jim Meyering  <meyering@redhat.com>
28126
28127         maint.mk: fix a bug introduced in last change
28128         * top/maint.mk (gl_assured_headers_): Now that all names are on
28129         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28130         is not anchored to end of word, it should be adequate.
28131
28132         maint.mk: avoid side-effect in latest syntax-check
28133         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28134         to run commands via $(shell...), and hence to incur cost only when
28135         the new rule is actually run.
28136
28137         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28138         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28139         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28140         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28141         (gl_assured_headers_, az_, AZ_): Define.
28142         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28143
28144 2010-04-26  Jim Meyering  <jim@meyering.net>
28145             Bruno Haible  <bruno@clisp.org>
28146
28147         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28148         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28149         Prompted by an exchange with Gilles Espinasse.
28150
28151 2010-04-26  Jim Meyering  <meyering@redhat.com>
28152
28153         git-version-gen: aesthetic tweak
28154         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28155         so that the command remains on a single line.
28156
28157 2010-04-26  Eric Blake  <eblake@redhat.com>
28158
28159         git-version-gen: allow use on EBCDIC hosts
28160         * build-aux/git-version-gen (dirty): Use literal rather than tying
28161         ourselves to ascii.
28162         Reported by Steve Goetze.
28163
28164 2010-04-25  Bruno Haible  <bruno@clisp.org>
28165
28166         netdb: Add support for GNULIB_POSIXCHECK.
28167         * lib/netdb.in.h: Include warn-on-use.h.
28168         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28169         functions are used when GNULIB_POSIXCHECK is defined and the
28170         getaddrinfo module is not in use.
28171         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28172         freeaddrinfo, gai_strerror, getnameinfo are declared.
28173         * modules/netdb (Depends-on): Add warn-on-use.
28174         (Makefile.am): Include warn-on-use.h in netdb.h.
28175
28176 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28177
28178         build: avoid "make check" failure without .git/ directory
28179         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28180         there is no .git/ directory.
28181
28182 2010-04-25  Bruno Haible  <bruno@clisp.org>
28183
28184         ptsname: Fix misuse of ttyname_r.
28185         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28186         of errno.
28187
28188 2010-04-25  Bruno Haible  <bruno@clisp.org>
28189
28190         ttyname_r: Make it work on Solaris 10.
28191         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28192         if the system function has the POSIX declaration. Test whether the
28193         function fails if the buffer is less than 128 bytes large.
28194         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28195         system's ttyname_r function. Provide a reasonably large buffer.
28196         * modules/ttyname_r (Depends-on): Add extensions.
28197         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28198
28199 2010-04-25  Bruno Haible  <bruno@clisp.org>
28200
28201         Use the 'extensions' module for some more functions on Solaris.
28202         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28203         module.
28204         * doc/posix-functions/ctime_r.texi: Likewise.
28205         * doc/posix-functions/getgrgid_r.texi: Likewise.
28206         * doc/posix-functions/getgrnam_r.texi: Likewise.
28207         * doc/posix-functions/getpwnam_r.texi: Likewise.
28208         * doc/posix-functions/getpwuid_r.texi: Likewise.
28209         * doc/posix-functions/readdir_r.texi: Likewise.
28210         * doc/posix-functions/sigwait.texi: Likewise.
28211         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28212         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28213
28214 2010-04-25  Bruno Haible  <bruno@clisp.org>
28215
28216         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28217         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28218         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28219         * lib/ttyname_r.c: Include <limits.h>.
28220         (ttyname_r): Define using the system's ttyname_r function, if it exists
28221         and not on Solaris.
28222         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28223         set.
28224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28225         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28226         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28227         Reported by Simon Josefsson.
28228
28229 2010-04-25  Bruno Haible  <bruno@clisp.org>
28230
28231         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28232         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28233         * doc/posix-functions/ctime_r.texi: Likewise.
28234         * doc/posix-functions/getgrgid_r.texi: Likewise.
28235         * doc/posix-functions/getgrnam_r.texi: Likewise.
28236         * doc/posix-functions/getlogin_r.texi: Likewise.
28237         * doc/posix-functions/getpwnam_r.texi: Likewise.
28238         * doc/posix-functions/getpwuid_r.texi: Likewise.
28239         * doc/posix-functions/readdir_r.texi: Likewise.
28240         * doc/posix-functions/sigwait.texi: Likewise.
28241         * doc/posix-functions/ttyname_r.texi: Likewise.
28242         Reported by Simon Josefsson.
28243
28244 2010-04-25  Bruno Haible  <bruno@clisp.org>
28245
28246         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28247         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28248         also to --create-testdir.
28249         (func_acceptable): Don't consider the status of *-tests modules here.
28250         (func_modules_transitive_closure): Consider it here, before including a
28251         test module.
28252         (func_import, func_create_testdir): Set inc_all_direct_tests,
28253         inc_all_indirect_tests.
28254         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28255         --create-testdir and --create-megatestdir.
28256
28257 2010-04-25  Bruno Haible  <bruno@clisp.org>
28258
28259         gnulib-tool: Add --without-*-tests options.
28260         * gnulib-tool (func_usage): Document the --without-*-tests options.
28261         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28262         excl_unportable_tests): New variables.
28263         Fail if they are specified with --import or --update.
28264         (func_acceptable): Respect the excl_*_tests variables.
28265         (func_import): Set the excl_*_tests variables to empty.
28266
28267 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28268             Bruno Haible  <bruno@clisp.org>
28269
28270         Work around a MacOS X 10.4 bug with openpty.
28271         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28272         * tests/test-openpty.c (main): Close the master side explicitly.
28273
28274 2010-04-25  Bruno Haible  <bruno@clisp.org>
28275
28276         strnlen: Fix a C++ test error on MacOS X and Solaris.
28277         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28278         the function is not declared.
28279         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28280         Simon Josefsson.
28281
28282 2010-04-24  Bruno Haible  <bruno@clisp.org>
28283
28284         Avoid a gcc warning.
28285         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28286         of correct type for %08lx directive.
28287         Reported by Eric Blake.
28288
28289 2010-04-24  Bruno Haible  <bruno@clisp.org>
28290
28291         vasnprintf: Correct errno value in case of out-of-memory.
28292         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28293         or sprintf. Use the errno value from SNPRINTF or sprintf.
28294         Reported by Ian Beckwith <ianb@erislabs.net>.
28295
28296 2010-04-24  Bruno Haible  <bruno@clisp.org>
28297
28298         ansi-c++-opt: Find correct compiler when cross-compiling.
28299         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28300         AC_CHECK_PROGS.
28301         Reported by Simon Josefsson.
28302
28303 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28304
28305         vc-list-files: Add support for subversion
28306         * build-aux/vc-list-files: Use "svn list" to generate the list of
28307         files controlled by subversion.
28308
28309 2010-04-23  Jim Meyering  <meyering@redhat.com>
28310
28311         vc-list-files tests: convert to use init.sh
28312         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28313         path_prepend_.
28314         Use Exit, not exit.
28315         Use skip_ rather than open coding it.
28316         Remove trap set-up and compare definitions.
28317         * tests/test-vc-list-files-git.sh: Likewise.
28318         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28319
28320 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28321
28322         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28323         backup files.
28324
28325 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28326
28327         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28328
28329 2010-04-20  Eric Blake  <eblake@redhat.com>
28330
28331         tests: be robust to ignored SIGPIPE
28332         * tests/test-select-in.sh: Consume all output.
28333         * tests/test-lseek.sh: Check correct exit status, while avoiding
28334         EPIPE.
28335
28336 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28337             Bruno Haible  <bruno@clisp.org>
28338
28339         visibility: Don't use -fvisibility if it leads to a warning.
28340         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28341         yes, don't pretend that visibility works if it leads to a warning.
28342         Reported by Mike Gran <spk121@yahoo.com>.
28343
28344 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28345
28346         * build-aux/bootstrap: Use "git -h" for testing for supported options
28347         instead of "git --help".  The short-form option only shows a summary,
28348         and doesn't layout the full man page.  Grep for the full option name
28349         in the summary, too.
28350
28351 2010-04-19  Bruno Haible  <bruno@clisp.org>
28352
28353         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28354         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28355         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28356         mention of RELOCATABLE_STRIP.
28357         Reported by Sylvain Beucler <beuc@beuc.net>.
28358
28359 2010-04-19  Bruno Haible  <bruno@clisp.org>
28360
28361         * lib/diffseq.h: Fix typo in comment.
28362         Reported by Eric Blake.
28363
28364 2010-04-19  Bruno Haible  <bruno@clisp.org>
28365
28366         ioctl: Move autoconf macro to a .m4 file.
28367         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28368         * modules/ioctl (Files): Add it.
28369         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28370         Reported by Ian Beckwith <ianb@erislabs.net>.
28371
28372 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28373             Bruno Haible  <bruno@clisp.org>
28374
28375         diffseq: Accommodate use-case with abstract arrays.
28376         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28377         is not defined.
28378         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28379         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28380
28381 2010-04-18  Bruno Haible  <bruno@clisp.org>
28382
28383         * doc/posix-headers/stdbool.texi: More precise wording.
28384
28385 2010-04-17  Jim Meyering  <meyering@redhat.com>
28386
28387         maint.mk: use gnu-style indentation in an embedded perl script
28388         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28389         Rename variable: s/two/last_two_bytes/
28390
28391 2010-04-16  Eric Blake  <eblake@redhat.com>
28392
28393         test-stdbool: skip test that fails with Solaris CC
28394         * tests/test-stdbool.c (f): Skip test that causes compilation
28395         error under buggy C++ compiler.
28396         * lib/stdbool.in.h: Document the limitation.
28397         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28398
28399         setenv: allow compilation with C++
28400         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28401         register keyword.
28402
28403         stdint: allow test to pass with C++
28404         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28405
28406         getopt: allow compilation with C++
28407         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28408         struct.
28409         * lib/getopt.c (_getopt_internal_r): Use correct type.
28410         Reported by Dagobert Michelson, via Joel E. Denny.
28411
28412 2010-04-16  Bruno Haible  <bruno@clisp.org>
28413
28414         Override netdb.h always.
28415         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28416         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28417         Reported by Ludovic Courtès <ludo@gnu.org>.
28418
28419 2010-04-15  Bruno Haible  <bruno@clisp.org>
28420
28421         openpty: Fix mistake from 2010-03-21.
28422         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28423         Reported by Simon Josefsson.
28424
28425 2010-04-15  Eric Blake  <eblake@redhat.com>
28426
28427         test-forkpty: fix expected signature
28428         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28429         Reported by Simon Josefsson.
28430
28431 2010-04-15  Jim Meyering  <meyering@redhat.com>
28432
28433         maint.mk: texinfo_suffix_re_: correct the default regexp
28434         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28435
28436         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28437         make it configurable via texinfo_suffix_re_.
28438
28439 2010-04-14  Eric Blake  <eblake@redhat.com>
28440
28441         strtok_r: relax license to LGPLv2+
28442         * modules/strtok_r (License): Relax license.
28443         Reported by Matthias Bolte.
28444
28445 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28446
28447         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28448         version 1.4.4 by default instead of requiring the libgcrypt
28449         version used during build.  This makes it possible to use the
28450         application with older but still binary compatible libgcrypt
28451         versions.
28452
28453 2010-04-13  Eric Blake  <eblake@redhat.com>
28454
28455         getopt-gnu: match recent glibc fixes and posix ruling
28456         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28457         '+' handling, when requesting extensions.
28458         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28459         'W;' handling.
28460         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28461         * doc/posix-functions/getopt.texi (getopt): Document this.
28462         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28463         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28464         Likewise.
28465
28466         getopt: merge bug fixes from glibc
28467         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28468         diagnostics.  Honor '+:' correctly.  Reject ';'.
28469
28470         getopt-posix: detect MacOS bug
28471         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28472         optind when missing a required argument.
28473         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28474         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28475         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28476         Likewise.
28477
28478         getopt-posix: avoid spurious failure on Solaris
28479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28480         an indicator that setting optind=1 is sufficient for reset.
28481
28482         getopt-posix: avoid spurious failure on FreeBSD
28483         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28484         in POSIX mode, since the m4 test uses it.
28485
28486         gnulib-tool: silence warning on BSD sh
28487         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28488
28489 2010-04-13  Jim Meyering  <meyering@redhat.com>
28490
28491         doc: users.txt: GNU patch now uses gnulib
28492         * users.txt: Add patch.
28493
28494 2010-04-12  Jim Meyering  <meyering@redhat.com>
28495
28496         maint.mk: generate more concise timing data for syntax-check rules
28497         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28498         " done" from each line that reports a syntax-check test duration.
28499
28500 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28501
28502         git-version-gen: use "git update-index..." rather than "git status"
28503         * build-aux/git-version-gen: Use git update-index --refresh, not
28504         "git status".  With some versions of git, "git status" would fail
28505         to update the index and result in an unwarranted "-dirty" suffix.
28506
28507 2010-04-11  Jim Meyering  <meyering@redhat.com>
28508
28509         openat: correct formatting (no semantic change)
28510         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28511         Suggested by Bruno Haible.
28512
28513 2010-04-11  Bruno Haible  <bruno@clisp.org>
28514
28515         Stricter declaration checking in testdirs.
28516         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28517         If for_tests is true, augment AM_CPPFLAGS to define
28518         GNULIB_STRICT_CHECKING.
28519         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28520         GNULIB_STRICT_CHECKING is defined, verify that the function is
28521         declared.
28522
28523 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28524             Bruno Haible  <bruno@clisp.org>
28525
28526         libunistring: Improve configure output.
28527         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28528         Don't say "consider installing GNU libunistring" when checking again
28529         with libiconv.
28530
28531 2010-04-11  Bruno Haible  <bruno@clisp.org>
28532
28533         libunistring: Correct value of $LTLIBUNISTRING.
28534         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28535         correct the value of $LTLIBUNISTRING.
28536
28537 2010-04-11  Bruno Haible  <bruno@clisp.org>
28538
28539         havelib: Add static libraries to LIBS in the right order.
28540         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28541         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28542
28543 2010-04-11  Bruno Haible  <bruno@clisp.org>
28544
28545         libunistring: Detect libunistring also when it depends on libiconv.
28546         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28547         the second AC_LIB_HAVE_LINKFLAGS invocation.
28548
28549 2010-04-11  James Youngman  <jay@gnu.org>
28550
28551         close-stream: declare local scalars to be "const"
28552         * lib/close-stream.c (close_stream): Make boolean variables const
28553         to document the fact that we set but do not change them.
28554
28555 2010-04-11  Bruno Haible  <bruno@clisp.org>
28556
28557         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28558
28559 2010-04-11  Jim Meyering  <meyering@redhat.com>
28560
28561         maint.mk: don't include dist-check.mk
28562         * top/maint.mk: Remove bogus include directive.
28563
28564         maint.mk: improve empty-line-at-EOF check
28565         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28566         solution, rather than tail+Perl-based one.  The latter would read
28567         a few kilobytes from the end of each file, and did not handle empty
28568         files properly.
28569
28570         maint.mk: print the elapsed time for each syntax-check rule
28571         * top/maint.mk (sc_m_rules_): Save start time in a file.
28572         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28573         (local-check): Interpose the .z rules
28574
28575 2010-04-11  Jim Meyering  <meyering@redhat.com>
28576
28577         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28578         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28579         empty file with one that ends in an empty line.
28580
28581 2010-04-10  Bruno Haible  <bruno@clisp.org>
28582
28583         mkdir: Make it work on mingw64.
28584         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28585         * lib/mkdir.c: Update comment.
28586         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
28587
28588 2010-04-10  Bruno Haible  <bruno@clisp.org>
28589
28590         Don't override improved macro from newer autoconf.
28591         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28592         autoconf >= 2.62.
28593         Reported by Joel E. Denny <jdenny@clemson.edu>.
28594
28595 2010-04-10  Jim Meyering  <meyering@redhat.com>
28596
28597         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28598         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28599
28600         maint.mk: correct a diagnostic
28601         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28602         in diagnostic; now use $prohibit.
28603
28604 2010-04-10  Bruno Haible  <address@hidden>
28605
28606         fchownat: Fix a C++ test error on Solaris 8.
28607         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28608         the function does not exist.
28609
28610 2010-04-10  Bruno Haible  <bruno@clisp.org>
28611
28612         vasnprintf: Add more tests.
28613         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28614         (test_function): Test converting an invalid wide string.
28615
28616         vasnprintf: Correct handling of unconvertible wide string arguments.
28617         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28618         VASNPRINTF.
28619         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28620         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28621         smaller than the expected maximum need for the directive. Set errno to
28622         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28623         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28624         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28625         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28626         * modules/vasnprintf (Files): Add m4/printf.m4.
28627         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28628
28629 2010-04-10  Bruno Haible  <bruno@clisp.org>
28630
28631         vasnprintf: Fix crash in %ls directive.
28632         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28633         string is passed as argument to %ls, with no precision and no width.
28634         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28635
28636 2010-04-10  Bruno Haible  <bruno@clisp.org>
28637
28638         vasnprintf: Fix multiple test failures on mingw.
28639         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28640         _snprintf, or snwprintf, not _snwprintf.
28641
28642 2010-04-10  Bruno Haible  <bruno@clisp.org>
28643
28644         write: Fix a C++ test error on mingw.
28645         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28646
28647 2010-04-10  Bruno Haible  <bruno@clisp.org>
28648
28649         vasnprintf test: Reduce code duplication.
28650         * tests/test-vasnprintf.c (test_function): New function, extracted from
28651         test_vasnprintf.
28652         (test_vasnprintf, test_asnprintf): Invoke it.
28653
28654 2010-04-10  Bruno Haible  <bruno@clisp.org>
28655
28656         strnlen: Fix warning in C++ mode on MacOS X.
28657         * lib/string.in.h (strnlen): Use the modern idiom.
28658         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28659         defining strnlen as a macro already in <config.h>.
28660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28661         REPLACE_STRNLEN.
28662         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28663         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28664
28665 2010-04-08  James Youngman  <jay@gnu.org>
28666
28667         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28668         the example.
28669
28670 2010-04-09  Jim Meyering  <meyering@redhat.com>
28671
28672         maint.mk: print better diagnostic when there is no $(_hv_file)
28673         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28674         announce that when $(_hv_file) (aka help-version) does not exist.
28675
28676         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28677         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28678         not try to interpret its random input bytes.  Jarno Rajahalme reported
28679         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28680         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28681         (mktempd_): Likewise, just in case.
28682
28683         ftruncate: add two years to projected module removal date: 2012
28684         * m4/ftruncate.m4: Adjust comments.
28685
28686         ftruncate: mark module as obsolete; even MinGW provides it, now
28687         * modules/ftruncate (Status): Obsolete.
28688         (Notice): Say that.
28689         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28690         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28691
28692 2010-04-08  Bruno Haible  <bruno@clisp.org>
28693
28694         Fix side effects from tests-related modules.
28695         * modules/dprintf-posix (Comment): New section.
28696         * modules/fprintf-posix (Comment): Likewise.
28697         * modules/obstack-printf-posix (Comment): Likewise.
28698         * modules/printf-posix (Comment): Likewise.
28699         * modules/snprintf-posix (Comment): Likewise.
28700         * modules/sprintf-posix (Comment): Likewise.
28701         * modules/vasnprintf-posix (Comment): Likewise.
28702         * modules/vasprintf-posix (Comment): Likewise.
28703         * modules/vdprintf-posix (Comment): Likewise.
28704         * modules/vfprintf-posix (Comment): Likewise.
28705         * modules/vprintf-posix (Comment): Likewise.
28706         * modules/vsnprintf-posix (Comment): Likewise.
28707         * modules/vsprintf-posix (Comment): Likewise.
28708         * modules/xprintf-posix (Comment): Likewise.
28709         * modules/xvasprintf-posix (Comment): Likewise.
28710         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28711         * modules/floorf-tests (Depends-on): Likewise.
28712         * modules/round-tests (Depends-on): Likewise.
28713         * modules/roundf-tests (Depends-on): Likewise.
28714         * modules/trunc-tests (Depends-on): Likewise.
28715         * modules/truncf-tests (Depends-on): Likewise.
28716         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28717         'fprintf-posix' module is not present.
28718         * tests/test-floorf2.c (check): Likewise.
28719         * tests/test-trunc2.c (check): Likewise.
28720         * tests/test-truncf2.c (check): Likewise.
28721         * tests/test-round2.c (equal): Likewise.
28722         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28723
28724 2010-04-07  Karl Berry  <karl@gnu.org>
28725
28726         * config/srclist.txt,
28727         * config/srclistvars.sh,
28728         * config/srclist-update: doc fixes.
28729
28730 2010-04-07  Jim Meyering  <meyering@redhat.com>
28731
28732         maint.mk: add a PATH crosschecking syntax-check rule
28733         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28734         Useful if you use a test like the one in help-version (coreutils,
28735         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28736         printed by prog --version.
28737
28738 2010-04-06  Bruno Haible  <bruno@clisp.org>
28739
28740         Fix link error on mingw.
28741         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28742         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28743
28744 2010-04-06  Bruno Haible  <bruno@clisp.org>
28745
28746         Assume rmdir exists.
28747         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28748
28749 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28750
28751         doc: update users.txt
28752         * users.txt: Add gcal.
28753
28754 2010-04-06  Jim Meyering  <meyering@redhat.com>
28755
28756         init.sh: simply unset TMPDIR rather than risking env -i
28757         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28758         although it probably works fine on all Unix-based systems, some
28759         systems (Cygwin?) cannot tolerate a totally cleared environment.
28760         Suggestion from Eric Blake.
28761
28762 2010-04-06  Jim Meyering  <meyering@redhat.com>
28763
28764         init.sh: portability fix: use env's POSIX-specified -i option not -u
28765         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28766         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28767
28768 2010-04-05  Bruno Haible  <bruno@clisp.org>
28769
28770         btowc: Work around Cygwin 1.7.2 bug.
28771         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28772         does not map NUL to 0.
28773         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28774
28775 2010-04-05  Bruno Haible  <bruno@clisp.org>
28776
28777         Make the multithread modules work on Cygwin 1.7.2.
28778         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28779         imported symbols can be declared weak, so that it returns "no" on
28780         Cygwin 1.7.2.
28781
28782 2010-04-05  Bruno Haible  <bruno@clisp.org>
28783
28784         Use the module 'strncat'.
28785         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28786
28787         Tests for module 'strncat'.
28788         * modules/strncat-tests: New file.
28789         * tests/test-strncat.c: New file.
28790
28791         New module 'strncat'.
28792         * lib/string.in.h (strncat): New declaration.
28793         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28794         * m4/strncat.m4: New file, based on m4/memchr.m4.
28795         * modules/strncat: New file.
28796         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28797         is declared.
28798         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28799         REPLACE_STRNCAT.
28800         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28801         REPLACE_STRNCAT.
28802         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28803         module.
28804         * tests/test-string-c++.cc: Check signature of strncat.
28805
28806 2010-04-05  Jim Meyering  <meyering@redhat.com>
28807
28808         xstrtoumax-tests: convert to use init.sh
28809         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28810         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28811         Use Exit, not exit.
28812         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28813
28814         xstrtoimax-tests: convert to use init.sh
28815         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28816         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28817         Use Exit, not exit.
28818         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28819
28820 2010-04-05  Bruno Haible  <bruno@clisp.org>
28821
28822         sys_socket: Avoid #define replacements in C++ mode.
28823         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28824         warning to the function if possible, rather than #defining the symbol
28825         to a dysfunctional alias.
28826
28827 2010-04-05  Bruno Haible  <bruno@clisp.org>
28828
28829         fseeko: Fix C++ test error on mingw.
28830         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28831         gl_FUNC_FSEEKO.
28832         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28833         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28834         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28835         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28836
28837 2010-04-05  Bruno Haible  <bruno@clisp.org>
28838
28839         duplocale: Improve test output.
28840         * tests/test-duplocale.c (main): Print reason for skipped test.
28841
28842 2010-04-05  Bruno Haible  <bruno@clisp.org>
28843
28844         Assume rmdir exists.
28845         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28846         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28847
28848 2010-04-05  Bruno Haible  <bruno@clisp.org>
28849
28850         Fix link error on Solaris 8 with cc.
28851         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28852
28853 2010-04-05  Bruno Haible  <bruno@clisp.org>
28854
28855         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28856         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28857
28858 2010-04-05  Bruno Haible  <bruno@clisp.org>
28859
28860         vasprintf: Update documentation.
28861         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28862
28863 2010-04-05  Bruno Haible  <bruno@clisp.org>
28864
28865         ptsname: Improve test.
28866         * tests/test-ptsname.c (main): Also try the various master names of BSD
28867         systems.
28868
28869 2010-04-05  Bruno Haible  <bruno@clisp.org>
28870
28871         memchr: Avoid a possible C++ test error.
28872         * lib/string.in.h (memchr): Provide declaration if function is missing.
28873         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28874         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28875         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28876         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28877
28878 2010-04-05  Bruno Haible  <bruno@clisp.org>
28879
28880         strtok_r: Improve idiom.
28881         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28882         AC_LIBOBJ is used.
28883
28884 2010-04-05  Bruno Haible  <bruno@clisp.org>
28885
28886         strdup: Improve idiom.
28887         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28888         AC_LIBOBJ is used.
28889         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28890         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28891         when AC_LIBOBJ is used.
28892
28893 2010-04-05  Bruno Haible  <bruno@clisp.org>
28894
28895         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28896         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28897         don't set REPLACE_MBSINIT to 1.
28898         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28899         don't set REPLACE_MBRTOWC to 1.
28900         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28901         exist, don't set REPLACE_MBSRTOWCS to 1.
28902         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28903         exist, don't set REPLACE_MBSNRTOWCS to 1.
28904         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28905         don't set REPLACE_WCRTOMB to 1.
28906         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28907         exist, don't set REPLACE_WCSRTOMBS to 1.
28908         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28909         exist, don't set REPLACE_WCSNRTOMBS to 1.
28910
28911 2010-04-05  Bruno Haible  <bruno@clisp.org>
28912
28913         ldexpl: Improve idiom.
28914         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28915         make sure to set HAVE_DECL_LDEXPL to 0.
28916
28917 2010-04-05  Jim Meyering  <meyering@redhat.com>
28918
28919         xstrtol-tests: convert to use init.sh
28920         * modules/xstrtol-tests (Files): Add tests/init.sh.
28921         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28922         Use Exit, not exit.
28923         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28924
28925         atexit-tests: convert to use init.sh
28926         * modules/atexit-tests (Files): Add tests/init.sh.
28927         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28928         Use Exit, not exit.
28929         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28930
28931         init.sh: fix typo
28932         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28933
28934         init.sh: make it easier for a test script to write to the tty, ...
28935         when using automake's parallel-tests mode.
28936         * tests/init.sh (stderr_fileno_): Define overridable variable.
28937         (warn_): New function, to use it.
28938         (fail_, skip_, framework_failure_): Use warn_.
28939
28940 2010-04-04  Bruno Haible  <bruno@clisp.org>
28941
28942         btowc: Avoid warning.
28943         * lib/btowc.c: Include <stdlib.h>.
28944         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28945
28946 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28947             Bruno Haible  <bruno@clisp.org>
28948
28949         wchar: Port to NetBSD 1.5.
28950         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28951         * lib/wctype.in.h (WEOF): Likewise.
28952
28953 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28954             Bruno Haible  <bruno@clisp.org>
28955
28956         Port extended stdio to NetBSD 1.5.
28957         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28958         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28959         older.
28960
28961 2010-04-04  Bruno Haible  <bruno@clisp.org>
28962
28963         string: Remove unused substitution.
28964         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28965         HAVE_DECL_STRERROR.
28966         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28967
28968 2010-04-04  Bruno Haible  <bruno@clisp.org>
28969
28970         strtod: Avoid a possible C++ test error.
28971         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28972         set REPLACE_STRTOD.
28973
28974 2010-04-04  Bruno Haible  <bruno@clisp.org>
28975
28976         strerror: Update documentation.
28977         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28978
28979 2010-04-04  Bruno Haible  <bruno@clisp.org>
28980
28981         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28982         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28983         _GL_CXXALIAS_SYS_CAST.
28984
28985 2010-04-04  Bruno Haible  <bruno@clisp.org>
28986
28987         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28988         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28989         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28990         REPLACE_FREXPL to 1.
28991         * doc/posix-functions/frexpl.texi: Update documentation.
28992
28993 2010-04-04  Bruno Haible  <bruno@clisp.org>
28994
28995         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28996         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28997
28998 2010-04-04  Bruno Haible  <bruno@clisp.org>
28999
29000         Implement nanosleep for native Windows.
29001         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29002
29003 2010-04-04  Bruno Haible  <bruno@clisp.org>
29004
29005         math: Fix some C++ test errors on Solaris 8.
29006         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29007
29008 2010-04-04  Bruno Haible  <bruno@clisp.org>
29009
29010         math: Fix some C++ test errors on Cygwin.
29011         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29012         truncl): Provide declaration if the system does not have it.
29013         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29014         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29015         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29016         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29017         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29018         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29019         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29020         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29021         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29022         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29023         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29024         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29025         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29026         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29027         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29028         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29030         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29031         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29032         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29033         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29034         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29035
29036 2010-04-04  Bruno Haible  <bruno@clisp.org>
29037
29038         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29039         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29040         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29041         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29042         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29043         * m4/isinf.m4 (gl_ISINF): Likewise.
29044         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29045
29046 2010-04-04  Bruno Haible  <bruno@clisp.org>
29047
29048         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29049         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29050
29051 2010-04-04  Bruno Haible  <bruno@clisp.org>
29052
29053         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29054         * modules/tmpfile (configure.ac): Update.
29055
29056         tmpfile: Fix C++ test error on mingw.
29057         * lib/stdio.in.h (tmpfile): New declaration.
29058         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29059         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29060         * modules/tmpfile (Depends-on): Add stdio.
29061         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29062         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29063         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29064         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29065         REPLACE_TMPFILE.
29066         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29067
29068 2010-04-04  Bruno Haible  <bruno@clisp.org>
29069
29070         ioctl: Fix C++ test error on mingw.
29071         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29072         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29073         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29074
29075 2010-04-03  Bruno Haible  <bruno@clisp.org>
29076
29077         wcwidth: Fix C++ test error on mingw.
29078         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29080         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29081
29082 2010-04-03  Bruno Haible  <bruno@clisp.org>
29083
29084         nanosleep: Fix C++ test error on mingw.
29085         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29086         * lib/time.in.h (nanosleep): Use modern idiom.
29087         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29088         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29089         REPLACE_NANOSLEEP to 1.
29090         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29091         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29092
29093 2010-04-03  Bruno Haible  <bruno@clisp.org>
29094
29095         strptime: Fix C++ test error on mingw.
29096         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29097         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29098         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29099         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29100         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29101         not REPLACE_STRPTIME.
29102         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29103         REPLACE_STRPTIME.
29104
29105 2010-04-03  Bruno Haible  <bruno@clisp.org>
29106
29107         timegm: Fix C++ test error on mingw.
29108         * lib/time.in.h (timegm): Use modern idiom.
29109         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29110         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29111         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29112         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29113
29114 2010-04-03  Bruno Haible  <bruno@clisp.org>
29115
29116         timegm: Assume declaration if function exists.
29117         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29118         if it exists. Don't clobber ac_cv_func_timegm.
29119
29120 2010-04-03  Bruno Haible  <bruno@clisp.org>
29121
29122         time_r: Fix C++ test error on mingw.
29123         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29124         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29125         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29126         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29127         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29128
29129 2010-04-03  Bruno Haible  <bruno@clisp.org>
29130
29131         time_r: Minor updates.
29132         * modules/time_r (Description): Mention the provided functions.
29133         * lib/time_r.c: Don't include <string.h>.
29134         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29135         * doc/posix-functions/localtime_r.texi: Likewise.
29136
29137 2010-04-03  Bruno Haible  <bruno@clisp.org>
29138
29139         time: Fix regression introduced on 2010-03-08.
29140         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29141         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29142
29143 2010-04-03  Jim Meyering  <meyering@redhat.com>
29144
29145         maint.mk: don't silently disable project-specific syntax-check rules
29146         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29147         that they need to convert their project-specific syntax-check rules
29148         to use the new _sc_search_regexp.
29149
29150 2010-04-03  Bruno Haible  <bruno@clisp.org>
29151
29152         fchdir: Fix regression introduced on 2010-03-08.
29153         * lib/unistd.in.h (fchdir): Fix declaration.
29154         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29156         REPLACE_FCHDIR.
29157         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29158         REPLACE_FCHDIR.
29159
29160 2010-04-03  Bruno Haible  <bruno@clisp.org>
29161
29162         getpagesize: Fix C++ test error on mingw.
29163         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29164         system does not declare the function.
29165         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29166         declared.
29167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29168         HAVE_DECL_GETPAGESIZE.
29169         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29170
29171 2010-04-03  Bruno Haible  <bruno@clisp.org>
29172
29173         stdio: Make C++ tests work on mingw.
29174         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29175         does not declare the function.
29176
29177 2010-04-03  Bruno Haible  <bruno@clisp.org>
29178
29179         ftello: Fix C++ test error on mingw.
29180         * lib/stdio.in.h (ftello): Use modern idiom.
29181         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29182         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29183         is missing and that it needs to be replaced.
29184         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29186         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29187
29188 2010-04-03  Bruno Haible  <bruno@clisp.org>
29189
29190         fseeko: Fix C++ test error on mingw.
29191         * lib/stdio.in.h (fseeko): Use modern idiom.
29192         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29193         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29194         is missing and that it needs to be replaced.
29195         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29197         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29198
29199 2010-04-03  Bruno Haible  <bruno@clisp.org>
29200
29201         mkstemp: Fix C++ test error on mingw.
29202         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29203         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29204         function is missing and that it needs to be replaced.
29205         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29206         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29207
29208 2010-04-03  Bruno Haible  <bruno@clisp.org>
29209
29210         stpncpy: Fix C++ test error on mingw.
29211         * lib/string.in.h (stpncpy): Use modern idiom.
29212         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29213         function is missing and that it needs to be replaced.
29214         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29215         REPLACE_STPNCPY.
29216         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29217
29218 2010-04-03  Bruno Haible  <bruno@clisp.org>
29219
29220         sys_stat: Fix C++ test error on mingw.
29221         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29222         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29223
29224 2010-04-03  Bruno Haible  <bruno@clisp.org>
29225
29226         pty: Update doc.
29227         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29228
29229 2010-04-03  Bruno Haible  <bruno@clisp.org>
29230
29231         unistd: Fix C++ test error on mingw.
29232         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29233
29234 2010-04-03  Bruno Haible  <bruno@clisp.org>
29235
29236         Update doc regarding mingw.
29237         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29238         * doc/glibc-functions/login_tty.texi: Likewise.
29239         * doc/glibc-functions/forkpty.texi: Likewise.
29240
29241 2010-04-03  Bruno Haible  <bruno@clisp.org>
29242
29243         stdlib: Avoid compilation failure of c-strtold on mingw.
29244         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29245
29246 2010-04-03  Bruno Haible  <bruno@clisp.org>
29247
29248         locale: Make C++ tests work on Cygwin and mingw.
29249         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29250         cannot provide the function.
29251         Reported by Simon Josefsson.
29252
29253 2010-04-03  Bruno Haible  <bruno@clisp.org>
29254
29255         localename: Port to MacOS X 10.6.
29256         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29257         memory layout of the locales in MacOS X 10.6 as well.
29258         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29259
29260 2010-04-02  Bruno Haible  <bruno@clisp.org>
29261
29262         gnulib-tool: Ensure that long-running tests are executed last.
29263         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29264         running tests after the one for the other tests.
29265
29266 2010-04-02  Bruno Haible  <bruno@clisp.org>
29267
29268         gnulib-tool: Ensure the tests in the main directory are executed first.
29269         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29270         start with the current directory.
29271
29272 2010-04-02  Bruno Haible  <bruno@clisp.org>
29273
29274         Tests for module 'havelib', moved here from GNU gettext.
29275         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29276         modifications.
29277         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29278         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29279         with modifications.
29280         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29281         modifications.
29282         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29283         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29284         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29285         with modifications.
29286         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29287         with modifications.
29288         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29289         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29290         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29291         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29292         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29293         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29294         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29295         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29296         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29297         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29298         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29299         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29300         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29301         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29302         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29303         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29304         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29305         with modifications.
29306         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29307         with modifications.
29308         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29309         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29310         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29311         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29312         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29313         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29314         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29315         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29316         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29317         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29318         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29319         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29320         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29321         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29322         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29323         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29324         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29325         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29326         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29327         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29328         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29329         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29330         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29331         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29332         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29333         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29334         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29335         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29336         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29337         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29338         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29339         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29340         * tests/havelib/rpathx/rpathx.c: New file, from
29341         gettext/autoconf-lib-link.
29342         * tests/havelib/rpathx/Makefile.am: New file, from
29343         gettext/autoconf-lib-link.
29344         * tests/havelib/rpathx/configure.ac: New file, from
29345         gettext/autoconf-lib-link with modifications.
29346         * tests/havelib/rpathy/rpathy.c: New file, from
29347         gettext/autoconf-lib-link.
29348         * tests/havelib/rpathy/Makefile.am: New file, from
29349         gettext/autoconf-lib-link.
29350         * tests/havelib/rpathy/configure.ac: New file, from
29351         gettext/autoconf-lib-link with modifications.
29352         * tests/havelib/rpathz/rpathz.c: New file, from
29353         gettext/autoconf-lib-link.
29354         * tests/havelib/rpathz/Makefile.am: New file, from
29355         gettext/autoconf-lib-link.
29356         * tests/havelib/rpathz/configure.ac: New file, from
29357         gettext/autoconf-lib-link with modifications.
29358         * tests/havelib/rpathlx/usex.c: New file, from
29359         gettext/autoconf-lib-link.
29360         * tests/havelib/rpathlx/Makefile.am: New file, from
29361         gettext/autoconf-lib-link.
29362         * tests/havelib/rpathlx/configure.ac: New file, from
29363         gettext/autoconf-lib-link with modifications.
29364         * tests/havelib/rpathly/usey.c: New file, from
29365         gettext/autoconf-lib-link.
29366         * tests/havelib/rpathly/Makefile.am: New file, from
29367         gettext/autoconf-lib-link.
29368         * tests/havelib/rpathly/configure.ac: New file, from
29369         gettext/autoconf-lib-link with modifications.
29370         * tests/havelib/rpathlz/usez.c: New file, from
29371         gettext/autoconf-lib-link.
29372         * tests/havelib/rpathlz/Makefile.am: New file, from
29373         gettext/autoconf-lib-link.
29374         * tests/havelib/rpathlz/configure.ac: New file, from
29375         gettext/autoconf-lib-link with modifications.
29376         * tests/havelib/rpathlyx/usey.c: New file, from
29377         gettext/autoconf-lib-link.
29378         * tests/havelib/rpathlyx/Makefile.am: New file, from
29379         gettext/autoconf-lib-link.
29380         * tests/havelib/rpathlyx/configure.ac: New file, from
29381         gettext/autoconf-lib-link with modifications.
29382         * tests/havelib/rpathlzyx/usez.c: New file, from
29383         gettext/autoconf-lib-link.
29384         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29385         gettext/autoconf-lib-link.
29386         * tests/havelib/rpathlzyx/configure.ac: New file, from
29387         gettext/autoconf-lib-link with modifications.
29388         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29389         with modifications.
29390
29391 2010-04-02  Bruno Haible  <bruno@clisp.org>
29392
29393         gnulib-tool: Create distributed built sources also for the tests.
29394         * gnulib-tool (func_create_testdir): Also generate distributed built
29395         sources in the tests directory.
29396
29397 2010-04-02  Bruno Haible  <bruno@clisp.org>
29398
29399         gnulib-tool: Obey user's environment variables.
29400         * gnulib-tool (func_create_testdir): When creating built sources,
29401         respect the environment variables for autoconf, automake, etc. given by
29402         the user.
29403
29404 2010-04-02  Bruno Haible  <bruno@clisp.org>
29405
29406         gnulib-tool: Provide the value of --m4-base to modules.
29407         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29408         of gl_m4_base.
29409
29410 2010-04-02  Eric Blake  <eblake@redhat.com>
29411
29412         maint.mk: fix some fallout
29413         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29414         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29415
29416 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29417
29418         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29419         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29420         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29421         (sc_cast_of_x_alloc_return_value): Likewise.
29422         (sc_cast_of_alloca_return_value): Likewise.
29423         (sc_space_tab): Likewise.
29424         (sc_prohibit_atoi_atof): Likewise.
29425         (sc_prohibit_magic_number_exit): Likewise.
29426         (sc_error_exit_success): Likewise.
29427         (sc_file_system): Likewise.
29428         (sc_prohibit_have_config_h): Likewise.
29429         (sc_require_config_h): Likewise.
29430         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29431         (sc_obsolete_symbols): Likewise.
29432         (sc_changelog): Likewise.
29433         (sc_program_name): Likewise.
29434         (sc_the_the): Likewise.
29435         (sc_trailing_blank): Likewise.
29436         (sc_two_space_separator_in_usage): Likewise.
29437         (sc_useless_cpp_parens): Likewise.
29438         (sc_GPL_version): Likewise.
29439         (sc_GFDL_version): Likewise.
29440         (sc_texinfo_acronym): Likewise.
29441         (sc_prohibit_cvs_keyword): Likewise.
29442         (sc_prohibit_stat_st_blocks): Likewise.
29443         (sc_prohibit_S_IS_definition): Likewise.
29444         (sc_redundant_const): Likewise.
29445         (sc_makefile_TAB_only_indentation): Likewise.
29446         (sc_m4_quote_check): Likewise.
29447         (sc_makefile_path_separator_check): Likewise.
29448         (sc_copyright_check): Likewise.
29449         (sc_Wundef_boolean): Likewise.
29450         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29451
29452         maint.mk: match 0 or more whitespace-before-function-call '('
29453         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29454         that have zero or two-and-more spaces between the function name
29455         and the open parenthesis.
29456         (sc_error_message_warn_fatal): Likewise.
29457         (sc_error_message_uppercase): Likewise.
29458         (sc_error_message_period): Likewise.
29459
29460 2010-03-31  Eric Blake  <eblake@redhat.com>
29461
29462         maint.mk: check for [ as well as test
29463         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29464         Based on a libvirt report by Matthias Bolte.
29465
29466         gnumakefile: don't squelch _version output
29467         * top/GNUmakefile (_version): Create one-shot dependency rather
29468         than using $(shell) when version must be regenerated.
29469         (_autoreconf): Run verbosely, by default.
29470
29471         sys_time: avoid compiler warnings
29472         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29473         unconditional, fixing regression from 2010-03-29.
29474         Reported by Simon Josefsson.
29475
29476 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29477
29478         maint.mk: s/_header_without_use/_sc_header_without_use/
29479         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29480         (sc_prohibit_assert_without_use): Use the new name.
29481         (sc_prohibit_close_stream_without_use): Likewise.
29482         (sc_prohibit_getopt_without_use): Likewise.
29483         (sc_prohibit_quotearg_without_use): Likewise.
29484         (sc_prohibit_quote_without_use): Likewise.
29485         (sc_prohibit_long_options_without_use): Likewise.
29486         (sc_prohibit_inttostr_without_use): Likewise.
29487         (sc_prohibit_ignore_value_without_use): Likewise.
29488         (sc_prohibit_error_without_use): Likewise.
29489         (sc_prohibit_xalloc_without_use): Likewise.
29490         (sc_prohibit_hash_without_use): Likewise.
29491         (sc_prohibit_hash_pjw_without_use): Likewise.
29492         (sc_prohibit_safe_read_without_use): Likewise.
29493         (sc_prohibit_argmatch_without_use): Likewise.
29494         (sc_prohibit_canonicalize_without_use): Likewise.
29495         (sc_prohibit_root_dev_ino_without_use): Likewise.
29496         (sc_prohibit_openat_without_use): Likewise.
29497         (sc_prohibit_c_ctype_without_use): Likewise.
29498         (sc_prohibit_signal_without_use): Likewise.
29499         (sc_prohibit_intprops_without_use): Likewise.
29500
29501 2010-03-30  Eric Blake  <eblake@redhat.com>
29502
29503         maint: improve module indicators
29504         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29505         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29506         columns, and avoid extra macro expansion.
29507
29508         fdopendir: work around FreeBSD bug
29509         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29510         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29511         * modules/dirent (Makefile.am): Substitute it.
29512         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29513         declaration.
29514         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29515         fix.
29516         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29517
29518 2010-03-29  Bruno Haible  <bruno@clisp.org>
29519
29520         Emit #pragma system_header after the inclusion guard, not before.
29521         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29522         guard that spans the entire file, not before. This enables an
29523         optimization in GCC's preprocessor.
29524         * lib/ctype.in.h: Likewise.
29525         * lib/dirent.in.h: Likewise.
29526         * lib/errno.in.h: Likewise.
29527         * lib/float.in.h: Likewise.
29528         * lib/getopt.in.h: Likewise.
29529         * lib/iconv.in.h: Likewise.
29530         * lib/langinfo.in.h: Likewise.
29531         * lib/locale.in.h: Likewise.
29532         * lib/math.in.h: Likewise.
29533         * lib/netdb.in.h: Likewise.
29534         * lib/netinet_in.in.h: Likewise.
29535         * lib/pty.in.h: Likewise.
29536         * lib/sched.in.h: Likewise.
29537         * lib/se-selinux.in.h: Likewise.
29538         * lib/search.in.h: Likewise.
29539         * lib/spawn.in.h: Likewise.
29540         * lib/stdarg.in.h: Likewise.
29541         * lib/stdint.in.h: Likewise.
29542         * lib/string.in.h: Likewise.
29543         * lib/strings.in.h: Likewise.
29544         * lib/sys_file.in.h: Likewise.
29545         * lib/sys_ioctl.in.h: Likewise.
29546         * lib/sys_time.in.h: Likewise.
29547         * lib/sys_times.in.h: Likewise.
29548         * lib/sys_utsname.in.h: Likewise.
29549         * lib/sys_wait.in.h: Likewise.
29550         * lib/sysexits.in.h: Likewise.
29551         * lib/wctype.in.h: Likewise.
29552
29553 2010-03-28  James Youngman  <jay@gnu.org>
29554
29555         save-cwd: don't leak a file descriptor when the caller execs.
29556         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29557         saved file descriptor.
29558         * modules/save-cwd (Depends-on): Depend on cloexec.
29559
29560 2010-03-29  Bruno Haible  <bruno@clisp.org>
29561
29562         Remove vestiges of fts-lgpl module.
29563         * lib/fts_.h: Assume GNULIB_FTS is 1.
29564         * lib/fts.c: Likewise.
29565         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29566
29567 2010-03-28  Bruno Haible  <bruno@clisp.org>
29568
29569         Fix definition of tests witness macro.
29570         * gnulib-tool (func_import): Fix definition of witness macro.
29571
29572 2010-03-28  Bruno Haible  <bruno@clisp.org>
29573
29574         Fix ioctl's protoype on glibc systems.
29575         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29576         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29577         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29578         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29579         signature. If not, arrange to replace the ioctl function.
29580         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29581         REPLACE_IOCTL.
29582         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29583         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29584         Reported by Ludovic Courtès <ludo@gnu.org>.
29585
29586 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29587
29588         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29589         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29590         made it so grep -r --include=GLOB* ... did not work.
29591
29592 2010-03-26  Jim Meyering  <meyering@redhat.com>
29593             Eric Blake  <eblake@redhat.com>
29594
29595         maint.mk: prohibit use of test's -o and -a operators
29596         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29597
29598 2010-03-28  Bruno Haible  <bruno@clisp.org>
29599
29600         Remove unused GNULIB_XYZ macro definitions.
29601         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29602         invocation.
29603
29604 2010-03-28  Bruno Haible  <bruno@clisp.org>
29605
29606         Mark privileged tests modules.
29607         * modules/idpriv-drop-tests (Status): New section.
29608         * modules/idpriv-droptemp-tests (Status): New section.
29609
29610 2010-03-28  Bruno Haible  <bruno@clisp.org>
29611
29612         Split C++ tests into separate tests modules.
29613         * modules/dirent-c++-tests: New file, extracted from
29614         modules/dirent-tests.
29615         * modules/dirent-tests: Depend on it.
29616         * modules/fcntl-h-c++-tests: New file, extracted from
29617         modules/fcntl-h-tests.
29618         * modules/fcntl-h-tests: Depend on it.
29619         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29620         * modules/glob-tests: Depend on it.
29621         * modules/iconv-h-c++-tests: New file, extracted from
29622         modules/iconv-h-tests.
29623         * modules/iconv-h-tests: Depend on it.
29624         * modules/langinfo-c++-tests: New file, extracted from
29625         modules/langinfo-tests.
29626         * modules/langinfo-tests: Depend on it.
29627         * modules/locale-c++-tests: New file, extracted from
29628         modules/locale-tests.
29629         * modules/locale-tests: Depend on it.
29630         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29631         * modules/math-tests: Depend on it.
29632         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29633         * modules/pty-tests: Depend on it.
29634         * modules/search-c++-tests: New file, extracted from
29635         modules/search-tests.
29636         * modules/search-tests: Depend on it.
29637         * modules/signal-c++-tests: New file, extracted from
29638         modules/signal-tests.
29639         * modules/signal-tests: Depend on it.
29640         * modules/spawn-c++-tests: New file, extracted from
29641         modules/spawn-tests.
29642         * modules/spawn-tests: Depend on it.
29643         * modules/stdio-c++-tests: New file, extracted from
29644         modules/stdio-tests.
29645         * modules/stdio-tests: Depend on it.
29646         * modules/stdlib-c++-tests: New file, extracted from
29647         modules/stdlib-tests.
29648         * modules/stdlib-tests: Depend on it.
29649         * modules/string-c++-tests: New file, extracted from
29650         modules/string-tests.
29651         * modules/string-tests: Depend on it.
29652         * modules/sys_ioctl-c++-tests: New file, extracted from
29653         modules/sys_ioctl-tests.
29654         * modules/sys_ioctl-tests: Depend on it.
29655         * modules/sys_select-c++-tests: New file, extracted from
29656         modules/sys_select-tests.
29657         * modules/sys_select-tests: Depend on it.
29658         * modules/sys_socket-c++-tests: New file, extracted from
29659         modules/sys_socket-tests.
29660         * modules/sys_socket-tests: Depend on it.
29661         * modules/sys_stat-c++-tests: New file, extracted from
29662         modules/sys_stat-tests.
29663         * modules/sys_stat-tests: Depend on it.
29664         * modules/sys_time-c++-tests: New file, extracted from
29665         modules/sys_time-tests.
29666         * modules/sys_time-tests: Depend on it.
29667         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29668         * modules/time-tests: Depend on it.
29669         * modules/unistd-c++-tests: New file, extracted from
29670         modules/unistd-tests.
29671         * modules/unistd-tests: Depend on it.
29672         * modules/wchar-c++-tests: New file, extracted from
29673         modules/wchar-tests.
29674         * modules/wchar-tests: Depend on it.
29675         * modules/wctype-c++-tests: New file, extracted from
29676         modules/wctype-tests.
29677         * modules/wctype-tests: Depend on it.
29678         Reported by Simon Josefsson.
29679
29680 2010-03-28  Bruno Haible  <bruno@clisp.org>
29681
29682         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29683         * gnulib-tool (func_exists_module): New function, extracted from
29684         func_verify_module.
29685         (func_verify_module): Use it.
29686         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29687         'foo' only if 'foo' exists.
29688         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29689         module.
29690
29691 2010-03-28  Bruno Haible  <bruno@clisp.org>
29692
29693         gnulib-tool: Add support for special categories of tests.
29694         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29695         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29696         (func_usage): Document them.
29697         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29698         inc_unportable_tests, inc_all_tests): New variables.
29699         (func_acceptable): Consider these variables.
29700         (func_modules_transitive_closure): Make it work when the 'Status' field
29701         consists of multiple words.
29702         (func_import): Store and restore the values of inc_cxx_tests,
29703         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29704         inc_all_tests in gnulib-comp.m4.
29705         (func_create_testdir): Set inc_all_tests to true.
29706         * doc/gnulib.texi (Extra tests modules): New section.
29707         Suggested by Jim Meyering.
29708
29709 2010-03-28  Bruno Haible  <bruno@clisp.org>
29710
29711         ansi-c++-opt: Allow turning off the C++ build by default.
29712         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29713         gl_CXX_CHOICE_DEFAULT_NO is defined.
29714         Requested by Eric Blake.
29715
29716 2010-03-28  Bruno Haible  <bruno@clisp.org>
29717
29718         unistd: Avoid #define replacements in C++ mode.
29719         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29720         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29721         setsockopt, shutdown, select): In C++, attach a warning to the function
29722         if possible, rather than #defining the symbol to a dysfunctional alias.
29723         Reported by John W. Eaton <jwe@gnu.org>.
29724
29725 2010-03-28  Bruno Haible  <bruno@clisp.org>
29726
29727         Fix link errors on mingw.
29728         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29729         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29730         $(LIBSOCKET).
29731         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29732         $(LIBSOCKET).
29733
29734 2010-03-28  Bruno Haible  <bruno@clisp.org>
29735             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29736
29737         lib-ignore: Determine different options for different compilers.
29738         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29739         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29740         Add comments.
29741         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29742         * NEWS: Mention the change.
29743
29744 2010-03-27  Bruno Haible  <bruno@clisp.org>
29745
29746         Remove unused GNULIB_XYZ macro definitions.
29747         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29748         * modules/fseek (configure.ac): Likewise.
29749         * modules/ioctl (configure.ac): Likewise.
29750         * modules/open (configure.ac): Likewise.
29751         * modules/stdlib-safer (configure.ac): Likewise.
29752
29753 2010-03-27  Bruno Haible  <bruno@clisp.org>
29754
29755         Add a remark about certain modules.
29756         * modules/malloc (Comment): New section.
29757         * modules/realloc (Comment): Likewise.
29758         * modules/sigpipe (Comment): Likewise.
29759
29760 2010-03-27  Bruno Haible  <bruno@clisp.org>
29761
29762         Resolve conflict between the two kinds of module indicators.
29763         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29764         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29765         * modules/canonicalize (configure.ac): Invoke
29766         gl_MODULE_INDICATOR_FOR_TESTS.
29767         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29768         GNULIB_XYZ.
29769         * tests/test-dirent-c++.cc: Likewise.
29770         * tests/test-dirent-safer.c: Likewise.
29771         * tests/test-dup2.c: Likewise.
29772         * tests/test-fchdir.c: Likewise.
29773         * tests/test-fcntl-h-c++.cc: Likewise.
29774         * tests/test-getopt.c: Likewise.
29775         * tests/test-getopt.h: Likewise.
29776         * tests/test-langinfo-c++.cc: Likewise.
29777         * tests/test-locale-c++.cc: Likewise.
29778         * tests/test-math-c++.cc: Likewise.
29779         * tests/test-pty-c++.cc: Likewise.
29780         * tests/test-search-c++.cc: Likewise.
29781         * tests/test-signal-c++.cc: Likewise.
29782         * tests/test-spawn-c++.cc: Likewise.
29783         * tests/test-stdio-c++.cc: Likewise.
29784         * tests/test-stdlib-c++.cc: Likewise.
29785         * tests/test-string-c++.cc: Likewise.
29786         * tests/test-sys_ioctl-c++.cc: Likewise.
29787         * tests/test-sys_select-c++.cc: Likewise.
29788         * tests/test-sys_socket-c++.cc: Likewise.
29789         * tests/test-sys_stat-c++.cc: Likewise.
29790         * tests/test-sys_time-c++.cc: Likewise.
29791         * tests/test-time-c++.cc: Likewise.
29792         * tests/test-unistd-c++.cc: Likewise.
29793         * tests/test-wchar-c++.cc: Likewise.
29794         * tests/uninorm/test-u8-nfc.c: Likewise.
29795         * tests/uninorm/test-u8-nfd.c: Likewise.
29796         * tests/uninorm/test-u8-nfkc.c: Likewise.
29797         * tests/uninorm/test-u8-nfkd.c: Likewise.
29798         * tests/uninorm/test-u16-nfc.c: Likewise.
29799         * tests/uninorm/test-u16-nfd.c: Likewise.
29800         * tests/uninorm/test-u16-nfkc.c: Likewise.
29801         * tests/uninorm/test-u16-nfkd.c: Likewise.
29802         * tests/uninorm/test-u32-nfc.c: Likewise.
29803         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29804         * tests/uninorm/test-u32-nfd.c: Likewise.
29805         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29806         * tests/uninorm/test-u32-nfkc.c: Likewise.
29807         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29808         * tests/uninorm/test-u32-nfkd.c: Likewise.
29809         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29810         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29811
29812 2010-03-27  Bruno Haible  <bruno@clisp.org>
29813
29814         Distinguish two kinds of module indicators.
29815         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29816         gl_MODULE_INDICATOR.
29817         (gl_MODULE_INDICATOR): New macro.
29818         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29819         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29820         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29821         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29822         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29823         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29824         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29825         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29826         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29827         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29828         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29829         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29830         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29831         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29832         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29833         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29834         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29835         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29836         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29837         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29838         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29839         * modules/cloexec (configure.ac): Likewise.
29840         * modules/getopt-gnu (configure.ac): Likewise.
29841         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29842         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29843         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29844         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29845
29846 2010-03-27  Bruno Haible  <bruno@clisp.org>
29847
29848         New module description field 'Comment'.
29849         * gnulib-tool: New option --extract-comment.
29850         (func_usage): Document it.
29851         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29852         (func_get_comment): New function.
29853         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29854
29855 2010-03-27  Bruno Haible  <bruno@clisp.org>
29856
29857         Addendum to 2010-02-07 commit.
29858         * gnulib-tool (func_usage): Document --extract-applicability option.
29859
29860 2010-03-27  Bruno Haible  <bruno@clisp.org>
29861
29862         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29863         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29864         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29865         rather than link errors.
29866
29867 2010-03-27  Bruno Haible  <bruno@clisp.org>
29868
29869         Avoid side effects from tests-related modules on the compilation of lib.
29870         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29871         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29872         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29873         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29874         macro.
29875         (func_import): Define a witness macro. Assign it a value that depends
29876         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29877         tests-related modules.
29878         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29879         Reported by Jim Meyering.
29880
29881 2010-03-27  Bruno Haible  <bruno@clisp.org>
29882
29883         Factorize common .m4 code.
29884         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29885         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29886         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29887         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29888         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29889         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29890         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29891         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29892         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29893         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29894         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29895         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29896         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29897         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29898         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29899         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29900         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29901         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29903         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29904         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_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/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29911         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29912         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29913         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29914         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29915         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29916
29917 2010-03-27  Bruno Haible  <bruno@clisp.org>
29918
29919         Fix a compilation error on Cygwin with g++ >= 4.3.
29920         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29921         if it is undefined or if we alias it to chmod.
29922         (lstat): Don't warn about the use of this function if it is undefined
29923         or if we alias it to stat.
29924         Reported by Simon Josefsson.
29925
29926 2010-03-27  Bruno Haible  <bruno@clisp.org>
29927
29928         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29929         * modules/getlogin (configure.ac): Update.
29930
29931         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29932         * modules/getlogin_r (configure.ac): Update.
29933
29934         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29935         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29936         * modules/inet_ntop (configure.ac): Update.
29937
29938         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29939         * modules/inet_pton (configure.ac): Update.
29940
29941         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29942         * modules/mbslen (configure.ac): Update.
29943
29944         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29945         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29946         * modules/forkpty (configure.ac): Update.
29947         * modules/openpty (configure.ac): Update.
29948
29949 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29950
29951         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29952         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29953
29954 2010-03-25  Eric Blake  <eblake@redhat.com>
29955
29956         maint: use pragma consistently across replacement headers
29957         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29958         * lib/dirent.in.h (system_header): Likewise.
29959         * lib/errno.in.h (system_header): Likewise.
29960         * lib/float.in.h (system_header): Likewise.
29961         * lib/getopt.in.h (system_header): Likewise.
29962         * lib/iconv.in.h (system_header): Likewise.
29963         * lib/inttypes.in.h (system_header): Likewise.
29964         * lib/langinfo.in.h (system_header): Likewise.
29965         * lib/locale.in.h (system_header): Likewise.
29966         * lib/math.in.h (system_header): Likewise.
29967         * lib/netdb.in.h (system_header): Likewise.
29968         * lib/netinet_in.in.h (system_header): Likewise.
29969         * lib/pty.in.h (system_header): Likewise.
29970         * lib/sched.in.h (system_header): Likewise.
29971         * lib/se-selinux.in.h (system_header): Likewise.
29972         * lib/search.in.h (system_header): Likewise.
29973         * lib/spawn.in.h (system_header): Likewise.
29974         * lib/stdarg.in.h (system_header): Likewise.
29975         * lib/stdint.in.h (system_header): Likewise.
29976         * lib/string.in.h (system_header): Likewise.
29977         * lib/strings.in.h (system_header): Likewise.
29978         * lib/sys_file.in.h (system_header): Likewise.
29979         * lib/sys_ioctl.in.h (system_header): Likewise.
29980         * lib/sys_socket.in.h (system_header): Likewise.
29981         * lib/sys_times.in.h (system_header): Likewise.
29982         * lib/sys_utsname.in.h (system_header): Likewise.
29983         * lib/sys_wait.in.h (system_header): Likewise.
29984         * lib/sysexits.in.h (system_header): Likewise.
29985         * lib/unistd.in.h (system_header): Likewise.
29986         * lib/wctype.in.h (system_header): Likewise.
29987
29988         arpa/inet: fix mingw compilation warning
29989         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29990         Reported by Matthew Bolte.
29991
29992 2010-03-25  Bruno Haible  <bruno@clisp.org>
29993
29994         Avoid collision between gnulib wrapper and libintl wrapper.
29995         * lib/printf.c (printf): Don't define if a printf wrapper is already
29996         defined in intl/printf.c.
29997         Reported by Michel Boaventura <michel@michelboaventura.com>.
29998
29999 2010-03-25  Bruno Haible  <bruno@clisp.org>
30000
30001         Use ANSI C.
30002         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30003
30004 2010-03-25  Bruno Haible  <bruno@clisp.org>
30005
30006         Minor formatting changes.
30007         * lib/acosl.c: Insert space before function argument list.
30008         * lib/argz.c: Likewise.
30009         * lib/asinl.c: Likewise.
30010         * lib/expl.c: Likewise.
30011         * lib/gen-uni-tables.c: Likewise.
30012         * lib/gettext.h: Likewise.
30013         * lib/glthread/lock.h: Likewise.
30014         * lib/tanl.c: Likewise.
30015         * lib/uniname/uniname.c: Likewise.
30016         * tests/test-idpriv-drop.c: Likewise.
30017         * tests/test-idpriv-droptemp.c: Likewise.
30018         * tests/test-lock.c: Likewise.
30019         * tests/test-tls.c: Likewise.
30020         * lib/argp-help.c: Insert space before function-like macro argument
30021         list.
30022         * lib/memcmp.c: Likewise.
30023         * tests/test-base64.c: Likewise.
30024         * lib/localename.c: Insert space before sizeof's argument list.
30025         * lib/safe-alloc.h: Likewise.
30026         * lib/file-set.h: Insert space before macro argument list.
30027         * tests/test-argp.c: Likewise.
30028         * lib/argp-namefrob.h: Insert space before function parameter list.
30029         * lib/getaddrinfo.c: Likewise.
30030         * lib/netdb.in.h: Likewise.
30031         * lib/parse-duration.h: Likewise.
30032         * lib/parse-duration.c: Likewise.
30033         * lib/poll.c: Likewise.
30034         * lib/select.c: Likewise.
30035         * lib/trim.h: Likewise.
30036         * tests/test-usleep.c: Likewise.
30037         * lib/ldexpl.c: Insert space before function parameter list and before
30038         function argument list.
30039         * lib/logl.c: Likewise.
30040         * lib/sqrtl.c: Likewise.
30041         * lib/trim.c: Likewise.
30042         * lib/cosl.c: Use GNU style indentation. Insert space before function
30043         argument list.
30044         * lib/sinl.c: Likewise.
30045         * lib/tsearch.c: Insert space after 'for'.
30046         Reported by Jim Meyering.
30047
30048 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30049
30050         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30051         config header before grepping, as it's not present before
30052         autoreconf/configure are run.  Reported by Simon Josefsson.
30053
30054 2010-03-23  Bruno Haible  <bruno@clisp.org>
30055
30056         pt_chown: Make it work with automake < 1.11.
30057         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30058         Reported by Simon Josefsson.
30059
30060 2010-03-23  Bruno Haible  <bruno@clisp.org>
30061
30062         pt_chown: Don't depend on GPLed modules.
30063         * lib/pt_chown.c: Don't include idpriv.h.
30064         (main): Don't drop privileges.
30065         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30066         Reported by Simon Josefsson.
30067
30068 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30069
30070         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30071         suggestions from karl@freefriends.org (Karl Berry).
30072
30073 2010-03-22  Eric Blake  <eblake@redhat.com>
30074
30075         gethostname: further tweaks
30076         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30077         are overriding gethostname.
30078         Suggested by Bruno Haible.
30079
30080 2010-03-21  Bruno Haible  <bruno@clisp.org>
30081
30082         Fix comments.
30083         * lib/forkpty.c (rpl_forkpty): Fix comment.
30084         * lib/openpty.c (rpl_openpty): Likewise.
30085         Reported by Eric Blake.
30086
30087 2010-03-22  Eric Blake  <eblake@redhat.com>
30088
30089         gethostname: fix build on mingw
30090         * lib/unistd.in.h (includes): Work around fact that mingw
30091         <winsock2.h> re-includes <unistd.h>, by avoiding any
30092         redeclarations if we are being included by <winsock2.h>.
30093         Reported by Matthias Bolte.
30094
30095 2010-03-21  Bruno Haible  <bruno@clisp.org>
30096
30097         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30098         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30099         modifications.
30100         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30101         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30102         provide the replacement.
30103         * modules/forkpty (Depends-on): Add openpty, login_tty.
30104         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30105         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30106         * doc/glibc-functions/forkpty.texi: More supported platforms.
30107         * config/srclist.txt: Add forkpty.c (commented).
30108
30109 2010-03-21  Bruno Haible  <bruno@clisp.org>
30110
30111         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30112         (Makefile.am): Verify that PTY_LIB is defined.
30113
30114         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30115
30116 2010-03-21  Bruno Haible  <bruno@clisp.org>
30117
30118         Tests for module 'login_tty'.
30119         * modules/login_tty-tests: New file.
30120         * tests/test-login_tty.c: New file.
30121
30122         New module 'login_tty'.
30123         * lib/login_tty.c: New file.
30124         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30125         * modules/login_tty: New file.
30126         * doc/glibc-functions/login_tty.texi: Mention the new module.
30127
30128 2010-03-21  Bruno Haible  <bruno@clisp.org>
30129
30130         login_tty: Documentation.
30131         * doc/glibc-functions/login_tty.texi: New file.
30132         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30133
30134 2010-03-21  Bruno Haible  <bruno@clisp.org>
30135
30136         pty: Consistent macro naming.
30137         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30138         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30139         * modules/pty (configure.ac): Update.
30140
30141 2010-03-21  Bruno Haible  <bruno@clisp.org>
30142
30143         Tests for openpty: Make stricter.
30144         * tests/test-openpty.c (main): Add test of canonical processing and
30145         erase.
30146         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30147
30148         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30149         * lib/openpty.c (openpty): New replacement function.
30150         * lib/pty.in.h: Include <termios.h>.
30151         (openpty): Update declaration. Add comments.
30152         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30153         is not declared, arrange to provide the replacement. Check for _getpty
30154         and posix_openpt.
30155         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30156         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30157         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30158         * modules/pty-tests (test_pty_c___LDADD): New variable.
30159         * doc/glibc-functions/openpty.texi: More supported platforms.
30160
30161 2010-03-21  Bruno Haible  <bruno@clisp.org>
30162
30163         setenv: Tweaks.
30164         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30165         the test program.
30166         * doc/posix-functions/setenv.texi: Update platforms list.
30167
30168 2010-03-21  Bruno Haible  <bruno@clisp.org>
30169
30170         New module 'unlockpt'.
30171         * lib/unlockpt.c: New file, from glibc with modifications.
30172         * m4/unlockpt.m4: New file.
30173         * modules/unlockpt: New file.
30174         * lib/stdlib.in.h (unlockpt): New declaration.
30175         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30176         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30177         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30178         HAVE_UNLOCKPT.
30179         * doc/posix-functions/unlockpt.texi: Mention the new module.
30180         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30181         * config/srclist.txt: Add unlockpt.c (commented).
30182
30183 2010-03-21  Jim Meyering  <meyering@redhat.com>
30184
30185         maint.mk: prohibit inclusion of "intprops.h" without use
30186         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30187
30188 2010-03-21  Bruno Haible  <bruno@clisp.org>
30189
30190         New module 'grantpt'.
30191         * lib/grantpt.c: New file, from glibc with modifications.
30192         * m4/grantpt.m4: New file.
30193         * modules/grantpt: New file.
30194         * lib/stdlib.in.h (grantpt): New declaration.
30195         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30196         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30197         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30198         HAVE_GRANTPT.
30199         * doc/posix-functions/grantpt.texi: Mention the new module.
30200         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30201         * config/srclist.txt: Add grantpt.c (commented).
30202
30203 2010-03-21  Bruno Haible  <bruno@clisp.org>
30204
30205         New module 'pt_chown'.
30206         * lib/pt_chown.c: New file, from glibc with modifications.
30207         * lib/pty-private.h: New file, from glibc with modifications.
30208         * modules/pt_chown: New file.
30209         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30210
30211 2010-03-21  Bruno Haible  <bruno@clisp.org>
30212
30213         Tests for module 'ptsname'.
30214         * modules/ptsname-tests: New file.
30215         * tests/test-ptsname.c: New file.
30216
30217         New module 'ptsname'.
30218         * lib/ptsname.c: New file, from glibc with modifications.
30219         * m4/ptsname.m4: New file.
30220         * modules/ptsname: New file.
30221         * lib/stdlib.in.h (ptsname): New declaration.
30222         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30223         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30224         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30225         HAVE_PTSNAME.
30226         * doc/posix-functions/ptsname.texi: Mention the new module.
30227         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30228         * config/srclist.txt: Add ptsname.c (commented).
30229
30230 2010-03-21  Bruno Haible  <bruno@clisp.org>
30231
30232         Tests for module 'ttyname_r'.
30233         * modules/ttyname_r-tests: New file.
30234         * tests/test-ttyname_r.c: New file.
30235
30236         New module 'ttyname_r'.
30237         * lib/ttyname_r.c: New file.
30238         * m4/ttyname_r.m4: New file.
30239         * modules/ttyname_r: New file.
30240         * lib/unistd.in.h (ttyname_r): New declaration.
30241         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30242         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30243         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30244         HAVE_TTYNAME_R.
30245         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30246         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30247
30248 2010-03-20  Bruno Haible  <bruno@clisp.org>
30249
30250         signal: Undefine macro definitions in C++ mode.
30251         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30252         sigfillset): Undefine macro definitions from the system header in C++
30253         mode.
30254         Reported by John W. Eaton <jwe@gnu.org>.
30255
30256 2010-03-20  Bruno Haible  <bruno@clisp.org>
30257
30258         Ensure no #include statements inside extern "C" { ... }.
30259         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30260         contain #include statements.
30261         * lib/time.in.h: Likewise.
30262
30263 2010-03-20  Bruno Haible  <bruno@clisp.org>
30264
30265         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30266         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30267         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30268         Reported by John W. Eaton <jwe@gnu.org>.
30269
30270 2010-03-20  Bruno Haible  <bruno@clisp.org>
30271
30272         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30273         Reported by Jim Meyering.
30274
30275 2010-03-20  Bruno Haible  <bruno@clisp.org>
30276
30277         pipe: Set errno upon failure.
30278         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30279         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30280         errno value in error message.
30281
30282 2010-03-20  Bruno Haible  <bruno@clisp.org>
30283             Jim Meyering  <meyering@redhat.com>
30284
30285         lchown: Avoid "unused variable" warning.
30286         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30287
30288 2010-03-20  Bruno Haible  <bruno@clisp.org>
30289
30290         Work around unlink() bug on MacOS X 10.5.6.
30291         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30292         attempting to unlink a parent directory.
30293         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30294         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30295         activate for the replacement function.
30296         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30297
30298 2010-03-20  Bruno Haible  <bruno@clisp.org>
30299
30300         Fix link errors on Solaris 8.
30301         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30302         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30303
30304 2010-03-19  Jim Meyering  <meyering@redhat.com>
30305
30306         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30307         The _LIBC implementation of build_range_exp correctly honors the
30308         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30309         However, the non-_LIBC implementation would ignore that syntax-bit
30310         flag and return REG_ERANGE unconditionally.
30311         This change makes it honor that flag.
30312         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30313         Make two pointer parameters "const".
30314         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30315         (parse_bracket_exp): Update caller.
30316
30317         regex.m4: correct the reversed range endpoint ([b-a]) test
30318         * m4/regex.m4: When requiring that [b-a] evoke failure,
30319         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30320         test pass once again for x86-based systems.
30321
30322 2010-03-19  Bruno Haible  <bruno@clisp.org>
30323
30324         scandir: Fix link error on Solaris 8.
30325         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30326         macros.
30327
30328 2010-03-19  Bruno Haible  <bruno@clisp.org>
30329
30330         getusershell: Fix documentation.
30331         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30332         module.
30333         * doc/glibc-functions/setusershell.texi: Likewise.
30334
30335         getusershell: Provide declaration, missing on Solaris 9.
30336         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30337         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30338         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30339         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30341         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30342         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30343         HAVE_GETUSERSHELL.
30344         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30345
30346 2010-03-19  Bruno Haible  <bruno@clisp.org>
30347
30348         wctype: Provide iswblank function.
30349         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30350         exists and is fine.
30351         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30352         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30353         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30354         * doc/posix-functions/iswblank.texi: Update.
30355
30356 2010-03-19  Bruno Haible  <bruno@clisp.org>
30357
30358         Tests of module 'pty' in C++ mode.
30359         * modules/pty-tests: New file.
30360         * tests/test-pty-c++.cc: New file.
30361         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30362
30363 2010-03-19  Eric Blake  <eblake@redhat.com>
30364
30365         logb: fix documentation
30366         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30367         1.5 declaration bug.
30368
30369         forkpty, openpty: prefer glibc's const-safe prototype
30370         * lib/forkpty.c (rpl_forkpty): New file.
30371         * lib/openpty.c (rpl_openpty): Likewise.
30372         * modules/forkpty (Files): Distribute it.
30373         * modules/openpty (Files): Likewise.
30374         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30375         check...
30376         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30377         replacement for for non-const BSD signature.
30378         * modules/pty (Makefile.am): Substitute witnesses.
30379         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30380         * tests/test-forkpty.c: Update signature check.
30381         * tests/test-openpty.c: Likewise.
30382         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30383         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30384
30385         forkpty, openpty: split functions into new modules
30386         * modules/pty (Makefile.am): Substitute new witnesses.
30387         (Libraries): Move library detection...
30388         * modules/forkpty: ...into new module.
30389         * modules/openpty: Another new module.
30390         * modules/pty-tests: Rename and split...
30391         * modules/forkpty-tests: ...to this...
30392         * modules/openpty-tests: ...and this.
30393         * tests/test-pty.c: Rename and split...
30394         * tests/test-forkpty.c: ...to this...
30395         * tests/test-openpty.c: ...and this.
30396         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30397         (gl_PTY): Split library searching...
30398         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30399         (gl_FORKPTY, gl_OPENPTY): New macros.
30400         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30401         * NEWS: Mention the split.
30402         * MODULES.html.sh (Misc): Document the modules.
30403         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30404         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30405
30406         pty: improve replacement header
30407         * lib/pty.in.h: New file.
30408         * modules/pty (Files): Ship it.
30409         (Makefile.am): Always build replacement.
30410         * m4/pty.m4: Rename...
30411         * m4/pty_h.m4: ...to this.
30412         (gl_PTY): Modernize setting of witness macros; update check of
30413         forkpty to take proper advantage of cache.
30414         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30415
30416         getopt: avoid compiler warning
30417         * lib/getopt.c (attribute_hidden): Remove unused macro.
30418
30419 2010-03-18  Bruno Haible  <bruno@clisp.org>
30420
30421         Fix link errors on Solaris 8.
30422         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30423         * modules/search-tests (test_search_c___LDADD): Likewise.
30424         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30425         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30426         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30427         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30428         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30429         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30430         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30431
30432 2010-03-18  Bruno Haible  <bruno@clisp.org>
30433
30434         Fix bug introduced on 2010-03-14.
30435         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30436         (gl_SPAWN_H): Require it.
30437         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30438         Reported by Simon Josefsson.
30439
30440 2010-03-18  Bruno Haible  <bruno@clisp.org>
30441
30442         Fix typo introduced on 2009-12-31.
30443         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30444         posix_spawn_file_actions_adddup2.
30445
30446 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30447         and Eric Blake  <eblake@redhat.com>
30448
30449         test-vc-list-files-git: make more robust
30450         * tests/test-vc-list-files-git.sh: Unset problematic environment
30451         variables.  Chain commands together.
30452
30453 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30454
30455         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30456         `AC_CHECK_DECL' invocation.
30457
30458 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30459
30460         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30461         appears before executable statements. Suggested by Petr Sumbera
30462         <Petr.Sumbera@Sun.COM>.
30463
30464 2010-03-14  Bruno Haible  <bruno@clisp.org>
30465
30466         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30467         portability problems. Instead use a simpler test.
30468         (main): Check that invalid arguments are rejected only on Linux.
30469
30470 2010-03-14  Bruno Haible  <bruno@clisp.org>
30471
30472         Fix bug introduced on 2009-12-31.
30473         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30474         gl_PREREQ_SYS_H_WINSOCK2 always.
30475         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30476         SYS_SOCKET_H variable.
30477         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30478         Update comments.
30479         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30480         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30481         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30482         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30483         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30484
30485 2010-03-14  Bruno Haible  <bruno@clisp.org>
30486
30487         Fix values returned by sinl, cosl.
30488         * lib/trigl.h: Add specification comments.
30489         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30490         that combines the values from the precomputed table with the values of
30491         the Chebyshev polynomials.
30492
30493 2010-03-14  Bruno Haible  <bruno@clisp.org>
30494
30495         Fix compilation error when modules 'posix_spawn[p]' are not used.
30496         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30497         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30498
30499 2010-03-14  Bruno Haible  <bruno@clisp.org>
30500
30501         Fix compilation error on mingw when module 'time_r' is not used.
30502         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30503         is 1.
30504         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30505         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30506         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30507         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30508
30509 2010-03-14  Bruno Haible  <bruno@clisp.org>
30510
30511         Fix compilation error with Sun C.
30512         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30513         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30514         instead of GCC specific ULONG_LONG_MAX.
30515         * lib/xstrtoll.c: Likewise.
30516         * lib/xstrtoull.c: Likewise.
30517
30518 2010-03-13  Bruno Haible  <bruno@clisp.org>
30519
30520         Allow the user to disable C++ code and tests.
30521         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30522         (gl_PROG_ANSI_CXX): Require it.
30523
30524 2010-03-13  Bruno Haible  <bruno@clisp.org>
30525
30526         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30527         cases.
30528
30529 2010-03-13  Bruno Haible  <bruno@clisp.org>
30530
30531         Test that gnulib does not break the standard C++ headers.
30532         * tests/test-locale-c++2.cc: New file.
30533         * modules/locale-tests (Files): Add it.
30534         (Makefile.am): Compile it for test-locale-c++.
30535         * tests/test-math-c++2.cc: New file.
30536         * modules/math-tests (Files): Add it.
30537         (Makefile.am): Compile it for test-math-c++.
30538         * tests/test-signal-c++2.cc: New file.
30539         * modules/signal-tests (Files): Add it.
30540         (Makefile.am): Compile it for test-signal-c++.
30541         * tests/test-stdio-c++2.cc: New file.
30542         * modules/stdio-tests (Files): Add it.
30543         (Makefile.am): Compile it for test-stdio-c++.
30544         * tests/test-stdlib-c++2.cc: New file.
30545         * modules/stdlib-tests (Files): Add it.
30546         (Makefile.am): Compile it for test-stdlib-c++.
30547         * tests/test-string-c++2.cc: New file.
30548         * modules/string-tests (Files): Add it.
30549         (Makefile.am): Compile it for test-string-c++.
30550         * tests/test-time-c++2.cc: New file.
30551         * modules/time-tests (Files): Add it.
30552         (Makefile.am): Compile it for test-time-c++.
30553         Reported by John W. Eaton <jwe@gnu.org>.
30554
30555 2010-03-13  Bruno Haible  <bruno@clisp.org>
30556
30557         * gnulib-tool (func_usage): Clarify which options are available for
30558         --create-testdir and --create-megatestdir.
30559
30560 2010-03-13  Bruno Haible  <bruno@clisp.org>
30561
30562         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30563         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30564         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30565         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30566         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30567         when appropriate.
30568         Reported by Jim Meyering.
30569
30570 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30571
30572         * gnulib-tool (func_import): Explain origin of code.
30573
30574 2010-03-12  Bruno Haible  <bruno@clisp.org>
30575
30576         Fix problem with automake's definition of CXXLINK.
30577         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30578         Reported by Simon Josefsson and Ludovic Courtès.
30579
30580 2010-03-12  Bruno Haible  <bruno@clisp.org>
30581
30582         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30583         stable releases.
30584
30585 2010-03-11  Bruno Haible  <bruno@clisp.org>
30586
30587         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30588         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30589         whether the system provides one variant or multiple variants of the
30590         function.
30591         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30592         C++ compilers.
30593         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30594         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30595         Reported by Jim Meyering.
30596
30597 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30598
30599         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30600
30601 2010-03-08  Bruno Haible  <bruno@clisp.org>
30602
30603         gnulib-tool: Add support for --libtool in --create-testdir.
30604         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30605         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30606
30607 2010-03-08  Eric Blake  <eblake@redhat.com>
30608
30609         gnulib-tool.texi: mention possibility of git submodule
30610         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30611         submodules.
30612         * doc/.gitignore: Ignore another generated file.
30613
30614 2010-03-08  Karl Berry  <karl@gnu.org>
30615
30616         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30617         of committing gnulib files while skipping others.
30618
30619 2010-03-07  Bruno Haible  <bruno@clisp.org>
30620
30621         Tests of module 'wctype' in C++ mode.
30622         * tests/test-wctype-c++.cc: New file.
30623         * modules/wctype-tests (Files): Add it and tests/signature.h.
30624         (Depends-on): Add ansi-c++-opt.
30625         (Makefile.am): Arrange to compile and run test-wctype-c++.
30626
30627         Tests of module 'wchar' in C++ mode.
30628         * tests/test-wchar-c++.cc: New file.
30629         * modules/wchar-tests (Files): Add it and tests/signature.h.
30630         (Depends-on): Add ansi-c++-opt.
30631         (Makefile.am): Arrange to compile and run test-wchar-c++.
30632         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30633         gl_MODULE_INDICATOR.
30634
30635         Tests of module 'unistd' in C++ mode.
30636         * tests/test-unistd-c++.cc: New file.
30637         * modules/unistd-tests (Files): Add it and tests/signature.h.
30638         (Depends-on): Add ansi-c++-opt.
30639         (Makefile.am): Arrange to compile and run test-unistd-c++.
30640         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30641         gl_MODULE_INDICATOR.
30642
30643         Tests of module 'time' in C++ mode.
30644         * tests/test-time-c++.cc: New file.
30645         * modules/time-tests (Files): Add it and tests/signature.h.
30646         (Depends-on): Add ansi-c++-opt.
30647         (Makefile.am): Arrange to compile and run test-time-c++.
30648         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30649
30650         Tests of module 'sys_time' in C++ mode.
30651         * tests/test-sys_time-c++.cc: New file.
30652         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30653         (Depends-on): Add ansi-c++-opt.
30654         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30655         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30656         gl_MODULE_INDICATOR.
30657
30658         Tests of module 'sys_stat' in C++ mode.
30659         * tests/test-sys_stat-c++.cc: New file.
30660         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30661         (Depends-on): Add ansi-c++-opt.
30662         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30663         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30664         gl_MODULE_INDICATOR.
30665
30666         Tests of module 'sys_socket' in C++ mode.
30667         * tests/test-sys_socket-c++.cc: New file.
30668         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30669         (Depends-on): Add ansi-c++-opt.
30670         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30671         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30672         gl_MODULE_INDICATOR.
30673
30674         Tests of module 'sys_select' in C++ mode.
30675         * tests/test-sys_select-c++.cc: New file.
30676         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30677         (Depends-on): Add ansi-c++-opt.
30678         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30679         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30680         gl_MODULE_INDICATOR.
30681
30682         Tests of module 'sys_ioctl' in C++ mode.
30683         * tests/test-sys_ioctl-c++.cc: New file.
30684         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30685         (Depends-on): Add ansi-c++-opt.
30686         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30687         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30688         gl_MODULE_INDICATOR.
30689
30690         Tests of module 'string' in C++ mode.
30691         * tests/test-string-c++.cc: New file.
30692         * modules/string-tests (Files): Add it and tests/signature.h.
30693         (Depends-on): Add ansi-c++-opt.
30694         (Makefile.am): Arrange to compile and run test-string-c++.
30695         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30696         gl_MODULE_INDICATOR.
30697
30698         Tests of module 'stdlib' in C++ mode.
30699         * tests/test-stdlib-c++.cc: New file.
30700         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30701         (Depends-on): Add ansi-c++-opt.
30702         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30703         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30704         gl_MODULE_INDICATOR.
30705
30706         Tests of module 'stdio' in C++ mode.
30707         * tests/test-stdio-c++.cc: New file.
30708         * modules/stdio-tests (Files): Add it and tests/signature.h.
30709         (Depends-on): Add ansi-c++-opt.
30710         (Makefile.am): Arrange to compile and run test-stdio-c++.
30711         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30712         gl_MODULE_INDICATOR.
30713
30714         Tests of module 'spawn' in C++ mode.
30715         * tests/test-spawn-c++.cc: New file.
30716         * modules/spawn-tests (Files): Add it and tests/signature.h.
30717         (Depends-on): Add ansi-c++-opt.
30718         (Makefile.am): Arrange to compile and run test-spawn-c++.
30719         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30720         gl_MODULE_INDICATOR.
30721
30722         Tests of module 'signal' in C++ mode.
30723         * tests/test-signal-c++.cc: New file.
30724         * modules/signal-tests (Files): Add it and tests/signature.h.
30725         (Depends-on): Add ansi-c++-opt.
30726         (Makefile.am): Arrange to compile and run test-signal-c++.
30727         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30728         gl_MODULE_INDICATOR.
30729
30730         Tests of module 'search' in C++ mode.
30731         * tests/test-search-c++.cc: New file.
30732         * modules/search-tests (Files): Add it and tests/signature.h.
30733         (Depends-on): Add ansi-c++-opt.
30734         (Makefile.am): Arrange to compile and run test-search-c++.
30735         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30736         gl_MODULE_INDICATOR.
30737
30738         Tests of module 'math' in C++ mode.
30739         * tests/test-math-c++.cc: New file.
30740         * modules/math-tests (Files): Add it and tests/signature.h.
30741         (Depends-on): Add ansi-c++-opt.
30742         (Makefile.am): Arrange to compile and run test-math-c++.
30743         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30744
30745         Tests of module 'locale' in C++ mode.
30746         * tests/test-locale-c++.cc: New file.
30747         * modules/locale-tests (Files): Add it and tests/signature.h.
30748         (Depends-on): Add ansi-c++-opt.
30749         (Makefile.am): Arrange to compile and run test-locale-c++.
30750         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30751         gl_MODULE_INDICATOR.
30752
30753         Tests of module 'langinfo' in C++ mode.
30754         * tests/test-langinfo-c++.cc: New file.
30755         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30756         (Depends-on): Add ansi-c++-opt.
30757         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30758         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30759         gl_MODULE_INDICATOR.
30760
30761         Tests of module 'iconv-h' in C++ mode.
30762         * tests/test-iconv-h-c++.cc: New file.
30763         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30764         (Depends-on): Add ansi-c++-opt.
30765         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30766
30767         Tests of module 'glob' in C++ mode.
30768         * tests/test-glob-c++.cc: New file.
30769         * modules/glob-tests (Files): Add it.
30770         (Depends-on): Add ansi-c++-opt.
30771         (Makefile.am): Arrange to compile and run test-glob-c++.
30772
30773         Tests of module 'fcntl-h' in C++ mode.
30774         * tests/test-fcntl-h-c++.cc: New file.
30775         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30776         (Depends-on): Add ansi-c++-opt.
30777         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30778         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30779         gl_MODULE_INDICATOR.
30780
30781         Tests of module 'dirent' in C++ mode.
30782         * tests/test-dirent-c++.cc: New file.
30783         * modules/dirent-tests (Files): Add it and tests/signature.h.
30784         (Depends-on): Add ansi-c++-opt.
30785         (Makefile.am): Arrange to compile and run test-dirent-c++.
30786         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30787         gl_MODULE_INDICATOR.
30788
30789         New module 'ansi-c++-opt'.
30790         * modules/ansi-c++-opt: New file.
30791         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30792
30793         Document C++ namespace mode.
30794         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30795
30796         wctype: Avoid #define replacements in C++ mode.
30797         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30798         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30799         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30800         In C++, define a namespaced alias symbol.
30801         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30802         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30803         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30804         rule.
30805
30806         wchar: Avoid #define replacements in C++ mode.
30807         * lib/wchar.in.h: Include c++defs.h.
30808         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30809         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30810         symbol.
30811         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30812         * modules/wchar (Depends-on): Add c++defs.
30813         (Makefile.am): Update wchar.h rule.
30814
30815         unistd: Avoid #define replacements in C++ mode.
30816         * lib/unistd.in.h: Include c++defs.h.
30817         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30818         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30819         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30820         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30821         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30822         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30823         symbol.
30824         (environ): Update.
30825         * modules/unistd (Depends-on): Add c++defs.
30826         (Makefile.am): Update unistd.h rule.
30827
30828         time: Avoid #define replacements in C++ mode.
30829         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30830         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30831         define a namespaced alias symbol.
30832         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30833         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30834         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30835         * modules/time (Depends-on): Add c++defs, warn-on-use.
30836         (Makefile.am): Update time.h rule.
30837         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30838         * modules/nanosleep (configure.ac): Likewise.
30839         * modules/strptime (configure.ac): Likewise.
30840         * modules/timegm (configure.ac): Likewise.
30841
30842         sys_time: Avoid #define replacements in C++ mode.
30843         * lib/sys_time.in.h: Include c++defs.h.
30844         (gettimeofday): In C++, define a namespaced alias symbol.
30845         * modules/sys_time (Depends-on): Add c++defs.
30846         (Makefile.am): Update sys/time.h rule.
30847
30848         sys_stat: Avoid #define replacements in C++ mode.
30849         * lib/sys_stat.in.h: Include c++defs.h.
30850         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30851         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30852         namespaced alias symbol.
30853         In C++, define a namespaced alias symbol.
30854         * modules/sys_stat (Depends-on): Add c++defs.
30855         (Makefile.am): Update sys/stat.h rule.
30856
30857         sys_socket: Avoid #define replacements in C++ mode.
30858         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30859         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30860         definitions also when the system has a <sys/socket.h>.
30861         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30862         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30863         In C++, define a namespaced alias symbol.
30864         * modules/sys_socket (Depends-on): Add c++defs.
30865         (Makefile.am): Update sys/socket.h rule.
30866
30867         sys_select: Avoid #define replacements in C++ mode.
30868         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30869         definitions also when the system has a <sys/select.h>.
30870         (select): In C++, define a namespaced alias symbol.
30871         * modules/sys_select (Depends-on): Add c++defs.
30872         (Makefile.am): Update sys/select.h rule.
30873
30874         sys_ioctl: Avoid #define replacements in C++ mode.
30875         * lib/sys_ioctl.in.h: Include c++defs.h.
30876         (ioctl): In C++, define a namespaced alias symbol.
30877         * modules/sys_ioctl (Depends-on): Add c++defs.
30878         (Makefile.am): Update sys/ioctl.h rule.
30879
30880         string: Avoid #define replacements in C++ mode.
30881         * lib/string.in.h: Include c++defs.h.
30882         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30883         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30884         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30885         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30886         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30887         * modules/string (Depends-on): Add c++defs.
30888         (Makefile.am): Update string.h rule.
30889
30890         stdlib: Avoid #define replacements in C++ mode.
30891         * lib/stdlib.in.h: Include c++defs.h.
30892         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30893         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30894         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30895         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30896         symbol.
30897         * modules/stdlib (Depends-on): Add c++defs.
30898         (Makefile.am): Update stdlib.h rule.
30899
30900         stdio: Avoid #define replacements in C++ mode.
30901         * lib/stdio.in.h: Include c++defs.h.
30902         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30903         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30904         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30905         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30906         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30907         namespaced alias symbol.
30908         * modules/stdio (Depends-on): Add c++defs.
30909         (Makefile.am): Update stdio.h rule.
30910
30911         spawn: Avoid #define replacements in C++ mode.
30912         * lib/spawn.in.h: Include c++defs.h.
30913         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30914         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30915         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30916         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30917         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30918         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30919         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30920         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30921         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30922         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30923         In C++, define a namespaced alias symbol.
30924         * modules/spawn (Depends-on): Add c++defs.
30925         (Makefile.am): Update spawn.h rule.
30926
30927         signal: Avoid #define replacements in C++ mode.
30928         * lib/signal.in.h: Include c++defs.h.
30929         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30930         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30931         namespaced alias symbol.
30932         * modules/signal (Depends-on): Add c++defs.
30933         (Makefile.am): Update signal.h rule.
30934
30935         search: Avoid #define replacements in C++ mode.
30936         * lib/search.in.h: Include c++defs.h.
30937         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30938         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30939         symbol.
30940         * modules/search (Depends-on): Add c++defs.
30941         (Makefile.am): Update search.h rule.
30942
30943         math: Avoid #define replacements in C++ mode.
30944         * lib/math.in.h: Include c++defs.h.
30945         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30946         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30947         trunc, truncl): In C++, define a namespaced alias symbol.
30948         * modules/math (Depends-on): Add c++defs.
30949         (Makefile.am): Update math.h rule.
30950
30951         locale: Avoid #define replacements in C++ mode.
30952         * lib/locale.in.h: Include c++defs.h.
30953         (duplocale): In C++, define a namespaced alias symbol.
30954         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30955         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30956         * modules/locale (Depends-on): Add c++defs.
30957         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30958
30959         langinfo: Avoid #define replacements in C++ mode.
30960         * lib/langinfo.in.h: Include c++defs.h.
30961         (nl_langinfo): In C++, define a namespaced alias symbol.
30962         * modules/langinfo (Depends-on): Add c++defs.
30963         (Makefile.am): Update langinfo.h rule.
30964
30965         iconv-h: Avoid #define replacements in C++ mode.
30966         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30967         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30968         symbol.
30969         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30970         whenever iconv is present.
30971         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30972         (Makefile.am): Update iconv.h rule.
30973
30974         glob: Avoid #define replacements in C++ mode.
30975         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30976         (_gl_glob_errfunc_fn): New type.
30977         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30978         symbol.
30979         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30980         (Makefile.am): Update glob.h rule.
30981
30982         fcntl-h: Avoid #define replacements in C++ mode.
30983         * lib/fcntl.in.h: Include c++defs.h.
30984         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30985         * modules/fcntl-h (Depends-on): Add c++defs.
30986         (Makefile.am): Update fcntl.h rule.
30987
30988         dirent: Avoid #define replacements in C++ mode.
30989         * lib/dirent.in.h: Include c++defs.h.
30990         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30991         namespaced alias symbol.
30992         (dirfd): Update declaration.
30993         * modules/dirent (Depends-on): Add c++defs.
30994         (Makefile.am): Update dirent.h rule.
30995
30996         ctype: Make it usable in C++ code.
30997         * lib/ctype.in.h: Include c++defs.h.
30998         (isblank): Declare as extern "C".
30999         * modules/ctype (Depends-on): Add c++defs.
31000         (Makefile.am): Update ctype.h rule.
31001
31002         New module 'c++defs'.
31003         * modules/c++defs: New file.
31004         * build-aux/c++defs.h: New file.
31005         Reported by John W. Eaton <jwe@gnu.org>.
31006
31007 2010-03-07  Bruno Haible  <bruno@clisp.org>
31008
31009         logb: Provide missing declaration for Cygwin.
31010         * lib/math.in.h (logb): New declaration.
31011         * m4/logb.m4: New file.
31012         * modules/logb (Files): Add m4/logb.m4.
31013         (Depends-on): Add math.
31014         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31015         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31016         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31017         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31018         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31019
31020 2010-03-07  Bruno Haible  <bruno@clisp.org>
31021
31022         Fix test-cond link error.
31023         * tests/test-cond.c: Include <stdio.h>.
31024
31025 2010-03-07  Bruno Haible  <bruno@clisp.org>
31026
31027         Fix test-dirent-safer link error.
31028         * modules/dirent-safer-tests (Makefile.am): Define
31029         test_dirent_safer_LDADD.
31030
31031 2010-03-07  Bruno Haible  <bruno@clisp.org>
31032
31033         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31034         among default module list.
31035
31036 2010-03-07  Bruno Haible  <bruno@clisp.org>
31037
31038         Fix link error on platforms with GNU libiconv.
31039         * modules/unistr/u8-strcoll-tests (Makefile): Define
31040         test_u8_strcoll_LDADD.
31041         * modules/unistr/u16-strcoll-tests (Makefile): Define
31042         test_u16_strcoll_LDADD.
31043         * modules/unistr/u32-strcoll-tests (Makefile): Define
31044         test_u32_strcoll_LDADD.
31045
31046 2010-03-07  Bruno Haible  <bruno@clisp.org>
31047
31048         Use POSIX declarations for socket functions.
31049         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31050         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31051         rpl_sendto): Change declaration to match POSIX.
31052         * lib/connect.c (rpl_connect): Likewise.
31053         * lib/accept.c (rpl_accept): Likewise.
31054         * lib/bind.c (rpl_bind): Likewise.
31055         * lib/getpeername.c (rpl_getpeername): Likewise.
31056         * lib/getsockname.c (rpl_getsockname): Likewise.
31057         * lib/recv.c (rpl_recv): Likewise.
31058         * lib/send.c (rpl_send): Likewise.
31059         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31060         * lib/sendto.c (rpl_sendto): Likewise.
31061
31062 2010-03-06  Bruno Haible  <bruno@clisp.org>
31063
31064         Clarify access, euidaccess, faccessat.
31065         * doc/posix-functions/faccessat.texi: Mention security problem under
31066         "Other problems", not "Portability problems".
31067         * doc/posix-functions/access.texi: Likewise. Mention a related security
31068         problem.
31069         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31070         * lib/euidaccess.c: Add comments about platforms.
31071         * lib/unistd.in.h (access, euidaccess): Add warnings.
31072
31073 2010-03-07  Bruno Haible  <bruno@clisp.org>
31074
31075         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31076         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31077         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31078         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31079         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31080         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31081         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31082         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31083         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31084         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31085         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31086         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31087         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31088         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31089         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31090         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31091         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31092         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31093         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31094         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31095         Likewise.
31096         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31097         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31098         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31099         Likewise.
31100         * tests/test-spawn.c (main): Make it work when
31101         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31102
31103 2010-03-07  Bruno Haible  <bruno@clisp.org>
31104
31105         Fix incorrect Makefile.am generation in German locale.
31106         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31107         Execute sed command with character range in C locale.
31108
31109 2010-03-06  Bruno Haible  <bruno@clisp.org>
31110
31111         Tests for module 'iconv-h'.
31112         * modules/iconv-h-tests: New file.
31113         * tests/test-iconv-h.c: New file.
31114
31115         New module 'iconv-h'.
31116         * modules/iconv-h: New file.
31117         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31118         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31119         (configure.ac): Remove gl_ICONV_H.
31120         (Makefile.am): Remove rule for iconv.h.
31121
31122 2010-03-06  Bruno Haible  <bruno@clisp.org>
31123
31124         More consistent naming of *.m4 files.
31125         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31126         * modules/wctype (Files): Update.
31127
31128         More consistent naming of *.m4 files.
31129         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31130         * modules/wchar (Files): Update.
31131
31132 2010-03-06  Jim Meyering  <meyering@redhat.com>
31133
31134         euidaccess: relax license to LGPLv2+
31135         * modules/euidaccess (License): Relax to LGPLv2+.
31136
31137 2010-03-06  Bruno Haible  <bruno@clisp.org>
31138
31139         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31140         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31141         (Makefile.am): Augment lib_SOURCES instead.
31142
31143 2010-03-04  Jim Meyering  <meyering@redhat.com>
31144
31145         utime: remove obsolete module
31146         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31147         unnecessary for years, and has been marked as obsolete for 10 months.
31148         * modules/utime: Remove file.
31149         * lib/utime.c: Remove file.
31150         * m4/utime.m4: Remove file.
31151         * m4/utimes-null.m4: Remove file.
31152         * doc/posix-functions/utime.texi (utime): Remove reference to
31153         the module.  Move the sole "fixed by gnulib" item into the
31154         "problems not fixed by Gnulib" list.
31155         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31156
31157 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31158
31159         * modules/exit (License): Relax license to LGPLv2+.
31160         (Status): Mark as obsolete.
31161         * NEWS: Mention deprecated 'exit' module.
31162         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31163         of now obsolete 'exit'.
31164
31165 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31166
31167         fts-lgpl: remove unused module
31168         * modules/fts-lgpl: Remove.
31169         * MODULES.html.sh (func_all_modules): Adjust.
31170         * check-module (find_included_lib_files): Adjust.
31171         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31172
31173 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31174
31175         copy-acl: enhance Solaris ACL error handling
31176         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31177         * lib/set-mode-acl.c (qset_acl): Likewise.
31178
31179 2010-03-02  Bruno Haible  <bruno@clisp.org>
31180
31181         spawn: Don't override the system defined values on FreeBSD 8.
31182         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31183         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31184         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31185         if HAVE_POSIX_SPAWN is 1.
31186         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31187
31188 2010-03-01  Bruno Haible  <bruno@clisp.org>
31189
31190         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31191         regarding Automake.
31192
31193 2010-02-25  Bruno Haible  <bruno@clisp.org>
31194
31195         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31196         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31197         setting, not afterwards.
31198         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31199
31200 2010-02-24  Eric Blake  <eblake@redhat.com>
31201
31202         bootstrap, git-version-gen: use timestamp
31203         * build-aux/git-version-gen (scriptversion): Force UTC.
31204         * build-aux/bootstrap (scriptversion): New variable.
31205
31206         bootstrap: allow older git
31207         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31208         older than 1.6.4.  Requested by the libvirt project.
31209
31210 2010-02-23  Eric Blake  <eblake@redhat.com>
31211
31212         warn-on-use: work with old autoconf
31213         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31214         AS_VAR semantics of autoconf 2.60.
31215         Reported by Bruno Haible.
31216
31217         bootstrap: improve some comments
31218         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31219         clarification comments.
31220
31221         gettimeofday: provide correct function
31222         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31223         when replacement is declared, otherwise provide gettimeofday.
31224         Reported by Michael Goffioul.
31225
31226 2010-02-23  Jim Meyering  <meyering@redhat.com>
31227
31228         lib-ignore: relax license to "unlimited", not LGPLv2+
31229         * modules/lib-ignore (License): Relax to "unlimited".
31230
31231 2010-02-23  Jim Meyering  <meyering@redhat.com>
31232
31233         lib-ignore: relax license to LGPLv2+
31234         * modules/lib-ignore (License): Relax to LGPLv2+.
31235
31236 2010-02-22  Eric Blake  <eblake@redhat.com>
31237
31238         lseek: avoid bash 3.2 broken pipe bug
31239         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31240         warning from bash 3.2.
31241         Reported by Ben Pfaff, with analysis from Bruno Haible.
31242
31243         bootstrap: support non-FSF copyright holder
31244         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31245         bootstrap.conf override of COPYRIGHT_HOLDER.
31246         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31247
31248         bootstrap: interoperate with gettext 0.14.1
31249         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31250
31251         bootstrap: allow for alternate submodule location
31252         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31253         hardcoding submodule location.
31254         (gnulib_mk): Allow direct use of Makefile.am.
31255
31256         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31257         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31258         rather than reconfiguring where the submodule points.
31259
31260         gettimeofday: restore support for platforms that lack function
31261         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31262         replacement if function is missing.
31263         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31264         * modules/sys_time (Makefile.am): Substitute it.
31265         * lib/sys_time.in.h (gettimeofday): Check it.
31266         Reported by Michael Goffioul.
31267
31268 2010-02-21  Bruno Haible  <bruno@clisp.org>
31269
31270         * lib/stdio.in.h (obstack_printf): Fix typo.
31271
31272 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31273
31274         vc-list-files: use bzr ls's -R option
31275         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31276         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31277
31278 2010-02-21  Jim Meyering  <meyering@redhat.com>
31279
31280         init.sh: fix EXEEXT shims to work also for names like test-prog
31281         * tests/init.sh: Re-exec a better shell, when needed.
31282         If the current shell lacks support for posix $(...), an init.sh-using
31283         test will now try to find a shell that supports that.  If EXEEXT is
31284         nonempty, we also require support for hyphen-in-alias-name and shell
31285         substitutions like ${var#glob}.  Failure to find such a shell results
31286         in a skipped test.
31287
31288 2010-02-21  Bruno Haible  <bruno@clisp.org>
31289
31290         Really work around around "broken pipe" error message from bash 3.2.
31291         * gnulib-tool (func_reset_sigpipe): Remove function.
31292         (echo): In bash 3.2, define to a function that uses printf.
31293         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31294
31295 2010-02-20  Bruno Haible  <bruno@clisp.org>
31296
31297         Restore support for automake 1.9.6 with autoconf 2.61.
31298         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31299         Reported by James Youngman <jay@gnu.org>.
31300
31301 2010-02-20  Bruno Haible  <bruno@clisp.org>
31302
31303         Improve *printf warning condition.
31304         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31305         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31306         and the function is overridden due to SIGPIPE emulation.
31307
31308 2010-02-20  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/stdio.in.h: Tweak comments.
31311
31312 2010-02-19  Bruno Haible  <bruno@clisp.org>
31313
31314         Make it easier to find modules. New gnulib-tool option '--find'.
31315         * gnulib-tool: New option --find.
31316         (func_usage): Document it.
31317         (func_sanitize_modulelist): New function, extracted from
31318         func_all_modules.
31319         (func_all_modules): Invoke it.
31320         * doc/gnulib-tool.texi (Which modules?): New node.
31321
31322 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31323
31324         * lib/sys_select.in.h: Provide select replacement even if
31325         sys/select.h exists on a system, for Interix.
31326
31327 2010-02-18  Jim Meyering  <meyering@redhat.com>
31328
31329         init.sh: don't use $(...) just yet
31330         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31331         to accommodate e.g., Solaris' /bin/sh.
31332
31333 2010-02-17  Bruno Haible  <bruno@clisp.org>
31334
31335         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31336         Reported by Ludovic Courtès <ludo@gnu.org>.
31337
31338 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31339
31340         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31341         linking with -lintl.
31342
31343 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31344
31345         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31346         if not provided by the system's netdb.h.  Reported by
31347         ludo@gnu.org (Ludovic Courtès).
31348
31349 2010-02-15  Jim Meyering  <meyering@redhat.com>
31350
31351         init.sh: improve portability and efficiency
31352         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31353         "dummy" in a for loop.
31354         Use '!', not '^' to select the complement of a character set used
31355         in a "case" statement.
31356         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31357         Suggestions from Eric Blake.
31358
31359         init.sh: automatically accommodate programs with the .exe suffix
31360         Automatically arrange for an invocation of "prog" to execute the
31361         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31362         may use the simpler "prog", yet still work when built on a system
31363         that requires specifying the added suffix.
31364         Do this by constructing a function named "prog" that invokes
31365         "prog.exe" for each .exe file in selected directories.
31366         * tests/init.sh (find_exe_basenames_): New function.
31367         (create_exe_shim_functions_): New function.
31368         (path_prepend_): Use it.
31369
31370         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31371         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31372         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31373
31374 2010-02-14  Jim Meyering  <meyering@redhat.com>
31375
31376         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31377         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31378         (sc_prohibit_hash_pjw_without_use): New rule.
31379
31380         maint.mk: allow the default upload destination dir to be overridden
31381         * top/maint.mk (upload_dest_dir_): Define with a default that
31382         preserves the status quo.
31383         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31384         Reported by Peter Simons.
31385
31386         maint.mk: prohibit inclusion of "hash.h" without_use
31387         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31388
31389 2010-02-10  Jim Meyering  <meyering@redhat.com>
31390
31391         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31392         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31393
31394 2010-02-09  Eric Blake  <ebb9@byu.net>
31395         and Bruno Haible  <bruno@clisp.org>
31396
31397         obstack-printf-posix: ensure declaration
31398         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31399         extracted from gl_FUNC_OBSTACK_PRINTF.
31400         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31401         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31402         Likewise.
31403         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31404         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31405         0.
31406
31407 2010-02-08  Bruno Haible  <bruno@clisp.org>
31408
31409         gnulib-tool: Fix typo in 2010-02-07 commit.
31410         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31411         Reported by Eric Blake.
31412
31413 2010-02-07  Bruno Haible  <bruno@clisp.org>
31414
31415         gnulib-tool: Fix up caching patches.
31416         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31417         option --no-cache. Use associative arrays when supported by the shell.
31418         (sed_comments): New variable.
31419         (modcache): Renamed from do_cache.
31420         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31421         abbreviate unnecessarily.
31422         (have_associative): New variable.
31423         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31424         way also for ksh and zsh.
31425         (func_init_sed_convert_to_cache_statements): New function, extracted
31426         from func_cache_lookup_module. Add support for associative arrays.
31427         Don't set the c_MODULE_cached variable here. Ignore all lines before
31428         the first field header. Remove only the final newline, not all trailing
31429         newlines. Support empty fields correctly. Limit the use of 'eval' to
31430         assignments.
31431         (func_get_description, func_get_status, func_get_notice,
31432         func_get_applicability, func_get_filelist, func_get_dependencies,
31433         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31434         func_get_automake_snippet, func_get_include_directive,
31435         func_get_link_directive, func_get_license, func_get_maintainer):
31436         Update documentation. List the unoptimized code first. Add support for
31437         associative arrays. Limit the use of 'eval' to assignments.
31438         (func_get_applicability): Undo stylistic pessimisations.
31439         (func_get_automake_snippet, func_get_include_directive): Reduce code
31440         duplication.
31441         (func_modules_transitive_closure, func_modules_add_dummy,
31442         func_modules_notice, func_modules_to_filelist, func_add_file,
31443         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31444         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31445         func_create_testdir, func_create_megatestdir): Update documentation.
31446
31447 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31448
31449         * gnulib-tool (func_cache_lookup_module): Store the module name
31450         belonging to the cache variable; error out if two different
31451         module names map to the same cache variable name.
31452
31453 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31454
31455         gnulib-tool: Make caching optional.
31456         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31457         Update matching short versions of --no-changelog.
31458         (func_usage): Update.
31459         (sed_extract_cache_prog): Renamed from ...
31460         (sed_extract_prog): ... this; revert to old extraction script.
31461         (func_get_description, func_get_status)
31462         (func_get_notice, func_get_applicability, func_get_filelist)
31463         (func_get_dependencies, func_get_autoconf_early_snippet)
31464         (func_get_autoconf_snippet, func_get_automake_snippet)
31465         (func_get_include_directive, func_get_link_directive)
31466         (func_get_license, func_get_maintainer): If $do_cache is false,
31467         use old, non-caching extraction scripts.
31468         Suggestion by Bruno Haible.
31469
31470 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31471
31472         gnulib-tool: cache module metainformation.
31473         * gnulib-tool (sed_extract_prog): Match newline before each
31474         header, and rewrite header to a shell variable suffix.
31475         (func_cache_var, func_cache_lookup_module): New functions,
31476         to turn a module name into a cache variable prefix, and to
31477         look up and cache module metainformation.
31478         (func_get_description, func_get_status)
31479         (func_get_notice, func_get_applicability, func_get_filelist)
31480         (func_get_dependencies, func_get_autoconf_early_snippet)
31481         (func_get_autoconf_snippet, func_get_automake_snippet)
31482         (func_get_include_directive, func_get_link_directive)
31483         (func_get_license, func_get_maintainer): Use
31484         func_cache_lookup_module.
31485
31486 2010-02-07  Bruno Haible  <bruno@clisp.org>
31487
31488         fnctl: Fix missing dependency.
31489         * modules/fcntl (Depends-on): Add getdtablesize.
31490         Reported by John W. Eaton <jwe@gnu.org>.
31491
31492 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31493
31494         Argp: fix recognition of short alias options.
31495
31496         * lib/argp-parse.c (convert_options): Fix improper use of
31497         `|' between character values.
31498         * tests/test-argp.c (group1_option): New alias option
31499         --read (-r).
31500         (group1_parser): Special handling for 'r'.
31501         (test15): New test case.
31502         (test_fun): Add test15.
31503         * tests/test-argp-2.sh: Update expected --help and --usage
31504         outputs.
31505
31506 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31507
31508         * tests/test-argp.c: Fix indentation.
31509
31510 2010-02-04  Eric Blake  <ebb9@byu.net>
31511
31512         gettimeofday: expose type of second argument
31513         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31514         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31515         * tests/test-gettimeofday.c: Use it to silence warning.
31516         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31517         the issue.
31518
31519 2010-02-03  Jim Meyering  <meyering@redhat.com>
31520
31521         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31522         * lib/regcomp.c (TYPE_SIGNED): Define.
31523         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31524
31525         regcomp.c: avoid a new -Wshadow warning
31526         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31527
31528 2010-02-01  Jim Meyering  <meyering@redhat.com>
31529
31530         removing useless parentheses in cpp #define directives
31531         For motivation, see commit c0221df4, "define STREQ(a,b)
31532         consistently, removing useless parentheses"
31533         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31534         * lib/mountlist.c (MNT_IGNORE): Likewise.
31535         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31536
31537 2010-02-01  Eric Blake  <ebb9@byu.net>
31538
31539         sys_time: use link-warning
31540         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31541         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31542         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31543         * modules/sys_time (Depends-on): Add warn-on-use.
31544         (Makefile.am): Always build replacement.
31545         (configure.ac): Update substitutions.
31546         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31547         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31548         bother with SYS_TIME_H.
31549         * modules/gettimeofday (configure.ac): Declare indicator.
31550         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31551         in use.
31552
31553         closein-tests: silence compiler warning
31554         * tests/test-closein.c (main): Ignore fread result.
31555         * modules/closein-tests (Depends-on): Add ignore-value.
31556
31557         tests: silence warning about system return
31558         * tests/test-areadlink-with-size.c (main): Ignore system result.
31559         * tests/test-areadlink.c (main): Likewise.
31560         * tests/test-areadlinkat-with-size.c (main): Likewise.
31561         * tests/test-areadlinkat.c (main): Likewise.
31562         * tests/test-canonicalize-lgpl.c (main): Likewise.
31563         * tests/test-canonicalize.c (main): Likewise.
31564         * tests/test-chown.c (main): Likewise.
31565         * tests/test-fchownat.c (main): Likewise.
31566         * tests/test-fdutimensat.c (main): Likewise.
31567         * tests/test-fstatat.c (main): Likewise.
31568         * tests/test-futimens.c (main): Likewise.
31569         * tests/test-lchown.c (main): Likewise.
31570         * tests/test-link.c (main): Likewise.
31571         * tests/test-linkat.c (main): Likewise.
31572         * tests/test-lstat.c (main): Likewise.
31573         * tests/test-mkdir.c (main): Likewise.
31574         * tests/test-mkdirat.c (main): Likewise.
31575         * tests/test-mkfifo.c (main): Likewise.
31576         * tests/test-mkfifoat.c (main): Likewise.
31577         * tests/test-mknod.c (main): Likewise.
31578         * tests/test-readlink.c (main): Likewise.
31579         * tests/test-remove.c (main): Likewise.
31580         * tests/test-rename.c (main): Likewise.
31581         * tests/test-renameat.c (main): Likewise.
31582         * tests/test-rmdir.c (main): Likewise.
31583         * tests/test-symlink.c (main): Likewise.
31584         * tests/test-symlinkat.c (main): Likewise.
31585         * tests/test-unlink.c (main): Likewise.
31586         * tests/test-unlinkat.c (main): Likewise.
31587         * tests/test-utimens.c (main): Likewise.
31588         * tests/test-utimensat.c (main): Likewise.
31589         * modules/areadlink-tests (Depends-on): Add ignore-value.
31590         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31591         * modules/areadlinkat-tests (Depends-on): Likewise.
31592         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31593         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31594         * modules/canonicalize-tests (Depends-on): Likewise.
31595         * modules/chown-tests (Depends-on): Likewise.
31596         * modules/fdutimensat-tests (Depends-on): Likewise.
31597         * modules/futimens-tests (Depends-on): Likewise.
31598         * modules/lchown-tests (Depends-on): Likewise.
31599         * modules/link-tests (Depends-on): Likewise.
31600         * modules/linkat-tests (Depends-on): Likewise.
31601         * modules/lstat-tests (Depends-on): Likewise.
31602         * modules/mkdir-tests (Depends-on): Likewise.
31603         * modules/mkfifo-tests (Depends-on): Likewise.
31604         * modules/mkfifoat-tests (Depends-on): Likewise.
31605         * modules/mknod-tests (Depends-on): Likewise.
31606         * modules/openat-tests (Depends-on): Likewise.
31607         * modules/readlink-tests (Depends-on): Likewise.
31608         * modules/remove-tests (Depends-on): Likewise.
31609         * modules/rename-tests (Depends-on): Likewise.
31610         * modules/renameat-tests (Depends-on): Likewise.
31611         * modules/rmdir-tests (Depends-on): Likewise.
31612         * modules/symlink-tests (Depends-on): Likewise.
31613         * modules/symlinkat-tests (Depends-on): Likewise.
31614         * modules/unlink-tests (Depends-on): Likewise.
31615         * modules/utimens-tests (Depends-on): Likewise.
31616         * modules/utimensat-tests (Depends-on): Likewise.
31617
31618 2010-01-31  Bruno Haible  <bruno@clisp.org>
31619
31620         Perform the same test for many <math.h> functions.
31621         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31622         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31623         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31624         of gl_MATHFUNC.
31625         * modules/acos (configure.ac): Likewise.
31626         * modules/asin (configure.ac): Likewise.
31627         * modules/atan (configure.ac): Likewise.
31628         * modules/atan2 (configure.ac): Likewise.
31629         * modules/cbrt (configure.ac): Likewise.
31630         * modules/copysign (configure.ac): Likewise.
31631         * modules/cos (configure.ac): Likewise.
31632         * modules/cosh (configure.ac): Likewise.
31633         * modules/erf (configure.ac): Likewise.
31634         * modules/erfc (configure.ac): Likewise.
31635         * modules/exp (configure.ac): Likewise.
31636         * modules/fmod (configure.ac): Likewise.
31637         * modules/hypot (configure.ac): Likewise.
31638         * modules/j0 (configure.ac): Likewise.
31639         * modules/j1 (configure.ac): Likewise.
31640         * modules/jn (configure.ac): Likewise.
31641         * modules/lgamma (configure.ac): Likewise.
31642         * modules/log (configure.ac): Likewise.
31643         * modules/log10 (configure.ac): Likewise.
31644         * modules/log1p (configure.ac): Likewise.
31645         * modules/pow (configure.ac): Likewise.
31646         * modules/remainder (configure.ac): Likewise.
31647         * modules/sin (configure.ac): Likewise.
31648         * modules/sinh (configure.ac): Likewise.
31649         * modules/tan (configure.ac): Likewise.
31650         * modules/tanh (configure.ac): Likewise.
31651         * modules/y0 (configure.ac): Likewise.
31652         * modules/y1 (configure.ac): Likewise.
31653         * modules/yn (configure.ac): Likewise.
31654         Suggested by Paolo Bonzini.
31655
31656 2010-01-31  Bruno Haible  <bruno@clisp.org>
31657
31658         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31659
31660 2010-01-31  Bruno Haible  <bruno@clisp.org>
31661
31662         Work around getdelim() bug on FreeBSD 8.0.
31663         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31664         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31665         not work.
31666         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31667         is 1.
31668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31669         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31670         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31671         a non-zero size.
31672         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31673
31674 2010-01-31  Bruno Haible  <bruno@clisp.org>
31675
31676         Work around getline() bug on FreeBSD 8.0.
31677         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31678         and a non-zero size.
31679         * tests/test-getline.c (main): Likewise.
31680         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31681         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31682
31683 2010-01-28  Eric Blake  <ebb9@byu.net>
31684
31685         regex: fix build failure
31686         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31687         platforms.
31688
31689 2010-01-28  Jim Meyering  <meyering@redhat.com>
31690
31691         regex: do not ignore memory allocation failure
31692         * lib/regex_internal.c (create_cd_newstate): Detect
31693         re_node_set_init_copy failure.   Extracted from glibc commit
31694         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31695
31696         regex: sync more white-space changes from libc
31697         * lib/regex_internal.c: White-space only changes.
31698         * lib/regexec.c: Likewise.
31699
31700         regex: add many uses of __attribute_warn_unused_result__
31701         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31702         * lib/regexec.c: Likewise.
31703         Extracted from a messy glibc commit.
31704
31705         regcomp.c: spelling and merge-artifact from glibc
31706         * lib/regcomp.c: Merge remainder of glibc's
31707         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31708
31709         regcomp.c: sync white-space changes from glibc
31710         * lib/regcomp.c: Merge to accommodate white space
31711         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31712
31713         regcomp.c: do not ignore internal return values
31714         * lib/regcomp.c: Do not ignore internal return values.
31715         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31716         but without its white-space changes and spelling fixes.
31717
31718         regex_internal.h: define __attribute_warn_unused_result__
31719         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31720
31721         maint: add a syntax-check rule to check for vulnerable Makefile.in
31722         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31723
31724 2010-01-27  Jim Meyering  <meyering@redhat.com>
31725
31726         ncftpput-ftp: clean up spaces
31727         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31728         Remove trailing blanks.
31729
31730 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31731
31732         * build-aux/git-version-gen: Fix copyright statement.
31733         * build-aux/gnupload: Likewise.
31734         * tests/test-arcfour.c: Likewise.
31735         * tests/test-arctwo.c: Likewise.
31736         * tests/test-count-one-bits.c: Likewise.
31737         * tests/test-crc.c: Likewise.
31738         * tests/test-des.c: Likewise.
31739         * tests/test-gc-arcfour.c: Likewise.
31740         * tests/test-gc-arctwo.c: Likewise.
31741         * tests/test-gc-des.c: Likewise.
31742         * tests/test-gc-hmac-md5.c: Likewise.
31743         * tests/test-gc-hmac-sha1.c: Likewise.
31744         * tests/test-gc-md2.c: Likewise.
31745         * tests/test-gc-md4.c: Likewise.
31746         * tests/test-gc-md5.c: Likewise.
31747         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31748         * tests/test-gc-rijndael.c: Likewise.
31749         * tests/test-gc-sha1.c: Likewise.
31750         * tests/test-gc.c: Likewise.
31751         * tests/test-gethostname.c: Likewise.
31752         * tests/test-gettimeofday.c: Likewise.
31753         * tests/test-hash.c: Likewise.
31754         * tests/test-hmac-md5.c: Likewise.
31755         * tests/test-hmac-sha1.c: Likewise.
31756         * tests/test-md2.c: Likewise.
31757         * tests/test-md4.c: Likewise.
31758         * tests/test-md5.c: Likewise.
31759         * tests/test-memchr.c: Likewise.
31760         * tests/test-memchr2.c: Likewise.
31761         * tests/test-memcmp.c: Likewise.
31762         * tests/test-memmem.c: Likewise.
31763         * tests/test-memrchr.c: Likewise.
31764         * tests/test-rawmemchr.c: Likewise.
31765         * tests/test-read-file.c: Likewise.
31766         * tests/test-rijndael.c: Likewise.
31767         * tests/test-sockets.c: Likewise.
31768         * tests/test-strchrnul.c: Likewise.
31769         * tests/test-strstr.c: Likewise.
31770         * tests/test-strtod.c: Likewise.
31771         * build-aux/ncftpput-ftp: Likewise.
31772
31773 2010-01-26  Eric Blake  <ebb9@byu.net>
31774
31775         ignore-value: update recommended header name
31776         * modules/ignore-value (Include): Only use <> for headers that
31777         exist in glibc.
31778
31779 2010-01-26  Jim Meyering  <meyering@redhat.com>
31780
31781         test-userspec.c: avoid compiler warnings
31782         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31783         and "initialization discards qualifiers..." warnings.
31784         Put the first "uid" in its own scope, and make char* members "const".
31785
31786 2010-01-25  Bruno Haible  <bruno@clisp.org>
31787
31788         gnulib-tool: Make warning diagnostics consistent.
31789         * gnulib-tool (func_warning): New function.
31790         Use it everywhere where gnulib-tool produces output to stderr and it is
31791         not a fatal error.
31792
31793 2010-01-25  Bruno Haible  <bruno@clisp.org>
31794
31795         Fix test dependencies.
31796         * modules/xstrtol-tests (Depends-on): Add inttypes.
31797         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31798
31799 2010-01-25 Pádraig Brady <P@draigBrady.com>
31800
31801         syntax-check: detect incorrect boolean macro values in config.h
31802         * modules/maintainer-makefile (configure.ac): Parameterize the location
31803         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31804         The logic is from Eric Blake and the location indicated by Jim Meyering.
31805         Note the more natural CONFIG_HEADER name is prohibited by automake
31806         for backwards compatibility reasons.
31807         * top/maint.mk (sc_Wundef_boolean): New rule.
31808
31809 2010-01-25  Jim Meyering  <meyering@redhat.com>
31810
31811         bootstrap: detect MacOS 10.6's shasum, too
31812         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31813         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31814
31815 2010-01-23  Jim Meyering  <meyering@redhat.com>
31816
31817         xstrtoll: new module
31818         * modules/xstrtoll: New file.
31819         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31820         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31821         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31822         ./configure fails if you use this module and lack "long long".
31823         * modules/xstrtoll-tests: New module.
31824         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31825         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31826         new init.sh-based test framework.
31827
31828 2010-01-24  Bruno Haible  <bruno@clisp.org>
31829
31830         Tests for module 'yn'.
31831         * modules/yn-tests: New file.
31832         * tests/test-yn.c: New file.
31833
31834         Tests for module 'y1'.
31835         * modules/y1-tests: New file.
31836         * tests/test-y1.c: New file.
31837
31838         Tests for module 'y0'.
31839         * modules/y0-tests: New file.
31840         * tests/test-y0.c: New file.
31841
31842         Tests for module 'tanh'.
31843         * modules/tanh-tests: New file.
31844         * tests/test-tanh.c: New file.
31845
31846         Tests for module 'tan'.
31847         * modules/tan-tests: New file.
31848         * tests/test-tan.c: New file.
31849
31850         Tests for module 'sqrt'.
31851         * modules/sqrt-tests: New file.
31852         * tests/test-sqrt.c: New file.
31853
31854         Tests for module 'sinh'.
31855         * modules/sinh-tests: New file.
31856         * tests/test-sinh.c: New file.
31857
31858         Tests for module 'sin'.
31859         * modules/sin-tests: New file.
31860         * tests/test-sin.c: New file.
31861
31862         Tests for module 'rint'.
31863         * modules/rint-tests: New file.
31864         * tests/test-rint.c: New file.
31865
31866         Tests for module 'remainder'.
31867         * modules/remainder-tests: New file.
31868         * tests/test-remainder.c: New file.
31869
31870         Tests for module 'pow'.
31871         * modules/pow-tests: New file.
31872         * tests/test-pow.c: New file.
31873
31874         Tests for module 'nextafter'.
31875         * modules/nextafter-tests: New file.
31876         * tests/test-nextafter.c: New file.
31877
31878         Tests for module 'modf'.
31879         * modules/modf-tests: New file.
31880         * tests/test-modf.c: New file.
31881
31882         Tests for module 'logb'.
31883         * modules/logb-tests: New file.
31884         * tests/test-logb.c: New file.
31885
31886         Tests for module 'log1p'.
31887         * modules/log1p-tests: New file.
31888         * tests/test-log1p.c: New file.
31889
31890         Tests for module 'log10'.
31891         * modules/log10-tests: New file.
31892         * tests/test-log10.c: New file.
31893
31894         Tests for module 'log'.
31895         * modules/log-tests: New file.
31896         * tests/test-log.c: New file.
31897
31898         Tests for module 'lgamma'.
31899         * modules/lgamma-tests: New file.
31900         * tests/test-lgamma.c: New file.
31901
31902         Tests for module 'ldexp'.
31903         * modules/ldexp-tests: New file.
31904         * tests/test-ldexp.c: New file.
31905
31906         Tests for module 'jn'.
31907         * modules/jn-tests: New file.
31908         * tests/test-jn.c: New file.
31909
31910         Tests for module 'j1'.
31911         * modules/j1-tests: New file.
31912         * tests/test-j1.c: New file.
31913
31914         Tests for module 'j0'.
31915         * modules/j0-tests: New file.
31916         * tests/test-j0.c: New file.
31917
31918         Tests for module 'hypot'.
31919         * modules/hypot-tests: New file.
31920         * tests/test-hypot.c: New file.
31921
31922         Tests for module 'fmod'.
31923         * modules/fmod-tests: New file.
31924         * tests/test-fmod.c: New file.
31925
31926         Tests for module 'fabs'.
31927         * modules/fabs-tests: New file.
31928         * tests/test-fabs.c: New file.
31929
31930         Tests for module 'exp'.
31931         * modules/exp-tests: New file.
31932         * tests/test-exp.c: New file.
31933
31934         Tests for module 'erfc'.
31935         * modules/erfc-tests: New file.
31936         * tests/test-erfc.c: New file.
31937
31938         Tests for module 'erf'.
31939         * modules/erf-tests: New file.
31940         * tests/test-erf.c: New file.
31941
31942         Tests for module 'cosh'.
31943         * modules/cosh-tests: New file.
31944         * tests/test-cosh.c: New file.
31945
31946         Tests for module 'cos'.
31947         * modules/cos-tests: New file.
31948         * tests/test-cos.c: New file.
31949
31950         Tests for module 'copysign'.
31951         * modules/copysign-tests: New file.
31952         * tests/test-copysign.c: New file.
31953
31954         Tests for module 'cbrt'.
31955         * modules/cbrt-tests: New file.
31956         * tests/test-cbrt.c: New file.
31957
31958         Tests for module 'atan2'.
31959         * modules/atan2-tests: New file.
31960         * tests/test-atan2.c: New file.
31961
31962         Tests for module 'atan'.
31963         * modules/atan-tests: New file.
31964         * tests/test-atan.c: New file.
31965
31966         Tests for module 'asin'.
31967         * modules/asin-tests: New file.
31968         * tests/test-asin.c: New file.
31969
31970         Tests for module 'acos'.
31971         * modules/acos-tests: New file.
31972         * tests/test-acos.c: New file.
31973
31974 2010-01-24  Bruno Haible  <bruno@clisp.org>
31975
31976         Fix tests for common <math.h> functions.
31977         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31978         code snippet that references the function pointer, rather than merely
31979         calling the function. Substitute the FUNC_LIBM variable.
31980         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31981         * modules/acos (configure.ac): Likewise.
31982         * modules/asin (configure.ac): Likewise.
31983         * modules/atan (configure.ac): Likewise.
31984         * modules/atan2 (configure.ac): Likewise.
31985         * modules/cbrt (configure.ac): Likewise.
31986         * modules/copysign (configure.ac): Likewise.
31987         * modules/cos (configure.ac): Likewise.
31988         * modules/cosh (configure.ac): Likewise.
31989         * modules/erf (configure.ac): Likewise.
31990         * modules/erfc (configure.ac): Likewise.
31991         * modules/exp (configure.ac): Likewise.
31992         * modules/fabs (configure.ac): Likewise.
31993         * modules/fmod (configure.ac): Likewise.
31994         * modules/hypot (configure.ac): Likewise.
31995         * modules/j0 (configure.ac): Likewise.
31996         * modules/j1 (configure.ac): Likewise.
31997         * modules/jn (configure.ac): Likewise.
31998         * modules/ldexp (configure.ac): Likewise.
31999         * modules/lgamma (configure.ac): Likewise.
32000         * modules/log (configure.ac): Likewise.
32001         * modules/log10 (configure.ac): Likewise.
32002         * modules/log1p (configure.ac): Likewise.
32003         * modules/logb (configure.ac): Likewise.
32004         * modules/modf (configure.ac): Likewise.
32005         * modules/nextafter (configure.ac): Likewise.
32006         * modules/pow (configure.ac): Likewise.
32007         * modules/remainder (configure.ac): Likewise.
32008         * modules/rint (configure.ac): Likewise.
32009         * modules/sin (configure.ac): Likewise.
32010         * modules/sinh (configure.ac): Likewise.
32011         * modules/tan (configure.ac): Likewise.
32012         * modules/tanh (configure.ac): Likewise.
32013         * modules/y0 (configure.ac): Likewise.
32014         * modules/y1 (configure.ac): Likewise.
32015         * modules/yn (configure.ac): Likewise.
32016
32017 2010-01-24  Bruno Haible  <bruno@clisp.org>
32018
32019         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32020         * tests/test-acosl.c (x): New variable.
32021         (main): Store argument in x and fetch it from x.
32022         * tests/test-asinl.c (x): New variable.
32023         (main): Store argument in x and fetch it from x.
32024         * tests/test-atanl.c (x): New variable.
32025         (main): Store argument in x and fetch it from x.
32026         * tests/test-cosl.c (x): New variable.
32027         (main): Store argument in x and fetch it from x.
32028         * tests/test-expl.c (x): New variable.
32029         (main): Store argument in x and fetch it from x.
32030         * tests/test-logl.c (x): New variable.
32031         (main): Store argument in x and fetch it from x.
32032         * tests/test-sinl.c (x): New variable.
32033         (main): Store argument in x and fetch it from x.
32034         * tests/test-sqrtl.c (x): New variable.
32035         (main): Store argument in x and fetch it from x.
32036         * tests/test-tanl.c (x): New variable.
32037         (main): Store argument in x and fetch it from x.
32038
32039 2010-01-24  Bruno Haible  <bruno@clisp.org>
32040
32041         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32042         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32043         assignments to the initial TESTS_ENVIRONMENT.
32044         * doc/gnulib.texi (Unit test modules): Document it.
32045         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32046         TESTS_ENVIRONMENT.
32047         * modules/btowc-tests (Makefile.am): Likewise.
32048         * modules/c-stack-tests (Makefile.am): Likewise.
32049         * modules/c-strcase-tests (Makefile.am): Likewise.
32050         * modules/copy-file-tests (Makefile.am): Likewise.
32051         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32052         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32053         * modules/mbrtowc-tests (Makefile.am): Likewise.
32054         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32055         * modules/mbscasestr-tests (Makefile.am): Likewise.
32056         * modules/mbschr-tests (Makefile.am): Likewise.
32057         * modules/mbscspn-tests (Makefile.am): Likewise.
32058         * modules/mbsinit-tests (Makefile.am): Likewise.
32059         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32060         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32061         * modules/mbspbrk-tests (Makefile.am): Likewise.
32062         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32063         * modules/mbsrchr-tests (Makefile.am): Likewise.
32064         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32065         * modules/mbsspn-tests (Makefile.am): Likewise.
32066         * modules/mbsstr-tests (Makefile.am): Likewise.
32067         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32068         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32069         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32070         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32071         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32072         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32073         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32074         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32075         * modules/wcrtomb-tests (Makefile.am): Likewise.
32076         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32077         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32078         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32079         assignments from TESTS_ENVIRONMENT.
32080         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32081         augmentation.
32082         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32083         * modules/atexit-tests (Makefile.am): Likewise.
32084         * modules/binary-io-tests (Makefile.am): Likewise.
32085         * modules/closein-tests (Makefile.am): Likewise.
32086         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32087         * modules/exclude-tests (Makefile.am): Likewise.
32088         * modules/fflush-tests (Makefile.am): Likewise.
32089         * modules/fpending-tests (Makefile.am): Likewise.
32090         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32091         * modules/freadahead-tests (Makefile.am): Likewise.
32092         * modules/freadptr-tests (Makefile.am): Likewise.
32093         * modules/freadseek-tests (Makefile.am): Likewise.
32094         * modules/fseek-tests (Makefile.am): Likewise.
32095         * modules/fseeko-tests (Makefile.am): Likewise.
32096         * modules/ftell-tests (Makefile.am): Likewise.
32097         * modules/ftello-tests (Makefile.am): Likewise.
32098         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32099         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32100         * modules/lseek-tests (Makefile.am): Likewise.
32101         * modules/parse-duration-tests (Makefile.am): Likewise.
32102         * modules/perror-tests (Makefile.am): Likewise.
32103         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32104         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32105         * modules/pipe-tests (Makefile.am): Likewise.
32106         * modules/pread-tests (Makefile.am): Likewise.
32107         * modules/printf-posix-tests (Makefile.am): Likewise.
32108         * modules/select-tests (Makefile.am): Likewise.
32109         * modules/sigpipe-tests (Makefile.am): Likewise.
32110         * modules/tsearch-tests (Makefile.am): Likewise.
32111         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32112         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32113         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32114         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32115         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32116         * modules/version-etc-tests (Makefile.am): Likewise.
32117         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32118         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32119         * modules/xalloc-die-tests (Makefile.am): Likewise.
32120         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32121         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32122         * modules/xstrtol-tests (Makefile.am): Likewise.
32123         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32124         * modules/yesno-tests (Makefile.am): Likewise.
32125         Suggested by Jim Meyering.
32126
32127 2010-01-24  Bruno Haible  <bruno@clisp.org>
32128
32129         More documentation.
32130         * doc/gnulib.texi (Writing modules): New chapter.
32131         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32132         the new chapter.
32133
32134 2010-01-24  Jim Meyering  <meyering@redhat.com>
32135
32136         maint.mk: do not prepend "./" after filtering
32137         * top/maint.mk (_prepend_srcdir_prefix): New variable
32138         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32139         "./" when $(srcdir) is ".".
32140
32141         define STREQ(a,b) consistently, removing useless parentheses
32142         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32143         since the only risk is that "a" or "b" contains an unparenthesized
32144         comma, but if either did that, STREQ would have 3 or more arguments.
32145         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32146         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32147         * lib/hash-triple.c (STREQ): Likewise.
32148         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32149         * lib/getugroups.c (STREQ): Likewise.
32150
32151 2010-01-23  Jim Meyering  <meyering@redhat.com>
32152
32153         maint.mk: fix syntax-check in a non-srcdir build directory
32154         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32155         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32156
32157 2010-01-22  Jim Meyering  <meyering@redhat.com>
32158
32159         userspec: add unit tests
32160         * tests/test-userspec.c: New file.
32161         * modules/userspec-tests: Likewise.
32162
32163 2010-01-21  Jim Meyering  <meyering@redhat.com>
32164
32165         maint.mk: handle source file names containing "." robustly
32166         * top/maint.mk (_dot_escaped_srcdir): Define.
32167         (VC_LIST): Use it in LHS of sed substitution.
32168
32169 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32170
32171         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32172         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32173         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32174         from a non-srcdir build.
32175
32176 2010-01-20  Eric Blake  <ebb9@byu.net>
32177
32178         warn-on-use: use instead of link-warning
32179         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32180         * modules/unistd (Depends-on, Makefile.am): Likewise.
32181         * modules/arpa_inet (Depends-on): Replace link-warning with
32182         warn-on-use.
32183         (Makefile.am): Update rules accordingly.
32184         * modules/ctype (Depends-on, Makefile.am): Likewise.
32185         * modules/dirent (Depends-on, Makefile.am): Likewise.
32186         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32187         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32188         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32189         * modules/locale (Depends-on, Makefile.am): Likewise.
32190         * modules/math (Depends-on, Makefile.am): Likewise.
32191         * modules/search (Depends-on, Makefile.am): Likewise.
32192         * modules/signal (Depends-on, Makefile.am): Likewise.
32193         * modules/spawn (Depends-on, Makefile.am): Likewise.
32194         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32195         * modules/string (Depends-on, Makefile.am): Likewise.
32196         * modules/strings (Depends-on, Makefile.am): Likewise.
32197         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32198         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32199         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32200         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32201         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32202         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32203         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32204         * modules/wchar (Depends-on, Makefile.am): Likewise.
32205         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32206         should be poisoned.
32207         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32208         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32209         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32210         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32211         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32212         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32213         * m4/math_h.m4 (gl_MATH_H): Likewise.
32214         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32215         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32216         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32217         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32218         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32219         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32220         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32221         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32222         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32223         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32224         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32225         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32226         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32227         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32228         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32229         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32230         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32231         GL_LINK_WARNING.
32232         * lib/ctype.in.h: Likewise.
32233         * lib/dirent.in.h: Likewise.
32234         * lib/fcntl.in.h: Likewise.
32235         * lib/inttypes.in.h: Likewise.
32236         * lib/langinfo.in.h: Likewise.
32237         * lib/locale.in.h: Likewise.
32238         * lib/math.in.h: Likewise.
32239         * lib/search.in.h: Likewise.
32240         * lib/signal.in.h: Likewise.
32241         * lib/spawn.in.h: Likewise.
32242         * lib/stdio.in.h: Likewise.
32243         * lib/stdlib.in.h: Likewise.
32244         * lib/string.in.h: Likewise.
32245         * lib/strings.in.h: Likewise.
32246         * lib/sys_file.in.h: Likewise.
32247         * lib/sys_ioctl.in.h: Likewise.
32248         * lib/sys_select.in.h: Likewise.
32249         * lib/sys_socket.in.h: Likewise.
32250         * lib/sys_stat.in.h: Likewise.
32251         * lib/sys_times.in.h: Likewise.
32252         * lib/sys_utsname.in.h: Likewise.
32253         * lib/unistd.in.h: Likewise.
32254         * lib/wchar.in.h: Likewise.
32255
32256 2010-01-20  Bruno Haible  <bruno@clisp.org>
32257
32258         Avoid duplicate -lm.
32259         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32260         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32261         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32262         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32263         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32264         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32265         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32266         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32267         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32268         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32269         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32270         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32271         Reported by Paolo Bonzini.
32272
32273 2010-01-19  Bruno Haible  <bruno@clisp.org>
32274
32275         langinfo, nl_langinfo: Relicense under LGPLv2+.
32276         * modules/langinfo (License): Change to LGPLv2+.
32277         * modules/nl_langinfo (License): Likewise.
32278         Patch by David Lutterkort <lutter@redhat.com>.
32279
32280 2010-01-19  Bruno Haible  <bruno@clisp.org>
32281
32282         Avoid compilation error with cc on OSF/1 5.1.
32283         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32284         statement, not before.
32285         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32286
32287 2010-01-18  Bruno Haible  <bruno@clisp.org>
32288
32289         Avoid a link error due to the __printf__ symbol.
32290         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32291         and 2.6.x.
32292         (__format__, __printf__): Remove definitions.
32293         * lib/argp-fmtstream.h: Likewise.
32294         * lib/argp.h: Likewise.
32295         * lib/error.h: Likewise.
32296         * lib/vasnprintf.h: Likewise.
32297         * lib/xprintf.h: Likewise.
32298         * lib/xvasprintf.h: Likewise.
32299         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32300
32301 2010-01-18  Bruno Haible  <bruno@clisp.org>
32302
32303         Tests for module 'tanl'.
32304         * modules/tanl-tests: New file.
32305         * tests/test-tanl.c: New file.
32306
32307         Tests for module 'sqrtl'.
32308         * modules/sqrtl-tests: New file.
32309         * tests/test-sqrtl.c: New file.
32310
32311         Tests for module 'sinl'.
32312         * modules/sinl-tests: New file.
32313         * tests/test-sinl.c: New file.
32314
32315         Tests for module 'logl'.
32316         * modules/logl-tests: New file.
32317         * tests/test-logl.c: New file.
32318
32319         Tests for module 'expl'.
32320         * modules/expl-tests: New file.
32321         * tests/test-expl.c: New file.
32322
32323         Tests for module 'cosl'.
32324         * modules/cosl-tests: New file.
32325         * tests/test-cosl.c: New file.
32326
32327         Tests for module 'atanl'.
32328         * modules/atanl-tests: New file.
32329         * tests/test-atanl.c: New file.
32330
32331         Tests for module 'asinl'.
32332         * modules/asinl-tests: New file.
32333         * tests/test-asinl.c: New file.
32334
32335         Tests for module 'acosl'.
32336         * modules/acosl-tests: New file.
32337         * tests/test-acosl.c: New file.
32338
32339         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32340         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32341         tanl): Use the standard gnulib idiom.
32342         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32343         * lib/sinl.c: Likewise.
32344         * lib/tanl.c: Don't include trigl.c.
32345         (kernel_tanl): Make static.
32346         * lib/sincosl.c: Include trigl.h first.
32347         * lib/trigl.c: Likewise.
32348         * m4/acosl.m4: New file.
32349         * m4/asinl.m4: New file.
32350         * m4/atanl.m4: New file.
32351         * m4/cosl.m4: New file.
32352         * m4/expl.m4: New file.
32353         * m4/logl.m4: New file.
32354         * m4/sinl.m4: New file.
32355         * m4/sqrtl.m4: New file.
32356         * m4/tanl.m4: New file.
32357         * m4/mathl.m4: Remove file.
32358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32359         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32360         Don't initialize GNULIB_MATHL.
32361         * modules/acosl: New file.
32362         * modules/asinl: New file.
32363         * modules/atanl: New file.
32364         * modules/cosl: New file.
32365         * modules/expl: New file.
32366         * modules/logl: New file.
32367         * modules/sinl: New file.
32368         * modules/sqrtl: New file.
32369         * modules/tanl: New file.
32370         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32371         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32372         substitute GNULIB_MATHL.
32373         * modules/mathl: Rewritten.
32374         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32375         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32376         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32377         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32378         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32379         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32380         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32381         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32382         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32383
32384 2010-01-18  Bruno Haible  <bruno@clisp.org>
32385
32386         sqrt: Make gl_FUNC_SQRT requirable.
32387         * m4/sqrt.m4: New file.
32388         * modules/sqrt (Files): Add it.
32389         (configure.ac): Invoke gl_FUNC_SQRT.
32390
32391 2010-01-18  Bruno Haible  <bruno@clisp.org>
32392
32393         New modules for common <math.h> functions.
32394         * m4/mathfunc.m4: New file.
32395         * modules/acos: New file.
32396         * modules/asin: New file.
32397         * modules/atan: New file.
32398         * modules/atan2: New file.
32399         * modules/cbrt: New file.
32400         * modules/copysign: New file.
32401         * modules/cos: New file.
32402         * modules/cosh: New file.
32403         * modules/erf: New file.
32404         * modules/erfc: New file.
32405         * modules/exp: New file.
32406         * modules/fabs: New file.
32407         * modules/fmod: New file.
32408         * modules/hypot: New file.
32409         * modules/j0: New file.
32410         * modules/j1: New file.
32411         * modules/jn: New file.
32412         * modules/ldexp: New file.
32413         * modules/lgamma: New file.
32414         * modules/log: New file.
32415         * modules/log10: New file.
32416         * modules/log1p: New file.
32417         * modules/logb: New file.
32418         * modules/modf: New file.
32419         * modules/nextafter: New file.
32420         * modules/pow: New file.
32421         * modules/remainder: New file.
32422         * modules/rint: New file.
32423         * modules/sin: New file.
32424         * modules/sinh: New file.
32425         * modules/sqrt: New file.
32426         * modules/tan: New file.
32427         * modules/tanh: New file.
32428         * modules/y0: New file.
32429         * modules/y1: New file.
32430         * modules/yn: New file.
32431         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32432         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32433         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32434         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32435         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32436         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32437         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32438         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32439         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32440         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32441         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32442         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32443         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32444         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32445         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32446         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32447         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32448         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32449         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32450         * doc/posix-functions/log.texi: Mention the 'log' module.
32451         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32452         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32453         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32454         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32455         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32456         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32457         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32458         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32459         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32460         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32461         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32462         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32463         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32464         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32465         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32466         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32467
32468 2010-01-18  Jim Meyering  <meyering@redhat.com>
32469
32470         ignore-value: relax license to LGPLv2+
32471         * modules/ignore-value (License): Relax to LGPLv2+.
32472
32473         getdate: don't leak when TZ contains two or more '"'s
32474         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32475         double quote in TZ after the first one.
32476
32477         readtokens: do not leak internal token_lengths buffer
32478         * lib/readtokens.c (readtokens): Free the local, lengths,
32479         when the supplied "token_lengths" parameter is NULL.
32480
32481 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32482
32483         Fix a couple of missing LIBTHREAD link failures on AIX.
32484         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32485         $(LIBTHREAD).
32486         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32487
32488         Link test-poll against INET_PTON_LIB.
32489         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32490         for inet_pton on Solaris 10.
32491
32492 2010-01-17  Bruno Haible  <bruno@clisp.org>
32493
32494         unistdio/*-sprintf: Fix typo in module description.
32495         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32496         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32497         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32498         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32499         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32500         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32501         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32502         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32503
32504 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32505
32506         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32507         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32508         variables in shell case patterns, for AIX and HP-UX ksh.
32509
32510         Split large sed scripts, for HP-UX sed.
32511         * modules/stdio: Split sed scripts around 50 sed commands,
32512         to avoid HP-UX limit of 99 commands, in the near future.
32513         * modules/string: Likewise.
32514         * modules/unistd: Likewise.
32515
32516         gnulib-tool: avoid writing in the current directory.
32517         * gnulib-tool (func_emit_lib_Makefile_am)
32518         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32519         not in the current directory, so concurrent gnulib-tool
32520         instances do not interfere.
32521
32522 2010-01-16  Jim Meyering  <meyering@redhat.com>
32523
32524         doc: update users.txt
32525         * users.txt: Add grep.
32526         (diffutils, gzip): Update URLs.
32527
32528 2010-01-12  Bruno Haible  <bruno@clisp.org>
32529
32530         posix_spawn: Avoid test failure on Cygwin.
32531         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32532         characters.
32533         Reported by Simon Josefsson.
32534
32535 2010-01-12  Bruno Haible  <bruno@clisp.org>
32536
32537         * tests/test-cond.c (main): When skipping the test, show the reason.
32538
32539 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32540
32541         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32542
32543 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32544
32545         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32546         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32547
32548 2010-01-12  Eric Blake  <ebb9@byu.net>
32549
32550         build: guarantee AS_VAR_IF
32551         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32552         (gl_AS_VAR_IF): Move...
32553         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32554         Reported by Simon Josefsson.
32555
32556 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32557
32558         * lib/stdio.in.h: Fix typo.
32559
32560 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32561
32562         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32563         libgpg-error.
32564
32565 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32566
32567         * tests/test-xalloc-die.sh: Use $EXEEXT.
32568
32569 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32570             Bruno Haible  <bruno@clisp.org>
32571
32572         getlogin, getlogin_r: Avoid test failure.
32573         * tests/test-getlogin.c: Include <stdio.h>.
32574         (main): Skip the test when the function fails because stdin is not a
32575         tty.
32576         * tests/test-getlogin_r.c: Include <stdio.h>.
32577         (main): Skip the test when the function fails because stdin is not a
32578         tty.
32579
32580 2010-01-11  Eric Blake  <ebb9@byu.net>
32581
32582         tests: avoid more large file warnings
32583         * tests/test-fflush.c: Avoid warning about ftell use.
32584         * tests/test-fseek.c: Avoid warning about fseek use.
32585
32586 2010-01-10  Bruno Haible  <bruno@clisp.org>
32587
32588         nproc: Work better on Linux when /proc and /sys are not mounted.
32589         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32590         as lower bound when, on glibc/Linux systems,
32591         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32592         Suggested by Pádraig Brady <P@draigbrady.com>.
32593         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32594
32595         nproc: Refactor.
32596         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32597         extracted from num_processors.
32598         (num_processors): Call it.
32599
32600 2010-01-11  Jim Meyering  <meyering@redhat.com>
32601
32602         utimecmp: avoid new warning from upcoming gcc-4.5.0
32603         * lib/utimecmp.c (BILLION): Define using #define rather than an
32604         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32605
32606 2010-01-11  Eric Blake  <ebb9@byu.net>
32607
32608         math: add portability warnings for classification macros
32609         * modules/math (Depends-on): Add warn-on-use.
32610         (Makefile.am): Provide new substitutions.
32611         * m4/math_h.m4 (gl_MATH_H): Require inline.
32612         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32613         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32614         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32615         implement warnings.
32616
32617         unistd: warn on use of environ without module
32618         * modules/unistd (Depends-on): Add warn-on-use.
32619         (Makefile.am): Provide new substitutions.
32620         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32621         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32622
32623         stdio: warn on suspicious uses
32624         * modules/stdio (Depends-on): Add warn-on-use.
32625         (Makefile.am): Provide new substitutions.
32626         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32627         fseeko.
32628         * lib/stdio.in.h (gets): Always warn on use.
32629         (fseek, ftell): Adjust when warnings are issued, and honor
32630         _GL_NO_LARGE_FILES as a way to silence the warning.
32631         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32632         any warning about large file offsets.
32633         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32634         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32635         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32636         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32637         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32638         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32639         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32640         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32641
32642         warn-on-use: new module
32643         * modules/warn-on-use: New file.
32644         * build-aux/warn-on-use.h: Likewise.
32645         * m4/warn-on-use.m4: Likewise.
32646         * MODULES.html.sh (Support for building): Mention it.
32647
32648 2010-01-10  Bruno Haible  <bruno@clisp.org>
32649
32650         Tests for module 'unistr/u32-strdup'.
32651         * modules/unistr/u32-strdup-tests: New file.
32652         * tests/unistr/test-u32-strdup.c: New file.
32653
32654         Tests for module 'unistr/u16-strdup'.
32655         * modules/unistr/u16-strdup-tests: New file.
32656         * tests/unistr/test-u16-strdup.c: New file.
32657
32658         Tests for module 'unistr/u8-strdup'.
32659         * modules/unistr/u8-strdup-tests: New file.
32660         * tests/unistr/test-u8-strdup.c: New file.
32661         * tests/unistr/test-strdup.h: New file.
32662
32663         Tests for module 'unistr/u32-strncmp'.
32664         * modules/unistr/u32-strncmp-tests: New file.
32665         * tests/unistr/test-u32-strncmp.c: New file.
32666
32667         Tests for module 'unistr/u16-strncmp'.
32668         * modules/unistr/u16-strncmp-tests: New file.
32669         * tests/unistr/test-u16-strncmp.c: New file.
32670
32671         Tests for module 'unistr/u8-strncmp'.
32672         * modules/unistr/u8-strncmp-tests: New file.
32673         * tests/unistr/test-u8-strncmp.c: New file.
32674         * tests/unistr/test-strncmp.h: New file.
32675
32676         Tests for module 'unistr/u32-strcoll'.
32677         * modules/unistr/u32-strcoll-tests: New file.
32678         * tests/unistr/test-u32-strcoll.c: New file.
32679
32680         Tests for module 'unistr/u16-strcoll'.
32681         * modules/unistr/u16-strcoll-tests: New file.
32682         * tests/unistr/test-u16-strcoll.c: New file.
32683
32684         Tests for module 'unistr/u8-strcoll'.
32685         * modules/unistr/u8-strcoll-tests: New file.
32686         * tests/unistr/test-u8-strcoll.c: New file.
32687
32688         Tests for module 'unistr/u32-strcmp'.
32689         * modules/unistr/u32-strcmp-tests: New file.
32690         * tests/unistr/test-u32-strcmp.c: New file.
32691         * tests/unistr/test-u32-strcmp.h: New file.
32692
32693         Tests for module 'unistr/u16-strcmp'.
32694         * modules/unistr/u16-strcmp-tests: New file.
32695         * tests/unistr/test-u16-strcmp.c: New file.
32696         * tests/unistr/test-u16-strcmp.h: New file.
32697
32698         Tests for module 'unistr/u8-strcmp'.
32699         * modules/unistr/u8-strcmp-tests: New file.
32700         * tests/unistr/test-u8-strcmp.c: New file.
32701         * tests/unistr/test-u8-strcmp.h: New file.
32702         * tests/unistr/test-strcmp.h: New file.
32703
32704         Tests for module 'unistr/u32-strncat'.
32705         * modules/unistr/u32-strncat-tests: New file.
32706         * tests/unistr/test-u32-strncat.c: New file.
32707
32708         Tests for module 'unistr/u16-strncat'.
32709         * modules/unistr/u16-strncat-tests: New file.
32710         * tests/unistr/test-u16-strncat.c: New file.
32711
32712         Tests for module 'unistr/u8-strncat'.
32713         * modules/unistr/u8-strncat-tests: New file.
32714         * tests/unistr/test-u8-strncat.c: New file.
32715         * tests/unistr/test-strncat.h: New file.
32716
32717         Tests for module 'unistr/u32-strcat'.
32718         * modules/unistr/u32-strcat-tests: New file.
32719         * tests/unistr/test-u32-strcat.c: New file.
32720
32721         Tests for module 'unistr/u16-strcat'.
32722         * modules/unistr/u16-strcat-tests: New file.
32723         * tests/unistr/test-u16-strcat.c: New file.
32724
32725         Tests for module 'unistr/u8-strcat'.
32726         * modules/unistr/u8-strcat-tests: New file.
32727         * tests/unistr/test-u8-strcat.c: New file.
32728         * tests/unistr/test-strcat.h: New file.
32729
32730         Tests for module 'unistr/u32-stpncpy'.
32731         * modules/unistr/u32-stpncpy-tests: New file.
32732         * tests/unistr/test-u32-stpncpy.c: New file.
32733
32734         Tests for module 'unistr/u16-stpncpy'.
32735         * modules/unistr/u16-stpncpy-tests: New file.
32736         * tests/unistr/test-u16-stpncpy.c: New file.
32737
32738         Tests for module 'unistr/u8-stpncpy'.
32739         * modules/unistr/u8-stpncpy-tests: New file.
32740         * tests/unistr/test-u8-stpncpy.c: New file.
32741         * tests/unistr/test-stpncpy.h: New file.
32742
32743         Tests for module 'unistr/u32-strncpy'.
32744         * modules/unistr/u32-strncpy-tests: New file.
32745         * tests/unistr/test-u32-strncpy.c: New file.
32746
32747         Tests for module 'unistr/u16-strncpy'.
32748         * modules/unistr/u16-strncpy-tests: New file.
32749         * tests/unistr/test-u16-strncpy.c: New file.
32750
32751         Tests for module 'unistr/u8-strncpy'.
32752         * modules/unistr/u8-strncpy-tests: New file.
32753         * tests/unistr/test-u8-strncpy.c: New file.
32754         * tests/unistr/test-strncpy.h: New file.
32755
32756         Tests for module 'unistr/u32-stpcpy'.
32757         * modules/unistr/u32-stpcpy-tests: New file.
32758         * tests/unistr/test-u32-stpcpy.c: New file.
32759
32760         Tests for module 'unistr/u16-stpcpy'.
32761         * modules/unistr/u16-stpcpy-tests: New file.
32762         * tests/unistr/test-u16-stpcpy.c: New file.
32763
32764         Tests for module 'unistr/u8-stpcpy'.
32765         * modules/unistr/u8-stpcpy-tests: New file.
32766         * tests/unistr/test-u8-stpcpy.c: New file.
32767         * tests/unistr/test-stpcpy.h: New file.
32768
32769         Tests for module 'unistr/u32-strcpy'.
32770         * modules/unistr/u32-strcpy-tests: New file.
32771         * tests/unistr/test-u32-strcpy.c: New file.
32772
32773         Tests for module 'unistr/u16-strcpy'.
32774         * modules/unistr/u16-strcpy-tests: New file.
32775         * tests/unistr/test-u16-strcpy.c: New file.
32776
32777         Tests for module 'unistr/u8-strcpy'.
32778         * modules/unistr/u8-strcpy-tests: New file.
32779         * tests/unistr/test-u8-strcpy.c: New file.
32780         * tests/unistr/test-strcpy.h: New file.
32781
32782         Tests for module 'unistr/u32-strnlen'.
32783         * modules/unistr/u32-strnlen-tests: New file.
32784         * tests/unistr/test-u32-strnlen.c: New file.
32785
32786         Tests for module 'unistr/u16-strnlen'.
32787         * modules/unistr/u16-strnlen-tests: New file.
32788         * tests/unistr/test-u16-strnlen.c: New file.
32789
32790         Tests for module 'unistr/u8-strnlen'.
32791         * modules/unistr/u8-strnlen-tests: New file.
32792         * tests/unistr/test-u8-strnlen.c: New file.
32793         * tests/unistr/test-strnlen.h: New file.
32794
32795         Tests for module 'unistr/u32-strlen'.
32796         * modules/unistr/u32-strlen-tests: New file.
32797         * tests/unistr/test-u32-strlen.c: New file.
32798
32799         Tests for module 'unistr/u16-strlen'.
32800         * modules/unistr/u16-strlen-tests: New file.
32801         * tests/unistr/test-u16-strlen.c: New file.
32802
32803         Tests for module 'unistr/u8-strlen'.
32804         * modules/unistr/u8-strlen-tests: New file.
32805         * tests/unistr/test-u8-strlen.c: New file.
32806
32807         Tests for module 'unistr/u32-prev'.
32808         * modules/unistr/u32-prev-tests: New file.
32809         * tests/unistr/test-u32-prev.c: New file.
32810
32811         Tests for module 'unistr/u16-prev'.
32812         * modules/unistr/u16-prev-tests: New file.
32813         * tests/unistr/test-u16-prev.c: New file.
32814
32815         Tests for module 'unistr/u8-prev'.
32816         * modules/unistr/u8-prev-tests: New file.
32817         * tests/unistr/test-u8-prev.c: New file.
32818
32819         Tests for module 'unistr/u32-next'.
32820         * modules/unistr/u32-next-tests: New file.
32821         * tests/unistr/test-u32-next.c: New file.
32822
32823         Tests for module 'unistr/u16-next'.
32824         * modules/unistr/u16-next-tests: New file.
32825         * tests/unistr/test-u16-next.c: New file.
32826
32827         Tests for module 'unistr/u8-next'.
32828         * modules/unistr/u8-next-tests: New file.
32829         * tests/unistr/test-u8-next.c: New file.
32830
32831         Tests for module 'unistr/u32-strmbtouc'.
32832         * modules/unistr/u32-strmbtouc-tests: New file.
32833         * tests/unistr/test-u32-strmbtouc.c: New file.
32834
32835         Tests for module 'unistr/u16-strmbtouc'.
32836         * modules/unistr/u16-strmbtouc-tests: New file.
32837         * tests/unistr/test-u16-strmbtouc.c: New file.
32838
32839         Tests for module 'unistr/u8-strmbtouc'.
32840         * modules/unistr/u8-strmbtouc-tests: New file.
32841         * tests/unistr/test-u8-strmbtouc.c: New file.
32842
32843         Tests for module 'unistr/u32-strmblen'.
32844         * modules/unistr/u32-strmblen-tests: New file.
32845         * tests/unistr/test-u32-strmblen.c: New file.
32846
32847         Tests for module 'unistr/u16-strmblen'.
32848         * modules/unistr/u16-strmblen-tests: New file.
32849         * tests/unistr/test-u16-strmblen.c: New file.
32850
32851         Tests for module 'unistr/u8-strmblen'.
32852         * modules/unistr/u8-strmblen-tests: New file.
32853         * tests/unistr/test-u8-strmblen.c: New file.
32854
32855         Tests for module 'unistr/u32-cpy-alloc'.
32856         * modules/unistr/u32-cpy-alloc-tests: New file.
32857         * tests/unistr/test-u32-cpy-alloc.c: New file.
32858
32859         Tests for module 'unistr/u16-cpy-alloc'.
32860         * modules/unistr/u16-cpy-alloc-tests: New file.
32861         * tests/unistr/test-u16-cpy-alloc.c: New file.
32862
32863         Tests for module 'unistr/u8-cpy-alloc'.
32864         * modules/unistr/u8-cpy-alloc-tests: New file.
32865         * tests/unistr/test-u8-cpy-alloc.c: New file.
32866         * tests/unistr/test-cpy-alloc.h: New file.
32867
32868         Tests for module 'unistr/u32-mbsnlen'.
32869         * modules/unistr/u32-mbsnlen-tests: New file.
32870         * tests/unistr/test-u32-mbsnlen.c: New file.
32871
32872         Tests for module 'unistr/u16-mbsnlen'.
32873         * modules/unistr/u16-mbsnlen-tests: New file.
32874         * tests/unistr/test-u16-mbsnlen.c: New file.
32875
32876         Tests for module 'unistr/u8-mbsnlen'.
32877         * modules/unistr/u8-mbsnlen-tests: New file.
32878         * tests/unistr/test-u8-mbsnlen.c: New file.
32879
32880         Tests for module 'unistr/u32-chr'.
32881         * modules/unistr/u32-chr-tests: New file.
32882         * tests/unistr/test-u32-chr.c: New file.
32883
32884         Tests for module 'unistr/u16-chr'.
32885         * modules/unistr/u16-chr-tests: New file.
32886         * tests/unistr/test-u16-chr.c: New file.
32887
32888         Tests for module 'unistr/u8-chr'.
32889         * modules/unistr/u8-chr-tests: New file.
32890         * tests/unistr/test-u8-chr.c: New file.
32891         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32892
32893         Tests for module 'unistr/u32-cmp2'.
32894         * modules/unistr/u32-cmp2-tests: New file.
32895         * tests/unistr/test-u32-cmp2.c: New file.
32896
32897         Tests for module 'unistr/u16-cmp2'.
32898         * modules/unistr/u16-cmp2-tests: New file.
32899         * tests/unistr/test-u16-cmp2.c: New file.
32900
32901         Tests for module 'unistr/u8-cmp2'.
32902         * modules/unistr/u8-cmp2-tests: New file.
32903         * tests/unistr/test-u8-cmp2.c: New file.
32904         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32905
32906         Tests for module 'unistr/u32-cmp'.
32907         * modules/unistr/u32-cmp-tests: New file.
32908         * tests/unistr/test-u32-cmp.c: New file.
32909
32910         Tests for module 'unistr/u16-cmp'.
32911         * modules/unistr/u16-cmp-tests: New file.
32912         * tests/unistr/test-u16-cmp.c: New file.
32913
32914         Tests for module 'unistr/u8-cmp'.
32915         * modules/unistr/u8-cmp-tests: New file.
32916         * tests/unistr/test-u8-cmp.c: New file.
32917         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32918
32919         Tests for module 'unistr/u32-set'.
32920         * modules/unistr/u32-set-tests: New file.
32921         * tests/unistr/test-u32-set.c: New file.
32922
32923         Tests for module 'unistr/u16-set'.
32924         * modules/unistr/u16-set-tests: New file.
32925         * tests/unistr/test-u16-set.c: New file.
32926
32927         Tests for module 'unistr/u8-set'.
32928         * modules/unistr/u8-set-tests: New file.
32929         * tests/unistr/test-u8-set.c: New file.
32930         * tests/unistr/test-set.h: New file.
32931
32932         Tests for module 'unistr/u32-move'.
32933         * modules/unistr/u32-move-tests: New file.
32934         * tests/unistr/test-u32-move.c: New file.
32935
32936         Tests for module 'unistr/u16-move'.
32937         * modules/unistr/u16-move-tests: New file.
32938         * tests/unistr/test-u16-move.c: New file.
32939
32940         Tests for module 'unistr/u8-move'.
32941         * modules/unistr/u8-move-tests: New file.
32942         * tests/unistr/test-u8-move.c: New file.
32943         * tests/unistr/test-move.h: New file.
32944
32945         Tests for module 'unistr/u32-cpy'.
32946         * modules/unistr/u32-cpy-tests: New file.
32947         * tests/unistr/test-u32-cpy.c: New file.
32948
32949         Tests for module 'unistr/u16-cpy'.
32950         * modules/unistr/u16-cpy-tests: New file.
32951         * tests/unistr/test-u16-cpy.c: New file.
32952
32953         Tests for module 'unistr/u8-cpy'.
32954         * modules/unistr/u8-cpy-tests: New file.
32955         * tests/unistr/test-u8-cpy.c: New file.
32956         * tests/unistr/test-cpy.h: New file.
32957
32958 2010-01-09  Bruno Haible  <bruno@clisp.org>
32959
32960         Tests for module 'unistr/u32-uctomb'.
32961         * modules/unistr/u32-uctomb-tests: New file.
32962         * tests/unistr/test-u32-uctomb.c: New file.
32963
32964         Tests for module 'unistr/u16-uctomb'.
32965         * modules/unistr/u16-uctomb-tests: New file.
32966         * tests/unistr/test-u16-uctomb.c: New file.
32967
32968         Tests for module 'unistr/u8-uctomb'.
32969         * modules/unistr/u8-uctomb-tests: New file.
32970         * tests/unistr/test-u8-uctomb.c: New file.
32971
32972         Tests for module 'unistr/u32-mbtoucr'.
32973         * modules/unistr/u32-mbtoucr-tests: New file.
32974         * tests/unistr/test-u32-mbtoucr.c: New file.
32975
32976         Tests for module 'unistr/u16-mbtoucr'.
32977         * modules/unistr/u16-mbtoucr-tests: New file.
32978         * tests/unistr/test-u16-mbtoucr.c: New file.
32979
32980         Tests for module 'unistr/u8-mbtoucr'.
32981         * modules/unistr/u8-mbtoucr-tests: New file.
32982         * tests/unistr/test-u8-mbtoucr.c: New file.
32983
32984         Tests for module 'unistr/u32-mbtouc'.
32985         * modules/unistr/u32-mbtouc-tests: New file.
32986         * tests/unistr/test-u32-mbtouc.c: New file.
32987
32988         Tests for module 'unistr/u16-mbtouc'.
32989         * modules/unistr/u16-mbtouc-tests: New file.
32990         * tests/unistr/test-u16-mbtouc.c: New file.
32991
32992         Tests for module 'unistr/u8-mbtouc'.
32993         * modules/unistr/u8-mbtouc-tests: New file.
32994         * tests/unistr/test-u8-mbtouc.c: New file.
32995
32996         Tests for module 'unistr/u32-mbtouc-unsafe'.
32997         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32998         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32999         * tests/unistr/test-u32-mbtouc.h: New file.
33000
33001         Tests for module 'unistr/u16-mbtouc-unsafe'.
33002         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33003         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33004         * tests/unistr/test-u16-mbtouc.h: New file.
33005
33006         Tests for module 'unistr/u8-mbtouc-unsafe'.
33007         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33008         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33009         * tests/unistr/test-u8-mbtouc.h: New file.
33010
33011         Tests for module 'unistr/u32-mblen'.
33012         * modules/unistr/u32-mblen-tests: New file.
33013         * tests/unistr/test-u32-mblen.c: New file.
33014
33015         Tests for module 'unistr/u16-mblen'.
33016         * modules/unistr/u16-mblen-tests: New file.
33017         * tests/unistr/test-u16-mblen.c: New file.
33018
33019         Tests for module 'unistr/u8-mblen'.
33020         * modules/unistr/u8-mblen-tests: New file.
33021         * tests/unistr/test-u8-mblen.c: New file.
33022
33023         Tests for module 'unistr/u32-to-u16'.
33024         * modules/unistr/u32-to-u16-tests: New file.
33025         * tests/unistr/test-u32-to-u16.c: New file.
33026
33027         Tests for module 'unistr/u32-to-u8'.
33028         * modules/unistr/u32-to-u8-tests: New file.
33029         * tests/unistr/test-u32-to-u8.c: New file.
33030
33031         Tests for module 'unistr/u16-to-u32'.
33032         * modules/unistr/u16-to-u32-tests: New file.
33033         * tests/unistr/test-u16-to-u32.c: New file.
33034
33035         Tests for module 'unistr/u16-to-u8'.
33036         * modules/unistr/u16-to-u8-tests: New file.
33037         * tests/unistr/test-u16-to-u8.c: New file.
33038
33039         Tests for module 'unistr/u8-to-u32'.
33040         * modules/unistr/u8-to-u32-tests: New file.
33041         * tests/unistr/test-u8-to-u32.c: New file.
33042
33043         Tests for module 'unistr/u8-to-u16'.
33044         * modules/unistr/u8-to-u16-tests: New file.
33045         * tests/unistr/test-u8-to-u16.c: New file.
33046
33047         Tests for module 'unistr/u32-check'.
33048         * modules/unistr/u32-check-tests: New file.
33049         * tests/unistr/test-u32-check.c: New file.
33050
33051         Tests for module 'unistr/u16-check'.
33052         * modules/unistr/u16-check-tests: New file.
33053         * tests/unistr/test-u16-check.c: New file.
33054
33055         Tests for module 'unistr/u8-check'.
33056         * modules/unistr/u8-check-tests: New file.
33057         * tests/unistr/test-u8-check.c: New file.
33058
33059         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33060         (category_equals): New function.
33061         (main): Add more tests.
33062         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33063
33064         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33065
33066 2010-01-10  Bruno Haible  <bruno@clisp.org>
33067
33068         unistr/u*-strcoll: Try harder to distinguish different strings.
33069         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33070         compare s1 and s2 to see if they are different.
33071
33072 2010-01-10  Bruno Haible  <bruno@clisp.org>
33073
33074         unistr/u*-stpncpy: Fix the return value.
33075         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33076         description of the return value consistent with stpncpy in glibc.
33077         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33078         written non-NUL unit.
33079
33080 2010-01-10  Bruno Haible  <bruno@clisp.org>
33081
33082         unistr/u*-next: Add missing dependencies.
33083         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33084         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33085         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33086
33087 2010-01-10  Bruno Haible  <bruno@clisp.org>
33088
33089         unistr/u8-mbsnlen: Fix return value for incomplete character.
33090         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33091         u8_mblen.
33092         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33093         Remove unistr/u8-mblen.
33094         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33095         u16_mblen.
33096         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33097         Remove unistr/u16-mblen.
33098
33099 2010-01-10  Bruno Haible  <bruno@clisp.org>
33100
33101         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33102         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33103         Reported by Brian Gough <bjg@gnu.org> and
33104         Chris Clayton <chris2553@googlemail.com> via
33105         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33106
33107 2010-01-09  Bruno Haible  <bruno@clisp.org>
33108
33109         unistr/u16-to-u32: Reject invalid input.
33110         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33111         u16_mbtouc.
33112         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33113         Remove unistr/u16-mbtouc.
33114
33115         unistr/u16-to-u8: Reject invalid input.
33116         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33117         u16_mbtouc.
33118         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33119         Remove unistr/u16-mbtouc.
33120
33121         unistr/u8-to-u32: Reject invalid input.
33122         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33123         u8_mbtouc.
33124         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33125         Remove unistr/u8-mbtouc.
33126
33127         unistr/u8-to-u16: Reject invalid input.
33128         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33129         u8_mbtouc.
33130         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33131         Remove unistr/u8-mbtouc.
33132
33133 2010-01-09  Bruno Haible  <bruno@clisp.org>
33134
33135         Tests for module 'getlogin'.
33136         * modules/getlogin-tests: New file.
33137         * tests/test-getlogin.c: New file.
33138
33139         New module 'getlogin'.
33140         * lib/unistd.in.h (getlogin): New declaration.
33141         * lib/getlogin.c: New file.
33142         * m4/getlogin.m4: New file.
33143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33144         HAVE_GETLOGIN.
33145         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33146         HAVE_GETLOGIN.
33147         * modules/getlogin: New file.
33148         * doc/posix-functions/getlogin.texi: Mention the new module.
33149         Reported by John W. Eaton <jwe@gnu.org>.
33150
33151 2010-01-09  Bruno Haible  <bruno@clisp.org>
33152
33153         getlogin_r: Support for native Windows.
33154         * lib/getlogin_r.c: Include <windows.h>
33155         (getlogin_r): Implement for native Windows.
33156         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33157         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33158         via John W. Eaton <jwe@gnu.org>.
33159
33160 2010-01-09  Bruno Haible  <bruno@clisp.org>
33161
33162         getlogin_r: Small fixes.
33163         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33164         succeeds.
33165         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33166         before testing whether getlogin_r is declared. No need to set
33167         HAVE_DECL_GETLOGIN_R to 1.
33168         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33169
33170 2010-01-09  Bruno Haible  <bruno@clisp.org>
33171
33172         * lib/unistd.in.h (getlogin_r): Add comment.
33173
33174 2010-01-09  Bruno Haible  <bruno@clisp.org>
33175
33176         Tests for module 'getlogin_r'.
33177         * modules/getlogin_r-tests: New file.
33178         * tests/test-getlogin_r.c: New file.
33179
33180 2010-01-09  Jim Meyering  <meyering@redhat.com>
33181
33182         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33183         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33184         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33185
33186 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33187
33188         * lib/dup2.c (rpl_dup2): Improve comment.
33189
33190 2010-01-08  Eric Blake  <ebb9@byu.net>
33191
33192         maint.mk: allow packages to add makefile @@ exceptions
33193         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33194         (sc_makefile_check): Rename...
33195         (sc_makefile_at_at_check): ...to this, and use hook.
33196
33197         dup2: work around mingw bug
33198         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33199         Reported by Simon Josefsson.
33200
33201 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33202
33203         glob: Fix C++ compilation.
33204         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33205         C++.
33206
33207 2010-01-07  Bruno Haible  <bruno@clisp.org>
33208
33209         Fix indentation of wctype.in.h, broken since 2007-01-06.
33210         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33211
33212 2010-01-07  Bruno Haible  <bruno@clisp.org>
33213
33214         mbslen: Avoid collision with system function.
33215         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33216         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33217         * m4/mbslen.m4: New file.
33218         * modules/mbslen (Files): Add it.
33219         (configure.ac): Invoke gl_MBSLEN.
33220         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33221         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33222         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33223         via Ian Beckwith <ianb@erislabs.net>.
33224
33225 2010-01-07  Bruno Haible  <bruno@clisp.org>
33226
33227         dirent: Document the last fix.
33228         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33229
33230 2010-01-07  Bruno Haible  <bruno@clisp.org>
33231
33232         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33233         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33234         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33235         va_list are defined.
33236         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33237         Reported by Eric Blake.
33238
33239 2010-01-07  Bruno Haible  <bruno@clisp.org>
33240
33241         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33242         * modules/xlist (Depends-on): Add 'list',
33243         * modules/xoset (Depends-on): Add 'oset'.
33244         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33245
33246 2010-01-07  Bruno Haible  <bruno@clisp.org>
33247
33248         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33249         * doc/posix-functions/strncasecmp.texi: Likewise.
33250
33251 2010-01-07  Bruno Haible  <bruno@clisp.org>
33252
33253         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33254
33255 2010-01-07  John W. Eaton  <jwe@octave.org>
33256
33257         wctype: allow C++ use
33258         * lib/wctype.in.h: Add extern "C" block for C++.
33259
33260 2010-01-06  Eric Blake  <ebb9@byu.net>
33261
33262         maint.mk: detect incorrect GFDL usage
33263         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33264
33265 2010-01-06  Jim Meyering  <meyering@redhat.com>
33266         and Eric Blake  <ebb9@byu.net>
33267
33268         maint.mk: ignore multi-line copyright in NEWS
33269         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33270
33271 2010-01-06  Eric Blake  <ebb9@byu.net>
33272
33273         select: add missing dependency
33274         * modules/select-tests (Depends-on): Move sockets dependency...
33275         * modules/select (Depends-on): ...here.
33276         Reported by Ian Beckwith.
33277
33278         doc: regenerate INSTALL
33279         * doc/INSTALL: Reflect recent autoconf update.
33280         * doc/INSTALL.ISO: Likewise.
33281         * doc/INSTALL.UTF-8: Likewise.
33282
33283         pread: fix compilation on glibc
33284         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33285         Reported by Ralf Wildenhues.
33286
33287         dirent: fix test failure
33288         * lib/dirent.in.h (includes): Guarantee ino_t.
33289         Reported by Ralf Wildenhues.
33290
33291 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33292
33293         linkat, renameat: avoid bad free
33294         * lib/at-func2.c (at_func2): Fix typo.
33295         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33296
33297 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33298
33299         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33300         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33301         to avoid failure of symlink test later.
33302
33303 2010-01-06  Eric Blake  <ebb9@byu.net>
33304
33305         stdio, unistd: guarantee ssize_t
33306         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33307         2008 are exposed when needed.
33308         * lib/stdio.in.h (includes): Likewise.
33309         Reported by Ralf Wildenhues.
33310
33311 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33312
33313         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33314         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33315         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33316
33317 2010-01-06  Jim Meyering  <meyering@redhat.com>
33318
33319         readtokens: this module *does* require xalloc.h
33320         It uses only functions that were omitted by the old syntax-check rule.
33321         * lib/readtokens.c: Include "xalloc.h" once again.
33322         * modules/readtokens (Depends-on): Add xalloc.
33323         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33324
33325 2010-01-05  Eric Blake  <ebb9@byu.net>
33326
33327         maint: support 'make announcement' from a VPATH build
33328         * top/maint.mk (announcement): Look for correct NEWS file.
33329
33330 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33331
33332         utimens (fdutimens): ignore a negative FD, per contract
33333         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33334         when we have a valid file descriptor.  Otherwise, using a brand
33335         new glibc (with just-patched futimens that now fails with EBADF)
33336         would cause this function to fail with ENOSYS.
33337         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33338         See also http://bugzilla.redhat.com/552320.
33339
33340 2010-01-05  Eric Blake  <ebb9@byu.net>
33341
33342         strcase: document what it provides
33343         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33344         gnulib module.
33345         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33346         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33347
33348 2010-01-05  Jim Meyering  <meyering@redhat.com>
33349
33350         maint: remove useless inclusions of "xalloc.h"
33351         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33352         * lib/readtokens.c: Likewise.
33353         * lib/same.c: Likewise.
33354         * modules/getloadavg (Depends-on): Remove xalloc.
33355         * modules/readtokens: Likewise.
33356         * modules/same: Likewise.
33357
33358         maint.mk: include 4 more function names in alloca.h-checking regexp
33359         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33360         regexp.  Before, we would give a false-positive (saying alloca.h
33361         is included unnecessarily) when the only uses involved omitted symbols.
33362
33363         xalloc.h: use consistent formatting
33364         * lib/xalloc.h: Move declarations to start in the first column.
33365
33366 2010-01-05  Eric Blake  <ebb9@byu.net>
33367
33368         mkdir: avoid xalloc
33369         * lib/mkdir.c (includes): Drop unused header.
33370         Reported by John W. Eaton.
33371
33372 2010-01-04  Jim Meyering  <meyering@redhat.com>
33373
33374         nl_langinfo: avoid configure-time syntax error
33375         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33376         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33377         the empty string.  Don't let that provoke a shell syntax error.
33378
33379         regcomp, regexec, fnmatch: avoid array bounds read error
33380         * lib/regcomp.c (build_equiv_class): From glibc:
33381         Use only the low 24 bits of a findidx return value as an index
33382         into the weights array.  Patch by Ulrich Drepper:
33383         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33384         * lib/regexec.c (check_node_accept_bytes): Likewise.
33385         * lib/fnmatch_loop.c (FCT): Likewise.
33386
33387         regcomp: skip collseq lookup when there are no rules
33388         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33389         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33390
33391         regcomp: recognize ill-formed { } expressions
33392         * lib/regcomp.c (parse_dup_op): From glibc:
33393         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33394
33395         regcomp: fix typo in comment
33396         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33397         s/satisfy/satisfies/.
33398
33399         regcomp: sync from glibc: remove dead store
33400         * lib/regcomp.c (duplicate_node_closure): Remove useless
33401         search_duplicated_node call and dead store.
33402
33403         regcomp: sync from glibc; always use nl_langinfo
33404         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33405         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33406         * modules/regex (Depends-on): Add nl_langinfo.
33407
33408 2010-01-04  Eric Blake  <ebb9@byu.net>
33409
33410         fdopendir: fix configure test
33411         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33412
33413 2010-01-01  Bruno Haible  <bruno@clisp.org>
33414
33415         wchar: Remove unused configure check.
33416         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33417
33418 2010-01-01  Eric Blake  <ebb9@byu.net>
33419
33420         headers: make check of system header explicit
33421         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33422         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33423         ourselves.
33424         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33425         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33426         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33427         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33428         internals.
33429         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33430         missing.
33431         Suggested by Bruno Haible.
33432
33433 2010-01-01  Jim Meyering  <meyering@redhat.com>
33434
33435         ChangeLog: tweak to eliminate unnecessary copyright line
33436         * ChangeLog: Remove a copyright line that was mistakenly updated
33437         by today's update-copyright run.  Reported by Eric Blake.
33438
33439         test-update-copyright: don't let envvar setting cause test failure
33440         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33441
33442 2010-01-01  Bruno Haible  <bruno@clisp.org>
33443
33444         localename: Avoid gcc warning.
33445         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33446         function if it is not used.
33447
33448 2010-01-01  Jim Meyering  <meyering@redhat.com>
33449
33450         update nearly all FSF copyright year lists to include 2010
33451         Use the same procedure as for 2009, outlined in
33452         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33453
33454         version-etc: set COPYRIGHT_YEAR to 2010
33455         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33456
33457 2009-12-31  Eric Blake  <ebb9@byu.net>
33458
33459         doc: correct availability of cygwin 1.5.x getopt
33460         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33461         variables.
33462         * doc/posix-functions/opterr.texi (opterr): Likewise.
33463         * doc/posix-functions/optind.texi (optind): Likewise.
33464         * doc/posix-functions/optopt.texi (optopt): Likewise.
33465         * doc/posix-functions/tzname.texi (tzname): Likewise.
33466
33467         openat: update maintainer
33468         * modules/openat (Maintainer): Add myself.
33469
33470         utimens: avoid shadowing warning
33471         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33472         buffers into one, to avoid shadowing, as well as avoiding a
33473         redundant stat.
33474         Reported by Jim Meyering.
33475
33476         test-dup2: avoid compiler warning
33477         * tests/test-dup2.c (is_inheritable): Only define if used.
33478
33479 2010-01-01  Bruno Haible  <bruno@clisp.org>
33480
33481         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33482         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33483         defined, use wctomb instead of wcrtomb.
33484
33485 2010-01-01  Bruno Haible  <bruno@clisp.org>
33486
33487         iconv: Reject native Solaris iconv.
33488         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33489         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33490
33491 2009-12-31  Bruno Haible  <bruno@clisp.org>
33492
33493         * tests/test-signal.c (main): Remove test of 'SIG'.
33494
33495 2009-12-31  Bruno Haible  <bruno@clisp.org>
33496
33497         spawn: Fix incomplete fix.
33498         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33499         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33500         warnings for GNULIB_POSIXCHECK again.
33501         Reported by Eric Blake.
33502
33503 2009-12-31  Bruno Haible  <bruno@clisp.org>
33504
33505         Avoid namespace pollution on glibc systems.
33506         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33507         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33508         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33509         glibc systems.
33510
33511 2009-12-31  Bruno Haible  <bruno@clisp.org>
33512
33513         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33514         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33515         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33516         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33517         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33518         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33519         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33520
33521 2009-12-31  Bruno Haible  <bruno@clisp.org>
33522
33523         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33524         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33525         afterwards.
33526
33527 2009-12-31  Bruno Haible  <bruno@clisp.org>
33528
33529         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33530         SYS_UTSNAME_H.
33531
33532 2009-12-31  Bruno Haible  <bruno@clisp.org>
33533
33534         spawn: Fix misapplied patch.
33535         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33536         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33537         warnings for GNULIB_POSIXCHECK.
33538
33539 2009-12-31  Bruno Haible  <bruno@clisp.org>
33540
33541         times: Update after sys_times changed.
33542         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33543         * modules/times (Files): Add it.
33544         (configure.ac): Invoke gl_FUNC_TIMES.
33545
33546 2009-12-31  Bruno Haible  <bruno@clisp.org>
33547
33548         Use AC_C_INLINE where necessary.
33549         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33550         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33551         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33552         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33553         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33554         * m4/mbiter.m4 (gl_MBITER): Likewise.
33555         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33556         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33557         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33558         * modules/u64 (configure.ac): Likewise.
33559
33560 2009-12-31  Bruno Haible  <bruno@clisp.org>
33561
33562         Use AC_C_INLINE instead of module 'inline' where possible.
33563         * modules/inline (Description): Clarify purpose.
33564         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33565         * modules/count-one-bits (Depends-on): Remove inline.
33566         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33567         * modules/openat (Depends-on): Remove inline.
33568         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33569         instead of depending on module 'inline'.
33570         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33571         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33572         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33573         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33574         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33575         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33576         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33577         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33578         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33579         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33580         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33581         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33582         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33583         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33584         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33585         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33586         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33587         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33588         Likewise.
33589         * modules/unictype/property-ascii-hex-digit (Depends-on,
33590         configure.ac): Likewise.
33591         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33592         configure.ac): Likewise.
33593         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33594         configure.ac): Likewise.
33595         * modules/unictype/property-bidi-block-separator (Depends-on,
33596         configure.ac): Likewise.
33597         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33598         configure.ac): Likewise.
33599         * modules/unictype/property-bidi-common-separator (Depends-on,
33600         configure.ac): Likewise.
33601         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33602         Likewise.
33603         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33604         configure.ac): Likewise.
33605         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33606         configure.ac): Likewise.
33607         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33608         configure.ac): Likewise.
33609         * modules/unictype/property-bidi-european-digit (Depends-on,
33610         configure.ac): Likewise.
33611         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33612         configure.ac): Likewise.
33613         * modules/unictype/property-bidi-left-to-right (Depends-on,
33614         configure.ac): Likewise.
33615         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33616         configure.ac): Likewise.
33617         * modules/unictype/property-bidi-other-neutral (Depends-on,
33618         configure.ac): Likewise.
33619         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33620         Likewise.
33621         * modules/unictype/property-bidi-segment-separator (Depends-on,
33622         configure.ac): Likewise.
33623         * modules/unictype/property-bidi-whitespace (Depends-on,
33624         configure.ac): Likewise.
33625         * modules/unictype/property-combining (Depends-on, configure.ac):
33626         Likewise.
33627         * modules/unictype/property-composite (Depends-on, configure.ac):
33628         Likewise.
33629         * modules/unictype/property-currency-symbol (Depends-on,
33630         configure.ac): Likewise.
33631         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33632         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33633         Likewise.
33634         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33635         configure.ac): Likewise.
33636         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33637         Likewise.
33638         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33639         Likewise.
33640         * modules/unictype/property-extender (Depends-on, configure.ac):
33641         Likewise.
33642         * modules/unictype/property-format-control (Depends-on, configure.ac):
33643         Likewise.
33644         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33645         Likewise.
33646         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33647         Likewise.
33648         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33649         Likewise.
33650         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33651         Likewise.
33652         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33653         Likewise.
33654         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33655         Likewise.
33656         * modules/unictype/property-id-start (Depends-on, configure.ac):
33657         Likewise.
33658         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33659         Likewise.
33660         * modules/unictype/property-ids-binary-operator (Depends-on,
33661         configure.ac): Likewise.
33662         * modules/unictype/property-ids-trinary-operator (Depends-on,
33663         configure.ac): Likewise.
33664         * modules/unictype/property-ignorable-control (Depends-on,
33665         configure.ac): Likewise.
33666         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33667         Likewise.
33668         * modules/unictype/property-join-control (Depends-on, configure.ac):
33669         Likewise.
33670         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33671         Likewise.
33672         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33673         Likewise.
33674         * modules/unictype/property-logical-order-exception (Depends-on,
33675         configure.ac): Likewise.
33676         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33677         Likewise.
33678         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33679         * modules/unictype/property-non-break (Depends-on, configure.ac):
33680         Likewise.
33681         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33682         Likewise.
33683         * modules/unictype/property-numeric (Depends-on, configure.ac):
33684         Likewise.
33685         * modules/unictype/property-other-alphabetic (Depends-on,
33686         configure.ac): Likewise.
33687         * modules/unictype/property-other-default-ignorable-code-point
33688         (Depends-on, configure.ac): Likewise.
33689         * modules/unictype/property-other-grapheme-extend (Depends-on,
33690         configure.ac): Likewise.
33691         * modules/unictype/property-other-id-continue (Depends-on,
33692         configure.ac): Likewise.
33693         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33694         Likewise.
33695         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33696         Likewise.
33697         * modules/unictype/property-other-math (Depends-on, configure.ac):
33698         Likewise.
33699         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33700         Likewise.
33701         * modules/unictype/property-paired-punctuation (Depends-on,
33702         configure.ac): Likewise.
33703         * modules/unictype/property-paragraph-separator (Depends-on,
33704         configure.ac): Likewise.
33705         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33706         Likewise.
33707         * modules/unictype/property-pattern-white-space (Depends-on,
33708         configure.ac): Likewise.
33709         * modules/unictype/property-private-use (Depends-on, configure.ac):
33710         Likewise.
33711         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33712         Likewise.
33713         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33714         Likewise.
33715         * modules/unictype/property-radical (Depends-on, configure.ac):
33716         Likewise.
33717         * modules/unictype/property-sentence-terminal (Depends-on,
33718         configure.ac): Likewise.
33719         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33720         Likewise.
33721         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33722         * modules/unictype/property-terminal-punctuation (Depends-on,
33723         configure.ac): Likewise.
33724         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33725         Likewise.
33726         * modules/unictype/property-unassigned-code-value (Depends-on,
33727         configure.ac): Likewise.
33728         * modules/unictype/property-unified-ideograph (Depends-on,
33729         configure.ac): Likewise.
33730         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33731         Likewise.
33732         * modules/unictype/property-variation-selector (Depends-on,
33733         configure.ac): Likewise.
33734         * modules/unictype/property-white-space (Depends-on, configure.ac):
33735         Likewise.
33736         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33737         Likewise.
33738         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33739         Likewise.
33740         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33741         Likewise.
33742         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33743         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33744         Likewise.
33745
33746 2009-12-31  Bruno Haible  <bruno@clisp.org>
33747
33748         Remove unnecessary AC_C_INLINE invocation.
33749         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33750         since 2009-08-21.
33751
33752 2009-12-31  Jim Meyering  <meyering@redhat.com>
33753
33754         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33755         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33756         With this change, we can all remove the gpg_key_ID = ... definition
33757         from our respective cfg.mk files.
33758
33759         maint.mk: create announcement template in ~/, not in /tmp
33760         * top/maint.mk (emit_upload_commands): Adjust.
33761         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33762         Remove temporary file, .ci-msg.
33763
33764 2009-12-31  Eric Blake  <ebb9@byu.net>
33765
33766         link-warning: always build headers with link warnings
33767         * modules/arpa_inet (Makefile.am): Always build replacement
33768         header.
33769         * modules/ctype (Makefile.am): Likewise.
33770         * modules/dirent (Makefile.am): Likewise.
33771         * modules/inttypes (Makefile.am): Likewise.
33772         * modules/langinfo (Makefile.am): Likewise.
33773         * modules/locale (Makefile.am): Likewise.
33774         * modules/spawn (Makefile.am): Likewise.
33775         * modules/sys_file (Makefile.am): Likewise.
33776         * modules/sys_ioctl (Makefile.am): Likewise.
33777         * modules/sys_select (Makefile.am): Likewise.
33778         * modules/sys_socket (Makefile.am): Likewise.
33779         * modules/sys_times (Makefile.am): Likewise.
33780         * modules/sys_utsname (Makefile.am): Likewise.
33781         * modules/sys_wait (Makefile.am): Likewise.
33782         * modules/wchar (Makefile.am): Likewise.
33783         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33784         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33785         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33786         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33787         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33788         Likewise.
33789         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33790         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33791         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33792         Likewise.
33793         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33794         Likewise.
33795         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33796         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33797         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33798         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33799         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33800         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33801         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33802         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33803         (gl_WCHAR_H_DEFAULTS): Likewise.
33804
33805 2009-12-31  Eric Blake  <ebb9@byu.net>
33806
33807         signal, spawn: use link warnings
33808         * lib/signal.in.h (sigset_t): Make unconditional.
33809         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33810         (sigpending, sigprocmask, sigaction): Add link warnings.
33811         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33812         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33813         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33814         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33815         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33816         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33817         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33818         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33819         (posix_spawn_file_actions_destroy)
33820         (posix_spawn_file_actions_addopen)
33821         (posix_spawn_file_actions_addclose)
33822         (posix_spawn_file_actions_adddup2): Likewise.
33823         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33824         * tests/test-signal.c (main): Enhance test.
33825
33826         spawn: improve wrapper support
33827         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33828         (gl_SPAWN_H_DEFAULTS): New defaults.
33829         * modules/spawn (Makefile.am): Substitute them.
33830         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33831         Only declare if missing or broken.
33832
33833         sys_times, sys_utsname: use include_next
33834         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33835         header.
33836         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33837         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33838         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33839         * modules/sys_times (Depends-on): Add include_next.
33840         (Makefile.am): Substitute additional values.
33841         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33842         * lib/sys_times.in.h (includes): Include native header, if
33843         available.
33844         * lib/sys_utsname.in.h (includes): Likewise.
33845         * tests/test-sys_times.c (main): Enhance test.
33846
33847         fdutimensat: revert prior patch
33848         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33849         utimens.h.
33850         Reported by Bruno Haible.
33851
33852 2009-12-30  Eric Blake  <ebb9@byu.net>
33853
33854         sys_wait: drop link-warning dependency
33855         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33856         link-warning efforts.
33857         * lib/sys_wait.in.h: Likewise.
33858
33859         fdutimensat: remove bogus dependency
33860         * modules/fdutimensat (Depends-on): Drop inline.
33861
33862         unistd: fix typo
33863         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33864
33865 2009-12-30  Bruno Haible  <bruno@clisp.org>
33866
33867         Fix compilation error with Solaris cc.
33868         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33869         * lib/unicase/u16-is-invariant.c: Likewise.
33870         * lib/unicase/u32-is-invariant.c: Likewise.
33871         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33872
33873 2009-12-30  Bruno Haible  <bruno@clisp.org>
33874
33875         Fix test crash.
33876         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33877         locales.
33878         Reported by Simon Josefsson <simon@josefsson.org>.
33879
33880 2009-12-30  Bruno Haible  <bruno@clisp.org>
33881
33882         Fix compilation error on most platforms.
33883         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33884         Reported by Simon Josefsson <simon@josefsson.org>
33885         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33886
33887 2009-12-30  Eric Blake  <ebb9@byu.net>
33888
33889         futimens, utimensat: work around ntfs-3g bug
33890         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33891         a ctime bug is present, and expand workaround to cover ntfs-3g.
33892         * lib/utimens.c (fdutimens, lutimens): Likewise.
33893         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33894         (validate_timespec): Adjust return value.
33895         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33896         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33897         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33898
33899 2009-12-29  Eric Blake  <ebb9@byu.net>
33900
33901         link-warning: make usage consistent
33902         * modules/ctype (Depends-on): Add link-warning.
33903         (Makefile.am): Update rules accordingly.
33904         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33905         * modules/locale (Depends-on, Makefile.am): Likewise.
33906         * modules/sys_file (Makefile.am): Likewise.
33907         * modules/getopt-posix (Makefile.am): Delete unused link warning
33908         efforts.
33909         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33910         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33911         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33912         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33913
33914         stdio: remove unused variables
33915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33916         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33917         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33918
33919         tests: test more substitute headers
33920         * modules/ctype-tests: New file.
33921         * modules/dirent-tests: Likewise.
33922         * modules/spawn-tests: Likewise.
33923         * modules/sys_file-tests: Likewise.
33924         * modules/sys_ioctl-tests: Likewise.
33925         * modules/sys_wait-tests: Likewise.
33926         * tests/test-ctype.c: Likewise.
33927         * tests/test-dirent.c: Likewise.
33928         * tests/test-spawn.c: Likewise.
33929         * tests/test-sys_file.c: Likewise.
33930         * tests/test-sys_ioctl.c: Likewise.
33931         * tests/test-sys_wait.c: Likewise.
33932         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33933         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33934         whether or not flock is in use.
33935
33936         tests: remove License section from module
33937         * modules/arpa_inet-tests: Remove unneeded section.
33938         * modules/byteswap-tests: Likewise.
33939         * modules/ceilf-tests: Likewise.
33940         * modules/ceill-tests: Likewise.
33941         * modules/crypto/des-tests: Likewise.
33942         * modules/crypto/gc-arcfour-tests: Likewise.
33943         * modules/crypto/gc-arctwo-tests: Likewise.
33944         * modules/crypto/gc-des-tests: Likewise.
33945         * modules/crypto/gc-hmac-md5-tests: Likewise.
33946         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33947         * modules/crypto/gc-md2-tests: Likewise.
33948         * modules/crypto/gc-md4-tests: Likewise.
33949         * modules/crypto/gc-md5-tests: Likewise.
33950         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33951         * modules/crypto/gc-rijndael-tests: Likewise.
33952         * modules/crypto/gc-sha1-tests: Likewise.
33953         * modules/crypto/gc-tests: Likewise.
33954         * modules/crypto/md2-tests: Likewise.
33955         * modules/crypto/md4-tests: Likewise.
33956         * modules/fcntl-h-tests: Likewise.
33957         * modules/floorf-tests: Likewise.
33958         * modules/floorl-tests: Likewise.
33959         * modules/frexp-nolibm-tests: Likewise.
33960         * modules/frexp-tests: Likewise.
33961         * modules/frexpl-nolibm-tests: Likewise.
33962         * modules/frexpl-tests: Likewise.
33963         * modules/getaddrinfo-tests: Likewise.
33964         * modules/inttypes-tests: Likewise.
33965         * modules/isfinite-tests: Likewise.
33966         * modules/isinf-tests: Likewise.
33967         * modules/ldexpl-tests: Likewise.
33968         * modules/locale-tests: Likewise.
33969         * modules/math-tests: Likewise.
33970         * modules/netdb-tests: Likewise.
33971         * modules/netinet_in-tests: Likewise.
33972         * modules/printf-frexp-tests: Likewise.
33973         * modules/printf-frexpl-tests: Likewise.
33974         * modules/priv-set-tests: Likewise.
33975         * modules/random_r-tests: Likewise.
33976         * modules/round-tests: Likewise.
33977         * modules/roundf-tests: Likewise.
33978         * modules/roundl-tests: Likewise.
33979         * modules/search-tests: Likewise.
33980         * modules/select-tests: Likewise.
33981         * modules/signal-tests: Likewise.
33982         * modules/stdbool-tests: Likewise.
33983         * modules/stddef-tests: Likewise.
33984         * modules/stdint-tests: Likewise.
33985         * modules/stdio-tests: Likewise.
33986         * modules/stdlib-tests: Likewise.
33987         * modules/string-tests: Likewise.
33988         * modules/strings-tests: Likewise.
33989         * modules/sys_select-tests: Likewise.
33990         * modules/sys_socket-tests: Likewise.
33991         * modules/sys_stat-tests: Likewise.
33992         * modules/sys_time-tests: Likewise.
33993         * modules/sys_utsname-tests: Likewise.
33994         * modules/sysexits-tests: Likewise.
33995         * modules/time-tests: Likewise.
33996         * modules/trunc-tests: Likewise.
33997         * modules/truncf-tests: Likewise.
33998         * modules/truncl-tests: Likewise.
33999         * modules/tsearch-tests: Likewise.
34000         * modules/unistd-tests: Likewise.
34001         * modules/wchar-tests: Likewise.
34002         * modules/wctype-tests: Likewise.
34003
34004         tests: fix license on several tests
34005         * tests/test-des.c: Update to GPLv3+.
34006         * tests/test-flock.c: Likewise.
34007         * tests/test-fsync.c: Likewise.
34008         * tests/test-futimens.h: Likewise.
34009         * tests/test-gc-arcfour.c: Likewise.
34010         * tests/test-gc-arctwo.c: Likewise.
34011         * tests/test-gc-des.c: Likewise.
34012         * tests/test-gc-hmac-md5.c: Likewise.
34013         * tests/test-gc-hmac-sha1.c: Likewise.
34014         * tests/test-gc-md2.c: Likewise.
34015         * tests/test-gc-md4.c: Likewise.
34016         * tests/test-gc-md5.c: Likewise.
34017         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34018         * tests/test-gc-rijndael.c: Likewise.
34019         * tests/test-gc-sha1.c: Likewise.
34020         * tests/test-gc.c: Likewise.
34021         * tests/test-getcwd.c: Likewise.
34022         * tests/test-link.c: Likewise.
34023         * tests/test-link.h: Likewise.
34024         * tests/test-lutimens.h: Likewise.
34025         * tests/test-md2.c: Likewise.
34026         * tests/test-md4.c: Likewise.
34027         * tests/test-mkdir.h: Likewise.
34028         * tests/test-rename.c: Likewise.
34029         * tests/test-rename.h: Likewise.
34030         * tests/test-safe-alloc.c: Likewise.
34031         * tests/test-utimens-common.h: Likewise.
34032         * tests/test-utimens.h: Likewise.
34033
34034         maint: sync license texts
34035         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34036         * doc/gpl-3.0.texi: Revert copyright year update.
34037         * doc/lgpl-3.0.texi: Likewise.
34038
34039 2009-12-29  Jim Meyering  <meyering@redhat.com>
34040
34041         update nearly all FSF copyright year lists to include 2009
34042         The files named by the following are exempted:
34043             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34044               test -f "$dst" && { echo "$dst"; continue; }
34045               test -d "$dst" || continue
34046               echo "$dst"/$(basename "$src")
34047             done > exempt
34048             git ls-files tests/unictype >> exempt
34049         In the remaining files, convert to all-interval notation if
34050         - there is already at least one year interval like 2000-2003
34051         - the file is maintained by me
34052         - the file is in lib/uni*/, where that style already prevails
34053         Otherwise, use update-copyright's default.
34054
34055 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34056         and Eric Blake  <ebb9@byu.net>
34057
34058         tests: don't require debug system() to pass
34059         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34060         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34061         * tests/test-unlink.h (test_unlink_func): Likewise.
34062         * tests/test-fstatat.c (main): ...into callers.
34063         * tests/test-lstat.c (main): Likewise.
34064         * tests/test-rmdir.c (main): Likewise.
34065         * tests/test-unlink.c (main): Likewise.
34066         * tests/test-unlinkat.c (main): Likewise.
34067         * tests/test-areadlink-with-size.c (main): Don't require a
34068         debug-only system call to pass, aiding cross-testing to mingw.
34069         * tests/test-areadlink.c (main): Likewise.
34070         * tests/test-areadlinkat-with-size.c (main): Likewise.
34071         * tests/test-areadlinkat.c (main): Likewise.
34072         * tests/test-canonicalize-lgpl.c (main): Likewise.
34073         * tests/test-canonicalize.c (main): Likewise.
34074         * tests/test-chown.c (main): Likewise.
34075         * tests/test-fchownat.c (main): Likewise.
34076         * tests/test-lchown.c (main): Likewise.
34077         * tests/test-fdutimensat.c (main): Likewise.
34078         * tests/test-futimens.c (main): Likewise.
34079         * tests/test-link.c (main): Likewise.
34080         * tests/test-linkat.c (main): Likewise.
34081         * tests/test-mkdir.c (main): Likewise.
34082         * tests/test-mkdirat.c (main): Likewise.
34083         * tests/test-mkfifo.c (main): Likewise.
34084         * tests/test-mkfifoat.c (main): Likewise.
34085         * tests/test-mknod.c (main): Likewise.
34086         * tests/test-readlink.c (main): Likewise.
34087         * tests/test-remove.c (main): Likewise.
34088         * tests/test-rename.c (main): Likewise.
34089         * tests/test-renameat.c (main): Likewise.
34090         * tests/test-symlink.c (main): Likewise.
34091         * tests/test-symlinkat.c (main): Likewise.
34092         * tests/test-utimens.c (main): Likewise.
34093         * tests/test-utimensat.c (main): Likewise.
34094
34095 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34096
34097         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34098         on $(UNUSED_PARAMETER_H) to avoid build failure.
34099
34100 2009-12-28  Jim Meyering  <meyering@redhat.com>
34101
34102         update-copyright: you may specify a max. line length other than 72
34103         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34104
34105         maint: use consistent FSF copyright line syntax
34106         * lib/posixtm.c: Add missing comma in FSF copyright line.
34107         * lib/posixtm.h: Likewise.
34108         * lib/getugroups.c: Add missing ", Inc.".
34109
34110         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34111         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34112         FSF copyright line.  Remove trailing blanks.
34113
34114 2009-12-28  Eric Blake  <ebb9@byu.net>
34115
34116         test-dup2: reduce dependencies
34117         * modules/cloexec (Configure.ac): Set witness.
34118         * modules/dup2-tests (Depends-on): Drop cloexec.
34119         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34120         not present.
34121         Suggested by Bruno Haible.
34122
34123 2009-12-26  Bruno Haible  <bruno@clisp.org>
34124
34125         Remove an unneeded dependency.
34126         * modules/fseterr (Depends-on): Remove dup2.
34127
34128 2009-12-26  Eric Blake  <ebb9@byu.net>
34129
34130         tests: use macros.h in more places
34131         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34132         (ASSERT_STREAM): Provide default of stderr.
34133         * tests/test-dirent-safer.c: Include macros.h, using alternate
34134         stream for assertions.
34135         * tests/test-dup-safer.c: Likewise.
34136         * tests/test-freopen-safer.c: Likewise.
34137         * tests/test-getopt.c: Likewise.
34138         * tests/test-openat-safer.c: Likewise.
34139         * tests/test-pipe.c: Likewise.
34140         * tests/test-popen-safer.c: Likewise.
34141         * modules/dirent-safer-tests (Files): Include macros.h.
34142         * modules/unistd-safer-tests (Files): Likewise.
34143         * modules/freopen-safer-tests (Files): Likewise.
34144         * modules/getopt-posix-tests (Files): Likewise.
34145         * modules/openat-safer-tests (Files): Likewise.
34146         * modules/pipe-tests (Files): Likewise.
34147
34148 2009-12-26  Bruno Haible  <bruno@clisp.org>
34149
34150         javacomp: Portability fix.
34151         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34152         that it also works on Solaris.
34153
34154 2009-12-26  Bruno Haible  <bruno@clisp.org>
34155
34156         localename: Fix storage allocation of gl_locale_name_thread's result.
34157         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34158         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34159         all platforms that have 'uselocale'.
34160         (gl_locale_name_thread_unsafe): New function, extracted from
34161         gl_locale_name_thread.
34162         (gl_locale_name_thread): Call struniq on all platforms that have
34163         'uselocale'.
34164         * tests/test-localename.c (test_locale_name_thread): Check that the
34165         resulting strings are permanently allocated.
34166         * modules/localename-tests (Depends-on): Add strdup.
34167
34168 2009-12-26  Bruno Haible  <bruno@clisp.org>
34169
34170         * tests/test-localename.c (categories): Fill in the strings.
34171
34172 2009-12-26  Jim Meyering  <meyering@redhat.com>
34173
34174         isdir: complete the removal of m4/isdir.m4
34175         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34176
34177         isdir: clean up, since at least grep still uses it
34178         * lib/isdir.c: Include "isdir.h".
34179         (S_ISDIR): Remove now-unneeded definition.
34180         * modules/isdir (Files): Add lib/isdir.h.
34181         * lib/isdir.h: New file, with declaration.
34182         * m4/isdir.m4: Remove file -- unneeded.
34183
34184 2009-12-25  Bruno Haible  <bruno@clisp.org>
34185
34186         selinux-h: Make generated .h files standalone.
34187         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34188         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34189         * lib/se-selinux.in.h: Likewise.
34190         * modules/selinux-h (Depends-on): Add unused-parameter.
34191         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34192         selinux/selinux.h and selinux/context.h.
34193         Suggested by Eric Blake.
34194
34195 2009-12-25  Bruno Haible  <bruno@clisp.org>
34196
34197         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34198         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34199         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34200         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34201         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34202
34203 2009-12-24  Bruno Haible  <bruno@clisp.org>
34204
34205         openat: Fix warning.
34206         * lib/openat-proc.c: Include <unistd.h>.
34207
34208 2009-12-24  Bruno Haible  <bruno@clisp.org>
34209
34210         New module 'unused-parameter'.
34211         * build-aux/unused-parameter.h: New file, extracted from earlier
34212         gnulib-common.m4.
34213         * modules/unused-parameter: New file.
34214         * lib/unistr.h: Include unused-parameter.h.
34215         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34216         _GL_UNUSED.
34217         * modules/unistr/base (Depends-on): Add unused-parameter.
34218
34219 2009-12-24  Bruno Haible  <bruno@clisp.org>
34220
34221         Add missing dependencies to 'extensions' module.
34222         * m4/extensions.m4: Add comment.
34223         * modules/accept4 (Depends-on): Add extensions.
34224         * modules/dup3 (Depends-on): Likewise.
34225         * modules/fcntl (Depends-on): Likewise.
34226         * modules/futimens (Depends-on): Likewise.
34227         * modules/mknod (Depends-on): Likewise.
34228         * modules/pipe2 (Depends-on): Likewise.
34229         * modules/stat-time (Depends-on): Likewise.
34230         * modules/strcasestr-simple (Depends-on): Likewise.
34231         * modules/strsignal (Depends-on): Likewise.
34232         * modules/utimensat (Depends-on): Likewise.
34233         * modules/localcharset (Depends-on): Likewise. Needed because of
34234         gl_FCNTL_O_FLAGS.
34235         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34236         AC_TYPE_MBSTATE_T.
34237         * modules/wcsnrtombs (Depends-on): Likewise.
34238         * modules/wcsrtombs (Depends-on): Likewise.
34239
34240 2009-12-24  Bruno Haible  <bruno@clisp.org>
34241
34242         binary-io: Avoid gcc warning due to SET_BINARY.
34243         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34244         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34245
34246 2009-12-24  Bruno Haible  <bruno@clisp.org>
34247
34248         Avoid future namespace pollution on glibc systems.
34249         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34250         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34251         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34252         glibc systems.
34253
34254 2009-12-24  Bruno Haible  <bruno@clisp.org>
34255
34256         Refactor common macros used in tests.
34257         * tests/macros.h: New file.
34258         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34259         and/or <stdlib.h>, if appropriate.
34260         (ASSERT, SIZEOF): Remove macros.
34261         * tests/test-areadlink-with-size.c: Likewise.
34262         * tests/test-areadlinkat.c: Likewise.
34263         * tests/test-areadlinkat-with-size.c: Likewise.
34264         * tests/test-argmatch.c: Likewise.
34265         * tests/test-argv-iter.c: Likewise.
34266         * tests/test-array-mergesort.c: Likewise.
34267         * tests/test-array_list.c: Likewise.
34268         * tests/test-array_oset.c: Likewise.
34269         * tests/test-avltree_list.c: Likewise.
34270         * tests/test-avltree_oset.c: Likewise.
34271         * tests/test-avltreehash_list.c: Likewise.
34272         * tests/test-base64.c: Likewise.
34273         * tests/test-binary-io.c: Likewise.
34274         * tests/test-bitrotate.c: Likewise.
34275         * tests/test-btowc.c: Likewise.
34276         * tests/test-byteswap.c: Likewise.
34277         * tests/test-c-ctype.c: Likewise.
34278         * tests/test-c-stack.c: Likewise.
34279         * tests/test-c-strcasecmp.c: Likewise.
34280         * tests/test-c-strcasestr.c: Likewise.
34281         * tests/test-c-strncasecmp.c: Likewise.
34282         * tests/test-c-strstr.c: Likewise.
34283         * tests/test-canonicalize-lgpl.c: Likewise.
34284         * tests/test-canonicalize.c: Likewise.
34285         * tests/test-carray_list.c: Likewise.
34286         * tests/test-ceilf1.c: Likewise.
34287         * tests/test-ceilf2.c: Likewise.
34288         * tests/test-ceill.c: Likewise.
34289         * tests/test-chown.c: Likewise.
34290         * tests/test-cloexec.c: Likewise.
34291         * tests/test-copy-acl.c: Likewise.
34292         * tests/test-copy-file.c: Likewise.
34293         * tests/test-count-one-bits.c: Likewise.
34294         * tests/test-dprintf-posix.c: Likewise.
34295         * tests/test-dup2.c: Likewise.
34296         * tests/test-dup3.c: Likewise.
34297         * tests/test-duplocale.c: Likewise.
34298         * tests/test-fbufmode.c: Likewise.
34299         * tests/test-fchdir.c: Likewise.
34300         * tests/test-fchownat.c: Likewise.
34301         * tests/test-fcntl-safer.c: Likewise.
34302         * tests/test-fcntl.c: Likewise.
34303         * tests/test-fdopendir.c: Likewise.
34304         * tests/test-fdutimensat.c: Likewise.
34305         * tests/test-fflush2.c: Likewise.
34306         * tests/test-file-has-acl.c: Likewise.
34307         * tests/test-filevercmp.c: Likewise.
34308         * tests/test-flock.c: Likewise.
34309         * tests/test-floorf1.c: Likewise.
34310         * tests/test-floorf2.c: Likewise.
34311         * tests/test-floorl.c: Likewise.
34312         * tests/test-fnmatch.c: Likewise.
34313         * tests/test-fopen.h: Likewise.
34314         * tests/test-fpending.c: Likewise.
34315         * tests/test-fprintf-posix.c: Likewise.
34316         * tests/test-fpurge.c: Likewise.
34317         * tests/test-freadable.c: Likewise.
34318         * tests/test-freadahead.c: Likewise.
34319         * tests/test-freading.c: Likewise.
34320         * tests/test-freadptr.c: Likewise.
34321         * tests/test-freadptr2.c: Likewise.
34322         * tests/test-freadseek.c: Likewise.
34323         * tests/test-freopen.c: Likewise.
34324         * tests/test-frexp.c: Likewise.
34325         * tests/test-frexpl.c: Likewise.
34326         * tests/test-fseek.c: Likewise.
34327         * tests/test-fseeko.c: Likewise.
34328         * tests/test-fstatat.c: Likewise.
34329         * tests/test-fstrcmp.c: Likewise.
34330         * tests/test-fsync.c: Likewise.
34331         * tests/test-ftell.c: Likewise.
34332         * tests/test-ftello.c: Likewise.
34333         * tests/test-func.c: Likewise.
34334         * tests/test-futimens.c: Likewise.
34335         * tests/test-fwritable.c: Likewise.
34336         * tests/test-fwriting.c: Likewise.
34337         * tests/test-getcwd.c: Likewise.
34338         * tests/test-getdate.c: Likewise.
34339         * tests/test-getdelim.c: Likewise.
34340         * tests/test-getdtablesize.c: Likewise.
34341         * tests/test-getgroups.c: Likewise.
34342         * tests/test-getline.c: Likewise.
34343         * tests/test-getndelim2.c: Likewise.
34344         * tests/test-glob.c: Likewise.
34345         * tests/test-hash.c: Likewise.
34346         * tests/test-i-ring.c: Likewise.
34347         * tests/test-iconv-utf.c: Likewise.
34348         * tests/test-iconv.c: Likewise.
34349         * tests/test-idpriv-drop.c: Likewise.
34350         * tests/test-idpriv-droptemp.c: Likewise.
34351         * tests/test-inet_ntop.c: Likewise.
34352         * tests/test-inet_pton.c: Likewise.
34353         * tests/test-isblank.c: Likewise.
34354         * tests/test-isfinite.c: Likewise.
34355         * tests/test-isinf.c: Likewise.
34356         * tests/test-isnan.c: Likewise.
34357         * tests/test-isnand.h: Likewise.
34358         * tests/test-isnanf.h: Likewise.
34359         * tests/test-isnanl.h: Likewise.
34360         * tests/test-lchown.c: Likewise.
34361         * tests/test-ldexpl.c: Likewise.
34362         * tests/test-link.c: Likewise.
34363         * tests/test-linkat.c: Likewise.
34364         * tests/test-linked_list.c: Likewise.
34365         * tests/test-linkedhash_list.c: Likewise.
34366         * tests/test-localename.c: Likewise.
34367         * tests/test-lseek.c: Likewise.
34368         * tests/test-lstat.c: Likewise.
34369         * tests/test-mbmemcasecmp.c: Likewise.
34370         * tests/test-mbmemcasecoll.c: Likewise.
34371         * tests/test-mbrtowc.c: Likewise.
34372         * tests/test-mbscasecmp.c: Likewise.
34373         * tests/test-mbscasestr1.c: Likewise.
34374         * tests/test-mbscasestr2.c: Likewise.
34375         * tests/test-mbscasestr3.c: Likewise.
34376         * tests/test-mbscasestr4.c: Likewise.
34377         * tests/test-mbschr.c: Likewise.
34378         * tests/test-mbscspn.c: Likewise.
34379         * tests/test-mbsinit.c: Likewise.
34380         * tests/test-mbsncasecmp.c: Likewise.
34381         * tests/test-mbsnrtowcs.c: Likewise.
34382         * tests/test-mbspbrk.c: Likewise.
34383         * tests/test-mbspcasecmp.c: Likewise.
34384         * tests/test-mbsrchr.c: Likewise.
34385         * tests/test-mbsrtowcs.c: Likewise.
34386         * tests/test-mbsspn.c: Likewise.
34387         * tests/test-mbsstr1.c: Likewise.
34388         * tests/test-mbsstr2.c: Likewise.
34389         * tests/test-mbsstr3.c: Likewise.
34390         * tests/test-memchr.c: Likewise.
34391         * tests/test-memchr2.c: Likewise.
34392         * tests/test-memcmp.c: Likewise.
34393         * tests/test-memmem.c: Likewise.
34394         * tests/test-memrchr.c: Likewise.
34395         * tests/test-mkdir.c: Likewise.
34396         * tests/test-mkdirat.c: Likewise.
34397         * tests/test-mkfifo.c: Likewise.
34398         * tests/test-mkfifoat.c: Likewise.
34399         * tests/test-mknod.c: Likewise.
34400         * tests/test-nanosleep.c: Likewise.
34401         * tests/test-nl_langinfo.c: Likewise.
34402         * tests/test-obstack-printf.c: Likewise.
34403         * tests/test-open.c: Likewise.
34404         * tests/test-openat.c: Likewise.
34405         * tests/test-pipe-filter-gi1.c: Likewise.
34406         * tests/test-pipe-filter-gi2-main.c: Likewise.
34407         * tests/test-pipe-filter-ii1.c: Likewise.
34408         * tests/test-pipe-filter-ii2-main.c: Likewise.
34409         * tests/test-pipe2.c: Likewise.
34410         * tests/test-popen.h: Likewise.
34411         * tests/test-posixtm.c: Likewise.
34412         * tests/test-pread.c: Likewise.
34413         * tests/test-printf-frexp.c: Likewise.
34414         * tests/test-printf-frexpl.c: Likewise.
34415         * tests/test-printf-posix.c: Likewise.
34416         * tests/test-priv-set.c: Likewise.
34417         * tests/test-quotearg.c: Likewise.
34418         * tests/test-random_r.c: Likewise.
34419         * tests/test-rawmemchr.c: Likewise.
34420         * tests/test-rbtree_list.c: Likewise.
34421         * tests/test-rbtree_oset.c: Likewise.
34422         * tests/test-rbtreehash_list.c: Likewise.
34423         * tests/test-readlink.c: Likewise.
34424         * tests/test-remove.c: Likewise.
34425         * tests/test-rename.c: Likewise.
34426         * tests/test-renameat.c: Likewise.
34427         * tests/test-rmdir.c: Likewise.
34428         * tests/test-round1.c: Likewise.
34429         * tests/test-roundf1.c: Likewise.
34430         * tests/test-roundl.c: Likewise.
34431         * tests/test-safe-alloc.c: Likewise.
34432         * tests/test-sameacls.c: Likewise.
34433         * tests/test-set-mode-acl.c: Likewise.
34434         * tests/test-setenv.c: Likewise.
34435         * tests/test-sigaction.c: Likewise.
34436         * tests/test-signbit.c: Likewise.
34437         * tests/test-sleep.c: Likewise.
34438         * tests/test-snprintf-posix.c: Likewise.
34439         * tests/test-snprintf.c: Likewise.
34440         * tests/test-sprintf-posix.c: Likewise.
34441         * tests/test-stat-time.c: Likewise.
34442         * tests/test-stat.c: Likewise.
34443         * tests/test-strcasestr.c: Likewise.
34444         * tests/test-strchrnul.c: Likewise.
34445         * tests/test-strerror.c: Likewise.
34446         * tests/test-striconv.c: Likewise.
34447         * tests/test-striconveh.c: Likewise.
34448         * tests/test-striconveha.c: Likewise.
34449         * tests/test-strsignal.c: Likewise.
34450         * tests/test-strstr.c: Likewise.
34451         * tests/test-strtod.c: Likewise.
34452         * tests/test-strverscmp.c: Likewise.
34453         * tests/test-symlink.c: Likewise.
34454         * tests/test-symlinkat.c: Likewise.
34455         * tests/test-trunc1.c: Likewise.
34456         * tests/test-trunc2.c: Likewise.
34457         * tests/test-truncf1.c: Likewise.
34458         * tests/test-truncf2.c: Likewise.
34459         * tests/test-truncl.c: Likewise.
34460         * tests/test-uname.c: Likewise.
34461         * tests/test-unlink.c: Likewise.
34462         * tests/test-unlinkat.c: Likewise.
34463         * tests/test-unsetenv.c: Likewise.
34464         * tests/test-usleep.c: Likewise.
34465         * tests/test-utimens.c: Likewise.
34466         * tests/test-utimensat.c: Likewise.
34467         * tests/test-vasnprintf-posix.c: Likewise.
34468         * tests/test-vasnprintf-posix2.c: Likewise.
34469         * tests/test-vasnprintf.c: Likewise.
34470         * tests/test-vasprintf-posix.c: Likewise.
34471         * tests/test-vasprintf.c: Likewise.
34472         * tests/test-vdprintf-posix.c: Likewise.
34473         * tests/test-vfprintf-posix.c: Likewise.
34474         * tests/test-vprintf-posix.c: Likewise.
34475         * tests/test-vsnprintf-posix.c: Likewise.
34476         * tests/test-vsnprintf.c: Likewise.
34477         * tests/test-vsprintf-posix.c: Likewise.
34478         * tests/test-wcrtomb.c: Likewise.
34479         * tests/test-wcsnrtombs.c: Likewise.
34480         * tests/test-wcsrtombs.c: Likewise.
34481         * tests/test-wctype.c: Likewise.
34482         * tests/test-wcwidth.c: Likewise.
34483         * tests/test-xfprintf-posix.c: Likewise.
34484         * tests/test-xmemdup0.c: Likewise.
34485         * tests/test-xprintf-posix.c: Likewise.
34486         * tests/test-xvasprintf.c: Likewise.
34487         * tests/unicase/test-locale-language.c: Likewise.
34488         * tests/unicase/test-mapping-part1.h: Likewise.
34489         * tests/unicase/test-predicate-part1.h: Likewise.
34490         * tests/unicase/test-u8-casecmp.c: Likewise.
34491         * tests/unicase/test-u8-casecoll.c: Likewise.
34492         * tests/unicase/test-u8-casefold.c: Likewise.
34493         * tests/unicase/test-u8-is-cased.c: Likewise.
34494         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34495         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34496         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34497         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34498         * tests/unicase/test-u8-tolower.c: Likewise.
34499         * tests/unicase/test-u8-totitle.c: Likewise.
34500         * tests/unicase/test-u8-toupper.c: Likewise.
34501         * tests/unicase/test-u16-casecmp.c: Likewise.
34502         * tests/unicase/test-u16-casecoll.c: Likewise.
34503         * tests/unicase/test-u16-casefold.c: Likewise.
34504         * tests/unicase/test-u16-is-cased.c: Likewise.
34505         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34506         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34507         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34508         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34509         * tests/unicase/test-u16-tolower.c: Likewise.
34510         * tests/unicase/test-u16-totitle.c: Likewise.
34511         * tests/unicase/test-u16-toupper.c: Likewise.
34512         * tests/unicase/test-u32-casecmp.c: Likewise.
34513         * tests/unicase/test-u32-casecoll.c: Likewise.
34514         * tests/unicase/test-u32-casefold.c: Likewise.
34515         * tests/unicase/test-u32-is-cased.c: Likewise.
34516         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34517         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34518         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34519         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34520         * tests/unicase/test-u32-tolower.c: Likewise.
34521         * tests/unicase/test-u32-totitle.c: Likewise.
34522         * tests/unicase/test-u32-toupper.c: Likewise.
34523         * tests/unicase/test-ulc-casecmp.c: Likewise.
34524         * tests/unicase/test-ulc-casecoll.c: Likewise.
34525         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34526         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34527         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34528         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34529         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34530         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34531         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34532         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34533         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34534         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34535         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34536         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34537         * tests/unictype/test-bidi_byname.c: Likewise.
34538         * tests/unictype/test-bidi_name.c: Likewise.
34539         * tests/unictype/test-bidi_of.c: Likewise.
34540         * tests/unictype/test-bidi_test.c: Likewise.
34541         * tests/unictype/test-block_list.c: Likewise.
34542         * tests/unictype/test-block_of.c: Likewise.
34543         * tests/unictype/test-block_test.c: Likewise.
34544         * tests/unictype/test-categ_and.c: Likewise.
34545         * tests/unictype/test-categ_and_not.c: Likewise.
34546         * tests/unictype/test-categ_byname.c: Likewise.
34547         * tests/unictype/test-categ_name.c: Likewise.
34548         * tests/unictype/test-categ_none.c: Likewise.
34549         * tests/unictype/test-categ_of.c: Likewise.
34550         * tests/unictype/test-categ_or.c: Likewise.
34551         * tests/unictype/test-categ_test_withtable.c: Likewise.
34552         * tests/unictype/test-combining.c: Likewise.
34553         * tests/unictype/test-decdigit.c: Likewise.
34554         * tests/unictype/test-digit.c: Likewise.
34555         * tests/unictype/test-mirror.c: Likewise.
34556         * tests/unictype/test-numeric.c: Likewise.
34557         * tests/unictype/test-pr_byname.c: Likewise.
34558         * tests/unictype/test-pr_test.c: Likewise.
34559         * tests/unictype/test-predicate-part1.h: Likewise.
34560         * tests/unictype/test-scripts.c: Likewise.
34561         * tests/unictype/test-sy_c_ident.c: Likewise.
34562         * tests/unictype/test-sy_java_ident.c: Likewise.
34563         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34564         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34565         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34566         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34567         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34568         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34569         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34570         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34571         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34572         * tests/uninorm/test-compat-decomposition.c: Likewise.
34573         * tests/uninorm/test-composition.c: Likewise.
34574         * tests/uninorm/test-decomposing-form.c: Likewise.
34575         * tests/uninorm/test-decomposition.c: Likewise.
34576         * tests/uninorm/test-u8-nfc.c: Likewise.
34577         * tests/uninorm/test-u8-nfd.c: Likewise.
34578         * tests/uninorm/test-u8-nfkc.c: Likewise.
34579         * tests/uninorm/test-u8-nfkd.c: Likewise.
34580         * tests/uninorm/test-u8-normcmp.c: Likewise.
34581         * tests/uninorm/test-u8-normcoll.c: Likewise.
34582         * tests/uninorm/test-u16-nfc.c: Likewise.
34583         * tests/uninorm/test-u16-nfd.c: Likewise.
34584         * tests/uninorm/test-u16-nfkc.c: Likewise.
34585         * tests/uninorm/test-u16-nfkd.c: Likewise.
34586         * tests/uninorm/test-u16-normcmp.c: Likewise.
34587         * tests/uninorm/test-u16-normcoll.c: Likewise.
34588         * tests/uninorm/test-u32-nfc.c: Likewise.
34589         * tests/uninorm/test-u32-nfd.c: Likewise.
34590         * tests/uninorm/test-u32-nfkc.c: Likewise.
34591         * tests/uninorm/test-u32-nfkd.c: Likewise.
34592         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34593         * tests/uninorm/test-u32-normcmp.c: Likewise.
34594         * tests/uninorm/test-u32-normcoll.c: Likewise.
34595         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34596         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34597         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34598         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34599         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34600         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34601         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34602         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34603         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34604         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34605         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34606         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34607         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34608         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34609         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34610         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34611         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34612         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34613         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34614         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34615         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34616         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34617         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34618         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34619         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34620         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34621         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34622         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34623         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34624         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34625         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34626         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34627         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34628         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34629         * tests/uniwidth/test-u8-width.c: Likewise.
34630         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34631         * tests/uniwidth/test-u16-width.c: Likewise.
34632         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34633         * tests/uniwidth/test-u32-width.c: Likewise.
34634         * tests/uniwidth/test-uc_width.c: Likewise.
34635         * tests/uniwidth/test-uc_width2.c: Likewise.
34636         * modules/acl-tests (Files): Add tests/macros.h.
34637         * modules/areadlink-tests (Files): Likewise.
34638         * modules/areadlink-with-size-tests (Files): Likewise.
34639         * modules/areadlinkat-tests (Files): Likewise.
34640         * modules/areadlinkat-with-size-tests (Files): Likewise.
34641         * modules/argmatch-tests (Files): Likewise.
34642         * modules/argv-iter-tests (Files): Likewise.
34643         * modules/array-list-tests (Files): Likewise.
34644         * modules/array-mergesort-tests (Files): Likewise.
34645         * modules/array-oset-tests (Files): Likewise.
34646         * modules/avltree-list-tests (Files): Likewise.
34647         * modules/avltree-oset-tests (Files): Likewise.
34648         * modules/avltreehash-list-tests (Files): Likewise.
34649         * modules/base64-tests (Files): Likewise.
34650         * modules/binary-io-tests (Files): Likewise.
34651         * modules/bitrotate-tests (Files): Likewise.
34652         * modules/btowc-tests (Files): Likewise.
34653         * modules/byteswap-tests (Files): Likewise.
34654         * modules/c-ctype-tests (Files): Likewise.
34655         * modules/c-stack-tests (Files): Likewise.
34656         * modules/c-strcase-tests (Files): Likewise.
34657         * modules/c-strcasestr-tests (Files): Likewise.
34658         * modules/c-strstr-tests (Files): Likewise.
34659         * modules/canonicalize-lgpl-tests (Files): Likewise.
34660         * modules/canonicalize-tests (Files): Likewise.
34661         * modules/carray-list-tests (Files): Likewise.
34662         * modules/ceilf-tests (Files): Likewise.
34663         * modules/ceill-tests (Files): Likewise.
34664         * modules/chown-tests (Files): Likewise.
34665         * modules/cloexec-tests (Files): Likewise.
34666         * modules/copy-file-tests (Files): Likewise.
34667         * modules/count-one-bits-tests (Files): Likewise.
34668         * modules/dprintf-posix-tests (Files): Likewise.
34669         * modules/dup2-tests (Files): Likewise.
34670         * modules/dup3-tests (Files): Likewise.
34671         * modules/duplocale-tests (Files): Likewise.
34672         * modules/fbufmode-tests (Files): Likewise.
34673         * modules/fchdir-tests (Files): Likewise.
34674         * modules/fcntl-safer-tests (Files): Likewise.
34675         * modules/fcntl-tests (Files): Likewise.
34676         * modules/fdopendir-tests (Files): Likewise.
34677         * modules/fdutimensat-tests (Files): Likewise.
34678         * modules/fflush-tests (Files): Likewise.
34679         * modules/filevercmp-tests (Files): Likewise.
34680         * modules/flock-tests (Files): Likewise.
34681         * modules/floorf-tests (Files): Likewise.
34682         * modules/floorl-tests (Files): Likewise.
34683         * modules/fnmatch-tests (Files): Likewise.
34684         * modules/fopen-safer-tests (Files): Likewise.
34685         * modules/fopen-tests (Files): Likewise.
34686         * modules/fpending-tests (Files): Likewise.
34687         * modules/fprintf-posix-tests (Files): Likewise.
34688         * modules/fpurge-tests (Files): Likewise.
34689         * modules/freadable-tests (Files): Likewise.
34690         * modules/freadahead-tests (Files): Likewise.
34691         * modules/freading-tests (Files): Likewise.
34692         * modules/freadptr-tests (Files): Likewise.
34693         * modules/freadseek-tests (Files): Likewise.
34694         * modules/freopen-tests (Files): Likewise.
34695         * modules/frexp-nolibm-tests (Files): Likewise.
34696         * modules/frexp-tests (Files): Likewise.
34697         * modules/frexpl-nolibm-tests (Files): Likewise.
34698         * modules/frexpl-tests (Files): Likewise.
34699         * modules/fseek-tests (Files): Likewise.
34700         * modules/fseeko-tests (Files): Likewise.
34701         * modules/fstrcmp-tests (Files): Likewise.
34702         * modules/fsync-tests (Files): Likewise.
34703         * modules/ftell-tests (Files): Likewise.
34704         * modules/ftello-tests (Files): Likewise.
34705         * modules/func-tests (Files): Likewise.
34706         * modules/futimens-tests (Files): Likewise.
34707         * modules/fwritable-tests (Files): Likewise.
34708         * modules/fwriting-tests (Files): Likewise.
34709         * modules/getcwd-tests (Files): Likewise.
34710         * modules/getdate-tests (Files): Likewise.
34711         * modules/getdelim-tests (Files): Likewise.
34712         * modules/getdtablesize-tests (Files): Likewise.
34713         * modules/getgroups-tests (Files): Likewise.
34714         * modules/getline-tests (Files): Likewise.
34715         * modules/getndelim2-tests (Files): Likewise.
34716         * modules/glob-tests (Files): Likewise.
34717         * modules/hash-tests (Files): Likewise.
34718         * modules/i-ring-tests (Files): Likewise.
34719         * modules/iconv-tests (Files): Likewise.
34720         * modules/iconv_open-utf-tests (Files): Likewise.
34721         * modules/idpriv-drop-tests (Files): Likewise.
34722         * modules/idpriv-droptemp-tests (Files): Likewise.
34723         * modules/inet_ntop-tests (Files): Likewise.
34724         * modules/inet_pton-tests (Files): Likewise.
34725         * modules/isblank-tests (Files): Likewise.
34726         * modules/isfinite-tests (Files): Likewise.
34727         * modules/isinf-tests (Files): Likewise.
34728         * modules/isnan-tests (Files): Likewise.
34729         * modules/isnand-nolibm-tests (Files): Likewise.
34730         * modules/isnand-tests (Files): Likewise.
34731         * modules/isnanf-nolibm-tests (Files): Likewise.
34732         * modules/isnanf-tests (Files): Likewise.
34733         * modules/isnanl-nolibm-tests (Files): Likewise.
34734         * modules/isnanl-tests (Files): Likewise.
34735         * modules/lchown-tests (Files): Likewise.
34736         * modules/ldexpl-tests (Files): Likewise.
34737         * modules/link-tests (Files): Likewise.
34738         * modules/linkat-tests (Files): Likewise.
34739         * modules/linked-list-tests (Files): Likewise.
34740         * modules/linkedhash-list-tests (Files): Likewise.
34741         * modules/localename-tests (Files): Likewise.
34742         * modules/lseek-tests (Files): Likewise.
34743         * modules/lstat-tests (Files): Likewise.
34744         * modules/mbmemcasecmp-tests (Files): Likewise.
34745         * modules/mbmemcasecoll-tests (Files): Likewise.
34746         * modules/mbrtowc-tests (Files): Likewise.
34747         * modules/mbscasecmp-tests (Files): Likewise.
34748         * modules/mbscasestr-tests (Files): Likewise.
34749         * modules/mbschr-tests (Files): Likewise.
34750         * modules/mbscspn-tests (Files): Likewise.
34751         * modules/mbsinit-tests (Files): Likewise.
34752         * modules/mbsncasecmp-tests (Files): Likewise.
34753         * modules/mbsnrtowcs-tests (Files): Likewise.
34754         * modules/mbspbrk-tests (Files): Likewise.
34755         * modules/mbspcasecmp-tests (Files): Likewise.
34756         * modules/mbsrchr-tests (Files): Likewise.
34757         * modules/mbsrtowcs-tests (Files): Likewise.
34758         * modules/mbsspn-tests (Files): Likewise.
34759         * modules/mbsstr-tests (Files): Likewise.
34760         * modules/memchr-tests (Files): Likewise.
34761         * modules/memchr2-tests (Files): Likewise.
34762         * modules/memcmp-tests (Files): Likewise.
34763         * modules/memmem-tests (Files): Likewise.
34764         * modules/memrchr-tests (Files): Likewise.
34765         * modules/mkdir-tests (Files): Likewise.
34766         * modules/mkfifo-tests (Files): Likewise.
34767         * modules/mkfifoat-tests (Files): Likewise.
34768         * modules/mknod-tests (Files): Likewise.
34769         * modules/nanosleep-tests (Files): Likewise.
34770         * modules/nl_langinfo-tests (Files): Likewise.
34771         * modules/obstack-printf-tests (Files): Likewise.
34772         * modules/open-tests (Files): Likewise.
34773         * modules/openat-tests (Files): Likewise.
34774         * modules/pipe-filter-gi-tests (Files): Likewise.
34775         * modules/pipe-filter-ii-tests (Files): Likewise.
34776         * modules/pipe2-tests (Files): Likewise.
34777         * modules/popen-safer-tests (Files): Likewise.
34778         * modules/popen-tests (Files): Likewise.
34779         * modules/posixtm-tests (Files): Likewise.
34780         * modules/pread-tests (Files): Likewise.
34781         * modules/printf-frexp-tests (Files): Likewise.
34782         * modules/printf-frexpl-tests (Files): Likewise.
34783         * modules/printf-posix-tests (Files): Likewise.
34784         * modules/priv-set-tests (Files): Likewise.
34785         * modules/quotearg-tests (Files): Likewise.
34786         * modules/random_r-tests (Files): Likewise.
34787         * modules/rawmemchr-tests (Files): Likewise.
34788         * modules/rbtree-list-tests (Files): Likewise.
34789         * modules/rbtree-oset-tests (Files): Likewise.
34790         * modules/rbtreehash-list-tests (Files): Likewise.
34791         * modules/readlink-tests (Files): Likewise.
34792         * modules/remove-tests (Files): Likewise.
34793         * modules/rename-tests (Files): Likewise.
34794         * modules/renameat-tests (Files): Likewise.
34795         * modules/rmdir-tests (Files): Likewise.
34796         * modules/round-tests (Files): Likewise.
34797         * modules/roundf-tests (Files): Likewise.
34798         * modules/roundl-tests (Files): Likewise.
34799         * modules/safe-alloc-tests (Files): Likewise.
34800         * modules/setenv-tests (Files): Likewise.
34801         * modules/sigaction-tests (Files): Likewise.
34802         * modules/signbit-tests (Files): Likewise.
34803         * modules/sleep-tests (Files): Likewise.
34804         * modules/snprintf-posix-tests (Files): Likewise.
34805         * modules/snprintf-tests (Files): Likewise.
34806         * modules/sprintf-posix-tests (Files): Likewise.
34807         * modules/stat-tests (Files): Likewise.
34808         * modules/stat-time-tests (Files): Likewise.
34809         * modules/strcasestr-tests (Files): Likewise.
34810         * modules/strchrnul-tests (Files): Likewise.
34811         * modules/strerror-tests (Files): Likewise.
34812         * modules/striconv-tests (Files): Likewise.
34813         * modules/striconveh-tests (Files): Likewise.
34814         * modules/striconveha-tests (Files): Likewise.
34815         * modules/strsignal-tests (Files): Likewise.
34816         * modules/strstr-tests (Files): Likewise.
34817         * modules/strtod-tests (Files): Likewise.
34818         * modules/strverscmp-tests (Files): Likewise.
34819         * modules/symlink-tests (Files): Likewise.
34820         * modules/symlinkat-tests (Files): Likewise.
34821         * modules/trunc-tests (Files): Likewise.
34822         * modules/truncf-tests (Files): Likewise.
34823         * modules/truncl-tests (Files): Likewise.
34824         * modules/uname-tests (Files): Likewise.
34825         * modules/unicase/cased-tests (Files): Likewise.
34826         * modules/unicase/ignorable-tests (Files): Likewise.
34827         * modules/unicase/locale-language-tests (Files): Likewise.
34828         * modules/unicase/tolower-tests (Files): Likewise.
34829         * modules/unicase/totitle-tests (Files): Likewise.
34830         * modules/unicase/toupper-tests (Files): Likewise.
34831         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34832         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34833         * modules/unicase/u8-casefold-tests (Files): Likewise.
34834         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34835         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34836         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34837         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34838         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34839         * modules/unicase/u8-tolower-tests (Files): Likewise.
34840         * modules/unicase/u8-totitle-tests (Files): Likewise.
34841         * modules/unicase/u8-toupper-tests (Files): Likewise.
34842         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34843         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34844         * modules/unicase/u16-casefold-tests (Files): Likewise.
34845         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34846         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34847         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34848         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34849         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34850         * modules/unicase/u16-tolower-tests (Files): Likewise.
34851         * modules/unicase/u16-totitle-tests (Files): Likewise.
34852         * modules/unicase/u16-toupper-tests (Files): Likewise.
34853         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34854         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34855         * modules/unicase/u32-casefold-tests (Files): Likewise.
34856         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34857         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34858         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34859         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34860         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34861         * modules/unicase/u32-tolower-tests (Files): Likewise.
34862         * modules/unicase/u32-totitle-tests (Files): Likewise.
34863         * modules/unicase/u32-toupper-tests (Files): Likewise.
34864         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34865         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34866         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34867         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34868         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34869         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34870         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34871         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34872         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34873         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34874         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34875         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34876         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34877         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34878         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34879         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34880         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34881         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34882         * modules/unictype/block-list-tests (Files): Likewise.
34883         * modules/unictype/block-of-tests (Files): Likewise.
34884         * modules/unictype/block-test-tests (Files): Likewise.
34885         * modules/unictype/category-C-tests (Files): Likewise.
34886         * modules/unictype/category-Cc-tests (Files): Likewise.
34887         * modules/unictype/category-Cf-tests (Files): Likewise.
34888         * modules/unictype/category-Cn-tests (Files): Likewise.
34889         * modules/unictype/category-Co-tests (Files): Likewise.
34890         * modules/unictype/category-Cs-tests (Files): Likewise.
34891         * modules/unictype/category-L-tests (Files): Likewise.
34892         * modules/unictype/category-Ll-tests (Files): Likewise.
34893         * modules/unictype/category-Lm-tests (Files): Likewise.
34894         * modules/unictype/category-Lo-tests (Files): Likewise.
34895         * modules/unictype/category-Lt-tests (Files): Likewise.
34896         * modules/unictype/category-Lu-tests (Files): Likewise.
34897         * modules/unictype/category-M-tests (Files): Likewise.
34898         * modules/unictype/category-Mc-tests (Files): Likewise.
34899         * modules/unictype/category-Me-tests (Files): Likewise.
34900         * modules/unictype/category-Mn-tests (Files): Likewise.
34901         * modules/unictype/category-N-tests (Files): Likewise.
34902         * modules/unictype/category-Nd-tests (Files): Likewise.
34903         * modules/unictype/category-Nl-tests (Files): Likewise.
34904         * modules/unictype/category-No-tests (Files): Likewise.
34905         * modules/unictype/category-P-tests (Files): Likewise.
34906         * modules/unictype/category-Pc-tests (Files): Likewise.
34907         * modules/unictype/category-Pd-tests (Files): Likewise.
34908         * modules/unictype/category-Pe-tests (Files): Likewise.
34909         * modules/unictype/category-Pf-tests (Files): Likewise.
34910         * modules/unictype/category-Pi-tests (Files): Likewise.
34911         * modules/unictype/category-Po-tests (Files): Likewise.
34912         * modules/unictype/category-Ps-tests (Files): Likewise.
34913         * modules/unictype/category-S-tests (Files): Likewise.
34914         * modules/unictype/category-Sc-tests (Files): Likewise.
34915         * modules/unictype/category-Sk-tests (Files): Likewise.
34916         * modules/unictype/category-Sm-tests (Files): Likewise.
34917         * modules/unictype/category-So-tests (Files): Likewise.
34918         * modules/unictype/category-Z-tests (Files): Likewise.
34919         * modules/unictype/category-Zl-tests (Files): Likewise.
34920         * modules/unictype/category-Zp-tests (Files): Likewise.
34921         * modules/unictype/category-Zs-tests (Files): Likewise.
34922         * modules/unictype/category-and-not-tests (Files): Likewise.
34923         * modules/unictype/category-and-tests (Files): Likewise.
34924         * modules/unictype/category-byname-tests (Files): Likewise.
34925         * modules/unictype/category-name-tests (Files): Likewise.
34926         * modules/unictype/category-none-tests (Files): Likewise.
34927         * modules/unictype/category-of-tests (Files): Likewise.
34928         * modules/unictype/category-or-tests (Files): Likewise.
34929         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34930         * modules/unictype/combining-class-tests (Files): Likewise.
34931         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34932         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34933         * modules/unictype/ctype-blank-tests (Files): Likewise.
34934         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34935         * modules/unictype/ctype-digit-tests (Files): Likewise.
34936         * modules/unictype/ctype-graph-tests (Files): Likewise.
34937         * modules/unictype/ctype-lower-tests (Files): Likewise.
34938         * modules/unictype/ctype-print-tests (Files): Likewise.
34939         * modules/unictype/ctype-punct-tests (Files): Likewise.
34940         * modules/unictype/ctype-space-tests (Files): Likewise.
34941         * modules/unictype/ctype-upper-tests (Files): Likewise.
34942         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34943         * modules/unictype/decimal-digit-tests (Files): Likewise.
34944         * modules/unictype/digit-tests (Files): Likewise.
34945         * modules/unictype/mirror-tests (Files): Likewise.
34946         * modules/unictype/numeric-tests (Files): Likewise.
34947         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34948         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34949         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34950         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34951         Likewise.
34952         * modules/unictype/property-bidi-block-separator-tests (Files):
34953         Likewise.
34954         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34955         Likewise.
34956         * modules/unictype/property-bidi-common-separator-tests (Files):
34957         Likewise.
34958         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34959         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34960         Likewise.
34961         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34962         Likewise.
34963         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34964         Likewise.
34965         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34966         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34967         Likewise.
34968         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34969         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34970         Likewise.
34971         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34972         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34973         * modules/unictype/property-bidi-segment-separator-tests (Files):
34974         Likewise.
34975         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34976         * modules/unictype/property-byname-tests (Files): Likewise.
34977         * modules/unictype/property-combining-tests (Files): Likewise.
34978         * modules/unictype/property-composite-tests (Files): Likewise.
34979         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34980         * modules/unictype/property-dash-tests (Files): Likewise.
34981         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34982         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34983         Likewise.
34984         * modules/unictype/property-deprecated-tests (Files): Likewise.
34985         * modules/unictype/property-diacritic-tests (Files): Likewise.
34986         * modules/unictype/property-extender-tests (Files): Likewise.
34987         * modules/unictype/property-format-control-tests (Files): Likewise.
34988         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34989         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34990         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34991         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34992         * modules/unictype/property-hyphen-tests (Files): Likewise.
34993         * modules/unictype/property-id-continue-tests (Files): Likewise.
34994         * modules/unictype/property-id-start-tests (Files): Likewise.
34995         * modules/unictype/property-ideographic-tests (Files): Likewise.
34996         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34997         * modules/unictype/property-ids-trinary-operator-tests (Files):
34998         Likewise.
34999         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35000         * modules/unictype/property-iso-control-tests (Files): Likewise.
35001         * modules/unictype/property-join-control-tests (Files): Likewise.
35002         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35003         * modules/unictype/property-line-separator-tests (Files): Likewise.
35004         * modules/unictype/property-logical-order-exception-tests (Files):
35005         Likewise.
35006         * modules/unictype/property-lowercase-tests (Files): Likewise.
35007         * modules/unictype/property-math-tests (Files): Likewise.
35008         * modules/unictype/property-non-break-tests (Files): Likewise.
35009         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35010         * modules/unictype/property-numeric-tests (Files): Likewise.
35011         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35012         * modules/unictype/property-other-default-ignorable-code-point-tests
35013         (Files): Likewise.
35014         * modules/unictype/property-other-grapheme-extend-tests (Files):
35015         Likewise.
35016         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35017         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35018         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35019         * modules/unictype/property-other-math-tests (Files): Likewise.
35020         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35021         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35022         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35023         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35024         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35025         * modules/unictype/property-private-use-tests (Files): Likewise.
35026         * modules/unictype/property-punctuation-tests (Files): Likewise.
35027         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35028         * modules/unictype/property-radical-tests (Files): Likewise.
35029         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35030         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35031         * modules/unictype/property-space-tests (Files): Likewise.
35032         * modules/unictype/property-terminal-punctuation-tests (Files):
35033         Likewise.
35034         * modules/unictype/property-test-tests (Files): Likewise.
35035         * modules/unictype/property-titlecase-tests (Files): Likewise.
35036         * modules/unictype/property-unassigned-code-value-tests (Files):
35037         Likewise.
35038         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35039         * modules/unictype/property-uppercase-tests (Files): Likewise.
35040         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35041         * modules/unictype/property-white-space-tests (Files): Likewise.
35042         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35043         * modules/unictype/property-xid-start-tests (Files): Likewise.
35044         * modules/unictype/property-zero-width-tests (Files): Likewise.
35045         * modules/unictype/scripts-tests (Files): Likewise.
35046         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35047         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35048         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35049         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35050         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35051         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35052         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35053         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35054         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35055         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35056         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35057         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35058         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35059         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35060         * modules/uninorm/composition-tests (Files): Likewise.
35061         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35062         * modules/uninorm/decomposition-tests (Files): Likewise.
35063         * modules/uninorm/filter-tests (Files): Likewise.
35064         * modules/uninorm/nfc-tests (Files): Likewise.
35065         * modules/uninorm/nfd-tests (Files): Likewise.
35066         * modules/uninorm/nfkc-tests (Files): Likewise.
35067         * modules/uninorm/nfkd-tests (Files): Likewise.
35068         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35069         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35070         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35071         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35072         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35073         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35074         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35075         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35076         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35077         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35078         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35079         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35080         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35081         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35082         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35083         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35084         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35085         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35086         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35087         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35088         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35089         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35090         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35091         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35092         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35093         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35094         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35095         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35096         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35097         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35098         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35099         * modules/uniwidth/u8-width-tests (Files): Likewise.
35100         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35101         * modules/uniwidth/u16-width-tests (Files): Likewise.
35102         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35103         * modules/uniwidth/u32-width-tests (Files): Likewise.
35104         * modules/uniwidth/width-tests (Files): Likewise.
35105         * modules/unlink-tests (Files): Likewise.
35106         * modules/unsetenv-tests (Files): Likewise.
35107         * modules/usleep-tests (Files): Likewise.
35108         * modules/utimens-tests (Files): Likewise.
35109         * modules/utimensat-tests (Files): Likewise.
35110         * modules/vasnprintf-posix-tests (Files): Likewise.
35111         * modules/vasnprintf-tests (Files): Likewise.
35112         * modules/vasprintf-posix-tests (Files): Likewise.
35113         * modules/vasprintf-tests (Files): Likewise.
35114         * modules/vdprintf-posix-tests (Files): Likewise.
35115         * modules/vfprintf-posix-tests (Files): Likewise.
35116         * modules/vprintf-posix-tests (Files): Likewise.
35117         * modules/vsnprintf-posix-tests (Files): Likewise.
35118         * modules/vsnprintf-tests (Files): Likewise.
35119         * modules/vsprintf-posix-tests (Files): Likewise.
35120         * modules/wcrtomb-tests (Files): Likewise.
35121         * modules/wcsnrtombs-tests (Files): Likewise.
35122         * modules/wcsrtombs-tests (Files): Likewise.
35123         * modules/wctype-tests (Files): Likewise.
35124         * modules/wcwidth-tests (Files): Likewise.
35125         * modules/xmemdup0-tests (Files): Likewise.
35126         * modules/xprintf-posix-tests (Files): Likewise.
35127         * modules/xvasprintf-tests (Files): Likewise.
35128
35129 2009-12-24  Eric Blake  <ebb9@byu.net>
35130
35131         test-nanosleep: fix typo
35132         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35133         patch.
35134         Reported by Bruno Haible.
35135
35136 2009-12-24  Bruno Haible  <bruno@clisp.org>
35137
35138         Reduce namespace pollution on glibc systems.
35139         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35140         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35141         systems.
35142         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35143         <getopt.h> on glibc systems.
35144         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35145         systems.
35146         * lib/fcntl.c: Include <unistd.h> here instead.
35147
35148 2009-12-24  Bruno Haible  <bruno@clisp.org>
35149
35150         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35151
35152 2009-12-24  Eric Blake  <ebb9@byu.net>
35153
35154         tests: add signature checks
35155         * tests/signature.h (SIGNATURE_CHECK): New file.
35156         * modules/atexit-tests (Files): Use it.
35157         * modules/btowc-tests (Files): Likewise.
35158         * modules/canonicalize-lgpl-tests (Files): Likewise.
35159         * modules/ceilf-tests (Files): Likewise.
35160         * modules/ceill-tests (Files): Likewise.
35161         * modules/chown-tests (Files): Likewise.
35162         * modules/dprintf-posix-tests (Files): Likewise.
35163         * modules/dup2-tests (Files): Likewise.
35164         * modules/dup3-tests (Files): Likewise.
35165         * modules/duplocale-tests (Files): Likewise.
35166         * modules/fchdir-tests (Files): Likewise.
35167         * modules/fcntl-tests (Files): Likewise.
35168         * modules/fdopendir-tests (Files): Likewise.
35169         * modules/fflush-tests (Files): Likewise.
35170         * modules/flock-tests (Files): Likewise.
35171         * modules/floorf-tests (Files): Likewise.
35172         * modules/floorl-tests (Files): Likewise.
35173         * modules/fnmatch-tests (Files): Likewise.
35174         * modules/fopen-tests (Files): Likewise.
35175         * modules/fprintf-posix-tests (Files): Likewise.
35176         * modules/freopen-tests (Files): Likewise.
35177         * modules/frexp-nolibm-tests (Files): Likewise.
35178         * modules/frexp-tests (Files): Likewise.
35179         * modules/frexpl-nolibm-tests (Files): Likewise.
35180         * modules/frexpl-tests (Files): Likewise.
35181         * modules/fseek-tests (Files): Likewise.
35182         * modules/fseeko-tests (Files): Likewise.
35183         * modules/fsync-tests (Files): Likewise.
35184         * modules/ftell-tests (Files): Likewise.
35185         * modules/ftello-tests (Files): Likewise.
35186         * modules/futimens-tests (Files): Likewise.
35187         * modules/getaddrinfo-tests (Files): Likewise.
35188         * modules/getcwd-tests (Files): Likewise.
35189         * modules/getdelim-tests (Files): Likewise.
35190         * modules/getdtablesize-tests (Files): Likewise.
35191         * modules/getgroups-tests (Files): Likewise.
35192         * modules/gethostname-tests (Files): Likewise.
35193         * modules/getline-tests (Files): Likewise.
35194         * modules/getopt-posix-tests (Files): Likewise.
35195         * modules/gettimeofday-tests (Files): Likewise.
35196         * modules/glob-tests (Files): Likewise.
35197         * modules/iconv-tests (Files): Likewise.
35198         * modules/inet_ntop-tests (Files): Likewise.
35199         * modules/inet_pton-tests (Files): Likewise.
35200         * modules/isblank-tests (Files): Likewise.
35201         * modules/lchown-tests (Files): Likewise.
35202         * modules/ldexpl-tests (Files): Likewise.
35203         * modules/link-tests (Files): Likewise.
35204         * modules/linkat-tests (Files): Likewise.
35205         * modules/lseek-tests (Files): Likewise.
35206         * modules/lstat-tests (Files): Likewise.
35207         * modules/mbrtowc-tests (Files): Likewise.
35208         * modules/mbsinit-tests (Files): Likewise.
35209         * modules/mbsnrtowcs-tests (Files): Likewise.
35210         * modules/mbsrtowcs-tests (Files): Likewise.
35211         * modules/memchr-tests (Files): Likewise.
35212         * modules/memcmp-tests (Files): Likewise.
35213         * modules/memmem-tests (Files): Likewise.
35214         * modules/memrchr-tests (Files): Likewise.
35215         * modules/mkdir-tests (Files): Likewise.
35216         * modules/mkfifo-tests (Files): Likewise.
35217         * modules/mkfifoat-tests (Files): Likewise.
35218         * modules/mknod-tests (Files): Likewise.
35219         * modules/nanosleep-tests (Files): Likewise.
35220         * modules/nl_langinfo-tests (Files): Likewise.
35221         * modules/obstack-printf-tests (Files): Likewise.
35222         * modules/open-tests (Files): Likewise.
35223         * modules/openat-tests (Files): Likewise.
35224         * modules/perror-tests (Files): Likewise.
35225         * modules/pipe2-tests (Files): Likewise.
35226         * modules/poll-tests (Files): Likewise.
35227         * modules/popen-tests (Files): Likewise.
35228         * modules/posix_spawn-tests (Files): Likewise.
35229         * modules/posix_spawnp-tests (Files): Likewise.
35230         * modules/pread-tests (Files): Likewise.
35231         * modules/printf-posix-tests (Files): Likewise.
35232         * modules/pty-tests (Files): Likewise.
35233         * modules/random_r-tests (Files): Likewise.
35234         * modules/rawmemchr-tests (Files): Likewise.
35235         * modules/readlink-tests (Files): Likewise.
35236         * modules/remove-tests (Files): Likewise.
35237         * modules/rename-tests (Files): Likewise.
35238         * modules/renameat-tests (Files): Likewise.
35239         * modules/rmdir-tests (Files): Likewise.
35240         * modules/round-tests (Files): Likewise.
35241         * modules/roundf-tests (Files): Likewise.
35242         * modules/roundl-tests (Files): Likewise.
35243         * modules/select-tests (Files): Likewise.
35244         * modules/setenv-tests (Files): Likewise.
35245         * modules/sigaction-tests (Files): Likewise.
35246         * modules/sleep-tests (Files): Likewise.
35247         * modules/snprintf-posix-tests (Files): Likewise.
35248         * modules/snprintf-tests (Files): Likewise.
35249         * modules/sprintf-posix-tests (Files): Likewise.
35250         * modules/stat-tests (Files): Likewise.
35251         * modules/strcasestr-tests (Files): Likewise.
35252         * modules/strchrnul-tests (Files): Likewise.
35253         * modules/strerror-tests (Files): Likewise.
35254         * modules/strsignal-tests (Files): Likewise.
35255         * modules/strstr-tests (Files): Likewise.
35256         * modules/strtod-tests (Files): Likewise.
35257         * modules/strverscmp-tests (Files): Likewise.
35258         * modules/symlink-tests (Files): Likewise.
35259         * modules/symlinkat-tests (Files): Likewise.
35260         * modules/times-tests (Files): Likewise.
35261         * modules/trunc-tests (Files): Likewise.
35262         * modules/truncf-tests (Files): Likewise.
35263         * modules/truncl-tests (Files): Likewise.
35264         * modules/tsearch-tests (Files): Likewise.
35265         * modules/uname-tests (Files): Likewise.
35266         * modules/unlink-tests (Files): Likewise.
35267         * modules/unsetenv-tests (Files): Likewise.
35268         * modules/usleep-tests (Files): Likewise.
35269         * modules/utimensat-tests (Files): Likewise.
35270         * modules/vasprintf-tests (Files): Likewise.
35271         * modules/vdprintf-posix-tests (Files): Likewise.
35272         * modules/vfprintf-posix-tests (Files): Likewise.
35273         * modules/vprintf-posix-tests (Files): Likewise.
35274         * modules/vsnprintf-posix-tests (Files): Likewise.
35275         * modules/vsnprintf-tests (Files): Likewise.
35276         * modules/vsprintf-posix-tests (Files): Likewise.
35277         * modules/wcrtomb-tests (Files): Likewise.
35278         * modules/wcsnrtombs-tests (Files): Likewise.
35279         * modules/wcsrtombs-tests (Files): Likewise.
35280         * modules/wcwidth-tests (Files): Likewise.
35281         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35282         * tests/test-isinf.c (isinf): Likewise.
35283         * tests/test-isnan.c (isnan): Likewise.
35284         * tests/test-signbit.c (signbit): Likewise.
35285         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35286         declaration, either as macro or with correct signature.
35287         (select): Ensure function under test is declared with correct
35288         signature in correct header.
35289         * tests/test-atexit.c (atexit): Likewise.
35290         * tests/test-btowc.c (btowc): Likewise.
35291         * tests/test-canonicalize-lgpl.c (realpath)
35292         (canonicalize_file_name): Likewise.
35293         * tests/test-ceilf1.c (ceilf): Likewise.
35294         * tests/test-ceill.c (ceill): Likewise.
35295         * tests/test-chown.c (chown): Likewise.
35296         * tests/test-dprintf-posix.c (dprintf): Likewise.
35297         * tests/test-dup2.c (dup2): Likewise.
35298         * tests/test-dup3.c (dup3): Likewise.
35299         * tests/test-duplocale.c (duplocale): Likewise.
35300         * tests/test-fchdir.c (fchdir): Likewise.
35301         * tests/test-fchownat.c (fchownat): Likewise.
35302         * tests/test-fcntl.c (fcntl): Likewise.
35303         * tests/test-fdopendir.c (fdopendir): Likewise.
35304         * tests/test-fflush.c (fflush): Likewise.
35305         * tests/test-flock.c (flock): Likewise.
35306         * tests/test-floorf1.c (floorf): Likewise.
35307         * tests/test-floorl.c (floorl): Likewise.
35308         * tests/test-fnmatch.c (fnmatch): Likewise.
35309         * tests/test-fopen.c (fopen): Likewise.
35310         * tests/test-fprintf-posix.c (fprintf): Likewise.
35311         * tests/test-freopen.c (freopen): Likewise.
35312         * tests/test-frexp.c (frexp): Likewise.
35313         * tests/test-frexpl.c (frexpl): Likewise.
35314         * tests/test-fseek.c (fseek): Likewise.
35315         * tests/test-fseeko.c (fseeko): Likewise.
35316         * tests/test-fstatat.c (fstatat): Likewise.
35317         * tests/test-fsync.c (fsync): Likewise.
35318         * tests/test-ftell.c (ftell): Likewise.
35319         * tests/test-ftello.c (ftello): Likewise.
35320         * tests/test-futimens.c (futimens): Likewise.
35321         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35322         (gai_strerror): Likewise.
35323         * tests/test-getcwd.c (getcwd): Likewise.
35324         * tests/test-getdelim.c (getdelim): Likewise.
35325         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35326         * tests/test-getgroups.c (getgroups): Likewise.
35327         * tests/test-gethostname.c (gethostname): Likewise.
35328         * tests/test-getline.c (getline): Likewise.
35329         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35330         Likewise.
35331         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35332         * tests/test-glob.c (glob, globfree): Likewise.
35333         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35334         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35335         * tests/test-inet_pton.c (inet_pton): Likewise.
35336         * tests/test-isblank.c (isblank): Likewise.
35337         * tests/test-lchown.c (lchown): Likewise.
35338         * tests/test-ldexpl.c (ldexpl): Likewise.
35339         * tests/test-link.c (link): Likewise.
35340         * tests/test-linkat.c (linkat): Likewise.
35341         * tests/test-lseek.c (lseek): Likewise.
35342         * tests/test-lstat.c (lstat): Likewise.
35343         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35344         * tests/test-mbsinit.c (mbsinit): Likewise.
35345         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35346         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35347         * tests/test-memchr.c (memchr): Likewise.
35348         * tests/test-memcmp.c (memcmp): Likewise.
35349         * tests/test-memmem.c (memmem): Likewise.
35350         * tests/test-memrchr.c (memrchr): Likewise.
35351         * tests/test-mkdir.c (mkdir): Likewise.
35352         * tests/test-mkdirat.c (mkdirat): Likewise.
35353         * tests/test-mkfifo.c (mkfifo): Likewise.
35354         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35355         * tests/test-mknod.c (mknod): Likewise.
35356         * tests/test-nanosleep.c (nanosleep): Likewise.
35357         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35358         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35359         Likewise.
35360         * tests/test-open.c (open): Likewise.
35361         * tests/test-openat.c (openat): Likewise.
35362         * tests/test-perror.c (perror): Likewise.
35363         * tests/test-pipe2.c (pipe2): Likewise.
35364         * tests/test-poll.c (poll): Likewise.
35365         * tests/test-popen.c (popen, pclose): Likewise.
35366         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35367         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35368         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35369         (posix_spawn_file_actions_destroy)
35370         (posix_spawn_file_actions_addclose)
35371         (posix_spawn_file_actions_addopen)
35372         (posix_spawn_file_actions_adddup2): Likewise.
35373         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35374         * tests/test-pread.c (pread): Likewise.
35375         * tests/test-printf-posix.c (printf): Likewise.
35376         * tests/test-pty.c (openpty, forkpty): Likewise.
35377         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35378         (random_r): Likewise.
35379         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35380         * tests/test-readlink.c (readlink): Likewise.
35381         * tests/test-remove.c (remove): Likewise.
35382         * tests/test-rename.c (rename): Likewise.
35383         * tests/test-renameat.c (renameat): Likewise.
35384         * tests/test-rmdir.c (rmdir): Likewise.
35385         * tests/test-round1.c (round): Likewise.
35386         * tests/test-roundf1.c (roundf): Likewise.
35387         * tests/test-roundl.c (roundl): Likewise.
35388         * tests/test-setenv.c (setenv): Likewise.
35389         * tests/test-sigaction.c (sigaction): Likewise.
35390         * tests/test-sleep.c (sleep): Likewise.
35391         * tests/test-snprintf.c (snprintf): Likewise.
35392         * tests/test-sprintf-posix.c (sprintf): Likewise.
35393         * tests/test-stat.c (stat): Likewise.
35394         * tests/test-stpncpy.c (stpncpy): Likewise.
35395         * tests/test-strcasestr.c (strcasestr): Likewise.
35396         * tests/test-strchrnul.c (strchrnul): Likewise.
35397         * tests/test-strerror.c (strerror): Likewise.
35398         * tests/test-strsignal.c (strsignal): Likewise.
35399         * tests/test-strstr.c (strstr): Likewise.
35400         * tests/test-strtod.c (strtod): Likewise.
35401         * tests/test-strverscmp.c (strverscmp): Likewise.
35402         * tests/test-symlink.c (symlink): Likewise.
35403         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35404         * tests/test-times.c (times): Likewise.
35405         * tests/test-trunc1.c (trunc): Likewise.
35406         * tests/test-truncf1.c (truncf): Likewise.
35407         * tests/test-truncl.c (truncl): Likewise.
35408         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35409         Likewise.
35410         * tests/test-uname.c (uname): Likewise.
35411         * tests/test-unlink.c (unlink): Likewise.
35412         * tests/test-unlinkat.c (unlinkat): Likewise.
35413         * tests/test-unsetenv.c (unsetenv): Likewise.
35414         * tests/test-usleep.c (usleep): Likewise.
35415         * tests/test-utimensat.c (utimensat): Likewise.
35416         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35417         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35418         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35419         * tests/test-vprintf-posix.c (vprintf): Likewise.
35420         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35421         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35422         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35423         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35424         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35425         * tests/test-wcwidth.c (wcwidth): Likewise.
35426
35427         build: pull in conditional headers during GNULIB_POSIXCHECK
35428         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35429         definitions from any conditionally-included headers.
35430         * lib/stdlib.in.h (includes): Likewise.
35431         * lib/unistd.in.h (includes): Likewise.
35432
35433 2009-12-24  Bruno Haible  <bruno@clisp.org>
35434
35435         * tests/test-argv-iter.c: Include header file being tested immediately
35436         after config.h.
35437         * tests/test-base64.c: Likewise.
35438         * tests/test-flock.c: Likewise.
35439         * tests/test-fsync.c: Likewise.
35440         * tests/test-getdate.c: Likewise.
35441         * tests/test-getndelim2.c: Likewise.
35442         * tests/test-isfinite.c: Likewise.
35443         * tests/test-isinf.c: Likewise.
35444         * tests/test-strerror.c: Likewise.
35445         * tests/test-strsignal.c: Likewise.
35446
35447 2009-12-23  Eric Blake  <ebb9@byu.net>
35448
35449         unistd: work around cygwin bug
35450         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35451         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35452         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35453
35454 2009-12-23  Bruno Haible  <bruno@clisp.org>
35455
35456         localename: More tests.
35457         * tests/test-localename.c (SIZEOF): New macro.
35458         (categories): New variable.
35459         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35460         test_locale_name_default): Add test w.r.t. thread locale.
35461         (test_locale_name_thread): New function.
35462         (main): Invoke it.
35463
35464         localename: Make aware of thread locale.
35465         * lib/localename.h (gl_locale_name_thread): New declaration.
35466         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35467         behaviour with respect to thread locale.
35468         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35469         <langinfo.h>, glthread/lock.h.
35470         (SIZE_BITS): New macro.
35471         (string_hash): New function.
35472         (struct hash_node): New type.
35473         (HASH_TABLE_SIZE): New macro.
35474         (struniq_hash_table, struniq_lock): New variables.
35475         (struniq): New function.
35476         (gl_locale_name_thread): New function.
35477         (gl_locale_name): Invoke it.
35478         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35479         * modules/localename (Depends-on): Add lock.
35480         Reported by Mike Gran <spk121@yahoo.com>.
35481
35482 2009-12-23  Eric Blake  <ebb9@byu.net>
35483
35484         va-args: new module
35485         * modules/va-args: New file.
35486         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35487         * MODULES.html.sh (Core language properties): Mention it.
35488
35489         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35490         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35491         named alias for __attribute__((__unused__)).
35492         * lib/chown.c: Update client.
35493         * lib/fchmodat.c: Likewise.
35494         * lib/fts.c: Likewise.
35495         * lib/getdate.y: Likewise.
35496         * lib/getgroups.c: Likewise.
35497         * lib/getopt.c: Likewise.
35498         * lib/getugroups.c: Likewise.
35499         * lib/mkdir.c: Likewise.
35500         * lib/mkfifo.c: Likewise.
35501         * lib/mkfifoat.c: Likewise.
35502         * lib/mknod.c: Likewise.
35503         * lib/mknodat.c: Likewise.
35504         * lib/readlink.c: Likewise.
35505         * lib/se-context.in.h: Likewise.
35506         * lib/se-selinux.in.h: Likewise.
35507         * lib/sockets.c: Likewise.
35508         * lib/symlink.c: Likewise.
35509         * lib/symlinkat.c: Likewise.
35510         * lib/unicodeio.c: Likewise.
35511         * lib/unistr.h: Likewise.
35512         * tests/test-areadlink.c: Likewise.
35513         * tests/test-areadlinkat.c: Likewise.
35514         * tests/test-filenamecat.c: Likewise.
35515         * tests/test-fseeko.c: Likewise.
35516         * tests/test-ftello.c: Likewise.
35517         * tests/test-getdate.c: Likewise.
35518         * tests/test-getgroups.c: Likewise.
35519         * tests/test-gethostname.c: Likewise.
35520         * tests/test-quotearg.c: Likewise.
35521         * tests/test-version-etc.c: Likewise.
35522         * tests/test-xalloc-die.c: Likewise.
35523         * tests/test-xfprintf-posix.c: Likewise.
35524         * tests/test-xprintf-posix.c: Likewise.
35525         * tests/test-xvasprintf.c: Likewise.
35526
35527         tests: avoid compiler warnings
35528         * tests/test-fcntl.c (main): Delete unused parameters.
35529         * tests/test-freopen-safer.c (main): Likewise.
35530         * tests/test-xalloc-die.c (main): Mark unused parameters.
35531         * tests/test-fseeko.c (main): Likewise.
35532         * tests/test-ftello.c (main): Likewise.
35533         * tests/test-nanosleep.c (main): Avoid declaration warning.
35534         * tests/test-sleep.c (main): Likewise.
35535         * tests/test-unsetenv.c (main): Silence warning about string
35536         literal.
35537         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35538
35539 2009-12-23  Bruno Haible  <bruno@clisp.org>
35540
35541         * tests/test-localename.c (test_locale_name): New function, extracted
35542         from main. Also test mixed situations.
35543         (test_locale_name_posix, test_locale_name_environ,
35544         test_locale_name_default): New functions.
35545         (main): Invoke them all.
35546         * modules/localename-tests (configure.ac): Test for newlocale.
35547
35548 2009-12-23  Bruno Haible  <bruno@clisp.org>
35549
35550         unistd: Ensure getcwd gets declared before being overridden.
35551         * lib/unistd.in.h: Conditionally include <io.h>.
35552
35553 2009-12-22  Bruno Haible  <bruno@clisp.org>
35554
35555         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35556         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35557         (gl_WCHAR_H): Invoke it.
35558         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35559         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35560         Reported by Karl Berry <karl@freefriends.org>.
35561
35562 2009-12-22  Eric Blake  <ebb9@byu.net>
35563
35564         math, unistd: avoid redundant includes
35565         * lib/math.in.h (isnan): No need to re-include <math.h>.
35566         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35567
35568         getsubopt: work around cygwin bug
35569         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35570         avoid conflicting with system getsubopt.
35571         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35572         bug.
35573
35574         getopt: synchronize from glibc
35575         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35576         parameter order.  Adjust all callers.
35577         (_getopt_internal_r, main): Adjust quoting in error messages.
35578         Drop considerations for outdated POSIX 1003.2 error message.
35579         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35580         callers.
35581         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35582
35583         test-getopt: test stderr behavior
35584         * modules/getopt-posix-tests (Depends-on): Add dup2.
35585         * tests/test-getopt.c (ASSERT): Avoid stderr.
35586         (main): Move stderr to a temporary file.
35587         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35588         Instead, add parameter to inform caller if output occurred.
35589         (test_getopt): Adjust all existing tests to expect silence, and
35590         add new tests of leading ":".
35591         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35592         glibc shortcomings with leading "-:" or "+:" in optstring.
35593         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35594         Likewise.
35595         * doc/posix-functions/getopt.texi (getopt): Likewise.
35596
35597         test-getopt: enhance test
35598         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35599         supports optind=0.
35600         * tests/test-getopt.c (OPTIND_MIN): Move...
35601         * tests/test-getopt.h (OPTIND_MIN): ...here.
35602         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35603         Require that optind=0 works, since modern BSD supports it in
35604         addition to optreset, and since coreutils expects it.
35605         (test_getopt_long_only): New test.
35606         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35607         glibc shortcomings with 'W;', and enforcement of optind=0.
35608         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35609         Likewise.
35610
35611 2009-12-21  Bruno Haible  <bruno@clisp.org>
35612
35613         localename: Improvements for MacOS X and Cygwin.
35614         * lib/localename.h (gl_locale_name_environ): New declaration.
35615         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35616         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35617         (gl_locale_name_posix): Invoke it.
35618         (gl_locale_name_default): Add comments. Use Windows native API also on
35619         Cygwin.
35620
35621 2009-12-21  Bruno Haible  <bruno@clisp.org>
35622
35623         Update list of Win32 locale ids.
35624         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35625         (LANG_SAMI): Renamed from LANG_SAAMI.
35626         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35627         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35628         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35629         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35630         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35631         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35632         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35633         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35634         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35635         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35636         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35637         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35638         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35639         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35640         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35641         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35642         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35643         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35644         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35645         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35646         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35647         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35648         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35649         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35650         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35651         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35652         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35653         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35654         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35655         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35656         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35657         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35658         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35659         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35660         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35661         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35662         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35663         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35664         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35665         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35666         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35667         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35668         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35669         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35670         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35671         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35672         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35673         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35674         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35675         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35676         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35677         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35678         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35679         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35680         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35681         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35682         Add more languages and countries for Sami, Sorbian. Add more countries
35683         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35684         for Pashto. Change country for Syriac, Tswana.
35685
35686 2009-12-21  Eric Blake  <ebb9@byu.net>
35687
35688         test-utimens: avoid spurious failure
35689         * tests/test-chown.h (nap): Factor...
35690         * tests/nap.h: ...into new file.
35691         * tests/test-lchown.h (nap): Avoid duplication.
35692         * tests/test-utimens-common.h (nap): Use shared implementation,
35693         necessary on file systems with 1-second resolution.
35694         * modules/chown-tests (Files): Include new file.
35695         * modules/fdutimensat-tests (Files): Likewise.
35696         * modules/futimens-tests (Files): Likewise.
35697         * modules/lchown-tests (Files): Likewise.
35698         * modules/openat-tests (Files): Likewise.
35699         * modules/utimens-tests (Files): Likewise.
35700         * modules/utimensat-tests (Files): Likewise.
35701
35702 2009-12-19  Eric Blake  <ebb9@byu.net>
35703
35704         futimens, utimensat: work around Linux bug
35705         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35706         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35707         * lib/utimensat.c (rpl_utimensat): Work around it.
35708         * lib/futimens.c (rpl_futimens): Adjust comment.
35709
35710         utimens: work around Linux ctime bug
35711         * lib/utimens.c (detect_ctime_bug): New helper function.
35712         (update_timespec): Differentiate between workaround needed for
35713         this bug vs. what is needed for systems that lack utimensat.
35714         (fdutimens, lutimens): Work around bug.
35715
35716         utimens: check for ctime update
35717         * tests/test-utimens-common.h (check_ctime): Define.
35718         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35719         * tests/test-futimens.h (test_futimens): Likewise.
35720         * tests/test-lutimens.h (test_lutimens): Likewise.
35721         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35722         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35723
35724 2009-12-19  Bruno Haible  <bruno@clisp.org>
35725
35726         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35727         * tests/test-dprintf-posix2.sh: New file.
35728         * tests/test-dprintf-posix2.c: New file.
35729         * modules/dprintf-posix-tests (Files): Add them.
35730         (configure.ac): Check for getrlimit and setrlimit.
35731         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35732
35733 2009-12-19  Bruno Haible  <bruno@clisp.org>
35734
35735         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35736         * tests/test-fprintf-posix3.sh: New file.
35737         * tests/test-fprintf-posix3.c: New file.
35738         * modules/fprintf-posix-tests (Files): Add them.
35739         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35740
35741 2009-12-19  Eric Blake  <ebb9@byu.net>
35742
35743         dirfd: fix prototype
35744         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35745         * lib/dirfd.c (dirfd): Likewise.
35746
35747         canonicalize: reduce memory usage
35748         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35749         allocation to size.
35750         Reported by Solar Designer <solar@openwall.com>.
35751
35752 2009-12-19  Bruno Haible  <bruno@clisp.org>
35753
35754         New module attribute 'Applicability'.
35755         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35756         * gnulib-tool: New option --extract-applicability.
35757         (func_usage): Document it.
35758         (sed_extract_prog): Recognize it.
35759         (func_get_applicability): New function.
35760         (func_import): Generalize handling of 'link-warning' module.
35761         * modules/link-warning (Applicability): New section.
35762         * modules/arg-nonnull (Applicability): New section.
35763         Repoted by Simon Josefsson <simon@josefsson.org>.
35764
35765 2009-12-19  Bruno Haible  <bruno@clisp.org>
35766
35767         fflush: tweak
35768         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35769         * lib/fseeko.c (rpl_fseeko): Likewise.
35770
35771 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35772
35773         * lib/gl_list.h: Fix typo in comment.
35774
35775 2009-12-16  Eric Blake  <ebb9@byu.net>
35776
35777         fcntl: use to simplify other modules
35778         * modules/cloexec (Depends-on): Add fcntl.
35779         * modules/fchdir (Depends-on): Likewise.
35780         * modules/fd-safer-flag (Depends-on): Likewise.
35781         * modules/unistd-safer (Depends-on): Likewise.
35782         * modules/dup3 (configure.ac): Set module indicator.
35783         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35784         missing.
35785         * lib/fchdir.c (_gl_register_dup): Fix comment.
35786         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35787         * lib/dup-safer.c (dup_safer): Likewise.
35788         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35789         * lib/dup3.c (dup3): Likewise.
35790         * tests/test-fchdir.c (main): Enhance test.
35791         Fixes a dup_cloexec bug reported by Ondřej Vašík.
35792
35793         fcntl: port portions of fcntl to mingw
35794         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35795         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35796         replacement for mingw.
35797         * modules/fcntl (Description): Update.
35798         (Depends-on): Add dup2.
35799         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35800         * modules/fcntl-h (Makefile.am): Substitute it.
35801         * lib/fcntl.in.h (fcntl): Update declaration.
35802         (F_DUPFD, F_GETFD): New macros, when needed.
35803         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35804         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35805         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35806         we now guarantee.
35807
35808         fcntl: work around cygwin bug in F_DUPFD
35809         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35810         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35811         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35812         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35813         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35814
35815         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35816         * modules/fcntl (Files): List new files.
35817         (configure.ac): Run a test.
35818         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35819         * lib/fcntl.c (rpl_fcntl): Likewise.
35820         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35821         (gl_FCNTL_H): Always replace fcntl.h.
35822         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35823         * lib/fcntl.in.h (fcntl): Declare replacement.
35824         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35825         needed, plus a witness.
35826         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35827         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35828         * tests/test-fcntl.c: New file.
35829         * modules/fcntl-tests: Likewise.
35830
35831         binary-io: avoid potential compilation warning
35832         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35833         directives.
35834
35835         fflush: avoid compilation error on NetBSD
35836         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35837         between off_t and fpos_t, since the latter is sometimes a struct.
35838         * lib/fseeko.c (rpl_fseeko): Likewise.
35839         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35840
35841 2009-12-15  Eric Blake  <ebb9@byu.net>
35842
35843         fcntl-h, stdio, sys_ioctl: fix declarations
35844         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35845         function must not take arguments.
35846         * lib/sys_ioctl.in.h (ioctl): Likewise.
35847         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35848         (open): Add a link warning.
35849
35850 2009-12-15  Jim Meyering  <meyering@redhat.com>
35851
35852         areadlink, areadlink-with-size: relax license to LGPLv2+
35853         * modules/areadlink (License): Relax to LGPLv2+.
35854         * modules/areadlink-with-size (License): Likewise.
35855
35856 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35857             Bruno Haible  <bruno@clisp.org>
35858
35859         *printf: Fix memory leak.
35860         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35861         * lib/vfprintf.c (vfprintf): Likewise.
35862         * lib/dprintf.c (dprintf): Likewise.
35863         * lib/vdprintf.c (vdprintf): Likewise.
35864
35865 2009-12-14  Eric Blake  <ebb9@byu.net>
35866
35867         accept4: adjust module dependencies
35868         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35869
35870         utimens: one more try at avoiding compiler warning
35871         * lib/utimens.c (lutimens): Lower scope of result.
35872
35873 2009-12-13  Bruno Haible  <bruno@clisp.org>
35874
35875         Move the malloc checking from module 'list' to new module 'xlist'.
35876         * modules/xlist: New file.
35877         * lib/gl_xlist.h: New file.
35878         * lib/gl_xlist.c: New file.
35879         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35880         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35881         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35882         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35883         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35884         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35885         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35886         gl_sortedlist_nx_add): New declarations.
35887         (struct gl_list_implementation): Rename and change methods accordingly.
35888         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35889         (gl_list_nx_create): Renamed from gl_list_create.
35890         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35891         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35892         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35893         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35894         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35895         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35896         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35897         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35898         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35899         gl_list_create_empty.
35900         (gl_list_nx_create): Renamed from gl_list_create.
35901         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35902         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35903         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35904         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35905         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35906         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35907         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35908         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35909         * lib/gl_array_list.c: Don't include xalloc.h.
35910         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35911         NULL upon out-of-memory.
35912         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35913         out-of-memory.
35914         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35915         Change return type to 'int'.
35916         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35917         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35918         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35919         upon out-of-memory.
35920         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35921         upon out-of-memory.
35922         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35923         upon out-of-memory.
35924         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35925         upon out-of-memory.
35926         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35927         out-of-memory.
35928         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35929         Update.
35930         (gl_array_list_implementation): Update.
35931         * lib/gl_carray_list.c: Don't include xalloc.h.
35932         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35933         Return NULL upon out-of-memory.
35934         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35935         out-of-memory.
35936         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35937         Change return type to 'int'.
35938         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35939         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35940         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35941         upon out-of-memory.
35942         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35943         upon out-of-memory.
35944         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35945         out-of-memory.
35946         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35947         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35948         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35949         Update.
35950         (gl_carray_list_implementation): Update.
35951         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35952         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35953         gl_linked_create_empty. Return NULL upon out-of-memory.
35954         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35955         out-of-memory.
35956         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35957         Change return type to 'int'. Return -1 upon out-of-memory.
35958         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35959         out-of-memory.
35960         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35961         upon out-of-memory.
35962         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35963         upon out-of-memory.
35964         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35965         NULL upon out-of-memory.
35966         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35967         upon out-of-memory.
35968         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35969         out-of-memory.
35970         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35971         Update.
35972         * lib/gl_linked_list.c: Don't include xalloc.h.
35973         (gl_linked_list_implementation): Update.
35974         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35975         (add_to_bucket): Change return type to 'int'.
35976         (gl_linkedhash_list_implementation): Update.
35977         * lib/gl_anytree_list1.h (free_subtree): New function.
35978         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35979         gl_tree_create_empty. Return NULL upon out-of-memory.
35980         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35981         Change return type to 'int'. Return -1 upon out-of-memory.
35982         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35983         out-of-memory.
35984         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35985         (gl_tree_remove_node): New function, moved here from
35986         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35987         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35988         Update.
35989         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35990         malloc, not xmalloc. Return NULL upon out-of-memory.
35991         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35992         out-of-memory.
35993         (gl_tree_remove_node_from_tree): New function, extracted from
35994         gl_tree_remove_node.
35995         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35996         upon out-of-memory.
35997         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35998         out-of-memory.
35999         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36000         upon out-of-memory.
36001         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36002         upon out-of-memory.
36003         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36004         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36005         not xmalloc. Return NULL upon out-of-memory.
36006         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36007         out-of-memory.
36008         (gl_tree_remove_node_from_tree): New function, extracted from
36009         gl_tree_remove_node.
36010         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36011         upon out-of-memory.
36012         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36013         out-of-memory.
36014         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36015         upon out-of-memory.
36016         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36017         upon out-of-memory.
36018         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36019         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36020         gl_anytree_list1.h before gl_anyavltree_list2.h.
36021         (gl_avltree_list_implementation): Update.
36022         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36023         gl_anytree_list1.h before gl_anyavltree_list2.h.
36024         (gl_rbtree_list_implementation): Update.
36025         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36026         Change return type to 'int'. Return -1 upon out-of-memory. Use
36027         __builtin_expect.
36028         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36029         (gl_avltreehash_list_implementation): Update.
36030         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36031         (gl_rbtreehash_list_implementation): Update.
36032         * modules/array-list (Depends-on): Remove xalloc.
36033         * modules/carray-list (Depends-on): Likewise.
36034         * modules/linked-list (Depends-on): Likewise.
36035         * modules/linkedhash-list (Depends-on): Likewise.
36036         * modules/avltree-list (Depends-on): Likewise.
36037         * modules/rbtree-list (Depends-on): Likewise.
36038         * modules/avltreehash-list (Depends-on): Likewise.
36039         * modules/rbtreehash-list (Depends-on): Likewise.
36040
36041         * modules/xsublist: New file.
36042         * lib/gl_xsublist.h: New file.
36043         * lib/gl_xsublist.c: New file.
36044         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36045         (gl_sublist_nx_create): New declaration.
36046         * lib/gl_sublist.c: Don't include xalloc.h.
36047         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36048         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36049         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36050         Change return type to 'int'. Return -1 upon out-of-memory.
36051         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36052         upon out-of-memory.
36053         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36054         NULL upon out-of-memory.
36055         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36056         upon out-of-memory.
36057         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36058         NULL upon out-of-memory.
36059         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36060         NULL upon out-of-memory.
36061         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36062         upon out-of-memory.
36063         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36064         (gl_sublist_list_implementation): Update.
36065         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36066         upon out-of-memory.
36067         * modules/sublist (Depends-on): Remove xalloc.
36068
36069         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36070         * tests/test-carray_list.c: Likewise.
36071         * tests/test-linked_list.c: Likewise.
36072         * tests/test-linkedhash_list.c: Likewise.
36073         * tests/test-avltree_list.c: Likewise.
36074         * tests/test-rbtree_list.c: Likewise.
36075         * tests/test-avltreehash_list.c: Likewise.
36076         * tests/test-rbtreehash_list.c: Likewise.
36077         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36078         * modules/carray-list-tests (Makefile.am): Likewise.
36079         * modules/linked-list-tests (Makefile.am): Likewise.
36080         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36081         * modules/avltree-list-tests (Makefile.am): Likewise.
36082         * modules/rbtree-list-tests (Makefile.am): Likewise.
36083         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36084         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36085
36086         * NEWS: Mention the changes.
36087
36088         * lib/clean-temp.c: Include gl_xlist.h.
36089         * modules/clean-temp (Depends-on): Add xlist.
36090
36091         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36092         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36093
36094         * tests/test-array_oset.c: Include gl_xlist.h.
36095         * modules/array-oset-tests (Depends-on): Add xlist.
36096
36097         Reported by José E. Marchesi <jemarch@gnu.org>.
36098
36099 2009-12-13  Bruno Haible  <bruno@clisp.org>
36100
36101         Move the malloc checking from module 'oset' to new module 'xoset'.
36102         * modules/xoset: New file.
36103         * lib/gl_xoset.h: New file.
36104         * lib/gl_xoset.c: New file.
36105         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36106         declarations.
36107         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36108         (struct gl_oset_implementation): Rename and change methods accordingly.
36109         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36110         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36111         'int'. Mark as __warn_unused_result__.
36112         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36113         gl_oset_create_empty.
36114         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36115         'int'.
36116         * lib/gl_array_oset.c: Don't include xalloc.h.
36117         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36118         malloc, not xmalloc.
36119         (grow): Change return type to 'int'. Don't call xalloc_die.
36120         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36121         to 'int'.
36122         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36123         'int'.
36124         (gl_array_oset_implementation): Update.
36125         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36126         gl_tree_create_empty.
36127         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36128         'int'.
36129         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36130         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36131         xmalloc.
36132         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36133         not xmalloc.
36134         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36135         xmalloc.
36136         (gl_avltree_oset_implementation): Update.
36137         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36138         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36139         xmalloc.
36140         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36141         not xmalloc.
36142         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36143         xmalloc.
36144         (gl_rbtree_oset_implementation): Update.
36145         * modules/array-oset (Depends-on): Remove xalloc.
36146         * modules/avltree-oset (Depends-on): Likewise.
36147         * modules/rbtree-oset (Depends-on): Likewise.
36148         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36149         * tests/test-avltree_oset.c: Likewise.
36150         * tests/test-rbtree_oset.c: Likewise.
36151         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36152         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36153         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36154         * NEWS: Mention the change.
36155
36156 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36157
36158         maint.mk: allow a project to override release-prep commands
36159         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36160         commands into a new rule.
36161         (release-prep): New rule.
36162         (release-prep-hook): New overridable variable.
36163
36164 2009-12-13  Bruno Haible  <bruno@clisp.org>
36165
36166         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36167
36168 2009-12-13  Jim Meyering  <meyering@redhat.com>
36169
36170         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36171         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36172
36173 2009-12-12  Bruno Haible  <bruno@clisp.org>
36174
36175         duplocale: Tweak.
36176         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36177
36178 2009-12-12  Karl Berry  <karl@gnu.org>
36179
36180         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36181
36182 2009-12-12  Bruno Haible  <bruno@clisp.org>
36183
36184         * m4/po.m4: Undo incorrect untabification.
36185
36186 2009-12-12  Bruno Haible  <bruno@clisp.org>
36187
36188         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36189         * modules/c-strtod (Depends-on): Add locale.
36190         * modules/c-strtold (Depends-on): Likewise.
36191
36192 2009-12-12  Bruno Haible  <bruno@clisp.org>
36193
36194         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36195
36196 2009-12-11  Eric Blake  <ebb9@byu.net>
36197
36198         setenv: relax requirement in light of POSIX ruling
36199         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36200         not NULL.
36201         * tests/test-setenv.c (main): Relax test.
36202         * tests/test-unsetenv.c (main): Likewise.
36203         * doc/posix-functions/setenv.texi (setenv): Document this.
36204         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36205
36206 2009-12-11  Bruno Haible  <bruno@clisp.org>
36207
36208         New module 'fd-safer-flag'.
36209         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36210         * lib/dup-safer.c (dup_safer_flag): Remove function.
36211         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36212         * lib/fd-safer.c (fd_safer_flag): Remove function.
36213         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36214         * modules/cloexec (configure.ac): Drop indicator macro.
36215         * modules/fd-safer-flag: New file.
36216         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36217         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36218         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36219
36220 2009-12-11  Bruno Haible  <bruno@clisp.org>
36221
36222         Tests for module 'nl_langinfo'.
36223         * modules/nl_langinfo-tests: New file.
36224         * tests/test-nl_langinfo.sh: New file.
36225         * tests/test-nl_langinfo.c: New file.
36226
36227         New module 'nl_langinfo'.
36228         * lib/nl_langinfo.c: New file.
36229         * m4/nl_langinfo.m4: New file.
36230         * modules/nl_langinfo: New file.
36231         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36232
36233 2009-12-11  Bruno Haible  <bruno@clisp.org>
36234
36235         Tests for module 'langinfo'.
36236         * modules/langinfo-tests: New file.
36237         * tests/test-langinfo.c: New file.
36238
36239         New module 'langinfo'.
36240         * lib/langinfo.in.h: New file.
36241         * m4/langinfo_h.m4: New file.
36242         * modules/langinfo: New file.
36243         * doc/posix-headers/langinfo.texi: Mention the new module.
36244
36245 2009-12-11  Bruno Haible  <bruno@clisp.org>
36246
36247         * lib/config.charset: Untabify.
36248
36249 2009-12-11  Bruno Haible  <bruno@clisp.org>
36250
36251         * modules/unistd-safer (configure.ac): Drop indicator macro.
36252
36253 2009-12-11  Bruno Haible  <bruno@clisp.org>
36254
36255         Move pipe2-safer code to its own file.
36256         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36257         * lib/pipe-safer.c (pipe2_safer): Remove function.
36258         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36259         (Makefile.am): Add it to lib_SOURCES.
36260
36261 2009-12-10  Bruno Haible  <bruno@clisp.org>
36262
36263         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36264
36265 2009-12-10  Bruno Haible  <bruno@clisp.org>
36266
36267         Declare which arguments expect non-NULL values, for GCC and clang.
36268         * build-aux/arg-nonnull.h: New file.
36269         * modules/arg-nonnull: New file.
36270         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36271         (inet_ntop, inet_pton): Use it.
36272         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36273         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36274         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36275         (open, openat): Use it.
36276         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36277         (fnmatch): Use it.
36278         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36279         (getopt, getopt_long, getopt_long_only): Use it.
36280         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36281         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36282         Use it.
36283         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36284         (iconv_open): Use it.
36285         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36286         (strtoimax, strtoumax): Use it.
36287         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36288         (duplocale): Use it.
36289         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36290         (frexp, frexpl): Use it.
36291         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36292         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36293         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36294         (tsearch, tfind, tdelete, twalk): Use it.
36295         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36296         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36297         sigpending): Use it.
36298         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36299         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36300         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36301         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36302         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36303         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36304         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36305         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36306         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36307         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36308         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36309         Use it.
36310         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36311         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36312         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36313         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36314         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36315         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36316         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36317         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36318         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36319         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36320         strtoull, unsetenv): Use it.
36321         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36322         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36323         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36324         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36325         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36326         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36327         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36328         (strcasecmp, strncasecmp): Use it.
36329         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36330         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36331         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36332         rpl_setsockopt): Use it.
36333         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36334         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36335         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36336         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36337         (gettimeofday): Use it.
36338         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36339         (times): Use it.
36340         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36341         (uname): Use it.
36342         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36343         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36344         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36345         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36346         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36347         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36348         unlinkat, write): Use it.
36349         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36350         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36351         * lib/argv-iter.h: Include arg-nonnull.h.
36352         (_ATTRIBUTE_NONNULL_): Remove macro.
36353         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36354         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36355         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36356         optimization.
36357         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36358         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36359         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36360         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36361         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36362         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36363         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36364         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36365         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36366         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36367         * modules/dirent (Depends-on): Add arg-nonnull.
36368         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36369         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36370         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36371         * modules/fnmatch (Depends-on): Add arg-nonnull.
36372         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36373         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36374         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36375         * modules/glob (Depends-on): Add arg-nonnull.
36376         (Makefile.am): Insert arg-nonnull.h into glob.h.
36377         * modules/iconv_open (Depends-on): Add arg-nonnull.
36378         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36379         * modules/inttypes (Depends-on): Add arg-nonnull.
36380         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36381         * modules/locale (Depends-on): Add arg-nonnull.
36382         (Makefile.am): Insert arg-nonnull.h into locale.h.
36383         * modules/math (Depends-on): Add arg-nonnull.
36384         (Makefile.am): Insert arg-nonnull.h into math.h.
36385         * modules/netdb (Depends-on): Add arg-nonnull.
36386         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36387         * modules/search (Depends-on): Add arg-nonnull.
36388         (Makefile.am): Insert arg-nonnull.h into search.h.
36389         * modules/signal (Depends-on): Add arg-nonnull.
36390         (Makefile.am): Insert arg-nonnull.h into signal.h.
36391         * modules/spawn (Depends-on): Add arg-nonnull.
36392         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36393         * modules/stdio (Depends-on): Add arg-nonnull.
36394         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36395         * modules/stdlib (Depends-on): Add arg-nonnull.
36396         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36397         * modules/string (Depends-on): Add arg-nonnull.
36398         (Makefile.am): Insert arg-nonnull.h into string.h.
36399         * modules/strings (Depends-on): Add arg-nonnull.
36400         (Makefile.am): Insert arg-nonnull.h into strings.h.
36401         * modules/sys_socket (Depends-on): Add arg-nonnull.
36402         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36403         * modules/sys_stat (Depends-on): Add arg-nonnull.
36404         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36405         * modules/sys_time (Depends-on): Add arg-nonnull.
36406         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36407         * modules/sys_times (Depends-on): Add arg-nonnull.
36408         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36409         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36410         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36411         * modules/time (Depends-on): Add arg-nonnull.
36412         (Makefile.am): Insert arg-nonnull.h into time.h.
36413         * modules/unistd (Depends-on): Add arg-nonnull.
36414         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36415         * modules/wchar (Depends-on): Add arg-nonnull.
36416         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36417         * modules/argv-iter (Depends-on): Add arg-nonnull.
36418         * tests/test-canonicalize.c (null_ptr): New function.
36419         (main): Use it.
36420         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36421         (main): Use it.
36422         * tests/test-memmem.c (null_ptr): New function.
36423         (main): Use it.
36424         Reported by Jim Meyering.
36425
36426 2009-12-10  Bruno Haible  <bruno@clisp.org>
36427
36428         Use spaces for indentation, not tabs.
36429         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36430         * m4/*.m4: Untabify.
36431         * build-aux/*.h: Untabify.
36432         * tests/**/*.[hc]: Untabify.
36433         * README: New section "Indent with spaces, not TABs", based on
36434         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36435         * NEWS: Mention the change.
36436
36437 2009-12-10  Bruno Haible  <bruno@clisp.org>
36438
36439         pty test: Fix link error.
36440         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36441         test_pty_LDADD.
36442
36443 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36444
36445         * modules/pty: New file.
36446         * modules/pty-tests: New file.
36447         * m4/pty.m4: New file.
36448         * tests/test-pty.c: New file.
36449         * doc/glibc-headers/pty.texi: Modified.
36450         * doc/glibc-functions/forkpty.texi: Modified.
36451         * doc/glibc-functions/openpty.texi: Modified.
36452
36453 2009-12-10  Bruno Haible  <bruno@clisp.org>
36454
36455         Avoid syntax error in C++ mode.
36456         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36457
36458 2009-12-10  Bruno Haible  <bruno@clisp.org>
36459
36460         Use sed with option -e.
36461         * gnulib-tool (func_version, func_emit_copyright_notice,
36462         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36463         option -e to sed.
36464         * modules/link-warning (Makefile.am): Likewise.
36465
36466 2009-12-10  Jim Meyering  <meyering@redhat.com>
36467
36468         mgetgroups: do not write bytes beyond end of malloc'd buffer
36469         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36470         username, we call getgroups with a one-element-shorter buffer,
36471         but still told it the length was original, max_n_groups.
36472
36473 2009-12-09  Eric Blake  <ebb9@byu.net>
36474
36475         cloexec: relax license
36476         * modules/cloexec (Maintainer): Add myself.
36477         (License): Use LGPL, not GPL.
36478
36479         link-warning: optimize generation
36480         * modules/link-warning (Makefile.am): Reduce process usage.
36481
36482 2009-12-09  Bruno Haible  <bruno@clisp.org>
36483
36484         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36485         workaround was added on 2009-11-17.
36486
36487 2009-12-09  Jim Meyering  <meyering@redhat.com>
36488             Bruno Haible  <bruno@clisp.org>
36489
36490         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36491         * modules/link-warning (Makefile.am): Make the comment-removing sed
36492         command more robust in the face of bootstrap-prepended comment lines.
36493
36494 2009-12-09  Bruno Haible  <bruno@clisp.org>
36495
36496         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36497         most one group.
36498
36499 2009-12-09  Simon Josefsson <simon@josefsson.org>
36500             Bruno Haible  <bruno@clisp.org>
36501
36502         * build-aux/link-warning.h: Add copyright notice.
36503         * modules/link-warning (Makefile.am): Generate link-warning.h from
36504         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36505         * NEWS: Mention change in link-warning module.
36506         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36507         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36508         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36509         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36510         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36511         * modules/math (Makefile.am): Add dependency to math.h.
36512         * modules/search (Makefile.am): Add dependency to search.h.
36513         * modules/signal (Makefile.am): Add dependency to signal.h.
36514         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36515         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36516         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36517         * modules/string (Makefile.am): Add dependency to string.h.
36518         * modules/strings (Makefile.am): Add dependency to strings.h.
36519         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36520         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36521         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36522         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36523         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36524         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36525         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36526         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36527         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36528
36529 2009-12-09  Bruno Haible  <bruno@clisp.org>
36530
36531         fchdir: Optimize away rpl_fstat when possible.
36532         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36533         REPLACE_OPEN_DIRECTORY.
36534         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36535
36536 2009-12-09  Bruno Haible  <bruno@clisp.org>
36537
36538         * lib/fchdir.c: Update comment.
36539
36540 2009-12-09  Bruno Haible  <bruno@clisp.org>
36541
36542         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36543
36544 2009-12-08  Eric Blake  <ebb9@byu.net>
36545
36546         fchdir: avoid memory leak on re-registration.
36547         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36548
36549 2009-12-08  Jim Meyering  <meyering@redhat.com>
36550
36551         init.sh: avoid Solaris 10 /bin/sh portability problem
36552         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36553         sourced script:
36554           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36555           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36556           bar
36557         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36558         and two tests used that idiom.
36559         * tests/init.sh: Update suggested usage comments.
36560         (path_prepend_): New function, to be used in place
36561         of the --src-path=DIR option.
36562         (setup_): Move PATH-prepending code into path_prepend_.
36563         * tests/test-pread.sh: Adapt to new usage.
36564         * tests/test-xalloc-die.sh: Likewise.
36565
36566 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36567
36568         * doc/gnulib.texi (Glibc pty.h): Add.
36569         * doc/glibc-functions/forkpty.texi: Add.
36570         * doc/glibc-functions/openpty.texi: Add.
36571         Suggested by Bruno Haible.
36572
36573 2009-12-08  Eric Blake  <ebb9@byu.net>
36574
36575         fchdir: fix logic bugs
36576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36577         * tests/test-fchdir.c (main): Enhance test.
36578         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36579         is in use.
36580
36581         dup2: fix logic bugs
36582         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36583         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36584         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36585         exists.
36586         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36587
36588 2009-12-07  Eric Blake  <ebb9@byu.net>
36589
36590         unlink: fix m4 detection
36591         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36592
36593         unistd-safer: add unit test
36594         * modules/unistd-safer-tests: New file.
36595         * tests/test-dup-safer.c: Likewise.
36596         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36597         * tests/test-dup2.c (setmode): Likewise.
36598         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36599
36600         cloexec: preserve text vs. binary across dup_cloexec
36601         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36602         mode.
36603         * modules/dup2-tests (Depends-on): Add binary-io.
36604         * modules/cloexec-tests (Depends-on): Likewise.
36605         * tests/test-dup2.c (setmode, is_mode): New helpers.
36606         (main): Add tests that translation mode is preserved.
36607         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36608         Reported by Bruno Haible.
36609
36610         mgetgroups: reduce duplicate listings
36611         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36612         resulting array.
36613         * tests/test-chown.h (test_chown): Simplify client.
36614         * tests/test-lchown.h (test_lchown): Likewise.
36615
36616 2009-12-06  Bruno Haible  <bruno@clisp.org>
36617
36618         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36619         value.
36620
36621 2009-12-06  Bruno Haible  <bruno@clisp.org>
36622
36623         * lib/progname.c: Include stdio.h, stdlib.h.
36624         (set_program_name): Reject a NULL argument.
36625
36626 2009-12-05  Eric Blake  <ebb9@byu.net>
36627
36628         pipe2-safer: new module
36629         * modules/pipe2-safer: New file.
36630         * lib/unistd-safer.h (pipe2_safer): New prototype.
36631         * lib/unistd--.h (pipe2): New wrapper.
36632         * lib/pipe-safer.c (pipe2_safer): New function.
36633         * modules/pipe (Depends-on): Add pipe2-safer.
36634         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36635
36636         stdlib-safer: preserve cloexec flag for mkostemp[s]
36637         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36638         fd_safer_flag.
36639
36640         unistd-safer: allow preservation of cloexec status via flag
36641         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36642         prototypes.
36643         * lib/dup-safer.c (dup_safer_flag): New function.
36644         * lib/fd-safer.c (fd_safer_flag): Likewise.
36645         * modules/cloexec (configure.ac): Set witness.
36646
36647         test-dup2: enhance test
36648         * modules/dup2-tests (Depends-on): Add cloexec.
36649         * tests/test-dup2.c (main): Enhance test.
36650
36651         cloexec: add dup_cloexec
36652         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36653         header and comments.
36654         * lib/cloexec.c (set_cloexec_flag): Add comments.
36655         (dup_cloexec): New function, with mingw implementation borrowed
36656         from...
36657         * lib/w32spawn.h (dup_noinherit): ...here.
36658         * modules/execute (Depends-on): Add cloexec.
36659         * modules/pipe (Depends-on): Likewise.
36660         * modules/cloexec (Depends-on): Add dup2.
36661         * modules/cloexec-tests (Files): New file.
36662         * tests/test-cloexec.c: Likewise.
36663
36664         test-xalloc-die: fix test for mingw
36665         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36666         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36667         directory and .exe suffix off argv[0] output.
36668
36669         test-fseeko: fix test for mingw
36670         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36671         than undefining fseek, so test will pass on mingw.
36672
36673 2009-12-05  Bruno Haible  <bruno@clisp.org>
36674
36675         * lib/progname.h (set_program_name): Clarify specification.
36676         * lib/progname.c (set_program_name): Likewise.
36677         Reported by Jim Meyering.
36678
36679 2009-12-05  Jim Meyering  <meyering@redhat.com>
36680
36681         maint.mk: backslash-escape parens in default regexp
36682         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36683         backslash-escape the literal parentheses.
36684
36685         maint.mk: news-date-check: use grep -E
36686         * top/maint.mk (today): Define a Make variable, not a...
36687         (news-date-check): ...shell variable.
36688         (news-date-regexp): Use the Make variable.
36689         Use grep's -E option.  Change the failing diagnostic to mention
36690         the variable, $(news-date-regexp).
36691
36692 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36693
36694         maintainer-makefile: allow customization of NEWS entry format
36695         * top/maint.mk (news-date-regexp): New overridable variable.
36696         (news-date-check): Use it.
36697
36698 2009-12-04  Eric Blake  <ebb9@byu.net>
36699
36700         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36701         * lib/mgetgroups.h (xgetgroups): New prototype.
36702         * lib/mgetgroups.c (xgetgroups): New wrapper.
36703         (mgetgroups): Handle ENOSYS.
36704         * modules/mgetgroups (Depends-on): Add realloc.
36705         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36706
36707         mgetgroups: avoid argument promotion issues with -1
36708         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36709         for invalid gid_t.
36710         * tests/test-chown.h (getegid, test_chown): Likewise.
36711         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36712
36713 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36714
36715         exclude: Fix header file problems.
36716         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36717
36718 2009-12-01  Jim Meyering  <meyering@redhat.com>
36719
36720         fts: fts_open: do not let an empty string cause immediate failure
36721         This is required in support of GNU rm, for which the command
36722         "rm A '' B" must process and remove both A and B, in spite of
36723         the empty string argument.
36724         * lib/fts.c (fts_open): Do not let the presence of an empty string
36725         cause fts_open to fail immediately.  Most fts-using tools must be
36726         able to process all arguments, in order, and can be expected to
36727         diagnose such arguments themselves.
36728
36729 2009-11-30  Eric Blake  <ebb9@byu.net>
36730
36731         utimens: fix compilation error
36732         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36733         Declare variable at right scope.
36734
36735 2009-11-29  Jim Meyering  <meyering@redhat.com>
36736
36737         bootstrap: handle perl-5.11's changed --version output
36738         * build-aux/bootstrap (get_version): Handle perl separately,
36739         since perl-5.11's --version output is different.
36740
36741 2009-11-28  Jim Meyering  <meyering@redhat.com>
36742
36743         userspec: depend on the inttostr module, too
36744         * modules/userspec (Depends-on): Add inttostr.
36745
36746         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36747         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36748         number of MAXUID when it evaluates to (uid_t) -1.
36749         Likewise for group ID.  Reported by Matt McCutchen in
36750         <http://savannah.gnu.org/bugs/?28113>
36751
36752         userspec: reformat to use spaces, not TABs
36753         * lib/userspec.c: Expand TABs to spaces.
36754         Add Emacs' "indent-tabs-mode: nil" hint.
36755
36756 2009-11-27  Eric Blake  <ebb9@byu.net>
36757
36758         getopt-gnu: flush out another BSD bug
36759         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36760         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36761         flush out BSD bug.
36762         * tests/test-getopt.h (test_getopt): End lists with NULL.
36763         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36764         (test_getopt_long_posix): Enhance test.
36765         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36766         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36767         getopt-gnu.
36768         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36769         Likewise.
36770
36771 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36772
36773         * modules/idpriv-droptemp-tests (Notice): Fix text.
36774
36775 2009-11-27  Jim Meyering  <meyering@redhat.com>
36776
36777         test-xalloc-die: avoid spurious failure due to libtool argv difference
36778         In a libtool-enabled project, this test would fail due to a difference
36779         in the emitted program name, e.g.,
36780         -test-xalloc-die: memory exhausted
36781         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36782         Use program to avoid that.
36783         * modules/xalloc-die-tests (Depends-on): Add progname.
36784         * tests/test-xalloc-die.c: Include progname.h".
36785         (program_name): Remove decl.
36786         (main): Call set_program_name.
36787         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36788
36789 2009-11-26  Richard Jones  <rjones@redhat.com>
36790
36791         w32sock: leave win32 error in place.
36792         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36793
36794 2009-11-26  Eric Blake  <ebb9@byu.net>
36795
36796         init.sh: suggest to use skip_ and fail_ functions in comments
36797         * tests/init.sh: Add a sentence.
36798
36799 2009-11-25  Bruno Haible  <bruno@clisp.org>
36800
36801         init.sh: add documentation in comments
36802         * tests/init.sh: Add some developer and user documentation.
36803
36804 2009-11-26  Jim Meyering  <meyering@redhat.com>
36805
36806         init.sh: accommodate even those who specify bogus srcdir manually
36807         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36808         configure-time tests to be sanitized, so that there is no need to
36809         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36810         (with no double quotes) suffices.  However, since tests may be
36811         invoked manually, and since you may explicitly set srcdir to the
36812         name of a directory containing spaces, do quote its uses here.
36813         * tests/test-pread.sh: Likewise.
36814         Suggested by Bruno Haible.
36815
36816         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36817         * tests/test-pread.sh: Write no data into the pipe, because
36818         test-pread actually reads none.  This avoids a diagnostic,
36819         "bash: echo: write error: Broken pipe", that arises in the unusual
36820         event something is ignoring SIGPIPE, and might be interpreted
36821         as some sort of failure.  Reported by Bruno Haible.
36822
36823 2009-11-25  Jim Meyering  <meyering@redhat.com>
36824
36825         test-pread: cover failure with ESPIPE and EINVAL
36826         * tests/test-pread.c (main): Test for failure, too.
36827         * tests/test-pread.sh: Invoke with stdin on a pipe.
36828         Suggested by Eric Blake.
36829
36830         pread: improvement and fix
36831         * modules/pread (Depends-on): Depend on lseek, for portability to
36832         e.g., mingw.  Suggested by Eric Blake.
36833         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36834
36835         unistd.in.h: correct declaration of pread
36836         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36837         Reported by Richard W.M. Jones.
36838
36839         test-pread.sh: distribute the test script
36840         * modules/pread-tests (Files): Include test-pread.sh.
36841
36842         test-pread.sh: clean up
36843         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36844         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36845         That is unnecessary, since it's always ".".
36846         Suggestion from Eric Blake.
36847
36848         test-pread.sh: make executable
36849         * tests/test-pread.sh: Set executable bit.
36850         Reported by Eric Blake.
36851
36852         correct typo in test-pread.sh
36853         * tests/test-pread.sh: Add #! line.
36854
36855         test pread
36856         * tests/test-pread.c: New file.
36857         * tests/test-pread.sh: Likewise.
36858         * modules/pread-tests: Likewise.
36859
36860         pread: new module
36861         * modules/pread: New file.
36862         * lib/unistd.in.h (pread): Define/declare.
36863         * lib/pread.c (pread): New file.
36864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36865         * modules/unistd (Makefile.am): Substitute witnesses.
36866         * doc/posix-functions/pread.texi (pread): Update.
36867         * MODULES.html.sh: Add pread.
36868
36869 2009-11-25  Jim Meyering  <meyering@redhat.com>
36870
36871         tests/init.sh: new file to be used via most *.sh tests
36872         * tests/init.sh: New file.
36873
36874 2009-11-25  Eric Blake  <ebb9@byu.net>
36875
36876         utimens: work around older Linux failure with symlinks
36877         * lib/utimens.c (lutimensat_works_really): New variable.
36878         (fdutimens, lutimens): Use it to manage kernels that support
36879         nanosecond times on files, but not on symlinks.
36880         Reported by Ondřej Vašík.
36881
36882         utimes: fix configure grammar
36883         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36884
36885 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36886
36887         regex: Fix fastmap for multibyte character ranges.
36888         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36889         characters when a multibyte character range is included.
36890
36891 2009-11-22  Andy Wingo  <wingo@pobox.com>
36892
36893         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36894         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36895
36896 2009-11-24  Bruno Haible  <bruno@clisp.org>
36897
36898         doc: Most *_l functions exist in MacOS X 10.5.
36899         * doc/posix-functions/duplocale.texi: Update platforms list.
36900         * doc/posix-functions/freelocale.texi: Likewise.
36901         * doc/posix-functions/newlocale.texi: Likewise.
36902         * doc/posix-functions/uselocale.texi: Likewise.
36903         * doc/posix-functions/isalnum_l.texi: Likewise.
36904         * doc/posix-functions/isalpha_l.texi: Likewise.
36905         * doc/posix-functions/isblank_l.texi: Likewise.
36906         * doc/posix-functions/iscntrl_l.texi: Likewise.
36907         * doc/posix-functions/isdigit_l.texi: Likewise.
36908         * doc/posix-functions/isgraph_l.texi: Likewise.
36909         * doc/posix-functions/islower_l.texi: Likewise.
36910         * doc/posix-functions/isprint_l.texi: Likewise.
36911         * doc/posix-functions/ispunct_l.texi: Likewise.
36912         * doc/posix-functions/isspace_l.texi: Likewise.
36913         * doc/posix-functions/isupper_l.texi: Likewise.
36914         * doc/posix-functions/iswalnum_l.texi: Likewise.
36915         * doc/posix-functions/iswalpha_l.texi: Likewise.
36916         * doc/posix-functions/iswblank_l.texi: Likewise.
36917         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36918         * doc/posix-functions/iswctype_l.texi: Likewise.
36919         * doc/posix-functions/iswdigit_l.texi: Likewise.
36920         * doc/posix-functions/iswgraph_l.texi: Likewise.
36921         * doc/posix-functions/iswlower_l.texi: Likewise.
36922         * doc/posix-functions/iswprint_l.texi: Likewise.
36923         * doc/posix-functions/iswpunct_l.texi: Likewise.
36924         * doc/posix-functions/iswspace_l.texi: Likewise.
36925         * doc/posix-functions/iswupper_l.texi: Likewise.
36926         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36927         * doc/posix-functions/isxdigit_l.texi: Likewise.
36928         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36929         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36930         * doc/posix-functions/strcoll_l.texi: Likewise.
36931         * doc/posix-functions/strfmon_l.texi: Likewise.
36932         * doc/posix-functions/strftime_l.texi: Likewise.
36933         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36934         * doc/posix-functions/strxfrm_l.texi: Likewise.
36935         * doc/posix-functions/tolower_l.texi: Likewise.
36936         * doc/posix-functions/toupper_l.texi: Likewise.
36937         * doc/posix-functions/towctrans_l.texi: Likewise.
36938         * doc/posix-functions/towlower_l.texi: Likewise.
36939         * doc/posix-functions/towupper_l.texi: Likewise.
36940         * doc/posix-functions/wcscoll_l.texi: Likewise.
36941         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36942         * doc/posix-functions/wctrans_l.texi: Likewise.
36943         * doc/posix-functions/wctype_l.texi: Likewise.
36944         * doc/glibc-functions/strptime_l.texi: Likewise.
36945         * doc/glibc-functions/strtod_l.texi: Likewise.
36946         * doc/glibc-functions/strtof_l.texi: Likewise.
36947         * doc/glibc-functions/strtol_l.texi: Likewise.
36948         * doc/glibc-functions/strtold_l.texi: Likewise.
36949         * doc/glibc-functions/strtoll_l.texi: Likewise.
36950         * doc/glibc-functions/strtoul_l.texi: Likewise.
36951         * doc/glibc-functions/strtoull_l.texi: Likewise.
36952         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36953         * doc/glibc-functions/wcstod_l.texi: Likewise.
36954         * doc/glibc-functions/wcstof_l.texi: Likewise.
36955         * doc/glibc-functions/wcstol_l.texi: Likewise.
36956         * doc/glibc-functions/wcstold_l.texi: Likewise.
36957         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36958         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36959         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36960
36961 2009-11-24  Bruno Haible  <bruno@clisp.org>
36962
36963         duplocale: Fix logic bug.
36964         * lib/duplocale.c: Don't include <langinfo.h>.
36965         (_NL_LOCALE_NAME): Remove macro.
36966         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36967         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36968
36969 2009-11-23  Jim Meyering  <meyering@redhat.com>
36970
36971         test-update-copyright: don't hard-code /usr/bin/perl
36972         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36973         perl to print the current year.  Gilles Espinasse reported that
36974         the replaced use of perl was hard-coded as /usr/bin/perl.
36975
36976 2009-11-23  Bruno Haible  <bruno@clisp.org>
36977
36978         duplocale: Add support for glibc 2.3.x.
36979         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36980
36981 2009-11-22  Bruno Haible  <bruno@clisp.org>
36982
36983         vasnprintf: Tiny optimization.
36984         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36985         MacOS X.
36986
36987 2009-11-22  Bruno Haible  <bruno@clisp.org>
36988
36989         Tests for module 'duplocale'.
36990         * modules/duplocale-tests: New file.
36991         * tests/test-duplocale.c: New file.
36992
36993         New module 'duplocale'.
36994         * m4/duplocale.m4: New file.
36995         * lib/locale.in.h (duplocale): New declaration.
36996         * lib/duplocale.c: New file.
36997         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36998         gl_LOCALE_H_DEFAULTS): New macros.
36999         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37000         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37001         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37002         REPLACE_DUPLOCALE.
37003         * modules/duplocale: New file.
37004         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37005
37006 2009-11-22  Bruno Haible  <bruno@clisp.org>
37007
37008         * modules/locale-tests (configure.ac): Test for newlocale function.
37009         * tests/test-locale.c: When the system has extended locale functions,
37010         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37011
37012         locale: Make locale_t available when possible.
37013         * lib/locale.in.h: Include <xlocale.h> when it exists.
37014         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37015         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37016         * modules/locale (Depends-on): Add extensions.
37017         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37018         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37019
37020 2009-11-22  Bruno Haible  <bruno@clisp.org>
37021
37022         Add comments.
37023         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37024         invocation.
37025         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37026         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37027         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37028
37029 2009-11-22  Bruno Haible  <bruno@clisp.org>
37030
37031         error: account for the possibility of freopen (stdout).
37032         * lib/error.c: Include <unistd.h>.
37033         (flush_stdout): New function, extracted from error and error_at_line.
37034         Determine stdout's fd dynamically.
37035         (error, error_at_line): Invoke flush_stdout.
37036         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37037         * modules/error (Depends-on): Add unistd.
37038
37039 2009-11-22  Bruno Haible  <bruno@clisp.org>
37040
37041         diffseq: Add comment.
37042         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37043
37044 2009-11-22  Jim Meyering  <meyering@redhat.com>
37045
37046         c-stack: avoid defining an unused static function
37047         * lib/c-stack.c (find_stack_direction): Do not define this function
37048         when it will not be used.
37049
37050         diffseq: avoid spurious gcc warnings
37051         * lib/diffseq.h (IF_LINT2): Define.
37052         (compareseq): Use it to initialize two members of "part".
37053         This avoids two used-uninitialized warnings.
37054
37055 2009-11-21  Jim Meyering  <meyering@redhat.com>
37056
37057         c-stack: avoid "ignoring return value of `write'" warning
37058         * lib/c-stack.c: Include "ignore-value.h".
37059         (die): Explicitly ignore each write return value.
37060         * modules/c-stack (Depends-on): Add ignore-value.
37061
37062 2009-11-21  Bruno Haible  <bruno@clisp.org>
37063
37064         diffseq: reduce scope of variable 'best'.
37065         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37066         variable, earlier used for two different purposes.
37067
37068 2009-11-21  Jim Meyering  <meyering@redhat.com>
37069
37070         diffseq: remove useless assignment to "best"
37071         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37072         assignment.  At that point "best" is already guaranteed to be zero.
37073
37074 2009-11-20  Eric Blake  <ebb9@byu.net>
37075
37076         build: mention ftp redirector in release announcements
37077         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37078         values that used to come from cfg.mk; mention FTP redirect URL.
37079         * build-aux/announce-gen: Mention the mirror list.
37080         Suggested by Karl Berry.
37081
37082         nanosleep: improve port to mingw
37083         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37085         LIB_NANOSLEEP, but only when needed.
37086         * modules/select (Link): Document LIBSOCKET.
37087         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37088         enough.
37089
37090         nanosleep: work around cygwin bug
37091         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37092         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37093         bug.
37094         (getnow): Delete, not needed.
37095         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37096         LIB_CLOCK_GETTIME.
37097         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37098         clock-time, gettime.
37099         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37100         bug.
37101         * modules/nanosleep-tests: New test.
37102         * tests/test-nanosleep.c: New file.
37103
37104         sleep: work around cygwin bug
37105         * lib/sleep.c (rpl_sleep): Work around the bug.
37106         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37107         (gl_PREREQ_SLEEP): Delete unused macro.
37108         * modules/sleep (Depends-on): Add verify.
37109         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37110         * modules/unistd (Makefile.am): Substitute witness.
37111         * lib/unistd.in.h (sleep): Update prototype.
37112         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37113         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37114         * modules/sleep-tests (Depends-on): Check for alarm.
37115
37116 2009-11-20  Jim Meyering  <meyering@redhat.com>
37117
37118         maint.mk: improve sc_prohibit_magic_number_exit
37119         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37120         so it does not match uses like System.exit(1).
37121         Add comments showing how to correct all offenders.
37122
37123 2009-11-19  Eric Blake  <ebb9@byu.net>
37124
37125         xalloc-die-tests: add missing library
37126         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37127
37128         test-xvasprintf: silence compiler warnings
37129         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37130         empty string from gcc.
37131
37132 2009-11-19  Jim Meyering  <meyering@redhat.com>
37133
37134         xfreopen: new module, from coreutils
37135         * modules/xfreopen: New module.
37136         * lib/xfreopen.c: New file.
37137         * lib/xfreopen.h: New file.
37138         * MODULES.html.sh (File stream based Input/Output"): Add it.
37139
37140 2009-11-19  Eric Blake  <ebb9@byu.net>
37141
37142         manywarnings: depend on warnings
37143         * modules/manywarnings (Depends-on): Add warnings.
37144
37145         build: avoid compiler warnings
37146         * lib/select.c (rpl_select): Delete unused variable.
37147         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37148
37149 2009-11-18  Eric Blake  <ebb9@byu.net>
37150
37151         tests: avoid false negative with --with-packager
37152         * tests/test-version-etc.sh: Discard packager information.
37153         * tests/test-argp-version-etc-1.sh: Likewise.
37154         Reported by Mike Frysinger.
37155
37156         utimens: fix regression on Solaris
37157         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37158         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37159         can only change fd timestamps via futimesat.  Instead, use an
37160         additional witness macro to avoid BSD bug.
37161         Reported by Jim Meyering.
37162
37163 2009-11-17  Eric Blake  <ebb9@byu.net>
37164
37165         usleep: use it to simplify tests
37166         * modules/stat-time-tests (Depends-on): Add usleep.
37167         (configure.ac): Drop usleep check.
37168         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37169         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37170         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37171         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37172         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37173         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37174         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37175         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37176         Likewise.
37177         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37178         * tests/test-lchown.h (nap): Likewise.
37179         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37180         * tests/test-stat-time.c (nap): Likewise.
37181         * tests/test-utimens-common.h (nap): Update comments.
37182
37183         usleep: new module
37184         * modules/usleep: New file.
37185         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37186         * lib/usleep.c (usleep): Likewise.
37187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37188         * modules/unistd (Makefile.am): Substitute witnesses.
37189         * lib/unistd.in.h (usleep): Add declaration.
37190         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37191         * MODULES.html.sh (Date and time): Likewise.
37192         * modules/usleep-tests (Depends-on): New test.
37193         * tests/test-usleep.c: New file.
37194
37195         chown: work around OpenBSD bug
37196         * lib/chown.c (rpl_chown): Work around the bug.
37197         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37198         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37199         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37200         * modules/chown (Depends-on): Add stdbool.
37201         * modules/lchown (Depends-on): Likewise.
37202         * doc/posix-functions/chown.texi (chown): Document the bug.
37203         * doc/posix-functions/lchown.texi (lchown): Likewise.
37204         * tests/test-lchown.h (test_chown): Relax test.
37205
37206         mkstemp: avoid conflict with C++ keyword template
37207         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37208         * lib/mkostemp.c (mkostemp): Likewise.
37209         * lib/mkostemps.c (mkostemps): Likewise.
37210         * lib/mkstemp.c (mkstemp): Likewise.
37211         * lib/mkstemps.c (mkstemps): Likewise.
37212
37213         xalloc-die-tests: optimize
37214         * tests/test-xalloc-die.sh: Reduce number of processes.
37215
37216 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37217
37218         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37219         patch from ludo@gnu.org (Ludovic Courtès).
37220
37221 2009-11-17  Jim Meyering  <meyering@redhat.com>
37222
37223         version-etc: use proper license string
37224         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37225         * modules/version-etc-fsf: Likewise.
37226
37227 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37228
37229         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37230         printed to stdout.  Deal with EOL differences.
37231
37232 2009-11-17  Eric Blake  <ebb9@byu.net>
37233
37234         unsetenv: work around Solaris bug
37235         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37236         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37237         Reported by Jim Meyering.
37238
37239         vasnprintf: avoid compiler warnings
37240         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37241         variables.
37242         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37243
37244 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37245
37246         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37247         settings since xalloc-die is no longer the self test,
37248         xalloc-die.sh is.
37249
37250 2009-11-17  Jim Meyering  <meyering@redhat.com>
37251
37252         test-xalloc-die.sh: make the code agree with the commit log
37253         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37254         at the end, just in case you happen to have a test-xalloc-die
37255         program in some other PATH directory.
37256
37257         test-xalloc-die.sh: fix a portability bug
37258         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37259         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37260         Otherwise, argv[0] (as often seen in diagnostics) would be too
37261         system-dependent, sometimes with, and sometimes without the leading "./".
37262
37263         version-etc-fsf: relax license to LGPLv3+
37264         * modules/version-etc-fsf (License): Relax license.
37265
37266 2009-11-16  Eric Blake  <ebb9@byu.net>
37267
37268         xalloc-die-tests: avoid printing null pointer
37269         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37270         shell script.
37271         * tests/test-xalloc-die.c (program_name): Declare.
37272         * tests/test-xalloc-die.sh (tmpfiles): New file.
37273
37274         setenv, unsetenv: work around various bugs
37275         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37276         (setenv) [HAVE_SETENV]: Work around bugs.
37277         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37278         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37279         for bugs.
37280         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37281         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37283         * modules/stdlib (Makefile.am): Update substitutions.
37284         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37285         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37286         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37287         * modules/setenv-tests: New test.
37288         * modules/unsetenv-tests: Likewise.
37289         * tests/test-setenv.c: New file.
37290         * tests/test-unsetenv.c: Likewise.
37291
37292 2009-11-16  Jim Meyering  <meyering@redhat.com>
37293
37294         version-etc: relax license to LGPLv3+
37295         * modules/version-etc (License): Relax license.
37296
37297         better AC_REQUIRE expanded-before-required-warning avoidance
37298         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37299         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37300         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37301         which is no longer needed.
37302
37303 2009-11-16  Eric Blake  <ebb9@byu.net>
37304
37305         test-freading: clean up temporary file
37306         * tests/test-freading.c (main): Remove file on success, and use
37307         ASSERT more liberally.
37308         Reported by Jim Meyering.
37309
37310 2009-11-16  Jim Meyering  <meyering@redhat.com>
37311
37312         avoid new AC_REQUIRE expanded-before-required warnings
37313         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37314         merely using it.
37315         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37316         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37317
37318 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37319
37320         * tests/test-xalloc-die.c: New file.
37321         * modules/xalloc-die-tests: New file.
37322         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37323         XFAIL_TESTS so it can be appended by modules.
37324
37325 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37326
37327         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37328         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37329
37330 2009-11-14  Eric Blake  <ebb9@byu.net>
37331
37332         fnmatch: avoid compiler warning
37333         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37334         to silence compiler warning about mismatch signedness in ?:.
37335         Reported by Robert Millan.
37336
37337         intprops: add double-inclusion guard
37338         * lib/intprops.h: Allow idempotent includes.
37339         Suggested by Bruce Korb.
37340
37341         openat: detect Solaris fchownat bug
37342         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37343         penalizing glibc chownat when only lchownat is broken.
37344         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37345         trailing slash bugs.
37346         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37347         * modules/openat-tests (Files): Include more files.
37348         (Depends-on): Add mgetgroups, sleep, stat-time.
37349         (configure.ac): Add additional checks.
37350         (Makefile.am): Build new test.
37351         * tests/test-fchownat.c: New file.
37352
37353         lchown: detect Solaris and FreeBSD bug
37354         * lib/lchown.c (rpl_lchown): Work around bug.
37355         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37357         * modules/unistd (Makefile.am): Populate it.
37358         * lib/unistd.in.h (lchown): Update declaration.
37359         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37360         * modules/lchown-tests: New file.
37361         * tests/test-lchown.h (test_lchown): Likewise.
37362         * tests/test-lchown.c (main): Likewise.
37363
37364         chown: detect Solaris and FreeBSD bug
37365         * lib/chown.c (rpl_chown): Work around bug.
37366         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37367         (gl_PREREQ_CHOWN): Delete.
37368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37369         * modules/unistd (Makefile.am): Populate it.
37370         * lib/unistd.in.h (chown): Update declaration.
37371         * lib/lchown.c (chown): Update client.
37372         * modules/lchown (Depends-on): Add lstat.
37373         * doc/posix-functions/chown.texi (chown): Document the bug.
37374         * doc/posix-functions/getgroups.texi (getgroups): Document
37375         getgroups pitfall.
37376         * modules/chown-tests: New file.
37377         * tests/test-chown.h (test_chown): Likewise.
37378         * tests/test-chown.c (main): Likewise.
37379
37380 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37381
37382         gnulib-tool: correctly detect absence of m4 directories
37383         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37384
37385 2009-11-14  Jim Meyering  <meyering@redhat.com>
37386
37387         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37388         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37389
37390 2009-11-14  John W. Eaton  <jwe@gnu.org>
37391
37392         strftime.h: wrap funtion declaration in extern "C" block
37393         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37394
37395 2009-11-13  Eric Blake  <ebb9@byu.net>
37396
37397         getgroups: avoid compiler warning
37398         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37399
37400         getgroups: work around FreeBSD bug
37401         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37402         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37403         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37404         * tests/test-getgroups.c (main): Fix buffer overrun.
37405
37406         getgroups: avoid compilation failure
37407         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37408         * modules/getgroups (Depends-on): Add stdint.
37409
37410 2009-11-13  Jim Meyering  <meyering@redhat.com>
37411
37412         test-getgroups: avoid compilation failure
37413         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37414
37415 2009-11-13  Eric Blake  <ebb9@byu.net>
37416
37417         mgetgroups: new module, taken from coreutils
37418         * modules/mgetgroups: New file.
37419         * lib/mgetgroups.h: Likewise.
37420         * lib/mgetgroups.c (mgetgroups): Likewise.
37421         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37422         * MODULES.html.sh (Users and groups): Mention it.
37423
37424         getgroups: don't expose GETGROUPS_T to user
37425         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37426         an element at a time if GETGROUPS_T is wrong size.
37427         * lib/getugroups.h (getugroups): Change signature.
37428         * lib/unistd.in.h (getgroups): Likewise.
37429         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37430         signature needs fixing.
37431         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37432         AC_TYPE_GETGROUPS.
37433         * modules/group-member (Depends-on): Add getgroups.
37434         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37435         (group_member): Rely on getgroups replacement.
37436         * lib/getugroups.c (getugroups): Use gid_t.
37437         * tests/test-getgroups.c (main): Likewise.
37438         * NEWS: Mention the signature change.
37439         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37440         problem with signature.
37441         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37442         GETGROUPS_T is still useful for setgroups.
37443
37444         getgroups, getugroups: provide stubs for mingw
37445         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37446         * lib/getugroups.c (getugroups): Likewise.
37447         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37448         function.  Modernize replacement scheme.
37449         (gl_PREREQ_GETGROUPS): Delete.
37450         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37451         * modules/getgroups (configure.ac): Declare witness.
37452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37453         * modules/unistd (Depends-on): Substitute witness.
37454         * lib/unistd.in.h (getgroups): Declare replacement.
37455
37456         getgroups: avoid calling exit
37457         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37458         drop xalloc.
37459         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37460         dependencies.
37461         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37462         exiting, in the rare case of malloc failure.
37463
37464         getgroups: fix logic error
37465         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37466         has more than 20 groups.
37467         * modules/getgroups-tests: New test.
37468         * tests/test-getgroups.c: New file.
37469
37470 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37471
37472         * tests/test-base64.c: Improve.
37473
37474 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37475
37476         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37477         Blake <ebb9@byu.net>.
37478
37479 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37480
37481         * tests/test-xvasprintf.c: Add %s%s related checks.
37482
37483 2009-11-12  Eric Blake  <ebb9@byu.net>
37484
37485         version-etc: match standards.texi style
37486         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37487         and use <> only for URLs.
37488
37489 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37490
37491         fts: do not fail on a submount during traversal
37492         * lib/fts.c (fts_build): Read the stat info again after opening
37493         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37494         Original report at http://bugzilla.redhat.com/501848.
37495
37496 2009-11-12  Jim Meyering  <meyering@redhat.com>
37497
37498         bootstrap: sync from coreutils
37499         * build-aux/bootstrap (bootstrap_epilogue): New function.
37500         Use git_modules_config in one more place.  This make bootstrap's
37501         --gnulib-srcdir option more useful for testing.
37502
37503         bootstrap: generalize autoheader check
37504         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37505         AC_CONFIG_HEADERS.
37506
37507 2009-11-11  Eric Blake  <ebb9@byu.net>
37508
37509         mkfifoat: use new modules for Solaris and BSD bugs
37510         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37511         * lib/mkfifoat.c (mknodat): Split...
37512         * lib/mknodat.c (mknodat): ...into new file.
37513         * modules/mkfifoat (Files): Ship new file.
37514         (Depends-on): Add mkfifo, mknod.
37515         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37516         (Depends-on): Add symlink.
37517         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37518         redundant with test_mkfifo.h.
37519         (do_mkfifoat, do_mknodat): New helpers.
37520
37521         mknod: new module
37522         * modules/mknod: New file.
37523         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37524         * lib/mknod.c (mknod): Likewise.
37525         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37526         defaults.
37527         * modules/sys_stat (Makefile.am): Substitute them.
37528         * lib/sys_stat.in.h (mknod): Declare replacement.
37529         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37530         Document it.
37531         * doc/posix-functions/mknod.texi (mknod): Likewise.
37532         * modules/mknod-tests: New test.
37533         * tests/test-mknod.c: Likewise.
37534
37535         mkfifo: new module
37536         * modules/mkfifo: New file.
37537         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37538         * lib/mkfifo.c (mkfifo): Likewise.
37539         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37540         defaults.
37541         * modules/sys_stat (Makefile.am): Substitute them.
37542         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37543         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37544         Document it.
37545         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37546         * modules/mkfifo-tests: New test.
37547         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37548         from test-mkfifoat.c.
37549         * tests/test-mkfifo.c: New file.
37550
37551         readlink: detect FreeBSD bug
37552         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37553         slash on symlink.
37554         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37555         * tests/test-readlink.h (test_readlink): Enhance test.
37556
37557         symlink: detect FreeBSD bug
37558         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37559         slash on symlink.
37560         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37561         * tests/test-symlink.h (test_symlink): Enhance test.
37562
37563 2009-11-10  Eric Blake  <ebb9@byu.net>
37564
37565         link: detect FreeBSD bug
37566         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37567         symlink.
37568         * doc/posix-functions/link.texi (link): Document the bug.
37569         * tests/test-link.h (test_link): Enhance test.
37570         * tests/test-linkat.c (main): Update caller.
37571
37572         unlink, remove: detect FreeBSD bug
37573         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37574         slash on symlink.
37575         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37576         * doc/posix-functions/remove.texi (remove): Likewise.
37577         * tests/test-unlink.h (test_unlink): Enhance test.
37578         * tests/test-remove.c (main): Likewise.
37579
37580 2009-11-09  Eric Blake  <ebb9@byu.net>
37581
37582         rename: detect FreeBSD bug
37583         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37584         slash on symlink.
37585         * modules/renameat-tests (Depends-on): Add filenamecat.
37586         * tests/test-rename.h (test_rename): Allow one more errno.
37587         * tests/test-renameat.c (main): Likewise.
37588         * doc/posix-functions/rename.texi (rename): Document the bug.
37589
37590         open: detect FreeBSD bug
37591         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37592         symlink.
37593         * doc/posix-functions/open.texi (open): Document the bug.
37594         * doc/posix-functions/utimes.texi (utimes): Likewise.
37595         * tests/test-open.h (test_open): Add parameters, and test symlink
37596         handling.
37597         * tests/test-open.c (main): Adjust caller.
37598         * tests/test-fcntl-safer.c (main): Likewise.
37599         * modules/open-tests (Depends-on): Add stdbool, symlink.
37600         * modules/fcntl-safer-tests (Depends-on): Likewise.
37601         * tests/test-openat.c (main): Add test-open tests.
37602
37603         stat: detect FreeBSD bug
37604         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37605         symlink.
37606         * doc/posix-functions/stat.texi (stat): Document the bug.
37607         * tests/test-stat.h (test_stat_func): Add argument.
37608         * tests/test-stat.c (main): Adjust caller.
37609         * tests/test-fstatat.c (main): Likewise.
37610         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37611         Reported by Jim Meyering.
37612
37613 2009-11-09  James Youngman  <jay@gnu.org>
37614
37615         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37616         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37617
37618 2009-11-08  Jim Meyering  <meyering@redhat.com>
37619
37620         utimens: remove invalid futimesat call
37621         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37622         It used the file descriptor of the target file as the DIR_FD
37623         parameter and NULL as the file name.  That caused failure with
37624         errno == EFAULT on FreeBSD-8.0-rc2
37625
37626 2009-11-07  Eric Blake  <ebb9@byu.net>
37627
37628         fflush, freadseek: use fseeko, not fseek
37629         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37630         (clear_ungetc_buffer): Avoid potential problems on large files.
37631         * lib/freadseek.c (freadseek): Likewise.
37632         * modules/freadseek (Depends-on): Add fseeko.
37633         * modules/fseek (configure.ac): Set a witness.
37634         * tests/test-fflush.c (main): Use fseeko.
37635         * tests/test-fpurge.c (fseek): Disable link warning.
37636         * tests/test-freadable.c (fseek): Likewise.
37637         * tests/test-freading.c (fseek): Likewise.
37638         * tests/test-fseeko.c (fseek): Likewise.
37639         * tests/test-ftell.c (fseek): Likewise.
37640         * tests/test-ftello.c (fseek): Likewise.
37641         * tests/test-fwritable.c (fseek): Likewise.
37642         * tests/test-fwriting.c (fseek): Likewise.
37643
37644 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37645
37646         * modules/memchr (Depends-on): Drop getpagesize dependency.
37647
37648 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37649
37650         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37651         Reported by Ludovic Courtès.
37652         * build-aux/pmccabe2html: Improve example usage.
37653         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37654
37655 2009-11-06  Jim Meyering  <meyering@redhat.com>
37656
37657         do-release-commit-and-tag: New module.
37658         Automate the release-commit and tag process.
37659         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37660         * modules/do-release-commit-and-tag: New file.
37661         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37662
37663 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37664
37665         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37666         because test-select.c uses inet_pton.
37667
37668 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37669
37670         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37671         GETADDRINFO_LIB.  Bump serial number.
37672         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37673         Suggested by Eric Blake <ebb9@byu.net>.
37674
37675 2009-11-05  Eric Blake  <ebb9@byu.net>
37676
37677         strtod: detect darwin bug
37678         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37679         Reported by Leo Davis.
37680
37681         freopen-safer: new module
37682         * modules/freopen-safer: New module.
37683         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37684         * lib/freopen-safer.c (freopen_safer): New file.
37685         * lib/stdio-safer.h (freopen_safer): New declaration.
37686         * lib/stdio--.h (freopen): New override.
37687         * MODULES.html.sh (File stream based Input/Output): Mention it.
37688         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37689         freopen-safer module.
37690         * doc/posix-functions/stderr.texi (stderr): Likewise.
37691         * doc/posix-functions/stdin.texi (stdin): Likewise.
37692         * doc/posix-functions/stdout.texi (stdout): Likewise.
37693         * modules/freopen-safer-tests: New test.
37694         * tests/test-reopen-safer.c: New file.
37695
37696 2009-11-05  Jim Meyering  <meyering@redhat.com>
37697
37698         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37699         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37700
37701 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37702
37703         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37704
37705 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37706
37707         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37708
37709 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37710
37711         Fix link error.
37712         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37713         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37714
37715 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37716
37717         * tests/test-func.c: Also test value of __func__.
37718
37719 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37720
37721         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37722         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37723
37724 2009-11-05  Bruno Haible  <bruno@clisp.org>
37725
37726         Fix link error.
37727         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37728         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37729         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37730
37731 2009-11-05  Bruno Haible  <bruno@clisp.org>
37732
37733         Tests for module 'inet_pton'.
37734         * modules/inet_pton-tests: New file.
37735         * tests/test-inet_pton.c: New file.
37736
37737 2009-11-05  Bruno Haible  <bruno@clisp.org>
37738
37739         Tests for module 'inet_ntop'.
37740         * modules/inet_ntop-tests: New file.
37741         * tests/test-inet_ntop.c: New file.
37742
37743 2009-11-04  Eric Blake  <ebb9@byu.net>
37744
37745         stdlib-safer: wrap all mkstemp variants
37746         * modules/mkostemp (configure.ac): Set witness.
37747         * modules/mkostemps (configure.ac): Likewise.
37748         * modules/mkstemps (configure.ac): Likewise.
37749         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37750         (mkstemps_safer): Wrap more functions.
37751         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37752         wrapping.
37753         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37754         (mkstemps_safer): Implement the wrappers.
37755
37756         mkstemps, mkostemps: new modules
37757         * modules/mkostemps: New module.
37758         * modules/mkstemps: Likewise.
37759         * lib/mkostemps.c (mkostemps): New file.
37760         * lib/mkstemps.c (mkstemps): Likewise.
37761         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37762         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37763         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37764         * modules/stdlib (Makefile.am): Substitute them.
37765         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37766         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37767         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37768         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37769         * MODULES.html.sh (File system functions): Mention them.
37770
37771         tempname: resync from glibc
37772         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37773         same values for __GT_FILE as glibc.  Abort even when assertions
37774         are disabled.
37775         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37776         match its value otherwise.  Allow idempotent inclusion.
37777         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37778         * lib/mkostemp.c (mkostemp): Likewise.
37779         * lib/mkstemp.c (mkstemp): Likewise.
37780         * lib/tmpfile.c (tmpfile): Likewise.
37781         * NEWS: Document this.
37782
37783         utimens: fix use of futimens on older Linux
37784         * lib/utimens.c (fdutimens): Use updated, rather than original,
37785         timespec to avoid bug in older Linux kernel.
37786         Reported by Simon Josefsson.
37787
37788 2009-11-04  Bruno Haible  <bruno@clisp.org>
37789
37790         Make num_processors more flexible and consistent.
37791         * lib/nproc.h (enum nproc_query): New type.
37792         (num_processors): Add a 'query' argument.
37793         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37794         (num_processors): Add a 'query' argument. Test the value of the
37795         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37796         mingw, count the number of CPUs available for the current process.
37797         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37798         Check for sched_getaffinity and sched_getaffinity_np.
37799         * modules/nproc (Depends-on): Add c-ctype, extensions.
37800         * NEWS: Mention the change.
37801
37802 2009-11-03  Bruno Haible  <bruno@clisp.org>
37803
37804         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37805
37806 2009-11-03  Jim Meyering  <meyering@redhat.com>
37807
37808         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37809         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37810         if it is defined.
37811
37812 2009-11-02  Eric Blake  <ebb9@byu.net>
37813
37814         mktime, timegm: share common declaration
37815         * lib/mktime-internal.h: New file.
37816         * lib/mktime.c: Use it rather than open-coding a declaration.
37817         * lib/timegm.c: Likewise.
37818         * modules/mktime (Files): Ship it.
37819         * modules/timegm (Files): Likewise.
37820         Suggested by Bruno Haible.
37821
37822         test-update-copyright: update test to match script changes
37823         * tests/test-update-copyright.sh: Avoid hard-coding perl
37824         location.  Don't update *.bak created by earlier runs.
37825
37826 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37827             Simon Josefsson  <simon@josefsson.org>
37828             Bruno Haible  <bruno@clisp.org>
37829
37830         Fix link error on Solaris 8.
37831         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37832         also in libnsl. Define also INET_PTON_LIB.
37833         * modules/inet_pton (Link): New section.
37834
37835 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37836             Bruno Haible  <bruno@clisp.org>
37837
37838         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37839         * modules/inet_ntop (Link): New section.
37840         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37841
37842 2009-11-02  Eric Blake  <ebb9@byu.net>
37843
37844         maint: avoid compiler warnings in m4 macros
37845         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37846         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37847
37848 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37849
37850         * m4/pmccabe2html.m4: Remove file.
37851         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37852         function.  Change maintainer.
37853         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37854         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37855         Courtès).
37856
37857 2009-10-31  Eric Blake  <ebb9@byu.net>
37858
37859         fseeko: fix m4 regression
37860         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37861         regression from 2009-10-27.
37862         Reported by Ralf Wildenhues.
37863
37864 2009-10-31  Jim Meyering  <meyering@redhat.com>
37865
37866         inttostr: aesthetics and improved (compile-time) safety
37867         Define inttype_is_signed rather than inttype_is_unsigned,
37868         since the sole use is via "#if inttype_is_signed".
37869         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37870         inttype_is_unsigned.
37871         * lib/offtostr.c (inttype_is_signed): Likewise.
37872         * lib/uinttostr.c (inttype_is_signed): Likewise.
37873         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37874         * lib/inttostr.c (inttostr): Use verify to cross-check the
37875         inttype_is_signed value and the signedness of the actual type.
37876         * modules/inttostr (Depends-on): Add verify.
37877
37878 2009-10-30  Eric Blake  <ebb9@byu.net>
37879
37880         build: avoid compiler warnings
37881         * lib/fchmodat.c (lchmod): Mark unused variables.
37882         * lib/getopt.c (_getopt_initialize): Likewise.
37883         * lib/mktime.c (__mktime_internal): Provide prototype.
37884         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37885         older gcc that do not understand #pragma GCC diagnostic.
37886         * lib/uinttostr.c (inttype_is_unsigned): Define.
37887         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37888
37889 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37890
37891         stat: fix compilation on AIX
37892         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37893         only see struct stat64.
37894
37895 2009-10-30  Eric Blake  <ebb9@byu.net>
37896
37897         exclude: make more robust
37898         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37899         rather than masking a coding bug.
37900         Suggested by Bruno Haible.
37901
37902 2009-10-30  Jim Meyering  <meyering@redhat.com>
37903
37904         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37905         Rather than putting #!/usr/bin/perl on the first line,
37906         start with a variant of what's recommended by "man perlrun" that
37907         invokes the first "perl" program from your shell's search path.
37908         * build-aux/gitlog-to-changelog: Replace #!... as above.
37909         Add a "Local Variables" perl mode setting.
37910         Prompted by a patch from Ludovic Courtès.
37911         Improved by Eric Blake.
37912         * build-aux/useless-if-before-free: Likewise.
37913         * build-aux/announce-gen: Likewise.
37914         * build-aux/update-copyright: Likewise.
37915
37916 2009-10-29  Eric Blake  <ebb9@byu.net>
37917
37918         filenamecat-lgpl: adjust clients
37919         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37920         filenamecat.
37921         * modules/renameat (Depends-on): Likewise.
37922
37923         filenamecat: split into filenamecat-lgpl
37924         * modules/filenamecat-lgpl: New module.
37925         * modules/filenamecat (Files): Move library-safe files into
37926         filenamecat-lgpl.
37927         (Depends-on): Add filenamecat-lgpl.
37928         (configure.ac): Declare witness.
37929         * lib/filenamecat.h (file_name_concat): Only declare when using
37930         GPL module.
37931         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37932         Move...
37933         * lib/filenamecat-lgpl.c: ...into new file.
37934         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37935         (gl_FILE_NAME_CONCAT): Use it.
37936         * MODULES.html.sh (File system functions): Mention new module.
37937
37938         argp: avoid memory leak
37939         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37940         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37941         base_name, since the latter malloc()s and can call exit().
37942         Leak introduced 2006-07-03.
37943
37944         dirname-lgpl: adjust clients that don't need full dirname
37945         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37946         * modules/filenamecat (Depends-on): Likewise.
37947         * modules/linkat (Depends-on): Likewise.
37948         * modules/mkancesdirs (Depends-on): Likewise.
37949         * modules/mkdir (Depends-on): Likewise.
37950         * modules/openat (Depends-on): Likewise.
37951         * modules/savewd (Depends-on): Likewise.
37952         * modules/rename (Depends-on): Likewise.
37953         (License): Relax license.
37954         * modules/mkdir-tests (Depends-on): Drop progname.
37955         (Makefile.am): Delete unneeded LDADD.
37956         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37957
37958         dirname: split into dirname-lgpl
37959         * modules/dirname-lgpl: New module.
37960         * modules/dirname (Files): Move library-safe files into
37961         dirname-lgpl.
37962         (Depends-on): Add dirname-lgpl.
37963         (configure.ac): Declare witness.
37964         * modules/double-slash-root (License): Relax license.
37965         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37966         module.
37967         * lib/dirname.c (dir_len, mdir_name): Move...
37968         * lib/dirname-lgpl.c: ...into new file.
37969         * lib/basename.c (last_component, base_len): Move...
37970         * lib/basename-lgpl.c: ...into new file.
37971         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37972         (gl_DIRNAME): Use it.
37973         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37974         Mention new module.
37975         * modules/dirname-tests (Depends-on): Add progname.
37976         * tests/test-dirname.c (program_name): Delete.
37977
37978         mkdir: make safe for libraries
37979         * modules/mkdir (Depends-on): Drop xalloc.
37980         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37981         exit.
37982
37983         tests: avoid some compiler warnings
37984         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37985         literals.
37986         * tests/test-memchr.c (main): Avoid type mismatch.
37987         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37988         * tests/test-base64.c (main): Likewise.
37989         * tests/test-getdelim.c (main): Likewise.
37990         * tests/test-gethostname.c (main): Likewise.
37991         * tests/test-getline.c (main): Likewise.
37992         * tests/test-netinet_in.c (main): Likewise.
37993         * tests/test-select.c (open_server_socket, main): Likewise.
37994         * tests/test-select-stdin.c (main): Likewise.
37995         * tests/test-sockets.c (main): Likewise.
37996         * tests/test-strsignal.c (main): Likewise.
37997         * tests/test-sys_select.c (main): Likewise.
37998         * tests/test-sys_socket.c (main): Likewise.
37999         * tests/test-u64.c (main): Likewise.
38000         * tests/test-xfprintf-posix.c (main): Likewise.
38001         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38002
38003         sockets: avoid compiler warning
38004         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38005
38006         maint: detect usage(1) and other suspicious exits
38007         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38008
38009 2009-10-29  Jim Meyering  <meyering@redhat.com>
38010
38011         timespec: long-to-int truncation could make timespec_cmp malfunction
38012         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38013         a multiple of 2^32 nanoseconds as no difference.
38014
38015 2009-10-28  Jim Meyering  <meyering@redhat.com>
38016
38017         fprintftime: wrap macro code argument in "do {...} while(0)"
38018         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38019         cpy macro must be a statement that can be followed by a semicolon.
38020         Now that the else clause contains a comment and is hence longer
38021         than one line, I require curly braces.  That in turn requires
38022         that we wrap this code block in the standard do...while(0).
38023
38024         fprintftime: remove stray semicolon from previous change
38025         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38026
38027         fprintftime: avoid a warning about ignored fwrite return value
38028         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38029         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38030         that is unsafe.
38031         * modules/fprintftime (Depends-on): Add ignore-value.
38032
38033         exclude: avoid an unwarranted warning
38034         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38035
38036 2009-10-27  Eric Blake  <ebb9@byu.net>
38037
38038         fseek: avoid compilation failure when fflush is replaced
38039         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38040         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38041         module is in use.
38042         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38043         module is not in use; since REPLACE_FSEEK worked otherwise.
38044         (GNULIB_FTELLO): Likewise for ftell.
38045         Reported by Ian Beckwith and others.
38046
38047 2009-10-27  Bruno Haible  <bruno@clisp.org>
38048
38049         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38050         Reported by Jim Meyering.
38051
38052 2009-10-27  Jim Meyering  <jim@meyering.net>
38053             Bruno Haible  <bruno@clisp.org>
38054
38055         Avoid warning despite dropping the return value of fwrite.
38056         * lib/unicodeio.c: Include ignore-value.h.
38057         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38058         * modules/unicodeio (Depends-on): Add ignore-value.
38059
38060 2009-10-26  Eric Blake  <ebb9@byu.net>
38061
38062         areadlinkat: fix fallback path
38063         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38064         pointer and zero.
38065
38066 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38067
38068         Use a better IO block size for modern systems
38069         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38070         * lib/md2.c: Likewise.
38071         * lib/md4.c: Likewise.
38072         * lib/md5.c: Likewise.
38073         * lib/sha1.c: Likewise.
38074         * lib/sha256.c: Likewise.
38075         * lib/sha512.c: Likewise.
38076
38077 2009-10-22  Eric Blake  <ebb9@byu.net>
38078
38079         tests: avoid several compiler warnings
38080         * tests/test-getcwd.c (main): Avoid buffer underflow.
38081         * tests/test-getdate.c (main): String literals are not safe with
38082         putenv, so use setenv.  Declare unused argument.
38083         * modules/getdate-tests (Depends-on): Add setenv.
38084         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38085         problems with string literals in char *.
38086         * tests/test-hash.c (main): Avoid shadowing declaration.
38087         (insert_new): Treat string literals as char const *.
38088         * tests/test-getopt.h (test_getopt): Likewise.
38089         (getopt_loop): Alter types to minimize casting elsewhere.
38090         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38091         (test_getopt_long_posix): Likewise.
38092         (do_getopt_long): Add wrapper to minimize casting.
38093         * tests/test-atexit.c (clear_temp_file): Use void.
38094         * tests/test-areadlink-with-size.c (main): Declare unused
38095         arguments.
38096         * tests/test-areadlink.c (main): Likewise.
38097         * tests/test-areadlinkat-with-size.c (main): Likewise.
38098         * tests/test-areadlinkat.c (main): Likewise.
38099         * tests/test-canonicalize-lgpl.c (main): Likewise.
38100         * tests/test-canonicalize.c (main): Likewise.
38101         * tests/test-dirent-safer.c (main): Likewise.
38102         * tests/test-dirname.c (main): Likewise.
38103         * tests/test-dup2.c (main): Likewise.
38104         * tests/test-fchdir.c (main): Likewise.
38105         * tests/test-fcntl-h.c (main): Likewise.
38106         * tests/test-fcntl-safer.c (main): Likewise.
38107         * tests/test-fdopendir.c (main): Likewise.
38108         * tests/test-fdutimensat.c (main): Likewise.
38109         * tests/test-fflush.c (main): Likewise.
38110         * tests/test-filenamecat.c (main): Likewise.
38111         * tests/test-filevercmp.c (main): Likewise.
38112         * tests/test-fopen-safer.c (main): Likewise.
38113         * tests/test-fopen.c (main): Likewise.
38114         * tests/test-fpending.c (main): Likewise.
38115         * tests/test-fpurge.c (main): Likewise.
38116         * tests/test-freading.c (main): Likewise.
38117         * tests/test-fstatat.c (main): Likewise.
38118         * tests/test-fsync.c (main): Likewise.
38119         * tests/test-futimens.c (main): Likewise.
38120         * tests/test-getndelim2.c (main): Likewise.
38121         * tests/test-gettimeofday.c (main): Likewise.
38122         * tests/test-getopt.c (main): Likewise.
38123         * tests/test-i-ring.c (main): Likewise.
38124         * tests/test-inttypes.c (main): Likewise.
38125         * tests/test-link.c (main): Likewise.
38126         * tests/test-lstat.c (main): Likewise.
38127         * tests/test-math.c (main): Likewise.
38128         * tests/test-md5.c (main): Likewise.
38129         * tests/test-memchr2.c (main): Likewise.
38130         * tests/test-memrchr.c (main): Likewise.
38131         * tests/test-mkdir.c (main): Likewise.
38132         * tests/test-mkdirat.c (main): Likewise.
38133         * tests/test-mkfifoat.c (main): Likewise.
38134         * tests/test-open.c (main): Likewise.
38135         * tests/test-openat-safer.c (main): Likewise.
38136         * tests/test-openat.c (main): Likewise.
38137         * tests/test-quotearg.c (main): Likewise.
38138         * tests/test-rawmemchr.c (main): Likewise.
38139         * tests/test-readlink.c (main): Likewise.
38140         * tests/test-remove.c (main): Likewise.
38141         * tests/test-rename.c (main): Likewise.
38142         * tests/test-renameat.c (main): Likewise.
38143         * tests/test-rmdir.c (main): Likewise.
38144         * tests/test-sha1.c (main): Likewise.
38145         * tests/test-signal.c (main): Likewise.
38146         * tests/test-sigaction.c (main): Likewise.
38147         * tests/test-stat.c (main): Likewise.
38148         * tests/test-stat-time.c (main): Likewise.
38149         * tests/test-stddef.c (main): Likewise.
38150         * tests/test-stdint.c (main): Likewise.
38151         * tests/test-stdio.c (main): Likewise.
38152         * tests/test-stdlib.c (main): Likewise.
38153         * tests/test-strchrnul.c (main): Likewise.
38154         * tests/test-strerror.c (main): Likewise.
38155         * tests/test-string.c (main): Likewise.
38156         * tests/test-strtod.c (main): Likewise.
38157         * tests/test-strverscmp.c (main): Likewise.
38158         * tests/test-symlink.c (main): Likewise.
38159         * tests/test-symlinkat.c (main): Likewise.
38160         * tests/test-sys_stat.c (main): Likewise.
38161         * tests/test-sys_time.c (main): Likewise.
38162         * tests/test-time.c (main): Likewise.
38163         * tests/test-unistd.c (main): Likewise.
38164         * tests/test-unlink.c (main): Likewise.
38165         * tests/test-unlinkat.c (main): Likewise.
38166         * tests/test-utimens.c (main): Likewise.
38167         * tests/test-utimensat.c (main): Likewise.
38168         * tests/test-version-etc.c (main): Likewise.
38169         * tests/test-wchar.c (main): Likewise.
38170         * tests/test-wctype.c (main): Likewise.
38171         * tests/test-xprintf-posix.c (main): Likewise.
38172         * tests/test-posixtm.c (main): Likewise.
38173         (STREQ): Delete unused macro.
38174         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38175         shadowed variables.
38176         * tests/test-memchr.c (main): Likewise.
38177
38178 2009-10-21  Eric Blake  <ebb9@byu.net>
38179
38180         areadlinkat: avoid failure on older glibc
38181         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38182         rather than mis-comparing 0 against FUNC_RESULT of char*.
38183
38184 2009-10-21  Bruno Haible  <bruno@clisp.org>
38185
38186         * modules/stpncpy (License): Relicense under LGPLv2+.
38187         Reported by David Lutterkort <lutter@redhat.com>.
38188
38189 2009-10-20  Eric Blake  <ebb9@byu.net>
38190
38191         utimensat: work around Solaris 9 bug
38192         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38193         has trailing slash bugs.
38194         * tests/test-lutimens.h (test_lutimens): Enhance test.
38195         * tests/test-utimens.h (test_utimens): Likewise.
38196         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38197         * doc/posix-functions/utimes.texi (utimes): Likewise.
38198         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38199         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38200         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38201         * doc/posix-functions/futimens.texi (futimens): Likewise.
38202
38203         fdutimensat: new module
38204         * modules/fdutimensat: New file.
38205         * lib/fdutimensat.c (fdutimensat): Likewise.
38206         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38207         * MODULES.html.sh (File system functions): Mention module.
38208         * modules/fdutimensat-tests: New test.
38209         * tests/test-fdutimensat.c: Likewise.
38210
38211         doc: regenerate INSTALL
38212         * doc/INSTALL: Reflect recent autoconf update.
38213         * doc/INSTALL.ISO: Likewise.
38214         * doc/INSTALL.UTF-8: Likewise.
38215
38216 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38217
38218         acl: warn if ACL support is not detected
38219         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38220
38221 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38222
38223         * lib/nproc.h: Add extern "C" block for C++.
38224
38225 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38226             Bruno Haible  <bruno@clisp.org>
38227
38228         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38229         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38230         * doc/posix-functions/isalpha.texi: Likewise.
38231         * doc/posix-functions/isblank.texi: Likewise.
38232         * doc/posix-functions/iscntrl.texi: Likewise.
38233         * doc/posix-functions/isdigit.texi: Likewise.
38234         * doc/posix-functions/isgraph.texi: Likewise.
38235         * doc/posix-functions/islower.texi: Likewise.
38236         * doc/posix-functions/isprint.texi: Likewise.
38237         * doc/posix-functions/ispunct.texi: Likewise.
38238         * doc/posix-functions/isspace.texi: Likewise.
38239         * doc/posix-functions/isupper.texi: Likewise.
38240         * doc/posix-functions/isxdigit.texi: Likewise.
38241
38242 2009-10-18  Bruno Haible  <bruno@clisp.org>
38243
38244         Tests for module 'isblank'.
38245         * modules/isblank-tests: New file.
38246         * tests/test-isblank.c: New file.
38247
38248         New module 'isblank'.
38249         * lib/isblank.c: New file.
38250         * m4/isblank.m4: New file.
38251         * modules/isblank: New file.
38252         * doc/posix-functions/isblank.texi: Mention the new module.
38253
38254 2009-10-18  Bruno Haible  <bruno@clisp.org>
38255
38256         New module 'ctype'.
38257         * lib/ctype.in.h: New file.
38258         * m4/ctype.m4: New file.
38259         * modules/ctype: New file.
38260         * doc/posix-headers/ctype.texi: Mention the new module.
38261
38262 2009-10-18  Jim Meyering  <meyering@redhat.com>
38263
38264         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38265         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38266         right after its initialization, rather than farther down.
38267         Keeping these in close proximity makes it easier to ensure
38268         that each such variable is initialized.  E.g.,
38269
38270             LIB_CLOCK_GETTIME=
38271             AC_SUBST([LIB_CLOCK_GETTIME])
38272
38273         This change also increments these serial numbers.
38274         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38275         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38276         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38277
38278 2009-10-18  Bruno Haible  <bruno@clisp.org>
38279
38280         Don't let environment variables perturb build.
38281         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38282         (gl_PREREQ_GETHRXTIME): ... not here.
38283
38284 2009-10-18  Bruno Haible  <bruno@clisp.org>
38285
38286         Avoid symlink attack in localcharset module.
38287         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38288         (O_NOFOLLOW): Define fallback.
38289         (get_charset_aliases): Don't open the file if it is a symbolic link.
38290         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38291         gl_FCNTL_H.
38292         (gl_FCNTL_H): Require it.
38293         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38294         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38295         Reported by Fergal Glynn <fglynn@veracode.com>.
38296
38297 2009-10-18  Bruno Haible  <bruno@clisp.org>
38298
38299         Implement nproc for mingw.
38300         * lib/nproc.c: Include <windows.h>
38301         (num_processors): On native Windows platforms, try GetSystemInfo.
38302
38303 2009-10-18  Bruno Haible  <bruno@clisp.org>
38304
38305         Implement nproc for IRIX.
38306         * lib/nproc.c: Include <sys/sysmp.h>.
38307         (num_processors): On IRIX systems, try sysmp.
38308         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38309
38310 2009-10-18  Bruno Haible  <bruno@clisp.org>
38311
38312         Implement nproc for HP-UX.
38313         * lib/nproc.c: Include <sys/pstat.h>
38314         (num_processors): On HP-UX systems, try pstat_getdynamic.
38315         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38316         pstat_getdynamic.
38317
38318 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38319             Bruno Haible  <bruno@clisp.org>
38320
38321         Implement nproc for NetBSD, OpenBSD.
38322         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38323         (ARRAY_SIZE): New macro.
38324         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38325         * m4/nproc.m4: New file.
38326         * modules/nproc (Files): Add m4/nproc.m4.
38327         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38328         (Makefile.am): Instead, augment lib_SOURCES.
38329
38330 2009-10-18  Bruno Haible  <bruno@clisp.org>
38331
38332         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38333         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38334         sys/param.h.
38335
38336 2009-10-16  Eric Blake  <ebb9@byu.net>
38337
38338         utimensat: new module
38339         * modules/utimensat: New file.
38340         * lib/utimensat.c (utimensat): Likewise.
38341         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38342         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38343         so we can work around Linux bugs.
38344         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38345         * modules/sys_stat (Makefile.am): Substitute them.
38346         * lib/sys_stat.in.h (utimensat): Declare it.
38347         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38348         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38349         * modules/utimensat-tests: New test.
38350         * tests/test-utimensat.c: Likewise.
38351
38352         utimens: let lutimens work on non-symlinks
38353         * lib/utimens.c (lutimens): Fall back to utimens rather than
38354         failing with ENOSYS, when file is not a symlink.
38355         (utimens): Reduce redirection.
38356         * tests/test-lutimens.h (test_lutimens): Update test to cover
38357         non-symlinks.
38358         * tests/test-utimens.h (test_utimens): Update test to cover
38359         symlinks.
38360         * tests/test-utimens.c (main): Update caller.
38361
38362         utimens: cache whether utimensat syscall works
38363         * lib/utimens.c (utimensat_works_really): New cache variable.
38364         (fdutimens, lutimens): Use it to avoid failing syscall.
38365
38366         test-stat-time, test-utimens: improve portability
38367         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38368         ext4 on alpha, and for cygwin.
38369         * tests/test-utimens-common.h: New file.
38370         (nap): Factor delays into single function.
38371         * tests/test-lutimens.h (test_lutimens): Use new header.
38372         * tests/test-futimens.h (test_futimens): Likewise.
38373         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38374         timestamps to occur from same machine, as was done previously for
38375         test_utimens.
38376         * modules/utimens-tests (Files): Ship new file.
38377         * modules/futimens-tests (Files): Likewise.
38378         Reported in part by Jim Meyering.
38379
38380         sys_stat: sort replacement declarations
38381         * lib/sys_stat.in.h: Sort declarations.
38382         * lib/futimens.c (futimens): Fix typo.
38383
38384 2009-10-15  Jim Meyering  <meyering@redhat.com>
38385
38386         don't let environment settings perturb build
38387         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38388         could cause a configure-time and/or build-time malfunction.
38389         Typically, a configure-time function-in-library test is performed
38390         via code like this:
38391
38392           LIB_VAR=
38393           AC_SUBST([LIB_VAR])
38394           prefix_saved_LIBS=$LIBS
38395             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38396                        [test "$ac_cv_search_FUNC" = "none required" ||
38397                         LIB_VAR=$ac_cv_search_FUNC])
38398           LIBS=$prefix_saved_LIBS
38399
38400         However, in each of the files affected by this change, the LIB_VAR=
38401         initialization was omitted.  Thus, when set in the environment, its
38402         value would propagate into generated Makefiles when FUNC is not found
38403         in LIB_NAME.
38404         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38405         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38406         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38407
38408 2009-10-14  Eric Blake  <ebb9@byu.net>
38409
38410         fchdir: avoid infinite recursion in mingw
38411         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38412         recursing.
38413
38414         test-stat-time: port to mingw
38415         * tests/test-stat-time.c (force_unlink): Return a value.
38416         (test_ctime) [W32]: Fix compilation error.
38417         (nap): Don't call usleep with too large an argument.  Use
38418         force_unlink.
38419         * doc/pastposix-functions/usleep.texi (usleep): Document the
38420         portability issue.
38421
38422 2009-10-13  Jim Meyering  <meyering@redhat.com>
38423
38424         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38425         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38426         * modules/pipe-filter-ii: Likewise.
38427         * modules/sys_socket-tests: Likewise.
38428         * modules/tsearch-tests: Likewise.
38429         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38430         (check): Depend on it.
38431
38432 2009-10-12  Eric Blake  <ebb9@byu.net>
38433
38434         utimens-tests: port to NFS file systems
38435         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38436         comparisons to avoid spurious failures from timestamp drift
38437         between NFS machines.
38438
38439 2009-10-12  Eric Blake  <ebb9@byu.net>
38440
38441         stat-time-tests: minor cleanups
38442         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38443         * tests/test-stat-time.c (nap): Separate assignment from call.
38444         Suggested by Paolo Bonzini and Bruno Haible.
38445
38446         sys_stat: guarantee struct timespec
38447         * lib/sys_stat.in.h (includes): Always include <time.h>
38448         * modules/sys_stat (Depends-on): Add time.
38449         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38450         mode_t permission values.
38451         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38452         get at subsecond timestamps.
38453
38454 2009-10-10  Eric Blake  <ebb9@byu.net>
38455
38456         futimens: new module
38457         * modules/futimens: New file.
38458         * lib/futimens.c (futimens): Likewise.
38459         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38460         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38461         we can work around Linux bugs.
38462         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38463         * modules/sys_stat (Makefile.am): Substitute them.
38464         * lib/sys_stat.in.h (futimens): Declare it.
38465         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38466         * doc/posix-functions/futimens.texi (futimens): Likewise.
38467         * modules/futimens-tests: New test.
38468         * tests/test-futimens.c: Likewise.
38469
38470         utimens: introduce fdutimens
38471         * lib/utimens.h (fdutimens): New prototype.
38472         * lib/utimens.c (gl_futimens): Move guts...
38473         (fdutimens): ...to new interface.
38474         * tests/test-utimens.c (do_fdutimens): Use it.
38475
38476         utimens: add UTIME_NOW and UTIME_OMIT support
38477         * lib/utimens.c (validate_timespec, update_timespec): New helper
38478         functions.
38479         (gl_futimens, lutimens): Use them.
38480         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38481         stdbool, sys_stat.
38482         (Link): Mention resulting library dependency.
38483         * modules/utimecmp (Link): Likewise.
38484         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38485         (Makefile.am): Pick up library dependency.
38486         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38487         definition.
38488         * tests/test-sys_stat.c: Test the definitions.
38489         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38490         * NEWS: Document library dependency.
38491
38492         utimecmp: support symlink timestamps
38493         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38494         hashing when possible.  Use pathconf when available.
38495         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38496         * modules/utimecmp (Depends-on): Add lstat.
38497
38498         utimens: add lutimens interface
38499         * lib/utimens.c (lutimens): New function.
38500         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38501         * lib/utimens.h (lutimens): Declare new interface.
38502         * tests/test-utimens.c (main): Enhance test.
38503         * tests/test-lutimens.h (test_lutimens): New file.
38504         * modules/utimens-tests (Files): Distribute it.
38505         (Depends-on): Add symlink.
38506         (configure.ac): Check for usleep.
38507
38508         utimens: validate futimens usage
38509         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38510         fewer syscalls on failure later on.  Avoid compiler warning on
38511         mingw.
38512         * modules/utimens (Depends-on): Add dup2.
38513
38514         utimens: add test
38515         * modules/utimens-tests: New test.
38516         * tests/test-utimens.h: New file.
38517         * tests/test-futimens.h: Likewise.
38518         * tests/test-utimens.c: Likewise.
38519
38520         doc: mention timestamp portability issues
38521         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38522         instead.
38523         * doc/posix-functions/utime.texi (utime): Likewise.
38524         * doc/posix-functions/utimes.texi (utimes): Likewise.
38525         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38526         instead.
38527         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38528         module.
38529         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38530         Mention weakness with symlink timestamps.
38531         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38532         to utimensat/futimens instead.
38533         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38534
38535         test-dup2: enhance test
38536         * tests/test-dup2.c (main): Also check AT_FDCWD.
38537
38538         test-stat-time: avoid more spurious failures
38539         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38540         xfs; and avoid race if the two timestamps cross quantization edge.
38541
38542         relocatable: prefer 'file system' over 'filesystem'
38543         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38544         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38545         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38546         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38547         * lib/relocatable.c (compute_curr_prefix): Likewise.
38548
38549 2009-10-10  Jim Meyering  <meyering@redhat.com>
38550
38551         stat-time-tests: check for the usleep function
38552         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38553
38554 2009-10-10  Bruno Haible  <bruno@clisp.org>
38555
38556         * modules/xnanosleep: Put the Link section after the Include section.
38557
38558 2009-10-09  Eric Blake  <ebb9@byu.net>
38559
38560         dup2: work around FreeBSD 6.1 bug
38561         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38562         * doc/posix-functions/dup2.texi (dup2): Document it.
38563         Reported by Nelson H. F. Beebe and Jim Meyering.
38564
38565         test-stat-time: port to buggy NFS clients
38566         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38567         (test_ctime): Also skip test if mtime and ctime are skewed.
38568
38569         maint: prefer 'file system' over 'filesystem'
38570         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38571         * doc/posix-functions/lstat.texi (lstat): Likewise.
38572         * lib/file-has-acl.c (file_has_acl): Likewise.
38573         * lib/fwriteerror.c [TEST]: Likewise.
38574         * tests/test-areadlink.h (test_areadlink): Likewise.
38575         * tests/test-areadlinkat-with-size.c (main): Likewise.
38576         * tests/test-areadlinkat.c (main): Likewise.
38577         * tests/test-canonicalize-lgpl.c (main): Likewise.
38578         * tests/test-canonicalize.c (main): Likewise.
38579         * tests/test-fstatat.c (main): Likewise.
38580         * tests/test-linkat.c (main): Likewise.
38581         * tests/test-lstat.h (test_lstat_func): Likewise.
38582         * tests/test-mkdir.h (test_mkdir): Likewise.
38583         * tests/test-readlink.h (test_readlink): Likewise.
38584         * tests/test-remove.c (main): Likewise.
38585         * tests/test-rename.h (test_rename): Likewise.
38586         * tests/test-renameat.c (main): Likewise.
38587         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38588         * tests/test-symlink.h (test_symlink): Likewise.
38589         * tests/test-symlinkat.c (main): Likewise.
38590         * tests/test-unlink.h (test_unlink_func): Likewise.
38591         * tests/test-unlinkat.c (main): Likewise.
38592
38593         maint: make realtime library usage explicit
38594         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38595         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38596         * modules/settime (Link): Likewise.
38597         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38598
38599         test-stat-time: speed up execution
38600         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38601         warning on mingw.
38602         (nap): New helper function.
38603         (prepare_test): Use it to reduce sleep time.
38604         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38605         execution.
38606         * modules/stat-time-tests (configure.ac): Check for usleep.
38607
38608 2009-10-09  Jim Meyering  <meyering@redhat.com>
38609
38610         selinux-h: always use getfilecon wrappers
38611         * lib/getfilecon.c: New file.
38612         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38613         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38614         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38615         (fgetfilecon): Provide a stub.
38616         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38617         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38618         file unconditionally.
38619         When <selinux/selinux.h> is found, arrange to use wrappers.
38620         * modules/selinux-h (Files): Add getfilecon.c.
38621         (Makefile.am): Substitute include-next-related bits
38622         into the now-always-generated selinux/selinux.h file.
38623         * doc/glibc-functions/lgetfilecon.texi: New file.
38624         * doc/glibc-functions/fgetfilecon.texi: New file.
38625         * doc/glibc-functions/getfilecon.texi: New file.
38626         * doc/glibc-functions/getfilecon-desc.texi: New file.
38627         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38628         which to pull in the new files.
38629         * MODULES.html.sh (Misc): Add selinux-h.
38630
38631 2009-10-08  Jim Meyering  <meyering@redhat.com>
38632
38633         unistd: fix comment typo
38634         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38635
38636 2009-10-08  Eric Blake  <ebb9@byu.net>
38637
38638         areadlink: use SIZE_MAX consistently
38639         * modules/areadlink (Depends-on): Add stdint.
38640         * modules/areadlink-with-size (Depends-on): Likewise.
38641         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38642         gives NULL; drop sys/types, since unistd gives size_t; and add
38643         stdint for SIZE_MAX.
38644         (SIZE_MAX): Rely on headers.
38645         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38646         and add stdint.
38647         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38648         (SIZE_MAX): Likewise.
38649         (INITIAL_BUF_SIZE): Turn into enum.
38650         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38651
38652 2009-10-08  Jim Meyering  <meyering@redhat.com>
38653
38654         areadlinkat: avoid compilation failure
38655         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38656         Fix typo in comment.
38657
38658 2009-10-07  Eric Blake  <ebb9@byu.net>
38659
38660         areadlinkat-with-size: new module
38661         * modules/areadlinkat-with-size: New module.
38662         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38663         * lib/areadlink.h (areadlinkat): Declare it.
38664         * MODULES.html.sh (File system functions): Mention it.
38665         * modules/areadlinkat-with-size-tests: New test.
38666         * tests/test-areadlinkat-with-size.c: New file.
38667
38668         xreadlinkat: new module
38669         * modules/xreadlinkat: New module.
38670         * lib/xreadlinkat.c (xreadlinkat): New file.
38671         * lib/xreadlink.h (xreadlinkat): Declare it.
38672         * MODULES.html.sh (File system functions): Mention it.
38673
38674         areadlinkat: new module
38675         * lib/at-func.c (FUNC_FAIL): New define.
38676         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38677         * modules/areadlinkat: New module.
38678         * lib/linkat.c (areadlinkat): Move...
38679         * lib/areadlinkat.c (areadlinkat): ...to new file.
38680         * lib/areadlink.h (areadlinkat): Declare it.
38681         * modules/linkat (Depends-on): Add areadlinkat.
38682         * MODULES.html.sh (File system functions): Mention it.
38683         * modules/areadlinkat-tests: New test.
38684         * tests/test-areadlinkat.c: New file.
38685
38686         areadlink, areadlink-with-size: add tests
38687         * modules/areadlink-tests: New test.
38688         * modules/areadlink-with-size-tests: Likewise.
38689         * tests/test-areadlink.h: New file.
38690         * tests/test-areadlink.c: Likewise.
38691         * tests/test-areadlink-with-size.c: Likewise.
38692
38693         maint: minor cleanups
38694         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38695         _UNUSED_PARAMETER_ instead.
38696         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38697         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38698         * modules/linkat-tests (Files): Distribute test-link.h.
38699
38700         openat, utimens: whitespace cleanup
38701         * lib/openat.c: Prefer space throughout, rather than mix of 8
38702         spaces vs. tabs.
38703         * lib/at-func.c: Likewise.
38704         * lib/utimens.c: Likewise.
38705
38706         openat: avoid using wrong fd
38707         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38708         working directory chooses same fd.
38709         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38710
38711         mkdir, mkdirat: fix cygwin 1.5.x bug
38712         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38713         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38714         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38715         bug.
38716         (gl_PREREQ_MKDIR): Delete unused macro.
38717         * modules/mkdir (Files): Track file rename.
38718         (configure.ac): Update macro name.
38719         * modules/openat (Depends-on): Add mkdir.
38720         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38721
38722         mkdir, mkdirat: add tests
38723         * modules/mkdir-tests: New test.
38724         * tests/test-mkdir.h: New file.
38725         * tests/test-mkdir.c: Likewise.
38726         * tests/test-mkdirat.c: Likewise.
38727         * modules/openat-tests (Files): Add new files.
38728         (Makefile.am): Run new test.
38729
38730 2009-10-06  Eric Blake  <ebb9@byu.net>
38731
38732         doc: tweak *at function documentation
38733         * doc/posix-functions/faccessat.texi (faccessat): Mention
38734         known issue with replacement.
38735         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38736         * doc/posix-functions/linkat.texi (linkat): Likewise.
38737         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38738         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38739         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38740         * doc/posix-functions/renameat.texi (renameat): Likewise.
38741         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38742
38743         openat: fix GNU/Hurd bug in unlinkat
38744         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38745         broken.
38746         * doc/posix-functions/unlink.texi (unlink): Document this.
38747         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38748
38749         fdopendir: fix GNU/Hurd bug
38750         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38751         allowing non-directory fds.
38752         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38753         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38754         * modules/dirent (Makefile.am): Substitute it.
38755         * lib/dirent.in.h (fdopendir): Declare replacement.
38756         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38757         * tests/test-fdopendir.c (main): Test something other than
38758         /dev/null, since on Hurd that behaves like a directory.
38759
38760         test-symlink: port to GNU/Hurd
38761         * tests/test-symlink.h (test_symlink): Relax expected errno.
38762
38763         doc: tweak more cygwin information
38764         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38765         now compatible with glibc.
38766         * doc/posix-functions/getopt.texi (getopt): Likewise.
38767
38768         getopt-gnu: add another test
38769         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38770         guarantee behavior relied on by m4.
38771         * tests/test-getopt.c (main): Use it.
38772         * modules/getopt-posix-tests (Depends-on): Add setenv.
38773         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38774
38775         getopt: fix compilation on darwin
38776         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38777         include.
38778         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38779         Reported by Ludovic Courtès.
38780
38781 2009-10-06  Bruno Haible  <bruno@clisp.org>
38782
38783         * modules/size_max (Description): Discourage its use.
38784         Reported by Simon Josefsson.
38785
38786 2009-10-06  Jim Meyering  <meyering@redhat.com>
38787
38788         linkat: avoid compilation failure
38789         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38790
38791 2009-10-05  Eric Blake  <ebb9@byu.net>
38792
38793         linkat: support Linux 2.6.17
38794         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38795         linkat on Linux, but allow cache variable override.
38796         * lib/linkat.c (rpl_linkat): Define override.
38797         * modules/linkat (Depends-on): Add symlinkat.
38798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38799         * modules/unistd (Makefile.am): Substitute it.
38800         * lib/unistd.in.h (linkat): Declare replacement.
38801         Reported by Pádraig Brady.
38802
38803         quotearg: port test to systems with C.UTF-8 locale
38804         * tests/test-quotearg.c (struct result_strings): Add another
38805         member, differentiating between C.ASCII and C.UTF-8 handling.
38806         (compare_strings): Add parameter.
38807         (main): Adjust all callers.
38808
38809         getopt: avoid clash with FreeBSD _getopt_internal
38810         * lib/getopt.in.h (_getopt_internal): Override the name.
38811         * lib/getopt_int.h (includes): Pick up any overrides.
38812         Reported by Reuben Thomas.
38813
38814         hash: allow C89 compilation
38815         * lib/hash.c (check_tuning): Move declaration before statement.
38816         Reported by Reuben Thomas.
38817
38818 2009-10-05  Karl Berry  <karl@gnu.org>
38819
38820         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38821
38822 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38823             Bruno Haible  <bruno@clisp.org>
38824
38825         * lib/uname.c (uname): Use a table-driven algorithm to compute
38826         Windows NT versions.
38827
38828 2009-10-04  Bruno Haible  <bruno@clisp.org>
38829
38830         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38831         program_invocation_short_name.
38832         * modules/progname (configure.ac): Test for presence of
38833         program_invocation_short_name.
38834         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38835
38836 2009-10-04  Bruno Haible  <bruno@clisp.org>
38837
38838         * lib/progname.c (set_program_name): Fix comment.
38839         Reported by Jim Meyering.
38840
38841 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38842             Bruno Haible  <bruno@clisp.org>
38843
38844         * lib/uname.c: Include <string.h>.
38845         (uname): Do only one call to GetVersionEx in the common case.
38846
38847 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38848             Bruno Haible  <bruno@clisp.org>
38849
38850         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38851         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38852         (uname): Add support for Windows CE and various non-x86 CPU types.
38853
38854 2009-10-03  Bruno Haible  <bruno@clisp.org>
38855
38856         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38857         invocation to tests/configure.ac.
38858         Reported by Ian Beckwith <ianb@erislabs.net>.
38859
38860 2009-10-02  Eric Blake  <ebb9@byu.net>
38861
38862         fchdir: avoid compiler warning
38863         * lib/fchdir.c (canonicalize_file_name)
38864         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38865
38866         test-open: support mingw errno values
38867         * tests/test-open.h (test_open): Relax test.
38868         * tests/test-fopen.h (test_fopen): Likewise.
38869         * tests/test-openat-safer.c (main): Likewise.
38870
38871         open: fix opening directory on mingw
38872         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38873
38874         test-open: on GNU/Hurd, /dev/null is a directory
38875         * tests/test-fopen.h (main): Rename...
38876         (test_fopen): ...to this.  Use a guaranteed non-directory when
38877         confirming open behavior on trailing slash.
38878         * tests/test-openat-safer.c (main): Likewise.
38879         * tests/test-open.h (main): Likewise....
38880         (test_open): ...to this.
38881         * tests/test-fopen.c (main): Adjust caller.
38882         * tests/test-fopen-safer.c (main): Likewise.
38883         * tests/test-open.c (main): Likewise.
38884         * tests/test-fcntl-safer.c (main): Likewise.
38885         Reported by Samuel Thibault.
38886
38887         rename, fchdir: don't ignore chdir failure
38888         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38889         * lib/rename.c (rpl_rename) [W32]: Likewise.
38890         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38891         an empty destination directory if source cannot be renamed,
38892         although there is still possibility for failure.
38893         * doc/posix-functions/rename.texi (rename): Document the race.
38894         Reported by Jim Meyering.
38895
38896         maint: cleanup whitespace in recent commits
38897         * lib/rename.c (rpl_rename): Remove tabs.
38898         * tests/test-link.h (test_link): Likewise.
38899         * lib/fchdir.c (get_name): Likewise.
38900         Reported by Jim Meyering.
38901
38902 2009-10-02  Ben Pfaff  <blp@gnu.org>
38903
38904         relocatable-prog-wrapper: Add missing dependency on
38905         double-slash-root.
38906         * modules/relocatable-prog-wrapper: Add dependency.
38907         Reported by Ian Beckwith <ianb@erislabs.net>.
38908
38909 2009-10-02  Eric Blake  <ebb9@byu.net>
38910
38911         renameat: fix Solaris bugs
38912         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38913         needed fixing.
38914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38915         * modules/stdio (Makefile.am): Substitute it.
38916         * lib/stdio.in.h (renameat): Declare replacement.
38917         * lib/renameat.c (rpl_renameat): Implement fix.
38918
38919         renameat: new module
38920         * modules/renameat: New file.
38921         * lib/renameat.c (renameat): Likewise.
38922         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38924         * modules/stdio (Makefile.am): Substitute them.
38925         * lib/stdio.in.h (renameat): Declare it.
38926         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38927         * doc/posix-functions/renameat.texi (renameat): Likewise.
38928         * modules/renameat-tests: New test.
38929         * tests/test-renameat.c: Likewise.
38930
38931         rename: fix mingw bugs
38932         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38933         directory overwrite bugs.
38934
38935         rename: fix another cygwin 1.5 bug
38936         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38937         checks.
38938         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38939         unnecessary cygwin workarounds.  Also work around bug with moving
38940         full directory onto an empty one.
38941         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38942
38943         rename-dest-slash: merge into rename module
38944         * modules/rename-dest-slash (Status): Mark obsolete.
38945         (Depends-on): Add rename.
38946         (Files): Let rename do it all.
38947         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38948         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38949         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38950         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38951         * lib/rename.c (rpl_rename): Update comments.
38952
38953         rename: fix cygwin 1.5.x bugs
38954         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38955         * lib/rename.c (rpl_rename): Work around them.
38956         * modules/rename (Depends-on): Add same-inode.
38957
38958         rename: fix Solaris 10 bug
38959         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38960         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38961         was the only bug.
38962
38963         rename: fix Solaris 9 bug
38964         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38965         on non-directory.  Avoid calling exit.
38966         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38967         strdup.
38968         * modules/rename-tests (Depends-on): Drop lstat.
38969         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38970         (gl_PREREQ_RENAME): Delete unused macro.
38971
38972         rename-dest-slash: fix NetBSD bug
38973         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38974         links.
38975         * modules/rename-dest-slash (Depends-on): Add same-inode.
38976
38977         rename-tests: new test, exposes several platform bugs
38978         * modules/rename-tests: New file.
38979         * tests/test-rename.h: Likewise.
38980         * tests/test-rename.c: Likewise.
38981         * doc/posix-functions/rename.texi (rename): Improve documentation,
38982         including bugs that will eventually be fixed in gnulib.
38983
38984 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38985
38986         * lib/uname.c: Include <stdlib.h>
38987         (uname): Assume version info is available.
38988
38989 2009-10-02  Jim Meyering  <meyering@redhat.com>
38990
38991         gnu-web-doc-update: correct --help output
38992         * build-aux/gnu-web-doc-update: Make --help output relevant.
38993
38994         gnu-web-doc-update: add standard options
38995         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38996
38997         gnu-web-doc-update: New module.
38998         Use this script to automatically update the on-line web documentation
38999         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39000         * modules/gnu-web-doc-update: New file, from coreutils.
39001         * build-aux/gnu-web-doc-update: New script.
39002
39003 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39004
39005         link: LoadLibrary is not needed.
39006         * lib/link.c: Use GetModuleHandle.
39007
39008 2009-10-01  Eric Blake  <ebb9@byu.net>
39009
39010         getopt: bump serial number
39011         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39012         change.
39013
39014         tests: tighten link, rmdir, and remove tests
39015         * tests/test-link.h (includes): No need to use <config.h> here.
39016         Clean up if directory hard link was created, otherwise test for
39017         trailing '.'.
39018         * tests/test-linkat.c (main): Simplify.
39019         * tests/test-remove.c (main): Enhance test for trailing '.'.
39020         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39021
39022 2009-10-01  Jim Meyering  <meyering@redhat.com>
39023
39024         maint.mk: requiring "make major" was annoying, for a "minor" release.
39025         What is intended is "stable", to contrast with alpha and beta,
39026         so require "make stable", not "make major".
39027         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39028         (get_tool_versions): Likewise.
39029         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39030
39031 2009-09-30  Ben Pfaff  <blp@gnu.org>
39032
39033         Fix broken build of replacement for Windows tmpfile().
39034         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39035         flags argument added along with the 'mkostemp' module.
39036
39037 2009-09-28  Bruno Haible  <bruno@clisp.org>
39038
39039         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39040         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39041         to 'remove_elt'.
39042         (gl_list_remove): Update.
39043         * lib/gl_list.c (gl_list_remove): Update.
39044         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39045         to 'remove_elt'.
39046         (gl_oset_remove): Update.
39047         * lib/gl_list.c (gl_oset_remove): Update.
39048         Reported by Eric Blake.
39049
39050 2009-09-28  Eric Blake  <ebb9@byu.net>
39051
39052         doc: mention yet more cygwin 1.7 status
39053         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39054         cygwin.
39055         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39056         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39057
39058         argp: fix test failure
39059         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39060         that are not upper-case.  Pass correct range to tolower.
39061
39062 2009-09-27  Jim Meyering  <meyering@redhat.com>
39063
39064         test-yesno: work around sparc-dash here-document infelicity
39065         Without this change, the literal \177 byte in a here document
39066         would make dash 0.5.5.1-3 access uninitialized memory.
39067         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39068         Instead, use a marker, "@", and filter through tr to create the desired
39069         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39070
39071 2009-09-27  Bruno Haible  <bruno@clisp.org>
39072
39073         Disable untested support for new flavours of ACLs on AIX.
39074         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39075         progress.
39076         * lib/set-mode-acl.c (qset_acl): Likewise.
39077
39078 2008-12-07  Bruno Haible  <bruno@clisp.org>
39079
39080         Add support for new flavours of ACLs on AIX. (Untested.)
39081         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39082         (file_has_acl): Add support for newer AIX.
39083         * lib/set-mode-acl.c (qset_acl): Likewise.
39084         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39085         Rainer Tammer <tammer@tammer.net>.
39086
39087 2009-09-26  Eric Blake  <ebb9@byu.net>
39088
39089         argp: fix compilation of getopt
39090         * lib/getopt.in.h (includes): Use different guard than glibc.
39091         Reported by Sergey Poznyakoff.
39092
39093         doc: mention more cygwin 1.7 status
39094         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39095         bug.
39096         * doc/posix-functions/execl.texi (execl): Likewise.
39097         * doc/posix-functions/execle.texi (execle): Likewise.
39098         * doc/posix-functions/execlp.texi (execlp): Likewise.
39099         * doc/posix-functions/execv.texi (execv): Likewise.
39100         * doc/posix-functions/execve.texi (execve): Likewise.
39101         * doc/posix-functions/execvp.texi (execvp): Likewise.
39102         * doc/glibc-functions/canonicalize_file_name.texi
39103         (canonicalize_file_name): Cygwin 1.7 now provides this.
39104         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39105         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39106         on AT_SYMLINK_NOFOLLOW.
39107
39108 2009-09-24  Eric Blake  <ebb9@byu.net>
39109
39110         test-linkat: make test more robust
39111         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39112
39113         getopt: fix inclusion guards for cygwin
39114         * modules/getopt-posix (Depends-on): Add include-next.
39115         (Makefile.am): Substitute more items in replacement header.
39116         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39117         <getopt.h>.
39118         * lib/getopt.in.h (includes): Use split inclusion guard, and
39119         prefer <getopt.h> over include <unistd.h> when one is present.
39120         (option): Also override name of 'struct option'.
39121
39122         same-inode: revert prior change; it is not yet ready
39123         * NEWS: Undo mention of this change.
39124         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39125         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39126         * lib/cycle-check.c (cycle_check): Likewise.
39127         * lib/same.c (same_name): Likewise.
39128         * lib/at-func2.c (at_func2): Likewise.
39129
39130 2009-09-23  Eric Blake  <ebb9@byu.net>
39131
39132         linkat: new module
39133         * modules/linkat: New file.
39134         * lib/at-func2.c (at_func2): Likewise.
39135         * lib/linkat.c (linkat): Likewise.
39136         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39137         * lib/openat-priv.h (at_func2): Add declaration.
39138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39139         * modules/unistd (Makefile.am): Substitute them.
39140         * lib/unistd.in.h (linkat): Declare it.
39141         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39142         * doc/posix-functions/linkat.texi (linkat): Likewise.
39143         * doc/posix-functions/link.texi (link): Tweak wording.
39144         * tests/test-link.c (main): Move guts...
39145         * tests/test-link.h (test_link): ...into new file.
39146         * modules/linkat-tests: New test.
39147         * tests/test-linkat.c: Likewise.
39148         * modules/link-tests (Files): Ship new file.
39149         (Depends-on): Add stdbool.
39150
39151         dirname: add library-safe mdir_name
39152         * lib/dirname.h (mdir_name): New prototype.
39153         * lib/dirname.c (dir_name): Move guts...
39154         (mdir_name): ...to new function that avoids xalloc_die.
39155
39156         fchdir: another mingw fix
39157         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39158         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39159         on mingw (where it has not yet been ported), and make it optional
39160         elsewhere.
39161         (_gl_register_fd): Use it.
39162
39163         same-inode: make SAME_INODE tri-state, to port to mingw
39164         * NEWS: Mention this change.
39165         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39166         st_ino always being 0.
39167         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39168         * lib/cycle-check.c (cycle_check): Likewise.
39169         * lib/same.c (same_name): Likewise.
39170
39171         lstat: avoid mingw compilation error
39172         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39173         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39174         lstat ourselves.
39175         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39176         was adequate.
39177         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39178         the checks for lstat.
39179         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39180
39181         link: fix test failure on Solaris 9
39182         * lib/link.c (rpl_link): Don't assume link will catch bogus
39183         trailing slash on source.
39184
39185         test-symlinkat: enhance test
39186         * tests/test-readlink.c (main): Move guts...
39187         * tests/test-readlink.h (test_readlink): ...into new file.
39188         * tests/test-symlink.c (main): Move guts...
39189         * tests/test-symlink.h (test_symlink): ...into new file.
39190         * tests/test-symlinkat.c (main): Use new files for further
39191         coverage.
39192         (do_symlink, do_readlink): New helper functions.
39193         * modules/symlink-tests (Files): Ship new file.
39194         (Depends-on): Add stdbool.
39195         * modules/readlink-tests (Files): Ship new file.
39196         (Depends-on): Add stdbool.
39197         * modules/symlinkat-tests (Files): Use new files.
39198
39199 2009-09-23  Eric Blake  <ebb9@byu.net>
39200
39201         readlink: document portability issue with symlink length
39202         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39203         systems have bogus st_size on symlinks, and mention the
39204         areadlink-with-size module.
39205         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39206         * doc/posix-functions/readlink.texi (readlink): Mention the
39207         areadlink module, and ERANGE failure.
39208         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39209         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39210
39211         readlink: fix Solaris 9 bug with trailing slash
39212         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39213         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39214         * doc/posix-functions/readlink.texi (readlink): Document this.
39215         * modules/readlink-tests: New test.
39216         * tests/test-readlink.c: Likewise.
39217
39218         readlink: fix cygwin 1.5.x bug with return type
39219         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39220         * lib/unistd.in.h (readlink): Use ssize_t.
39221         * lib/readlink.c (readlink): Likewise.
39222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39223         * modules/unistd (Makefile.am): Substitute it.
39224         * lib/unistd.in.h (readlink): Declare replacement.
39225         * doc/posix-functions/readlink.texi (readlink): Document this.
39226
39227         symlink: use throughout gnulib
39228         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39229         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39230         symlink is not used.
39231         * modules/symlinkat (Depends-on): Add symlink.
39232         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39233         * modules/canonicalize-tests (Depends-on): Likewise.
39234         * modules/lstat-tests (Depends-on): Likewise.
39235         * modules/openat-tests (Depends-on): Likewise.
39236         * modules/remove-tests (Depends-on): Likewise.
39237         * modules/rmdir-tests (Depends-on): Likewise.
39238         * modules/unlink-tests (Depends-on): Likewise.
39239         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39240         * tests/test-canonicalize.c (symlink): Likewise.
39241         * tests/test-fstatat.c (symlink): Likewise.
39242         * tests/test-lstat.c (symlink): Likewise.
39243         * tests/test-remove.c (symlink): Likewise.
39244         * tests/test-rmdir.c (symlink): Likewise.
39245         * tests/test-unlink.c (symlink): Likewise.
39246         * tests/test-unlinkat.c (symlink): Likewise.
39247
39248         symlink: new module, for Solaris 9 bug
39249         * modules/symlink: New file.
39250         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39251         * lib/symlink.c: Likewise.
39252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39253         * modules/unistd (Makefile.am): Substitute them.
39254         * lib/unistd.in.h (symlink): Declare replacement.
39255         * MODULES.html.sh (File system functions): Mention it.
39256         * doc/posix-functions/symlink.texi (symlink): Likewise.
39257         * modules/symlink-tests: New test.
39258         * tests/test-symlink.c: Likewise.
39259
39260 2009-09-23  Bruno Haible  <bruno@clisp.org>
39261
39262         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39263         when needed.
39264         Test case: gnulib-tool --import --with-tests atexit inttypes.
39265         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39266
39267 2009-09-23  Bruno Haible  <bruno@clisp.org>
39268
39269         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39270         subcommand, not in a subshell.
39271
39272 2009-09-22  Eric Blake  <ebb9@byu.net>
39273
39274         unistd: sort replacement declarations
39275         * lib/unistd.in.h: Sort declarations.
39276
39277         open, openat: minor optimization
39278         * lib/open.c (open): If open succeeded, len is non-zero.
39279         * lib/openat.c (rpl_openat): Likewise.
39280
39281         link-follow: ensure correct result
39282         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39283         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39284         distinguish between possible failures.
39285
39286 2009-09-21  Eric Blake  <ebb9@byu.net>
39287
39288         fts: avoid compiler warning
39289         * lib/fts.c (dirent_inode_sort_may_be_useful)
39290         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39291
39292 2009-09-19  Bruno Haible  <bruno@clisp.org>
39293
39294         * lib/progreloc.c (canonicalize_file_name): New declaration.
39295
39296 2009-09-19  Eric Blake  <ebb9@byu.net>
39297
39298         link: fix quoting
39299         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39300
39301         openat: fix openat bugs on Solaris 9
39302         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39303         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39304         * modules/openat (Depends-on): Add open.
39305         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39306         * modules/fcntl-h (Makefile.am): Substitute it.
39307         * lib/fcntl.in.h (openat): Declare replacement.
39308         * doc/posix-functions/openat.texi (openat): Document this.
39309
39310         openat: move fstatat and unlinkat into correct files
39311         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39312         compiled.
39313         * lib/openat.c (fstatat, unlinkat): Move...
39314         * lib/fstatat.c (fstatat): ...into correct files.
39315         * lib/unlinkat.c (unlinkat): Likewise.
39316
39317         openat: fix unlinkat bugs on Solaris 9
39318         * lib/unlinkat.c (unlinkat): New file.
39319         * modules/openat (Depends-on): Add unlink.
39320         (Files): Distribute it.
39321         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39322         trailing slash behavior is broken.
39323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39324         * modules/unistd (Makefile.am): Substitute it.
39325         * lib/unistd.in.h (unlinkat): Declare replacement.
39326         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39327
39328         openat: fix fstatat bugs on Solaris 9
39329         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39330         stat.
39331         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39332
39333         test-unlinkat: enhance test, to expose Solaris 9 bug
39334         * tests/test-unlink.c (main): Factor guts...
39335         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39336         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39337         * tests/test-rmdir.c (main): Adjust caller.
39338         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39339         (unlinker): New helper function.
39340         (rmdirat): Enhance check.
39341         * modules/rmdir-tests (Depends-on): Add stdbool.
39342         * modules/unlink-tests (Depends-on): Likewise.
39343         (Files): Add test-unlink.h.
39344         * modules/openat-tests (Files): Likewise.
39345         (Depends-on): Add unlinkdir.
39346
39347         test-fstatat: new test, to expose Solaris 9 bugs
39348         * tests/test-stat.c (main): Factor guts...
39349         * tests/test-stat.h (test_stat_func): ...into new file.
39350         * tests/test-lstat.c (main): Factor guts...
39351         * tests/test-lstat.h (test_lstat_func): ...into new file.
39352         * tests/test-fstatat.c: New file.
39353         * modules/stat-tests (Files): Add test-stat.h.
39354         * modules/lstat-tests (Files): Add test-lstat.h.
39355         (Depends-on): Add stdbool.
39356         * modules/openat-tests (Depends-on): Add pathmax.
39357         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39358         (Makefile.am): Run new test.
39359
39360         remove: new module, for mingw and Solaris 9 bugs
39361         * modules/remove: New file.
39362         * lib/remove.c: Likewise.
39363         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39364         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39365         * modules/stdio (Makefile.am): Use them.
39366         * lib/stdio.in.h (remove): Declare replacement.
39367         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39368         * doc/posix-functions/remove.texi (remove): Likewise.
39369         * modules/remove-tests: New test.
39370         * tests/test-remove.c: Likewise.
39371
39372         unlink: new module, for Solaris 9 bug
39373         * modules/unlink: New file.
39374         * lib/unlink.c: Likewise.
39375         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39377         * modules/unistd (Makefile.am): Use them.
39378         * lib/unistd.in.h (stat): Declare replacement.
39379         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39380         * doc/posix-functions/unlink.texi (unlink): Likewise.
39381         * modules/unlink-tests: New test.
39382         * tests/test-unlink.c: Likewise.
39383
39384         lstat: fix Solaris 9 bug
39385         * lib/lstat.c (lstat): Also check for trailing slash on
39386         non-symlink, non-directories.  Use stat module to simplify logic.
39387         * doc/posix-functions/lstat.texi (lstat): Document it.
39388         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39389         (configure.ac): Check for symlink.
39390         * tests/test-lstat.c (main): Add more tests.
39391
39392         stat: add as dependency to other modules
39393         * modules/chown (Depends-on): Add stat.
39394         * modules/euidaccess (Depends-on): Likewise.
39395         * modules/fchdir (Depends-on): Likewise.
39396         * modules/isdir (Depends-on): Likewise.
39397         * modules/link (Depends-on): Likewise.
39398         * modules/lstat (Depends-on): Likewise.
39399         * modules/mkdir-p (Depends-on): Likewise.
39400         * modules/modechange (Depends-on): Likewise.
39401         * modules/open (Depends-on): Likewise.
39402         * modules/readlink (Depends-on): Likewise.
39403         * modules/same (Depends-on): Likewise.
39404
39405         stat: fix Solaris 9 bug
39406         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39407         slash.
39408         * lib/stat.c (rpl_stat): Work around it.
39409         * doc/posix-functions/stat.texi (stat): Update documentation.
39410
39411         stat: new module, for mingw bug
39412         * modules/stat: New file.
39413         * lib/stat.c: Likewise.
39414         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39415         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39416         * modules/sys_stat (Makefile.am): Use them.
39417         * lib/sys_stat.in.h (stat): Declare replacement.
39418         * lib/openat.c (fstatat): Deal with lstat and stat being function
39419         macros.
39420         * modules/openat (Depends-on): Add inline.
39421         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39422         * doc/posix-functions/stat.texi (stat): Likewise.
39423         * modules/stat-tests: New test.
39424         * tests/test-stat.c: Likewise.
39425
39426 2009-09-19  Jim Meyering  <meyering@redhat.com>
39427
39428         syntax-check: detect unnecessary inclusion of canonicalize.h
39429         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39430
39431 2009-09-19  Eric Blake  <ebb9@byu.net>
39432
39433         canonicalize-lgpl: adjust clients to use correct header
39434         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39435         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39436         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39437         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39438         * lib/progreloc.c (includes): Likewise.
39439
39440 2009-09-19  Jim Meyering  <meyering@redhat.com>
39441
39442         test-posixtm.c: correct a comment
39443         * tests/test-posixtm.c: Correct first-line comment.
39444         Spotted by Eric Blake.
39445
39446 2009-09-16  Jim Meyering  <meyering@redhat.com>
39447
39448         posixtm-tests: make T const-correct; add a test case
39449         * tests/test-posixtm.c (T): Declare const.
39450         Add a test for -(2^31+1).
39451         Remove useless can-succeed-only-in-2002 test.
39452
39453         posixtm-tests: adjust the sole failing test
39454         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39455         expected output matches what mktime now produces.  Cross-checked via
39456         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39457
39458         posixtm: move #ifdef'd tests into a new module
39459         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39460         * tests/test-posixtm.c: ... this new file.
39461         * modules/posixtm-tests: New module.
39462
39463 2009-09-19  Eric Blake  <ebb9@byu.net>
39464
39465         openat: simplify use of at-func.c
39466         * lib/at-func.c (includes): Include prerequisites here, to
39467         simplify requirements on client files.
39468         * lib/openat-priv.h: Add double-inclusion guard.
39469         * lib/faccessat.c (includes): Simplify.
39470         * lib/fchmodat.c (includes): Likewise.
39471         * lib/fchownat.c (includes): Likewise.
39472         * lib/mkdirat.c (includes): Likewise.
39473         * lib/mkfifoat.c (includes): Likewise.
39474         * lib/symlinkat.c (includes): Likewise.
39475
39476         openat: allow return of fd 0
39477         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39478         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39479         unistd-safer.
39480         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39481         <fcntl.h>; this module does not leak fds.
39482         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39483         must be allowed to return 0, leaving openat_safer to add the
39484         safety.
39485         (openat_permissive): Avoid writing to just-opened fd 2 if
39486         restoring the current directory fails.
39487         * lib/openat-die.c (openat_restore_fail): Add comment.
39488         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39489         (save_cwd): Guarantee safe fd, but without use of open_safer.
39490         * tests/test-openat.c: New test.
39491         * modules/openat-tests (Files, Makefile.am): Distribute and build
39492         new file.
39493
39494         relocatable-prog-wrapper: fix build
39495         * modules/relocatable-prog-wrapper (Files): Update name of
39496         canonicalize m4 file, broken on 2009-09-17.
39497         Reported by emad hajjar <aleppos@hotmail.com>.
39498
39499 2009-09-19  Bruno Haible  <bruno@clisp.org>
39500
39501         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39502         * lib/safe-alloc.c: Likewise.
39503         Reported by Ian Beckwith <ianb@erislabs.net>.
39504
39505 2009-09-18  Bruno Haible  <bruno@clisp.org>
39506
39507         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39508         Reported by <erobles@sensacd.com.mx>.
39509
39510 2009-09-17  Eric Blake  <ebb9@byu.net>
39511
39512         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39513         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39514         slashes when checking if last component is missing.
39515         * tests/test-canonicalize.c (main): Test this.
39516
39517         canonicalize, canonicalize-lgpl: honor // if distinct from /
39518         * modules/canonicalize (Files): Add double-slash-root.m4.
39519         * modules/canonicalize-lgpl (Files): Likewise.
39520         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39521         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39522         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39523         fallback definition.
39524         (canonicalize_filename_mode): Use it to protect //.
39525         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39526         (__realpath): Likewise.
39527         * tests/test-canonicalize.c (main): Test this.
39528         * tests/test-canonicalize-lgpl.c (main): Likewise.
39529         * modules/canonicalize-tests (Depends-on): Add same-inode.
39530         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39531
39532         canonicalize-lgpl: fix glibc bug with trailing slash
39533         * m4/canonicalize-lgpl.m4: Move contents...
39534         * m4/canonicalize.m4: ...here.
39535         (gl_CANONICALIZE_LGPL): Factor realpath check...
39536         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39537         glibc 2.3.5 bug, fixed 2005-04-27.
39538         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39539         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39540         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39541         * modules/canonicalize-lgpl (Files): Manage file rename.
39542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39543         * modules/stdlib (Makefile.am): Substitute witness.
39544         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39545         is needed.
39546         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39547         replacement is required.
39548         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39549         * doc/glibc-functions/canonicalize_file_name.texi
39550         (canonicalize_file_name): Document this.
39551         * doc/posix-functions/realpath.texi (realpath): Likewise.
39552
39553         canonicalize-lgpl: reject non-directory with trailing slash
39554         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39555         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39556         catches failures in glibc 2.3.5.
39557         * tests/test-canonicalize.c (main): Likewise.
39558
39559         canonicalize-lgpl: use native realpath if it works
39560         * lib/canonicalize-lgpl.c (realpath): Guard with
39561         FUNC_REALPATH_WORKS.
39562         * lib/stdlib.in.h (realpath): Make declaration optional based on
39563         HAVE_REALPATH.
39564         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39565         native realpath works.
39566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39567         * modules/stdlib (Makefile.am): Substitute witness.
39568
39569         canonicalize, canonicalize-lgpl: use <stdlib.h>
39570         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39571         (Include): Mention <stdlib.h>.
39572         (configure.ac): Mention functions we provide.
39573         * modules/canonicalize (configure.ac): Likewise.
39574         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39575         realpath if canonicalize_file_name is missing.
39576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39577         * modules/stdlib (Makefile.am): Substitute witnesses.
39578         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39579         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39580         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39581         * NEWS: Document this.
39582         * doc/glibc-functions/canonicalize_file_name.texi
39583         (canonicalize_file_name): Likewise.
39584         * doc/posix-functions/realpath.texi (realpath): Likewise.
39585         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39586
39587         test-canonicalize: consolidate into single C program
39588         * tests/test-canonicalize.sh: Delete; move setup into...
39589         * tests/test-canonicalize.c (main): ...the program, making it
39590         easier to run in debugger.  Add some tests.
39591         * modules/canonicalize-tests (Files): Remove unused file.
39592         (Depends-on): Add progname.
39593         (configure.ac, Makefile.am): Simplify.
39594
39595         test-canonicalize-lgpl: consolidate into single C program
39596         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39597         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39598         easier to run in debugger.  Add some tests.
39599         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39600         (configure.ac, Makefile.am): Simplify.
39601
39602         canonicalize: avoid resolvepath
39603         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39604         unnecessary checks.
39605         * lib/canonicalize.c (includes): Simplify.
39606         (canonicalize_file_name): Drop resolvepath implementation.
39607         * modules/canonicalize (Depends-on): Drop filenamecat.
39608
39609         canonicalize: don't lose errno
39610         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39611         over calls to free.
39612
39613         canonicalize: simplify errno handling
39614         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39615         assignment.
39616
39617         canonicalize, canonicalize-lgpl: update module dependencies
39618         * modules/canonicalize (Depends-on): Add extensions, lstat,
39619         pathmax, stdlib.
39620         (Files): Drop pathmax.h.
39621         (configure.ac): Adjust macro name.
39622         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39623         lstat, stdlib, sys_stat.
39624         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39625         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39626         extensions.
39627         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39628         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39629         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39630         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39631         declaration, if available.
39632         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39633         we can rely on the readlink module.
39634         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39635         (includes): Use <unistd.h> unconditionally.
39636
39637 2009-09-17  Eric Blake  <ebb9@byu.net>
39638
39639         maint: make Include sections of modules consistent
39640         * modules/alloca: Use only header name; no need to list #include.
39641         * modules/alloca-opt: Likewise.
39642         * modules/arpa_inet: Likewise.
39643         * modules/canon-host: Likewise.
39644         * modules/configmake: Likewise.
39645         * modules/dirent: Likewise.
39646         * modules/eealloc: Likewise.
39647         * modules/environ: Likewise.
39648         * modules/fchdir: Likewise.
39649         * modules/fcntl: Likewise.
39650         * modules/fcntl-h: Likewise.
39651         * modules/gethrxtime: Likewise.
39652         * modules/gettime: Likewise.
39653         * modules/ignore-value: Likewise.
39654         * modules/inet_ntop: Likewise.
39655         * modules/inet_pton: Likewise.
39656         * modules/inttypes: Likewise.
39657         * modules/isnand-nolibm: Likewise.
39658         * modules/isnanf-nolibm: Likewise.
39659         * modules/mbchar: Likewise.
39660         * modules/mbfile: Likewise.
39661         * modules/mbiter: Likewise.
39662         * modules/mbuiter: Likewise.
39663         * modules/netdb: Likewise.
39664         * modules/netinet_in: Likewise.
39665         * modules/nproc: Likewise.
39666         * modules/pagealign_alloc: Likewise.
39667         * modules/poll: Likewise.
39668         * modules/printf-frexp: Likewise.
39669         * modules/pthread: Likewise.
39670         * modules/putenv: Likewise.
39671         * modules/random_r: Likewise.
39672         * modules/relocatable-prog: Likewise.
39673         * modules/search: Likewise.
39674         * modules/select: Likewise.
39675         * modules/selinux-h: Likewise.
39676         * modules/settime: Likewise.
39677         * modules/signal: Likewise.
39678         * modules/size_max: Likewise.
39679         * modules/socklen: Likewise.
39680         * modules/ssize_t: Likewise.
39681         * modules/stdarg: Likewise.
39682         * modules/stdbool: Likewise.
39683         * modules/stddef: Likewise.
39684         * modules/stdint: Likewise.
39685         * modules/stdio: Likewise.
39686         * modules/stdlib: Likewise.
39687         * modules/string: Likewise.
39688         * modules/strings: Likewise.
39689         * modules/sys_file: Likewise.
39690         * modules/sys_ioctl: Likewise.
39691         * modules/sys_select: Likewise.
39692         * modules/sys_socket: Likewise.
39693         * modules/sys_stat: Likewise.
39694         * modules/sys_time: Likewise.
39695         * modules/sys_times: Likewise.
39696         * modules/sys_utsname: Likewise.
39697         * modules/sys_wait: Likewise.
39698         * modules/sysexits: Likewise.
39699         * modules/time: Likewise.
39700         * modules/times: Likewise.
39701         * modules/tmpfile: Likewise.
39702         * modules/trim: Likewise.
39703         * modules/unistd: Likewise.
39704         * modules/wchar: Likewise.
39705         * modules/wctype: Likewise.
39706
39707 2009-09-17  Bruno Haible  <bruno@clisp.org>
39708
39709         Make getdate.y compile on QNX and NetBSD 5 / i386.
39710         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39711         TIME_T_FITS_IN_LONG_INT.
39712         * lib/getdate.y (long_time_t): New type.
39713         (relative_time): Change type of 'seconds' field to long_time_t.
39714         (get_date): Update types of local variables. Check against overflow
39715         during conversion from long_time_t to time_t.
39716         Reported by Matt Kraai <kraai@ftbfs.org>
39717         and Hasso Tepper <hasso@netbsd.org>.
39718
39719 2009-09-17  Bruno Haible  <bruno@clisp.org>
39720
39721         * modules/COPYING: Update copyright years.
39722         * modules/README: Likeiwse.
39723         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39724         Reported by Ian Beckwith <ianb@erislabs.net>.
39725
39726 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39727
39728         * users.txt: Update references for gnuit package.
39729
39730 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39731
39732         * m4/getdelim.m4: Fix typo in copyright line.
39733
39734 2009-09-17  Bruno Haible  <bruno@clisp.org>
39735
39736         * lib/atoll.c: Use the standard header with GPL copyright.
39737         * lib/argz.in.h: Likewise.
39738         * lib/glob.c: Likewise.
39739         * lib/glob-libc.h: Likewise.
39740         * lib/random_r.c: Likewise.
39741         * lib/siglist.h: Likewise.
39742         * lib/strsignal.c: Likewise.
39743         Reported by Ian Beckwith <ianb@erislabs.net>.
39744
39745 2009-09-17  Eric Blake  <ebb9@byu.net>
39746
39747         rmdir: ensure correct dependency order
39748         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39749
39750 2009-09-17  Bruno Haible  <bruno@clisp.org>
39751
39752         Disable assertion that fails on NetBSD 5 / i386.
39753         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39754         Reported by Sam Steingold <sds@gnu.org>
39755         and Hasso Tepper <hasso@netbsd.org>.
39756
39757 2009-09-16  Eric Blake  <ebb9@byu.net>
39758
39759         unlinkdir: port to mingw
39760         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39761         on which no one can unlink a directory.
39762
39763         stdlib: sort witness names
39764         * modules/stdlib (Makefile.am): Sort replacements.
39765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39766         * lib/stdlib.in.h: Likewise.
39767
39768         parse-duration-tests: avoid link failure
39769         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39770         LIBINTL.
39771         Reported by Tom G. Christensen.
39772
39773         openat-tests: ensure unlinkat behaves like rmdir
39774         * tests/test-rmdir.c (main): Factor guts...
39775         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39776         * modules/rmdir-tests (Files): Ship new file.
39777         * modules/openat-tests: New test.
39778         * tests/test-unlinkat.c: Likewise.
39779
39780         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39781         * modules/rmdir-errno (Status, Notice): Now obsolete.
39782
39783         rmdir: work around cygwin 1.5.x and mingw bugs
39784         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39785         * lib/rmdir.c (rmdir): Work around it.
39786         * modules/rmdir (Status, Notice): No longer obsolete.
39787         (Files): Add dos.m4.
39788         (Depends-on): Add unistd.
39789         (configure.ac): Set witnesses.
39790         (License): Relax to LGPLv2+.
39791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39792         * modules/unistd (Makefile.am): Substitute witnesses.
39793         * lib/unistd.in.h (rmdir): Declare replacement.
39794         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39795         * modules/rmdir-tests: New tests.
39796         * tests/test-rmdir.c: Likewise.
39797
39798 2009-09-15  Eric Blake  <ebb9@byu.net>
39799
39800         fchdir: improve use of replacement functions
39801         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39802         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39803         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39804         REPLACE_CLOSEDIR.
39805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39806         * modules/sys_stat (Makefile.am): Substitute correct witness.
39807         * modules/dirent (Makefile.am): Likewise.
39808         * modules/unistd (Makefile.am): Likewise.
39809         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39810         * lib/unistd.in.h (dup): Likewise.
39811         * lib/sys_stat.in.h (fstat): Likewise.
39812
39813         maint: ignore gnulib-tool temp files
39814         * .gitignore: Ignore files created during gnulib-tool --test.
39815
39816 2009-09-13  Jim Meyering  <meyering@redhat.com>
39817
39818         posixtm: don't reject a time that specify "60" as the number of seconds
39819         * lib/posixtm.c (posixtime): The code to reject invalid dates
39820         would also reject a time specified with the .60 suffix.
39821         But POSIX allows that, in order to accommodate leap seconds.
39822         So don't reject it.
39823         (main): Adjust tests accordingly.
39824         * modules/posixtm (Depends-on): Add stpcpy.
39825
39826 2009-09-11  Jim Meyering  <meyering@redhat.com>
39827
39828         announce-gen: include [$release_type] in emitted Subject:
39829         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39830         e.g., [stable] in the emitted Subject: line.
39831
39832 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39833
39834         Remove obsolete macros from several modules.
39835         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39836         obsolete Autoconf macros with their modern counterparts.
39837         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39838         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39839         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39840         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39841         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39842         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39844         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39845         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39846         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39847         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39848         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39849         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39850         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39851         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39852         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39853         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39854         * m4/time_r.m4 (gl_TIME_R): Likewise.
39855         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39856         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39857         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39858
39859         Fix copyright header in build-aux scripts.
39860         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39861         recommendation.
39862         * build-aux/ncftpput-ftp: Likewise.
39863         * build-aux/update-copyright: Likewise.
39864
39865 2009-09-09  Eric Blake  <ebb9@byu.net>
39866
39867         test-link: allow Linux choice of errno
39868         * tests/test-link.c (main): Relax test for alternate error.
39869
39870         strndup: fix improper m4 caching
39871         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39872         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39873         (gl_PREREQ_STRNDUP): Delete.
39874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39875         * modules/string (Makefile.am): Substitute it.
39876         * lib/string.in.h (strndup): Modernize prototype.
39877
39878         getcwd: port to mingw
39879         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39880         different from the POSIX assumptions made throughout the getcwd
39881         module; fortunately, the mingw getcwd does not need replacement.
39882         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39883         * modules/getcwd-tests: New test.
39884         * tests/test-getcwd.c: Likewise.
39885
39886         link: fix platform bugs
39887         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39888         * lib/link.c (link): Work around them.  Fix related mingw bug.
39889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39890         * modules/unistd (Makefile.am): Substitute it.
39891         * lib/unistd.in.h (link): Declare replacement.
39892         * doc/posix-functions/link.texi (link): Document this.
39893         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39894
39895         test-link: consolidate into single C program, test more cases
39896         * tests/test-link.sh: Delete.
39897         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39898         at least Cygwin and Solaris.
39899         * modules/link-tests (Files): Remove unused file.
39900         (Depends-on): Add errno, sys_stat.
39901         (Makefile.am): Simplify.
39902
39903 2009-09-08  Bruno Haible  <bruno@clisp.org>
39904
39905         Work around towlower, towupper bug on mingw.
39906         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39907         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39908         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39909         * doc/posix-functions/towupper.texi: Likewise.
39910         Reported by Eric Blake.
39911
39912 2009-09-08  Jim Meyering  <meyering@redhat.com>
39913
39914         build: don't try to run autoheader if we don't use it
39915         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39916         is not used in configure.ac.
39917
39918 2009-09-08  Eric Blake  <ebb9@byu.net>
39919
39920         euidaccess: fix compilation error
39921         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39922
39923         rawmemchr: relax license
39924         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39925         okay.
39926         Reported by Jim Meyering.
39927
39928         mkfifoat: new module
39929         * modules/mkfifoat: New file.
39930         * lib/mkfifoat.c: Likewise.
39931         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39932         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39933         * modules/sys_stat (Makefile.am): Use them.
39934         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39935         * MODULES.html.sh (File system functions): Mention module.
39936         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39937         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39938         * modules/mkfifoat-tests: New test.
39939         * tests/test-mkfifoat.c: Likewise.
39940
39941         strchrnul: relax license
39942         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39943         okay.
39944         Reported by Jim Meyering.
39945
39946 2009-09-08  Eric Blake  <ebb9@byu.net>
39947
39948         fstatat: fix compilation on Solaris
39949         * lib/fstatat.c (includes): Add fcntl.h.
39950         Reported by Pádraig Brady.
39951
39952 2009-09-07  Eric Blake  <ebb9@byu.net>
39953
39954         rename: modernize replacement
39955         * modules/rename (Depends-on): Add stdio.
39956         (configure.ac): Declare witness.
39957         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39958         stdio take care of replacement.
39959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39960         * modules/stdio (Makefile.am): Substitute them.
39961         * lib/stdio.in.h (rename): Declare replacement.
39962         * lib/rename.c (includes): Allow cross-compilation to non-windows
39963         machines.
39964         * doc/posix-functions/rename.texi (rename): Improve
39965         documentation.
39966
39967         stdio: sort witness names
39968         * modules/stdio (Makefile.am): Sort replacements.
39969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39970         * lib/stdio.in.h: Likewise.
39971
39972         getcwd: minor cleanups
39973         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39974         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39975
39976         openat: provide more convenience names
39977         * modules/faccessat (configure.ac): Add C witness.
39978         * lib/unistd.in.h (readlinkat): Fix typo.
39979         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39980         convenience wrappers.
39981         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39982         wrappers in syntax checks.
39983
39984 2009-09-06  Eric Blake  <ebb9@byu.net>
39985
39986         doc: fix comments in recent patches
39987         * lib/faccessat.c: Mention correct function.
39988         * lib/fchmodat.c: Likewise.
39989         * lib/fchownat.c: Likewise.
39990         * lib/symlinkat.c: Likewise.
39991         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39992         constants.
39993
39994         faccessat, symlinkat: continue cleanup of previous patch
39995         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39996         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39997         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39999         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40000         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40001         set.
40002
40003 2009-09-06  Bruno Haible  <bruno@clisp.org>
40004
40005         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40006         (fstatat): Declare if GNULIB_FSTATAT is set.
40007         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40008         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40009         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40010         * modules/fcntl-h (Files): Remove m4/openat.m4.
40011         * modules/sys_stat (Files): Remove m4/openat.m4.
40012         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40013         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40014         * modules/unistd (Files): Remove m4/openat.m4.
40015         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40016         GNULIB_OPENAT.
40017         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40018         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40019         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40020         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40021         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40022         gl_OPENAT_DEFAULTS.
40023         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40024         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40025         Don't require gl_OPENAT_DEFAULTS.
40026         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40027         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40028         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40029         (gl_OPENAT_DEFAULTS): Remove macro.
40030
40031 2009-09-06  Bruno Haible  <bruno@clisp.org>
40032
40033         * modules/openat (configure.ac): Remove unneeded witness.
40034
40035 2009-09-06  Bruno Haible  <bruno@clisp.org>
40036
40037         Set errno to ENOSYS when a function is entirely unsupported.
40038         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40039         EOPNOTSUPP.
40040         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40041         * modules/chown (Depends-on): Remove errno.
40042
40043 2009-09-06  Bruno Haible  <bruno@clisp.org>
40044
40045         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40046
40047 2009-09-06  Bruno Haible  <bruno@clisp.org>
40048
40049         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40050
40051 2009-09-06  Ben Pfaff  <blp@gnu.org>
40052             Bruno Haible  <bruno@clisp.org>
40053
40054         Work around a glibc bug in strtok_r.
40055         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40056         Undefine if UNDEFINE_STRTOK_R is set.
40057         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40059         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40060         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40061         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40062         UNDEFINE_STRTOK_R.
40063         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40064
40065 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40066
40067         exclude: minor fix
40068         * lib/exclude.c: Include wctype.h
40069
40070 2009-09-06  Akim Demaille  <demaille@gostai.com>
40071
40072         bootstrap: improve error message
40073         * build-aux/bootstrap (find_tool): Upon failure, report the list
40074         of candidates.
40075         Honor the initial value of the envvar.
40076
40077 2009-09-05  Eric Blake  <ebb9@byu.net>
40078
40079         symlinkat: new module
40080         * modules/symlinkat: New file.
40081         * lib/symlinkat.c: Likewise.
40082         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40084         * modules/unistd (Makefile.am): Use them.
40085         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40086         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40087         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40088         * MODULES.html.sh (File system functions): Mention module.
40089         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40090         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40091         * modules/symlinkat-tests: New test.
40092         * tests/test-symlinkat.c: Likewise.
40093
40094         test-openat-safer: add more checks
40095         * tests/test-openat-safer.c (main): Check more code paths.
40096
40097 2009-09-05  Jim Meyering  <meyering@redhat.com>
40098
40099         syntax-check: detect unnecessary inclusion of openat.h
40100         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40101
40102 2009-09-05  Bruno Haible  <bruno@clisp.org>
40103
40104         Support towlower, towupper.
40105         * doc/posix-functions/towlower.texi: Mention module wctype.
40106         * doc/posix-functions/towupper.texi: Likewise.
40107         * lib/wctype.in.h (towlower, towupper): New functions.
40108         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40109         (ASSERT): New macro.
40110         (e): New variable.
40111         (main): Test also towlower, towupper. Test WEOF argument.
40112         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40113
40114 2009-09-05  Bruno Haible  <bruno@clisp.org>
40115
40116         Fix conversion behaviour when the input is invalid.
40117         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40118         mark occurring in first pass of indirect conversion.
40119         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40120         input.
40121         Found by clang's static analyzer.
40122
40123 2009-09-05  Bruno Haible  <bruno@clisp.org>
40124
40125         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40126         where direct conversion is possible.
40127
40128 2009-09-04  Eric Blake  <ebb9@byu.net>
40129
40130         openat: fail with ENOENT on empty name
40131         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40132         buffer.
40133
40134         link-follow: fix logic bug in prior patch
40135         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40136         reversed sense of yes and no in prior patch.  Avoid confusing
40137         compilation failure with desired semantics.
40138
40139         link-follow: accomodate mingw and cross-compilation
40140         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40141         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40142         cross-compilation results to -1, to make linkat easier to
40143         implement when cross-compiling.  Trivially support mingw.
40144         * modules/link-follow (configure.ac): Call new name.
40145         * NEWS: Mention this.
40146
40147 2009-09-03  Eric Blake  <ebb9@byu.net>
40148
40149         faccessat: compile replacement
40150         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40151         needed.
40152
40153         fts: fix compilation error
40154         * lib/fts.c (includes): Re-add "openat.h", for
40155         openat_needs_fchdir.
40156
40157         faccessat: new module
40158         * modules/faccessat: New file.
40159         * lib/faccessat.c: Likewise.
40160         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40162         * modules/unistd (Makefile.am): Use it.
40163         * lib/unistd.in.h (faccessat): Declare it.
40164         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40165         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40166         * MODULES.html.sh (File system functions): Mention it.
40167         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40168         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40169
40170         euidaccess: prefer POSIX over non-standard implementation
40171         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40172         * lib/euidaccess.c (euidaccess): Use it if available.
40173
40174         openat: make template easier to use
40175         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40176         AT_FUNC_F2 to be undefined.
40177         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40178         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40179         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40180         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40181         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40182         Likewise.
40183         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40184         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40185         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40186         Likewise.
40187
40188         openat: declare in POSIX headers
40189         * NEWS: Mention this.
40190         * modules/openat (configure.ac): Declare witnesses.
40191         (Depends-on): Add fcntl-h, sys_stat, unistd.
40192         (Include): Mention correct headers.
40193         * modules/fcntl-h (Depends-on): Add link-warning.
40194         (Files): Add openat.m4.
40195         (Makefile.am): Substitute witnesses.
40196         * modules/sys_stat (Files, Makefile.am): Likewise.
40197         * modules/unistd (Files, Makefile.am): Likewise.
40198         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40199         (gl_OPENAT_DEFAULTS): New macro.
40200         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40202         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40203         (SYS_STAT_H): Remove unused variable.
40204         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40205         * lib/fcntl--.h (includes): Remove unneeded header.
40206         * lib/openat-safer.c (includes): Likewise.
40207         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40208         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40209         appropriate headers.
40210         (__OPENAT_PREFIX): Delete.
40211         * lib/fcntl.in.h (openat): Provide declaration.
40212         (AT_FDCWD): Fix Solaris bug.
40213         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40214         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40215         * lib/fchmodat.c (includes):  Adjust to find declaration.
40216         * lib/fchownat.c (includes): Likewise.
40217         * lib/mkdirat.c (includes): Likewise.
40218         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40219         still visible.
40220
40221 2009-09-02  Eric Blake  <ebb9@byu.net>
40222
40223         errno: use consistently
40224         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40225         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40226         * lib/canonicalize.c (ELOOP): Likewise.
40227         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40228         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40229         * lib/lchown.c (EOPNOTSUPP): Likewise.
40230         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40231         * lib/savewd.c (ESTALE): Likewise.
40232         * lib/settime.c (ENOSYS): Likewise.
40233         * lib/utimens.c (ENOSYS): Likewise.
40234         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40235         * lib/chdir-safer.c (ELOOP): Likewise.
40236         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40237         * modules/c-stack (Depends-on): Add errno.
40238         * modules/canonicalize (Depends-on): Likewise.
40239         * modules/chdir-safer (Depends-on): Likewise.
40240         * modules/fdopendir (Depends-on): Likewise.
40241         * modules/inet_ntop (Depends-on): Likewise.
40242         * modules/inet_pton (Depends-on): Likewise.
40243         * modules/lchown (Depends-on): Likewise.
40244         * modules/openat (Depends-on): Likewise.
40245         * modules/savewd (Depends-on): Likewise.
40246         * modules/settime (Depends-on): Likewise.
40247         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40248
40249         fts: avoid leaking fds
40250         * modules/fts (Depends-on): Add cloexec.
40251         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40252         flag.
40253
40254         fts: make directory fds more robust
40255         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40256         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40257
40258         backupfile, chdir-long, fts, savedir: make safer
40259         * lib/backupfile.c (includes): Use "dirent--.h", since
40260         numbered_backup can write to stderr during readdir.
40261         * lib/savedir.c (includes): Likewise.
40262         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40263         emulation can write to stderr on failure.
40264         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40265         * lib/getcwd.c: Document why opendir_safer is unused.
40266         * lib/glob.c: Likewise.
40267         * lib/scandir.c: Likewise.
40268         * lib/openat-proc.c: Likewise, for open_safer.
40269         * modules/backupfile (Depends-on): Add dirent-safer.
40270         * modules/savedir (Depends-on): Likewise.
40271         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40272         * modules/chdir-long (Depends-on): Add openat-safer.
40273
40274         openat-safer: new module
40275         * modules/openat-safer: New file.
40276         * lib/openat-safer.c: Likewise.
40277         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40278         * lib/fcntl-safer.h (openat_safer): Declare.
40279         * lib/fcntl--.h (openat): Override.
40280         * MODULES.html.sh (File descriptor based I/O): Mention it.
40281         * lib/openat.h: Add double-inclusion guards.
40282         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40283         "fcntl--.h", so we can implement openat.
40284         * modules/openat-safer-tests: New test.
40285         * tests/test-openat-safer.c: New file.
40286
40287         dirent-safer: new module
40288         * modules/dirent-safer: New file.
40289         * lib/dirent--.h: Likewise.
40290         * lib/dirent-safer.h: Likewise.
40291         * lib/opendir-safer.c: Likewise.
40292         * m4/dirent-safer.m4: Likewise.
40293         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40294         * modules/dirent-safer-tests: New test.
40295         * tests/test-dirent-safer.c: New file.
40296         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40297
40298         fdopendir: optimize on mingw
40299         * lib/unistd.in.h (_gl_directory_name): New prototype.
40300         * lib/fchdir.c (_gl_directory_name): Implement it.
40301         (fchdir): Use it to simplify implementation.
40302         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40303         fchdir, when available, to avoid calling [f]chdir().
40304
40305         fdopendir: split into its own module
40306         * lib/openat.c (fdopendir): Move...
40307         * lib/fdopendir.c: ...into new file.
40308         * modules/fdopendir: New module.
40309         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40310         * modules/openat (Depends-on): Add fdopendir.
40311         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40312         fdopendir here.
40313         * modules/savedir (Depends-on): Only need fdopendir, not full
40314         openat.
40315         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40316         * lib/openat.h (fdopendir): Drop prototype.
40317         * lib/dirent.in.h (fdopendir): Provide prototype.
40318         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40319         * modules/dirent (Makefile.am): Substitute them.
40320         * MODULES.html.sh (File system functions): Mention it.
40321         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40322         * modules/fdopendir-tests: New file.
40323         * tests/test-fdopendir.c: Likewise.
40324
40325         fchdir: use more consistent macro convention
40326         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40327         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40328         REPLACE_FCHDIR, rather than relying on config.h macros.
40329         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40330         inside a single make-time REPLACE_FCHDIR block, rather than using
40331         the config.h FCHDIR_REPLACEMENT.
40332         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40333         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40334         Manage fstat replacement.
40335         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40336         REPLACE_FCHDIR.
40337         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40338         (Makefile.am): Substitute REPLACE_FCHDIR.
40339         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40340         FCHDIR_REPLACEMENT.
40341         * lib/dup-safer.c (dup_safer): Likewise.
40342         * lib/dup2.c (rpl_dup2): Likewise.
40343         * lib/dup3.c (rpl_dup3): Likewise.
40344         * lib/open.c (rpl_open): Likewise.
40345
40346         fchdir: simplify error handling, and support dup3
40347         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40348         stdbool, malloc-posix, realloc-posix.
40349         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40350         (ensure_dirs_slot): Return false on allocation failure.
40351         (rpl_dup2): Delete.
40352         (_gl_register_dup): New function.
40353         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40354         (_gl_register_fd): Close fd on allocation failure.
40355         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40356         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40357         prototype.
40358         (rpl_dup2_fchdir): Delete prototype.
40359         * lib/open.c (open): Update caller.
40360         * lib/dup2.c (dup2): Track fchdir metadata.
40361         * lib/dup3.c (dup3): Likewise.
40362         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40363         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40364
40365 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40366
40367         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40368         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40369         don't pass arguments to AC_OUTPUT.
40370
40371 2009-09-02  Bruno Haible  <bruno@clisp.org>
40372
40373         * modules/mkdtemp (License): Relicense under LGPLv2+.
40374         Reported by Paolo Bonzini.
40375
40376 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40377
40378         Replace uses of obsolete autoconf macros in Jim's modules.
40379         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40380         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40381         can evoke a warning from autoconf when run with -Wobsolete
40382         enabled.  They were declared obsolete for good reasons (see
40383         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40384         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40385         should not continue using the deprecated macros.
40386         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40387         obsolete Autoconf macros with modern counterparts.
40388         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40389         * m4/dos.m4 (gl_AC_DOS): Likewise.
40390         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40391         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40392         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40393         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40394         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40395         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40396         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40397         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40398         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40399         Likewise.
40400         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40401         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40402         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40403         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40404         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40405         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40406
40407 2009-09-01  Eric Blake  <ebb9@byu.net>
40408
40409         fchdir: fix off-by-one bug in previous patch
40410         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40411         (_gl_unregister_fd): Delete useless if.
40412
40413 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40414
40415         maint.mk: sort the list of syntax-check rules
40416         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40417         easier to get a sense of progress when the rules are run sequentially
40418         and take a long time.
40419
40420 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40421
40422         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40423         * modules/netinet_in: Likewise.
40424         * modules/sys_file: Likewise.
40425         * modules/sys_ioctl: Likewise.
40426         * modules/sys_select: Likewise.
40427         * modules/sys_socket: Likewise.
40428         * modules/sys_stat: Likewise.
40429         * modules/sys_time: Likewise.
40430         * modules/sys_times: Likewise.
40431         * modules/sys_utsname: Likewise.
40432         * modules/sys_wait: Likewise.
40433
40434 2009-09-01  Jim Meyering  <meyering@redhat.com>
40435
40436         fts: help ensure that return values are not ignored
40437         * lib/fts_.h (__GNUC_PREREQ): Define.
40438         (__attribute_warn_unused_result__): Define.
40439         (fts_children, fts_close, fts_open, fts_read): Declare with
40440         __attribute_warn_unused_result__.
40441
40442         fts: fts_close now fails also when closing a dir file descriptor fails
40443         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40444         and propagate to caller, along with errno.
40445
40446         announce-gen: correct formatting in --help output
40447         * build-aux/announce-gen (usage): Move the one-line description in
40448         --help output "up", to where it belongs, just after Usage:.
40449
40450 2009-08-31  Eric Blake  <ebb9@byu.net>
40451
40452         fchdir: port to mingw
40453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40454         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40455         opened, then use a substitute.
40456         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40457         replacement.
40458         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40459         (_gl_register_fd): No need to check stat if open already filters
40460         all directories.
40461         (fchdir): Fix error condition to match POSIX.
40462         * modules/fchdir (Depends-on): Add sys_stat.
40463         * doc/posix-functions/open.texi (open): Document the limitation.
40464         * modules/fchdir-tests: New file.
40465         * tests/test-fchdir.c: Likewise.
40466
40467         canonicalize: allow cross-testing from cygwin to mingw
40468         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40469         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40470         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40471         Likewise.
40472         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40473         target does not support symlinks.
40474         * tests/test-canonicalize-lgpl.sh: Likewise.
40475
40476         chown: avoid compilation warning on mingw
40477         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40478         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40479         mingw.
40480         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40481         * modules/chown (Depends-on): Add errno.
40482
40483 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40484
40485         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40486         command.
40487
40488 2009-08-31  Jim Meyering  <meyering@redhat.com>
40489
40490         canonicalize: remove useless initialization
40491         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40492         initialization of local, "end".
40493
40494 2009-08-30  Bruno Haible  <bruno@clisp.org>
40495
40496         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40497         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40498         ENOSYS.
40499
40500 2009-08-30  Bruno Haible  <bruno@clisp.org>
40501
40502         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40503         /usr/xpg4/bin/tr when it exists.
40504         * tests/test-pipe-filter-gi1.sh: Likewise.
40505
40506 2009-08-30  Bruno Haible  <bruno@clisp.org>
40507
40508         Work around deficient /usr/bin/id program on Solaris.
40509         * tests/test-file-has-acl.sh (ID): New variable.
40510         * tests/test-set-mode-acl.sh (ID): Likewise.
40511         * tests/test-copy-acl.sh (ID): Likewise.
40512         * tests/test-copy-file.sh (ID): Likewise.
40513
40514 2009-08-30  Bruno Haible  <bruno@clisp.org>
40515
40516         New module 'xstriconveh'.
40517         * lib/xstriconveh.h: New file.
40518         * lib/xstriconveh.c: New file.
40519         * modules/xstriconveh: New file.
40520
40521 2009-08-30  Bruno Haible  <bruno@clisp.org>
40522
40523         Make it easier to use mem_cd_iconveh.
40524         * lib/striconveh.h (iconveh_t): New type.
40525         (iconveh_open, iconveh_close): New declarations.
40526         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40527         with a single 'const iconveh_t *' argument.
40528         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40529         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40530         with a single 'const iconveh_t *' argument.
40531         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40532         * tests/test-striconveh.c (main): Update.
40533         * NEWS: Mention the change.
40534
40535 2009-08-30  Bruno Haible  <bruno@clisp.org>
40536
40537         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40538         problem.
40539
40540 2009-08-30  Bruno Haible  <bruno@clisp.org>
40541
40542         Work around iconv_open problem on Solaris.
40543         * lib/iconv_open-solaris.gperf: New file.
40544         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40545         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40546         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40547         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40548         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40549         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40550
40551 2009-08-29  Jim Meyering  <meyering@redhat.com>
40552
40553         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40554         * top/maint.mk (cvs-check): Remove target; it was just an alias
40555         to the better-named vc-diff-check.
40556         (maintainer-distcheck): Remove rule.  It was used only from
40557         the (alpha/beta/major) target, and all of its commands but one
40558         were coreutils-specific.
40559         (vc-dist): Remove rule.
40560         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40561         Run vc-diff-check, not vc-dist.
40562         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40563
40564 2009-08-27  Bruno Haible  <bruno@clisp.org>
40565
40566         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40567         of 0.
40568
40569 2009-08-27  Bruno Haible  <bruno@clisp.org>
40570
40571         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40572         compilers.
40573         * doc/func.texi: Document the SunPRO C bug.
40574
40575 2009-08-27  Bruno Haible  <bruno@clisp.org>
40576
40577         Fix link error on Solaris.
40578         * tests/test-parse-duration.c (xstrdup): Remove function.
40579
40580 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40581
40582         ignore-value: handle pointer types, too
40583         * lib/ignore-value.h (__attribute__): Remove definition.
40584         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40585         of a more concise and more-often effective "(void) i" statement.
40586         (ignore_ptr): New function to suppress warnings from functions that
40587         return pointers, and to make it explicit that one function doesn't
40588         handle all cases.
40589
40590 2009-08-25  Bruno Haible  <bruno@clisp.org>
40591
40592         dup2: work around a Linux bug.
40593         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40594         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40595         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40596         Reported by Simon Josefsson.
40597
40598 2009-08-25  Jim Meyering  <meyering@redhat.com>
40599
40600         libguestfs uses gnulib
40601         * users.txt: Add libguestfs.
40602
40603 2009-08-24  Eric Blake  <ebb9@byu.net>
40604
40605         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40606         * lib/pipe2.c (includes): Add binary-io.h.
40607         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40608
40609 2009-08-24  Bruno Haible  <bruno@clisp.org>
40610
40611         Tolerate declared but missing accept4 syscall.
40612         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40613         available.
40614         * lib/sys_socket.in.h (accept4): If the function is already present,
40615         override it.
40616         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40617         * modules/accept4 (Makefile.am): Compile accept4.c always.
40618         Reported by Paolo Bonzini and Eric Blake.
40619
40620 2009-08-23  Bruno Haible  <bruno@clisp.org>
40621
40622         New module 'accept4'.
40623         * lib/sys_socket.in.h (accept4): New declaration.
40624         * lib/accept4.c: New file.
40625         * m4/accept4.m4: New file.
40626         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40627         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40628         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40629         HAVE_ACCEPT4.
40630         * modules/accept4: New file.
40631         * doc/glibc-functions/accept4.texi: Mention the new module.
40632
40633 2009-08-24  Jim Meyering  <meyering@redhat.com>
40634
40635         progname: also set global program_invocation_name, when possible
40636         Before this change, a libtool-enabled program that calls glibc's
40637         error function would report the program name as
40638         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40639         * modules/progname (configure.ac): Check for a declaration of
40640         program_invocation_name.
40641         * lib/progname.c:  Include <errno.h>.
40642         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40643         Set program_invocation_name.
40644
40645 2009-08-23  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/dup3.c: Include <string.h>.
40648
40649 2009-08-23  Bruno Haible  <bruno@clisp.org>
40650
40651         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40652         * lib/pipe2.c (pipe2): Likewise.
40653         Suggested by Eric Blake.
40654
40655 2009-08-23  Bruno Haible  <bruno@clisp.org>
40656
40657         Tolerate declared but missing dup3 syscall.
40658         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40659         * lib/unistd.in.h (dup3): If the function is already present,
40660         override it.
40661         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40662         * modules/dup3 (Makefile.am): Compile dup3.c always.
40663         Reported by Paolo Bonzini.
40664
40665 2009-08-23  Bruno Haible  <bruno@clisp.org>
40666
40667         Tolerate declared but missing pipe2 syscall.
40668         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40669         available.
40670         * lib/unistd.in.h (pipe2): If the function is already present,
40671         override it.
40672         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40673         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40674         Reported by Paolo Bonzini.
40675
40676 2009-08-23  Bruno Haible  <bruno@clisp.org>
40677
40678         * lib/pipe2.c (pipe2): Move #ifs inside function.
40679
40680 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40681
40682         quotearg: document limitations of quote_these_too
40683         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40684         those limitations are created.
40685         * lib/quotearg.h (set_char_quoting): Document that digits and
40686         letters that are special after backslash are not permitted.
40687         (quotearg_char): Cross-reference set_char_quoting documentation.
40688
40689 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40690
40691         quotearg: implement custom_quoting_style
40692         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40693         right_quote fields.
40694         (set_custom_quoting): New public function.
40695         (quotearg_buffer_restyled): Add left_quote and right_quote
40696         arguments, handle them very much like locale quoting, and update
40697         all uses.
40698         (quotearg_n_custom): New public function.
40699         (quotearg_n_custom_mem): New public function.
40700         (quotearg_custom): New public function.
40701         (quotearg_custom_mem): New public function.
40702         * lib/quotearg.h: Prototype and document new public functions.
40703         (enum quoting_style): For escape_quoting_style and
40704         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40705         ignored even though they're otherwise like c_quoting_style.
40706         Add custom_quoting_style member and document with comparison to
40707         clocale_quoting_style.
40708         * tests/test-quotearg.c (custom_quotes): New array.
40709         (custom_results): New array.
40710         (main): Extend to test custom quoting.
40711
40712 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40713
40714         quotearg: fix right quote escaping when it's in quote_these_too
40715         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40716         quote, be sure to prepend only one backslash.
40717         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40718         (main): Test it.
40719
40720 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40721
40722         quotearg-tests: test escaping of embedded locale quotes
40723         * tests/test-quotearg.c (struct result_strings): Add member for
40724         new input.
40725         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40726         (inputs): Add new input.
40727         (results_g): Add expected results.
40728         (flag_results): Likewise.
40729         (locale_results): Likewise.
40730         (compare_strings): Check those.
40731
40732 2009-08-23  Bruno Haible  <bruno@clisp.org>
40733
40734         Tests for module 'dup3'.
40735         * modules/dup3-tests: New file.
40736         * tests/test-dup3.c: New file.
40737
40738         New module 'dup3'.
40739         * lib/unistd.in.h (dup3): New declaration.
40740         * lib/dup3.c: New file.
40741         * m4/dup3.m4: New file.
40742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40743         HAVE_DUP3.
40744         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40745         * modules/dup3: New file.
40746         * doc/glibc-functions/dup3.texi: Mention the new module.
40747
40748 2009-08-23  Bruno Haible  <bruno@clisp.org>
40749
40750         Tweak the dup2 test.
40751         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40752         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40753         the test file is still empty. Fix argument order of lseek.
40754
40755 2009-08-23  Bruno Haible  <bruno@clisp.org>
40756
40757         Avoid test link errors when the modules getopt-gnu, gettext are used.
40758         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40759         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40760
40761 2009-08-23  Bruno Haible  <bruno@clisp.org>
40762
40763         Fix getdtablesize() on mingw.
40764         * lib/getdtablesize.c (getdtablesize): Implement differently.
40765         * lib/unistd.in.h (getdtablesize): Improve comment.
40766
40767 2009-08-23  Bruno Haible  <bruno@clisp.org>
40768
40769         New module 'mkostemp'.
40770         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40771         * lib/stdlib.in.h (mksotemp): New declaration.
40772         * lib/mkostemp.c: New file, from glibc with modifications.
40773         * lib/tempname.h (GT_FILE): Remove outdated comment.
40774         (gen_tempname): Add flags argument.
40775         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40776         (__GT_FILE): Map to 1.
40777         (small_open, large_open): Remove macros.
40778         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40779         * lib/mkstemp.c (mkstemp): Update.
40780         * lib/mkdtemp.c (mkdtemp): Likewise.
40781         * m4/mkostemp.m4: New file.
40782         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40783         HAVE_MKOSTEMP.
40784         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40785         HAVE_MKOSTEMP.
40786         * modules/mkostemp: New file, based on modules/mkstemp.
40787         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40788         * NEWS: Mention the change.
40789
40790 2009-08-23  Bruno Haible  <bruno@clisp.org>
40791
40792         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40793         Reported by Eric Blake.
40794
40795 2009-08-23  Bruno Haible  <bruno@clisp.org>
40796
40797         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40798         Reported by Eric Blake.
40799
40800 2009-08-23  Bruno Haible  <bruno@clisp.org>
40801
40802         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40803         * modules/pipe2 (Depends-on): Likewise.
40804
40805 2009-08-23  Eric Blake  <ebb9@byu.net>
40806
40807         fcntl-h: add O_TTY_INIT support
40808         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40809         * tests/test-fcntl-h.c (o): Test it.
40810         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40811
40812         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40813         * modules/fcntl: Move <fcntl.h> header replacement...
40814         * modules/fcntl-h: ...to new name, so as not to collide with
40815         like-named function.
40816         * tests/test-fcntl.c: Rename...
40817         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40818         * modules/fcntl-tests: Rename...
40819         * modules/fcntl-h-tests: ...to this.  Update test file name.
40820         * modules/chdir-long (Depends-on): Update clients.
40821         * modules/chdir-safer (Depends-on): Likewise.
40822         * modules/fcntl-safer (Depends-on): Likewise.
40823         * modules/fts (Depends-on): Likewise.
40824         * modules/mkancesdirs (Depends-on): Likewise.
40825         * modules/mkdir-p (Depends-on): Likewise.
40826         * modules/open (Depends-on): Likewise.
40827         * modules/savewd (Depends-on): Likewise.
40828         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40829         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40830
40831 2009-08-22  Bruno Haible  <bruno@clisp.org>
40832
40833         * modules/binary-io (License): Relicense under LGPL.
40834         * modules/pipe2 (License): Likewise.
40835
40836 2009-08-22  Bruno Haible  <bruno@clisp.org>
40837
40838         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40839         return value.
40840         * lib/pipe-filter-gi.c (filter_init): Likewise.
40841         Reported by Eric Blake.
40842
40843 2009-08-22  Bruno Haible  <bruno@clisp.org>
40844
40845         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40846         * modules/pipe (Depends-on): Add pipe2.
40847
40848 2009-08-22  Bruno Haible  <bruno@clisp.org>
40849
40850         Tests for module 'pipe2'.
40851         * modules/pipe2-tests: New file.
40852         * tests/test-pipe2.c: New file.
40853
40854         New module 'pipe2'.
40855         * lib/unistd.in.h (pipe2): New declaration.
40856         * lib/pipe2.c: New file.
40857         * m4/pipe2.m4: New file.
40858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40859         HAVE_PIPE2.
40860         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40861         * modules/pipe2: New file.
40862         * doc/glibc-functions/pipe2.texi: Mention the new module.
40863
40864 2009-08-22  Bruno Haible  <bruno@clisp.org>
40865
40866         Reference some new glibc functions.
40867         * doc/glibc-functions/accept4.texi: New file.
40868         * doc/glibc-functions/dup3.texi: New file.
40869         * doc/glibc-functions/mkostemp.texi: New file.
40870         * doc/glibc-functions/pipe2.texi: New file.
40871         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40872         (Glibc sys/socket.h): Refer to accept4.
40873         (Glibc unistd.h): Refer to dup3, pipe2.
40874         Reported by Eric Blake.
40875
40876 2009-08-22  Jim Meyering  <meyering@redhat.com>
40877             Bruno Haible  <bruno@clisp.org>
40878
40879         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40880         This makes it so packages using automake-1.11's silent-rules option
40881         can print e.g., a single "GEN    configmake.h" line, rather than
40882         the 30+ statements that perform the job.  If you want to see the
40883         actual commands, you can still run "make V=1".
40884         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40885         so that make output is abbreviated when those variables are defined
40886         appropriately.
40887         * modules/argz: Likewise.
40888         * modules/arpa_inet: Likewise.
40889         * modules/byteswap: Likewise.
40890         * modules/configmake: Likewise.
40891         * modules/dirent: Likewise.
40892         * modules/errno: Likewise.
40893         * modules/fcntl: Likewise.
40894         * modules/float: Likewise.
40895         * modules/fnmatch: Likewise.
40896         * modules/getopt-posix: Likewise.
40897         * modules/glob: Likewise.
40898         * modules/iconv_open: Likewise.
40899         * modules/inttypes: Likewise.
40900         * modules/localcharset: Likewise.
40901         * modules/locale: Likewise.
40902         * modules/math: Likewise.
40903         * modules/netdb: Likewise.
40904         * modules/netinet_in: Likewise.
40905         * modules/poll: Likewise.
40906         * modules/posix_spawnp-tests: Likewise.
40907         * modules/sched: Likewise.
40908         * modules/search: Likewise.
40909         * modules/selinux-h: Likewise.
40910         * modules/signal: Likewise.
40911         * modules/spawn: Likewise.
40912         * modules/stdarg: Likewise.
40913         * modules/stdbool: Likewise.
40914         * modules/stddef: Likewise.
40915         * modules/stdint: Likewise.
40916         * modules/stdio: Likewise.
40917         * modules/stdlib: Likewise.
40918         * modules/string: Likewise.
40919         * modules/strings: Likewise.
40920         * modules/sys_file: Likewise.
40921         * modules/sys_ioctl: Likewise.
40922         * modules/sys_select: Likewise.
40923         * modules/sys_socket: Likewise.
40924         * modules/sys_stat: Likewise.
40925         * modules/sys_time: Likewise.
40926         * modules/sys_times: Likewise.
40927         * modules/sys_utsname: Likewise.
40928         * modules/sys_wait: Likewise.
40929         * modules/sysexits: Likewise.
40930         * modules/time: Likewise.
40931         * modules/unistd: Likewise.
40932         * modules/wchar: Likewise.
40933         * modules/wctype: Likewise.
40934
40935 2009-08-22  Jim Meyering  <meyering@redhat.com>
40936
40937         announce-gen: detect write failure
40938         * build-aux/announce-gen: Add Coda at end.
40939         Remove equivalent-but-more-verbose block at top.
40940
40941 2009-08-19  Akim Demaille  <demaille@gostai.com>
40942
40943         bootstrap: --help to stdout.
40944         * bootstrap (usage): Don't send --help to stderr.
40945         Use a here doc instead of a long string.
40946
40947 2009-08-21  Eric Blake  <ebb9@byu.net>
40948
40949         test-popen-safer: split from test-popen
40950         * tests/test-popen.c (main): Move...
40951         * tests/test-popen.h: ...into new file.
40952         * tests/test-popen-safer2.c: New file.
40953         * modules/popen-tests (Files): Add test-popen.h.
40954         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40955         Suggested by Bruno Haible.
40956
40957         test-fcntl-safer: split from test-open
40958         * tests/test-open.c (main): Move...
40959         * tests/test-open.h: ...into new file.
40960         * tests/test-fcntl-safer.c: New file.
40961         * modules/open-tests (Files): Add test-open.h.
40962         * modules/fcntl-safer-tests: New file.
40963         Suggested by Bruno Haible.
40964
40965         test-fopen-safer: split from test-fopen
40966         * tests/test-fopen.c (main): Move...
40967         * tests/test-fopen.h: ...into new file.
40968         * tests/test-fopen-safer.c: New file.
40969         * modules/fopen-tests (Files): Add test-fopen.h.
40970         * modules/fopen-safer-tests: New file.
40971         Suggested by Bruno Haible.
40972
40973 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40974
40975         popen-safer: test O_CLOEXEC at run-time.
40976         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40977
40978 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40979
40980         fcntl: move more flags to the header
40981         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40982         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40983         * lib/fcntl.in.h: Do both things here.
40984
40985 2009-08-21  Jim Meyering  <meyering@redhat.com>
40986
40987         consistently remove $@-t before redirecting to it
40988         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40989         * modules/alloca-opt: Likewise.
40990         * modules/byteswap: Likewise.
40991         * modules/fnmatch: Likewise.
40992         * modules/getopt-posix: Likewise.
40993         * modules/glob: Likewise.
40994         * modules/poll: Likewise.
40995         * modules/posix_spawnp-tests: Likewise.
40996         * modules/sys_socket: Likewise.
40997         * modules/sysexits: Likewise.
40998
40999 2009-08-21  Eric Blake  <ebb9@byu.net>
41000
41001         popen: simplify access to original popen
41002         * lib/popen.c (rpl_popen): No need to worry about popen being a
41003         macro.
41004         Reported by Bruno Haible.
41005
41006 2009-08-20  Eric Blake  <ebb9@byu.net>
41007
41008         build: avoid some compiler warnings
41009         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41010         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41011         type.
41012         (new_exclude_segment, excluded_file_pattern_p)
41013         (excluded_file_name_p): Reduce scope.
41014         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41015         old-style declaration.
41016
41017 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41018
41019         * tests/test-exclude1.sh: Handle Windows EOL.
41020         * tests/test-exclude2.sh: Likewise.
41021         * tests/test-exclude3.sh: Likewise.
41022         * tests/test-exclude4.sh: Likewise.
41023         * tests/test-exclude5.sh: Likewise.
41024         * tests/test-exclude6.sh: Likewise.
41025         * tests/test-exclude7.sh: Likewise.
41026
41027 2009-08-19  Akim Demaille  <demaille@gostai.com>
41028
41029         bootstrap: find sha1sum when named gsha1sum.
41030         * bootstrap (find_tool): New.
41031         ($SHA1SUM): New.
41032         Use it.
41033
41034 2009-08-20  Jim Meyering  <meyering@redhat.com>
41035
41036         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41037         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41038         expression that converts "." in a file name to "\." in the resulting
41039         regexp.  Start with a dummy statement, so that prior shell variable
41040         definitions are expanded portably.  Reported by Simon Josefsson.
41041
41042 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41043
41044         Fix polling for writeability of a screen buffer.
41045         * lib/poll.c: Distinguish input and screen buffers for the
41046         Win32 implementation.
41047         * lib/select.c: Likewise.
41048
41049 2009-08-19  Eric Blake  <ebb9@byu.net>
41050
41051         popen-safer: prevent popen from clobbering std descriptors
41052         * modules/popen-safer: New file.
41053         * lib/popen-safer.c: Likewise.
41054         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41055         * lib/stdio--.h (popen): Provide override.
41056         * lib/stdio-safer.h (popen_safer): Provide declaration.
41057         * tests/test-popen.c (includes): Partially test this.
41058         * modules/popen-safer-tests: New file, for more tests.
41059         * tests/test-popen-safer.c: Likewise.
41060         * MODULES.html.sh (file stream based Input/Output): Mention it.
41061
41062         tests: test some of the *-safer modules
41063         * modules/fopen-safer (Depends-on): Add fopen.
41064         * modules/fcntl-safer (Depends-on): Add fcntl.
41065         * modules/stdlib-safer (Depends-on): Add stdlib.
41066         (configure.ac): Set indicator.
41067         * modules/unistd-safer (configure.ac): Likewise.
41068         * modules/tmpfile-safer (configure.ac): Likewise.
41069         (Depends-on): Add tmpfile.
41070         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41071         active.
41072         * tests/test-fopen.c (includes): Test safer versions when they are
41073         in use.
41074         * tests/test-open.c (includes): Likewise.
41075
41076         popen: fix cygwin 1.5 bug when stdin closed
41077         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41078         * modules/popen: New file.
41079         * modules/popen-tests: Likewise.
41080         * tests/test-popen.c: Likewise.
41081         * m4/popen.m4: Likewise.
41082         * lib/popen.c: Likewise.
41083         * lib/stdio.in.h (popen): New declaration.
41084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41085         * modules/stdio (Makefile.am): Likewise.
41086         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41087
41088 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41089
41090         maint.mk: give full control over update-copyright exclusions
41091         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41092         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41093         (update-copyright): Don't force inclusion of top-level
41094         ChangeLog.  Don't force exclusion of all COPYING files, but make
41095         them the default exclusion instead.
41096
41097 2009-08-16  Bruno Haible  <bruno@clisp.org>
41098
41099         Fix test failures on Solaris 10.
41100         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41101         tests when Solaris iconv() is used.
41102         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41103         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41104         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41105         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41106         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41107
41108 2009-08-16  Bruno Haible  <bruno@clisp.org>
41109
41110         Fix test failures on Solaris 10.
41111         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41112         'tr' program and pass it as first argument.
41113         * tests/test-pipe-filter-gi1.sh: Likewise.
41114         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41115         program as first argument.
41116         * tests/test-pipe-filter-gi1.c (main): Likewise.
41117
41118 2009-08-16  Eric Blake  <ebb9@byu.net>
41119
41120         fpurge: fix previous commits
41121         * modules/fpurge (Makefile.am): Make replacement conditional,
41122         partially reverting 2007-04-29 change; missed in previous
41123         attempt.
41124         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41125         is missing.
41126
41127 2009-08-16  Bruno Haible  <bruno@clisp.org>
41128
41129         Clarify fpurge's effect on the file position.
41130         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41131         * tests/test-fpurge.c (main): Make a second pass for checking the file
41132         position.
41133
41134 2009-08-16  Bruno Haible  <bruno@clisp.org>
41135
41136         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41137         declaration of fpurge is missing.
41138         * tests/test-fpurge.c (main): Check that the file has not more contents
41139         than expected. Close the file before removing it.
41140
41141 2009-08-15  Eric Blake  <ebb9@byu.net>
41142
41143         fpurge: don't wrap working cygwin implementation
41144         * lib/fpurge.c (fpurge): Fix comment typo.
41145         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41146         1.7 to avoid replacement.
41147         * tests/test-fpurge.c (main): Enhance test.
41148
41149 2009-08-15  Eric Blake  <ebb9@byu.net>
41150         and Jim Meyering  <meyering@redhat.com>
41151
41152         test-update-copyright: skip if perl is insufficient
41153         * tests/test-update-copyright.sh: Failure to run maintainer tool
41154         should not cause testsuite failure on cygwin 1.5.
41155
41156 2009-08-14  Eric Blake  <ebb9@byu.net>
41157
41158         doc: mention more functions added in cygwin 1.7.0
41159         * doc/posix-headers/limits.texi (limits.h): Update for recent
41160         cygwin additions.
41161         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41162         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41163         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41164         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41165         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41166
41167 2009-08-14  Eric Blake  <ebb9@byu.net>
41168
41169         maint.mk: simplify update-copyright rule
41170         * top/maint.mk (update-copyright-local): Delete, and document how
41171         to do it in cfg.mk instead.
41172         (update-copyright-exclude-regexp): Delete, and document how to do
41173         it in .x-update-copyright instead.
41174         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41175         exclude ChangeLog.
41176
41177 2009-08-14  Bruno Haible  <bruno@clisp.org>
41178
41179         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41180
41181 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41182
41183         maint.mk: support update-copyright-env
41184         * top/maint.mk (update-copyright-env): Define place-holder.
41185         (update-copyright): Expand $(update-copyright-env) before
41186         invoking update-copyright.
41187
41188 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41189
41190         update-copyright: implement forced reformatting
41191         * build-aux/update-copyright: Implement and document
41192         UPDATE_COPYRIGHT_FORCE.
41193         * tests/test-update-copyright.sh: Test it.
41194
41195 2009-08-14  Eric Blake  <ebb9@byu.net>
41196         and Bruno Haible  <bruno@clisp.org>
41197
41198         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41199         * tests/test-locale.c: Revert previous patch related to NULL.
41200         * tests/test-stdio.c: Likewise.
41201         * tests/test-stdlib.c: Likewise.
41202         * tests/test-string.c: Likewise.
41203         * tests/test-unistd.c: Likewise.
41204         * modules/time-tests (Depends-on): Add verify.
41205         * modules/wchar-tests (Depends-on): Likewise.
41206         * tests/test-time.c: Test for NULL compliance.
41207         * tests/test-wchar.c: Likewise.
41208         * modules/locale (Depends-on): Add stddef.
41209         * modules/stdio (Depends-on): Likewise.
41210         * modules/stdlib (Depends-on): Likewise.
41211         * modules/string (Depends-on): Likewise.
41212         * modules/time (Depends-on): Likewise.
41213         * modules/unistd (Depends-on): Likewise.
41214         * modules/wchar (Depends-on): Likewise.
41215         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41216         * lib/stdlib.in.h (includes): Likewise.
41217         * lib/string.in.h (includes): Likewise.
41218         * lib/time.in.h (includes): Likewise.
41219         * lib/unistd.in.h (includes): Likewise.
41220         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41221         replaced.
41222         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41223         * m4/stddef_h.m4: New file.
41224         * modules/stddef: Likewise.
41225         * lib/stddef.in.h: Likewise.
41226         * modules/stddef-tests: Likewise.
41227         * tests/test-stddef.c: Likewise.
41228         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41229         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41230         * doc/posix-headers/locale.texi (locale.h): Likewise.
41231         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41232         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41233         * doc/posix-headers/string.texi (string.h): Likewise.
41234         * doc/posix-headers/time.texi (time.h): Likewise.
41235         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41236         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41237
41238 2009-08-14  Eric Blake  <ebb9@byu.net>
41239
41240         doc: improve git diff of texinfo files
41241         * .gitattributes: Add rule for *.texi files, with hint on how to
41242         use it.
41243         Copied from m4, and based on a report by Bruno Haible.
41244
41245 2009-08-14  Bruno Haible  <bruno@clisp.org>
41246
41247         Disable multithread support by default on Cygwin 1.5.x for real.
41248         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41249
41250 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41251
41252         update-copyright: much ado about intervals
41253         * build-aux/update-copyright: Implement and document
41254         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41255         of copyright year intervals.
41256         Also, document UPDATE_COPYRIGHT_YEAR.
41257         * tests/test-update-copyright.sh: Test it.
41258
41259         update-copyright: convert 2-digit to 4-digit years
41260         * build-aux/update-copyright: Implement and document.
41261         * tests/test-update-copyright.sh: Update.
41262
41263 2009-08-14  Jim Meyering  <meyering@redhat.com>
41264
41265         test-exclude: avoid coreutils "make check" failure
41266         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41267         just as in test-argmatch.c.
41268
41269 2009-08-13  Eric Blake  <ebb9@byu.net>
41270
41271         test-dup2: fix bad assumption
41272         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41273         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41274
41275         test-version-etc: fix CRLF portability issue
41276         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41277         recognize \r.
41278         * tests/test-argp-version-etc-1.sh: Likewise.
41279
41280         getopt: update client modules
41281         * modules/argp (Depends-on): Use getopt-gnu.
41282         * modules/git-merge-changelog (Depends-on): Likewise.
41283         * modules/long-options (Depends-on): Likewise.
41284         * modules/xstrtol (Depends-on): Likewise.
41285
41286 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41287
41288         * tests/test-version-etc.sh: Don't fail on different
41289         project/version.  Don't fail on CRLF differences.  Rewrite to use
41290         multiple -e instead of multiple sed forks, suggested by Eric Blake
41291         <ebb9@byu.net>.
41292         * tests/test-argp-version-etc-1.sh: Likewise.
41293
41294 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41295
41296         * tests/test-version-etc.sh: Don't fail on different
41297         project/version.
41298
41299 2009-08-12  Bruno Haible  <bruno@clisp.org>
41300
41301         Tests for modules 'getopt-posix', 'getopt-gnu'.
41302         * modules/getopt-posix-tests: New file.
41303         * tests/test-getopt.c: New file.
41304         * tests/test-getopt.h: New file.
41305         * tests/test-getopt_long.h: New file.
41306
41307         New modules 'getopt-posix', 'getopt-gnu'.
41308         * modules/getopt-gnu: New file, renamed from modules/getopt.
41309         * modules/getopt-posix: New file.
41310         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41311         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41312         (gl_GETOPT): Remove macro.
41313         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41314         Disable the test against BSD systems that declare optreset. Test
41315         against mingw bug. Test against lack of support of optional arguments
41316         on many platforms.
41317         * doc/glibc-headers/getopt.texi: Update module name and list of
41318         relevant platforms.
41319         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41320         'getopt-gnu' and more portability problems.
41321         * NEWS: Mention the changes.
41322
41323 2009-08-12  Bruno Haible  <bruno@clisp.org>
41324
41325         Ensure that optarg etc. get declared by <unistd.h>.
41326         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41327         AC_USE_SYSTEM_EXTENSIONS.
41328         * modules/getopt (Depends-on): Add 'extensions'.
41329
41330 2009-08-12  Bruno Haible  <bruno@clisp.org>
41331
41332         Avoid test link errors.
41333         * modules/pipe-filter-ii-tests (Makefile.am): Define
41334         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41335         * modules/pipe-filter-gi-tests (Makefile.am): Define
41336         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41337         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41338
41339 2009-08-12  Bruno Haible  <bruno@clisp.org>
41340
41341         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41342         gl_GETOPT_SUBSTITUTE before.
41343         (gl_GETOPT): Use it.
41344         * m4/argp.m4 (gl_ARGP): Update.
41345         Reported by Sergey Poznyakoff.
41346
41347         * m4/getopt.m4: Reorder macros.
41348         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41349         (gl_GETOPT_SUBSTITUTE): Remove macro.
41350
41351 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41352
41353         Minor improvement in gitlog-to-changelog
41354
41355         * build-aux/gitlog-to-changelog: New option `--format' makes
41356         output format string configurable.
41357
41358 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41359
41360         Optimize exclude: use hash tables for non-wildcard patterns.
41361
41362         * lib/exclude.c: Include hash.h and mbuiter.h
41363         (struct exclude_pattern, exclude_segment): New data types.
41364         (struct exclude): Rewrite.
41365         (fnmatch_pattern_has_wildcards): New function.
41366         (new_exclude_segment, free_exclude_segment): New functions.
41367         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41368         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41369         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41370         * modules/exclude: Depend on hash and mbuiter.
41371
41372         * modules/exclude-tests: New file.
41373         * tests/test-exclude.c: New file.
41374         * tests/test-exclude1.sh: New file.
41375         * tests/test-exclude2.sh: New file.
41376         * tests/test-exclude3.sh: New file.
41377         * tests/test-exclude4.sh: New file.
41378         * tests/test-exclude5.sh: New file.
41379         * tests/test-exclude6.sh: New file.
41380         * tests/test-exclude7.sh: New file.
41381
41382 2009-08-12  Bruno Haible  <bruno@clisp.org>
41383
41384         Ensure that getopt() gets declared by <unistd.h>.
41385         * lib/unistd.in.h: Conditionally include getopt.h.
41386         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41387         Set GNULIB_UNISTD_H_GETOPT.
41388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41389         GNULIB_UNISTD_H_GETOPT.
41390         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41391
41392 2009-08-12  Bruno Haible  <bruno@clisp.org>
41393
41394         Clarify logic.
41395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41396         gl_replace_getopt instead of GETOPT_H.
41397
41398 2009-08-12  Bruno Haible  <bruno@clisp.org>
41399
41400         * m4/getopt.m4: Add comments.
41401
41402 2009-08-12  Bruno Haible  <bruno@clisp.org>
41403
41404         Disable multithread support by default on Cygwin 1.5.x.
41405         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41406         set gl_use_threads=no if not specified otherwise.
41407
41408 2009-08-11  Bruno Haible  <bruno@clisp.org>
41409
41410         Avoid compilation error on NetBSD 5.0.
41411         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41412         * tests/test-stdio.c: Likewise.
41413         * tests/test-stdlib.c: Likewise.
41414         * tests/test-string.c: Likewise.
41415         * tests/test-unistd.c: Likewise.
41416         Reported by Greg Troxel <gdt@ir.bbn.com>
41417         at <https://savannah.gnu.org/support/?106973>.
41418
41419 2009-08-11  Bruno Haible  <bruno@clisp.org>
41420
41421         * modules/dup2-tests (Depends-on): Remove close.
41422
41423         Undo 2009-07-19 commit.
41424         * modules/acl-tests (Depends-on): Remove close.
41425         * modules/binary-io-tests (Depends-on): Likewise.
41426         * modules/closein-tests (Depends-on): Likewise.
41427         * modules/flock-tests (Depends-on): Likewise.
41428         * modules/fsync-tests (Depends-on): Likewise.
41429         * modules/lseek-tests (Depends-on): Likewise.
41430         * modules/pipe-tests (Depends-on): Likewise.
41431         * modules/posix_spawn-tests (Depends-on): Likewise.
41432         * modules/posix_spawnp-tests (Depends-on): Likewise.
41433         * modules/stat-time-tests (Depends-on): Likewise.
41434         * modules/yesno-tests (Depends-on): Likewise.
41435
41436 2009-08-10  Bruno Haible  <bruno@clisp.org>
41437
41438         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41439
41440 2009-08-10  Bruno Haible  <bruno@clisp.org>
41441
41442         Fix a gcc warning.
41443         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41444
41445 2009-08-10  Bruno Haible  <bruno@clisp.org>
41446
41447         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41448         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41449         not only the first time.
41450         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41451         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41452         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41453         is 1, not only the the first time.
41454
41455 2009-08-10  Bruno Haible  <bruno@clisp.org>
41456
41457         Make it possible to use module 'gethostname' without module 'close'.
41458         * lib/unistd.in.h (close): Evoke a link error only if
41459         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41461         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41462         * modules/unistd (Makefile.am): Substitute
41463         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41464         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41465         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41466         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41467         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41468         * modules/sys_ioctl (Makefile.am): Substitute
41469         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41470         * modules/socket (configure.ac): On native Windows, set
41471         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41472         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41473         Reported by Sam Steingold <sds@gnu.org>.
41474
41475 2009-08-10  Bruno Haible  <bruno@clisp.org>
41476
41477         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41478         * modules/ioctl (configure.ac): Likewise.
41479
41480 2009-08-10  Bruno Haible  <bruno@clisp.org>
41481
41482         Avoid collision between gnulib wrapper and libintl wrapper.
41483         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41484         already defined in intl/printf.c.
41485         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41486         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41487
41488 2009-08-09  Bruno Haible  <bruno@clisp.org>
41489
41490         Make <sys/select.h> really self-contained, also on Solaris 10.
41491         * lib/sys_select.in.h: Include <string.h>.
41492         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41493         Solaris 10 problem.
41494         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41495         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41496         Reported by Jim Meyering.
41497
41498 2009-08-09  Bruno Haible  <bruno@clisp.org>
41499
41500         Avoid warnings from 'aclocal' that are due to a use of macro name
41501         AM_XGETTEXT_OPTION that is not defined in automake.
41502         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41503         automake.
41504         * modules/error (configure.ac): Likewise.
41505         * modules/propername (configure.ac): Likewise.
41506         * modules/vasprintf (configure.ac): Likewise.
41507         * modules/verror (configure.ac): Likewise.
41508         * modules/xprintf (configure.ac): Likewise.
41509         * modules/xvasprintf (configure.ac): Likewise.
41510
41511 2009-08-08  Bruno Haible  <bruno@clisp.org>
41512
41513         Avoid compilation error in C++ mode.
41514         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41515         Reported by Sam Steingold <sds@gnu.org>.
41516
41517 2009-08-08  Bruno Haible  <bruno@clisp.org>
41518
41519         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41520         for the various Unix platforms.
41521         * doc/posix-headers/limits.texi: Update platforms list regarding
41522         HOST_NAME_MAX.
41523         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41524
41525 2009-08-07  Jim Meyering  <meyering@redhat.com>
41526
41527         selinux-at: fix typo in a comment
41528         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41529         Spotted by Paolo Bonzini.
41530
41531         selinux-at: remove redundant m4 code, add documentation
41532         * modules/selinux-at (configure.ac): Remove redundant code.
41533         LIB_SELINUX is already set via the dependent module, selinux-h.
41534         (Include): Add quotes around selinux-at.h.
41535         * lib/selinux-at.h: Add documentation.
41536         Reported by Bruno Haible in
41537         http://marc.info/?l=gnulib-bug&m=124958988300749
41538
41539 2009-08-07  Bruno Haible  <bruno@clisp.org>
41540
41541         Avoid link error on MacOS X 10.3 and 10.4.
41542         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41543         on non-ELF systems.
41544         * lib/argp-pv.c (argp_program_version): Likewise.
41545         Reported by Simon Josefsson.
41546
41547 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41548
41549         * tests/test-version-etc.sh: Use $EXEEXT.
41550
41551 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41552
41553         update-copyright: update documentation to point to maint.mk
41554         * build-aux/update-copyright: Here.
41555
41556 2009-08-06  Jim Meyering  <meyering@redhat.com>
41557
41558         maint.mk: support update-copyright-local
41559         * top/maint.mk (update-copyright-local): Define place-holder.
41560         (update-copyright): Depend on $(update-copyright-local).
41561
41562 2009-08-06  Jim Meyering  <meyering@redhat.com>
41563
41564         selinux-at: new module
41565         Initially written for coreutils, this module will soon be
41566         used by findutils, too.
41567         * MODULES.html.sh [Misc]: Add selinux-at.
41568         * lib/selinux-at.h: New file, from coreutils.
41569         * lib/selinux-at.c: Likewise.
41570         * modules/selinux-at: Likewise.
41571         (License): Change from LGPL to GPL, since it depends
41572         on the GPL'd openat module.
41573
41574         doc: update README
41575         * README: Remove references to cogito.
41576         Remove cvs-repo-updating instructions from 2007.
41577         Don't imply that CVS is better if you have limited disk space.
41578
41579 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41580
41581         update-copyright: support C-style comments
41582         * build-aux/update-copyright: Implement and document.
41583         * tests/test-update-copyright.sh: Test.
41584
41585 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41586
41587         update-copyright: support omitted "(C)"
41588         * build-aux/update-copyright: Implement and document.  Also,
41589         allow variable whitespace before "(C)".
41590         * tests/test-update-copyright.sh: Test.
41591
41592 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41593
41594         update-copyright: don't trip on non-FSF copyright statements
41595         * build-aux/update-copyright: Fix so that the first correctly
41596         formatted FSF copyright statement is recognized no matter what
41597         appears before it.  Update documentation.
41598         * tests/test-update-copyright.sh: Test that.
41599
41600 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41601
41602         update-copyright: clean up code a little
41603         * build-aux/update-copyright: Append "_re" to the name of any
41604         variable holding a regular expression.
41605         Replace "old" and "new" with "stmt" in variable names.
41606         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41607         handled correctly.
41608         Format code more consistently.
41609
41610 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41611
41612         update-copyright-tests: improve portability
41613         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41614         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41615
41616 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41617
41618         update-copyright: support @copyright{} and &copy;
41619         * build-aux/update-copyright: Implement and document.
41620         * tests/test-update-copyright.sh: Test.
41621
41622 2009-08-04  Jim Meyering  <meyering@redhat.com>
41623
41624         update-copyright-tests: correctly test EOL=\r\n handling
41625         * tests/test-update-copyright.sh: Put \r at the end of some lines
41626         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41627
41628         maint.mk: make update-copyright exclusion list more configurable
41629         * top/maint.mk (update-copyright): Default to excluding COPYING,
41630         but allow an override, in case someone does want to update that file.
41631
41632         maint.mk: don't update copyright date in COPYING
41633         * top/maint.mk (update-copyright): Exclude COPYING.
41634
41635         maint.mk: add a copyright-updating rule
41636         * top/maint.mk (update-copyright): New rule.
41637         Derived from coreutils/Makefile.am.
41638
41639         update-copyright: rename some variables
41640         * build-aux/update-copyright: Rename a few variables for clarity.
41641         Tweak syntax.  List Joel E. Denny as coauthor.
41642
41643 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41644
41645         update-copyright: fix bug for 2-digit last year and add tests
41646         * build-aux/update-copyright: Fix bug.
41647         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41648         specified.
41649         * modules/update-copyright-tests: New
41650         * tests/test-update-copyright.sh: New.
41651
41652 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41653
41654         update-copyright: handle leading tabs in line prefix
41655         * build-aux/update-copyright: Count leading tabs as 8 spaces
41656         when computing margin.  This helps with the formatting of
41657         ChangeLogs, for example.
41658         Fix documentation a little.
41659
41660 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41661
41662         update-copyright: support EOL=\r\n
41663         * build-aux/update-copyright: Implement that.
41664
41665 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41666
41667         update-copyright: automatically format copyright statements
41668         * build-aux/update-copyright: Implement that.
41669         Also, be a little more predictable and safer by always failing
41670         when the full copyright format is not perfectly recognized as an
41671         unbroken whole.  Discussed at
41672         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41673         Rewrite documentation.
41674
41675 2009-08-03  Bruno Haible  <bruno@clisp.org>
41676
41677         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41678
41679 2009-08-02  Bruno Haible  <bruno@clisp.org>
41680
41681         Tests for module 'uname'.
41682         * modules/uname-tests: New file.
41683         * tests/test-uname.c: New file.
41684
41685         New module 'uname'.
41686         * lib/uname.c: New file.
41687         * m4/uname.m4: New file.
41688         * modules/uname: New file.
41689         * doc/posix-functions/uname.texi: Mention the new module.
41690
41691 2009-08-02  Bruno Haible  <bruno@clisp.org>
41692
41693         Tests for module 'sys_utsname'.
41694         * modules/sys_utsname-tests: New file.
41695         * tests/test-sys_utsname.c: New file.
41696
41697         New module 'sys_utsname'.
41698         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41699         * m4/sys_utsname_h.m4: New file.
41700         * modules/sys_utsname: New file.
41701         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41702
41703 2009-08-02  Bruno Haible  <bruno@clisp.org>
41704
41705         Implicitly initialize the sockets library.
41706         * lib/gethostname.c: Include sockets.h.
41707         (rpl_gethostname): Invoke gl_sockets_startup.
41708         * lib/socket.c: Include sockets.h.
41709         (rpl_socket): Invoke gl_sockets_startup.
41710         * modules/gethostname (Depends-on): Add sockets.
41711         * modules/socket (Depends-on): Likewise.
41712         * tests/test-poll.c: Don't include sockets.h.
41713         (main): Don't invoke gl_sockets_startup.
41714         * tests/test-select.c: Don't include sockets.h.
41715         (main): Don't invoke gl_sockets_startup.
41716
41717 2009-08-02  Bruno Haible  <bruno@clisp.org>
41718
41719         Allow multiple calls to gl_sockets_startup.
41720         * lib/sockets.c (initialized_sockets_version): New variable.
41721         (gl_sockets_startup): Do nothing if already called for this or a higher
41722         version.
41723         (gl_sockets_cleanup): Reset initialized_sockets_version.
41724
41725 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41726
41727         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41728         different project/version.
41729
41730 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41731             Bruno Haible  <bruno@clisp.org>
41732
41733         Tests for module 'pipe-filter-gi'.
41734         * modules/pipe-filter-gi-tests: New file.
41735         * tests/test-pipe-filter-gi1.sh: New file.
41736         * tests/test-pipe-filter-gi1.c: New file.
41737         * tests/test-pipe-filter-gi2.sh: New file.
41738         * tests/test-pipe-filter-gi2-main.c: New file.
41739         * tests/test-pipe-filter-gi2-child.c: New file.
41740
41741         New module 'pipe-filter-gi'.
41742         * lib/pipe-filter-gi.c: New file.
41743         * modules/pipe-filter-gi: New file.
41744
41745 2009-08-02  Bruno Haible  <bruno@clisp.org>
41746             Paolo Bonzini  <bonzini@gnu.org>
41747
41748         Tests for module 'pipe-filter-ii'.
41749         * modules/pipe-filter-ii-tests: New file.
41750         * tests/test-pipe-filter-ii1.sh: New file.
41751         * tests/test-pipe-filter-ii1.c: New file.
41752         * tests/test-pipe-filter-ii2.sh: New file.
41753         * tests/test-pipe-filter-ii2-main.c: New file.
41754         * tests/test-pipe-filter-ii2-child.c: New file.
41755
41756         New module 'pipe-filter-ii'.
41757         * lib/pipe-filter.h: New file.
41758         * lib/pipe-filter-ii.c: New file.
41759         * lib/pipe-filter-aux.h: New file.
41760         * modules/pipe-filter-ii: New file.
41761
41762 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41763
41764         * lib/gc-libgcrypt.c: Change copyright to FSF.
41765         * lib/gc-gnulib.c: Likewise.
41766
41767 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41768
41769         * lib/gethostname.c: Include limits.h.
41770
41771 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41772             Bruno Haible  <bruno@clisp.org>
41773
41774         Ensure HOST_NAME_MAX as part of the gethostname module.
41775         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41776         define also HOST_NAME_MAX.
41777         * tests/test-gethostname.c: Include <limits.h>.
41778         (main): Check also HOST_NAME_MAX.
41779         * doc/posix-headers/limits.texi: Document the mingw problem.
41780
41781 2009-08-02  Bruno Haible  <bruno@clisp.org>
41782
41783         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41784         Add comments.
41785
41786 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41787
41788         * lib/gethostname.c: Add Windows wrapper.
41789         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41790         * modules/gethostname: Depend on sys_socket & errno, for also
41791         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41792         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41793
41794 2009-07-31  Jim Meyering  <meyering@redhat.com>
41795
41796         getloadavg: fix symbol name in comment
41797         * lib/getloadavg.c: Correct a typo I introduced when adding
41798         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41799         Matt Kraai spotted the problem.
41800
41801 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41802
41803         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41804         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41805         code also if ! defined N_NAME_POINTER.
41806         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41807         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41808         but the n_name member is a 12-byte array.
41809
41810 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41811
41812         update-copyright: generalize comment handling
41813         * build-aux/update-copyright: Handle copyright statements
41814         within more comment styles.
41815         Document usage.
41816         Report any file with an external copyright holder or parse failure.
41817
41818 2009-07-29  Jim Meyering  <meyering@redhat.com>
41819
41820         mktime: correct setting of REPLACE_MKTIME
41821         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41822
41823         update-copyright: new module
41824         * modules/update-copyright: New file.
41825         * build-aux/update-copyright: New file.
41826         * MODULES.html.sh (maint+release support): Add update-copyright.
41827
41828 2009-07-27  Bruno Haible  <bruno@clisp.org>
41829
41830         Fix compilation error when <ctime> is used and mktime is replaced.
41831         * lib/time.in.h (mktime): New declaration.
41832         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41833         REPLACE_MKTIME instead of defining mktime in config.h.
41834         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41835         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41836         Reported by Ross McFarland <rwmcfa1@neces.com>.
41837
41838 2009-07-27  Bruno Haible  <bruno@clisp.org>
41839
41840         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41841         Reported by Matt Kraai <mkraai@beckman.com>.
41842
41843 2009-07-25  Jim Meyering  <meyering@redhat.com>
41844
41845         maint.mk: avoid warnings about missing files
41846         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41847         diagnostic when .prev-version does not exist.
41848         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41849         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41850         nonexistent cfg.mk.
41851         Suggestions from Simon Josefsson.
41852
41853 2009-07-25  Bruno Haible  <bruno@clisp.org>
41854
41855         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41856         defined as macros. Needed on QNX 6.4.1.
41857         Reported by Matt Kraai <mkraai@beckman.com>.
41858
41859 2009-07-23  Jim Meyering  <meyering@redhat.com>
41860
41861         maint.mk: invoke "make dist" with a working value of XZ_OPT
41862         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41863
41864 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41865
41866         Make fseeko.c compile on QNX.
41867         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41868
41869 2009-07-22  Peter Simons  <simons@cryp.to>
41870
41871         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41872         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41873         * lib/md4.h: Likewise.
41874         * lib/md5.h: Likewise.
41875         * lib/sha1.h: Likewise.
41876         * lib/sha256.h: Likewise.
41877         * lib/sha512.h: Likewise.
41878
41879         tests-sha1: don't assign literal string to 'char *' variable
41880         * tests/test-sha1.c (main): Declare locals with "const" to match
41881         attributes of the right hand side.
41882
41883 2009-07-21  Eric Blake  <ebb9@byu.net>
41884
41885         dup2: fix more mingw problems
41886         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41887         fd to itself.
41888         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41889         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41890         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41891         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41892         care of mingw bugs.
41893
41894 2009-07-21  Jim Meyering  <meyering@redhat.com>
41895
41896         vc-list-files: avoid failure when /bin/sh is dash
41897         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41898         On some Debian based systems, /bin/sh is a symlink to dash, and running
41899         this command would omit the "/" following each 'tests' prefix:
41900           dash -x build-aux/vc-list-files -C . tests
41901         That is because bash and dash work differently:
41902           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41903           bash ok
41904           dash odd
41905
41906 2009-07-21  Eric Blake  <ebb9@byu.net>
41907
41908         dup2-tests: test previous patch
41909         * modules/dup2-tests: New file.
41910         * tests/test-dup2.c: Likewise.
41911         * tests/test-open.c (main): Avoid unspecified behavior.
41912         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41913         test.
41914
41915         dup2: work around mingw and cygwin 1.5 bug
41916         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41918         * modules/unistd (Makefile.am): Substitute it.
41919         * lib/unistd.in.h (dup2): Declare the replacement.
41920         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41921         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41922         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41923         * modules/execute (Depends-on): Add dup2.
41924         * modules/fseterr (Depends-on): Likewise.
41925         * modules/pipe (Depends-on): Likewise.
41926         * modules/posix_spawn-internal (Depends-on): Likewise.
41927
41928 2009-07-21  Bruno Haible  <bruno@clisp.org>
41929
41930         * modules/.gitattributes: New file.
41931
41932 2009-07-20  Bruno Haible  <bruno@clisp.org>
41933
41934         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41935         (main): Use it.
41936
41937 2009-07-20  Eric Blake  <ebb9@byu.net>
41938
41939         test-pipe: make a bit more robust.
41940         * tests/test-pipe.c (myerr): Allow error messages regardless of
41941         what we do to stderr.
41942         (test_pipe): Rearrange to avoid deadlock.
41943         (child_main): Try a larger read, to ensure we avoided deadlock.
41944         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41945         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41946         if misused.
41947
41948 2009-07-19  Jim Meyering  <meyering@redhat.com>
41949
41950         fts: avoid false-positive cycle-detection
41951         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41952         for each new command line argument.
41953
41954 2009-07-19  Bruno Haible  <bruno@clisp.org>
41955
41956         Fix build error on mingw with the modules sys_select and unistd.
41957         * modules/acl-tests (Depends-on): Add close.
41958         * modules/binary-io-tests (Depends-on): Likewise.
41959         * modules/closein-tests (Depends-on): Likewise.
41960         * modules/flock-tests (Depends-on): Likewise.
41961         * modules/fsync-tests (Depends-on): Likewise.
41962         * modules/lseek-tests (Depends-on): Likewise.
41963         * modules/pipe-tests (Depends-on): Likewise.
41964         * modules/posix_spawn-tests (Depends-on): Likewise.
41965         * modules/posix_spawnp-tests (Depends-on): Likewise.
41966         * modules/stat-time-tests (Depends-on): Likewise.
41967         * modules/yesno-tests (Depends-on): Likewise.
41968
41969 2009-07-19  Bruno Haible  <bruno@clisp.org>
41970
41971         Unify conditionals.
41972         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41973         macros, not at the compiler macros.
41974         * lib/pipe.c: Likewise.
41975         * lib/execute.c: Likewise.
41976         * lib/spawni.c: Likewise.
41977
41978 2009-07-19  Bruno Haible  <bruno@clisp.org>
41979
41980         Fix handling of closed stdin/stdout/stderr on mingw.
41981         * lib/w32spawn.h: Include unistd.h.
41982         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41983         file descriptor with O_NOINHERIT flag.
41984         (fd_safer_noinherit): New function, based on fd-safer.c.
41985         (dup_safer_noinherit): New function, based on dup-safer.c.
41986         (undup_safer_noinherit): New function.
41987         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41988         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41989         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41990         instead of fd_safer.
41991         * tests/test-pipe.c: Include <windows.h>.
41992         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41993         result.
41994
41995         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41996         from main.
41997         (test_pipe): Pass an extra argument for disambiguation.
41998         (main): Invoke parent_main or child_main.
41999
42000         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42001         consistently.
42002
42003 2009-07-18  Eric Blake  <ebb9@byu.net>
42004
42005         test-pipe: fix mingw build
42006         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42007
42008 2009-07-18  Bruno Haible  <bruno@clisp.org>
42009
42010         * modules/pipe-tests (Makefile.am): Fix typo.
42011
42012 2009-07-18  Eric Blake  <ebb9@byu.net>
42013
42014         error: fix mingw build
42015         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42016         Reported by Bruno Haible.
42017
42018         error: avoid undefined use of stdout
42019         * lib/error.c (error, error_at_line): Check that fd 1 is open
42020         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42021         is handling faults and the close_stdout module wants to report the
42022         detection of closed stdout as an error.
42023
42024 2009-07-17  Eric Blake  <ebb9@byu.net>
42025
42026         pipe: be robust in face of closed fds
42027         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42028         should cause child to misbehave.
42029         * modules/pipe-tests: New module.
42030         * tests/test-pipe.c: New file.
42031         * tests/test-pipe.sh: New file.
42032         Reported by Akim Demaille.
42033
42034 2009-07-14  Bruno Haible  <bruno@clisp.org>
42035
42036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42037         Reported by anonymous kc.
42038
42039 2009-07-07  Jim Meyering  <meyering@redhat.com>
42040
42041         maint.mk: don't look for translatable strings in *.m4 or *.mk
42042         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42043         when searching for translatable strings.
42044
42045 2009-07-05  Jim Meyering  <meyering@redhat.com>
42046
42047         remove superfluous parentheses in STREQ definition
42048         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42049         * lib/getugroups.c (STREQ): Likewise.
42050         * lib/fnmatch.c (STREQ): Likewise.
42051         Spotted by Bruno Haible.
42052
42053 2009-07-04  Jim Meyering  <meyering@redhat.com>
42054
42055         argv-iter: new module
42056         * MODULES.html.sh: Add argv-iter.
42057         * lib/argv-iter.c, lib/argv-iter.h: New files.
42058         * modules/argv-iter: New file.
42059         * modules/argv-iter-tests: New file.
42060         * tests/test-argv-iter.c: Test it.
42061
42062 2009-07-04  Bruno Haible  <bruno@clisp.org>
42063
42064         Fix assertion.
42065         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42066         contains more exact copies of a given entry than file2, leave the extra
42067         copies unpaired rather than aborting.
42068         Reported by Eric Blake.
42069
42070 2009-07-02  Bruno Haible  <bruno@clisp.org>
42071
42072         Speedup git-merge-changelog for git cherry-pick.
42073         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42074         (entries_mapping_get): New function, extracted from compute_mapping.
42075         (entries_mapping_reverse_get): New function.
42076         (compute_mapping): Add a 'full' argument. Return the result in a
42077         'struct entries_mapping'.
42078         (main): Update. Access the mappings through entries_mapping_get.
42079         Reported by Eric Blake.
42080
42081 2009-07-02  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42084         best_i.
42085
42086 2009-07-02  Bruno Haible  <bruno@clisp.org>
42087
42088         Speed up approximate search for matching ChangeLog entries.
42089         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42090         argument. Call fstrcmp_bounded instead of fstrcmp.
42091         (compute_mapping, try_split_merged_entry, main): Update callers.
42092
42093 2009-07-02  Bruno Haible  <bruno@clisp.org>
42094
42095         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42096
42097 2009-06-30  Bruno Haible  <bruno@clisp.org>
42098
42099         Reduce the number of uc_is_cased calls.
42100         * lib/unicase.h (casing_suffix_context_t): Add
42101         'first_char_except_ignorable' field.
42102         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42103         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42104         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42105         Update initializer.
42106         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42107         case-ignorable characters.
42108         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42109         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42110         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42111         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42112         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42113
42114 2009-06-30  Bruno Haible  <bruno@clisp.org>
42115
42116         Tests for module 'unicase/ignorable'.
42117         * modules/unicase/ignorable-tests: New file.
42118         * tests/unicase/test-ignorable.c: New file, generated by
42119         gen-uni-tables.
42120
42121         Tests for module 'unicase/cased'.
42122         * modules/unicase/cased-tests: New file.
42123         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42124         * tests/unicase/test-predicate-part1.h: New file, derived from
42125         tests/unictype/test-predicate-part1.h.
42126         * tests/unicase/test-predicate-part2.h: New file, same as
42127         tests/unictype/test-predicate-part2.h.
42128
42129         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42130         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42131         (output_casing_properties): New function.
42132         (main): Call it.
42133         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42134         * lib/unicase/cased.c: Include unictype/bitmap.h.
42135         (uc_is_cased): Define through a bitmap lookup.
42136         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42137         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42138         (uc_is_case_ignorable): Define through a bitmap lookup.
42139         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42140         lib/unictype/bitmap.h.
42141         (Depends-on): Add inline. Clean up.
42142         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42143         lib/unictype/bitmap.h.
42144         (Depends-on): Add inline. Clean up.
42145         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42146         recognition.
42147         * tests/unicase/test-u16-tolower.c (main): Likewise.
42148         * tests/unicase/test-u32-tolower.c (main): Likewise.
42149
42150 2009-06-30  Bruno Haible  <bruno@clisp.org>
42151
42152         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42153         * lib/unicase/u16-casemap.c: Likewise.
42154         * lib/unicase/u32-casemap.c: Likewise.
42155
42156 2009-06-29  Bruno Haible  <bruno@clisp.org>
42157
42158         Define u32_casefold as a wrapper around u32_ct_casefold.
42159         * lib/unicase/u32-casefold.c: Update.
42160         * modules/unicase/u32-casefold (Depends-on): Add
42161         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42162         unicase/empty-suffix-context. Clean up.
42163
42164         Define u16_casefold as a wrapper around u16_ct_casefold.
42165         * lib/unicase/u16-casefold.c: Update.
42166         * modules/unicase/u16-casefold (Depends-on): Add
42167         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42168         unicase/empty-suffix-context. Clean up.
42169
42170         Define u8_casefold as a wrapper around u8_ct_casefold.
42171         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42172         * lib/unicase/u8-casefold.c: Update.
42173         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42174         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42175
42176         Define u32_totitle as a wrapper around u32_ct_totitle.
42177         * lib/unicase/u32-totitle.c: Update.
42178         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42179         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42180
42181         Define u16_totitle as a wrapper around u16_ct_totitle.
42182         * lib/unicase/u16-totitle.c: Update.
42183         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42184         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42185
42186         Define u8_totitle as a wrapper around u8_ct_totitle.
42187         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42188         functions.
42189         (FUNC): Delegate to U_CT_TOTITLE.
42190         * lib/unicase/u8-totitle.c: Update.
42191         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42192         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42193
42194         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42195         invocation.
42196         * modules/unicase/u32-tolower (Depends-on): Add
42197         unicase/empty-prefix-context, unicase/empty-suffix-context.
42198
42199         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42200         invocation.
42201         * modules/unicase/u16-tolower (Depends-on): Add
42202         unicase/empty-prefix-context, unicase/empty-suffix-context.
42203
42204         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42205         * modules/unicase/u8-tolower (Depends-on): Add
42206         unicase/empty-prefix-context, unicase/empty-suffix-context.
42207
42208         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42209         invocation.
42210         * modules/unicase/u32-toupper (Depends-on): Add
42211         unicase/empty-prefix-context, unicase/empty-suffix-context.
42212
42213         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42214         invocation.
42215         * modules/unicase/u16-toupper (Depends-on): Add
42216         unicase/empty-prefix-context, unicase/empty-suffix-context.
42217
42218         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42219         * modules/unicase/u8-toupper (Depends-on): Add
42220         unicase/empty-prefix-context, unicase/empty-suffix-context.
42221
42222         New module 'unicase/u32-ct-casefold'.
42223         * lib/unicase/u32-ct-casefold.c: New file.
42224         * modules/unicase/u32-ct-casefold: New file.
42225
42226         New module 'unicase/u16-ct-casefold'.
42227         * lib/unicase/u16-ct-casefold.c: New file.
42228         * modules/unicase/u16-ct-casefold: New file.
42229
42230         New module 'unicase/u8-ct-casefold'.
42231         * lib/unicase/u8-ct-casefold.c: New file.
42232         * lib/unicase/u-ct-casefold.h: New file, derived from
42233         lib/unicase/u-casefold.h.
42234         * modules/unicase/u8-ct-casefold: New file.
42235
42236         New module 'unicase/u32-ct-totitle'.
42237         * lib/unicase/u32-ct-totitle.c: New file.
42238         * modules/unicase/u32-ct-totitle: New file.
42239
42240         New module 'unicase/u16-ct-totitle'.
42241         * lib/unicase/u16-ct-totitle.c: New file.
42242         * modules/unicase/u16-ct-totitle: New file.
42243
42244         New module 'unicase/u8-ct-totitle'.
42245         * lib/unicase/u8-ct-totitle.c: New file.
42246         * lib/unicase/u-ct-totitle.h: New file, derived from
42247         lib/unicase/u-totitle.h.
42248         * modules/unicase/u8-ct-totitle: New file.
42249
42250         New module 'unicase/u32-ct-tolower'.
42251         * lib/unicase/u32-ct-tolower.c: New file.
42252         * modules/unicase/u32-ct-tolower: New file.
42253
42254         New module 'unicase/u16-ct-tolower'.
42255         * lib/unicase/u16-ct-tolower.c: New file.
42256         * modules/unicase/u16-ct-tolower: New file.
42257
42258         New module 'unicase/u8-ct-tolower'.
42259         * lib/unicase/u8-ct-tolower.c: New file.
42260         * modules/unicase/u8-ct-tolower: New file.
42261
42262         New module 'unicase/u32-ct-toupper'.
42263         * lib/unicase/u32-ct-toupper.c: New file.
42264         * modules/unicase/u32-ct-toupper: New file.
42265
42266         New module 'unicase/u16-ct-toupper'.
42267         * lib/unicase/u16-ct-toupper.c: New file.
42268         * modules/unicase/u16-ct-toupper: New file.
42269
42270         New module 'unicase/u8-ct-toupper'.
42271         * lib/unicase/u8-ct-toupper.c: New file.
42272         * modules/unicase/u8-ct-toupper: New file.
42273
42274         Add context arguments to u*_casemap functions.
42275         * lib/unicase/unicasemap.h: Include unicase.h.
42276         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42277         suffix_context arguments.
42278         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42279         functions.
42280         (FUNC): Add prefix_context and suffix_context arguments. Use
42281         uc_is_cased and uc_is_case_ignorable.
42282         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42283         * lib/unicase/u16-casemap.c: Likewise.
42284         * lib/unicase/u32-casemap.c: Likewise.
42285         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42286         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42287         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42288         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42289         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42290         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42291
42292         New module 'unicase/u32-suffix-context'.
42293         * lib/unicase/u32-suffix-context.c: New file.
42294         * modules/unicase/u32-suffix-context: New file.
42295
42296         New module 'unicase/u16-suffix-context'.
42297         * lib/unicase/u16-suffix-context.c: New file.
42298         * modules/unicase/u16-suffix-context: New file.
42299
42300         New module 'unicase/u8-suffix-context'.
42301         * lib/unicase/u8-suffix-context.c: New file.
42302         * lib/unicase/u-suffix-context.h: New file.
42303         * modules/unicase/u8-suffix-context: New file.
42304
42305         New module 'unicase/empty-suffix-context'.
42306         * lib/unicase/empty-suffix-context.c: New file.
42307         * modules/unicase/empty-suffix-context: New file.
42308
42309         New module 'unicase/u32-prefix-context'.
42310         * lib/unicase/u32-prefix-context.c: New file.
42311         * modules/unicase/u32-prefix-context: New file.
42312
42313         New module 'unicase/u16-prefix-context'.
42314         * lib/unicase/u16-prefix-context.c: New file.
42315         * modules/unicase/u16-prefix-context: New file.
42316
42317         New module 'unicase/u8-prefix-context'.
42318         * lib/unicase/u8-prefix-context.c: New file.
42319         * lib/unicase/u-prefix-context.h: New file.
42320         * lib/unicase/context.h: New file.
42321         * modules/unicase/u8-prefix-context: New file.
42322
42323         New module 'unicase/empty-prefix-context'.
42324         * lib/unicase/empty-prefix-context.c: New file.
42325         * modules/unicase/empty-prefix-context: New file.
42326
42327         New module 'unicase/ignorable'.
42328         * lib/unicase/ignorable.c: New file.
42329         * modules/unicase/ignorable: New file.
42330
42331         New module 'unicase/cased'.
42332         * lib/unicase/caseprop.h: New file.
42333         * lib/unicase/cased.c: New file.
42334         * modules/unicase/cased: New file.
42335
42336         New functions for case mapping of substrings.
42337         * lib/unicase.h (casing_prefix_context_t): New type.
42338         (unicase_empty_prefix_context): New variable.
42339         (u8_casing_prefix_context, u16_casing_prefix_context,
42340         u32_casing_prefix_context, u8_casing_prefixes_context,
42341         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42342         declarations.
42343         (casing_suffix_context_t): New type.
42344         (unicase_empty_suffix_context): New variable.
42345         (u8_casing_suffix_context, u16_casing_suffix_context,
42346         u32_casing_suffix_context, u8_casing_suffixes_context,
42347         u16_casing_suffixes_context, u32_casing_suffixes_context,
42348         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42349         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42350         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42351         declarations.
42352
42353 2009-06-28  Jim Meyering  <meyering@redhat.com>
42354
42355         boostrap: indent only with spaces
42356         * build-aux/bootstrap: Indent only with spaces, never TABs.
42357
42358         bootstrap: split long lines
42359         * build-aux/bootstrap: Keep line length < 80.
42360
42361         bootstrap: sync from coreutils
42362         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42363         just as autoreconf does.  Verify a list of prerequisite
42364         package-name,version-number pairs if defined in bootstrap.conf.
42365         Refer to README-prereq, if prerequisites are not satisfied.
42366
42367 2009-06-27  Eric Blake  <ebb9@byu.net>
42368
42369         tests: add test for bogus NULL definition
42370         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42371         * tests/test-stdlib.c: Likewise.
42372         * tests/test-string.c: Likewise.
42373         * tests/test-locale.c: Likewise.
42374         * tests/test-unistd.c: Likewise.
42375         * modules/stdio-tests (Depends-on): Add verify.
42376         * modules/stdlib-tests (Depends-on): Likewise.
42377         * modules/string-tests (Depends-on): Likewise.
42378         * modules/locale-tests (Depends-on): Likewise.
42379         * modules/unistd-tests (Depends-on): Likewise.
42380
42381 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42382
42383         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42384         self-explaining comment.
42385         * m4/selinux-selinux-h: Update serial.
42386         (gl_LIBSELINUX): New macro, adding a warning for missing development
42387         packages to code extracted from...
42388         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42389         Add warning for missing development packages here, too.
42390
42391 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42392
42393         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42394
42395 2009-06-25  Eric Blake  <ebb9@byu.net>
42396
42397         version-etc: fix regression
42398         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42399         gcc.
42400         (version_etc): Use it, to catch bugs with trailing NULL.
42401         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42402         (version_etc_va): Fix logic bug.
42403         * modules/version-etc-tests: Add test.
42404         * tests/test-version-etc.c: New file.
42405         * tests/test-version-etc.sh: Likewise.
42406
42407 2009-06-25  Sam Steingold  <sds@gnu.org>
42408
42409         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42410         mbtowc declaration.
42411
42412 2009-06-25  Eric Blake  <ebb9@byu.net>
42413
42414         fpurge: migrate into <stdio.h>
42415         * lib/fpurge.h: Delete...
42416         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42417         * lib/fpurge.c (fpurge): Change declaring header.
42418         * modules/fpurge (Files): Drop deleted file.
42419         (Depends-on): Add stdio.
42420         (configure.ac): Set witness.
42421         * modules/stdio (Makefile.am): Support fpurge macros.
42422         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42423         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42424         * lib/fflush.c: Update client.
42425         * tests/test-fpurge.c: Likewise.
42426         * NEWS: Mention the change.
42427
42428 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42429
42430         * lib/argp-version-etc.c (program_authors): Add const
42431         qualifier.
42432         * lib/version-etc.c: Fix typos in the comments.
42433         * modules/argp-version-etc: Depends on version-etc.
42434
42435 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42436
42437         argp-version-etc: new module.
42438
42439         * lib/argp-version-etc.c: New file.
42440         * lib/argp-version-etc.h: New file.
42441         * modules/argp-version-etc: New file.
42442         * modules/argp-version-etc-tests: New file.
42443         * tests/test-argp-version-etc.c: New test.
42444         * tests/test-argp-version-etc-1.sh: New test.
42445
42446 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42447
42448         Provide additional interfaces and documentation for version-etc
42449         module.
42450
42451         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42452         interfaces.
42453         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42454         prototypes.
42455
42456 2009-06-24  Bruno Haible  <bruno@clisp.org>
42457
42458         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42459         HAVE_LIB${NAME} macro.
42460         Reported by Sam Steingold <sds@gnu.org>.
42461
42462 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42463
42464         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42465         needed.
42466
42467 2009-06-21  Bruno Haible  <bruno@clisp.org>
42468
42469         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42470         work.
42471         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42472         together with LIB${NAME}, LTLIB${NAME}.
42473         Reported by Sam Steingold <sds@gnu.org>.
42474
42475 2009-06-20  Jim Meyering  <meyering@redhat.com>
42476
42477         tests: make sc_require_test_exit_idiom more generic
42478         * top/maint.mk (Exit_witness_file): New overridable variable.
42479         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42480         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42481
42482 2009-06-19  Jim Meyering  <meyering@redhat.com>
42483
42484         hash: reverse order of src/dst parameters in an internal interface
42485         * lib/hash.c (transfer_entries): Reverse order of parameters to
42486         put DST before SRC.  Adjust callers.
42487
42488         tests: test-hash: avoid wholesale duplication
42489         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42490         Instead, use a loop and add a single conditional.
42491
42492         tests: test-hash: allow seed selection via a command line argument
42493         * tests/test-hash.c (get_seed): New function.
42494         (main): Use it.
42495
42496 2009-06-19  Eric Blake  <ebb9@byu.net>
42497
42498         hash: avoid memory leak on allocation failure
42499         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42500         failure.  Factor repeated algorithm...
42501         (transfer_entries): ...into new helper routine.
42502         (hash_delete): React to hash_rehash return value.
42503
42504         hash: reduce memory pressure in hash_rehash no-op case
42505         * lib/hash.c (next_prime): Avoid overflow.
42506         (hash_initialize): Factor bucket size computation...
42507         (compute_bucket_size): ...into new helper function.
42508         (hash_rehash): Use new function and open coding to reduce memory
42509         pressure, and avoid a memory leak in USE_OBSTACK code.
42510         Reported by Jim Meyering.
42511
42512 2009-06-18  Eric Blake  <ebb9@byu.net>
42513
42514         hash: make rotation more obvious
42515         * modules/hash (Depends-on): Add bitrotate and stdint.
42516         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42517         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42518         (SIZE_MAX): Rely on headers for definition.
42519         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42520         (raw_hasher): Use rotr_sz.
42521         Suggested by Jim Meyering.
42522
42523         hash: fix memory leak in last patch
42524         * lib/hash.c (hash_rehash): Avoid memory leak.
42525
42526         hash: avoid no-op rehashing
42527         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42528
42529         hash: provide default callback functions
42530         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42531         (hash_initialize): Use them as defaults.
42532         * tests/test-hash.c (main): Test this.
42533
42534         hash: minor optimization
42535         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42536         when possible.
42537         (hash_initialize): Document this promise.
42538         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42539         * tests/test-hash.c (hash_compare_strings): Test this.
42540
42541 2009-06-18  Bruno Haible  <bruno@clisp.org>
42542
42543         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42544         going to be replaced anyway.
42545
42546 2009-06-18  Bruno Haible  <bruno@clisp.org>
42547
42548         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42549         in one place.
42550         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42551         be replaced anyway.
42552
42553 2009-06-18  Eric Blake  <ebb9@byu.net>
42554
42555         hash: check for resize before insertion
42556         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42557         threshold before insertion, so that a pathological hash_rehash
42558         that fills every bucket can still trigger another rehash.
42559
42560 2009-06-18  Jim Meyering  <meyering@redhat.com>
42561
42562         hash-tests: add a loop around the small tests
42563         * tests/test-hash.c (main): Repeat small tests with selected
42564         small initial table sizes.
42565
42566 2009-06-17  Eric Blake  <ebb9@byu.net>
42567
42568         hash: minor cleanups
42569         * lib/hash.h (hash_entry): Make opaque, by moving...
42570         * lib/hash.c (hash_entry): ...here.
42571         (hash_insert): Clarify restrictions on what can be inserted.
42572         (hash_get_next): Clarify when it is safe to remove an element
42573         during traversal.
42574         (check_tuning): Skip verification when tuning is known safe.
42575         (hash_initialize): Clarify restrictions on tuning.
42576
42577 2009-06-17  Jim Meyering  <jim@meyering.net>
42578         and Eric Blake  <ebb9@byu.net>
42579
42580         hash-tests: new module
42581         * modules/hash-tests: New file.
42582         * tests/test-hash.c: New file.
42583
42584 2009-06-17  Eric Blake  <ebb9@byu.net>
42585
42586         strstr-simple: document new module
42587         * MODULES.html.sh: Document new module.
42588
42589         strstr, strcasestr: replace on platforms with broken memchr
42590         * modules/strstr: Split into...
42591         * modules/strstr-simple: ...new module that does not care about
42592         performance, but does care about glibc bug.
42593         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42594         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42595         if platform memchr is broken, per Debian bug 521737.
42596         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42597         memchr.
42598         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42599         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42600         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42601         * modules/mountlist (Depends-on): Add strstr-simple.
42602         * modules/gen-uni-tables (Depends-on): Likewise.
42603         * modules/argz (Depends-on): Add strstr.
42604
42605 2009-06-17  Bruno Haible  <bruno@clisp.org>
42606
42607         * modules/posix_spawn-internal (Depends-on): Add errno.
42608
42609 2009-06-17  Bruno Haible  <bruno@clisp.org>
42610
42611         Define missing ESTALE on Interix 3.5.
42612         * lib/errno.in.h (ESTALE): Assign a value if missing.
42613         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42614         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42615         missing.
42616         * doc/posix-headers/errno.texi: Mention the Interix bug.
42617         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42618
42619 2009-06-15  Eric Blake  <ebb9@byu.net>
42620
42621         memchr, memchr2: add valgrind exception
42622         * lib/memchr.valgrind: New file.
42623         * lib/memchr2.valgrind: New file.
42624         * modules/memchr (Files): Distribute valgrind file.
42625         * modules/memchr2 (Files): Likewise.
42626
42627         docs: memchr is no longer obsolete
42628         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42629         * lib/string.in.h (memchr): Simplify logic.
42630
42631 2009-06-14  Jim Meyering  <meyering@redhat.com>
42632
42633         link-follow: fix the "checking..." message to not mention trailing slash
42634         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42635         never considered trailing slashes.
42636
42637 2009-06-14  Bruno Haible  <bruno@clisp.org>
42638
42639         * m4/memchr.m4: Mention also the bug on IA-64.
42640         * doc/posix-functions/memchr.texi: Likewise.
42641
42642 2009-06-12  Eric Blake  <ebb9@byu.net>
42643
42644         memchr: detect broken x86_64 and alpha implementations
42645         * modules/memchr-tests (Depends-on): Move mmap detection...
42646         * modules/memchr (Depends-on): ...here.
42647         (configure.ac): Set indicator.
42648         * lib/string.in.h (memchr): Declare replacement.
42649         * modules/string (Makefile.am): Trigger replacement.
42650         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42651         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42652         bugs.
42653         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42654         * modules/getpagesize (License): Relax license.
42655
42656 2009-06-11  Bruno Haible  <bruno@clisp.org>
42657
42658         * lib/idpriv.h: Add more references.
42659
42660 2009-06-08  Bruno Haible  <bruno@clisp.org>
42661
42662         Tests for module 'idpriv-droptemp'.
42663         * modules/idpriv-droptemp-tests: New file.
42664         * tests/test-idpriv-droptemp.sh: New file.
42665         * tests/test-idpriv-droptemp.su.sh: New file.
42666         * tests/test-idpriv-droptemp.c: New file.
42667
42668         New module 'idpriv-droptemp'.
42669         * lib/idpriv-droptemp.c: New file.
42670         * modules/idpriv-droptemp: New file.
42671
42672 2009-06-08  Bruno Haible  <bruno@clisp.org>
42673
42674         Tests for module 'idpriv-drop'.
42675         * modules/idpriv-drop-tests: New file.
42676         * tests/test-idpriv-drop.sh: New file.
42677         * tests/test-idpriv-drop.su.sh: New file.
42678         * tests/test-idpriv-drop.c: New file.
42679
42680         New module 'idpriv-drop'.
42681         * lib/idpriv.h: New file.
42682         * lib-idpriv-drop.c: New file.
42683         * m4/idpriv.m4: New file.
42684         * modules/idpriv-drop: New file.
42685
42686 2009-06-08  Bruno Haible  <bruno@clisp.org>
42687
42688         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42689         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42690         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42691         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42692         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42693         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42694         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42695
42696 2009-06-08  Eric Blake  <ebb9@byu.net>
42697
42698         test-strstr: use memory fence, when possible
42699         * tests/test-strstr.c (main): Use memory fence, in order to be
42700         more likely to trigger Debian bug 521737.
42701         * modules/strstr-tests (Files): Pull in additional files.
42702
42703         memchr: no longer obsolete, for wider field testing
42704         * modules/memchr (Status, Notice): Delete, this module is no
42705         longer obsolete.
42706         * modules/vasnprintf (Depends-on): Add memchr.
42707
42708 2009-06-07  Jim Meyering  <meyering@redhat.com>
42709
42710         hash: declare some functions with the warn_unused_result attribute
42711         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42712
42713 2009-06-07  Bruno Haible  <bruno@clisp.org>
42714
42715         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42716         Reported by Eric Blake.
42717
42718 2009-06-06  Eric Blake  <ebb9@byu.net>
42719
42720         test-alignof: fix typo with long double
42721         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42722         compiler error.
42723
42724 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42725
42726         Escape non-texinfo { and }s.
42727         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42728         markup error.
42729
42730 2009-06-04  Jim Meyering  <meyering@redhat.com>
42731
42732         gitlog-to-changelog: don't infloop on an empty commit log
42733         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42734         Reported by Boris Petersen <transacid@centerim.org>.
42735
42736 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42737
42738         version-etc: extend for packagers
42739         Add three new configure options, intended for packagers:
42740           --with-packager="packager name"
42741           --with-packager-version="packager-specific version"
42742           --with-packager-bug-reports="packager bug reporting"
42743         An example with coreutils:
42744           $ ./configure \
42745             --with-packager=Gentoo \
42746             --with-packager-bug-report=http://bugs.gentoo.org/ \
42747             --with-packager-version="patchset 1.6"
42748           $ ./src/ls --version | head -n2
42749           ls (GNU coreutils) 7.1-dirty
42750           Packaged by Gentoo (patchset 1.6)
42751         Note that the bug reporting info via --help doesn't show up because
42752         coreutils uses its own custom emit_bug_reporting_address() implementation
42753         in src/system.h.  If it didn't, it'd look like:
42754           $ ./src/ls --help | tail -n4
42755           Report bugs to <bug-coreutils@gnu.org>.
42756           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42757           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42758           General help using GNU software: <http://www.gnu.org/gethelp/>.
42759         * lib/version-etc.c: Print new information, if provided.
42760         * m4/version-etc.m4: New file.
42761         * modules/version-etc (Files): Add m4/version-etc.m4.
42762         (configure.ac): Add gl_VERSION_ETC.
42763
42764 2009-05-31  Bruno Haible  <bruno@clisp.org>
42765
42766         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42767         and 'int64_t'.
42768         * modules/alignof-tests (Dependencies): Add stdint.
42769         Reported by Eric Blake.
42770
42771 2009-05-31  Bruno Haible  <bruno@clisp.org>
42772
42773         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42774         restriction due to compiler bugs.
42775         Reported by Eric Blake.
42776
42777 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42778             Bruno Haible  <bruno@clisp.org>
42779
42780         Fix test-alignof failure.
42781         * lib/alignof.h (alignof_slot): New macro.
42782         (alignof_type): New macro, with the same semantics as the previous
42783         'alignof'.
42784         (alignof): Alias to alignof_slot.
42785         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42786         check that the results are usable as constant expressions.
42787
42788 2009-05-31  Bruno Haible  <bruno@clisp.org>
42789
42790         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42791         * tests/test-memchr.c (main): Check that memchr does not read past the
42792         first occurrence of the byte.
42793         * tests/test-strstr.c (main): Update comment.
42794         Suggested by Eric Blake.
42795
42796 2009-05-30  Bruno Haible  <bruno@clisp.org>
42797
42798         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42799         detail how to use dumpbin.
42800         Reported by David Byron <dbyron@dbyron.com>.
42801
42802 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42803
42804         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42805
42806 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42807
42808         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42809
42810 2009-05-28  Bruno Haible  <bruno@clisp.org>
42811
42812         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42813         build-aux/ files.
42814
42815 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42816
42817         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42818
42819 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42820
42821         * gnulib-tool (sed_transform_main_lib_file)
42822         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42823         regexps.
42824
42825 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42826
42827         * tests/test-strstr.c: Add another self-test.
42828         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42829         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42830
42831 2009-05-23  Bruno Haible  <bruno@clisp.org>
42832
42833         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42834         change.
42835
42836 2009-05-21  Bruno Haible  <bruno@clisp.org>
42837
42838         Simplify use of mode_t varargs.
42839         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42840         uses 'mode_t' or 'int'.
42841         * lib/openat.c (openat): Likewise.
42842         * lib/open-safer.c (open_safer): Likewise.
42843         * m4/mode_t.m4: New file.
42844         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42845         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42846         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42847         * modules/open (Files): Add m4/mode_t.m4.
42848         * modules/openat (Files): Likewise.
42849         * modules/fcntl-safer (Files): Likewise.
42850         Suggested by Eric Blake.
42851
42852 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42853
42854         * doc/glibc-functions/fallocate.texi: New file.
42855         * doc/gnulib.texi: Include it.
42856
42857 2009-05-21  Eric Blake  <ebb9@byu.net>
42858             Bruno Haible  <bruno@clisp.org>
42859
42860         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42861         invocations.
42862         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42863
42864 2009-05-21  Eric Blake  <ebb9@byu.net>
42865             Bruno Haible  <bruno@clisp.org>
42866
42867         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42868         include_next. Fix of 2008-11-20 commit.
42869         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42870         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42871         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42872         NEXT_MATH_H.
42873         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42874         instead of NEXT_MATH_H.
42875
42876 2009-05-21  Bruno Haible  <bruno@clisp.org>
42877
42878         Avoid redefinition warnings for SIZE_MAX.
42879         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42880         Reported by Simon Josefsson.
42881
42882 2009-05-21  Bruno Haible  <bruno@clisp.org>
42883
42884         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42885         AC_CACHE_VAL.
42886
42887 2009-05-20  Bruno Haible  <bruno@clisp.org>
42888
42889         Make zeroptr.h work on mingw.
42890         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42891         mprotect.
42892         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42893         * modules/memchr2-tests (configure.ac): Likewise.
42894         * modules/memcmp-tests (configure.ac): Likewise.
42895         * modules/memmem-tests (configure.ac): Likewise.
42896         * modules/memrchr-tests (configure.ac): Likewise.
42897         Reported by Simon Josefsson.
42898
42899 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42900
42901         * tests/test-glob.c: Include string.h for strcmp prototype.
42902
42903 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42904
42905         * modules/getdelim (Depends-on): Add explicit stdint, although it
42906         was implicitly already pulled in via realloc-posix.
42907         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42908
42909 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42910
42911         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42912         G. Christensen" <tgc@jupiterrise.com>.
42913         * m4/sys_socket_h.m4: Check for sa_family_t.
42914         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42915         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42916         * tests/test-sys_socket.c: Check that sa_family_t works.
42917
42918 2009-05-18  Eric Blake  <ebb9@byu.net>
42919
42920         maint.mk: allow gnulib_dir in VPATH build
42921         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42922
42923 2009-05-15  Jim Meyering  <meyering@redhat.com>
42924
42925         maint.mk: Give gnulib_dir a default definition.
42926         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42927         Thus, most packages no longer need to specify this variable in cfg.mk
42928
42929 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42930
42931         rename.m4: fix typos that would make non-mingw cross-configure fail
42932         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42933
42934 2009-05-13  Eric Blake  <ebb9@byu.net>
42935
42936         mmap-anon: avoid out-of-order autoconf expansion
42937         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42938         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42939         * modules/memchr-tests (Depends-on): Add extensions.
42940         * modules/memchr2-tests (Depends-on): Add extensions.
42941         * modules/memcmp-tests (Depends-on): Add extensions.
42942         * modules/memmem-tests (Depends-on): Add extensions.
42943         * modules/memrchr-tests (Depends-on): Add extensions.
42944
42945 2009-05-13  Bruno Haible  <bruno@clisp.org>
42946
42947         Make some tests ISO C 99 compliant.
42948         * tests/zerosize-ptr.h: New file.
42949         * tests/test-memchr.c: Include zerosize-ptr.h.
42950         (main): Use a zero-size object pointer instead of NULL.
42951         * tests/test-memchr2.c: Include zerosize-ptr.h.
42952         (main): Use a zero-size object pointer instead of NULL.
42953         * tests/test-memcmp.c: Include zerosize-ptr.h.
42954         (main): Use a zero-size object pointer instead of NULL.
42955         * tests/test-memmem.c: Include zerosize-ptr.h.
42956         (main): Use a zero-size object pointer instead of NULL.
42957         * tests/test-memrchr.c: Include zerosize-ptr.h.
42958         (main): Use a zero-size object pointer instead of NULL.
42959         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42960         m4/mmap-anon.m4.
42961         (Depends-on): Add getpagesize.
42962         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42963         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42964         m4/mmap-anon.m4.
42965         (Depends-on): Add getpagesize.
42966         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42967         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42968         m4/mmap-anon.m4.
42969         (Depends-on): Add getpagesize.
42970         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42971         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42972         m4/mmap-anon.m4.
42973         (Depends-on): Add getpagesize.
42974         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42975         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42976         m4/mmap-anon.m4.
42977         (Depends-on): Add getpagesize.
42978         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42979
42980 2009-05-12  Bruno Haible  <bruno@clisp.org>
42981
42982         Tests for module 'alignof'.
42983         * modules/alignof-tests: New file.
42984         * tests/test-alignof.c: New file.
42985
42986 2009-05-12  Bruno Haible  <bruno@clisp.org>
42987
42988         Fix alignof macro.
42989         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42990         vendor compilers that are always correct.
42991
42992 2009-05-12  Bruno Haible  <bruno@clisp.org>
42993
42994         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42995         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42996         not whether its fully works.
42997
42998 2009-05-12  Bruno Haible  <bruno@clisp.org>
42999
43000         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43001
43002 2009-05-12  Jim Meyering  <meyering@redhat.com>
43003
43004         * top/maint.mk: Adjust backslash alignment.
43005
43006 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43007
43008         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43009
43010 2009-05-11  Eric Blake  <ebb9@byu.net>
43011
43012         argp: avoid undefined behavior
43013         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43014         macros.
43015
43016 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43017
43018         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43019         user.name to prevent git commit from complaining.
43020
43021 2009-05-10  Bruno Haible  <bruno@clisp.org>
43022
43023         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43024         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43025         it rewrites every file name only once.
43026         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43027
43028 2009-05-08  Bruno Haible  <bruno@clisp.org>
43029
43030         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43031         instead of 'max'.
43032
43033 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43034
43035         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43036         sockaddr_storage test.
43037
43038 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43039
43040         * modules/sys_socket (Makefile.am): Substitute
43041         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43042         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43043         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43044         * tests/test-sys_socket.c: Check sockaddr_storage.
43045
43046 2009-05-08  Bruno Haible  <bruno@clisp.org>
43047
43048         New module 'alignof'.
43049         * lib/alignof.h: New file.
43050         * modules/alignof: New file.
43051
43052 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43053             Bruno Haible  <bruno@clisp.org>
43054
43055         Fix test-file-has-acl on FreeBSD.
43056         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43057         mask is implicitly added.
43058         * tests/test-file-has-acl.c: Include <signal.h>.
43059         (main): Terminate the test after 5 seconds.
43060         * modules/acl-tests (configure.ac): Check for alarm function.
43061
43062 2009-05-04  Bruno Haible  <bruno@clisp.org>
43063
43064         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43065         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43066         * modules/errno (configure.ac): Drop AC_REQUIRE.
43067         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43068         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43069
43070 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43071
43072         * modules/glob-tests: New module.
43073         * tests/test-glob.c: Add.
43074
43075 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43076
43077         * modules/fnmatch-tests: New module.
43078         * tests/test-fnmatch.c: Add.
43079
43080 2009-05-04  Eric Blake  <ebb9@byu.net>
43081
43082         maint: make the new no-submodule-changes rule VPATH-safe
43083         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43084
43085 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43086             Bruno Haible  <bruno@clisp.org>
43087
43088         acl: Fix infinite loop on FreeBSD.
43089         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43090         of return value from acl_get_entry.
43091         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43092         Likewise.
43093
43094 2009-05-03  Bruno Haible  <bruno@clisp.org>
43095
43096         * lib/acl-internal.h (acl_entries): Clarify return value.
43097         * lib/acl_entries.c (acl_entries): Likewise.
43098
43099 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43100
43101         Bug fix in acl module.
43102         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43103
43104 2009-05-03  Bruno Haible  <bruno@clisp.org>
43105
43106         Create gperf-generated file in the source dir, not in the build dir.
43107         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43108         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43109         * modules/unicase/locale-language (unicase/locale-languages.h):
43110         Likewise.
43111         * modules/unicase/special-casing (unicase/special-casing-table.h):
43112         Likewise.
43113         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43114         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43115         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43116         Reported by Ralf Wildenhues.
43117
43118 2009-05-03  Bruno Haible  <bruno@clisp.org>
43119
43120         * modules/fnmatch (Description, configure.ac): Taken from
43121         fnmatch-posix.
43122         * modules/fnmatch-posix: Turn into a symbolic reference to the
43123         'fnmatch' module, and deprecate.
43124         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43125
43126 2009-05-03  Bruno Haible  <bruno@clisp.org>
43127
43128         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43129         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43130         Reported by Ralf Wildenhues.
43131
43132 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43133
43134         * m4/fnmatch.m4: Fix fnmatch re-define.
43135
43136 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43137
43138         priv-set: new module and tests; adapt write-any-file
43139         * lib/priv-set.c: New file.
43140         * lib/priv-set.h: New file.
43141         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43142         * lib/write-any-file.c: Simplify by using priv-set module.
43143         * m4/priv-set.m4: New file.
43144         * modules/priv-set: New file.
43145         * modules/unlinkdir: Add dependency on priv-set module.
43146         * modules/write-any-file: Likewise.
43147
43148         Tests for module 'priv-set'.
43149         * modules/priv-set-tests: New file.
43150         * tests/test-priv-set.c: New file.
43151
43152 2009-05-03  Jim Meyering  <meyering@redhat.com>
43153             Bruno Haible  <bruno@clisp.org>
43154
43155         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43156         use the converted UTF-8 variant of the name instead.
43157
43158 2009-05-03  Jim Meyering  <meyering@redhat.com>
43159
43160         tests: tighten some getdate tests
43161         * tests/test-getdate.c (main): Tighten tests: require equality,
43162         not just greater than.  Set TZ envvar to UTC0.
43163
43164 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43165
43166         getdate: correctly interpret "next monday" when run on a Monday
43167         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43168         that e.g., "next tues" (when run on a tuesday) results in a date
43169         that is one week in the future, and not today's date.
43170         I.e., add a week when the wday is the same as the current one.
43171         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43172         and earlier by Martin Bernreuther and Jan Minář.
43173         * tests/test-getdate.c (main): Check that "next DAY" is always in
43174         the future and that "last DAY" is always in the past.
43175
43176 2009-05-02  Jim Meyering  <meyering@redhat.com>
43177
43178         build: ensure that a release build fails when a submodule is unclean
43179         * top/maint.mk (no-submodule-changes): New rule.
43180         (alpha beta major): Depend on it.
43181
43182 2009-05-02  Bruno Haible  <bruno@clisp.org>
43183
43184         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43185         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43186         shell variable gl_fnmatch_required to detect which variant is
43187         requested.
43188         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43189         gl_FUNC_FNMATCH_POSIX.
43190         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43191         exclude fnmatch-posix.
43192
43193 2009-05-02  Bruno Haible  <bruno@clisp.org>
43194
43195         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43196         * modules/mbsrtowcs (License): Change to LGPLv2+.
43197         * modules/strnlen1 (License): Likewise.
43198         Reported by Simon Josefsson.
43199
43200 2009-05-02  Bruno Haible  <bruno@clisp.org>
43201
43202         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43203         "cross".
43204         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43205         gnulib-tool was called with option --source-base=lib.
43206
43207 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43208
43209         Use automake *-local hooks without commands, for extensibility.
43210         * modules/localcharset (Makefile.am): Rename install-exec-local
43211         rule to install-exec-localcharset, and make it a prerequisite of
43212         install-exec-local.  Likewise, rename the uninstall-local rule to
43213         uninstall-localcharset, and make it a prerequisite of the former.
43214
43215 2009-05-01  Bruno Haible  <bruno@clisp.org>
43216
43217         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43218         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43219         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43220         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43221         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43222         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43223         m4/locale-zh.m4, m4/codeset.m4.
43224
43225         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43226         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43227         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43228         m4/locale-zh.m4.
43229
43230         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43231         REPLACE_WCRTOMB if mbstate_t must be replaced.
43232         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43233         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43234
43235 2009-05-01  Bruno Haible  <bruno@clisp.org>
43236
43237         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43238         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43239         dngettext, dcngettext, textdomain, bindtextdomain,
43240         bind_textdomain_codeset): Undefine before redefining.
43241
43242 2009-04-30  Bruno Haible  <bruno@clisp.org>
43243
43244         Fix bug introduced on 2009-04-25.
43245         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43246         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43247         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43248         is defined.
43249         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43250         is defined.
43251         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43252         is defined.
43253         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43254
43255 2009-04-28  Bruno Haible  <bruno@clisp.org>
43256
43257         Comment tweaks.
43258         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43259         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43260         * lib/unicase.h (u*_casexfrm): Likewise.
43261         Reported by Paolo Bonzini.
43262
43263 2009-04-28  Bruno Haible  <bruno@clisp.org>
43264
43265         Fix a compilation error.
43266         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43267         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43268         Reported by Jim Meyering.
43269
43270 2009-04-27  Bruno Haible  <bruno@clisp.org>
43271
43272         New module 'libunistring'.
43273         * modules/libunistring: New file.
43274         * m4/libunistring.m4: New file.
43275         * MODULES.html.sh (Unicode string functions): Add it.
43276
43277 2009-04-27  Eric Blake  <ebb9@byu.net>
43278
43279         maint.mk: allow package-specific header to provide <config.h>
43280         * top/maint.mk (sc_require_config_h): New variable.
43281         (sc_require_config_h, sc_require_config_h_first): Use it.
43282
43283 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43284
43285         * top/maint.mk (sc_avoid_if_before_free): Except
43286         useless-if-before-free script.
43287
43288 2009-04-27  Eric Blake  <ebb9@byu.net>
43289
43290         maintainer-makefile: depend on all required helper scripts
43291         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43292         useless-if-before-free.
43293         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43294         version, rather than assuming gnulib checkout is available.
43295         Reported by Simen Josefsson.
43296
43297 2009-04-26  Bruno Haible  <bruno@clisp.org>
43298
43299         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43300         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43301         "../" or "..".
43302
43303 2009-04-26  Bruno Haible  <bruno@clisp.org>
43304
43305         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43306         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43307         AC_LIB_HAVE_LINKFLAGS.
43308
43309 2009-04-26  Bruno Haible  <bruno@clisp.org>
43310
43311         Simplify calling convention of u*_conv_from_encoding.
43312         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43313         u32_conv_from_encoding): Expect a resultbuf argument and return the
43314         result directly as a pointer.
43315         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43316         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43317         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43318         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43319         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43320         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43321         Update.
43322         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43323         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43324         * lib/vasnprintf.c (VASNPRINTF): Update.
43325         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43326         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43327         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43328         * NEWS: Mention the change.
43329
43330 2009-04-26  Bruno Haible  <bruno@clisp.org>
43331
43332         Simplify calling convention of u*_conv_to_encoding.
43333         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43334         u32_conv_to_encoding): Expect a resultbuf argument and return the
43335         result directly as a pointer.
43336         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43337         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43338         freeing scaled_offsets if mem_iconveha failed.
43339         * lib/unicase/u-casexfrm.h (FUNC): Update.
43340         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43341         * lib/vasnprintf.c (VASNPRINTF): Update.
43342         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43343         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43344         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43345         * NEWS: Mention the change.
43346
43347 2009-04-26  Bruno Haible  <bruno@clisp.org>
43348
43349         Avoid test failures on AIX and OSF/1.
43350         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43351         malloc(0).
43352         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43353         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43354         Likewise.
43355         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43356         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43357         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43358         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43359         * doc/posix-functions/malloc.texi: Document the portability problem
43360         related to malloc(0).
43361
43362 2009-04-26  Bruno Haible  <bruno@clisp.org>
43363
43364         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43365         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43366         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43367
43368 2009-04-25  Bruno Haible  <bruno@clisp.org>
43369
43370         Avoid link error when creating a namespace clean library.
43371         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43372         as macro with arguments if already defined as an alias.
43373         * lib/signbitf.c (gl_signbitf): Don't undefine.
43374         * lib/signbitd.c (gl_signbitd): Don't undefine.
43375         * lib/signbitl.c (gl_signbitl): Don't undefine.
43376
43377 2009-04-25  Jim Meyering  <meyering@redhat.com>
43378
43379         vc-list-files: fix another quoting bug
43380         * build-aux/vc-list-files: Avoid sed backslash expansion
43381         of pathological directory names.
43382
43383 2009-04-25  Eric Blake  <ebb9@byu.net>
43384
43385         vc-list-files: fix shell quoting error
43386         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43387         timestamp.
43388
43389 2009-04-25  Jim Meyering  <meyering@redhat.com>
43390
43391         vc-list-files: restore lost functionality with subdir argument
43392         * build-aux/vc-list-files: When given a non-"." sub-directory
43393         argument, substitute the $dir/ prefix back onto each resulting name.
43394         Otherwise, coreutils' root_tests check would fail.
43395
43396 2009-04-24  Eric Blake  <ebb9@byu.net>
43397
43398         vc-list-files: ignore git symlinks
43399         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43400         than ls-files, to ignore git symlinks.
43401
43402         maint.mk: import improvements from m4
43403         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43404         (move_if_change): Delete unused macro.
43405         (news-date-check, vc-diff-check): Support VPATH builds.
43406         (announcement): Likewise.  Split --bootstrap-tools list...
43407         (boostrap-tools): ...into separate list, which can be overridden
43408         in cfg.mk.
43409         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43410         requiring dependency on useless-if-before-free module.
43411         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43412         Support VPATH builds.
43413
43414 2009-04-24  Jim Meyering  <meyering@redhat.com>
43415
43416         maint.mk: remove coreutils-specific rules and variables
43417         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43418         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43419         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43420
43421         maint.mk: remove obsolete rule
43422         * top/maint.mk (rel-check): Remove rule.
43423         (WGET, WGETFLAGS): Remove now-unused variables.
43424
43425 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43426
43427         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43428         consistency.
43429
43430         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43431         '$(PATH_SEPARATOR)' instead of ':'.
43432
43433 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43434
43435         * lib/getopt1.c (main): Use 'const' for static array.
43436
43437 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43438
43439         * top/maint.mk: Sync with coreutils.
43440         * NEWS: Explain incompatibilities.
43441
43442 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43443             Bruno Haible  <bruno@clisp.org>
43444
43445         Fix cross-compilation results.
43446         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43447         statement, as third argument of AC_TRY_RUN.
43448         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43449         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43450         Likewise.
43451         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43452         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43453         Likewise.
43454         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43455         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43456         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43457
43458 2009-04-20  Bruno Haible  <bruno@clisp.org>
43459
43460         Avoid test failure on mingw.
43461         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43462
43463 2009-04-20  Bruno Haible  <bruno@clisp.org>
43464
43465         Avoid compilation error on mingw.
43466         * modules/localename-tests (Depends-on): Add locale.
43467
43468 2009-04-19  Bruno Haible  <bruno@clisp.org>
43469
43470         Support for building a shared library on Windows platforms.
43471         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43472         (main): Test the presence of UNINORM_NFC here.
43473         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43474         (main): Test the presence of UNINORM_NFD here.
43475         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43476         (main): Test the presence of UNINORM_NFKC here.
43477         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43478         (main): Test the presence of UNINORM_NFKD here.
43479
43480 2009-04-19  Bruno Haible  <bruno@clisp.org>
43481
43482         Avoid a compiler warning.
43483         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43484         Change type of variable 'sequence'.
43485
43486 2009-04-19  Bruno Haible  <bruno@clisp.org>
43487
43488         * modules/configmake (Makefile.am): When the contents of configmake.h
43489         does not change, arrange to preserve its modification time.
43490
43491 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43492
43493         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43494         gettext domain.
43495
43496 2009-04-16  Jim Meyering  <meyering@redhat.com>
43497
43498         useless-if-before-free: improve conversion code
43499         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43500         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43501
43502 2009-04-14  Bruno Haible  <bruno@clisp.org>
43503
43504         * modules/fcntl (Depends-on): Add extensions.
43505         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43506
43507 2009-04-12  Ben Pfaff  <blp@gnu.org>
43508
43509         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43510         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43511
43512 2009-03-20  Ben Pfaff  <blp@gnu.org>
43513
43514         Make rename replace existing destinations on Windows.
43515         * m4/rename.m4: Add test for Mingw.
43516         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43517         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43518         * doc/posix-functions/rename.texi: Document.
43519
43520 2009-04-10  Bruno Haible  <bruno@clisp.org>
43521
43522         New include file "iconveh.h".
43523         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43524         * lib/striconveh.h: Include it.
43525         (enum iconv_ilseq_handler): Remove definition.
43526         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43527         striconveh.h.
43528         * lib/striconveha.c: Include striconveh.h.
43529         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43530         * modules/striconveh (Files): Add lib/iconveh.h.
43531         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43532         lib/striconveh.h.
43533
43534 2009-04-10  Bruno Haible  <bruno@clisp.org>
43535
43536         * lib/uniconv.h: Update comment.
43537
43538 2009-04-10  Bruno Haible  <bruno@clisp.org>
43539
43540         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43541         always.
43542         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43543         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43544         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43545         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43546         "unistring-notinline.h", so that the function gets defined always.
43547         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43548         * lib/unistr/u8-uctomb.c: Likewise.
43549         * lib/unistr/u16-mbtouc.c: Likewise.
43550         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43551         * lib/unistr/u16-uctomb.c: Likewise.
43552         * lib/unistr/u32-mbtouc.c: Likewise.
43553         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43554         * lib/unistr/u32-uctomb.c: Likewise.
43555
43556 2009-04-10  Bruno Haible  <bruno@clisp.org>
43557
43558         Mark 'utime' obsolete.
43559         * modules/utime (Status, Notice): New sections.
43560         Suggested by Jim Meyering.
43561
43562         Fix cross-compile guess for utime test.
43563         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43564         autoconf.
43565         * doc/posix-functions/utime.texi: Give more precisions.
43566         Reported by Jan <ipif@ymail.com>.
43567
43568 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43569
43570         filevercmp: correct today's change
43571         * lib/filevercmp.c: Also handle coreutils' test inputs.
43572         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43573
43574         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43575         for reporting it.
43576         * lib/filevercmp.c: Special handle for "", "." and "..".
43577         * tests/test-filevercmp.c: Enlarge the set suite.
43578
43579 2009-04-07  Jim Meyering  <meyering@redhat.com>
43580
43581         useless-if-before-free: show how to remove braced useless free, too
43582         * build-aux/useless-if-before-free: still only in a comment, though.
43583
43584 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43585
43586         maint.mk: import changes to syntax-check macros from coreutils
43587         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43588         Use them in the relevant macros.
43589
43590 2009-04-06  Bruno Haible  <bruno@clisp.org>
43591
43592         Fix unportable use of bit-fields.
43593         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43594         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43595         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43596
43597 2009-04-06  Bruno Haible  <bruno@clisp.org>
43598
43599         Avoid test failures on AIX and OSF/1.
43600         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43601         that malloc(0) = NULL.
43602         * tests/unicase/test-u8-tolower.c (check): Likewise.
43603         * tests/unicase/test-u8-totitle.c (check): Likewise.
43604         * tests/unicase/test-u8-toupper.c (check): Likewise.
43605         * tests/unicase/test-u16-casefold.c (check): Likewise.
43606         * tests/unicase/test-u16-tolower.c (check): Likewise.
43607         * tests/unicase/test-u16-totitle.c (check): Likewise.
43608         * tests/unicase/test-u16-toupper.c (check): Likewise.
43609         * tests/unicase/test-u32-casefold.c (check): Likewise.
43610         * tests/unicase/test-u32-tolower.c (check): Likewise.
43611         * tests/unicase/test-u32-totitle.c (check): Likewise.
43612         * tests/unicase/test-u32-toupper.c (check): Likewise.
43613         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43614         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43615         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43616         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43617         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43618         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43619         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43620         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43621         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43622         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43623         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43624         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43625
43626 2009-04-05  Bruno Haible  <bruno@clisp.org>
43627
43628         Work around an autoconf limitation.
43629         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43630         comment line if it would be longer than 3 KB.
43631
43632 2009-04-05  Bruno Haible  <bruno@clisp.org>
43633
43634         Avoid test failure with libiconv-1.13.
43635         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43636         of the expected test results.
43637
43638 2009-04-05  Bruno Haible  <bruno@clisp.org>
43639
43640         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43641         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43642         that it should be installed.
43643
43644 2009-04-05  Bruno Haible  <bruno@clisp.org>
43645
43646         * gnulib-tool: New option --copy-file.
43647         (func_usage): Document it.
43648         (func_dest_tmpfilename): Moved out of func_import.
43649         (func_add_file, func_update_file): New functions, extracted from
43650         func_import.
43651         (func_import): Update.
43652
43653 2009-04-05  Karl Berry  <karl@gnu.org>
43654
43655         * README: prominently mention gnulib-tool.
43656         Rearrange sections so getting the code is near the top.
43657
43658 2009-04-05  Bruno Haible  <bruno@clisp.org>
43659
43660         * lib/unicase.h: Mention u*_cmp2.
43661         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43662         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43663         * lib/unicase/ulc-casecmp.c: Likewise.
43664         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43665         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43666         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43667         unistr/u8-cmp.
43668         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43669         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43670         unistr/u16-cmp.
43671         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43672         unistr/u32-cmp.
43673
43674         * lib/uninorm.h: Mention u*_cmp2.
43675         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43676         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43677         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43678         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43679         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43680         unistr/u8-cmp.
43681         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43682         unistr/u16-cmp.
43683         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43684         unistr/u32-cmp.
43685
43686         New module 'unistr/u32-cmp2'.
43687         * lib/unistr/u32-cmp2.c: New file.
43688         * modules/unistr/u32-cmp2: New file.
43689
43690         New module 'unistr/u16-cmp2'.
43691         * lib/unistr/u16-cmp2.c: New file.
43692         * modules/unistr/u16-cmp2: New file.
43693
43694         New module 'unistr/u8-cmp2'.
43695         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43696         * lib/unistr/u8-cmp2.c: New file.
43697         * lib/unistr/u-cmp2.h: New file.
43698         * modules/unistr/u8-cmp2: New file.
43699
43700 2009-04-05  Bruno Haible  <bruno@clisp.org>
43701
43702         * lib/unictype.h (uc_property_is_valid): New macro.
43703         * tests/unictype/test-pr_byname.c (main): Use it.
43704
43705         * lib/unistr.h: Doc fixes.
43706         * lib/uniconv.h: Doc fixes.
43707         * lib/unictype.h: Doc fixes.
43708
43709 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43710
43711         Port coreutils 7.2 to Solaris 8.
43712
43713         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43714         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43715         for Solaris 8.  This is a bit of a hack, as it means it's the
43716         caller's responsibility to add -lnsl if needed, but most likely it
43717         won't be needed since only getaddrinfo uses this and getaddrinfo
43718         isn't needed on Solaris 8.
43719
43720         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43721         problem to Solaris 8 encountered with coreutils 7.2, which
43722         resulted in a message "fnmatch.c:292: warning: passing argument 4
43723         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43724         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43725
43726 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43727
43728         * m4/ld-version-script.m4: Add FIXME comment.
43729
43730 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43731
43732         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43733         SOVERSION variable.
43734
43735 2009-04-02  Bruno Haible  <bruno@clisp.org>
43736
43737         * Makefile (info, html, dvi, pdf): Combine the rules.
43738         Suggested by Jim Meyering.
43739
43740 2009-04-01  Bruno Haible  <bruno@clisp.org>
43741
43742         * Makefile (info, html, dvi, pdf): New targets.
43743         Reported by Reuben Thomas <rrt@sc3d.org>.
43744
43745 2009-04-01  Bruno Haible  <bruno@clisp.org>
43746
43747         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43748         can be put into PATH.
43749         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43750
43751 2009-04-01  Bruno Haible  <bruno@clisp.org>
43752
43753         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43754
43755 2009-04-01  Bruno Haible  <bruno@clisp.org>
43756
43757         Rename module 'visibility'.
43758         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43759         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43760         * doc/gnulib.texi: Update.
43761         * MODULES.html.sh (Misc): Update.
43762         * NEWS: Mention the change.
43763
43764 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43765
43766         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43767         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43768         Eric Blake <ebb9@byu.net> for review.
43769         * MODULES.html.sh: Add lib-msvc-compat.
43770         * doc/gnulib.texi: Link to new section.
43771         * m4/ld-output-def.m4: New file.
43772         * doc/ld-output-def.texi: New file.
43773
43774 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43775
43776         Rename ld-version-script to lib-symbol-versions.  Suggested by
43777         Bruno Haible <bruno@clisp.org>.
43778         * modules/ld-version-script: Renamed to lib-symbol-versions.
43779         * doc/ld-version-script.texi: Fix module name.
43780         * MODULES.html.sh: Add lib-symbol-versions.
43781
43782 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43783
43784         * modules/u64-tests: New file.
43785         * tests/test-u64.c: New file.
43786
43787 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43788
43789         * MODULES.html.sh: Mention u64.
43790         * modules/u64: New module.
43791         * modules/crypto/sha512: Depend on u64 module instead of providing
43792         u64.h.
43793
43794 2009-03-27  Eric Blake  <ebb9@byu.net>
43795
43796         test-strerror: make debugging EAI_SYSTEM easier
43797         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43798         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43799         failure was EAI_SYSTEM.
43800
43801 2009-03-25  Bruno Haible  <bruno@clisp.org>
43802
43803         Fix a problem with --enable-relocatable on Solaris 7.
43804         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43805         since 2008-02-24.
43806
43807 2009-03-25  Eric Blake  <ebb9@byu.net>
43808
43809         test-sockets: avoid gcc warning
43810         * tests/test-sockets.c (main): Silence compiler warning.
43811
43812 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43813
43814         New modules nproc, pthread, contributed by Glen Lenker.
43815
43816         * MODULES.html.sh: Add pthread, nproc.
43817         * lib/nproc.c: New file.
43818         * lib/nproc.h: New file.
43819         * lib/pthread.in.h: New file.
43820         * m4/pthread.m4: New file.
43821         * modules/nproc: New file.
43822         * modules/pthread: New file.
43823
43824 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43825
43826         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43827         New variable.
43828
43829 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43830
43831         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43832         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43833         * tests/test-filevercmp.c: Add tests for backup suffixes.
43834
43835 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43836
43837         * modules/stdlib (Depends-on): Add stdint, needed when defining
43838         struct random_data on, for example, HP-UX 10.20.  Reported by
43839         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43840
43841 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43842
43843         * lib/readline.c (readline): Call fflush on stdout after printing
43844         prompt.
43845
43846 2009-03-20  Bruno Haible  <bruno@clisp.org>
43847
43848         Remove dependency from 'close' module to -lws2_32 on native Windows.
43849         * lib/close-hook.h: New file.
43850         * lib/close-hook.c: New file.
43851         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43852         w32sock.h.
43853         (_gl_close_fd_maybe_socket): Remove function.
43854         (rpl_close): Invoke execute_all_close_hooks instead of
43855         _gl_close_fd_maybe_socket.
43856         * lib/sockets.c: Include close-hook.h, w32sock.h.
43857         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43858         (close_sockets_hook): New variable.
43859         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43860         (gl_sockets_cleanup): Unregister it.
43861         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43862         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43863         * modules/close-hook: New file.
43864         * modules/close (Files): Remove lib/w32sock.h.
43865         (Depends-on): Add close-hook.
43866         (Link): Remove section.
43867         * modules/sockets (Files): Add lib/w32sock.h.
43868         (Depends-on): Add close-hook.
43869         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43870         invocation.
43871         * NEWS: Mention that LIB_CLOSE is gone.
43872
43873 2009-03-23  Eric Blake  <ebb9@byu.net>
43874
43875         signal-tests: test previous patch
43876         * tests/test-signal.c: New file.
43877         * modules/signal-tests: Likewise.
43878
43879         signal.h: always support 'volatile sig_atomic_t'
43880         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43881         (gl_SIGNAL_H_DEFAULTS): Add a default.
43882         * modules/signal (Makefile.am): Substitute if needed.
43883         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43884         users can blindly add volatile.
43885         * doc/posix-headers/signal.texi (signal.h): Document it.
43886         Reported by Matthew Woehlke.
43887
43888 2009-03-23  Jim Meyering  <meyering@redhat.com>
43889
43890         pathmax: PATH_MAX: use pathconf only when available
43891         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43892         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43893         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43894         This avoids a link failure in a PSP cross-compilation environment
43895         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43896
43897         * lib/vasnprintf.c (divide): Fix typo in comment.
43898
43899 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43900
43901         * gnulib-tool (func_filter_filelist): Fix comment.
43902
43903 2009-03-20  Bruno Haible  <bruno@clisp.org>
43904
43905         Make sockets.h self-contained.
43906         * lib/sockets.c: Include sockets.h first.
43907         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43908
43909 2009-03-19  Eric Blake  <ebb9@byu.net>
43910
43911         doc: mention more functions added in cygwin 1.7.0
43912         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43913         addition.
43914         * doc/posix-functions/log2f.texi: Likewise.
43915
43916 2009-03-19  Jim Meyering  <meyering@redhat.com>
43917
43918         fsusage: avoid syntax error due to statement-before-declaration
43919         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43920         after all declarations.  Reported by Matthew Woehlke in
43921         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43922
43923 2009-03-18  Eric Blake  <ebb9@byu.net>
43924
43925         build-aux/compile: sync from automake
43926         * build-aux/compile: New file, from automake.
43927         * config/srclist.txt: Mention build-aux/compile.
43928
43929 2009-03-17  Bruno Haible  <bruno@clisp.org>
43930
43931         * lib/git-merge-changelog.c: Fix typo in comment.
43932         Reported by Reuben Thomas <rrt@sc3d.org>.
43933
43934 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43935
43936         * m4/regex.m4: update and improve help for
43937         --without-included-regex.
43938
43939 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43940
43941         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43942         failure on missing include files.
43943
43944 2009-03-17  Eric Blake  <ebb9@byu.net>
43945
43946         doc: mention more functions added in cygwin 1.7.0
43947         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43948         addition.
43949         * doc/posix-functions/fwscanf.texi: Likewise.
43950         * doc/posix-functions/swprintf.texi: Likewise.
43951         * doc/posix-functions/swscanf.texi: Likewise.
43952         * doc/posix-functions/vfwprintf.texi: Likewise.
43953         * doc/posix-functions/vfwscanf.texi: Likewise.
43954         * doc/posix-functions/vswprintf.texi: Likewise.
43955         * doc/posix-functions/vswscanf.texi: Likewise.
43956         * doc/posix-functions/vwprintf.texi: Likewise.
43957         * doc/posix-functions/vwscanf.texi: Likewise.
43958         * doc/posix-functions/wcscasecmp.texi: Likewise.
43959         * doc/posix-functions/wcsdup.texi: Likewise.
43960         * doc/posix-functions/wcsftime.texi: Likewise.
43961         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43962         * doc/posix-functions/wprintf.texi: Likewise.
43963         * doc/posix-functions/wscanf.texi: Likewise.
43964         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43965
43966 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43967
43968         maint.mk: really add $(AM_MAKEFLAGS)
43969         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43970         was inadvertently omitted in the last commit.
43971         Spotted by Bruno Haible.
43972
43973         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43974         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43975         $(AM_MAKEFLAGS)' rather than plain `make'.
43976
43977         gnulib-tool: execute $MAKE not make
43978         * gnulib-tool: Default $MAKE to 'make'.
43979         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43980         than make.  Initialize $MAKE in the do-autobuild script.
43981
43982         gnulib-tool: use $MAKE not make in generated files
43983         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43984         make, in generated files.  Initialize $MAKE in the do-autobuild
43985         script.
43986
43987         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43988
43989         GNUmakefile: disable parallelism only for multiple, recursive targets
43990         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43991         additions in the Makefile.
43992         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43993         by Automake.
43994         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43995         are listed on the command line and at least one of them is
43996         listed in $(ALL_RECURSIVE_TARGETS).
43997
43998 2009-03-14  Bruno Haible  <bruno@clisp.org>
43999
44000         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44001         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44002         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44003         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44004         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44005         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44006         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44007         unistr/u8-uctomb.
44008         * modules/unistr/u8-strchr (Depends-on): Likewise.
44009         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44010         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44011         unistr/u16-uctomb.
44012         * modules/unistr/u16-strchr (Depends-on): Likewise.
44013         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44014
44015 2009-03-12  Bruno Haible  <bruno@clisp.org>
44016
44017         Work around select() bug on Interix 3.5.
44018         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44019         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44020         * m4/select.m4: New file.
44021         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44022         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44023         * modules/select (Files): Add m4/select.m4.
44024         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44025         * modules/nanosleep (Depends-on): Add select.
44026         * modules/poll (Depends-on): Likewise.
44027         * doc/posix-functions/select.texi: Mention the Interix bug.
44028         Reported by Markus Duft <mduft@gentoo.org>.
44029
44030         * lib/select.c: Renamed from lib/winsock-select.c.
44031         * modules/select (Files): Add lib/select.c, remove
44032         lib/winsock-select.c.
44033         (configure.ac): Update.
44034
44035 2009-03-12  Jim Meyering  <meyering@redhat.com>
44036
44037         avoid gcc warnings about unused macro definitions
44038         * lib/readtokens.c (STREQ): Remove unused definition.
44039         * lib/xmalloc.c (SIZE_MAX): Likewise.
44040         * lib/openat-die.c (N_): Likewise.
44041         * lib/mountlist.c (SIZE_MAX): Remove definition.
44042         Instead, include <stdint.h>.
44043         * lib/readutmp.c: Likewise.
44044         * modules/readutmp (Depends-on): Add stdint.
44045         * modules/mountlist (Depends-on): Add stdint.
44046         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44047
44048 2009-03-10  Bruno Haible  <bruno@clisp.org>
44049
44050         Tests for module 'mbmemcasecoll'.
44051         * modules/mbmemcasecoll-tests: New file.
44052         * tests/test-mbmemcasecoll1.sh: New file.
44053         * tests/test-mbmemcasecoll2.sh: New file.
44054         * tests/test-mbmemcasecoll3.sh: New file.
44055         * tests/test-mbmemcasecoll.c: New file.
44056
44057         New module 'mbmemcasecoll'.
44058         * lib/mbmemcasecoll.h: New file.
44059         * lib/mbmemcasecoll.c: New file.
44060         * modules/mbmemcasecoll: New file.
44061
44062         * tests/test-mbmemcasecmp.h: New file, extracted from
44063         tests/test-mbmemcasecmp.c.
44064         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44065         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44066         (main): Update.
44067         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44068
44069 2009-03-09  Bruno Haible  <bruno@clisp.org>
44070
44071         Tests for module 'mbmemcasecmp'.
44072         * modules/mbmemcasecmp-tests: New file.
44073         * tests/test-mbmemcasecmp1.sh: New file.
44074         * tests/test-mbmemcasecmp2.sh: New file.
44075         * tests/test-mbmemcasecmp3.sh: New file.
44076         * tests/test-mbmemcasecmp.c: New file.
44077
44078         New module 'mbmemcasecmp'.
44079         * lib/mbmemcasecmp.h: New file.
44080         * lib/mbmemcasecmp.c: New file.
44081         * modules/mbmemcasecmp: New file.
44082
44083 2009-03-09  Bruno Haible  <bruno@clisp.org>
44084
44085         Tests for module 'unicase/ulc-casecoll'.
44086         * modules/unicase/ulc-casecoll-tests: New file.
44087         * tests/unicase/test-ulc-casecoll1.sh: New file.
44088         * tests/unicase/test-ulc-casecoll2.sh: New file.
44089         * tests/unicase/test-ulc-casecoll.c: New file.
44090
44091         New module 'unicase/ulc-casecoll'.
44092         * lib/unicase.h (ulc_casecoll): New declaration.
44093         * lib/unicase/ulc-casecoll.c: New file.
44094         * modules/unicase/ulc-casecoll: New file.
44095
44096         New module 'unicase/ulc-casexfrm'.
44097         * lib/unicase.h (ulc_casexfrm): New declaration.
44098         * lib/unicase/ulc-casexfrm.c: New file.
44099         * modules/unicase/ulc-casexfrm: New file.
44100
44101 2009-03-09  Bruno Haible  <bruno@clisp.org>
44102
44103         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44104         invocations.
44105
44106         * m4/mbscasecmp.m4: Remove file.
44107         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44108         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44109
44110         * m4/mbscasestr.m4: Remove file.
44111         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44112         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44113
44114         * m4/mbschr.m4: Remove file.
44115         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44116         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44117
44118         * m4/mbscspn.m4: Remove file.
44119         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44120         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44121
44122         * m4/mbslen.m4: Remove file.
44123         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44124         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44125
44126         * m4/mbsncasecmp.m4: Remove file.
44127         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44128         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44129
44130         * m4/mbsnlen.m4: Remove file.
44131         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44132         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44133
44134         * m4/mbspbrk.m4: Remove file.
44135         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44136         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44137
44138         * m4/mbspcasecmp.m4: Remove file.
44139         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44140         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44141
44142         * m4/mbsrchr.m4: Remove file.
44143         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44144         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44145
44146         * m4/mbssep.m4: Remove file.
44147         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44148         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44149
44150         * m4/mbsspn.m4: Remove file.
44151         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44152         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44153
44154         * m4/mbsstr.m4: Remove file.
44155         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44156         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44157
44158         * m4/mbstok_r.m4: Remove file.
44159         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44160         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44161
44162         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44163
44164         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44165         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44166
44167         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44168
44169 2009-03-08  Bruno Haible  <bruno@clisp.org>
44170
44171         Tests for module 'unicase/ulc-casecmp'.
44172         * modules/unicase/ulc-casecmp-tests: New file.
44173         * tests/unicase/test-ulc-casecmp1.sh: New file.
44174         * tests/unicase/test-ulc-casecmp2.sh: New file.
44175         * tests/unicase/test-ulc-casecmp.c: New file.
44176
44177         New module 'unicase/ulc-casecmp'.
44178         * lib/unicase.h (ulc_casecmp): New declaration.
44179         * lib/unicase/ulc-casecmp.c: New file.
44180         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44181         'const SRC_UNIT *'.
44182         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44183         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44184         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44185         * modules/unicase/ulc-casecmp: New file.
44186
44187         Tests for module 'unicase/u32-is-cased'.
44188         * modules/unicase/u32-is-cased-tests: New file.
44189         * tests/unicase/test-u32-is-cased.c: New file.
44190
44191         Tests for module 'unicase/u16-is-cased'.
44192         * modules/unicase/u16-is-cased-tests: New file.
44193         * tests/unicase/test-u16-is-cased.c: New file.
44194
44195         Tests for module 'unicase/u8-is-cased'.
44196         * modules/unicase/u8-is-cased-tests: New file.
44197         * tests/unicase/test-u8-is-cased.c: New file.
44198         * tests/unicase/test-is-cased.h: New file.
44199
44200         New module 'unicase/u32-is-cased'.
44201         * lib/unicase/u32-is-cased.c: New file.
44202         * modules/unicase/u32-is-cased: New file.
44203
44204         New module 'unicase/u16-is-cased'.
44205         * lib/unicase/u16-is-cased.c: New file.
44206         * modules/unicase/u16-is-cased: New file.
44207
44208         New module 'unicase/u8-is-cased'.
44209         * lib/unicase/u8-is-cased.c: New file.
44210         * lib/unicase/u-is-cased.h: New file.
44211         * modules/unicase/u8-is-cased: New file.
44212
44213         Tests for module 'unicase/u32-is-casefolded'.
44214         * modules/unicase/u32-is-casefolded-tests: New file.
44215         * tests/unicase/test-u32-is-casefolded.c: New file.
44216
44217         Tests for module 'unicase/u16-is-casefolded'.
44218         * modules/unicase/u16-is-casefolded-tests: New file.
44219         * tests/unicase/test-u16-is-casefolded.c: New file.
44220
44221         Tests for module 'unicase/u8-is-casefolded'.
44222         * modules/unicase/u8-is-casefolded-tests: New file.
44223         * tests/unicase/test-u8-is-casefolded.c: New file.
44224         * tests/unicase/test-is-casefolded.h: New file.
44225
44226         New module 'unicase/u32-is-casefolded'.
44227         * lib/unicase/u32-is-casefolded.c: New file.
44228         * modules/unicase/u32-is-casefolded: New file.
44229
44230         New module 'unicase/u16-is-casefolded'.
44231         * lib/unicase/u16-is-casefolded.c: New file.
44232         * modules/unicase/u16-is-casefolded: New file.
44233
44234         New module 'unicase/u8-is-casefolded'.
44235         * lib/unicase/u8-is-casefolded.c: New file.
44236         * modules/unicase/u8-is-casefolded: New file.
44237
44238         Tests for module 'unicase/u32-is-titlecase'.
44239         * modules/unicase/u32-is-titlecase-tests: New file.
44240         * tests/unicase/test-u32-is-titlecase.c: New file.
44241
44242         Tests for module 'unicase/u16-is-titlecase'.
44243         * modules/unicase/u16-is-titlecase-tests: New file.
44244         * tests/unicase/test-u16-is-titlecase.c: New file.
44245
44246         Tests for module 'unicase/u8-is-titlecase'.
44247         * modules/unicase/u8-is-titlecase-tests: New file.
44248         * tests/unicase/test-u8-is-titlecase.c: New file.
44249         * tests/unicase/test-is-titlecase.h: New file.
44250
44251         New module 'unicase/u32-is-titlecase'.
44252         * lib/unicase/u32-is-titlecase.c: New file.
44253         * modules/unicase/u32-is-titlecase: New file.
44254
44255         New module 'unicase/u16-is-titlecase'.
44256         * lib/unicase/u16-is-titlecase.c: New file.
44257         * modules/unicase/u16-is-titlecase: New file.
44258
44259         New module 'unicase/u8-is-titlecase'.
44260         * lib/unicase/u8-is-titlecase.c: New file.
44261         * modules/unicase/u8-is-titlecase: New file.
44262
44263         Tests for module 'unicase/u32-is-lowercase'.
44264         * modules/unicase/u32-is-lowercase-tests: New file.
44265         * tests/unicase/test-u32-is-lowercase.c: New file.
44266
44267         Tests for module 'unicase/u16-is-lowercase'.
44268         * modules/unicase/u16-is-lowercase-tests: New file.
44269         * tests/unicase/test-u16-is-lowercase.c: New file.
44270
44271         Tests for module 'unicase/u8-is-lowercase'.
44272         * modules/unicase/u8-is-lowercase-tests: New file.
44273         * tests/unicase/test-u8-is-lowercase.c: New file.
44274         * tests/unicase/test-is-lowercase.h: New file.
44275
44276         New module 'unicase/u32-is-lowercase'.
44277         * lib/unicase/u32-is-lowercase.c: New file.
44278         * modules/unicase/u32-is-lowercase: New file.
44279
44280         New module 'unicase/u16-is-lowercase'.
44281         * lib/unicase/u16-is-lowercase.c: New file.
44282         * modules/unicase/u16-is-lowercase: New file.
44283
44284         New module 'unicase/u8-is-lowercase'.
44285         * lib/unicase/u8-is-lowercase.c: New file.
44286         * modules/unicase/u8-is-lowercase: New file.
44287
44288         Tests for module 'unicase/u32-is-uppercase'.
44289         * modules/unicase/u32-is-uppercase-tests: New file.
44290         * tests/unicase/test-u32-is-uppercase.c: New file.
44291
44292         Tests for module 'unicase/u16-is-uppercase'.
44293         * modules/unicase/u16-is-uppercase-tests: New file.
44294         * tests/unicase/test-u16-is-uppercase.c: New file.
44295
44296         Tests for module 'unicase/u8-is-uppercase'.
44297         * modules/unicase/u8-is-uppercase-tests: New file.
44298         * tests/unicase/test-u8-is-uppercase.c: New file.
44299         * tests/unicase/test-is-uppercase.h: New file.
44300
44301         New module 'unicase/u32-is-uppercase'.
44302         * lib/unicase/u32-is-uppercase.c: New file.
44303         * modules/unicase/u32-is-uppercase: New file.
44304
44305         New module 'unicase/u16-is-uppercase'.
44306         * lib/unicase/u16-is-uppercase.c: New file.
44307         * modules/unicase/u16-is-uppercase: New file.
44308
44309         New module 'unicase/u8-is-uppercase'.
44310         * lib/unicase/u8-is-uppercase.c: New file.
44311         * modules/unicase/u8-is-uppercase: New file.
44312
44313         New module 'unicase/u32-is-invariant'.
44314         * lib/unicase/u32-is-invariant.c: New file.
44315         * modules/unicase/u32-is-invariant: New file.
44316
44317         New module 'unicase/u16-is-invariant'.
44318         * lib/unicase/u16-is-invariant.c: New file.
44319         * modules/unicase/u16-is-invariant: New file.
44320
44321         New module 'unicase/u8-is-invariant'.
44322         * lib/unicase/u8-is-invariant.c: New file.
44323         * lib/unicase/invariant.h: New file.
44324         * lib/unicase/u-is-invariant.h: New file.
44325         * modules/unicase/u8-is-invariant: New file.
44326
44327         Tests for module 'unicase/u32-casecoll'.
44328         * modules/unicase/u32-casecoll-tests: New file.
44329         * tests/unicase/test-u32-casecoll.c: New file.
44330
44331         Tests for module 'unicase/u16-casecoll'.
44332         * modules/unicase/u16-casecoll-tests: New file.
44333         * tests/unicase/test-u16-casecoll.c: New file.
44334
44335         Tests for module 'unicase/u8-casecoll'.
44336         * modules/unicase/u8-casecoll-tests: New file.
44337         * tests/unicase/test-u8-casecoll.c: New file.
44338
44339         New module 'unicase/u32-casecoll'.
44340         * lib/unicase/u32-casecoll.c: New file.
44341         * modules/unicase/u32-casecoll: New file.
44342
44343         New module 'unicase/u16-casecoll'.
44344         * lib/unicase/u16-casecoll.c: New file.
44345         * modules/unicase/u16-casecoll: New file.
44346
44347         New module 'unicase/u8-casecoll'.
44348         * lib/unicase/u8-casecoll.c: New file.
44349         * lib/unicase/u-casecoll.h: New file.
44350         * modules/unicase/u8-casecoll: New file.
44351
44352         New module 'unicase/u32-casexfrm'.
44353         * lib/unicase/u32-casexfrm.c: New file.
44354         * modules/unicase/u32-casexfrm: New file.
44355
44356         New module 'unicase/u16-casexfrm'.
44357         * lib/unicase/u16-casexfrm.c: New file.
44358         * modules/unicase/u16-casexfrm: New file.
44359
44360         New module 'unicase/u8-casexfrm'.
44361         * lib/unicase/u8-casexfrm.c: New file.
44362         * lib/unicase/u-casexfrm.h: New file.
44363         * modules/unicase/u8-casexfrm: New file.
44364
44365         Tests for module 'unicase/u32-casecmp'.
44366         * modules/unicase/u32-casecmp-tests: New file.
44367         * tests/unicase/test-u32-casecmp.c: New file.
44368
44369         Tests for module 'unicase/u16-casecmp'.
44370         * modules/unicase/u16-casecmp-tests: New file.
44371         * tests/unicase/test-u16-casecmp.c: New file.
44372
44373         Tests for module 'unicase/u8-casecmp'.
44374         * modules/unicase/u8-casecmp-tests: New file.
44375         * tests/unicase/test-u8-casecmp.c: New file.
44376         * tests/unicase/test-casecmp.h: New file.
44377
44378         New module 'unicase/u32-casecmp'.
44379         * lib/unicase/u32-casecmp.c: New file.
44380         * modules/unicase/u32-casecmp: New file.
44381
44382         New module 'unicase/u16-casecmp'.
44383         * lib/unicase/u16-casecmp.c: New file.
44384         * modules/unicase/u16-casecmp: New file.
44385
44386         New module 'unicase/u8-casecmp'.
44387         * lib/unicase/u8-casecmp.c: New file.
44388         * lib/unicase/u-casecmp.h: New file.
44389         * modules/unicase/u8-casecmp: New file.
44390
44391         Tests for module 'unicase/u32-casefold'.
44392         * modules/unicase/u32-casefold-tests: New file.
44393         * tests/unicase/test-u32-casefold.c: New file.
44394
44395         Tests for module 'unicase/u16-casefold'.
44396         * modules/unicase/u16-casefold-tests: New file.
44397         * tests/unicase/test-u16-casefold.c: New file.
44398
44399         Tests for module 'unicase/u8-casefold'.
44400         * modules/unicase/u8-casefold-tests: New file.
44401         * tests/unicase/test-u8-casefold.c: New file.
44402
44403         New module 'unicase/u32-casefold'.
44404         * lib/unicase/u32-casefold.c: New file.
44405         * modules/unicase/u32-casefold: New file.
44406
44407         New module 'unicase/u16-casefold'.
44408         * lib/unicase/u16-casefold.c: New file.
44409         * modules/unicase/u16-casefold: New file.
44410
44411         New module 'unicase/u8-casefold'.
44412         * lib/unicase/u8-casefold.c: New file.
44413         * lib/unicase/u-casefold.h: New file.
44414         * modules/unicase/u8-casefold: New file.
44415
44416         New module 'unicase/tocasefold'.
44417         * lib/unicase/casefold.h: New file.
44418         * lib/unicase/tocasefold.c: New file.
44419         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44420         * modules/unicase/tocasefold: New file.
44421
44422         Tests for module 'unicase/u32-totitle'.
44423         * modules/unicase/u32-totitle-tests: New file.
44424         * tests/unicase/test-u32-totitle.c: New file.
44425
44426         Tests for module 'unicase/u16-totitle'.
44427         * modules/unicase/u16-totitle-tests: New file.
44428         * tests/unicase/test-u16-totitle.c: New file.
44429
44430         Tests for module 'unicase/u8-totitle'.
44431         * modules/unicase/u8-totitle-tests: New file.
44432         * tests/unicase/test-u8-totitle.c: New file.
44433
44434         New module 'unicase/u32-totitle'.
44435         * lib/unicase/u32-totitle.c: New file.
44436         * modules/unicase/u32-totitle: New file.
44437
44438         New module 'unicase/u16-totitle'.
44439         * lib/unicase/u16-totitle.c: New file.
44440         * modules/unicase/u16-totitle: New file.
44441
44442         New module 'unicase/u8-totitle'.
44443         * lib/unicase/u8-totitle.c: New file.
44444         * lib/unicase/u-totitle.h: New file.
44445         * modules/unicase/u8-totitle: New file.
44446
44447         Tests for module 'unicase/u32-tolower'.
44448         * modules/unicase/u32-tolower-tests: New file.
44449         * tests/unicase/test-u32-tolower.c: New file.
44450
44451         Tests for module 'unicase/u16-tolower'.
44452         * modules/unicase/u16-tolower-tests: New file.
44453         * tests/unicase/test-u16-tolower.c: New file.
44454
44455         Tests for module 'unicase/u8-tolower'.
44456         * modules/unicase/u8-tolower-tests: New file.
44457         * tests/unicase/test-u8-tolower.c: New file.
44458
44459         New module 'unicase/u32-tolower'.
44460         * lib/unicase/u32-tolower.c: New file.
44461         * modules/unicase/u32-tolower: New file.
44462
44463         New module 'unicase/u16-tolower'.
44464         * lib/unicase/u16-tolower.c: New file.
44465         * modules/unicase/u16-tolower: New file.
44466
44467         New module 'unicase/u8-tolower'.
44468         * lib/unicase/u8-tolower.c: New file.
44469         * modules/unicase/u8-tolower: New file.
44470
44471         Tests for module 'unicase/u32-toupper'.
44472         * modules/unicase/u32-toupper-tests: New file.
44473         * tests/unicase/test-u32-toupper.c: New file.
44474
44475         Tests for module 'unicase/u16-toupper'.
44476         * modules/unicase/u16-toupper-tests: New file.
44477         * tests/unicase/test-u16-toupper.c: New file.
44478
44479         Tests for module 'unicase/u8-toupper'.
44480         * modules/unicase/u8-toupper-tests: New file.
44481         * tests/unicase/test-u8-toupper.c: New file.
44482
44483         New module 'unicase/u32-toupper'.
44484         * lib/unicase/u32-toupper.c: New file.
44485         * modules/unicase/u32-toupper: New file.
44486
44487         New module 'unicase/u16-toupper'.
44488         * lib/unicase/u16-toupper.c: New file.
44489         * modules/unicase/u16-toupper: New file.
44490
44491         New module 'unicase/u8-toupper'.
44492         * lib/unicase/u8-toupper.c: New file.
44493         * modules/unicase/u8-toupper: New file.
44494
44495         New module 'unicase/u32-casemap'.
44496         * lib/unicase/u32-casemap.c: New file.
44497         * modules/unicase/u32-casemap: New file.
44498
44499         New module 'unicase/u16-casemap'.
44500         * lib/unicase/u16-casemap.c: New file.
44501         * modules/unicase/u16-casemap: New file.
44502
44503         New module 'unicase/u8-casemap'.
44504         * lib/unicase/unicasemap.h: New file.
44505         * lib/unicase/u8-casemap.c: New file.
44506         * lib/unicase/u-casemap.h: New file.
44507         * modules/unicase/u8-casemap: New file.
44508
44509         New module 'unicase/special-casing'.
44510         * lib/unicase/special-casing.h: New file.
44511         * lib/unicase/special-casing.c: New file.
44512         * lib/unicase/special-casing-table.gperf: New file, generated by
44513         gen-uni-tables.c.
44514         * modules/unicase/special-casing: New file.
44515
44516         Tests for module 'unicase/locale-language'.
44517         * modules/unicase/locale-language-tests: New file.
44518         * tests/unicase/test-locale-language.sh: New file.
44519         * tests/unicase/test-locale-language.c: New file.
44520
44521         New module 'unicase/locale-language'.
44522         * lib/unicase/locale-language.c: New file.
44523         * lib/unicase/locale-languages.gperf: New file.
44524         * modules/unicase/locale-language: New file.
44525
44526         Generate more tables for case conversion and case folding.
44527         * lib/gen-uni-tables.c (SCC_*): New enum items.
44528         (struct special_casing_rule): New type.
44529         (casing_rules, num_casing_rules, allocated_casing_rules): New
44530         variables.
44531         (add_casing_rule, fill_casing_rules): New functions.
44532         (struct casefold_rule): New type.
44533         (casefolding_rules, num_casefolding_rules,
44534         allocated_casefolding_rules): New variables.
44535         (fill_casefolding_rules): New function.
44536         (unicode_casefold): New variable.
44537         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44538         sort_casing_rules, output_casing_rules): New functions.
44539         (main): Accept to more arguments: SpecialCasing.txt and
44540         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44541         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44542         Output mapping for casefolding.
44543
44544         * lib/unicase.h: Include stdbool.h, uninorm.h.
44545         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44546         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44547         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44548         arguments.
44549         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44550         resultp arguments.
44551         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44552         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44553         resultp arguments.
44554         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44555         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44556         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44557         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44558         declarations.
44559         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44560
44561 2009-03-08  Bruno Haible  <bruno@clisp.org>
44562
44563         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44564         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44565         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44566         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44567
44568 2009-03-07  Bruno Haible  <bruno@clisp.org>
44569
44570         Adjust u*_normcmp, u*_normcoll API.
44571         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44572         u16_normcoll, u32_normcoll): Change failure conventions.
44573         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44574         errno and return -1.
44575         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44576
44577 2009-03-07  Bruno Haible  <bruno@clisp.org>
44578
44579         Tests for module 'uninorm/u32-normcoll'.
44580         * modules/uninorm/u32-normcoll-tests: New file.
44581         * tests/uninorm/test-u32-normcoll.c: New file.
44582
44583         Tests for module 'uninorm/u16-normcoll'.
44584         * modules/uninorm/u16-normcoll-tests: New file.
44585         * tests/uninorm/test-u16-normcoll.c: New file.
44586
44587         Tests for module 'uninorm/u8-normcoll'.
44588         * modules/uninorm/u8-normcoll-tests: New file.
44589         * tests/uninorm/test-u8-normcoll.c: New file.
44590
44591 2009-03-07  Bruno Haible  <bruno@clisp.org>
44592
44593         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44594         tests/uninorm/test-u32-normcmp.c.
44595         * tests/uninorm/test-u32-normcmp.c: Include it.
44596         (test_nonascii): New function, extracted from main. Add some more
44597         tests.
44598         (main): Invoke test_ascii and test_nonascii.
44599         * modules/uninorm/u32-normcmp-tests (Files): Add
44600         tests/uninorm/test-u32-normcmp.h.
44601         (Depends-on): Remove uninorm/u32-normcmp.
44602
44603         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44604         tests/uninorm/test-u16-normcmp.c.
44605         * tests/uninorm/test-u16-normcmp.c: Include it.
44606         (test_nonascii): New function, extracted from main. Add some more
44607         tests.
44608         (main): Invoke test_ascii and test_nonascii.
44609         * modules/uninorm/u16-normcmp-tests (Files): Add
44610         tests/uninorm/test-u16-normcmp.h.
44611         (Depends-on): Remove uninorm/u16-normcmp.
44612
44613         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44614         tests/uninorm/test-u8-normcmp.c.
44615         * tests/uninorm/test-u8-normcmp.c: Include it.
44616         (test_nonascii): New function, extracted from main. Add some more
44617         tests.
44618         (main): Invoke test_ascii and test_nonascii.
44619         * modules/uninorm/u8-normcmp-tests (Files): Add
44620         tests/uninorm/test-u8-normcmp.h.
44621         (Depends-on): Remove uninorm/u8-normcmp.
44622
44623 2009-03-07  Bruno Haible  <bruno@clisp.org>
44624
44625         New module 'uninorm/u32-normcoll'.
44626         * lib/uninorm/u32-normcoll.c: New file.
44627         * modules/uninorm/u32-normcoll: New file.
44628
44629         New module 'uninorm/u16-normcoll'.
44630         * lib/uninorm/u16-normcoll.c: New file.
44631         * modules/uninorm/u16-normcoll: New file.
44632
44633         New module 'uninorm/u8-normcoll'.
44634         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44635         declarations.
44636         * lib/uninorm/u8-normcoll.c: New file.
44637         * lib/uninorm/u-normcoll.h: New file.
44638         * modules/uninorm/u8-normcoll: New file.
44639
44640         New module 'uninorm/u32-normxfrm'.
44641         * lib/uninorm/u32-normxfrm.c: New file.
44642         * modules/uninorm/u32-normxfrm: New file.
44643
44644         New module 'uninorm/u16-normxfrm'.
44645         * lib/uninorm/u16-normxfrm.c: New file.
44646         * modules/uninorm/u16-normxfrm: New file.
44647
44648         New module 'uninorm/u8-normxfrm'.
44649         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44650         declarations.
44651         * lib/uninorm/u8-normxfrm.c: New file.
44652         * lib/uninorm/u-normxfrm.h: New file.
44653         * modules/uninorm/u8-normxfrm: New file.
44654
44655 2009-03-07  Bruno Haible  <bruno@clisp.org>
44656
44657         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44658         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44659         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44660
44661 2009-03-07  Bruno Haible  <bruno@clisp.org>
44662
44663         New module 'memxfrm'.
44664         * lib/memxfrm.h: New file.
44665         * lib/memxfrm.c: New file.
44666         * modules/memxfrm: New file.
44667
44668 2009-03-07  Bruno Haible  <bruno@clisp.org>
44669
44670         New module 'memcmp2'.
44671         * lib/memcmp2.h: New file.
44672         * lib/memcmp2.c: New file.
44673         * modules/memcmp2: New file.
44674
44675 2009-03-07  Bruno Haible  <bruno@clisp.org>
44676
44677         Tests for module 'uninorm/decomposing-form'.
44678         * modules/uninorm/decomposing-form-tests: New file.
44679         * tests/uninorm/test-decomposing-form.c: New file.
44680
44681         New module 'uninorm/decomposing-form'.
44682         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44683         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44684         Add 'decomposing_variant' field.
44685         * lib/uninorm/decomposing-form.c: New file.
44686         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44687         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44688         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44689         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44690         * modules/uninorm/decomposing-form: New file.
44691         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44692         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44693
44694 2009-03-07  Bruno Haible  <bruno@clisp.org>
44695
44696         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44697         strings.
44698
44699 2009-03-06  Bruno Haible  <bruno@clisp.org>
44700
44701         Tests for module 'uninorm/u32-normcmp'.
44702         * tests/uninorm/test-u32-normcmp.c: New file.
44703         * modules/uninorm/u32-normcmp-tests: New file.
44704
44705         Tests for module 'uninorm/u16-normcmp'.
44706         * tests/uninorm/test-u16-normcmp.c: New file.
44707         * modules/uninorm/u16-normcmp-tests: New file.
44708
44709         Tests for module 'uninorm/u8-normcmp'.
44710         * tests/uninorm/test-u8-normcmp.c: New file.
44711         * modules/uninorm/u8-normcmp-tests: New file.
44712
44713         New module 'uninorm/u32-normcmp'.
44714         * lib/uninorm/u32-normcmp.c: New file.
44715         * modules/uninorm/u32-normcmp: New file.
44716
44717         New module 'uninorm/u16-normcmp'.
44718         * lib/uninorm/u16-normcmp.c: New file.
44719         * modules/uninorm/u16-normcmp: New file.
44720
44721         New module 'uninorm/u8-normcmp'.
44722         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44723         declarations.
44724         * lib/uninorm/u8-normcmp.c: New file.
44725         * lib/uninorm/u-normcmp.h: New file.
44726         * modules/uninorm/u8-normcmp: New file.
44727
44728 2009-03-06  Bruno Haible  <bruno@clisp.org>
44729
44730         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44731         Reported by Eric Blake.
44732
44733 2009-03-06  Eric Blake  <ebb9@byu.net>
44734             Bruno Haible  <bruno@clisp.org>
44735
44736         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44737         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44738         condition.
44739         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44740         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44741         condition.
44742         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44743
44744 2009-03-06  Eric Blake  <ebb9@byu.net>
44745
44746         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44747         to avoid compiler warnings.
44748         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44749
44750 2009-03-05  Bruno Haible  <bruno@clisp.org>
44751
44752         * tests/test-ftell.c (main): Disable test beyond end of file on
44753         FreeMiNT.
44754         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44755
44756 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44757
44758         * lib/filevercmp.c: Move hidden files up in ordering.
44759         * tests/test-filevercmp.c: Add tests for hidden files.
44760
44761 2009-03-04  Bruno Haible  <bruno@clisp.org>
44762
44763         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44764         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44765         AM_CFLAGS.
44766         Reported by Simon Josefsson.
44767
44768 2009-03-03  Bruno Haible  <bruno@clisp.org>
44769
44770         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44771         Reported by Simon Josefsson.
44772
44773         * doc/ld-version-script.texi: Update node reference.
44774
44775 2009-03-03  Bruno Haible  <bruno@clisp.org>
44776
44777         * modules/visibility (License): Change to 'unlimited'.
44778         Suggested by Simon Josefsson.
44779
44780 2009-03-03  Jim Meyering  <meyering@redhat.com>
44781
44782         unlinkdir: cannot_unlink_dir may modify process state
44783         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44784         it's neither thread-safe nor appropriate for use in a library.
44785
44786 2009-03-03  Eric Blake  <ebb9@byu.net>
44787
44788         test-closein: silence test under Darwin
44789         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44790         care if it dies from EPIPE or EBADF.
44791
44792 2009-03-03  Bruno Haible  <bruno@clisp.org>
44793
44794         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44795         earlier.
44796         * doc/visibility.texi: Fix @node and @section.
44797
44798 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44799
44800         * doc/gnulib.texi: Link to sections for ld version script and
44801         visibility.
44802         * doc/visibility.texi: Add @node and @section.
44803         * modules/ld-version-script: New module.
44804         * m4/ld-version-script.m4: New file.
44805         * doc/ld-version-script.texi: New file.
44806
44807 2009-03-02  David Lutterkort  <lutter@redhat.com>
44808
44809         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44810         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44811
44812 2009-03-02  Bruno Haible  <bruno@clisp.org>
44813
44814         * doc/visibility.texi: Mention libtool's -export-symbols option.
44815
44816 2009-03-02  Jim Meyering  <meyering@redhat.com>
44817
44818         announce-gen: new option: --no-print-checksums
44819         * build-aux/announce-gen (usage): Describe it.
44820         (print_checksums): Print a newline here, not in the [*] footnote.
44821         (main): Honor it.
44822
44823 2009-03-01  Bruno Haible  <bruno@clisp.org>
44824
44825         Use socklen_t in the native Windows replacements prototypes.
44826         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44827         instead of 'int'.
44828         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44829         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44830         * modules/getsockopt (Depends-on): Add socklen.
44831         * modules/setsockopt (Depends-on): Add socklen.
44832
44833 2009-03-01  Bruno Haible  <bruno@clisp.org>
44834
44835         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44836         least 4.2.
44837
44838 2009-03-01  Eric Blake  <ebb9@byu.net>
44839             Bruno Haible  <bruno@clisp.org>
44840
44841         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44842         error messages.
44843         * lib/wait-process.c (wait_subprocess): Omit error message about
44844         deadly signal sent to the child of termsigp != NULL.
44845
44846 2009-03-01  Eric Blake  <ebb9@byu.net>
44847
44848         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44849
44850 2009-03-01  Bruno Haible  <bruno@clisp.org>
44851
44852         Avoid a gcc warning.
44853         * tests/test-sched.c (b): Make global.
44854         Reported by Eric Blake.
44855
44856 2009-01-19  Martin Lambers  <marlam@marlam.de>
44857
44858         Provide POSIX semantics for socket timeout options on W32.
44859         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44860         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44861         * modules/setsockopt: Depend on sys_time module for struct timeval.
44862         * modules/getsockopt: Depend on sys_time module for struct timeval.
44863
44864 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44865
44866         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44867         __USE_GNU, for consistency with netdb.in.h.
44868         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44869
44870 2009-03-01  Bruno Haible  <bruno@clisp.org>
44871
44872         More support for FreeMiNT.
44873         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44874         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44875
44876 2009-03-01  Bruno Haible  <bruno@clisp.org>
44877
44878         More support for FreeMiNT.
44879         * lib/fpurge.c (fpurge): Correct last commit.
44880         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44881
44882 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44883
44884         Fix unportable awk script in vc-list-files.
44885         * build-aux/vc-list-files: In the replacement awk script, use
44886         substr with a second argument of 1, not zero.
44887         Report by Simon Josefsson.
44888
44889 2009-02-28  Bruno Haible  <bruno@clisp.org>
44890
44891         More support for FreeMiNT.
44892         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44893         to FreeMiNT today.
44894         * lib/fwriting.c (fwriting): Likewise.
44895         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44896
44897 2009-02-28  Bruno Haible  <bruno@clisp.org>
44898
44899         * tests/test-freadseek.c (main): Disable test beyond end of file on
44900         FreeMiNT.
44901         * tests/test-ftello.c (main): Likewise.
44902         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44903
44904 2009-02-28  Bruno Haible  <bruno@clisp.org>
44905
44906         Add tentative support for FreeMiNT.
44907         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44908         * lib/fpurge.c (fpurge): Likewise.
44909         * lib/freadable.c (freadable): Likewise.
44910         * lib/freading.c (freading): Likewise.
44911         * lib/freadptr.c (freadptr): Likewise.
44912         * lib/freadseek.c (freadptrinc): Likewise.
44913         * lib/fseeko.c (rpl_fseeko): Likewise.
44914         * lib/fseterr.c (fseterr): Likewise.
44915         * lib/fwritable.c (fwritable): Likewise.
44916         * lib/fwriting.c (fwriting): Likewise.
44917         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44918         Hourihane.
44919         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44920
44921 2009-02-28  Bruno Haible  <bruno@clisp.org>
44922
44923         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44924         SIGCHLD.
44925         Reported by Jim Meyering.
44926
44927 2009-02-28  Bruno Haible  <bruno@clisp.org>
44928
44929         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44930         Mention the results of these tests on various platforms.
44931         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44932         order.
44933         * doc/posix-functions/printf.texi: Likewise.
44934         * doc/posix-functions/snprintf.texi: Likewise.
44935         * doc/posix-functions/sprintf.texi: Likewise.
44936         * doc/posix-functions/vfprintf.texi: Likewise.
44937         * doc/posix-functions/vprintf.texi: Likewise.
44938         * doc/posix-functions/vsnprintf.texi: Likewise.
44939         * doc/posix-functions/vsprintf.texi: Likewise.
44940         * doc/glibc-functions/obstack_printf.texi: Likewise.
44941         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44942
44943 2009-02-28  Bruno Haible  <bruno@clisp.org>
44944
44945         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44946         Reported by Loïc Minier <lool@dooz.org>.
44947
44948 2009-02-27  Bruno Haible  <bruno@clisp.org>
44949
44950         * gnulib-tool (func_import): Make the sed expression used to create the
44951         sed script for updating the .gitignore file POSIX compliant.
44952         Reported by Eric Blake.
44953
44954 2009-02-27  Bruno Haible  <bruno@clisp.org>
44955
44956         * gnulib-tool (sed): Don't alias as "sed --posix".
44957         Reported by Eric Blake.
44958
44959 2009-02-27  Bruno Haible  <bruno@clisp.org>
44960
44961         Avoid test link errors.
44962         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44963         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44964         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44965         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44966         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44967
44968 2009-02-27  Bruno Haible  <bruno@clisp.org>
44969
44970         Avoid spurious "(cached)" in configure output.
44971         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44972         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44973         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44974         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44975         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44976         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44977         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44978         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44979         Reported by Eric Blake.
44980
44981 2009-02-27  Eric Blake  <ebb9@byu.net>
44982
44983         printf: fix regression in previous patch
44984         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44985
44986 2009-02-27  Bruno Haible  <bruno@clisp.org>
44987
44988         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44989         value.
44990         * lib/stdint.in.h: Likewise.
44991         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44992
44993 2009-02-27  Eric Blake  <ebb9@byu.net>
44994
44995         doc: mention more functions added in cygwin 1.7.0
44996         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44997         addition.
44998         * doc/posix-functions/open_wmemstream.texi: Likewise.
44999         * doc/posix-functions/wcsnlen.texi: Likewise.
45000         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45001         * doc/posix-functions/wcstod.texi: Likewise.
45002         * doc/posix-functions/wcstof.texi: Likewise.
45003         * doc/posix-functions/wcstoimax.texi: Likewise.
45004         * doc/posix-functions/wcstok.texi: Likewise.
45005         * doc/posix-functions/wcstoumax.texi: Likewise.
45006
45007         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45008         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45009         * doc/posix-functions/fprintf.texi: Update.
45010         * doc/posix-functions/printf.texi: Update.
45011         * doc/posix-functions/snprintf.texi: Update.
45012         * doc/posix-functions/sprintf.texi: Update.
45013         * doc/posix-functions/vfprintf.texi: Update.
45014         * doc/posix-functions/vprintf.texi: Update.
45015         * doc/posix-functions/vsnprintf.texi: Update.
45016         * doc/posix-functions/vsprintf.texi: Update.
45017         * doc/glibc-functions/obstack_printf.texi: Update.
45018         * doc/glibc-functions/obstack_vprintf.texi: Update.
45019
45020 2009-02-26  Eric Blake  <ebb9@byu.net>
45021
45022         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45023         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45024         compilation bug by using runtime conversion.
45025         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45026         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45027         * modules/ceill-tests (Files): Use nan.h.
45028         * modules/floorl-tests (Files): Likewise.
45029         * modules/frexpl-tests (Files): Likewise.
45030         * modules/isnanl-tests (Files): Likewise.
45031         * modules/ldexpl-tests (Files): Likewise.
45032         * modules/roundl-tests (Files): Likewise.
45033         * modules/truncl-tests (Files): Likewise.
45034         * tests/test-ceill.c (main): Use a working NaN.
45035         * tests/test-floorl.c (main): Likewise.
45036         * tests/test-frexpl.c (main): Likewise.
45037         * tests/test-isnan.c (test_long_double): Likewise.
45038         * tests/test-isnanl.h (main): Likewise.
45039         * tests/test-ldexpl.h (main): Likewise.
45040         * tests/test-roundl.h (main): Likewise.
45041         * tests/test-truncl.h (main): Likewise.
45042         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45043
45044 2009-02-26  Eric Blake  <ebb9@byu.net>
45045             Bruno Haible  <bruno@clisp.org>
45046
45047         Work around a *printf bug with %ls on Solaris.
45048         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45049         precision is specified, sprintf stops converting the wide string
45050         argument when the number of bytes that have been produced by this
45051         conversion equals or exceeds the precision.
45052         * doc/posix-functions/fprintf.texi: Update.
45053         * doc/posix-functions/printf.texi: Update.
45054         * doc/posix-functions/snprintf.texi: Update.
45055         * doc/posix-functions/sprintf.texi: Update.
45056         * doc/posix-functions/vfprintf.texi: Update.
45057         * doc/posix-functions/vprintf.texi: Update.
45058         * doc/posix-functions/vsnprintf.texi: Update.
45059         * doc/posix-functions/vsprintf.texi: Update.
45060         * doc/glibc-functions/obstack_printf.texi: Update.
45061         * doc/glibc-functions/obstack_vprintf.texi: Update.
45062
45063 2009-02-26  Eric Blake  <ebb9@byu.net>
45064
45065         stdlib: favor compiler check of random.h
45066         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45067         to avoid an ObjC random.h installed by Swarm.
45068
45069 2009-02-26  Bruno Haible  <bruno@clisp.org>
45070
45071         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45072         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45073         Reported by Gary V. Vaughan <gary@gnu.org>.
45074
45075 2009-02-26  Bruno Haible  <bruno@clisp.org>
45076
45077         Fix *printf behaviour regarding the %ls directive.
45078         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45079         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45080         NEED_PRINTF_DIRECTIVE_LS.
45081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45082         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45083         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45084         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45085         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45086         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45087         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45088         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45089         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45090         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45092         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45093         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45094         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45095         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45096         * doc/posix-functions/fprintf.texi: Update.
45097         * doc/posix-functions/printf.texi: Update.
45098         * doc/posix-functions/snprintf.texi: Update.
45099         * doc/posix-functions/sprintf.texi: Update.
45100         * doc/posix-functions/vfprintf.texi: Update.
45101         * doc/posix-functions/vprintf.texi: Update.
45102         * doc/posix-functions/vsnprintf.texi: Update.
45103         * doc/posix-functions/vsprintf.texi: Update.
45104         * doc/glibc-functions/obstack_printf.texi: Update.
45105         * doc/glibc-functions/obstack_vprintf.texi: Update.
45106         Reported by Eric Blake.
45107
45108 2009-02-25  Bruno Haible  <bruno@clisp.org>
45109
45110         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45111         with known value.
45112         Reported by Gary V. Vaughan <gary@gnu.org>.
45113
45114 2009-02-25  Bruno Haible  <bruno@clisp.org>
45115
45116         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45117         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45118         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45119         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45120         Reported by Gary V. Vaughan <gary@gnu.org>.
45121
45122 2009-02-25  Bruno Haible  <bruno@clisp.org>
45123
45124         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45125         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45126         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45127         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45128         Reported by Gary V. Vaughan <gary@gnu.org>.
45129
45130 2009-02-25  Eric Blake  <ebb9@byu.net>
45131
45132         tests: skip fseek/ftell tests if ungetc is broken
45133         * m4/ungetc.m4: New file.
45134         * modules/fseek-tests: Split test, so ungetc dependency is
45135         separate from rest of test.
45136         * modules/fseeko-tests: Likewise.
45137         * modules/ftell-tests: Likewise.
45138         * modules/ftello-tests: Likewise.
45139         * tests/test-fseek.c (main): Isolate ungetc dependency.
45140         * tests/test-fseeko.c (main): Likewise.
45141         * tests/test-ftell.c (main): Likewise.
45142         * tests/test-ftello.c (main): Likewise.
45143         * tests/test-fseek2.sh: New file.
45144         * tests/test-fseeko2.sh: Likewise.
45145         * tests/test-ftell2.sh: Likewise.
45146         * tests/test-ftello2.sh: Likewise.
45147
45148 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
45149
45150         test-getaddrinfo: fix usage of skip return code 77
45151         * tests/test-gettaddrinfo.c: Return skip code 77 only
45152         for first occurance of skip (4x77 is not 77)
45153
45154 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45155
45156         strtod: avoid C99 decl-after-statement
45157         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45158
45159 2009-02-24  Eric Blake  <ebb9@byu.net>
45160
45161         strtod: detect HP-UX 11.31 bug
45162         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45163         Reported by Gary V. Vaughan.
45164
45165 2009-02-23  Bruno Haible  <bruno@clisp.org>
45166
45167         Fix invalid read past end of memory block.
45168         * lib/vasnprintf.c (DCHAR_SET): Define.
45169         (local_wcslen): Define only when needed.
45170         (local_strnlen, local_wcsnlen): New functions.
45171         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45172         directives that involve a conversion ourselves.
45173         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45174         wcsnlen, mbrtowc, wcrtomb.
45175         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45176         * tests/test-vasprintf-posix.c (test_function): Likewise.
45177         * tests/test-snprintf-posix.h (test_function): Likewise.
45178         * tests/test-sprintf-posix.h (test_function): Likewise.
45179         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45180
45181 2009-02-22  Bruno Haible  <bruno@clisp.org>
45182
45183         Implement new clarified decomposition of Hangul syllables.
45184         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45185         of type LTV, return only a pairwise decomposition.
45186         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45187         Likewise.
45188         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45189         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45190         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45191
45192 2009-02-22  Bruno Haible  <bruno@clisp.org>
45193
45194         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45195         zero-length results and shrink excess allocated memory.
45196         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45197         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45198         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45199         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45200         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45201         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45202         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45203         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45204         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45205         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45206         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45207         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45208
45209 2009-02-21  Bruno Haible  <bruno@clisp.org>
45210
45211         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45212         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45213         spaces after a period. Put a space between a macro name and its
45214         argument list. Trivial rewordings.
45215         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45216         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45217         (main): Return 0 explicitly.
45218
45219 2009-02-21  Bruno Haible  <bruno@clisp.org>
45220
45221         Tests for module 'uninorm/filter'.
45222         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45223         * modules/uninorm/filter-tests: New file.
45224
45225         New module 'uninorm/filter'.
45226         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45227         uninorm_filter_flush, uninorm_filter_free): New declarations.
45228         * lib/uninorm/uninorm-filter.c: New file.
45229         * modules/uninorm/filter: New file.
45230
45231 2009-02-21  Bruno Haible  <bruno@clisp.org>
45232
45233         Tests for module 'uninorm/nfkc'.
45234         * tests/uninorm/test-nfkc.c: New file.
45235         * tests/uninorm/test-u8-nfkc.c: New file.
45236         * tests/uninorm/test-u16-nfkc.c: New file.
45237         * tests/uninorm/test-u32-nfkc.c: New file.
45238         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45239         * tests/uninorm/test-u32-nfkc-big.c: New file.
45240         * modules/uninorm/nfkc-tests: New file.
45241
45242         New module 'uninorm/nfkc'.
45243         * lib/uninorm/nfkc.c: New file.
45244         * modules/uninorm/nfkc: New file.
45245
45246         Tests for module 'uninorm/nfkd'.
45247         * tests/uninorm/test-nfkd.c: New file.
45248         * tests/uninorm/test-u8-nfkd.c: New file.
45249         * tests/uninorm/test-u16-nfkd.c: New file.
45250         * tests/uninorm/test-u32-nfkd.c: New file.
45251         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45252         * tests/uninorm/test-u32-nfkd-big.c: New file.
45253         * modules/uninorm/nfkd-tests: New file.
45254
45255         New module 'uninorm/nfkd'.
45256         * lib/uninorm/nfkd.c: New file.
45257         * modules/uninorm/nfkd: New file.
45258
45259         Tests for module 'uninorm/nfc'.
45260         * tests/uninorm/test-nfc.c: New file.
45261         * tests/uninorm/test-u8-nfc.c: New file.
45262         * tests/uninorm/test-u16-nfc.c: New file.
45263         * tests/uninorm/test-u32-nfc.c: New file.
45264         * tests/uninorm/test-u32-nfc-big.sh: New file.
45265         * tests/uninorm/test-u32-nfc-big.c: New file.
45266         * modules/uninorm/nfc-tests: New file.
45267
45268         New module 'uninorm/nfc'.
45269         * lib/uninorm/nfc.c: New file.
45270         * modules/uninorm/nfc: New file.
45271
45272         Tests for module 'uninorm/nfd'.
45273         * tests/uninorm/test-nfd.c: New file.
45274         * tests/uninorm/test-u8-nfd.c: New file.
45275         * tests/uninorm/test-u16-nfd.c: New file.
45276         * tests/uninorm/test-u32-nfd.c: New file.
45277         * tests/uninorm/test-u32-nfd-big.sh: New file.
45278         * tests/uninorm/test-u32-nfd-big.c: New file.
45279         * tests/uninorm/test-u32-normalize-big.h: New file.
45280         * tests/uninorm/test-u32-normalize-big.c: New file.
45281         * tests/uninorm/NormalizationTest.txt: New file, created from
45282         Unicode 5.1.0 NormalizationTest.txt.
45283         * modules/uninorm/nfd-tests: New file.
45284
45285         New module 'uninorm/nfd'.
45286         * lib/uninorm/nfd.c: New file.
45287         * modules/uninorm/nfd: New file.
45288
45289         New module 'uninorm/u32-normalize'.
45290         * lib/uninorm/u32-normalize.c: New file.
45291         * modules/uninorm/u32-normalize: New file.
45292
45293         New module 'uninorm/u16-normalize'.
45294         * lib/uninorm/u16-normalize.c: New file.
45295         * modules/uninorm/u16-normalize: New file.
45296
45297         New module 'uninorm/u8-normalize'.
45298         * lib/uninorm/u8-normalize.c: New file.
45299         * lib/uninorm/normalize-internal.h: New file.
45300         * lib/uninorm/u-normalize-internal.h: New file.
45301         * modules/uninorm/u8-normalize: New file.
45302
45303         New module 'uninorm/decompose-internal'.
45304         * lib/uninorm/decompose-internal.c: New file.
45305         * modules/uninorm/decompose-internal: New file.
45306
45307         Tests for module 'uninorm/composition'.
45308         * tests/uninorm/test-composition.c: New file.
45309         * modules/uninorm/composition-tests: New file.
45310
45311         New module 'uninorm/composition'.
45312         * lib/uninorm/composition.c: New file.
45313         * lib/uninorm/composition-table.gperf: New file, generated by
45314         gen-uni-tables.
45315         * modules/uninorm/composition: New file.
45316
45317         Tests for module 'uninorm/compat-decomposition'.
45318         * tests/uninorm/test-compat-decomposition.c: New file.
45319         * modules/uninorm/compat-decomposition-tests: New file.
45320
45321         New module 'uninorm/compat-decomposition'.
45322         * lib/uninorm/decompose-internal.h: New file.
45323         * lib/uninorm/compat-decomposition.c: New file.
45324         * modules/uninorm/compat-decomposition: New file.
45325
45326         Tests for module 'uninorm/canonical-decomposition'.
45327         * tests/uninorm/test-canonical-decomposition.c: New file.
45328         * modules/uninorm/canonical-decomposition-tests: New file.
45329
45330         New module 'uninorm/canonical-decomposition'.
45331         * lib/uninorm/canonical-decomposition.c: New file.
45332         * modules/uninorm/canonical-decomposition: New file.
45333
45334         Tests for module 'uninorm/decomposition'.
45335         * tests/uninorm/test-decomposition.c: New file.
45336         * modules/uninorm/decomposition-tests: New file.
45337
45338         New module 'uninorm/decomposition'.
45339         * lib/uninorm/decomposition.c: New file.
45340         * modules/uninorm/decomposition: New file.
45341
45342         New module 'uninorm/decomposition-table'.
45343         * lib/uninorm/decomposition-table.h: New file.
45344         * lib/uninorm/decomposition-table.c: New file.
45345         * lib/uninorm/decomposition-table1.h: New file, generated by
45346         gen-uni-tables.
45347         * lib/uninorm/decomposition-table2.h: New file, generated by
45348         gen-uni-tables.
45349         * modules/uninorm/decomposition-table: New file.
45350
45351         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45352         (UC_DECOMP_*): New enumeration items.
45353         (get_decomposition): New function.
45354         (struct decomp_table): New type.
45355         (output_decomposition, output_decomposition_tables): New functions.
45356         (unicode_composition_exclusions): New variable.
45357         (fill_composition_exclusions, debug_output_composition_tables): New
45358         functions.
45359         (main): Accept one more argument. Invoke fill_composition_exclusions.
45360         Output decomposition and composition tables.
45361
45362         New module 'uninorm/base'.
45363         * lib/uninorm.h: New file.
45364         * lib/unictype.h: Update comment.
45365         * modules/uninorm/base: New file.
45366
45367 2009-02-21  David Lutterkort  <lutter@redhat.com>
45368
45369         Tests for module 'safe-alloc'.
45370         * tests/test-safe-alloc.c: New file.
45371         * modules/safe-alloc-tests: New file.
45372
45373         New module 'safe-alloc'.
45374         * lib/safe-alloc.h: New file.
45375         * lib/safe-alloc.c: New file.
45376         * m4/safe-alloc.m4: New file.
45377         * modules/safe-alloc: New file.
45378         * doc/safe-alloc.texi: New file.
45379         * doc/gnulib.texi: Include it.
45380         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45381         safe-alloc.
45382
45383 2009-02-18  Bruno Haible  <bruno@clisp.org>
45384
45385         Fix link error on non-glibc systems.
45386         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45387         variable.
45388         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45389
45390 2009-02-18  Jim Meyering  <meyering@redhat.com>
45391
45392         fts: avoid used-uninitialized error due to recent change
45393         * lib/fts.c (fts_read): Guard uses of the new member,
45394         parent->fts_n_dirs_remaining, since it's not relevant for
45395         the parent of a directory specified on the command-line.
45396
45397 2009-02-17  James Youngman  <jay@gnu.org>
45398             Bruno Haible  <bruno@clisp.org>
45399
45400         * m4/include_next.m4: Reformulate comment.
45401
45402 2009-02-16  Jim Meyering  <meyering@redhat.com>
45403
45404         fts: add #if guards so that the fts_lgpl module still builds
45405         * lib/fts.c: Guard just-added hash-table-using parts with
45406         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45407         Reported by Simon Josefsson.
45408
45409 2009-02-15  Bruno Haible  <bruno@clisp.org>
45410
45411         * modules/array-mergesort-tests: New file.
45412         * tests/test-array-mergesort.c: New file.
45413
45414         New module 'array-mergesort'.
45415         * modules/array-mergesort: New file.
45416         * lib/array-mergesort.h: New file.
45417
45418 2009-02-15  Bruno Haible  <bruno@clisp.org>
45419
45420         Fix 2009-02-07 commit.
45421         * lib/gen-uni-tables.c (output_predicate, output_category,
45422         output_combclass, output_bidi_category, output_decimal_digit,
45423         output_digit, output_numeric, output_mirror, output_scripts,
45424         output_ident_category, output_simple_mapping): Fix format directives.
45425         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45426
45427 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45428
45429         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45430         fixes are available from IBM.
45431
45432 2009-02-13  Jim Meyering  <meyering@redhat.com>
45433
45434         fts: arrange not to stat non-directories in more cases
45435         This makes GNU find (when it doesn't need to stat each file)
45436         *much* more efficient at traversing reiserfs file systems.
45437         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45438         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45439         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45440         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45441         (leaf_optimization_applies): New function.
45442         (LCO_hash, LCO_compare): New helper functions.
45443         (link_count_optimize_ok): New function.
45444         (fts_stat): Initialize new member (if dir).
45445         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45446         we've just stat'ed a directory.  Skip the stat call when possible.
45447         ---
45448         Note this AFS-related exchange:
45449         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45450         and note find's pioctl call in find/fstype.c.
45451         But that is necessary only if you want to enable the
45452         optimization for AFS, and for now, I don't.
45453
45454         fts: move a function definition "up" (no semantic change)
45455         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45456         "up" to precede upcoming use of a related function.
45457
45458 2009-02-11  Jim Meyering  <meyering@redhat.com>
45459
45460         fts: correct internal computation of nlinks (optimization-related)
45461         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45462         whether the current entry is a directory, so don't test it.
45463
45464 2009-02-10  Bruno Haible  <bruno@clisp.org>
45465
45466         Tests for module 'uniwbrk/ulc-wordbreaks'.
45467         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45468         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45469         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45470
45471         Tests for module 'uniwbrk/u32-wordbreaks'.
45472         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45473         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45474
45475         Tests for module 'uniwbrk/u16-wordbreaks'.
45476         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45477         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45478
45479         Tests for module 'uniwbrk/u8-wordbreaks'.
45480         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45481         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45482
45483 2009-02-10  Bruno Haible  <bruno@clisp.org>
45484
45485         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45486         property.
45487         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45488         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45489         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45490
45491 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45492
45493         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45494         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45495
45496 2009-02-10  Bruno Haible  <bruno@clisp.org>
45497
45498         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45499         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45500         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45501         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45502         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45503         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45504
45505 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45506
45507         * lib/sockets.h (gl_fd_to_handle): New function.
45508
45509         * tests/test-sockets.c: Call gl_fd_to_handle.
45510
45511 2009-02-09  Bruno Haible  <bruno@clisp.org>
45512
45513         * doc/havelib.texi: Document the conventions on bi-arch systems.
45514
45515 2009-02-08  Bruno Haible  <bruno@clisp.org>
45516
45517         Document the AC_LIB_LINKFLAGS macro.
45518         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45519         * doc/gnulib.texi: Include it.
45520
45521 2009-02-08  Bruno Haible  <bruno@clisp.org>
45522
45523         Fix wrong order of sections, compared to TOC.
45524         * doc/gnulib.texi: Include relocatable-maint.texi after the
45525         "Regular expressions" node, not before.
45526
45527 2009-02-08  Bruno Haible  <bruno@clisp.org>
45528
45529         Tests for module 'unicase/totitle'.
45530         * modules/unicase/totitle-tests: New file.
45531
45532         Tests for module 'unicase/tolower'.
45533         * modules/unicase/tolower-tests: New file.
45534
45535         Tests for module 'unicase/toupper'.
45536         * modules/unicase/toupper-tests: New file.
45537         * tests/unicase/test-mapping-part1.h: New file.
45538         * tests/unicase/test-mapping-part2.h: New file.
45539
45540         New module 'unicase/totitle'.
45541         * modules/unicase/totitle: New file.
45542         * lib/unicase/totitle.c: New file.
45543
45544         New module 'unicase/tolower'.
45545         * modules/unicase/tolower: New file.
45546         * lib/unicase/tolower.c: New file.
45547
45548         New module 'unicase/toupper'.
45549         * modules/unicase/toupper: New file.
45550         * lib/unicase/toupper.c: New file.
45551         * lib/unicase/simple-mapping.h: New file.
45552
45553         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45554         (mapping_table): New structure.
45555         (output_simple_mapping): New function.
45556         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45557         * modules/gen-uni-tables (Description): Update.
45558         * lib/unicase/toupper.h: New file, automatically generated by
45559         gen-uni-tables.
45560         * lib/unicase/tolower.h: New file, automatically generated by
45561         gen-uni-tables.
45562         * lib/unicase/totitle.h: New file, automatically generated by
45563         gen-uni-tables.
45564         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45565         gen-uni-tables.
45566         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45567         gen-uni-tables.
45568         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45569         gen-uni-tables.
45570
45571         New module 'unicase/base'.
45572         * modules/unicase/base: New file.
45573         * lib/unicase.h: New file.
45574
45575 2009-02-08  Bruno Haible  <bruno@clisp.org>
45576
45577         New module 'uniwbrk/ulc-wordbreaks'.
45578         * modules/uniwbrk/ulc-wordbreaks: New file.
45579         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45580
45581         New module 'uniwbrk/u32-wordbreaks'.
45582         * modules/uniwbrk/u32-wordbreaks: New file.
45583         * lib/uniwbrk/u32-wordbreaks.c: New file.
45584
45585         New module 'uniwbrk/u16-wordbreaks'.
45586         * modules/uniwbrk/u16-wordbreaks: New file.
45587         * lib/uniwbrk/u16-wordbreaks.c: New file.
45588
45589         New module 'uniwbrk/u8-wordbreaks'.
45590         * modules/uniwbrk/u8-wordbreaks: New file.
45591         * lib/uniwbrk/u8-wordbreaks.c: New file.
45592         * lib/uniwbrk/u-wordbreaks.h: New file.
45593
45594         New module 'uniwbrk/table'.
45595         * modules/uniwbrk/table: New file.
45596         * lib/uniwbrk/wbrktable.h: New file.
45597         * lib/uniwbrk/wbrktable.c: New file.
45598
45599         New module 'uniwbrk/wordbreak-property'.
45600         * modules/uniwbrk/wordbreak-property: New file.
45601         * lib/uniwbrk/wordbreak-property.c: New file.
45602
45603         * lib/gen-uni-tables.c (WBP_*): New enum items.
45604         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45605         (unicode_org_wbp): New variable.
45606         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45607         New functions.
45608         (wbp_table): New structure.
45609         (output_wbp, output_wbrk_tables): New functions.
45610         (main): Accept additional argument. Invoke fill_org_wbp,
45611         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45612         output_wbrk_tables.
45613         * modules/gen-uni-tables (Description): Update.
45614         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45615         gen-uni-tables.
45616
45617         New module 'uniwbrk/base'.
45618         * modules/uniwbrk/base: New file.
45619         * lib/uniwbrk.h: New file.
45620
45621 2009-02-08  Bruno Haible  <bruno@clisp.org>
45622
45623         Update to Unicode 5.1.0.
45624         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45625         U+2185..U+2188.
45626         (is_property_default_ignorable_code_point): Don't include characters
45627         of category Cc or Cs and not-a-characters.
45628         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45629         U+0D79, U+109E, U+109F, U+A60C.
45630         * lib/unictype/bidi_of.h: Regenerated.
45631         * lib/unictype/blocks.h: Regenerated.
45632         * lib/unictype/categ_C.h: Regenerated.
45633         * lib/unictype/categ_Cf.h: Regenerated.
45634         * lib/unictype/categ_Cn.h: Regenerated.
45635         * lib/unictype/categ_L.h: Regenerated.
45636         * lib/unictype/categ_Ll.h: Regenerated.
45637         * lib/unictype/categ_Lm.h: Regenerated.
45638         * lib/unictype/categ_Lo.h: Regenerated.
45639         * lib/unictype/categ_Lu.h: Regenerated.
45640         * lib/unictype/categ_M.h: Regenerated.
45641         * lib/unictype/categ_Mc.h: Regenerated.
45642         * lib/unictype/categ_Me.h: Regenerated.
45643         * lib/unictype/categ_Mn.h: Regenerated.
45644         * lib/unictype/categ_N.h: Regenerated.
45645         * lib/unictype/categ_Nd.h: Regenerated.
45646         * lib/unictype/categ_Nl.h: Regenerated.
45647         * lib/unictype/categ_No.h: Regenerated.
45648         * lib/unictype/categ_P.h: Regenerated.
45649         * lib/unictype/categ_Pd.h: Regenerated.
45650         * lib/unictype/categ_Pe.h: Regenerated.
45651         * lib/unictype/categ_Pf.h: Regenerated.
45652         * lib/unictype/categ_Pi.h: Regenerated.
45653         * lib/unictype/categ_Po.h: Regenerated.
45654         * lib/unictype/categ_Ps.h: Regenerated.
45655         * lib/unictype/categ_S.h: Regenerated.
45656         * lib/unictype/categ_Sk.h: Regenerated.
45657         * lib/unictype/categ_Sm.h: Regenerated.
45658         * lib/unictype/categ_So.h: Regenerated.
45659         * lib/unictype/categ_of.h: Regenerated.
45660         * lib/unictype/combining.h: Regenerated.
45661         * lib/unictype/ctype_alnum.h: Regenerated.
45662         * lib/unictype/ctype_alpha.h: Regenerated.
45663         * lib/unictype/ctype_graph.h: Regenerated.
45664         * lib/unictype/ctype_lower.h: Regenerated.
45665         * lib/unictype/ctype_print.h: Regenerated.
45666         * lib/unictype/ctype_punct.h: Regenerated.
45667         * lib/unictype/ctype_upper.h: Regenerated.
45668         * lib/unictype/decdigit.h: Regenerated.
45669         * lib/unictype/digit.h: Regenerated.
45670         * lib/unictype/mirror.h: Regenerated.
45671         * lib/unictype/numeric.h: Regenerated.
45672         * lib/unictype/pr_alphabetic.h: Regenerated.
45673         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45674         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45675         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45676         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45677         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45678         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45679         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45680         * lib/unictype/pr_combining.h: Regenerated.
45681         * lib/unictype/pr_dash.h: Regenerated.
45682         * lib/unictype/pr_decimal_digit.h: Regenerated.
45683         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45684         * lib/unictype/pr_deprecated.h: Regenerated.
45685         * lib/unictype/pr_diacritic.h: Regenerated.
45686         * lib/unictype/pr_extender.h: Regenerated.
45687         * lib/unictype/pr_format_control.h: Regenerated.
45688         * lib/unictype/pr_grapheme_base.h: Regenerated.
45689         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45690         * lib/unictype/pr_grapheme_link.h: Regenerated.
45691         * lib/unictype/pr_id_continue.h: Regenerated.
45692         * lib/unictype/pr_id_start.h: Regenerated.
45693         * lib/unictype/pr_ideographic.h: Regenerated.
45694         * lib/unictype/pr_ignorable_control.h: Regenerated.
45695         * lib/unictype/pr_lowercase.h: Regenerated.
45696         * lib/unictype/pr_math.h: Regenerated.
45697         * lib/unictype/pr_numeric.h: Regenerated.
45698         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45699         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45700         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45701         * lib/unictype/pr_other_id_continue.h: Regenerated.
45702         * lib/unictype/pr_other_lowercase.h: Regenerated.
45703         * lib/unictype/pr_other_math.h: Regenerated.
45704         * lib/unictype/pr_punctuation.h: Regenerated.
45705         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45706         * lib/unictype/pr_soft_dotted.h: Regenerated.
45707         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45708         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45709         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45710         * lib/unictype/pr_uppercase.h: Regenerated.
45711         * lib/unictype/pr_xid_continue.h: Regenerated.
45712         * lib/unictype/pr_xid_start.h: Regenerated.
45713         * lib/unictype/pr_zero_width.h: Regenerated.
45714         * lib/unictype/scripts.h: Regenerated.
45715         * lib/unictype/scripts_byname.gperf: Regenerated.
45716         * lib/unictype/sy_java_ident.h: Regenerated.
45717         * lib/unilbrk/lbrkprop1.h: Regenerated.
45718         * lib/unilbrk/lbrkprop2.h: Regenerated.
45719         * tests/unictype/test-categ_C.c: Regenerated.
45720         * tests/unictype/test-categ_Cf.c: Regenerated.
45721         * tests/unictype/test-categ_Cn.c: Regenerated.
45722         * tests/unictype/test-categ_L.c: Regenerated.
45723         * tests/unictype/test-categ_Ll.c: Regenerated.
45724         * tests/unictype/test-categ_Lm.c: Regenerated.
45725         * tests/unictype/test-categ_Lo.c: Regenerated.
45726         * tests/unictype/test-categ_Lu.c: Regenerated.
45727         * tests/unictype/test-categ_M.c: Regenerated.
45728         * tests/unictype/test-categ_Mc.c: Regenerated.
45729         * tests/unictype/test-categ_Me.c: Regenerated.
45730         * tests/unictype/test-categ_Mn.c: Regenerated.
45731         * tests/unictype/test-categ_N.c: Regenerated.
45732         * tests/unictype/test-categ_Nd.c: Regenerated.
45733         * tests/unictype/test-categ_Nl.c: Regenerated.
45734         * tests/unictype/test-categ_No.c: Regenerated.
45735         * tests/unictype/test-categ_P.c: Regenerated.
45736         * tests/unictype/test-categ_Pd.c: Regenerated.
45737         * tests/unictype/test-categ_Pe.c: Regenerated.
45738         * tests/unictype/test-categ_Pf.c: Regenerated.
45739         * tests/unictype/test-categ_Pi.c: Regenerated.
45740         * tests/unictype/test-categ_Po.c: Regenerated.
45741         * tests/unictype/test-categ_Ps.c: Regenerated.
45742         * tests/unictype/test-categ_S.c: Regenerated.
45743         * tests/unictype/test-categ_Sk.c: Regenerated.
45744         * tests/unictype/test-categ_Sm.c: Regenerated.
45745         * tests/unictype/test-categ_So.c: Regenerated.
45746         * tests/unictype/test-ctype_alnum.c: Regenerated.
45747         * tests/unictype/test-ctype_alpha.c: Regenerated.
45748         * tests/unictype/test-ctype_graph.c: Regenerated.
45749         * tests/unictype/test-ctype_lower.c: Regenerated.
45750         * tests/unictype/test-ctype_print.c: Regenerated.
45751         * tests/unictype/test-ctype_punct.c: Regenerated.
45752         * tests/unictype/test-ctype_upper.c: Regenerated.
45753         * tests/unictype/test-decdigit.h: Regenerated.
45754         * tests/unictype/test-digit.h: Regenerated.
45755         * tests/unictype/test-numeric.h: Regenerated.
45756         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45757         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45758         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45759         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45760         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45761         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45762         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45763         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45764         * tests/unictype/test-pr_combining.c: Regenerated.
45765         * tests/unictype/test-pr_dash.c: Regenerated.
45766         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45767         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45768         * tests/unictype/test-pr_deprecated.c: Regenerated.
45769         * tests/unictype/test-pr_diacritic.c: Regenerated.
45770         * tests/unictype/test-pr_extender.c: Regenerated.
45771         * tests/unictype/test-pr_format_control.c: Regenerated.
45772         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45773         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45774         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45775         * tests/unictype/test-pr_id_continue.c: Regenerated.
45776         * tests/unictype/test-pr_id_start.c: Regenerated.
45777         * tests/unictype/test-pr_ideographic.c: Regenerated.
45778         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45779         * tests/unictype/test-pr_lowercase.c: Regenerated.
45780         * tests/unictype/test-pr_math.c: Regenerated.
45781         * tests/unictype/test-pr_numeric.c: Regenerated.
45782         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45783         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45784         Regenerated.
45785         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45786         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45787         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45788         * tests/unictype/test-pr_other_math.c: Regenerated.
45789         * tests/unictype/test-pr_punctuation.c: Regenerated.
45790         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45791         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45792         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45793         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45794         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45795         * tests/unictype/test-pr_uppercase.c: Regenerated.
45796         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45797         * tests/unictype/test-pr_xid_start.c: Regenerated.
45798         * tests/unictype/test-pr_zero_width.c: Regenerated.
45799
45800         Update to Unicode 5.1.0.
45801         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45802         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45803         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45804         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45805         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45806         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45807         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45808         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45809         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45810         (nonspacing_table_ind): Update.
45811         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45812
45813         Update to Unicode 5.1.0.
45814         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45815         code transform.
45816         * lib/uniname/uniname.c (unicode_character_name,
45817         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45818         * lib/uniname/uninames.h: Regenerated.
45819         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45820
45821 2009-02-07  Bruno Haible  <bruno@clisp.org>
45822
45823         Merge gen-ctype and gen-lbrk into a single program.
45824         * lib/gen-uni-tables.c: New file, incorporating
45825         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45826         Add directory prefixes to the names of the generated files.
45827         * lib/unictype/gen-ctype.c: Remove file.
45828         * lib/unilbrk/gen-lbrk.c: Remove file.
45829         * modules/gen-uni-tables: New file.
45830         * modules/unictype/gen-ctype: Remove file.
45831         * modules/unilbrk/gen-lbrk: Remove file.
45832
45833 2009-02-07  Bruno Haible  <bruno@clisp.org>
45834
45835         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45836
45837         New module 'unistr/u32-strcoll'.
45838         * modules/unistr/u32-strcoll: New file.
45839         * lib/unistr/u32-strcoll.c: New file.
45840
45841         New module 'unistr/u16-strcoll'.
45842         * modules/unistr/u16-strcoll: New file.
45843         * lib/unistr/u16-strcoll.c: New file.
45844
45845         New module 'unistr/u8-strcoll'.
45846         * modules/unistr/u8-strcoll: New file.
45847         * lib/unistr/u8-strcoll.c: New file.
45848         * lib/unistr/u-strcoll.h: New file.
45849
45850 2009-02-07  Bruno Haible  <bruno@clisp.org>
45851
45852         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45853         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45854         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45855         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45856         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45857         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45858
45859 2009-02-07  Bruno Haible  <bruno@clisp.org>
45860
45861         Make 64-bit clean.
45862         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45863         output_combclass, output_bidi_category, output_decimal_digit,
45864         output_digit, output_numeric, output_mirror, output_scripts,
45865         output_ident_category): Use proper width specifier in format strings.
45866
45867 2009-02-07  Bruno Haible  <bruno@clisp.org>
45868
45869         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45870         failure behaviour.
45871
45872 2009-02-07  Jim Meyering  <meyering@redhat.com>
45873
45874         regex: avoid compilation failure with upcoming gcc-4.4
45875         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45876         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45877         "... error: integer overflow in preprocessor expression".
45878
45879 2009-02-05  Ben Pfaff  <blp@gnu.org>
45880
45881         Fix link errors on Windows when close module is used.
45882         * modules/close: Add $(LIB_CLOSE) to Link section.
45883         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45884         $(LIB_CLOSE) on Windows.
45885
45886 2009-02-05  Jim Meyering  <meyering@redhat.com>
45887
45888         still avoid unused-parameter warnings, but do it cleanly
45889         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45890         (get_fs_usage): Cast to void instead.
45891         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45892         (dev_from_mount_options, read_file_system_list): Cast to void.
45893         Prompted by Bruno Haible.
45894
45895 2009-02-04  Jim Meyering  <meyering@redhat.com>
45896
45897         fsusage.c: correct copyright year
45898         * lib/fsusage.c: Reflect year in which the change is pushed into
45899
45900         avoid misc. warnings
45901         * lib/fsusage.c (UNUSED_PARAM): Define.
45902         (get_fs_usage): Mark parameter "disk" as unused.
45903         * lib/getugroups.c (getgrent): Use "void" in prototype.
45904         * lib/mountlist.c: Mark unused parameters.
45905         (read_file_system_list): Declare a local with "const".
45906         * lib/nanosleep.c (getnow): Declare static.
45907         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45908
45909         dirfd: set errno upon failure
45910         * lib/dirfd.c: Include <errno.h>.
45911         Set errno to ENOTSUP when returning -1.
45912         * modules/dirfd (Depends-on): Add errno.
45913         Suggested by John Kodis <kodis@comcast.net>.
45914
45915 2009-02-01  Bruno Haible  <bruno@clisp.org>
45916
45917         Don't assume sizeof (long) >= sizeof (void *).
45918         * lib/memcmp.c: Include stdint.h.
45919         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45920         srcp2 to 'const byte *'.
45921         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45922         types to uintptr_t.
45923         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45924         * modules/memcmp (Depends-on): Add stdint.
45925         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45926
45927 2009-01-30  Eric Blake  <ebb9@byu.net>
45928
45929         fix more require-before-expand issues
45930         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45931         expand, AC_PROG_AWK.
45932         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45933
45934 2009-01-28  Eric Blake  <ebb9@byu.net>
45935
45936         version-etc: use consistent URL formatting
45937         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45938         Improve formatting.  Use fputs for string without %.
45939
45940 2009-01-28  Jim Meyering  <meyering@redhat.com>
45941
45942         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45943         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45944         "underquoted definition of NAME" from autoconf-2.59.
45945
45946 2009-01-28  Bruno Haible  <bruno@clisp.org>
45947
45948         * doc/gnulib.texi: Add "Obsolete modules" to index.
45949
45950 2009-01-28  Jim Meyering  <meyering@redhat.com>
45951
45952         useless-if-before-free: recognize more variants
45953         * build-aux/useless-if-before-free: Also recognize e.g.,
45954         if (NULL != p) free (p);
45955
45956 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45957
45958         test-getaddrinfo: skip (don't fail) this test when there's no network
45959         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45960         on the presumption that it means you lack network access.
45961
45962 2009-01-26  Jim Meyering  <meyering@redhat.com>
45963
45964         fflush: avoid warnings on modern systems
45965         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45966         pos and result, into scopes where they're used.
45967
45968 2009-01-26  Eric Blake  <ebb9@byu.net>
45969
45970         Silence warning reintroduced by recent extensions patch.
45971         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45972         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45973         autoconf.
45974
45975         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45976         * m4/00gnulib.m4: New file.
45977         * gnulib-tool (func_get_filelist): Always use it.
45978         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45979         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45980
45981 2009-01-25  Bruno Haible  <bruno@clisp.org>
45982
45983         Make test-quotearg work on MacOS X and AIX.
45984         * tests/test-quotearg.sh: New file.
45985         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45986         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45987         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45988         include <libintl.h>.
45989         (fake_locale): Remove variable.
45990         (gettext, dgettext, dcgettext): Remove functions.
45991         (main): Instead of setting a fake locale, set a real locale. Call
45992         textdomain and bindtextdomain.
45993         * modules/quotearg-tests (Files): Add the new files.
45994         (Depends-on): Add gettext, setenv, unsetenv.
45995         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45996         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45997         Augment TESTS_ENVIRONMENT.
45998
45999 2009-01-25  Bruno Haible  <bruno@clisp.org>
46000
46001         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46002         fr_FR.ISO8859-1 locale on MacOS X.
46003         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46004         ja_JP.eucJP locale on MacOS X.
46005         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46006         zh_CN.GB18030 locale on MacOS X.
46007
46008 2009-01-25  Bruno Haible  <bruno@clisp.org>
46009
46010         Avoid link errors on MacOS X 10.3.
46011         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46012         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46013
46014 2009-01-25  Bruno Haible  <bruno@clisp.org>
46015
46016         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46017         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46018         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46019         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46020         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46021         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46022         posix_spawnattr_init, posix_spawnattr_setsigmask,
46023         posix_spawnattr_setflags, posix_spawnattr_destroy.
46024
46025         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46026         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46027         * modules/execute (Files): Remove m4/posix_spawn.m4.
46028         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46029         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46030         posix_spawnattr_init, posix_spawnattr_setsigmask,
46031         posix_spawnattr_setflags, posix_spawnattr_destroy.
46032
46033 2009-01-25  Bruno Haible  <bruno@clisp.org>
46034
46035         * lib/glthread/threadlib.c: Include <stdlib.h>.
46036
46037 2009-01-25  Bruno Haible  <bruno@clisp.org>
46038
46039         * lib/glthread/threadlib.c (dummy): New declaration.
46040
46041 2009-01-25  Bruno Haible  <bruno@clisp.org>
46042
46043         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46044         multibyte characters also for the GB18030 encoding. Don't crash when
46045         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46046
46047 2009-01-25  Bruno Haible  <bruno@clisp.org>
46048
46049         Avoid redefining 'struct random_data' on OSF/1 5.1.
46050         * lib/stdlib.in.h: Include <random.h> if it exists.
46051         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46052         HAVE_RANDOM_H. Include <random.h> when testing whether
46053         'struct random_data' exists.
46054         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46055
46056 2009-01-25  Bruno Haible  <bruno@clisp.org>
46057
46058         Don't install charset.alias on MacOS X >= 10.3.
46059         * lib/localcharset.c (DARWIN7): New macro.
46060         (get_charset_aliases): Hardcode the result for Darwin7.
46061         * modules/localcharset (install-exec-local): Don't install
46062         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46063
46064 2009-01-25  Bruno Haible  <bruno@clisp.org>
46065
46066         Don't install charset.alias on mingw and Cygwin.
46067         * modules/localcharset (install-exec-local): Don't install
46068         charset.alias on mingw and Cygwin, if the file does not yet exist.
46069         The result for these platforms is hardcoded in localcharset.c.
46070
46071 2009-01-25  Bruno Haible  <bruno@clisp.org>
46072
46073         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46074         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46075         before requiring AC_USE_SYSTEM_EXTENSIONS.
46076
46077 2009-01-25  Jim Meyering  <meyering@redhat.com>
46078
46079         c-strtod: avoid warnings
46080         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46081         "assignment discards qualifiers from pointer target type" warnings.
46082
46083 2009-01-24  Bruno Haible  <bruno@clisp.org>
46084
46085         Add support for non-UTF-8 locales on MacOS X.
46086         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46087         canonical encodings. For Darwin 7 and newer, don't map traditional
46088         encodings to UTF-8.
46089         Reported by Vincent Lefevre <vincent@vinc17.org>
46090         at <http://savannah.gnu.org/bugs/?25235>.
46091
46092 2009-01-24  Bruno Haible  <bruno@clisp.org>
46093
46094         * doc/gnulib.texi (Obsolete modules): New section.
46095         Reported by Mike Frysinger <vapier@gentoo.org>.
46096
46097 2009-01-24  Bruno Haible  <bruno@clisp.org>
46098
46099         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46100         (%.dvi): New rule.
46101
46102 2009-01-24  Bruno Haible  <bruno@clisp.org>
46103
46104         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46105         Reported by Eric Blake.
46106
46107 2009-01-24  Bruno Haible  <bruno@clisp.org>
46108
46109         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46110         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46111         Reported by Gary V. Vaughan <gary@gnu.org>.
46112
46113 2009-01-24  Bruno Haible  <bruno@clisp.org>
46114
46115         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46116
46117 2009-01-23  Bruno Haible  <bruno@clisp.org>
46118
46119         Make c-strtod, c-strtold usable in libraries.
46120         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46121         (C_STRTOD): Call strdup instead of xstrdup.
46122         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46123         * modules/c-strtold (Depends-on): Likewise.
46124         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46125         * NEWS: Mention the change.
46126         Reported by Michael Gold <mgold@ncf.ca>.
46127
46128 2009-01-23  Jim Meyering  <meyering@redhat.com>
46129
46130         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46131         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46132         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46133
46134 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46135
46136         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46137         GNU CoreUtils.
46138         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46139         * modules/version-etc (Description): Update.
46140
46141 2009-01-22  Bruno Haible  <bruno@clisp.org>
46142
46143         Cache the C locale object.
46144         * lib/c-strtod.c (c_locale_cache): New variable.
46145         (c_locale): New function.
46146         (C_STRTOD): Use it, and don't call freelocale.
46147         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46148         Suggested by Paolo Bonzini.
46149
46150 2009-01-21  Bruno Haible  <bruno@clisp.org>
46151
46152         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46153         conditions other than overflow.
46154
46155 2009-01-21  Bruno Haible  <bruno@clisp.org>
46156
46157         * lib/c-strtod.c: Include errno.h.
46158         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46159         value from STRTOD_L and STRTOD.
46160
46161 2009-01-21  Bruno Haible  <bruno@clisp.org>
46162         and Jim Meyering  <meyering@redhat.com>
46163
46164         nanosleep: skip configure test (fail it) for apple universal builds
46165         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46166         universal builds, assume that nanosleep does not work.
46167         * modules/nanosleep (Depends-on): Add multiarch.
46168
46169         mktime: skip configure test (fail it) for apple universal builds
46170         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46171         universal builds, assume that mktime does not work.
46172         * modules/mktime (Depends-on): Add multiarch.
46173
46174 2009-01-21  Eric Blake  <ebb9@byu.net>
46175
46176         multiarch: avoid expand-before-require warning
46177         * modules/multiarch (configure.ac): Require, rather than expand,
46178         gl_MULTIARCH.
46179         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46180         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46181         enforce that all clients require it.  Partial reversion of
46182         2008-12-29 patch.
46183
46184         error: avoid expand-before-require warning
46185         * modules/errno (configure.ac): Require, rather than expand,
46186         gl_HEADER_ERRNO_H.
46187         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46188         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46189         enforce that all clients require it.
46190
46191         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46192         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46193         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46194         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46195
46196 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46197
46198         Revert:
46199         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46200
46201         regex: do not depend on obsolete modules.
46202         * modules/regex: Remove memcmp and memmove.
46203
46204 2009-01-20  Bruno Haible  <bruno@clisp.org>
46205
46206         Make the 'link' module link on Windows NT 4.
46207         * lib/link.c (_WIN32_WINNT): Don't define.
46208         (CreateHardLinkFuncType): New type.
46209         (CreateHardLinkFunc, initialized): New variables.
46210         (initialize): New function.
46211         (link): Invoke CreateHardLink indirectly through the function pointer.
46212
46213 2009-01-20  Bruno Haible  <bruno@clisp.org>
46214
46215         Fix compilation failure on mingw.
46216         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46217
46218 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46219
46220         * doc/c-strtod.texi: Mention a couple of restrictions.
46221
46222 2009-01-20  Jim Meyering  <meyering@redhat.com>
46223
46224         gettimeofday: move more declarations out of functions
46225         * lib/gettimeofday.c: Move extern declarations of tzset and
46226         gmtime out of containing functions.  Prompted by Bruno Haible.
46227
46228 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46229
46230         regex: do not depend on obsolete modules.
46231         * modules/regex: Remove memcmp and memmove.
46232
46233 2009-01-19  Bruno Haible  <bruno@clisp.org>
46234
46235         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46236         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46237         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46238         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46239         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46240
46241 2009-01-19  Bruno Haible  <bruno@clisp.org>
46242
46243         * tests/test-link.c: Include <errno.h>.
46244         (main): Exit with code 77 when a hard link cannot be created due to
46245         the file system.
46246         * tests/test-link.sh: Skip test when a hard link cannot be created due
46247         to the file system.
46248         Suggested by Eric Blake.
46249
46250 2009-01-19  Martin Lambers  <marlam@marlam.de>
46251
46252         * modules/link-tests: New file.
46253         * tests/test-link.sh: New file.
46254         * tests/test-link.c: New file.
46255
46256 2009-01-19  Eric Blake  <ebb9@byu.net>
46257
46258         doc: mention another function added in cygwin 1.7.0
46259         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46260         Another new function in cygwin 1.7.
46261
46262 2009-01-19  Bruno Haible  <bruno@clisp.org>
46263
46264         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46265         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46266         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46267         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46268         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46269         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46270         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46271         * m4/md4.m4 (gl_MD4): Likewise.
46272         * m4/md5.m4 (gl_MD5): Likewise.
46273         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46274         * m4/sha1.m4 (gl_SHA1): Likewise.
46275         * m4/sha256.m4 (gl_SHA256): Likewise.
46276         * m4/sha512.m4 (gl_SHA512): Likewise.
46277
46278 2009-01-19  Bruno Haible  <bruno@clisp.org>
46279
46280         * modules/uniname/uniname-tests (Depends-on): Add progname.
46281         * tests/uniname/test-uninames.c: Include progname.h.
46282         (main): Call set_program_name.
46283
46284         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46285         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46286         (main): Call set_program_name.
46287
46288         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46289         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46290         (main): Call set_program_name.
46291
46292         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46293         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46294         (main): Call set_program_name.
46295
46296         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46297         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46298         (main): Call set_program_name.
46299
46300         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46301         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46302         (main): Call set_program_name.
46303
46304         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46305         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46306         (main): Call set_program_name.
46307
46308         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46309         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46310         (main): Call set_program_name.
46311
46312         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46313         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46314         (main): Call set_program_name.
46315
46316 2009-01-19  Eric Blake  <ebb9@byu.net>
46317
46318         test-unistd: test previous patch
46319         * tests/test-unistd.c: Test *_FILENO macros.
46320
46321         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46322         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46323         Guarantee a definition.
46324         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46325         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46326         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46327         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46328         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46329         Likewise.
46330         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46331         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46332         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46333         Likewise.
46334         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46335         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46336         (STDERR_FILENO): Likewise.
46337         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46338         (STDERR_FILENO): Likewise.
46339         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46340         (STDERR_FILENO): Likewise.
46341         Reported by Elbert Pol.
46342
46343 2009-01-19  Eric Blake  <ebb9@byu.net>
46344
46345         doc: mention more functions added in cygwin 1.7.0
46346         * doc/posix-functions/abort.texi (abort): Update wording related
46347         to cygwin.
46348         * doc/posix-functions/daylight.texi (daylight): Likewise.
46349         * doc/posix-functions/optarg.texi (optarg): Likewise.
46350         * doc/posix-functions/optarg.texi (opterr): Likewise.
46351         * doc/posix-functions/optarg.texi (optind): Likewise.
46352         * doc/posix-functions/optarg.texi (optopt): Likewise.
46353         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46354         worked in 1.5.x, and was withdrawn in 1.7.
46355         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46356         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46357         cygwin versions.
46358         * doc/posix-functions/perror.texi (perror): Likewise.
46359         * doc/posix-functions/printf.texi (printf): Likewise.
46360         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46361         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46362         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46363         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46364         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46365         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46366         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46367         Likewise.
46368         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46369         Likewise.
46370         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46371         this function.
46372         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46373         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46374         Likewise.
46375         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46376         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46377         * doc/posix-functions/confstr.texi (confstr): Likewise.
46378         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46379         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46380         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46381         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46382         * doc/posix-functions/fputws.texi (fputws): Likewise.
46383         * doc/posix-functions/fwide.texi (fwide): Likewise.
46384         * doc/posix-functions/getwc.texi (getwc): Likewise.
46385         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46386         * doc/posix-functions/putwc.texi (putwc): Likewise.
46387         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46388         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46389         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46390         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46391         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46392         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46393         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46394         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46395         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46396         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46397         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46398
46399 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46400
46401         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46402         * lib/ioctl.c: Include <sys/ioctl.h>.
46403
46404 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46405
46406         * modules/getdate-tests (Depends-on): Add progname.
46407         * tests/test-getdate.c: Use progname module, to avoid link errors
46408         on non-glibc systems.
46409
46410 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46411
46412         * modules/filenamecat-tests (Depends-on): Add progname.
46413         * modules/fstrcmp-tests (Depends-on): Likewise.
46414
46415         * tests/test-filenamecat.c: Use progname module, to avoid link
46416         errors on non-glibc systems.
46417         * tests/test-fstrcmp.c: Likewise.
46418
46419 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46420
46421         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46422         * lib/gettimeofday.c: Move extern declaration out of function.
46423
46424 2009-01-18  Bruno Haible  <bruno@clisp.org>
46425
46426         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46427         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46428         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46429
46430 2009-01-18  Bruno Haible  <bruno@clisp.org>
46431
46432         * lib/strftime.c (MEMPCPY): Remove unused macro.
46433         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46434
46435 2009-01-18  Martin Lambers  <marlam@marlam.de>
46436
46437         New module 'link'.
46438         * lib/unistd.in.h (link): New declaration.
46439         * lib/link.c: New file.
46440         * m4/link.m4: New file.
46441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46442         HAVE_LINK.
46443         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46444         * modules/link: New file.
46445         * doc/posix-functions/link.texi: Mention the new module.
46446
46447 2009-01-18  Bruno Haible  <bruno@clisp.org>
46448
46449         * tests/test-avltree_list.c (main): Call set_program_name.
46450         * tests/test-avltree_oset.c (main): Likewise.
46451         * tests/test-obstack-printf.c: Include progname.h.
46452         (main): Call set_program_name.
46453         * tests/test-quotearg.c: Include progname.h.
46454         (main): Call set_program_name.
46455         * tests/test-xmemdup0.c: Include progname.h.
46456         (main): Call set_program_name.
46457
46458 2009-01-18  Bruno Haible  <bruno@clisp.org>
46459
46460         New module 'alphasort'.
46461         * lib/dirent.in.h (alphasort): New declaration.
46462         * lib/alphasort.c: New file, from glibc with modifications.
46463         * m4/alphasort.m4: New file.
46464         * modules/alphasort: New file.
46465         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46466         HAVE_ALPHASORT.
46467         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46468         HAVE_ALPHASORT.
46469         * doc/posix-functions/alphasort.texi: Mention the new module and the
46470         portability problems.
46471
46472 2009-01-18  Bruno Haible  <bruno@clisp.org>
46473
46474         New module 'scandir'.
46475         * lib/dirent.in.h (scandir): New declaration.
46476         * lib/scandir.c: New file, from glibc with modifications.
46477         * m4/scandir.m4: New file.
46478         * modules/scandir: New file.
46479         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46480         HAVE_SCANDIR.
46481         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46482         HAVE_SCANDIR.
46483         * doc/posix-functions/scandir.texi: Mention the new module and the
46484         portability problems.
46485
46486 2009-01-17  Bruno Haible  <bruno@clisp.org>
46487
46488         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46489         Update documentation.
46490         (func_remove_suffix): Escape all dots in the suffix. Update
46491         documentation.
46492         (func_filter_filelist): Update documentation.
46493         Reported by Ralf Wildenhues.
46494
46495 2009-01-17  Bruno Haible  <bruno@clisp.org>
46496
46497         * modules/dprintf-posix-tests: New file.
46498         * tests/test-dprintf-posix.sh: New file.
46499         * tests/test-dprintf-posix.c: New file.
46500
46501         New modules 'dprintf', 'dprintf-posix'.
46502         * lib/stdio.in.h (dprintf): New declaration.
46503         * lib/dprintf.c: New file.
46504         * m4/dprintf.m4: New file.
46505         * m4/dprintf-posix.m4: New file.
46506         * modules/dprintf: New file.
46507         * modules/dprintf-posix: New file.
46508         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46509         HAVE_DPRINTF, REPLACE_DPRINTF.
46510         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46511         HAVE_DPRINTF, REPLACE_DPRINTF.
46512         * doc/posix-functions/dprintf.texi: Mention the new modules.
46513
46514 2009-01-17  Bruno Haible  <bruno@clisp.org>
46515
46516         * modules/vdprintf-posix-tests: New file.
46517         * tests/test-vdprintf-posix.sh: New file.
46518         * tests/test-vdprintf-posix.c: New file.
46519
46520         New modules 'vdprintf', 'vdprintf-posix'.
46521         * lib/stdio.in.h (vdprintf): New declaration.
46522         * lib/vdprintf.c: New file.
46523         * m4/vdprintf.m4: New file.
46524         * m4/vdprintf-posix.m4: New file.
46525         * modules/vdprintf: New file.
46526         * modules/vdprintf-posix: New file.
46527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46528         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46529         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46530         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46531         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46532
46533 2009-01-17  Bruno Haible  <bruno@clisp.org>
46534
46535         Fix replacement of fopen on mingw.
46536         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46537         mingw.
46538
46539 2009-01-17  Bruno Haible  <bruno@clisp.org>
46540
46541         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46542         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46543
46544 2009-01-17  Bruno Haible  <bruno@clisp.org>
46545
46546         Avoid test-fflush2.sh failure on mingw.
46547         * tests/test-fflush2.c: Include binary-io.h.
46548         (main): Put standard input into binary mode.
46549         * modules/fflush-tests (Depends-on): Add binary-io.
46550
46551 2009-01-17  Bruno Haible  <bruno@clisp.org>
46552
46553         * lib/wchar.in.h: In another particular situation, include only the
46554         system's <wchar.h> file.
46555         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46556         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46557         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46558
46559 2009-01-17  Bruno Haible  <bruno@clisp.org>
46560
46561         Support for stripping executables in --enable-relocatable.
46562         * build-aux/install-reloc: Expect one more argument, or an environment
46563         variable RELOC_STRIP_PROG. If set, strip the destination program and
46564         its wrapper.
46565         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46566         RELOC_STRIP_PROG.
46567         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46568         to set RELOCATABLE_STRIP.
46569         * NEWS: Mention the new Makefile requirement.
46570
46571 2009-01-17  Bruno Haible  <bruno@clisp.org>
46572
46573         * build-aux/install-reloc: Remove debugging information left over by
46574         C compiler on MacOS X.
46575
46576 2009-01-17  Bruno Haible  <bruno@clisp.org>
46577
46578         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46579         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46580         _NSGetExecutablePath.
46581
46582 2009-01-16  Jim Meyering  <meyering@redhat.com>
46583
46584         strerror: avoid warnings about discarding "const"
46585         * lib/strerror.c (rpl_strerror): Instead of returning a const
46586         string from each and every "case", use a variable, and add a single
46587         cast after the switch.
46588
46589 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46590
46591         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46592
46593 2009-01-16  Bruno Haible  <bruno@clisp.org>
46594
46595         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46596         array initializer syntax that also works in C++ mode.
46597         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46598
46599 2009-01-16  Jim Meyering  <meyering@redhat.com>
46600
46601         poll: suppress a warning
46602         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46603         to ignore "...unsigned expression < 0 is always false" warnings.
46604
46605 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46606
46607         poll: remove declarations of unused variables
46608         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46609         sockbuf and optlen.
46610
46611 2009-01-15  Bruno Haible  <bruno@clisp.org>
46612
46613         Make fflush-after-ungetc POSIX compliant on BSD systems.
46614         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46615         (clear_ungetc_buffer): Implement also for other systems.
46616         (rpl_fflush): On glibc systems, invoke
46617         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46618         clear_ungetc_buffer after fetching the stream's position, not before.
46619
46620 2009-01-15  Bruno Haible  <bruno@clisp.org>
46621
46622         Make fflush-after-ungetc POSIX compliant on glibc systems.
46623         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46624         after ungetc.
46625         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46626         (rpl_fflush): On glibc systems, simply call the system's fflush
46627         function after clearing the ungetc buffer.
46628         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46629         Instead, lseek only to the end of file, then use the system's fseeko
46630         for the rest. On glibc systems, reset the EOF indicator bit.
46631
46632 2009-01-15  Jim Meyering  <meyering@redhat.com>
46633
46634         openmp.m4: revert quote-adding change, for portability to older autoconf
46635         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46636         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46637         Simon Josefsson noticed the problem when using autoconf-2.61.
46638
46639 2009-01-15  Bruno Haible  <bruno@clisp.org>
46640
46641         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46642         * tests/test-fflush2.c (ASSERT): Always fail.
46643         (main): Add two tests for fflush() after ungetc(), taking into account
46644         the Austin Group's clarification.
46645         Suggested by Eric Blake.
46646
46647 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46648
46649         mktime.m4: remove K&R-style function prototypes
46650         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46651         for the Sun C++ compiler.
46652
46653 2009-01-14  Bruno Haible  <bruno@clisp.org>
46654
46655         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46656         while including <wchar.h>.
46657         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46658         the system's <wchar.h> file.
46659         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46660
46661 2009-01-14  Bruno Haible  <bruno@clisp.org>
46662
46663         * m4/csharp.m4: Don't mention gettext on the serial number line.
46664         * m4/csharpexec.m4: Likewise.
46665         * m4/eaccess.m4: Likewise.
46666         * m4/javaexec.m4: Likewise.
46667         * m4/sig_atomic_t.m4: Likewise.
46668         * m4/tmpdir.m4: Likewise.
46669         * m4/intldir.m4: Bump gettext version.
46670         * m4/lib-ld.m4: Likewise.
46671
46672 2009-01-14  Bruno Haible  <bruno@clisp.org>
46673
46674         * lib/progname.c (set_program_name): Add more comments.
46675         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46676
46677 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46678
46679         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46680         were sys/stat.h does not define it.
46681
46682 2009-01-14  Jim Meyering  <meyering@redhat.com>
46683
46684         many *.m4 files: improve m4 quoting
46685         99% of this change was performed by running the following commands:
46686         git ls-files | grep '\.m4$' | xargs perl -pi \
46687           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46688           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46689           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46690           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46691         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46692         The remainder were to add Copyright dates, increment serial numbers,
46693         undo some changes in comments, exclude m4/intl.m4, and add quotes
46694         around the "1" in ",1" where the unusual spacing prohibited the
46695         above regexps from doing the job.  For more details, see
46696         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46697         * m4/acl.m4: Modified.
46698         * m4/afs.m4: Likewise.
46699         * m4/alloca.m4: Likewise.
46700         * m4/argp.m4: Likewise.
46701         * m4/argz.m4: Likewise.
46702         * m4/atexit.m4: Likewise.
46703         * m4/bison-i18n.m4: Likewise.
46704         * m4/bison.m4: Likewise.
46705         * m4/byteswap.m4: Likewise.
46706         * m4/c-stack.m4: Likewise.
46707         * m4/c-strtod.m4: Likewise.
46708         * m4/calloc.m4: Likewise.
46709         * m4/canonicalize-lgpl.m4: Likewise.
46710         * m4/chown.m4: Likewise.
46711         * m4/clock_time.m4: Likewise.
46712         * m4/codeset.m4: Likewise.
46713         * m4/copy-file.m4: Likewise.
46714         * m4/csharp.m4: Likewise.
46715         * m4/csharpcomp.m4: Likewise.
46716         * m4/csharpexec.m4: Likewise.
46717         * m4/d-ino.m4: Likewise.
46718         * m4/d-type.m4: Likewise.
46719         * m4/dirfd.m4: Likewise.
46720         * m4/double-slash-root.m4: Likewise.
46721         * m4/eaccess.m4: Likewise.
46722         * m4/eealloc.m4: Likewise.
46723         * m4/environ.m4: Likewise.
46724         * m4/errno_h.m4: Likewise.
46725         * m4/euidaccess.m4: Likewise.
46726         * m4/execute.m4: Likewise.
46727         * m4/fatal-signal.m4: Likewise.
46728         * m4/fchdir.m4: Likewise.
46729         * m4/fcntl_h.m4: Likewise.
46730         * m4/fileblocks.m4: Likewise.
46731         * m4/filenamecat.m4: Likewise.
46732         * m4/findprog.m4: Likewise.
46733         * m4/flexmember.m4: Likewise.
46734         * m4/fnmatch.m4: Likewise.
46735         * m4/fopen.m4: Likewise.
46736         * m4/fpending.m4: Likewise.
46737         * m4/fprintf-posix.m4: Likewise.
46738         * m4/free.m4: Likewise.
46739         * m4/frexp.m4: Likewise.
46740         * m4/frexpl.m4: Likewise.
46741         * m4/fsusage.m4: Likewise.
46742         * m4/ftruncate.m4: Likewise.
46743         * m4/gc-camellia.m4: Likewise.
46744         * m4/gc-random.m4: Likewise.
46745         * m4/gc.m4: Likewise.
46746         * m4/getaddrinfo.m4: Likewise.
46747         * m4/getcwd-abort-bug.m4: Likewise.
46748         * m4/getcwd-path-max.m4: Likewise.
46749         * m4/getdate.m4: Likewise.
46750         * m4/getdomainname.m4: Likewise.
46751         * m4/getgroups.m4: Likewise.
46752         * m4/gethostname.m4: Likewise.
46753         * m4/gethrxtime.m4: Likewise.
46754         * m4/getline.m4: Likewise.
46755         * m4/getloadavg.m4: Likewise.
46756         * m4/getndelim2.m4: Likewise.
46757         * m4/getpass.m4: Likewise.
46758         * m4/gettext.m4: Likewise.
46759         * m4/gettime.m4: Likewise.
46760         * m4/gettimeofday.m4: Likewise.
46761         * m4/gnulib-common.m4: Likewise.
46762         * m4/group-member.m4: Likewise.
46763         * m4/host-os.m4: Likewise.
46764         * m4/iconv.m4: Likewise.
46765         * m4/iconv_open.m4: Likewise.
46766         * m4/inet_ntop.m4: Likewise.
46767         * m4/inet_pton.m4: Likewise.
46768         * m4/inline.m4: Likewise.
46769         * m4/intldir.m4: Likewise.
46770         * m4/intlmacosx.m4: Likewise.
46771         * m4/intmax.m4: Likewise.
46772         * m4/intmax_t.m4: Likewise.
46773         * m4/inttypes.m4: Likewise.
46774         * m4/inttypes_h.m4: Likewise.
46775         * m4/inttypes-pri.m4: Likewise.
46776         * m4/isapipe.m4: Likewise.
46777         * m4/isnand.m4: Likewise.
46778         * m4/isnanf.m4: Likewise.
46779         * m4/isnanl.m4: Likewise.
46780         * m4/javacomp.m4: Likewise.
46781         * m4/javaexec.m4: Likewise.
46782         * m4/jm-winsz1.m4: Likewise.
46783         * m4/jm-winsz2.m4: Likewise.
46784         * m4/lchown.m4: Likewise.
46785         * m4/lcmessage.m4: Likewise.
46786         * m4/ldexpl.m4: Likewise.
46787         * m4/lib-ld.m4: Likewise.
46788         * m4/lib-link.m4: Likewise.
46789         * m4/libsigsegv.m4: Likewise.
46790         * m4/link-follow.m4: Likewise.
46791         * m4/localcharset.m4: Likewise.
46792         * m4/locale-fr.m4: Likewise.
46793         * m4/locale-ja.m4: Likewise.
46794         * m4/locale-tr.m4: Likewise.
46795         * m4/locale-zh.m4: Likewise.
46796         * m4/lock.m4: Likewise.
46797         * m4/longlong.m4: Likewise.
46798         * m4/ls-mntd-fs.m4: Likewise.
46799         * m4/lstat.m4: Likewise.
46800         * m4/malloc.m4: Likewise.
46801         * m4/mathl.m4: Likewise.
46802         * m4/mbrtowc.m4: Likewise.
46803         * m4/mbstate_t.m4: Likewise.
46804         * m4/mbswidth.m4: Likewise.
46805         * m4/memchr.m4: Likewise.
46806         * m4/memcmp.m4: Likewise.
46807         * m4/memcpy.m4: Likewise.
46808         * m4/memmem.m4: Likewise.
46809         * m4/memmove.m4: Likewise.
46810         * m4/mempcpy.m4: Likewise.
46811         * m4/memrchr.m4: Likewise.
46812         * m4/memset.m4: Likewise.
46813         * m4/minmax.m4: Likewise.
46814         * m4/mkdir-slash.m4: Likewise.
46815         * m4/mkdtemp.m4: Likewise.
46816         * m4/mktime.m4: Likewise.
46817         * m4/mmap-anon.m4: Likewise.
46818         * m4/mountlist.m4: Likewise.
46819         * m4/nanosleep.m4: Likewise.
46820         * m4/nls.m4: Likewise.
46821         * m4/nocrash.m4: Likewise.
46822         * m4/open.m4: Likewise.
46823         * m4/openat.m4: Likewise.
46824         * m4/openmp.m4: Likewise.
46825         * m4/pathmax.m4: Likewise.
46826         * m4/perl.m4: Likewise.
46827         * m4/physmem.m4: Likewise.
46828         * m4/pipe.m4: Likewise.
46829         * m4/po.m4: Likewise.
46830         * m4/poll.m4: Likewise.
46831         * m4/posixtm.m4: Likewise.
46832         * m4/posixver.m4: Likewise.
46833         * m4/printf-frexp.m4: Likewise.
46834         * m4/printf-frexpl.m4: Likewise.
46835         * m4/printf-posix.m4: Likewise.
46836         * m4/printf-posix-rpl.m4: Likewise.
46837         * m4/printf.m4: Likewise.
46838         * m4/progtest.m4: Likewise.
46839         * m4/putenv.m4: Likewise.
46840         * m4/readline.m4: Likewise.
46841         * m4/readlink.m4: Likewise.
46842         * m4/readutmp.m4: Likewise.
46843         * m4/realloc.m4: Likewise.
46844         * m4/regex.m4: Likewise.
46845         * m4/relocatable.m4: Likewise.
46846         * m4/relocatable-lib.m4: Likewise.
46847         * m4/rename-dest-slash.m4: Likewise.
46848         * m4/rename.m4: Likewise.
46849         * m4/rmdir-errno.m4: Likewise.
46850         * m4/rmdir.m4: Likewise.
46851         * m4/roundf.m4: Likewise.
46852         * m4/roundl.m4: Likewise.
46853         * m4/rpmatch.m4: Likewise.
46854         * m4/save-cwd.m4: Likewise.
46855         * m4/selinux-selinux-h.m4: Likewise.
46856         * m4/setenv.m4: Likewise.
46857         * m4/settime.m4: Likewise.
46858         * m4/sig2str.m4: Likewise.
46859         * m4/sig_atomic_t.m4: Likewise.
46860         * m4/signalblocking.m4: Likewise.
46861         * m4/signbit.m4: Likewise.
46862         * m4/sigpipe.m4: Likewise.
46863         * m4/sockets.m4: Likewise.
46864         * m4/sockpfaf.m4: Likewise.
46865         * m4/st_dm_mode.m4: Likewise.
46866         * m4/stat-time.m4: Likewise.
46867         * m4/stdbool.m4: Likewise.
46868         * m4/stdint.m4: Likewise.
46869         * m4/stdint_h.m4: Likewise.
46870         * m4/stpcpy.m4: Likewise.
46871         * m4/stpncpy.m4: Likewise.
46872         * m4/strcase.m4: Likewise.
46873         * m4/strchrnul.m4: Likewise.
46874         * m4/strcspn.m4: Likewise.
46875         * m4/strdup.m4: Likewise.
46876         * m4/strftime.m4: Likewise.
46877         * m4/strndup.m4: Likewise.
46878         * m4/strnlen.m4: Likewise.
46879         * m4/strpbrk.m4: Likewise.
46880         * m4/strptime.m4: Likewise.
46881         * m4/strsep.m4: Likewise.
46882         * m4/strtod.m4: Likewise.
46883         * m4/strtoimax.m4: Likewise.
46884         * m4/strtok_r.m4: Likewise.
46885         * m4/strtol.m4: Likewise.
46886         * m4/strtoll.m4: Likewise.
46887         * m4/strtoul.m4: Likewise.
46888         * m4/strtoull.m4: Likewise.
46889         * m4/strtoumax.m4: Likewise.
46890         * m4/strverscmp.m4: Likewise.
46891         * m4/threadlib.m4: Likewise.
46892         * m4/timegm.m4: Likewise.
46893         * m4/tm_gmtoff.m4: Likewise.
46894         * m4/tmpdir.m4: Likewise.
46895         * m4/tmpfile.m4: Likewise.
46896         * m4/tzset.m4: Likewise.
46897         * m4/uintmax_t.m4: Likewise.
46898         * m4/unlinkdir.m4: Likewise.
46899         * m4/unlocked-io.m4: Likewise.
46900         * m4/uptime.m4: Likewise.
46901         * m4/userspec.m4: Likewise.
46902         * m4/utimbuf.m4: Likewise.
46903         * m4/utime.m4: Likewise.
46904         * m4/utimes-null.m4: Likewise.
46905         * m4/utimes.m4: Likewise.
46906         * m4/vararrays.m4: Likewise.
46907         * m4/vasnprintf.m4: Likewise.
46908         * m4/vfprintf-posix.m4: Likewise.
46909         * m4/vprintf-posix.m4: Likewise.
46910         * m4/wait-process.m4: Likewise.
46911         * m4/wchar_t.m4: Likewise.
46912         * m4/wint_t.m4: Likewise.
46913         * m4/write-any-file.m4: Likewise.
46914         * m4/yield.m4: Likewise.
46915
46916 2009-01-13  Bruno Haible  <bruno@clisp.org>
46917
46918         Avoid test-copy-file.sh failures when ACL support insufficient.
46919         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46920         TESTS_ENVIRONMENT.
46921         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46922         Reported by Jim Meyering.
46923
46924 2009-01-13  Bruno Haible  <bruno@clisp.org>
46925
46926         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46927         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46928         * modules/unistdio/u8-printf-parse (Files): Likewise.
46929         * modules/unistdio/u32-printf-parse (Files): Likewise.
46930         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46931
46932 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46933
46934         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46935         and m4/inttypes_h.m4 too.
46936
46937 2009-01-12  Eric Blake  <ebb9@byu.net>
46938
46939         tests: IRIX 6.2 cc can't compile -0.0 into .data
46940         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46941         rather than at compile-time.
46942         * tests/test-floorl.c (minus_zero): Likewise.
46943         * tests/test-frexpl.c (minus_zero): Likewise.
46944         * tests/test-isnan.c (minus_zerol): Likewise.
46945         * tests/test-isnanl.h (minus_zero): Likewise.
46946         * tests/test-ldexpl.c (minus_zero): Likewise.
46947         * tests/test-roundl.c (minus_zero): Likewise.
46948         * tests/test-signbit.c (minus_zerol): Likewise.
46949         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46950         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46951         * tests/test-truncl.c (minus_zero): Likewise.
46952         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46953         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46954         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46955
46956 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46957
46958         regex: fix glibc bug 9697
46959         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46960         handling.
46961
46962 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46963
46964         regex: fix glibc bug 697
46965         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46966         being NULL also if there are no backreferences.
46967
46968 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46969
46970         regex: merge glibc changes
46971         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46972         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46973         re_string_skip_chars, re_string_reconstruct): Likewise.
46974         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46975
46976 2009-01-07  Jim Meyering  <meyering@redhat.com>
46977
46978         poll: filter through cppi
46979         * lib/poll.c: Indent cpp directives to reflect nesting.
46980
46981 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46982
46983         poll: don't return uninitialized
46984         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46985
46986 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46987
46988         avoid compile failure on AIX 6.1
46989         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46990         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46991
46992 2009-01-04  Jim Meyering  <meyering@redhat.com>
46993
46994         remove duplicate inclusion of <stdio.h>
46995         * tests/test-fprintf-posix.c: Likewise.
46996         * tests/test-printf-posix.c: Likewise.
46997         * tests/test-snprintf-posix.c: Likewise.
46998         * tests/test-sprintf-posix.c: Likewise.
46999         * tests/test-vasprintf-posix.c: Likewise.
47000         * tests/test-vfprintf-posix.c: Likewise.
47001         * tests/test-vprintf-posix.c: Likewise.
47002         * tests/test-vsnprintf-posix.c: Likewise.
47003         * tests/test-vsprintf-posix.c: Likewise.
47004
47005 2009-01-03  Jim Meyering  <meyering@redhat.com>
47006
47007         gnulib-tool: fix sed-based filtering
47008         * gnulib-tool (func_filter_filelist): Remove extra backslash
47009         in sed_fff_filter definition.
47010
47011 2009-01-02  Jim Meyering  <meyering@redhat.com>
47012
47013         strftime: avoid compilation failure on Solaris 2.6
47014         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47015         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47016         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47017         be available.  Reported by Tom G. Christensen.  Details in
47018         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47019
47020 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47021             Bruno Haible  <bruno@clisp.org>
47022
47023         Speed up gnulib-tool by doing more string processing through shell
47024         built-ins.
47025         * gnulib-tool (fast_func_append): New variable.
47026         (func_remove_prefix, func_remove_suffix): New functions.
47027         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47028         (func_filter_filelist): New function.
47029         (func_get_dependencies): Use func_remove_suffix instead of sed.
47030         (func_get_automake_snippet): Use func_filter_filelist instead of a
47031         subshell and sed invocation.
47032
47033 2009-01-01  Bruno Haible  <bruno@clisp.org>
47034
47035         Fix a security bug.
47036         * gnulib-tool (func_import, import, update): Don't allow the characters
47037         '"', '$', '`', '\' in macro arguments that become part of commands that
47038         are evaluated.
47039
47040 2009-01-01  Bruno Haible  <bruno@clisp.org>
47041
47042         * gnulib-tool (func_reset_sigpipe): Add more comments.
47043
47044 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47045
47046         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47047         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47048         already know the answer.
47049
47050 2009-01-01  Jim Meyering  <meyering@redhat.com>
47051
47052         * lib/version-etc.c (version_etc_va): Update copyright year.
47053
47054 2008-12-30  Bruno Haible  <bruno@clisp.org>
47055
47056         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47057         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47058         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47059
47060 2008-12-29  Eric Blake  <ebb9@byu.net>
47061
47062         multiarch: avoid autoconf AC_REQUIRE bug
47063         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47064         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47065         2.63 and older.
47066         Reported by Bruno Haible, and analyzed in
47067         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47068
47069 2008-12-29  Bruno Haible  <bruno@clisp.org>
47070
47071         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47072         files in subdirectories correctly.
47073         Reported by Ralf Wildenhues.
47074
47075 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47076
47077         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47078         rather than 'join FILE -', for Solaris join.
47079
47080 2008-12-29  Bruno Haible  <bruno@clisp.org>
47081
47082         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47083         quoting.
47084         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47085         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47086         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47087         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47088         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47089         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47090         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47091         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47092         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47093         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47094         * m4/nls.m4 (AM_NLS): Likewise.
47095         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47096         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47097         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47098         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47099         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47100         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47101         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47102         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47103         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47104         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47105         * m4/xsize.m4 (gl_XSIZE): Likewise.
47106         Suggested by Jim Meyering.
47107
47108 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47109
47110         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47111         * lib/parse-duration.c: use a switch instead of cascading if's.
47112
47113 2008-12-29  Eric Blake  <ebb9@byu.net>
47114
47115         wchar.h: supply WEOF on Irix 5.3
47116         * lib/wchar.in.h (wint_t): Also supply WEOF.
47117         * lib/wctype.in.h (wint_t): Likewise.
47118         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47119         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47120         Reported by Tom G. Christensen.
47121
47122 2008-12-26  Bruno Haible  <bruno@clisp.org>
47123
47124         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47125         i486, i586, i686.
47126
47127 2008-12-26  Bruno Haible  <bruno@clisp.org>
47128
47129         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47130
47131 2008-12-26  Bruno Haible  <bruno@clisp.org>
47132
47133         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47134         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47135         not __STDC_CONSTANT_MACROS.
47136         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47137
47138 2008-12-25  Bruno Haible  <bruno@clisp.org>
47139
47140         Add support for universal builds to vasnprintf.
47141         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47142         universal builds, guess no.
47143         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47144         * modules/vasprintf-posix (Depends-on): Likewise.
47145         * modules/fprintf-posix (Depends-on): Likewise.
47146         * modules/vfprintf-posix (Depends-on): Likewise.
47147         * modules/snprintf-posix (Depends-on): Likewise.
47148         * modules/vsnprintf-posix (Depends-on): Likewise.
47149         * modules/sprintf-posix (Depends-on): Likewise.
47150         * modules/vsprintf-posix (Depends-on): Likewise.
47151         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47152         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47153         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47154         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47155         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47156         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47157         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47158
47159         Add support for universal builds to <inttypes.h>.
47160         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47161         _SCNu64_PREFIX): In Apple
47162         universal builds, define directly, using _LP64.
47163         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47164         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47165         * modules/inttypes (Depends-on): Add multiarch.
47166         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47167
47168         Add support for universal builds to <stdint.h>.
47169         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47170         universal builds, define directly, using _LP64.
47171         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47172         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47173         and size_t.
47174         * modules/stdint (Depends-on): Add multiarch.
47175         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47176
47177         New module 'multiarch'.
47178         * modules/multiarch: New file.
47179         * m4/multiarch.m4: New file.
47180
47181 2008-12-25  Bruno Haible  <bruno@clisp.org>
47182
47183         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47184
47185 2008-12-25  Bruno Haible  <bruno@clisp.org>
47186
47187         * modules/btowc (License): Relicense under LGPLv2+.
47188         * modules/mbsinit (License): Likewise.
47189         * modules/mbrtowc (License): Likewise.
47190         * modules/wcrtomb (License): Likewise.
47191         * modules/streq (License): Likewise.
47192         Reported by David Lutterkort <lutter@redhat.com>.
47193
47194 2008-12-23  Bruno Haible  <bruno@clisp.org>
47195
47196         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47197
47198 2008-12-23  Bruno Haible  <bruno@clisp.org>
47199
47200         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47201         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47202         GETADDRINFO_LIB, not in LIBS.
47203         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47204         * modules/canon-host (Link): Likewise.
47205         * NEWS: Mention the change.
47206         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47207         GETADDRINFO_LIB.
47208
47209 2008-12-22  Bruno Haible  <bruno@clisp.org>
47210
47211         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47212         * doc/posix-functions/iswalpha_l.texi: Likewise.
47213         * doc/posix-functions/iswblank_l.texi: Likewise.
47214         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47215         * doc/posix-functions/iswctype_l.texi: Likewise.
47216         * doc/posix-functions/iswdigit_l.texi: Likewise.
47217         * doc/posix-functions/iswgraph_l.texi: Likewise.
47218         * doc/posix-functions/iswlower_l.texi: Likewise.
47219         * doc/posix-functions/iswprint_l.texi: Likewise.
47220         * doc/posix-functions/iswpunct_l.texi: Likewise.
47221         * doc/posix-functions/iswspace_l.texi: Likewise.
47222         * doc/posix-functions/iswupper_l.texi: Likewise.
47223         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47224         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47225         * doc/posix-functions/open_wmemstream.texi: Likewise.
47226         * doc/posix-functions/swscanf.texi: Likewise.
47227         * doc/posix-functions/towctrans_l.texi: Likewise.
47228         * doc/posix-functions/towlower.texi: Likewise.
47229         * doc/posix-functions/towlower_l.texi: Likewise.
47230         * doc/posix-functions/towupper.texi: Likewise.
47231         * doc/posix-functions/towupper_l.texi: Likewise.
47232         * doc/posix-functions/vfwprintf.texi: Likewise.
47233         * doc/posix-functions/vfwscanf.texi: Likewise.
47234         * doc/posix-functions/vswscanf.texi: Likewise.
47235         * doc/posix-functions/vwprintf.texi: Likewise.
47236         * doc/posix-functions/vwscanf.texi: Likewise.
47237         * doc/posix-functions/wcpcpy.texi: Likewise.
47238         * doc/posix-functions/wcpncpy.texi: Likewise.
47239         * doc/posix-functions/wcscasecmp.texi: Likewise.
47240         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47241         * doc/posix-functions/wcscoll_l.texi: Likewise.
47242         * doc/posix-functions/wcsdup.texi: Likewise.
47243         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47244         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47245         * doc/posix-functions/wcsnlen.texi: Likewise.
47246         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47247         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47248         * doc/posix-functions/wctrans_l.texi: Likewise.
47249         * doc/posix-functions/wctype_l.texi: Likewise.
47250         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47251         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47252         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47253         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47254         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47255         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47256         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47257         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47258         * doc/glibc-functions/wcschrnul.texi: Likewise.
47259         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47260         * doc/glibc-functions/wcstod_l.texi: Likewise.
47261         * doc/glibc-functions/wcstof_l.texi: Likewise.
47262         * doc/glibc-functions/wcstol_l.texi: Likewise.
47263         * doc/glibc-functions/wcstold_l.texi: Likewise.
47264         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47265         * doc/glibc-functions/wcstoq.texi: Likewise.
47266         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47267         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47268         * doc/glibc-functions/wcstouq.texi: Likewise.
47269         * doc/glibc-functions/wmempcpy.texi: Likewise.
47270
47271 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47272             Eric Blake  <ebb9@byu.net>
47273             Paolo Bonzini  <bonzini@gnu.org>
47274             Bruno Haible  <bruno@clisp.org>
47275
47276         Make c-stack work on Haiku.
47277         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47278         (c_stack_action): Use SA_ONSTACK flag.
47279
47280 2008-12-22  Bruno Haible  <bruno@clisp.org>
47281
47282         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47283
47284 2008-12-22  Bruno Haible  <bruno@clisp.org>
47285
47286         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47287         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47288         being overridden.
47289         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47290         New macros.
47291         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47292         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47293         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47294         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47295
47296 2008-12-22  Bruno Haible  <bruno@clisp.org>
47297
47298         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47299         from test code.
47300
47301 2008-12-22  Eric Blake  <ebb9@byu.net>
47302
47303         Avoid gcc warnings on cygwin.
47304         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47305         Avoid unused variable.
47306         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47307         Likewise.
47308
47309 2008-12-22  Bruno Haible  <bruno@clisp.org>
47310
47311         Remove HAVE_MBRTOWC conditionals.
47312         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47313         (mbscasecmp): Assume mbrtowc function.
47314         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47315         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47316         * lib/mbschr.c: Include mbuiter.h unconditionally.
47317         (mbschr): Assume mbrtowc function.
47318         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47319         (mbscspn): Assume mbrtowc function.
47320         * lib/mbslen.c: Include mbuiter.h unconditionally.
47321         (mbslen): Assume mbrtowc function.
47322         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47323         (mbsncasecmp): Assume mbrtowc function.
47324         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47325         (mbsnlen): Assume mbrtowc function.
47326         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47327         (mbspbrk): Assume mbrtowc function.
47328         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47329         (mbspcasecmp): Assume mbrtowc function.
47330         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47331         (mbsrchr): Assume mbrtowc function.
47332         * lib/mbssep.c: Include mbuiter.h unconditionally.
47333         (mbssep): Assume mbrtowc function.
47334         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47335         (mbsspn): Assume mbrtowc function.
47336         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47337         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47338         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47339         (mbstok_r): Assume mbrtowc function.
47340         * lib/propername.c: Include mbuiter.h unconditionally.
47341         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47342         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47343         (trim2): Assume mbrtowc function.
47344         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47345         (mbsnwidth): Assume mbrtowc function.
47346         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47347         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47348         fallback definitions.
47349         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47350
47351 2008-12-22  Bruno Haible  <bruno@clisp.org>
47352
47353         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47354
47355 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47356
47357         * modules/regex: Request emulations for the mb*/wc* functions we need.
47358         * m4/regex.m4: Don't look for those functions here.
47359         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47360
47361 2008-12-22  Bruno Haible  <bruno@clisp.org>
47362
47363         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47364
47365 2008-12-21  Bruno Haible  <bruno@clisp.org>
47366
47367         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47368         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47369         (Include): Remove conditionalization.
47370         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47371         (Include): Remove conditionalization.
47372         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47373         (Include): Remove conditionalization.
47374         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47375         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47376         * NEWS: Mention the change.
47377         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47378         via Sergey Poznyakoff <gray@gnu.org.ua>.
47379
47380 2008-12-21  Bruno Haible  <bruno@clisp.org>
47381
47382         * MODULES.html.sh (Extended multibyte and wide character utilities
47383         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47384         wcrtomb, wcsrtombs.
47385         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47386         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47387         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47388         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47389
47390 2008-12-21  Bruno Haible  <bruno@clisp.org>
47391
47392         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47393
47394 2008-12-21  Bruno Haible  <bruno@clisp.org>
47395
47396         * modules/wcsnrtombs-tests: New file.
47397         * tests/test-wcsnrtombs1.sh: New file.
47398         * tests/test-wcsnrtombs2.sh: New file.
47399         * tests/test-wcsnrtombs3.sh: New file.
47400         * tests/test-wcsnrtombs4.sh: New file.
47401         * tests/test-wcsnrtombs.c: New file.
47402
47403         New module 'wcsnrtombs'.
47404         * lib/wchar.in.h (wcsnrtombs): New declaration.
47405         * lib/wcsnrtombs.c: New file.
47406         * lib/wcsrtombs-state.c: New file.
47407         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47408         (internal_state): Remove variable.
47409         * m4/wcsnrtombs.m4: New file.
47410         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47411         compilation units.
47412         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47413         HAVE_WCSNRTOMBS.
47414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47415         HAVE_WCSNRTOMBS.
47416         * modules/wcsnrtombs: New file.
47417         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47418         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47419
47420 2008-12-21  Bruno Haible  <bruno@clisp.org>
47421
47422         * modules/wcsrtombs-tests: New file.
47423         * tests/test-wcsrtombs1.sh: New file.
47424         * tests/test-wcsrtombs2.sh: New file.
47425         * tests/test-wcsrtombs3.sh: New file.
47426         * tests/test-wcsrtombs4.sh: New file.
47427         * tests/test-wcsrtombs.c: New file.
47428
47429         New module 'wcsrtombs'.
47430         * lib/wchar.in.h (wcsrtombs): New declaration.
47431         * lib/wcsrtombs.c: New file.
47432         * m4/wcsrtombs.m4: New file.
47433         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47434         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47435         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47436         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47437         * modules/wcsrtombs: New file.
47438         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47439         bugs.
47440
47441 2008-12-21  Bruno Haible  <bruno@clisp.org>
47442
47443         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47444         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47445         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47446         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47447         if not correct.
47448         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47449         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47450         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47451         m4/locale-zh.m4, m4/codeset.m4.
47452         * doc/posix-functions/wcrtomb.texi: Document the bug.
47453
47454 2008-12-21  Bruno Haible  <bruno@clisp.org>
47455
47456         Work around a btowc() bug on IRIX 6.5.
47457         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47458         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47459         REPLACE_WTOBC if not.
47460         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47461         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47462         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47463
47464 2008-12-21  Bruno Haible  <bruno@clisp.org>
47465
47466         * modules/wcrtomb-tests: New file.
47467         * tests/test-wcrtomb.sh: New file.
47468         * tests/test-wcrtomb.c: New file.
47469
47470         New module 'wcrtomb'.
47471         * lib/wchar.in.h (wcrtomb): New declaration.
47472         * lib/wcrtomb.c: New file.
47473         * m4/wcrtomb.m4: New file.
47474         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47475         HAVE_WCRTOMB.
47476         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47477         HAVE_WCRTOMB.
47478         * modules/wcrtomb: New file.
47479         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47480
47481 2008-12-21  Bruno Haible  <bruno@clisp.org>
47482
47483         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47484         * modules/mbsrtowcs (Files): Likewise.
47485         * modules/wctob (Files): Likewise.
47486         * modules/c-strcase-tests (Files): Likewise.
47487         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47488         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47489         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47490         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47491         * modules/vasnprintf-posix-tests (Files): Likewise.
47492
47493 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47494
47495         gitlog-to-changelog: pass all command-line arguments to git-log
47496         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47497         it is sometimes convenient to filter the commits in various ways.
47498         gitlog-to-changelog only allows --since to specify a start date,
47499         but git-log itself supports many other filtering mechanisms.
47500         At the moment, I want to filter by branch name.  Rather than
47501         adding a --branch option to gitlog-to-changelog, it seems more
47502         flexible to simply pass all options directly to git-log and let
47503         git do the work.  Notice that this effectively makes --since a
47504         redundant option for gitlog-to-changelog, but removing it would
47505         require current usage to change since calls would then require
47506         an additional '--'.
47507
47508 2008-12-21  Bruno Haible  <bruno@clisp.org>
47509
47510         * modules/mbsnrtowcs-tests: New file.
47511         * tests/test-mbsnrtowcs1.sh: New file.
47512         * tests/test-mbsnrtowcs2.sh: New file.
47513         * tests/test-mbsnrtowcs3.sh: New file.
47514         * tests/test-mbsnrtowcs4.sh: New file.
47515         * tests/test-mbsnrtowcs.c: New file.
47516
47517         New module 'mbsnrtowcs'.
47518         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47519         * lib/mbsnrtowcs.c: New file.
47520         * lib/mbsrtowcs-state.c: New file.
47521         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47522         (internal_state): Remove variable.
47523         * m4/mbsnrtowcs.m4: New file.
47524         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47525         compilation units.
47526         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47527         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47528         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47529         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47530         * modules/mbsnrtowcs: New file.
47531         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47532         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47533         portability problem.
47534
47535 2008-12-21  Bruno Haible  <bruno@clisp.org>
47536
47537         Work around mbsrtowcs bug.
47538         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47539         (gl_FUNC_MBSRTOWCS): Invoke it.
47540         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47541         m4/locale-zh.m4.
47542         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47543
47544 2008-12-21  Bruno Haible  <bruno@clisp.org>
47545
47546         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47547
47548 2008-12-21  Bruno Haible  <bruno@clisp.org>
47549
47550         Update doc for AIX.
47551         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47552         16-bit wchar_t type.
47553         * doc/posix-functions/btowc.texi: Likewise.
47554         * doc/posix-functions/fgetwc.texi: Likewise.
47555         * doc/posix-functions/fgetws.texi: Likewise.
47556         * doc/posix-functions/fputwc.texi: Likewise.
47557         * doc/posix-functions/fputws.texi: Likewise.
47558         * doc/posix-functions/fwide.texi: Likewise.
47559         * doc/posix-functions/fwprintf.texi: Likewise.
47560         * doc/posix-functions/fwscanf.texi: Likewise.
47561         * doc/posix-functions/getwchar.texi: Likewise.
47562         * doc/posix-functions/getwc.texi: Likewise.
47563         * doc/posix-functions/iswalnum.texi: Likewise.
47564         * doc/posix-functions/iswalpha.texi: Likewise.
47565         * doc/posix-functions/iswblank.texi: Likewise.
47566         * doc/posix-functions/iswcntrl.texi: Likewise.
47567         * doc/posix-functions/iswctype.texi: Likewise.
47568         * doc/posix-functions/iswdigit.texi: Likewise.
47569         * doc/posix-functions/iswgraph.texi: Likewise.
47570         * doc/posix-functions/iswlower.texi: Likewise.
47571         * doc/posix-functions/iswprint.texi: Likewise.
47572         * doc/posix-functions/iswpunct.texi: Likewise.
47573         * doc/posix-functions/iswspace.texi: Likewise.
47574         * doc/posix-functions/iswupper.texi: Likewise.
47575         * doc/posix-functions/iswxdigit.texi: Likewise.
47576         * doc/posix-functions/mbrtowc.texi: Likewise.
47577         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47578         * doc/posix-functions/mbstowcs.texi: Likewise.
47579         * doc/posix-functions/mbtowc.texi: Likewise.
47580         * doc/posix-functions/putwchar.texi: Likewise.
47581         * doc/posix-functions/putwc.texi: Likewise.
47582         * doc/posix-functions/swprintf.texi: Likewise.
47583         * doc/posix-functions/tolower.texi: Likewise.
47584         * doc/posix-functions/toupper.texi: Likewise.
47585         * doc/posix-functions/towctrans.texi: Likewise.
47586         * doc/posix-functions/ungetwc.texi: Likewise.
47587         * doc/posix-functions/vswprintf.texi: Likewise.
47588         * doc/posix-functions/wcrtomb.texi: Likewise.
47589         * doc/posix-functions/wcscat.texi: Likewise.
47590         * doc/posix-functions/wcschr.texi: Likewise.
47591         * doc/posix-functions/wcscmp.texi: Likewise.
47592         * doc/posix-functions/wcscoll.texi: Likewise.
47593         * doc/posix-functions/wcscpy.texi: Likewise.
47594         * doc/posix-functions/wcscspn.texi: Likewise.
47595         * doc/posix-functions/wcsftime.texi: Likewise.
47596         * doc/posix-functions/wcslen.texi: Likewise.
47597         * doc/posix-functions/wcsncat.texi: Likewise.
47598         * doc/posix-functions/wcsncmp.texi: Likewise.
47599         * doc/posix-functions/wcsncpy.texi: Likewise.
47600         * doc/posix-functions/wcspbrk.texi: Likewise.
47601         * doc/posix-functions/wcsrchr.texi: Likewise.
47602         * doc/posix-functions/wcsrtombs.texi: Likewise.
47603         * doc/posix-functions/wcsspn.texi: Likewise.
47604         * doc/posix-functions/wcsstr.texi: Likewise.
47605         * doc/posix-functions/wcstod.texi: Likewise.
47606         * doc/posix-functions/wcstof.texi: Likewise.
47607         * doc/posix-functions/wcstoimax.texi: Likewise.
47608         * doc/posix-functions/wcstok.texi: Likewise.
47609         * doc/posix-functions/wcstold.texi: Likewise.
47610         * doc/posix-functions/wcstoll.texi: Likewise.
47611         * doc/posix-functions/wcstol.texi: Likewise.
47612         * doc/posix-functions/wcstombs.texi: Likewise.
47613         * doc/posix-functions/wcstoull.texi: Likewise.
47614         * doc/posix-functions/wcstoul.texi: Likewise.
47615         * doc/posix-functions/wcstoumax.texi: Likewise.
47616         * doc/posix-functions/wcswidth.texi: Likewise.
47617         * doc/posix-functions/wcsxfrm.texi: Likewise.
47618         * doc/posix-functions/wctob.texi: Likewise.
47619         * doc/posix-functions/wctomb.texi: Likewise.
47620         * doc/posix-functions/wctrans.texi: Likewise.
47621         * doc/posix-functions/wctype.texi: Likewise.
47622         * doc/posix-functions/wcwidth.texi: Likewise.
47623         * doc/posix-functions/wmemchr.texi: Likewise.
47624         * doc/posix-functions/wmemcmp.texi: Likewise.
47625         * doc/posix-functions/wmemcpy.texi: Likewise.
47626         * doc/posix-functions/wmemmove.texi: Likewise.
47627         * doc/posix-functions/wmemset.texi: Likewise.
47628         * doc/posix-functions/wprintf.texi: Likewise.
47629         * doc/posix-functions/wscanf.texi: Likewise.
47630
47631 2008-12-21  Bruno Haible  <bruno@clisp.org>
47632
47633         Update doc for HP-UX 11.11.
47634         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47635         in HP-UX version 11.00, not in all versions of HP-UX 11.
47636         * doc/posix-functions/fwide.texi: Likewise.
47637         * doc/posix-functions/fwprintf.texi: Likewise.
47638         * doc/posix-functions/fwscanf.texi: Likewise.
47639         * doc/posix-functions/inet_ntop.texi: Likewise.
47640         * doc/posix-functions/inet_pton.texi: Likewise.
47641         * doc/posix-functions/mbrlen.texi: Likewise.
47642         * doc/posix-functions/mbrtowc.texi: Likewise.
47643         * doc/posix-functions/mbsinit.texi: Likewise.
47644         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47645         * doc/posix-functions/swprintf.texi: Likewise.
47646         * doc/posix-functions/swscanf.texi: Likewise.
47647         * doc/posix-functions/towctrans.texi: Likewise.
47648         * doc/posix-functions/vfwprintf.texi: Likewise.
47649         * doc/posix-functions/vswprintf.texi: Likewise.
47650         * doc/posix-functions/vwprintf.texi: Likewise.
47651         * doc/posix-functions/wcrtomb.texi: Likewise.
47652         * doc/posix-functions/wcsrtombs.texi: Likewise.
47653         * doc/posix-functions/wcsstr.texi: Likewise.
47654         * doc/posix-functions/wctob.texi: Likewise.
47655         * doc/posix-functions/wctrans.texi: Likewise.
47656         * doc/posix-functions/wmemchr.texi: Likewise.
47657         * doc/posix-functions/wmemcmp.texi: Likewise.
47658         * doc/posix-functions/wmemcpy.texi: Likewise.
47659         * doc/posix-functions/wmemmove.texi: Likewise.
47660         * doc/posix-functions/wmemset.texi: Likewise.
47661         * doc/posix-functions/wprintf.texi: Likewise.
47662         * doc/posix-functions/wscanf.texi: Likewise.
47663
47664 2008-12-21  Bruno Haible  <bruno@clisp.org>
47665
47666         Work around a portability problem.
47667         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47668         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47669
47670 2008-12-20  Bruno Haible  <bruno@clisp.org>
47671
47672         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47673         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47674         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47675         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47676         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47677
47678         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47679         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47680         set.
47681         (GNULIB_defined_mbstate_t): New macro.
47682         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47683         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47684         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47685         reuses the system's mbrtowc function but works around the bugs.
47686         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47687         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47688         macros.
47689         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47690         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47691         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47692         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47693         REPLACE_MBSINIT if mbsinit needs to be overridden.
47694         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47695         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47696         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47697         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47698         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47699         m4/locale-zh.m4.
47700         (Depends): Add mbsinit.
47701         * modules/mbsinit (Depends): Add mbrtowc.
47702         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47703
47704 2008-12-20  Bruno Haible  <bruno@clisp.org>
47705
47706         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47707         so that there are no conversion errors on AIX.
47708         * tests/test-mbsrtowcs.c (main): LIkewise.
47709
47710 2008-12-20  Bruno Haible  <bruno@clisp.org>
47711
47712         Work around wctob bug on Solaris <= 9.
47713         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47714         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47715         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47716         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47717         * modules/wctob (Files): Add m4/locale-fr.m4.
47718         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47719
47720 2008-12-20  Bruno Haible  <bruno@clisp.org>
47721
47722         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47723         /dev/null.
47724         * tests/test-select-in.sh: Likewise.
47725         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47726
47727 2008-12-20  Bruno Haible  <bruno@clisp.org>
47728
47729         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47730         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47731         Cygwin 1.5.x.
47732
47733 2008-12-20  Bruno Haible  <bruno@clisp.org>
47734
47735         Ensure mbstate_t is defined on HP-UX 11.11.
47736         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47737         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47738         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47739         AC_USE_SYSTEM_EXTENSIONS.
47740         * modules/fnmatch (Depends-on): Add extensions.
47741         * modules/mbrlen (Depends-on): Likewise.
47742         * modules/mbrtowc (Depends-on): Likewise.
47743         * modules/mbsinit (Depends-on): Likewise.
47744         * modules/mbsrtowcs (Depends-on): Likewise.
47745         * modules/mbswidth (Depends-on): Likewise.
47746         * modules/quotearg (Depends-on): Likewise.
47747         * modules/strftime (Depends-on): Likewise.
47748
47749 2008-12-20  Bruno Haible  <bruno@clisp.org>
47750
47751         Ensure wctob is declared on IRIX 6.5.
47752         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47753         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47754         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47755         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47756         of HAVE_WCTOB.
47757         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47758         HAVE_WCTOB.
47759         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47760
47761 2008-12-19  Bruno Haible  <bruno@clisp.org>
47762
47763         * modules/mbsrtowcs-tests: New file.
47764         * tests/test-mbsrtowcs1.sh: New file.
47765         * tests/test-mbsrtowcs2.sh: New file.
47766         * tests/test-mbsrtowcs3.sh: New file.
47767         * tests/test-mbsrtowcs4.sh: New file.
47768         * tests/test-mbsrtowcs.c: New file.
47769
47770         New module 'mbsrtowcs'.
47771         * lib/wchar.in.h (mbsrtowcs): New declaration.
47772         * lib/mbsrtowcs.c: New file.
47773         * m4/mbsrtowcs.m4: New file.
47774         * modules/mbsrtowcs: New file.
47775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47776         HAVE_MBSRTOWCS.
47777         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47778         HAVE_MBSRTOWCS.
47779         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47780
47781 2008-12-19  Bruno Haible  <bruno@clisp.org>
47782
47783         New module 'mbrlen'.
47784         * lib/wchar.in.h (mbrlen): New declaration.
47785         * lib/mbrlen.c: New file.
47786         * m4/mbrlen.m4: New file.
47787         * modules/mbrlen: New file.
47788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47789         HAVE_MBRLEN.
47790         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47791         HAVE_MBRLEN.
47792         * doc/posix-functions/mbrlen.texi: Document the new module.
47793
47794 2008-12-19  Bruno Haible  <bruno@clisp.org>
47795
47796         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47797         * modules/mbrtowc (Depends-on): Add verify.
47798         Suggested by Paul Eggert.
47799
47800 2008-12-18  Bruno Haible  <bruno@clisp.org>
47801
47802         * modules/mbsinit-tests: New file.
47803         * tests/test-mbsinit.sh: New file.
47804         * tests/test-mbsinit.c: New file.
47805
47806 2008-12-18  Bruno Haible  <bruno@clisp.org>
47807
47808         * modules/mbrtowc-tests: New file.
47809         * tests/test-mbrtowc1.sh: New file.
47810         * tests/test-mbrtowc2.sh: New file.
47811         * tests/test-mbrtowc3.sh: New file.
47812         * tests/test-mbrtowc4.sh: New file.
47813         * tests/test-mbrtowc.c: New file.
47814
47815         New module 'mbrtowc'.
47816         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47817         mbsinit and mbrtowc.
47818         (mbrtowc): New declaration.
47819         * lib/mbrtowc.c: New file.
47820         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47821         * modules/mbrtowc: New file.
47822         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47823         HAVE_MBRTOWC.
47824         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47825         HAVE_MBRTOWC.
47826         * doc/posix-functions/mbrtowc.texi: Document the new module.
47827
47828 2008-12-18  Bruno Haible  <bruno@clisp.org>
47829
47830         New module 'wctob'.
47831         * lib/wchar.in.h (wctob): New declaration.
47832         * lib/wctob.c: New file.
47833         * m4/wctob.m4: New file.
47834         * modules/wctob: New file.
47835         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47836         HAVE_WCTOB.
47837         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47838         * doc/posix-functions/wctob.texi: Document the new module.
47839
47840 2008-12-18  Bruno Haible  <bruno@clisp.org>
47841
47842         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47843         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47844
47845 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47846
47847         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47848         G. Christensen" <tgc@jupiterrise.com>.
47849
47850         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47851         G. Christensen" <tgc@jupiterrise.com>.
47852
47853         * lib/flock.c: Need to include string.h.  Reported by "Tom
47854         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47855         <ebb9@byu.net>.
47856
47857 2008-12-18  Bruno Haible  <bruno@clisp.org>
47858
47859         * m4/locale-ja.m4: New file, from GNU gettext.
47860
47861 2008-12-17  Bruno Haible  <bruno@clisp.org>
47862
47863         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47864         Suggested by Eric Blake.
47865
47866 2008-12-17  Bruno Haible  <bruno@clisp.org>
47867
47868         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47869
47870 2008-12-17  Bruno Haible  <bruno@clisp.org>
47871
47872         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47873         * modules/mbsinit (Depends-on): Add verify.
47874         Suggested by Paul Eggert.
47875
47876 2008-12-17  Bruno Haible  <bruno@clisp.org>
47877
47878         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47879         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47880         gl_FUNC_MBRTOWC.
47881         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47882         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47883         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47884         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47885         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47886         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47887         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47888         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47889         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47890         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47891         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47892         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47893         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47894         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47895         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47896         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47897         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47898         * modules/trim (configure.ac): Likewise.
47899
47900 2008-12-17  Bruno Haible  <bruno@clisp.org>
47901
47902         * modules/btowc-tests: New file.
47903         * tests/test-btowc1.sh: New file.
47904         * tests/test-btowc2.sh: New file.
47905         * tests/test-btowc.c: New file.
47906
47907         New module 'btowc'.
47908         * lib/wchar.in.h (btowc): New declaration.
47909         * lib/btowc.c: New file.
47910         * m4/btowc.m4: New file.
47911         * modules/btowc: New file.
47912         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47913         HAVE_BTOWC.
47914         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47915         * doc/posix-functions/btowc.texi: Document the new module.
47916
47917 2008-12-17  Bruno Haible  <bruno@clisp.org>
47918
47919         New module 'mbsinit'.
47920         * lib/wchar.in.h (mbsinit): New declaration.
47921         * lib/mbsinit.c: New file.
47922         * m4/mbsinit.m4: New file.
47923         * modules/mbsinit: New file.
47924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47925         HAVE_MBSINIT.
47926         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47927         HAVE_MBSINIT.
47928         * doc/posix-functions/mbsinit.texi: Document the new module.
47929
47930 2008-12-16  Bruno Haible  <bruno@clisp.org>
47931
47932         * lib/unistd.in.h: Add comment.
47933         * tests/test-environ.c: Don't include <stdlib.h>.
47934
47935 2008-12-16  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/parse-duration.h (parse_duration): Document return value
47938         convention.
47939         * lib/parse-duration.c: Include specification header first. Add
47940         comments.
47941         (_): Remove macro.
47942         (parse_year_month_day, parse_hour_minute_second): Move side effects
47943         outside of strchr call.
47944         (parse_non_iso8601): Move side effects outside of isspace call.
47945         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47946         call.
47947
47948 2008-12-16  Bruno Haible  <bruno@clisp.org>
47949
47950         * tests/test-parse-duration.sh: Produce no output when the test
47951         succeeds.
47952
47953 2008-12-16  Bruno Haible  <bruno@clisp.org>
47954
47955         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47956         expressions.
47957
47958 2008-12-15  Bruno Haible  <bruno@clisp.org>
47959
47960         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47961         * doc/glibc-functions/flistxattr.texi: Likewise.
47962         * doc/glibc-functions/fopencookie.texi: Likewise.
47963         * doc/glibc-functions/fremovexattr.texi: Likewise.
47964         * doc/glibc-functions/fsetxattr.texi: Likewise.
47965         * doc/glibc-functions/getxattr.texi: Likewise.
47966         * doc/glibc-functions/lgetxattr.texi: Likewise.
47967         * doc/glibc-functions/listxattr.texi: Likewise.
47968         * doc/glibc-functions/llistxattr.texi: Likewise.
47969         * doc/glibc-functions/lremovexattr.texi: Likewise.
47970         * doc/glibc-functions/lsetxattr.texi: Likewise.
47971         * doc/glibc-functions/removexattr.texi: Likewise.
47972         * doc/glibc-functions/setxattr.texi: Likewise.
47973         * doc/posix-functions/open_memstream.texi: Likewise.
47974
47975 2008-12-15  Eric Blake  <ebb9@byu.net>
47976
47977         Update doc for cygwin 1.7.
47978         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47979         functions.
47980         * doc/posix-functions/fchmodat.texi: Likewise.
47981         * doc/posix-functions/fchownat.texi: Likewise.
47982         * doc/posix-functions/fdopendir.texi: Likewise.
47983         * doc/posix-functions/fmemopen.texi: Likewise.
47984         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47985         * doc/posix-functions/fstatat.texi: Likewise.
47986         * doc/posix-functions/futimens.texi: Likewise.
47987         * doc/posix-functions/gai_strerror.texi: Likewise.
47988         * doc/posix-functions/getaddrinfo.texi: Likewise.
47989         * doc/posix-functions/getnameinfo.texi: Likewise.
47990         * doc/posix-functions/if_freenameindex.texi: Likewise.
47991         * doc/posix-functions/if_indextoname.texi: Likewise.
47992         * doc/posix-functions/if_nameindex.texi: Likewise.
47993         * doc/posix-functions/if_nametoindex.texi: Likewise.
47994         * doc/posix-functions/insque.texi: Likewise.
47995         * doc/posix-functions/linkat.texi: Likewise.
47996         * doc/posix-functions/llrint.texi: Likewise.
47997         * doc/posix-functions/llrintf.texi: Likewise.
47998         * doc/posix-functions/llrintl.texi: Likewise.
47999         * doc/posix-functions/lockf.texi: Likewise.
48000         * doc/posix-functions/lrintl.texi: Likewise.
48001         * doc/posix-functions/mkdirat.texi: Likewise.
48002         * doc/posix-functions/mkfifoat.texi: Likewise.
48003         * doc/posix-functions/mknodat.texi: Likewise.
48004         * doc/posix-functions/mq_close.texi: Likewise.
48005         * doc/posix-functions/mq_getattr.texi: Likewise.
48006         * doc/posix-functions/mq_notify.texi: Likewise.
48007         * doc/posix-functions/mq_open.texi: Likewise.
48008         * doc/posix-functions/mq_receive.texi: Likewise.
48009         * doc/posix-functions/mq_send.texi: Likewise.
48010         * doc/posix-functions/mq_setattr.texi: Likewise.
48011         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48012         * doc/posix-functions/mq_timedsend.texi: Likewise.
48013         * doc/posix-functions/mq_unlink.texi: Likewise.
48014         * doc/posix-functions/open_memstream.texi: Likewise.
48015         * doc/posix-functions/openat.texi: Likewise.
48016         * doc/posix-functions/posix_fadvise.texi: Likewise.
48017         * doc/posix-functions/posix_fallocate.texi: Likewise.
48018         * doc/posix-functions/posix_madvise.texi: Likewise.
48019         * doc/posix-functions/posix_memalign.texi: Likewise.
48020         * doc/posix-functions/posix_openpt.texi: Likewise.
48021         * doc/posix-functions/readlinkat.texi: Likewise.
48022         * doc/posix-functions/remque.texi: Likewise.
48023         * doc/posix-functions/renameat.texi: Likewise.
48024         * doc/posix-functions/rintl.texi: Likewise.
48025         * doc/posix-functions/sem_unlink.texi: Likewise.
48026         * doc/posix-functions/shm_open.texi: Likewise.
48027         * doc/posix-functions/shm_unlink.texi: Likewise.
48028         * doc/posix-functions/signgam.texi: Likewise.
48029         * doc/posix-functions/sigset.texi: Likewise.
48030         * doc/posix-functions/stpcpy.texi: Likewise.
48031         * doc/posix-functions/stpncpy.texi: Likewise.
48032         * doc/posix-functions/strerror.texi: Likewise.
48033         * doc/posix-functions/strtod.texi: Likewise.
48034         * doc/posix-functions/symlinkat.texi: Likewise.
48035         * doc/posix-functions/unlinkat.texi: Likewise.
48036         * doc/posix-functions/utimensat.texi: Likewise.
48037         * doc/glibc-functions/bindresvport.texi: Likewise.
48038         * doc/glibc-functions/dn_expand.texi: Likewise.
48039         * doc/glibc-functions/exp10.texi: Likewise.
48040         * doc/glibc-functions/exp10f.texi: Likewise.
48041         * doc/glibc-functions/fgetxattr.texi: Likewise.
48042         * doc/glibc-functions/flistxattr.texi: Likewise.
48043         * doc/glibc-functions/fopencookie.texi: Likewise.
48044         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48045         * doc/glibc-functions/fremovexattr.texi: Likewise.
48046         * doc/glibc-functions/fsetxattr.texi: Likewise.
48047         * doc/glibc-functions/getifaddrs.texi: Likewise.
48048         * doc/glibc-functions/getxattr.texi: Likewise.
48049         * doc/glibc-functions/lgetxattr.texi: Likewise.
48050         * doc/glibc-functions/listxattr.texi: Likewise.
48051         * doc/glibc-functions/llistxattr.texi: Likewise.
48052         * doc/glibc-functions/lremovexattr.texi: Likewise.
48053         * doc/glibc-functions/lsetxattr.texi: Likewise.
48054         * doc/glibc-functions/pow10.texi: Likewise.
48055         * doc/glibc-functions/pow10f.texi: Likewise.
48056         * doc/glibc-functions/rcmd_af.texi: Likewise.
48057         * doc/glibc-functions/removexattr.texi: Likewise.
48058         * doc/glibc-functions/res_init.texi: Likewise.
48059         * doc/glibc-functions/res_mkquery.texi: Likewise.
48060         * doc/glibc-functions/res_query.texi: Likewise.
48061         * doc/glibc-functions/res_querydomain.texi: Likewise.
48062         * doc/glibc-functions/res_send.texi: Likewise.
48063         * doc/glibc-functions/rresvport_af.texi: Likewise.
48064         * doc/glibc-functions/setxattr.texi: Likewise.
48065         * doc/glibc-functions/strcasestr.texi: Likewise.
48066
48067 2008-12-15  Bruno Haible  <bruno@clisp.org>
48068
48069         Fix compilation error on OSF/1 4.0.
48070         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48071         <sys/time.h>, simply delegate to the system header.
48072         Reported by Daniel Richard G. <oss@teragram.com>.
48073
48074 2008-12-15  Bruno Haible  <bruno@clisp.org>
48075
48076         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48077         * doc/posix-functions/fchmodat.texi: Likewise.
48078         * doc/posix-functions/fchownat.texi: Likewise.
48079         * doc/posix-functions/fdopendir.texi: Likewise.
48080         * doc/posix-functions/fstatat.texi: Likewise.
48081         * doc/posix-functions/mkdirat.texi: Likewise.
48082         * doc/posix-functions/unlinkat.texi: Likewise.
48083
48084 2008-12-14  Bruno Haible  <bruno@clisp.org>
48085
48086         Update doc for POSIX:2008.
48087         * doc/posix-functions/faccessat.texi: New file.
48088         * doc/posix-functions/fchmodat.texi: New file.
48089         * doc/posix-functions/fchownat.texi: New file.
48090         * doc/posix-functions/fdopendir.texi: New file.
48091         * doc/posix-functions/fstatat.texi: New file.
48092         * doc/posix-functions/futimens.texi: New file.
48093         * doc/posix-functions/linkat.texi: New file.
48094         * doc/posix-functions/mkdirat.texi: New file.
48095         * doc/posix-functions/mkfifoat.texi: New file.
48096         * doc/posix-functions/mknodat.texi: New file.
48097         * doc/posix-functions/open_wmemstream.texi: New file.
48098         * doc/posix-functions/openat.texi: New file.
48099         * doc/posix-functions/psiginfo.texi: New file.
48100         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48101         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48102         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48103         * doc/posix-functions/readlinkat.texi: New file.
48104         * doc/posix-functions/renameat.texi: New file.
48105         * doc/posix-functions/strerror_l.texi: New file.
48106         * doc/posix-functions/symlinkat.texi: New file.
48107         * doc/posix-functions/unlinkat.texi: New file.
48108         * doc/posix-functions/utimensat.texi: New file.
48109         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48110
48111 2008-12-14  Bruno Haible  <bruno@clisp.org>
48112
48113         Update doc for POSIX:2008.
48114         * doc/posix-functions/alphasort.texi: Renamed from
48115         doc/glibc-functions/alphasort.texi.
48116         * doc/posix-functions/dirfd.texi: Renamed from
48117         doc/glibc-functions/dirfd.texi.
48118         * doc/posix-functions/dprintf.texi: Renamed from
48119         doc/glibc-functions/dprintf.texi.
48120         * doc/posix-functions/duplocale.texi: Renamed from
48121         doc/glibc-functions/duplocale.texi.
48122         * doc/posix-functions/fexecve.texi: Renamed from
48123         doc/glibc-functions/fexecve.texi.
48124         * doc/posix-functions/fmemopen.texi: Renamed from
48125         doc/glibc-functions/fmemopen.texi.
48126         * doc/posix-functions/freelocale.texi: Renamed from
48127         doc/glibc-functions/freelocale.texi.
48128         * doc/posix-functions/getdate_err.texi: Renamed from
48129         doc/glibc-functions/getdate_err.texi.
48130         * doc/posix-functions/isalnum_l.texi: Renamed from
48131         doc/glibc-functions/isalnum_l.texi.
48132         * doc/posix-functions/isalpha_l.texi: Renamed from
48133         doc/glibc-functions/isalpha_l.texi.
48134         * doc/posix-functions/isblank_l.texi: Renamed from
48135         doc/glibc-functions/isblank_l.texi.
48136         * doc/posix-functions/iscntrl_l.texi: Renamed from
48137         doc/glibc-functions/iscntrl_l.texi.
48138         * doc/posix-functions/isdigit_l.texi: Renamed from
48139         doc/glibc-functions/isdigit_l.texi.
48140         * doc/posix-functions/isgraph_l.texi: Renamed from
48141         doc/glibc-functions/isgraph_l.texi.
48142         * doc/posix-functions/islower_l.texi: Renamed from
48143         doc/glibc-functions/islower_l.texi.
48144         * doc/posix-functions/isprint_l.texi: Renamed from
48145         doc/glibc-functions/isprint_l.texi.
48146         * doc/posix-functions/ispunct_l.texi: Renamed from
48147         doc/glibc-functions/ispunct_l.texi.
48148         * doc/posix-functions/isspace_l.texi: Renamed from
48149         doc/glibc-functions/isspace_l.texi.
48150         * doc/posix-functions/isupper_l.texi: Renamed from
48151         doc/glibc-functions/isupper_l.texi.
48152         * doc/posix-functions/iswalnum_l.texi: Renamed from
48153         doc/glibc-functions/iswalnum_l.texi.
48154         * doc/posix-functions/iswalpha_l.texi: Renamed from
48155         doc/glibc-functions/iswalpha_l.texi.
48156         * doc/posix-functions/iswblank_l.texi: Renamed from
48157         doc/glibc-functions/iswblank_l.texi.
48158         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48159         doc/glibc-functions/iswcntrl_l.texi.
48160         * doc/posix-functions/iswctype_l.texi: Renamed from
48161         doc/glibc-functions/iswctype_l.texi.
48162         * doc/posix-functions/iswdigit_l.texi: Renamed from
48163         doc/glibc-functions/iswdigit_l.texi.
48164         * doc/posix-functions/iswgraph_l.texi: Renamed from
48165         doc/glibc-functions/iswgraph_l.texi.
48166         * doc/posix-functions/iswlower_l.texi: Renamed from
48167         doc/glibc-functions/iswlower_l.texi.
48168         * doc/posix-functions/iswprint_l.texi: Renamed from
48169         doc/glibc-functions/iswprint_l.texi.
48170         * doc/posix-functions/iswpunct_l.texi: Renamed from
48171         doc/glibc-functions/iswpunct_l.texi.
48172         * doc/posix-functions/iswspace_l.texi: Renamed from
48173         doc/glibc-functions/iswspace_l.texi.
48174         * doc/posix-functions/iswupper_l.texi: Renamed from
48175         doc/glibc-functions/iswupper_l.texi.
48176         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48177         doc/glibc-functions/iswxdigit_l.texi.
48178         * doc/posix-functions/isxdigit_l.texi: Renamed from
48179         doc/glibc-functions/isxdigit_l.texi.
48180         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48181         doc/glibc-functions/mbsnrtowcs.texi.
48182         * doc/posix-functions/mkdtemp.texi: Renamed from
48183         doc/glibc-functions/mkdtemp.texi.
48184         * doc/posix-functions/newlocale.texi: Renamed from
48185         doc/glibc-functions/newlocale.texi.
48186         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48187         doc/glibc-functions/nl_langinfo_l.texi.
48188         * doc/posix-functions/open_memstream.texi: Renamed from
48189         doc/glibc-functions/open_memstream.texi.
48190         * doc/posix-functions/opterr.texi: Renamed from
48191         doc/glibc-functions/opterr.texi.
48192         * doc/posix-functions/optind.texi: Renamed from
48193         doc/glibc-functions/optind.texi.
48194         * doc/posix-functions/optopt.texi: Renamed from
48195         doc/glibc-functions/optopt.texi.
48196         * doc/posix-functions/psignal.texi: Renamed from
48197         doc/glibc-functions/psignal.texi.
48198         * doc/posix-functions/scandir.texi: Renamed from
48199         doc/glibc-functions/scandir.texi.
48200         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48201         doc/glibc-functions/sched_get_priority_min.texi.
48202         * doc/posix-functions/signgam.texi: Renamed from
48203         doc/glibc-functions/signgam.texi.
48204         * doc/posix-functions/stpcpy.texi: Renamed from
48205         doc/glibc-functions/stpcpy.texi.
48206         * doc/posix-functions/stpncpy.texi: Renamed from
48207         doc/glibc-functions/stpncpy.texi.
48208         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48209         doc/glibc-functions/strcasecmp_l.texi.
48210         * doc/posix-functions/strcoll_l.texi: Renamed from
48211         doc/glibc-functions/strcoll_l.texi.
48212         * doc/posix-functions/strfmon_l.texi: Renamed from
48213         doc/glibc-functions/strfmon_l.texi.
48214         * doc/posix-functions/strftime_l.texi: Renamed from
48215         doc/glibc-functions/strftime_l.texi.
48216         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48217         doc/glibc-functions/strncasecmp_l.texi.
48218         * doc/posix-functions/strndup.texi: Renamed from
48219         doc/glibc-functions/strndup.texi.
48220         * doc/posix-functions/strnlen.texi: Renamed from
48221         doc/glibc-functions/strnlen.texi.
48222         * doc/posix-functions/strsignal.texi: Renamed from
48223         doc/glibc-functions/strsignal.texi.
48224         * doc/posix-functions/strxfrm_l.texi: Renamed from
48225         doc/glibc-functions/strxfrm_l.texi.
48226         * doc/posix-functions/timer_gettime.texi: Renamed from
48227         doc/glibc-functions/timer_gettime.texi.
48228         * doc/posix-functions/tolower_l.texi: Renamed from
48229         doc/glibc-functions/tolower_l.texi.
48230         * doc/posix-functions/toupper_l.texi: Renamed from
48231         doc/glibc-functions/toupper_l.texi.
48232         * doc/posix-functions/towctrans_l.texi: Renamed from
48233         doc/glibc-functions/towctrans_l.texi.
48234         * doc/posix-functions/towlower_l.texi: Renamed from
48235         doc/glibc-functions/towlower_l.texi.
48236         * doc/posix-functions/towupper_l.texi: Renamed from
48237         doc/glibc-functions/towupper_l.texi.
48238         * doc/posix-functions/uselocale.texi: Renamed from
48239         doc/glibc-functions/uselocale.texi.
48240         * doc/posix-functions/vdprintf.texi: Renamed from
48241         doc/glibc-functions/vdprintf.texi.
48242         * doc/posix-functions/wcpcpy.texi:
48243         Renamed from doc/glibc-functions/wcpcpy.texi.
48244         * doc/posix-functions/wcpncpy.texi: Renamed from
48245         doc/glibc-functions/wcpncpy.texi.
48246         * doc/posix-functions/wcscasecmp.texi: Renamed from
48247         doc/glibc-functions/wcscasecmp.texi.
48248         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48249         doc/glibc-functions/wcscasecmp_l.texi.
48250         * doc/posix-functions/wcscoll_l.texi: Renamed from
48251         doc/glibc-functions/wcscoll_l.texi.
48252         * doc/posix-functions/wcsdup.texi: Renamed from
48253         doc/glibc-functions/wcsdup.texi.
48254         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48255         doc/glibc-functions/wcsncasecmp.texi.
48256         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48257         doc/glibc-functions/wcsncasecmp_l.texi.
48258         * doc/posix-functions/wcsnlen.texi: Renamed from
48259         doc/glibc-functions/wcsnlen.texi.
48260         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48261         doc/glibc-functions/wcsnrtombs.texi.
48262         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48263         doc/glibc-functions/wcsxfrm_l.texi.
48264         * doc/posix-functions/wctrans_l.texi: Renamed from
48265         doc/glibc-functions/wctrans_l.texi.
48266         * doc/posix-functions/wctype_l.texi: Renamed from
48267         doc/glibc-functions/wctype_l.texi.
48268         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48269         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48270         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48271         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48272         these subsections.
48273         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48274         Remove sections.
48275
48276 2008-12-14  Bruno Haible  <bruno@clisp.org>
48277
48278         Update doc for POSIX:2008.
48279         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48280
48281 2008-12-14  Bruno Haible  <bruno@clisp.org>
48282
48283         Update doc for POSIX:2008.
48284         * doc/pastposix-functions/bcmp.texi: Renamed from
48285         doc/posix-functions/bcmp.texi.
48286         * doc/pastposix-functions/bcopy.texi: Renamed from
48287         doc/posix-functions/bcopy.texi.
48288         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48289         doc/posix-functions/bsd_signal.texi.
48290         * doc/pastposix-functions/bzero.texi: Renamed from
48291         doc/posix-functions/bzero.texi.
48292         * doc/pastposix-functions/ecvt.texi: Renamed from
48293         doc/posix-functions/ecvt.texi.
48294         * doc/pastposix-functions/fcvt.texi: Renamed from
48295         doc/posix-functions/fcvt.texi.
48296         * doc/pastposix-functions/ftime.texi: Renamed from
48297         doc/posix-functions/ftime.texi.
48298         * doc/pastposix-functions/gcvt.texi: Renamed from
48299         doc/posix-functions/gcvt.texi.
48300         * doc/pastposix-functions/getcontext.texi: Renamed from
48301         doc/posix-functions/getcontext.texi.
48302         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48303         doc/posix-functions/gethostbyaddr.texi.
48304         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48305         doc/posix-functions/gethostbyname.texi.
48306         * doc/pastposix-functions/getwd.texi: Renamed from
48307         doc/posix-functions/getwd.texi.
48308         * doc/pastposix-functions/h_errno.texi: Renamed from
48309         doc/posix-functions/h_errno.texi.
48310         * doc/pastposix-functions/index.texi: Renamed from
48311         doc/posix-functions/index.texi.
48312         * doc/pastposix-functions/makecontext.texi: Renamed from
48313         doc/posix-functions/makecontext.texi.
48314         * doc/pastposix-functions/mktemp.texi: Renamed from
48315         doc/posix-functions/mktemp.texi.
48316         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48317         doc/posix-functions/pthread_attr_getstackaddr.texi.
48318         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48319         doc/posix-functions/pthread_attr_setstackaddr.texi.
48320         * doc/pastposix-functions/rindex.texi: Renamed from
48321         doc/posix-functions/rindex.texi.
48322         * doc/pastposix-functions/scalb.texi: Renamed from
48323         doc/posix-functions/scalb.texi.
48324         * doc/pastposix-functions/setcontext.texi: Renamed from
48325         doc/posix-functions/setcontext.texi.
48326         * doc/pastposix-functions/swapcontext.texi: Renamed from
48327         doc/posix-functions/swapcontext.texi.
48328         * doc/pastposix-functions/ualarm.texi: Renamed from
48329         doc/posix-functions/ualarm.texi.
48330         * doc/pastposix-functions/usleep.texi: Renamed from
48331         doc/posix-functions/usleep.texi.
48332         * doc/pastposix-functions/vfork.texi: Renamed from
48333         doc/posix-functions/vfork.texi.
48334         * doc/pastposix-functions/wcswcs.texi: Renamed from
48335         doc/posix-functions/wcswcs.texi.
48336         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48337         (Function Substitutes): Update.
48338
48339 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48340
48341         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48342         m4/strerror.m4.
48343
48344 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48345             Bruno Haible  <bruno@clisp.org>
48346
48347         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48348
48349 2008-12-13  Bruno Haible  <bruno@clisp.org>
48350
48351         * modules/strtoull (Depends-on): Remove unistd.
48352
48353 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48354
48355         * modules/strtoull (Depends-on): Add stdlib.
48356
48357 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48358
48359         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48360
48361 2008-12-10  Jim Meyering  <meyering@redhat.com>
48362
48363         gl_ASSERT: don't say assertions are disabled when they're not
48364         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48365         "checking whether to enable assertions... no", when they are in
48366         fact enabled.  This is solely a bug in the output of configure.
48367         In spite of saying "no", NDEBUG was not defined in that case.
48368         Also, as noted by Eric Blake, leave assertions enabled upon
48369         --enable-assert=INVALID.
48370
48371 2008-12-10  Bruno Haible  <bruno@clisp.org>
48372
48373         Change MODULES.html to refer to POSIX:2008 where possible.
48374         * MODULES.html.sh (POSIX2008_URL): New variable.
48375         (posix_headers): Remove sys/timeb, ucontext.
48376         (posix2001_headers): New variable.
48377         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48378         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48379         index, makecontext, mktemp, pthread_attr_getstackaddr,
48380         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48381         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48382         (posix2001_functions): New variable.
48383         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48384         otherwise.
48385
48386 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48387
48388         add missing include to parse-duration.c
48389         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48390         * modules/parse-duration (Depends-on): Add xalloc.
48391
48392         fix sed script reading maint.mk
48393         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48394         (syntax-check-rules): Use it.
48395
48396 2008-12-09  Bruno Haible  <bruno@clisp.org>
48397
48398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48399         MacOS X 10.4/PowerPC.
48400         Reported by Simon Josefsson.
48401
48402 2008-12-08  Jim Meyering  <meyering@redhat.com>
48403
48404         work around mingw's lack of some S_IF definitions
48405         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48406         Reported by Simon Josefsson.
48407
48408 2008-12-08  Bruno Haible  <bruno@clisp.org>
48409
48410         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48411         applied to variables. Needed on MacOS X 10.4/PowerPC.
48412         Reported by Simon Josefsson.
48413
48414 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48415         and Eric Blake  <ebb9@byu.net>
48416
48417         assert: honor --enable-assert
48418         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48419         order to honor --enable-assert, rather than treating it as a
48420         synonym for --disable-assert.
48421
48422 2008-12-08  Jim Meyering  <meyering@redhat.com>
48423
48424         * lib/posixtm.c: Remove now-useless declaration of mktime.
48425
48426         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48427
48428 2008-12-07  Bruno Haible  <bruno@clisp.org>
48429
48430         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48431         test_once): Mark functions as static.
48432         * tests/test-tls.c (test_tls): Likewise.
48433
48434 2008-12-07  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48437         iconv_register_autodetect.
48438
48439 2008-12-07  Jim Meyering  <meyering@redhat.com>
48440
48441         posixtm.c: avoid a warning
48442         * lib/posixtm.c (posixtime): Don't initialize tm0.
48443         It's no longer needed to placate gcc4's -Wuninitialized,
48444         and the attempt to placate would elicit a new warning.
48445
48446         unicodeio.c: mark unused parameters
48447         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48448         (fallback_failure_callback): Likewise.
48449
48450 2008-12-07  Bruno Haible  <bruno@clisp.org>
48451
48452         * gnulib-tool (func_create_testdir): When building the tests
48453         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48454         Reported by Simon Josefsson.
48455
48456 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48457
48458         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48459
48460 2008-12-06  Bruno Haible  <bruno@clisp.org>
48461
48462         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48463         Suggested by Eric Blake.
48464
48465 2008-12-06  Bruno Haible  <bruno@clisp.org>
48466
48467         Fix a c-stack test failure on MacOS X.
48468         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48469         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48470         handler for SIGBUS as well.
48471         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48472         install a signal handler for SIGBUS as well.
48473         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48474
48475 2008-12-06  Bruno Haible  <bruno@clisp.org>
48476
48477         Advocacy documentation.
48478         * doc/gnulib-intro.texi (Benefits): New section.
48479         * doc/gnulib.texi: Update.
48480
48481 2008-12-06  Bruno Haible  <bruno@clisp.org>
48482
48483         Document the 'manywarnings' module.
48484         * doc/manywarnings.texi: New file.
48485         * doc/gnulib.texi: Include it.
48486
48487 2008-12-05  Eric Blake  <ebb9@byu.net>
48488
48489         tests: silence some gcc warnings
48490         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48491         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48492         type mismatches.
48493
48494 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48495             Bruno Haible  <bruno@clisp.org>
48496
48497         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48498
48499 2008-11-29  Jim Meyering  <meyering@redhat.com>
48500
48501         unicodeio.c: mark unused parameters
48502         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48503         (fallback_failure_callback): Likewise.
48504
48505         fts: fix a thinko
48506         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48507         (set_stat_type): Return S_IF*-valued "type" directly.
48508         Prompted by James Youngman's spotting a related bug.
48509         Confirmed by further testing through find.
48510
48511         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48512         * lib/fts.c (D_TYPE): Define.
48513         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48514         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48515         (s_ifmt_shift_bits): New function.
48516         (set_stat_type): New function.
48517         (fts_build): When not calling fts_stat, call set_stat_type
48518         to propagate dirent.d_type info to fts_read caller.
48519         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48520         fts_statp->st_mode type information may be valid.
48521
48522 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48523
48524         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48525         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48526         <sds@gnu.org>.
48527
48528 2008-11-20  Bruno Haible  <bruno@clisp.org>
48529
48530         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48531         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48532         INCLUDE_NEXT.
48533         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48534         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48535         * modules/math (Makefile.am): Substitute
48536         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48537         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48538
48539 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48540             Bruno Haible  <bruno@clisp.org>
48541
48542         * lib/stdint.in.h: Define all type macros so that their expansion is
48543         a single typedef'ed token. Fixes a compilation failure in Boost which
48544         does "using ::int8_t;".
48545
48546 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48547
48548         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48549         gl_MANYWARN_ALL_GCC.
48550         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48551         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48552         * modules/manywarnings: New file.
48553         * MODULES.html.sh: Mention manywarnings module.
48554
48555 2008-11-18  Bruno Haible  <bruno@clisp.org>
48556
48557         * doc/gnulib-tool.texi (Unit tests): New section.
48558
48559 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48560
48561         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48562         paths like 'lib/po/foo.po'.
48563
48564 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48565
48566         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48567         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48568
48569 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48570
48571         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48572         parameter works.
48573
48574 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48575
48576         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48577
48578 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48579
48580         * modules/parse-duration-tests: New file.
48581         * tests/test-parse-duration.sh: New file.
48582         * tests/test-parse-duration.c: New file.
48583
48584         New module 'parse-duration'.
48585         * lib/parse-duration.h: New file.
48586         * lib/parse-duration.c: New file.
48587         * modules/parse-duration: New file.
48588
48589 2008-11-17  Bruno Haible  <bruno@clisp.org>
48590
48591         * tests/test-select-out.sh: Comment out the first pipe test.
48592         Reported by Simon Josefsson.
48593
48594 2008-11-17  Bruno Haible  <bruno@clisp.org>
48595
48596         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48597         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48598         gl_HOSTENT.
48599
48600 2008-11-17  Bruno Haible  <bruno@clisp.org>
48601
48602         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48603         -lnetwork and -lnet. Needed for Haiku and BeOS.
48604
48605 2008-11-16  Bruno Haible  <bruno@clisp.org>
48606
48607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48608
48609 2008-11-16  Bruno Haible  <bruno@clisp.org>
48610
48611         Avoid test failure on Haiku.
48612         * tests/test-fsync.c: Include <errno.h>.
48613         (main): Don't require that fsync (0) fails.
48614
48615 2008-11-15  Bruno Haible  <bruno@clisp.org>
48616
48617         New module 'hostent'.
48618         * modules/hostent: New file.
48619         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48620
48621 2008-11-15  Bruno Haible  <bruno@clisp.org>
48622
48623         New module 'servent'.
48624         * modules/servent: New file.
48625         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48626
48627 2008-11-15  Bruno Haible  <bruno@clisp.org>
48628
48629         Avoid generating same test program with two different rules.
48630         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48631         test-frexp to test-frexp-nolibm.
48632         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48633         test-frexpl to test-frexpl-nolibm.
48634
48635 2008-11-15  Bruno Haible  <bruno@clisp.org>
48636
48637         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48638         $(FREXPL_LIBM).
48639
48640 2008-11-15  Bruno Haible  <bruno@clisp.org>
48641
48642         * lib/netdb.in.h: Activate the definitions also when the system's
48643         <netdb.h> has 'struct addrinfo'.
48644         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48645         EAI_OVERFLOW or AI_NUMERICSERV.
48646         * doc/posix-headers/netdb.texi: Document the problem.
48647
48648 2008-11-15  Bruno Haible  <bruno@clisp.org>
48649
48650         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48651
48652         Make the 'sched' module work on platforms where <sched.h> exists but
48653         is incomplete (such as Haiku).
48654         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48655         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48656         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48657         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48658         HAVE_STRUCT_SCHED_PARAM.
48659         * modules/sched (Depends-on): Add include_next.
48660         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48661         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48662         * doc/posix-headers/sched.texi: Document the issue.
48663
48664 2008-11-13  Jim Meyering  <meyering@redhat.com>
48665
48666         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48667         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48668         test would fail due to the difference in the Report bugs to ...
48669         line.  The expected address is empty, "<>", while the actual
48670         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48671
48672 2008-11-12  Bruno Haible  <bruno@clisp.org>
48673
48674         lstat: don't compile lstat.c on systems lacking lstat
48675         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48676         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48677         Reported by Daniel P. Berrange via Jim Meyering.
48678
48679 2008-11-12  Jim Meyering  <meyering@redhat.com>
48680
48681         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48682
48683 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48684
48685         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48686         instead.
48687
48688 2008-11-12  Bruno Haible  <bruno@clisp.org>
48689
48690         * lib/unicodeio.c: Include unistr.h.
48691         (utf8_wctomb): Remove function.
48692         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48693
48694 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48695
48696         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48697         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48698         <bruno@clisp.org>.
48699         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48700
48701 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48702
48703         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48704         * doc/gnulib.texi: Add section for warnings.
48705
48706 2008-11-11  Bruno Haible  <bruno@clisp.org>
48707
48708         * lib/sockets.h: Add a comment.
48709
48710 2008-11-11  Karl Berry  <karl@gnu.org>
48711
48712         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48713
48714 2008-11-11  Eric Blake  <ebb9@byu.net>
48715
48716         fdl.texi: avoid git symlinks
48717         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48718
48719 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48720
48721         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48722
48723 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48724
48725         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48726         (gl_WARN_ADD): Substitute $2 if literal.
48727
48728 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48729
48730         * m4/warning.m4: Remove.
48731
48732 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48733
48734         * m4/warnings.m4: Almost complete rewrite. :-)
48735
48736 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48737
48738         * modules/warnings: New module.
48739         * m4/warnings.m4: New file.
48740         * MODULES.html.sh: Mention warnings module.
48741         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48742         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48743
48744 2008-11-10  Eric Blake  <ebb9@byu.net>
48745
48746         fdl.texi: make a symlink to the latest version
48747         * doc/standards.texi: Revert today's earlier change.
48748         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48749         * doc/fdl.texi: ...and replace this with a symlink to the newer
48750         fdl-1.3.texi.
48751
48752 2008-11-10  Bruno Haible  <bruno@clisp.org>
48753
48754         * tests/test-select-fd.c (main): Accept the result file name as fourth
48755         argument.
48756         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48757         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48758
48759 2008-11-10  Bruno Haible  <bruno@clisp.org>
48760
48761         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48762         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48763         as autoconf-substituted macros.
48764         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48765         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48766         gl_NETDB_H_DEFAULTS. Set these variables.
48767         * modules/netdb (Makefile.am): Substitute these variables.
48768
48769 2008-11-10  Eric Blake  <ebb9@byu.net>
48770
48771         standards.texi: include correct file for FDL 1.3
48772         * doc/standards.texi (GNU Free Documentation License): Change
48773         include file to pull in FDL 1.3, not 1.2.
48774
48775         fdl.texi: revert accidental change to license
48776         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48777
48778 2008-11-10  Bruno Haible  <bruno@clisp.org>
48779
48780         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48781         cross-compiling guesses also when the native compile gives no result.
48782
48783 2008-11-10  Bruno Haible  <bruno@clisp.org>
48784
48785         * lib/spawni.c (__spawni): Force variable into the stack.
48786
48787 2008-11-10  Bruno Haible  <bruno@clisp.org>
48788
48789         Add support for Haiku.
48790         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48791         glibc and BeOS, but also on Haiku.
48792         * lib/fpurge.c (fpurge): Likewise.
48793         * lib/freadable.c (freadable): Likewise.
48794         * lib/freadahead.c (freadahead): Likewise.
48795         * lib/freading.c (freading): Likewise.
48796         * lib/freadptr.c (freadptr): Likewise.
48797         * lib/freadseek.c (freadptrinc): Likewise.
48798         * lib/fseeko.c (rpl_fseeko): Likewise.
48799         * lib/fseterr.c (fseterr): Likewise.
48800         * lib/fwritable.c (fwritable): Likewise.
48801         * lib/fwriting.c (fwriting): Likewise.
48802         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48803
48804 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48805
48806         * lib/config.charset: Treat Haiku like BeOS.
48807
48808 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48809
48810         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48811         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48812
48813 2008-11-08  Bruno Haible  <bruno@clisp.org>
48814
48815         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48816         AC_CACHE_CHECK.
48817
48818 2008-11-08  Bruno Haible  <bruno@clisp.org>
48819
48820         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48821
48822 2008-11-08  Bruno Haible  <bruno@clisp.org>
48823
48824         * tests/test-select-fd.c: New file.
48825         * tests/test-select-in.sh: New file.
48826         * tests/test-select-out.sh: New file.
48827         * tests/test-select-stdin.c: New file.
48828         * modules/select-tests (Files): Add the new files.
48829         (Depends-on): Add gettimeofday.
48830         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48831         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48832         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48833
48834 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48835             Bruno Haible  <bruno@clisp.org>
48836
48837         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48838
48839 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48840
48841         * build-aux/pmccabe2html: Added support for C++ source files.
48842
48843 2008-11-05  Ben Pfaff  <blp@gnu.org>
48844
48845         Fix lib/close.c build on Windows.
48846         * modules/close (Files): Add lib/w32sock.h.
48847
48848 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48849
48850         Accept Bison's NEWS format.
48851         * build-aux/announce-gen (print_news_deltas): Tweak
48852         $re_prefix.
48853
48854 2008-11-04  Bruno Haible  <bruno@clisp.org>
48855
48856         * modules/random_r (Maintainer): Add glibc.
48857
48858 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48859
48860         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48861         by karl@freefriends.org (Karl Berry).
48862         * doc/alloca.texi: Likewise.
48863         * doc/c-ctype.texi: Likewise.
48864         * doc/c-strcase.texi: Likewise.
48865         * doc/c-strcaseeq.texi: Likewise.
48866         * doc/c-strcasestr.texi: Likewise.
48867         * doc/c-strstr.texi: Likewise.
48868         * doc/c-strtod.texi: Likewise.
48869         * doc/c-strtold.texi: Likewise.
48870         * doc/ctime.texi: Likewise.
48871         * doc/error.texi: Likewise.
48872         * doc/fdl.texi: Likewise.
48873         * doc/gcd.texi: Likewise.
48874         * doc/getdate.texi: Likewise.
48875         * doc/gnulib-intro.texi: Likewise.
48876         * doc/gnulib-tool.texi: Likewise.
48877         * doc/gnulib.texi: Likewise.
48878         * doc/inet_ntoa.texi: Likewise.
48879         * doc/maintain.texi: Likewise.
48880         * doc/make-stds.texi: Likewise.
48881         * doc/quote.texi: Likewise.
48882         * doc/regexprops-generic.texi: Likewise.
48883         * doc/standards.texi: Likewise.
48884         * doc/verify.texi: Likewise.
48885         * doc/visibility.texi: Likewise.
48886         * doc/gnulib.texi (GNU Free Documentation License): Include
48887         fdl-1.3.texi instead of fdl.texi.
48888
48889 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48890
48891         * doc/fdl-1.3.texi: New file, from
48892         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48893         * modules/fdl-1.3: Add.
48894         * MODULES.html.sh: Add fdl-1.3.
48895
48896 2008-11-03  Bruno Haible  <bruno@clisp.org>
48897
48898         Make determination of absolute name of header file work with AIX xlc.
48899         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48900         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48901         preprocessing.
48902         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48903         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48904
48905 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48906
48907         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48908         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48909         <ludo@gnu.org>.
48910
48911 2008-11-02  Bruno Haible  <bruno@clisp.org>
48912
48913         Mark 'strpbrk' obsolete.
48914         * modules/strpbrk (Status, Notice): New sections.
48915         * modules/strtok_r (Depends-on): Add strpbrk.
48916
48917 2008-11-02  Bruno Haible  <bruno@clisp.org>
48918
48919         Mark 'strdup' obsolete.
48920         * modules/strdup (Status, Notice): New sections.
48921         * modules/findprog (Depends-on): Add strdup.
48922         * modules/getaddrinfo (Depends-on): Likewise.
48923         * modules/localename (Depends-on): Likewise.
48924         * modules/relocatable-lib (Depends-on): Likewise.
48925         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48926         * modules/relocatable-prog (Depends-on): Likewise.
48927         * modules/trim (Depends-on): Likewise.
48928         * modules/unictype/gen-ctype (Depends-on): Likewise.
48929         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48930
48931 2008-11-02  Bruno Haible  <bruno@clisp.org>
48932
48933         Mark 'strcspn' obsolete.
48934         * modules/strcspn (Status, Notice): New sections.
48935
48936 2008-11-02  Bruno Haible  <bruno@clisp.org>
48937
48938         Mark 'rmdir' obsolete.
48939         * modules/rmdir (Status, Notice): New sections.
48940         * modules/clean-temp (Depends-on): Add rmdir.
48941         * modules/openat (Depends-on): Likewise.
48942
48943 2008-11-02  Bruno Haible  <bruno@clisp.org>
48944
48945         Mark 'raise' obsolete.
48946         * modules/raise (Status, Notice): New sections.
48947         (Include): Specify <signal.h>.
48948         * modules/stdio (Depends-on): Add raise.
48949         * modules/write (Depends-on): Likewise.
48950
48951 2008-11-02  Bruno Haible  <bruno@clisp.org>
48952
48953         Mark 'memset' obsolete.
48954         * modules/memset (Status, Notice): New sections.
48955
48956 2008-11-02  Bruno Haible  <bruno@clisp.org>
48957
48958         Mark 'memmove' obsolete.
48959         * modules/memmove (Status, Notice): New sections.
48960         * modules/argp (Depends-on): Add memmove.
48961         * modules/argz (Depends-on): Likewise.
48962         * modules/canonicalize (Depends-on): Likewise.
48963         * modules/canonicalize-lgpl (Depends-on): Likewise.
48964         * modules/fts (Depends-on): Likewise.
48965         * modules/getcwd (Depends-on): Likewise.
48966         * modules/human (Depends-on): Likewise.
48967         * modules/regex (Depends-on): Likewise.
48968         * modules/striconveh (Depends-on): Likewise.
48969         * modules/trim (Depends-on): Likewise.
48970         * modules/unistr/u8-move (Depends-on): Likewise.
48971         * modules/unistr/u16-move (Depends-on): Likewise.
48972         * modules/unistr/u32-move (Depends-on): Likewise.
48973
48974 2008-11-02  Bruno Haible  <bruno@clisp.org>
48975
48976         Mark 'memcpy' obsolete.
48977         * modules/memcpy (Status, Notice): New sections.
48978
48979 2008-11-02  Bruno Haible  <bruno@clisp.org>
48980
48981         Mark 'memcmp' obsolete.
48982         * modules/memcmp (Status, Notice): New sections.
48983         * modules/argmatch (Depends-on): Add memchr.
48984         * modules/backupfile (Depends-on): Likewise.
48985         * modules/c-strcasestr (Depends-on): Likewise.
48986         * modules/crypto/des (Depends-on): Likewise.
48987         * modules/csharpcomp (Depends-on): Likewise.
48988         * modules/fnmatch (Depends-on): Likewise.
48989         * modules/git-merge-changelog (Depends-on): Likewise.
48990         * modules/isnand (Depends-on): Likewise.
48991         * modules/isnand-nolibm (Depends-on): Likewise.
48992         * modules/isnanf (Depends-on): Likewise.
48993         * modules/isnanf-nolibm (Depends-on): Likewise.
48994         * modules/isnanl (Depends-on): Likewise.
48995         * modules/isnanl-nolibm (Depends-on): Likewise.
48996         * modules/mbchar (Depends-on): Likewise.
48997         * modules/memcoll (Depends-on): Likewise.
48998         * modules/quotearg (Depends-on): Likewise.
48999         * modules/regex (Depends-on): Likewise.
49000         * modules/relocatable-prog (Depends-on): Likewise.
49001         * modules/same (Depends-on): Likewise.
49002         * modules/signbit (Depends-on): Likewise.
49003         * modules/strcasestr-simple (Depends-on): Likewise.
49004         * modules/unictype/gen-ctype (Depends-on): Likewise.
49005         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49006         * modules/uniname/uniname (Depends-on): Likewise.
49007         * modules/unistr/u8-cmp (Depends-on): Likewise.
49008
49009 2008-11-02  Bruno Haible  <bruno@clisp.org>
49010
49011         Mark 'memchr' obsolete.
49012         * modules/memchr (Status, Notice): New sections.
49013         * modules/argp (Depends-on): Add memchr.
49014         * modules/base64 (Depends-on): Likewise.
49015         * modules/c-strcasestr (Depends-on): Likewise.
49016         * modules/chdir-long (Depends-on): Likewise.
49017         * modules/fnmatch (Depends-on): Likewise.
49018         * modules/getsubopt (Depends-on): Likewise.
49019         * modules/git-merge-changelog (Depends-on): Likewise.
49020         * modules/glob (Depends-on): Likewise.
49021         * modules/strcasestr-simple (Depends-on): Likewise.
49022         * modules/strnlen (Depends-on): Likewise.
49023
49024 2008-11-02  Bruno Haible  <bruno@clisp.org>
49025
49026         Mark 'atexit' obsolete.
49027         * modules/atexit (Status, Notice): New sections.
49028         * modules/chdir-long (Depends-on): Add atexit.
49029         * modules/wait-process (Depends-on): Likewise.
49030
49031 2008-11-02  Bruno Haible  <bruno@clisp.org>
49032
49033         * gnulib-tool: New option --with-obsolete.
49034         (func_usage): Document it.
49035         (func_modules_transitive_closure): Drop obsolete dependencies if
49036         incobsolete is not true.
49037         (func_import): Read and save the incobsolete variable to the cache.
49038
49039 2008-11-02  Bruno Haible  <bruno@clisp.org>
49040
49041         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49042         * gnulib-tool: New option --extract-status.
49043         (func_usage): Document it.
49044         (sed_extract_prog): Recognize it.
49045         (func_get_status): New function.
49046
49047 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49048
49049         * modules/sockets (License): Change from LGPL to LGPLv2+.
49050
49051 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49052
49053         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49054
49055 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49056
49057         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49058         Mention times and sys_times.
49059         * modules/sys_times, modules/sys_times-tests: New modules.
49060         * modules/times, modules/times-tests: Likewise
49061         * m4/sys_times_h.m4: New file.
49062         * lib/sys_times.in.h: Likewise
49063         * lib/times.c: Likewise.
49064         * tests/test-sys_times.c: Likewise.
49065         * tests/test-times.c: Likewise.
49066         * doc/posix-headers/sys_times.texi: Update.
49067         * doc/posix-functions/times.texi: Update.
49068
49069 2008-10-28  Jim Meyering  <meyering@redhat.com>
49070
49071         * modules/tempname (Depends-on): Add lstat.
49072
49073         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49074
49075 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49076
49077         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49078         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49079         using idiom used elsewhere in gnulib.
49080
49081 2008-10-27  Jim Meyering  <meyering@redhat.com>
49082
49083         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49084
49085 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49086
49087         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49088         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49089         programs.
49090         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49091
49092 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49093
49094         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49095
49096 2008-10-27  Bruno Haible  <bruno@clisp.org>
49097
49098         * tests/test-lstat.c: Include <stdio.h>.
49099
49100 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49101
49102         * modules/lstat-tests: New module.
49103         * tests/test-lstat.c: New file.
49104
49105 2008-10-26  Jim Meyering  <meyering@redhat.com>
49106
49107         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49108
49109 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49110             Bruno Haible  <bruno@clisp.org>
49111
49112         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49113         * modules/configmake (Include): Add a note that the include must come
49114         after all system headers.
49115         * lib/javaversion.c: Include configmake.h after all other includes.
49116
49117 2008-10-26  Bruno Haible  <bruno@clisp.org>
49118
49119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49120         HAVE_STRUCT_RANDOM_DATA to 1.
49121         (gl_STDLIB_H): Simplify.
49122
49123 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49124
49125         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49126         substitute HAVE_STRUCT_RANDOM_DATA.
49127         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49128         random_data.
49129         * modules/stdlib (Makefile.am): Substitute
49130         HAVE_STRUCT_RANDOM_DATA.
49131
49132 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49133
49134         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49135         * doc/gnulib-intro.texi (Copyright): Likewise.
49136
49137 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49138
49139         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49140         findings.
49141
49142 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49143             Bruno Haible  <bruno@clisp.org>
49144
49145         * lib/unistd.in.h: Include <winsock2.h>.
49146         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49147         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49148         Provide dummy declarations.
49149         (gethostname): Override.
49150         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49151         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49152         gl_PREREQ_SYS_H_WINSOCK2.
49153         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49154         * doc/posix-functions/gethostname.texi: More details.
49155
49156 2008-10-25  Bruno Haible  <bruno@clisp.org>
49157
49158         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49159         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49160         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49161
49162         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49163         here ...
49164         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49165         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49166         gl_UNISTD_H_DEFAULTS.
49167
49168 2008-10-25  Eric Blake  <ebb9@byu.net>
49169
49170         signbit: avoid spurious compiler failure
49171         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49172         declarations inside function.
49173
49174 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49175             Bruno Haible  <bruno@clisp.org>
49176
49177         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49178         * modules/random_r (Depends-on): Add stdint.
49179
49180 2008-10-24  Bruno Haible  <bruno@clisp.org>
49181
49182         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49183         Eggert.
49184         * modules/strerror (License): Likewise.
49185
49186 2008-10-24  Jim Meyering  <meyering@redhat.com>
49187
49188         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49189         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49190
49191 2008-10-24  Eric Blake  <ebb9@byu.net>
49192
49193         getgroups: fix compilation when getgroups is available
49194         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49195         but with <config.h> override of getgroups disabled.
49196
49197 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49198
49199         * doc/gnulib.texi (Header files): Add note about C++ problems.
49200         Explained by Bruno Haible <bruno@clisp.org>.
49201
49202 2008-10-23  Bruno Haible  <bruno@clisp.org>
49203
49204         Define a dummy SA_NODEFER macro on Interix.
49205         * lib/signal.in.h (SA_NODEFER): Define fallback.
49206         Reported by Aleksey Cheusov <cheusov@tut.by> via
49207         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49208
49209 2008-10-23  Bruno Haible  <bruno@clisp.org>
49210
49211         * modules/freadahead (License): Change to LGPLv2+.
49212         Suggested by Simon Josefsson.
49213
49214 2008-10-23  Jim Meyering  <meyering@redhat.com>
49215
49216         random_r: new module
49217         * modules/random_r: New file.
49218         * m4/random_r.m4: New file.
49219         * lib/random_r.c: New file, from glibc.
49220         * modules/random_r-tests: New file.
49221         * tests/test-random_r.c: New file.
49222         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49223          Declare.
49224         (RAND_MAX): Define.
49225         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49226         * modules/stdlib: Substitute them, too.
49227         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49228         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49229         * doc/glibc-functions/random_r.texi: Likewise.
49230         * doc/glibc-functions/setstate_r.texi: Likewise.
49231         * doc/glibc-functions/srandom_r.texi: Likewise.
49232         * config/srclist.txt: Mention it.
49233
49234 2008-10-23  David Lutterkort  <lutter@redhat.com>
49235
49236         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49237         link requirement
49238
49239 2008-10-23  Jim Meyering  <meyering@redhat.com>
49240
49241         selinux-h: mark parameters of stub functions as intentionally unused
49242         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49243         * lib/se-context.in.h: Likewise.
49244
49245 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49246
49247         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49248
49249 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49250
49251         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49252
49253 2008-10-22  Eric Blake  <ebb9@byu.net>
49254
49255         glthread/thread: avoid compiler warning
49256         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49257         Add unreachable abort to silence compiler.
49258
49259 2008-10-22  Eric Blake  <ebb9@byu.net>
49260
49261         netdb: also supply struct addrinfo for cygwin 1.5.x
49262         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49263         older cygwin.
49264         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49265         cygwin.
49266         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49267
49268 2008-10-22  Bruno Haible  <bruno@clisp.org>
49269
49270         * users.txt: Update entry about pspp.
49271
49272 2008-10-21  Bruno Haible  <bruno@clisp.org>
49273
49274         Simplification.
49275         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49276         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49277
49278         Simplification.
49279         * lib/ioctl.c (ioctl): Don't undefine.
49280         * lib/socket.c (socket): Don't undefine.
49281
49282         Remove unused module indicator macros.
49283         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49284         GNULIB_$1 as a C macro.
49285
49286         * doc/posix-functions/close.texi: Undo last change.
49287         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49288         Windows platforms.
49289
49290 2008-10-21  Bruno Haible  <bruno@clisp.org>
49291
49292         Add gethostname() declaration to <unistd.h>.
49293         * lib/unistd.in.h (gethostname): New declaration.
49294         * lib/gethostname.c: Include <unistd.h>.
49295         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49296         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49298         and HAVE_GETHOSTNAME.
49299         * modules/gethostname (Depends-on): Add unistd.
49300         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49301         (Include): Specify <unistd.h>.
49302         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49303         HAVE_GETHOSTNAME.
49304         * tests/test-gethostname.c: Include <unistd.h> first.
49305
49306 2008-10-21  Bruno Haible  <bruno@clisp.org>
49307
49308         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49309         * modules/select-tests (Depends-on): Likewise.
49310         Reported by Simon Josefsson.
49311
49312 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49313
49314         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49315         * lib/accept.c: New file, based on winsock.c.
49316         * lib/bind.c: New file, based on winsock.c.
49317         * lib/connect.c: New file, based on winsock.c.
49318         * lib/getpeername.c: New file, based on winsock.c.
49319         * lib/getsockname.c: New file, based on winsock.c.
49320         * lib/getsockopt.c: New file, based on winsock.c.
49321         * lib/ioctl.c: New file, based on winsock.c.
49322         * lib/listen.c: New file, based on winsock.c.
49323         * lib/recv.c: New file, based on winsock.c.
49324         * lib/recvfrom.c: New file, based on winsock.c.
49325         * lib/send.c: New file, based on winsock.c.
49326         * lib/sendto.c: New file, based on winsock.c.
49327         * lib/setsockopt.c: New file, based on winsock.c.
49328         * lib/shutdown.c: New file, based on winsock.c.
49329         * lib/socket.c: New file, based on winsock.c.
49330         * lib/w32sock.h: New file, based on winsock.c.
49331         * lib/winsock.c: Remove file.
49332         * modules/accept: Likewise.
49333         * modules/bind: Likewise.
49334         * modules/connect: Likewise.
49335         * modules/getpeername: Likewise.
49336         * modules/getsockname: Likewise.
49337         * modules/getsockopt: Likewise.
49338         * modules/ioctl: Likewise.
49339         * modules/listen: Likewise.
49340         * modules/recv: Likewise.
49341         * modules/recvfrom: Likewise.
49342         * modules/send: Likewise.
49343         * modules/sendto: Likewise.
49344         * modules/setsockopt: Likewise.
49345         * modules/shutdown: Likewise.
49346         * modules/socket: Use socket.c instead of winsock.c.
49347         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49348         * doc/posix-functions/accept.texi: Doc fix.
49349         * doc/posix-functions/bind.texi: Doc fix.
49350         * doc/posix-functions/close.texi: Doc fix.
49351         * doc/posix-functions/connect.texi: Doc fix.
49352         * doc/posix-functions/getpeername.texi: Doc fix.
49353         * doc/posix-functions/getsockname.texi: Doc fix.
49354         * doc/posix-functions/getsockopt.texi: Doc fix.
49355         * doc/posix-functions/ioctl.texi: Doc fix.
49356         * doc/posix-functions/listen.texi: Doc fix.
49357         * doc/posix-functions/recv.texi: Doc fix.
49358         * doc/posix-functions/recvfrom.texi: Doc fix.
49359         * doc/posix-functions/send.texi: Doc fix.
49360         * doc/posix-functions/sendto.texi: Doc fix.
49361         * doc/posix-functions/setsockopt.texi: Doc fix.
49362         * doc/posix-functions/shutdown.texi: Doc fix.
49363         * doc/posix-functions/socket.texi: Doc fix.
49364
49365 2008-10-20  Bruno Haible  <bruno@clisp.org>
49366
49367         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49368         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49369         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49370         as an alias for SIGABRT.
49371         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49372         (sigaction): Map it to SIGABRT.
49373         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49374
49375 2008-10-20  Bruno Haible  <bruno@clisp.org>
49376
49377         * lib/fts.c: Don't include lstat.h.
49378         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49379
49380         Move the lstat() declaration to <sys/stat.h>.
49381         * lib/lstat.h: Remove file.
49382         * lib/sys_stat.in.h: Add special invocation convention.
49383         (lstat): New declaration.
49384         * lib/lstat.c (orig_lstat): New function.
49385         (rpl_lstat): Use orig_lstat instead of lstat.
49386         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49387         AC_C_INLINE. Set REPLACE_LSTAT.
49388         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49389         and REPLACE_LSTAT.
49390         * modules/lstat (Files): Remove lib/lstat.h.
49391         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49392         (Include): Specify <sys/stat.h> instead of lstat.h.
49393         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49394         REPLACE_LSTAT.
49395         * NEWS: Mention the change.
49396
49397 2008-10-20  Bruno Haible  <bruno@clisp.org>
49398
49399         * modules/posix_spawn-tests: New file.
49400         * tests/test-posix_spawn3.c: New file.
49401
49402 2008-10-20  Bruno Haible  <bruno@clisp.org>
49403
49404         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49405         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49406         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49407         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49408         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49409
49410 2008-10-20  Bruno Haible  <bruno@clisp.org>
49411
49412         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49413         of posix_spawn on AIX 5.3.
49414
49415 2008-10-20  Bruno Haible  <bruno@clisp.org>
49416
49417         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49418
49419 2008-10-20  Bruno Haible  <bruno@clisp.org>
49420
49421         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49422         of AC_LANG_PROGRAM.
49423
49424 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49425
49426         * lib/netdb.in.h: Don't define GNU specific constants until they
49427         are supported or needed.  Reported by Bruno Haible
49428         <bruno@clisp.org>.
49429
49430 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49431
49432         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49433
49434 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49435
49436         * lib/getaddrinfo.h: Remove file.
49437         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49438         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49439         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49440         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49441         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49442         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49443         * tests/test-getaddrinfo.c: Likewise.
49444         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49445         * NEWS: Mention change.
49446
49447 2008-10-19  Bruno Haible  <bruno@clisp.org>
49448
49449         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49450
49451 2008-10-19  Bruno Haible  <bruno@clisp.org>
49452
49453         * lib/wait-process.c: Include simply <sys/wait.h>.
49454         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49455         WIFSTOPPED): Remove fallback definitions.
49456         * modules/wait-process (Depends-on): Add sys_wait.
49457
49458         New module 'sys_wait'.
49459         * modules/sys_wait: New file.
49460         * lib/sys_wait.in.h: New file, partially copied from
49461         lib/wait-process.c.
49462         * m4/sys_wait_h.m4: New file.
49463         * doc/posix-headers/sys_wait.texi: Mention the new module.
49464
49465 2008-10-19  Bruno Haible  <bruno@clisp.org>
49466
49467         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49468
49469 2008-10-19  Bruno Haible  <bruno@clisp.org>
49470
49471         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49472         * lib/wait-process.c (WAIT_T): Remove type.
49473         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49474         (wait_subprocess): Update.
49475
49476 2008-10-19  Bruno Haible  <bruno@clisp.org>
49477
49478         New module 'atoll'.
49479         * modules/atoll: New file.
49480         * lib/stdlib.in.h (atoll): New declaration.
49481         * lib/atoll.c: New file, from glibc with modifications.
49482         * m4/atoll.m4: New file.
49483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49484         HAVE_ATOLL.
49485         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49486         * doc/posix-functions/atoll.texi: Mention the new module.
49487
49488 2008-10-19  Bruno Haible  <bruno@clisp.org>
49489
49490         Add strtoull() declaration to <stdlib.h>.
49491         * lib/stdlib.in.h (strtoull): New declaration.
49492         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49493         Set HAVE_STRTOULL.
49494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49495         HAVE_STRTOULL.
49496         * modules/strtoull (Depends-on): Add stdlib.
49497         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49498         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49499         HAVE_STRTOULL.
49500
49501 2008-10-19  Bruno Haible  <bruno@clisp.org>
49502
49503         Add strtoll() declaration to <stdlib.h>.
49504         * lib/stdlib.in.h (strtoll): New declaration.
49505         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49506         Set HAVE_STRTOLL.
49507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49508         HAVE_STRTOLL.
49509         * modules/strtoll (Depends-on): Add stdlib.
49510         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49511         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49512
49513 2008-10-19  Bruno Haible  <bruno@clisp.org>
49514
49515         * modules/bcopy (Depends-on): Add strings.
49516         (Include): Specify <strings.h>.
49517
49518 2008-10-19  Bruno Haible  <bruno@clisp.org>
49519
49520         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49521
49522 2008-10-19  Bruno Haible  <bruno@clisp.org>
49523
49524         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49525         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49526         mingw.
49527
49528 2008-10-19  Bruno Haible  <bruno@clisp.org>
49529
49530         * lib/atanl.c: Don't include isnanl.h.
49531         * lib/cosl.c: Likewise.
49532         * lib/ldexpl.c: Likewise.
49533         * lib/logl.c: Likewise.
49534         * lib/sinl.c: Likewise.
49535         * lib/sqrtl.c: Likewise.
49536         * lib/tanl.c: Likewise.
49537
49538         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49539         * lib/isnanf.h: Remove file.
49540         * lib/isnand.h: Remove file.
49541         * lib/isnanl.h: Remove file.
49542         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49543         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49544         macros.
49545         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49546         HAVE_ISNANF, don't define it as a C macro.
49547         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49548         HAVE_ISNAND, don't define it as a C macro.
49549         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49550         HAVE_ISNANL, don't define it as a C macro.
49551         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49552         HAVE_ISNAN[FDL].
49553         * modules/isnanf (Files): Remove lib/isnanf.h.
49554         (Depends-on): Add math.
49555         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49556         (Include): Specify <math.h> instead of isnanf.h.
49557         * modules/isnand (Files): Remove lib/isnand.h.
49558         (Depends-on): Add math.
49559         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49560         (Include): Specify <math.h> instead of isnand.h.
49561         * modules/isnanl (Files): Remove lib/isnanl.h.
49562         (Depends-on): Add math.
49563         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49564         (Include): Specify <math.h> instead of isnanl.h.
49565         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49566         HAVE_ISNAN[FDL].
49567         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49568         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49569         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49570         * NEWS: Mention the change.
49571
49572 2008-10-18  Bruno Haible  <bruno@clisp.org>
49573
49574         Add getusershell(), setusershell(), endusershell() declarations to
49575         <unistd.h>.
49576         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49577         declarations.
49578         * lib/getusershell.c: Include unistd.h.
49579         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49580         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49581         HAVE_GETUSERSHELL.
49582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49583         and HAVE_GETUSERSHELL.
49584         * modules/getusershell (Depends-on): Add unistd, extensions.
49585         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49586         (Include): Specify <unistd.h>.
49587         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49588         HAVE_GETUSERSHELL.
49589
49590 2008-10-18  Bruno Haible  <bruno@clisp.org>
49591
49592         Add a getloadavg() declaration to <stdlib.h>.
49593         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49594         getloadavg declaration.
49595         (getloadavg): New declaration.
49596         * lib/getloadavg.c: Include <stdlib.h> first.
49597         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49598         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49599         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49601         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49602         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49603         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49604         (Include): Specify <stdlib.h>.
49605         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49606         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49607
49608 2008-10-18  Bruno Haible  <bruno@clisp.org>
49609
49610         * lib/dirchownmod.c: Don't include lchmod.h.
49611
49612         Move the lchmod() declaration to <sys/stat.h>.
49613         * lib/lchmod.h: Remove file.
49614         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49615         (lchmod): New declaration, moved here from lib/lchown.h.
49616         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49617         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49618         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49619         and HAVE_LCHMOD.
49620         * modules/lchmod (Files): Remove lib/lchmod.h.
49621         (Depends-on): Add sys_stat, extensions.
49622         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49623         (Include): Specify <sys/stat.h> instead of lchmod.h.
49624         * modules/sys_stat (Depends-on): Add link-warning.
49625         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49626         definition of GL_LINK_WARNING.
49627         * NEWS: Mention the change.
49628
49629 2008-10-18  Bruno Haible  <bruno@clisp.org>
49630
49631         * lib/fchdir.c: Don't include dirfd.h.
49632         * lib/fts.c: Likewise.
49633         * lib/getcwd.c: Likewise.
49634         * lib/glob.c: Likewise.
49635
49636         Move the dirfd() declaration to <dirent.h>.
49637         * lib/dirfd.h: Remove file.
49638         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49639         (dirfd): New declaration.
49640         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49641         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49642         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49643         HAVE_DECL_DIRFD.
49644         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49645         HAVE_DECL_DIRFD.
49646         * modules/dirfd (Files): Remove lib/dirfd.h.
49647         (Depends-on): Add dirent, extensions.
49648         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49649         (Include): Specify <dirent.h> instead of dirfd.h.
49650         * modules/dirent (Depends-on): Add link-warning.
49651         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49652         definition of GL_LINK_WARNING.
49653         * NEWS: Mention the change.
49654
49655 2008-10-18  Bruno Haible  <bruno@clisp.org>
49656
49657         Move the euidaccess() declaration to <unistd.h>.
49658         * lib/euidaccess.h: Remove file.
49659         * lib/unistd.in.h (euidaccess): New declaration.
49660         * lib/euidaccess.c: Don't include euidaccess.h.
49661         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49662         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49664         and HAVE_EUIDACCESS.
49665         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49666         (Depends-on): Add unistd.
49667         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49668         (Include): Specify <unistd.h> instead of euidaccess.h.
49669         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49670         HAVE_EUIDACCESS.
49671         * NEWS: Mention the change.
49672
49673 2008-10-18  Bruno Haible  <bruno@clisp.org>
49674
49675         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49676
49677         Move the getdomainname() declaration to <unistd.h>.
49678         * lib/getdomainname.h: Remove file.
49679         * lib/unistd.in.h (getdomainname): New declaration.
49680         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49681         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49682         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49683         HAVE_GETDOMAINNAME.
49684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49685         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49686         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49687         (Depends-on): Add unistd, extensions.
49688         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49689         (Includes): Specify <unistd.h> instead of getdomainname.h.
49690         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49691         HAVE_GETDOMAINNAME.
49692         * NEWS: Mention the change.
49693
49694 2008-10-18  Bruno Haible  <bruno@clisp.org>
49695
49696         * modules/dirent: New file.
49697         * m4/dirent_h.m4: New file.
49698         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49699         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49700         * modules/fchdir (Files): Remove lib/dirent.in.h.
49701         (Depends-on): Add dirent.
49702         (Makefile.am): Move rules to modules/dirent.
49703         * doc/posix-headers/dirent.texi: Mention the new module.
49704
49705 2008-10-18  Bruno Haible  <bruno@clisp.org>
49706
49707         Avoid -Wunused-parameter warnings in public gnulib header files.
49708         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49709         macro.
49710         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49711
49712 2008-10-18  Bruno Haible  <bruno@clisp.org>
49713
49714         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49715         * doc/glibc-functions/error.texi: Mention the module 'error'.
49716         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49717         * doc/glibc-functions/getdomainname.texi: Mention the module
49718         'getdomainname'.
49719         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49720         * doc/glibc-functions/getpagesize.texi: Mention the module
49721         'getpagesize'.
49722         * doc/glibc-functions/getusershell.texi: Mention the module
49723         'getusershell'.
49724         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49725         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49726         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49727         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49728         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49729         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49730         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49731         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49732         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49733         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49734         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49735         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49736         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49737         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49738
49739 2008-10-17  Bruno Haible  <bruno@clisp.org>
49740
49741         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49742         HP-UX and IRIX, use -0.0L.
49743         * tests/test-ceill.c (minus_zero): Likewise.
49744         * tests/test-floorl.c (minus_zero): Likewise.
49745         * tests/test-frexpl.c (minus_zero): Likewise.
49746         * tests/test-isnan.c (minus_zerol): Likewise.
49747         * tests/test-isnanl.h (minus_zero): Likewise.
49748         * tests/test-ldexpl.c (minus_zero): Likewise.
49749         * tests/test-roundl.c (minus_zero): Likewise.
49750         * tests/test-signbit.c (minus_zerol): Likewise.
49751         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49752         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49753         * tests/test-truncl.c (minus_zero): Likewise.
49754         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49755         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49756         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49757         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49758
49759 2008-10-17  Bruno Haible  <bruno@clisp.org>
49760
49761         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49762         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49763         that it gets activated only for gcc >= 3.0.
49764         * lib/dirent.in.h: Likewise.
49765         * lib/errno.in.h: Likewise.
49766         * lib/fcntl.in.h: Likewise.
49767         * lib/float.in.h: Likewise.
49768         * lib/iconv.in.h: Likewise.
49769         * lib/inttypes.in.h: Likewise.
49770         * lib/locale.in.h: Likewise.
49771         * lib/math.in.h: Likewise.
49772         * lib/netdb.in.h: Likewise.
49773         * lib/netinet_in.in.h: Likewise.
49774         * lib/search.in.h: Likewise.
49775         * lib/signal.in.h: Likewise.
49776         * lib/spawn.in.h: Likewise.
49777         * lib/stdarg.in.h: Likewise.
49778         * lib/stdint.in.h: Likewise.
49779         * lib/stdio.in.h: Likewise.
49780         * lib/stdlib.in.h: Likewise.
49781         * lib/string.in.h: Likewise.
49782         * lib/strings.in.h: Likewise.
49783         * lib/sys_file.in.h: Likewise.
49784         * lib/sys_ioctl.in.h: Likewise.
49785         * lib/sys_select.in.h: Likewise.
49786         * lib/sys_socket.in.h: Likewise.
49787         * lib/sys_stat.in.h: Likewise.
49788         * lib/sys_time.in.h: Likewise.
49789         * lib/sysexits.in.h: Likewise.
49790         * lib/time.in.h: Likewise.
49791         * lib/unistd.in.h: Likewise.
49792         * lib/wchar.in.h: Likewise.
49793         * lib/wctype.in.h: Likewise.
49794         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49795
49796 2008-10-17  Jim Meyering  <meyering@redhat.com>
49797
49798         ignore-value: don't depend on inline module
49799         * modules/ignore-value (Depends-on): Remove 'inline'.
49800         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49801         Suggestion from Bruno Haible.
49802
49803 2008-10-17  Bruno Haible  <bruno@clisp.org>
49804
49805         New implementation of condition variables for Win32.
49806         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49807         (gl_linked_waitqueue_t): New type.
49808         (gl_cond_t): Use it.
49809         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49810         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49811         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49812         (glthread_cond_init_func, glthread_cond_wait_func,
49813         glthread_cond_timedwait_func, glthread_cond_signal_func,
49814         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49815         Reimplemented on the basis of gl_linked_waitqueue_t.
49816         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49817         gl_waitqueue_t.
49818         (gl_rwlock_t): Update.
49819         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49820
49821 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49822
49823         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49824         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49825
49826 2008-10-17  Jim Meyering  <meyering@redhat.com>
49827
49828         ignore-value: new module
49829         * modules/ignore-value: New file.
49830         * lib/ignore-value.h: New file.
49831         * MODULES.html.sh (Compiler warning management): New section,
49832         just for this module.  More to come.
49833
49834 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49835
49836         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49837         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49838         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49839
49840 2008-10-16  Jim Meyering  <meyering@redhat.com>
49841
49842         openat-die.c: avoid 'no previous prototype' warning
49843         * lib/openat-die.c: Include "openat.h".
49844         Reported by Reuben Thomas <rrt@sc3d.org>.
49845
49846 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49847
49848         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49849         * lib/netdb.in.h: Fix typo.
49850         Reported by Bruno Haible  <bruno@clisp.org>
49851
49852         * lib/netdb.in.h: Include sys/socket.h for platforms without
49853         netdb.h, to get structures like hostent on MinGW.
49854         * modules/netdb (Depends-on): Add sys_socket.
49855
49856 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49857
49858         * modules/netdb, modules/netdb-tests: New file.
49859         * m4/netdb_h.m4: New file.
49860         * lib/netdb.in.h: Add, currently just an empty file pending
49861         definitions.
49862         * tests/test-netdb.c: New file.
49863         * doc/posix-headers/netdb.texi: Mention that we replace it if
49864         needed.
49865         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49866         netdb.
49867
49868 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49869
49870         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49871         with code.
49872
49873 2008-10-13  Bruno Haible  <bruno@clisp.org>
49874
49875         * lib/glthread/cond.c (glthread_cond_wait_func,
49876         glthread_cond_timedwait_func): Add a comment.
49877
49878 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49879
49880         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49881         * tests/test-select.c: Likewise,
49882
49883 2008-10-13  Bruno Haible  <bruno@clisp.org>
49884
49885         * lib/glthread/cond.c (glthread_cond_wait_func,
49886         glthread_cond_timedwait_func): Fix variable name.
49887         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49888
49889 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49890
49891         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49892         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49893         struct sockaddr.sa_len.
49894         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49895
49896 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49897
49898         * build-aux/pmccabe2html: Add css and css_url parameters.
49899
49900 2008-10-12  Bruno Haible  <bruno@clisp.org>
49901
49902         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49903         calling aclx_get.
49904         Reported by Rainer Tammer <tammer@tammer.net>.
49905
49906 2008-10-12  Bruno Haible  <bruno@clisp.org>
49907
49908         Use msvcrt aware primitives for creation/termination of Win32 threads.
49909         * lib/glthread/thread.c: Include <process.h>.
49910         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49911         (wrapper_func): Update signature.
49912         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49913
49914 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49915             Bruno Haible  <bruno@clisp.org>
49916
49917         Provide a Win32 implementation of the 'cond' module.
49918         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49919         * lib/glthread/cond.c (glthread_cond_init_func,
49920         glthread_cond_wait_func, glthread_cond_timedwait_func,
49921         glthread_cond_signal_func, glthread_cond_broadcast_func,
49922         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49923         * modules/cond (Dependencies): Add gettimeofday.
49924
49925 2008-10-11  Bruno Haible  <bruno@clisp.org>
49926
49927         Make sleep work on older versions of mingw.
49928         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49929         only whether it exists.
49930         * doc/posix-functions/sleep.texi: Mention the problem with older
49931         versions of mingw.
49932
49933 2008-10-11  Bruno Haible  <bruno@clisp.org>
49934
49935         New module 'shutdown'.
49936         * modules/shutdown: New file.
49937         * lib/sys_socket.in.h (shutdown): New declaration.
49938         * lib/winsock.c (shutdown): New function.
49939         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49940         GNULIB_SHUTDOWN.
49941         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49942         * doc/posix-functions/shutdown.texi: Document the new module.
49943
49944 2008-10-11  Jim Meyering  <meyering@redhat.com>
49945
49946         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49947
49948 2008-10-11  Bruno Haible  <bruno@clisp.org>
49949
49950         New module 'fclose'.
49951         * modules/fclose: New file.
49952         * lib/stdio.in.h (fclose): New declaration.
49953         * lib/fclose.c: New file.
49954         * m4/fclose.m4: New file.
49955         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49956         REPLACE_FCLOSE.
49957         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49958         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49959         REPLACE_FCLOSE.
49960         * modules/close (Depends-on): fclose.
49961         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49962
49963 2008-10-11  Bruno Haible  <bruno@clisp.org>
49964
49965         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49966         set errno and don't call _close.
49967
49968 2008-10-10  Bruno Haible  <bruno@clisp.org>
49969
49970         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49971         ACL, not afterwards. Fixes test failure on Cygwin.
49972
49973 2008-10-09  Ben Pfaff  <blp@gnu.org>
49974
49975         * build-aux/announce-gen: Fix gnulib version related part of usage
49976         message.  Die with a useful error message if no tarballs are
49977         found.
49978
49979 2008-10-10  Jim Meyering  <meyering@redhat.com>
49980
49981         bootstrap: use git's --depth=N option only if it's supported
49982         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49983         recognize the --depth option.  Reported by Pádraig Brady.
49984
49985 2008-10-09  Bruno Haible  <bruno@clisp.org>
49986
49987         New module 'ioctl'.
49988         * modules/ioctl: New file.
49989         * lib/sys_socket.in.h (ioctl): Remove declaration.
49990         * lib/winsock.c: Include <sys/ioctl.h>.
49991         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49992         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49993         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49994         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49995         * doc/posix-functions/ioctl.texi: Mention the new module.
49996
49997 2008-10-09  Bruno Haible  <bruno@clisp.org>
49998
49999         New module 'sys_ioctl'.
50000         * lib/sys_ioctl.in.h: New file.
50001         * m4/sys_ioctl_h.m4: New file.
50002         * modules/sys_ioctl: New file.
50003         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50004
50005 2008-10-09  Bruno Haible  <bruno@clisp.org>
50006
50007         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50008         * lib/winsock.c: Include <stdarg.h>.
50009         (rpl_ioctl): Change to second argument 'int' and then varargs.
50010
50011 2008-10-09  Bruno Haible  <bruno@clisp.org>
50012
50013         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50014         when the sys_socket module is present and the system has <winsock2.h>.
50015
50016 2008-10-09  Bruno Haible  <bruno@clisp.org>
50017
50018         * doc/posix-functions/close.texi: Mention module 'close' instead of
50019         module 'sys_socket'.
50020
50021 2008-10-09  Bruno Haible  <bruno@clisp.org>
50022
50023         * doc/glibc-headers/sys_ioctl.texi: New file.
50024         * doc/gnulib.texi: Include it.
50025
50026 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50027             Bruno Haible  <bruno@clisp.org>
50028
50029         Combine the two replacements of 'close'.
50030         * lib/sys_socket.in.h (close): Define to a reminder to include
50031         <unistd.h>.
50032         (_gl_close_fd_maybe_socket): New declaration.
50033         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50034         * lib/winsock.c (close): Remove undefinition.
50035         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50036         needed for the gnulib module 'close'.
50037         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50038         define to an error symbol or to a warning, if suitable.
50039         * lib/close.c: Include <sys/socket.h>.
50040         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50041         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50042         UNISTD_H_HAVE_WINSOCK2_H.
50043         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50045         UNISTD_H_HAVE_WINSOCK2_H.
50046         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50047         (configure.ac): Set a module indicator.
50048         (Makefile.am): Substitute GNULIB_CLOSE.
50049         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50050         * modules/poll-tests (Depends-on): Add close.
50051         * modules/select-tests (Depends-on): Likewise.
50052
50053 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50054             Bruno Haible  <bruno@clisp.org>
50055
50056         New module 'close'.
50057         * modules/close: New file.
50058         * lib/unistd.in.h (close): Move declaration out of the
50059         FCHDIR_REPLACEMENT scope.
50060         (_gl_unregister_fd): New declaration.
50061         * lib/close.c: New file.
50062         * lib/fchdir.c (rpl_close): Remove function.
50063         * m4/close.m4: New file.
50064         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50065         close.
50066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50067         REPLACE_CLOSE.
50068         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50069         REPLACE_CLOSE.
50070         * modules/fchdir (Depends-on): Add close.
50071
50072 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50073             Bruno Haible  <bruno@clisp.org>
50074
50075         * lib/fcntl.in.h (open): Simplify conditionals.
50076         (_gl_register_fd): New declaration.
50077         * lib/fchdir.c (rpl_open): Remove function.
50078         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50079         also.
50080         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50081         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50082         open.
50083
50084 2008-10-09  Jim Meyering  <meyering@redhat.com>
50085
50086         GNUmakefile: use the more name-space-friendly "_version"
50087         * top/GNUmakefile (_dummy): Update.
50088         (_version): Rename from "version".
50089
50090 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50091             Bruno Haible  <bruno@clisp.org>
50092
50093         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50094         rpl_close.
50095         (_gl_register_fd): New function, extracted from rpl_open.
50096         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50097         (rpl_open, rpl_opendir): Use _gl_register_fd.
50098
50099 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50100
50101         Fix organization of 'open' replacement.
50102         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50103         (gl_FUNC_OPEN): Use it.
50104         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50105
50106 2008-10-08  Bruno Haible  <bruno@clisp.org>
50107
50108         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50109
50110 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50111
50112         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50113         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50114         listen).
50115
50116 2008-10-08  Eric Blake  <ebb9@byu.net>
50117
50118         GNUmakefile: add 'make version' target
50119         * top/GNUmakefile (_curr-ver): Split version update rules...
50120         (version): ...into a target.
50121
50122 2008-10-07  Bruno Haible  <bruno@clisp.org>
50123
50124         Use a more portable replacement expression for -0.0L.
50125         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50126         instead of -0.0L. Fix m4 quotation.
50127
50128         * tests/test-signbit.c: Include <float.h>.
50129         (minus_zero): New variable.
50130         (test_signbitl): Use minus_zero instead of -zero.
50131         * modules/signbit-tests (Depends-on): Add float.
50132
50133         * tests/test-ceill.c: Include <float.h>.
50134         (zero): Remove variable.
50135         (minus_zero): New variable.
50136         (main): Use minus_zero instead of -zero.
50137         * modules/ceill-tests (Depends-on): Add float.
50138
50139         * tests/test-floorl.c: Include <float.h>.
50140         (zero): Remove variable.
50141         (minus_zero): New variable.
50142         (main): Use minus_zero instead of -zero.
50143         * modules/floorl-tests (Depends-on): Add float.
50144
50145         * tests/test-roundl.c: Include <float.h>.
50146         (zero): Remove variable.
50147         (minus_zero): New variable.
50148         (main): Use minus_zero instead of -zero.
50149         * modules/roundl-tests (Depends-on): Add float.
50150
50151         * tests/test-truncl.c: Include <float.h>.
50152         (zero): Remove variable.
50153         (minus_zero): New variable.
50154         (main): Use minus_zero instead of -zero.
50155         * modules/truncl-tests (Depends-on): Add float.
50156
50157         * tests/test-frexpl.c (zero): Remove variable.
50158         (minus_zero): New variable.
50159         (main): Use minus_zero instead of -zero.
50160         * modules/frexpl-tests (Depends-on): Add float.
50161
50162         * tests/test-isnan.c (zerol): Remove variable.
50163         (minus_zerol): New variable.
50164         (test_long_double): Use minus_zerol instead of -zerol.
50165         * modules/isnan-tests (Depends-on): Add float.
50166
50167         * tests/test-isnanl.h (zero): Remove variable.
50168         (minus_zero): New variable.
50169         (main): Use minus_zero instead of -zero.
50170         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50171         * modules/isnanl-tests (Depends-on): Add float.
50172
50173         * tests/test-ldexpl.c (zero): Remove variable.
50174         (minus_zero): New variable.
50175         (main): Use minus_zero instead of -zero.
50176         * modules/ldexpl-tests (Depends-on): Add float.
50177
50178         * tests/test-snprintf-posix.h (zerol): Remove variable.
50179         (minus_zerol): New variable.
50180         (test_function): Use minus_zerol instead of -zerol.
50181         * modules/snprintf-posix-tests (Depends-on): Add float.
50182         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50183
50184         * tests/test-sprintf-posix.h (zerol): Remove variable.
50185         (minus_zerol): New variable.
50186         (test_function): Use minus_zerol instead of -zerol.
50187         * modules/sprintf-posix-tests (Depends-on): Add float.
50188         * modules/vsprintf-posix-tests (Depends-on): Add float.
50189
50190         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50191         (minus_zerol): New variable.
50192         (test_function): Use minus_zerol instead of -zerol.
50193         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50194
50195         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50196         (minus_zerol): New variable.
50197         (test_function): Use minus_zerol instead of -zerol.
50198         * modules/vasprintf-posix-tests (Depends-on): Add float.
50199
50200 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50201
50202         * MODULES.html.sh (Support for building documentation): Mention
50203         pmccabe2html.  Sort entries.
50204
50205         Add pmccabe2html module, from gnupdf.
50206         * build-aux/pmccabe.css: New file.
50207         * build-aux/pmccabe2html: New file.
50208         * m4/pmccabe2html.m4: New file.
50209         * modules/pmccabe2html: New file.
50210
50211 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50212
50213         flock: new module
50214         * MODULES.html.sh: Add to list of modules.
50215         * lib/flock.c: flock implementation for Windows and Unix systems
50216         which have fcntl.
50217         * doc/glibc-functions/flock.texi: Update documentation.
50218         * lib/sys_file.in.h: <sys/file.h> header file.
50219         * m4/flock.m4: M4 macros.
50220         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50221         * modules/flock: flock module.
50222         * modules/flock-tests: flock tests module.
50223         * modules/sys_file: sys/file.h module.
50224         * tests/test-flock.c: test suite for flock.
50225
50226 2008-10-06  Jim Meyering  <meyering@redhat.com>
50227
50228         bootstrap: check for LT_INIT more portably still ;-)
50229         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50230         Spotted by Bruno Haible.
50231
50232 2008-10-06  Eric Blake  <ebb9@byu.net>
50233
50234         test-signbit: avoid tripping Irix cc bug on -0.0L
50235         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50236         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50237         entire testsuite consistent and avoids an Irix 6.2 bug.
50238
50239 2008-10-05  Bruno Haible  <bruno@clisp.org>
50240             Jim Meyering  <jim@meyering.net>
50241
50242         Add an option for ignoring EPIPE during close_stdout.
50243         * lib/closeout.h: Include <stdbool.h>.
50244         (close_stdout_set_ignore_EPIPE): New declaration.
50245         * lib/closeout.c: Include <stdbool.h>.
50246         (ignore_EPIPE): New variable.
50247         (close_stdout_set_ignore_EPIPE): New function.
50248         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50249         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50250         failure.
50251         * modules/closeout (Depends-on): Add stdbool.
50252
50253 2008-10-05  Bruno Haible  <bruno@clisp.org>
50254
50255         * modules/accept: New file.
50256         * modules/bind: New file.
50257         * modules/connect: New file.
50258         * modules/getpeername: New file.
50259         * modules/getsockname: New file.
50260         * modules/getsockopt: New file.
50261         * modules/listen: New file.
50262         * modules/recv: New file.
50263         * modules/recvfrom: New file.
50264         * modules/send: New file.
50265         * modules/sendto: New file.
50266         * modules/setsockopt: New file.
50267         * modules/socket: New file.
50268         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50269         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50270         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50271         the particular module is requested. Add a link warning when the
50272         particular module is not requested.
50273         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50274         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50275         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50276         the particular module is requested.
50277         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50278         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50279         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50280         * modules/sys_socket (Depends-on): Add link-warning.
50281         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50282         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50283         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50284         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50285         GL_LINK_WARNING.
50286         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50287         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50288         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50289         * doc/posix-functions/getpeername.texi: Mention the new module
50290         'getpeername'.
50291         * doc/posix-functions/getsockname.texi: Mention the new module
50292         'getsockname'.
50293         * doc/posix-functions/getsockopt.texi: Mention the new module
50294         'getsockopt'.
50295         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50296         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50297         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50298         * doc/posix-functions/send.texi: Mention the new module 'send'.
50299         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50300         * doc/posix-functions/setsockopt.texi: Mention the new module
50301         'setsockopt'.
50302         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50303         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50304         listen, connect, accept.
50305         * modules/select-tests (Depends-on): Likewise.
50306
50307 2008-10-05  Bruno Haible  <bruno@clisp.org>
50308
50309         * lib/winsock.c (strerror): Remove unused #undef.
50310         (rpl_close): Remove unused local variable.
50311
50312         * modules/sys_socket (Depends-on); Add errno.
50313
50314 2008-10-05  Bruno Haible  <bruno@clisp.org>
50315
50316         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50317         (select): Add a link warning when the 'select' module is not used.
50318         * modules/sys_select (Depends-on): Add link-warning.
50319         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50320         Suggested by Paolo Bonzini.
50321
50322 2008-10-05  Jim Meyering  <meyering@redhat.com>
50323
50324         bootstrap: check for LT_INIT more portably
50325         * build-aux/bootstrap: Avoid using grep -E, since it's not
50326         portable enough.  Suggestion from Bruno Haible.
50327
50328 2008-10-05  Bruno Haible  <bruno@clisp.org>
50329
50330         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50331         as being fixed by gnulib.
50332
50333 2008-10-05  Bruno Haible  <bruno@clisp.org>
50334
50335         * modules/select-tests: New file, mostly copied from
50336         modules/sys_select-tests.
50337         * tests/test-select.c: New file, mostly copied from
50338         tests/test-sys_select.c.
50339         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50340         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50341         (Makefile.am): Remove test_sys_select_LDADD.
50342
50343         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50344         to an undefined symbol, for an error message.
50345         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50346         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50347         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50348         winsock-select.c here.
50349         * modules/sys_select (Files): Remove lib/winsock-select.c.
50350         (Depends-on): Remove alloca.
50351         (Makefile.am): Substitute GNULIB_SELECT.
50352         * modules/select: New file.
50353         * doc/posix-functions/select.texi: Update.
50354
50355 2008-10-05  Bruno Haible  <bruno@clisp.org>
50356
50357         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50358         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50359         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50360         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50361         getdtablesize.
50362         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50363         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50364
50365 2008-10-05  Bruno Haible  <bruno@clisp.org>
50366
50367         * modules/getdtablesize-tests: New file.
50368         * tests/test-getdtablesize.c: New file.
50369
50370         New module 'getdtablesize'.
50371         * lib/unistd.in.h (getdtablesize): New declaration.
50372         * lib/getdtablesize.c: New file.
50373         * m4/getdtablesize.m4: New file.
50374         * modules/getdtablesize: New file.
50375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50376         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50377         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50378         HAVE_GETDTABLESIZE.
50379         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50380
50381 2008-10-05  Bruno Haible  <bruno@clisp.org>
50382
50383         * modules/sched (Makefile.am): Fix typo.
50384         Reported by Simon Josefsson.
50385
50386 2008-10-05  Jim Meyering  <meyering@redhat.com>
50387
50388         bootstrap: check for LT_INIT, too
50389         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50390         are deprecated.  Suggestion from Ralf Wildenhues.
50391
50392 2008-10-05  Bruno Haible  <bruno@clisp.org>
50393
50394         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50395         overriding them by ours.
50396         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50397
50398 2008-10-05  Jim Meyering  <meyering@redhat.com>
50399
50400         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50401         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50402         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50403
50404 2008-10-04  Bruno Haible  <bruno@clisp.org>
50405
50406         * modules/dup2 (License): Change to LGPLv2+.
50407         * modules/sleep (License): Likewise.
50408         * modules/perror (License): Likewise.
50409         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50410         Blake.
50411         * modules/signal (License): Likewise.
50412         * modules/sigprocmask (License): Likewise.
50413         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50414         Meyering.
50415
50416 2008-10-04  Bruno Haible  <bruno@clisp.org>
50417
50418         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50419         Reported by Rainer Tammer <tammer@tammer.net>.
50420
50421 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50422             Bruno Haible  <bruno@clisp.org>
50423
50424         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50425         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50426         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50427
50428 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50429
50430         filevercmp: new module
50431         * lib/filevercmp.h: New function filevercmp comparing version strings.
50432         * lib/filevercmp.c: Implementation of filevercmp function.
50433         * modules/filevercmp: Module metadata.
50434         * tests/test-filevercmp.c: Unit test for new module.
50435         * modules/filevercmp-tests: Unit test metadata.
50436         * MODULES.html.sh: Add filevercmp module.
50437
50438 2008-10-03  Bruno Haible  <bruno@clisp.org>
50439
50440         * lib/c-ctype.h: Add comment.
50441         Reported by Jim Meyering.
50442
50443 2008-10-02  Bruno Haible  <bruno@clisp.org>
50444
50445         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50446
50447 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50448
50449         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50450         name of bootstrap.conf accordingly.
50451
50452 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50453
50454         * build-aux/bootstrap: Install git-merge-changelog configuration
50455         items into .gitconfig if needed.
50456
50457 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50458
50459         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50460         git repository, and initialize/update it accordingly.
50461
50462 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50463
50464         * modules/fsync-tests: New file.
50465         * tests/test-fsync.c: New file.
50466
50467         New module 'fsync'.
50468         * lib/fsync.c: New file.
50469         * m4/fsync.m4: New file.
50470         * modules/fsync: New file.
50471         * lib/unistd.in.h (fsync): New declaration.
50472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50473         GNULIB_FSYNC and HAVE_FSYNC.
50474         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50475         * MODULES.html.sh (posix_functions): Add fsync.
50476         * doc/posix-functions/fsync.texi: Mention the new module.
50477
50478 2008-10-02  Jim Meyering  <meyering@redhat.com>
50479
50480         fts.c: sync with similar code from coreutils' remove.c
50481         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50482         Guard also with "#if defined __linux__", since for now at least,
50483         this code is Linux-kernel-specific.
50484
50485 2008-10-02  Jim Meyering  <meyering@redhat.com>
50486
50487         fts: bug fixes
50488         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50489         Include <sys/vfs.h>, not <sys/statfs.h>.
50490
50491         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50492         Include <sys/vfs.h>, not <sys/statfs.h>.
50493
50494 2008-10-01  Bruno Haible  <bruno@clisp.org>
50495
50496         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50497         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50498         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50499         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50500         * doc/posix-functions/posix_spawnp.texi: Likewise.
50501         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50502         whether posix_spawn actually works.
50503         * m4/pipe.m4 (gl_PIPE): Likewise.
50504         * modules/execute (Files): Add m4/posix_spawn.m4.
50505         * modules/pipe (Files): Add m4/posix_spawn.m4.
50506         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50507
50508 2008-10-01  Jim Meyering  <meyering@redhat.com>
50509
50510         remove trailing spaces
50511         * NEWS: Likewise.
50512         * lib/poll.c (poll): Likewise.
50513         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50514         * lib/winsock.c (rpl_close): Likewise.
50515         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50516         * modules/yield: Likewise.
50517         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50518         * tests/test-sys_select.c (connect_to_socket): Likewise.
50519
50520         fts.c: adjust a new interface to be more generally useful
50521         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50522         (fts_build): Adjust caller.
50523
50524 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50525
50526         * modules/cond-tests: New file.
50527         * tests/test-cond.c: New file.
50528
50529 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50530             Bruno Haible  <bruno@clisp.org>
50531
50532         * modules/cond (Dependencies): Add errno, time.
50533         * lib/glthread/cond.h: Include <time.h>.
50534         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50535         across platforms.
50536
50537 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50538             Bruno Haible  <bruno@clisp.org>
50539
50540         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50541
50542 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50543             Bruno Haible  <bruno@clisp.org>
50544
50545         * modules/tls-tests (Depends-on): Add thread, yield.
50546         (configure.ac): Remove all checks.
50547         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50548         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50549         gl_thread_self): Remove definitions. Include glthread/thread.h and
50550         glthread/yield.h instead.
50551         (test_tls): Pass an additional NULL argument to gl_thread_join.
50552
50553 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50554             Bruno Haible  <bruno@clisp.org>
50555
50556         * modules/lock-tests (Depends-on): Add thread, yield.
50557         (configure.ac): Remove all checks.
50558         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50559         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50560         gl_thread_self): Remove definitions. Include glthread/thread.h and
50561         glthread/yield.h instead.
50562         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50563         additional NULL argument to gl_thread_join.
50564
50565 2008-09-30  Bruno Haible  <bruno@clisp.org>
50566
50567         Fix the Win32 implementation of the 'thread' module.
50568         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50569         pointer type.
50570         (gl_thread_self): Invoke gl_thread_self_func.
50571         (gl_thread_self_func): New declaration.
50572         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50573         (do_init_self_key, init_self_key): New functions.
50574         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50575         Remove some fields.
50576         (running_threads, running_lock): Remove variables.
50577         (get_current_thread_handle): New function.
50578         (gl_thread_self_func, wrapper_func, glthread_create_func,
50579         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50580         simplified.
50581
50582 2008-09-30  Bruno Haible  <bruno@clisp.org>
50583
50584         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50585         files.
50586
50587 2008-09-30  Jim Meyering  <meyering@redhat.com>
50588
50589         fts.m4: correct the test for statfs.f_type
50590         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50591         when checking for statfs.f_type.
50592
50593 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50594
50595         tests: avoid some compiler warnings
50596         * tests/test-memchr.c (main): Pass NULL indirectly.
50597         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50598
50599 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
50600
50601         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50602         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50603         exactly specified dayshifts.
50604         (dayshift): New rule.
50605         (rel): Add dayshift.
50606         (relative_time_table) [tomorrow, yesterday, today, now]:
50607         Use tDAY_SHIFT in place of tDAY_UNIT.
50608         * tests/test-getdate.c: Add tests for now-disallowed countable
50609         dayshifts, e.g., "4 yesterday ago".
50610
50611 2008-09-29  Bruno Haible  <bruno@clisp.org>
50612
50613         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50614         * tests/test-posix_spawn1.in.sh: Renamed from
50615         tests/test-posix_spawn.in.sh.
50616         * tests/test-posix_spawn2.c: New file.
50617         * tests/test-posix_spawn2.in.sh: New file.
50618         * modules/posix_spawnp-tests (Files): Update.
50619         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50620
50621 2008-09-29  Bruno Haible  <bruno@clisp.org>
50622
50623         Propagate effects of putenv/setenv/unsetenv to child processes.
50624         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50625         * lib/pipe.c (create_pipe): Likewise.
50626
50627 2008-09-29  Bruno Haible  <bruno@clisp.org>
50628
50629         Enable use of shell scripts as executables in mingw.
50630         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50631         run the program as a shell script.
50632         * lib/pipe.c (create_pipe): Likewise.
50633         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50634         resulting array.
50635
50636 2008-09-29  Eric Blake  <ebb9@byu.net>
50637
50638         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50639
50640 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50641
50642         * doc/posix-functions/accept.texi: Update mingw problems.
50643         * doc/posix-functions/bind.texi: Update mingw problems.
50644         * doc/posix-functions/close.texi: Update mingw problems.
50645         * doc/posix-functions/connect.texi: Update mingw problems.
50646         * doc/posix-functions/getpeername.texi: Update mingw problems.
50647         * doc/posix-functions/getsockname.texi: Update mingw problems.
50648         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50649         * doc/posix-functions/ioctl.texi: Update mingw problems.
50650         * doc/posix-functions/listen.texi: Update mingw problems.
50651         * doc/posix-functions/recv.texi: Update mingw problems.
50652         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50653         * doc/posix-functions/select.texi: Update mingw problems.
50654         * doc/posix-functions/send.texi: Update mingw problems.
50655         * doc/posix-functions/sendto.texi: Update mingw problems.
50656         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50657         * doc/posix-functions/socket.texi: Update mingw problems.
50658
50659 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50660             Bruno Haible  <bruno@clisp.org>
50661
50662         * lib/sys_select.in.h: Include sys/time.h.
50663         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50664         * modules/sys_select: Depend on sys_time.
50665         * tests/test-sys_select.c: Test that sys/select.h defines struct
50666         timeval fully.
50667
50668 2008-09-29  Bruno Haible  <bruno@clisp.org>
50669
50670         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50671         * lib/sys_select.in.h: Likewise.
50672
50673 2008-09-29  Bruno Haible  <bruno@clisp.org>
50674
50675         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50676
50677 2008-09-29  Bruno Haible  <bruno@clisp.org>
50678
50679         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50680         Set LIBSOCKET instead of augmenting LIBS.
50681         * modules/sockets (Link): New section.
50682         * modules/sockets-tests (test_sockets_LDADD): New variable.
50683         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50684         * modules/poll-tests (test_poll_LDADD): New variable.
50685         * NEWS: Document the change.
50686
50687 2008-09-29  Bruno Haible  <bruno@clisp.org>
50688
50689         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50690         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50691         ARPA_INET_H directly.
50692         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50693
50694 2008-09-28  Bruno Haible  <bruno@clisp.org>
50695
50696         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50697         from gl_HEADER_SYS_SOCKET.
50698         (gl_HEADER_SYS_SOCKET): Invoke it.
50699         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50700
50701 2008-09-28  Bruno Haible  <bruno@clisp.org>
50702
50703         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50704         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50705         Needed on OSF/1 4.0.
50706
50707 2008-09-28  Bruno Haible  <bruno@clisp.org>
50708
50709         Override open more carefully.
50710         * lib/open.c (orig_open): New function.
50711         (rpl_open): Use orig_open instead of open.
50712         * lib/fcntl.in.h: Add special invocation convention.
50713         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50714         (gl_FUNC_OPEN): Invoke it.
50715
50716         Override freopen more carefully.
50717         * lib/freopen.c (orig_freopen): New function.
50718         (rpl_freopen): Use orig_freopen instead of freopen.
50719         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50720         (gl_FUNC_FREOPEN): Invoke it.
50721
50722         Override fopen more carefully.
50723         * lib/fopen.c (orig_fopen): New function.
50724         (rpl_fopen): Use orig_fopen instead of fopen.
50725         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50726         (gl_FUNC_FOPEN): Invoke it.
50727         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50728
50729 2008-09-28  Bruno Haible  <bruno@clisp.org>
50730
50731         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50732         SIGPIPE.
50733
50734 2008-09-28  Bruno Haible  <bruno@clisp.org>
50735
50736         * tests/test-sigaction.c (handler, main): Disable the check whether
50737         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50738         glibc systems with LinuxThreads.
50739
50740 2008-09-28  Bruno Haible  <bruno@clisp.org>
50741
50742         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50743
50744         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50745         with AIX xlc.
50746         * lib/fcntl.in.h (open): Likewise.
50747         Reported by Rainer Tammer <tammer@tammer.net>.
50748
50749 2008-09-28  Bruno Haible  <bruno@clisp.org>
50750
50751         * modules/posix_spawnp-tests: New file.
50752         * tests/test-posix_spawn.c: New file.
50753         * tests/test-posix_spawn.in.sh: New file.
50754
50755         New module 'posix_spawnp'.
50756         * modules/posix_spawnp: New file.
50757         * lib/spawnp.c: New file, from GNU libc with modifications.
50758         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50759
50760         New module 'posix_spawn'.
50761         * modules/posix_spawn: New file.
50762         * lib/spawn.c: New file, from GNU libc with modifications.
50763         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50764
50765         New module 'posix_spawnattr_destroy'.
50766         * modules/posix_spawnattr_destroy: New file.
50767         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50768         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50769         module.
50770
50771         New module 'posix_spawnattr_setsigmask'.
50772         * modules/posix_spawnattr_setsigmask: New file.
50773         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50774         modifications.
50775         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50776         new module.
50777
50778         New module 'posix_spawnattr_getsigmask'.
50779         * modules/posix_spawnattr_getsigmask: New file.
50780         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50781         modifications.
50782         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50783         new module.
50784
50785         New module 'posix_spawnattr_setsigdefault'.
50786         * modules/posix_spawnattr_setsigdefault: New file.
50787         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50788         modifications.
50789         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50790         new module.
50791
50792         New module 'posix_spawnattr_getsigdefault'.
50793         * modules/posix_spawnattr_getsigdefault: New file.
50794         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50795         modifications.
50796         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50797         new module.
50798
50799         New module 'posix_spawnattr_setschedpolicy'.
50800         * modules/posix_spawnattr_setschedpolicy: New file.
50801         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50802         modifications.
50803         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50804         new module.
50805
50806         New module 'posix_spawnattr_getschedpolicy'.
50807         * modules/posix_spawnattr_getschedpolicy: New file.
50808         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50809         modifications.
50810         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50811         new module.
50812
50813         New module 'posix_spawnattr_setschedparam'.
50814         * modules/posix_spawnattr_setschedparam: New file.
50815         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50816         modifications.
50817         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50818         new module.
50819
50820         New module 'posix_spawnattr_getschedparam'.
50821         * modules/posix_spawnattr_getschedparam: New file.
50822         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50823         modifications.
50824         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50825         new module.
50826
50827         New module 'posix_spawnattr_setpgroup'.
50828         * modules/posix_spawnattr_setpgroup: New file.
50829         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50830         modifications.
50831         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50832         module.
50833
50834         New module 'posix_spawnattr_getpgroup'.
50835         * modules/posix_spawnattr_getpgroup: New file.
50836         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50837         modifications.
50838         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50839         module.
50840
50841         New module 'posix_spawnattr_setflags'.
50842         * modules/posix_spawnattr_setflags: New file.
50843         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50844         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50845         module.
50846
50847         New module 'posix_spawnattr_getflags'.
50848         * modules/posix_spawnattr_getflags: New file.
50849         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50850         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50851         module.
50852
50853         New module 'posix_spawnattr_init'.
50854         * modules/posix_spawnattr_init: New file.
50855         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50856         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50857         module.
50858
50859         New module 'posix_spawn_file_actions_destroy'.
50860         * modules/posix_spawn_file_actions_destroy: New file.
50861         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50862         modifications.
50863         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50864         the new module.
50865
50866         New module 'posix_spawn_file_actions_addopen'.
50867         * modules/posix_spawn_file_actions_addopen: New file.
50868         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50869         modifications.
50870         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50871         the new module.
50872
50873         New module 'posix_spawn_file_actions_adddup2'.
50874         * modules/posix_spawn_file_actions_adddup2: New file.
50875         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50876         modifications.
50877         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50878         the new module.
50879
50880         New module 'posix_spawn_file_actions_addclose'.
50881         * modules/posix_spawn_file_actions_addclose: New file.
50882         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50883         modifications.
50884         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50885         the new module.
50886
50887         New module 'posix_spawn_file_actions_init'.
50888         * modules/posix_spawn_file_actions_init: New file.
50889         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50890         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50891         new module.
50892
50893         New module 'posix_spawn-internal'.
50894         * modules/posix_spawn-internal: New file.
50895         * lib/spawn_int.h: New file, from GNU libc with modifications.
50896         * lib/spawni.c: New file, from GNU libc with modifications.
50897         * m4/posix_spawn.m4: New file.
50898
50899         New module 'spawn'.
50900         * modules/spawn: New file.
50901         * lib/spawn.in.h: New file, from GNU libc with modifications.
50902         * m4/spawn_h.m4: New file.
50903         * doc/posix-headers/spawn.texi: Mention the new module.
50904
50905 2008-09-28  Bruno Haible  <bruno@clisp.org>
50906
50907         * modules/sched-tests: New file.
50908         * tests/test-sched.c: New file.
50909
50910         New module 'sched'.
50911         * modules/sched: New file.
50912         * lib/sched.in.h: New file.
50913         * m4/sched_h.m4: New file.
50914         * doc/posix-headers/sched.texi: Mention the new module.
50915
50916 2008-09-27  Eric Blake  <ebb9@byu.net>
50917
50918         Fix previous patch, and tweak references to $0.
50919         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50920         (func_version, func_gnulib_dir): Don't call this program
50921         gnulib-tool.
50922         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50923         with using $0 in function.
50924         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50925         (func_fatal_error): Reuse the name the user invoked us with.
50926
50927 2008-09-27  Bruno Haible  <bruno@clisp.org>
50928
50929         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50930         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50931         (gl_ICONV_H): Not here.
50932         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50933         instead of assigning ICONV_H directly.
50934
50935         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50936         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50937         WCHAR_H directly.
50938
50939 2008-09-27  Bruno Haible  <bruno@clisp.org>
50940
50941         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50942         * modules/arpa_inet (Depends-on): Add link-warning.
50943         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50944         * modules/unistd (Makefile.am): Likewise.
50945
50946 2008-09-26  Bruno Haible  <bruno@clisp.org>
50947
50948         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50949         variables.
50950         (func_version): Essentially copied from gnulib-tool.
50951         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50952         func_readlink): Copied from gnulib-tool.
50953
50954 2008-09-26  Bruno Haible  <bruno@clisp.org>
50955
50956         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50957         invoking git-version-gen.
50958
50959 2008-09-26  Bruno Haible  <bruno@clisp.org>
50960
50961         * posix-modules: Update to directory names changed on 2008-01-19.
50962         Remove commas in output before splitting into words. No more need to
50963         avoid 'ftruncate' since 2007-02-19.
50964
50965 2008-09-26  Bruno Haible  <bruno@clisp.org>
50966
50967         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50968
50969 2008-09-26  Bruno Haible  <bruno@clisp.org>
50970
50971         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50972         * modules/fwriteerror (Depends-on): Add errno.
50973
50974 2008-09-26  Bruno Haible  <bruno@clisp.org>
50975
50976         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50977         * tests/test-vc-list-files-cvs.sh: Likewise.
50978
50979 2008-09-26  Bruno Haible  <bruno@clisp.org>
50980
50981         * doc/posix-headers/sys_resource.texi: Reorder items.
50982
50983 2008-09-26  Jim Meyering  <meyering@redhat.com>
50984
50985         fts: tweak inode comparison function
50986         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50987         inode numbers, as documented.
50988
50989         fts: sort dirent entries on inode number before traversing
50990         This avoids a quadratic, seek-related performance penalty when
50991         operating on a directory containing many entries (measurable at 10k;
50992         3.5 hours at 2 million entries with a cold cache) on certain types
50993         of file systems, including ext3 and ext4, but not tmpfs.
50994         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50995         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50996         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50997         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50998         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50999         (fts_build): Set the stat.st_ino member from D_INO.
51000         If it is likely to be useful, sort dirent entries on inode number.
51001
51002         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51003         and the struct statfs.f_type member.
51004         * modules/fts (Depends-on): Add d-ino.
51005
51006 2008-09-26  Bruno Haible  <bruno@clisp.org>
51007
51008         * modules/sigpipe-die (Depends-on): Add sigpipe.
51009
51010         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51011         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51012         and GNULIB_STDIO_H_SIGPIPE are set.
51013         * lib/stdio-write.c: New file.
51014         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51015         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51016         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51017         REPLACE_STDIO_WRITE_FUNCS.
51018         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51019         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51020         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51021         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51022         * modules/stdio (Files): Add lib/stdio-write.c.
51023         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51024         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51025         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51026         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51027         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51028         REPLACE_FPRINTF_POSIX.
51029         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51030         REPLACE_PRINTF_POSIX.
51031         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51032         REPLACE_VFPRINTF_POSIX.
51033         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51034         REPLACE_VPRINTF_POSIX.
51035         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51036         SIGPIPE issue.
51037         * doc/posix-functions/fputc.texi: Likewise.
51038         * doc/posix-functions/fputs.texi: Likewise.
51039         * doc/posix-functions/fwrite.texi: Likewise.
51040         * doc/posix-functions/printf.texi: Likewise.
51041         * doc/posix-functions/putc.texi: Likewise.
51042         * doc/posix-functions/putchar.texi: Likewise.
51043         * doc/posix-functions/puts.texi: Likewise.
51044         * doc/posix-functions/vfprintf.texi: Likewise.
51045         * doc/posix-functions/vprintf.texi: Likewise.
51046
51047         * modules/safe-write (Depends-on): Add write.
51048
51049         * modules/sigpipe-tests: New file.
51050         * tests/test-sigpipe.c: New file.
51051         * tests/test-sigpipe.sh: New file.
51052
51053         * modules/write: New file.
51054         * lib/unistd.in.h: Include <sys/types.h>.
51055         (write): New declaration.
51056         * lib/write.c: New file.
51057         * m4/write.m4: New file.
51058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51059         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51060         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51061         GNULIB_WRITE, REPLACE_WRITE.
51062         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51063         and the SIGPIPE issue.
51064
51065         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51066         (raise): New declaration.
51067         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51068         (ext_signal): New function.
51069         (rpl_raise): New function.
51070         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51071         GNULIB_SIGNAL_H_SIGPIPE.
51072         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51073         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51074
51075         * modules/sigpipe: New file.
51076         * m4/sigpipe.m4: New file.
51077
51078 2008-09-25  Derek Price  <derek@ximbiot.com>
51079             Bruno Haible  <bruno@clisp.org>
51080
51081         * gnulib-tool (func_import): Report all license incompatibilities, not
51082         just the first one.
51083
51084 2008-09-25  Bruno Haible  <bruno@clisp.org>
51085
51086         * gnulib-tool (func_import): When computing the edits, consider not
51087         only the Makefile.ams that exist but also those that will be generated.
51088
51089 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51090
51091         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51092         fixes gnulib-tool --test warning about duplicate dependency.
51093
51094 2008-09-25  Bruno Haible  <bruno@clisp.org>
51095
51096         * gnulib-tool: Don't ask the user to perform edits in the generated
51097         Makefile.ams.
51098         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51099         apply to the Makefile.am being generated.
51100         (func_emit_tests_Makefile_am): Execute edits that apply to the
51101         Makefile.am being generated.
51102         (func_import): Setup list of Makefile.am edits before emitting the
51103         Makefile.ams, not at the end.
51104         (func_create_testdir): Update.
51105         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51106
51107 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51108
51109         * gnulib-tool (func_import): Store the --tests-base option in the
51110         comment in gnulib-cache.m4.
51111
51112 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51113
51114         * NEWS: Document increased portability that sys_select now provides.
51115
51116         * lib/sys_select.in.h: Install select wrapper.
51117         * lib/sys_socket.in.h: Use more descriptive name when there is no
51118         select wrapper.
51119         * lib/winsock-select.c: New.
51120         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51121         Require gl_HEADER_SYS_SOCKET.
51122         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51123         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51124         * tests/test-sys_select.c: Add functional tests.
51125
51126 2008-09-24  Eric Blake  <ebb9@byu.net>
51127
51128         open, fopen: close fd leak in last patch
51129         * lib/open.c (rpl_open): Close fd before returning error.
51130         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51131         * doc/posix-functions/open.texi (open): Document that Irix also
51132         has the bug.
51133         * doc/posix-functions/fopen.texi (fopen): Likewise.
51134         Reported by Paolo Bonzini.
51135
51136 2008-09-24  Bruno Haible  <bruno@clisp.org>
51137
51138         Ensure that a filename ending in a slash cannot be used to access a
51139         non-directory.
51140         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51141         to check whether it's really a directory.
51142         * lib/fopen.c: Include fcntl.h, unistd.h.
51143         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51144         and fdopen().
51145         * modules/fopen (Depends-on): Add unistd.
51146         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51147         * tests/test-fopen.c (main): Likewise.
51148         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51149         * doc/posix-functions/fopen.texi: Likewise.
51150         Reported by Eric Blake.
51151
51152 2008-09-23  Eric Blake  <ebb9@byu.net>
51153
51154         c-stack: avoid compiler optimizations when provoking overflow
51155         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51156         recursion harder to optimize, to ensure a stack overflow occurs.
51157         * tests/test-c-stack.c (recurse): Likewise.
51158         Borrowed from libsigsegv.
51159
51160         c-stack: work around Irix sigaltstack bug
51161         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51162         whether sigaltstack uses wrong end of stack_t (copied in part from
51163         libsigsegv).
51164         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51165         Irix bug, without requiring an over-allocation.
51166         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51167         bug.
51168
51169         fopen: document mingw bug on directories
51170         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51171         not allowing a stream visiting a directory, even though reading
51172         from such a stream is not portable.
51173
51174 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51175
51176         * lib/poll.c: Rewrite.
51177         * modules/poll: Depend on alloca.
51178
51179 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51180
51181         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51182         instead define prototypes for a full set of wrappers.  Ensure
51183         that Cygwin does not use the compatibility code, which is only
51184         for MinGW.
51185         * lib/winsock.c: New.
51186         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51187         * modules/sys_socket: Add lib/winsock.c.
51188
51189         * modules/poll-tests: Add errno and perror.
51190         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51191
51192 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51193
51194         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51195
51196 2008-09-23  Bruno Haible  <bruno@clisp.org>
51197
51198         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51199         * doc/glibc-functions/*: Likewise.
51200
51201 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51202
51203         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51204         success.
51205
51206 2008-09-22  Eric Blake  <ebb9@byu.net>
51207             Bruno Haible  <bruno@clisp.org>
51208
51209         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51210         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51211         supply %A but mishandle pseudo-NaN.
51212         Reported by Simon Josefsson.
51213
51214 2008-09-21  Bruno Haible  <bruno@clisp.org>
51215
51216         * tests/test-lock.c (main): Tweak skip message.
51217         * tests/test-tls.c (main): Likewise.
51218
51219 2008-09-21  Bruno Haible  <bruno@clisp.org>
51220
51221         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51222         whether 'struct sigaction' has sa_sigaction here...
51223         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51224         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51225
51226 2008-09-21  Bruno Haible  <bruno@clisp.org>
51227
51228         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51229         section.
51230         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51231         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51232         the new section.
51233         (Support for obsolete systems lacking POSIX:2001): New section.
51234         (String handling <string.h>): Move strdup to the new section.
51235         Suggested by Simon Josefsson and Paolo Bonzini.
51236
51237 2008-09-21  Bruno Haible  <bruno@clisp.org>
51238
51239         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51240         exponents in %e and %g results on 'long double'. Needed for mingw's
51241         improved *printf functions.
51242         * tests/test-vasprintf-posix.c (test_function): Likewise.
51243         * tests/test-snprintf-posix.h (test_function): Likewise.
51244         * tests/test-sprintf-posix.h (test_function): Likewise.
51245         Reported by Eric Blake.
51246
51247 2008-09-21  Bruno Haible  <bruno@clisp.org>
51248
51249         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51250         * tests/test-sprintf-posix.h (test_function): Likewise.
51251
51252 2008-09-21  Bruno Haible  <bruno@clisp.org>
51253
51254         * modules/getpass (Depends-on): Add strdup-posix.
51255
51256         New module 'strdup-posix'.
51257         * modules/strdup-posix: New file.
51258         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51259         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51261         REPLACE_STRDUP.
51262         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51263         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51264         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51265         strdup-posix.
51266
51267         * modules/strdup (Depends-on): Remove malloc-posix.
51268
51269 2008-09-20  Bruno Haible  <bruno@clisp.org>
51270
51271         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51272         Wildenhues.
51273
51274 2008-09-20  Bruno Haible  <bruno@clisp.org>
51275
51276         Ensure that wint_t gets defined on IRIX 5.3.
51277         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51278         * lib/wctype.in.h (wint_t): Likewise.
51279         (__wctype_wint_t): Remove type.
51280         (isw*): Use wint_t instead of __wctype_wint_t.
51281         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51282         * modules/wchar (Files): Add m4/wint_t.m4.
51283         (Makefile.am): Substitute HAVE_WINT_T.
51284         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51285         * tests/test-wctype.c: Check that wint_t is defined.
51286         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51287         * doc/posix-headers/wctype.texi: Likewise.
51288         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51289
51290 2008-09-18  Bruno Haible  <bruno@clisp.org>
51291
51292         * gnulib-tool (func_exit): Update comment.
51293
51294 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51295
51296         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51297         assumes strdup exists and does not depend on strdup to return
51298         ENOMEM on out of memory conditions.
51299
51300 2008-09-18  Bruno Haible  <bruno@clisp.org>
51301
51302         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
51303         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51304         digits for the exponent.
51305
51306 2008-09-18  Jim Meyering  <meyering@redhat.com>
51307             Bruno Haible  <bruno@clisp.org>
51308
51309         * lib/vasnprintf.c (decimal_point_char): Define also if
51310         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51311
51312 2008-09-16  Bruno Haible  <bruno@clisp.org>
51313         and Eric Blake  <ebb9@byu.net>
51314
51315         vasnprintf: support Irix 5.3
51316         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51317         that mishandle long double infinity.
51318         Reported by Tom G. Christensen.
51319
51320 2008-09-16  Bruno Haible  <bruno@clisp.org>
51321
51322         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51323         Solaris 9.
51324         * doc/glibc-functions/alphasort.texi: Likewise.
51325         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51326
51327 2008-09-16  Jim Meyering  <meyering@redhat.com>
51328
51329         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51330         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51331         a umask modification leak out of a subshell.  Otherwise, the
51332         opensolaris /bin/sh would be accepted and thus cause unwarranted
51333         failures in the coreutils test suite.
51334
51335 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51336
51337         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51338         to succeed.
51339
51340 2008-09-16  Jim Meyering  <meyering@redhat.com>
51341
51342         avoid spurious test failure when library is built without ACL support
51343         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51344         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51345         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51346         * tests/test-copy-acl.sh: Likewise.
51347
51348 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51349
51350         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51351         based on character occurrence counts.
51352
51353 2008-09-15  Eric Blake  <ebb9@byu.net>
51354
51355         tests: avoid some compiler warnings
51356         * tests/test-memchr.c (main): Pass NULL indirectly.
51357         * tests/test-closein.c (main): Avoid unused variable.
51358
51359 2008-09-15  Bruno Haible  <bruno@clisp.org>
51360
51361         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51362         are missing on OpenBSD 4.0 individually.
51363         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51364
51365 2008-09-15  Bruno Haible  <bruno@clisp.org>
51366
51367         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51368         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51369         * doc/posix-functions/perror.texi: Likewise.
51370         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51371         is missing.
51372         Reported by Eric Blake.
51373
51374         * lib/errno.in.h: Use replacement values >= 2000.
51375         Reported by Eric Blake.
51376
51377 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51378
51379         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51380         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51381         limit.
51382         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51383         compareseq was aborted.
51384
51385 2008-09-14  Bruno Haible  <bruno@clisp.org>
51386
51387         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51388         yvec_edit_count.
51389         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51390         (fstrcmp_bounded): Simplify result computation accordingly.
51391
51392 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51393
51394         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51395         (fstrcmp): Define in terms of fstrcmp_bounded.
51396         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51397         lower_bound argument.
51398         Return quickly if the result is certainly < lower_bound.
51399         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51400
51401 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51402
51403         * lib/diffseq.h (EARLY_ABORT): New macro.
51404         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51405         evaluates to true.
51406
51407 2008-09-14  Bruno Haible  <bruno@clisp.org>
51408
51409         * modules/perror-tests: New file.
51410         * tests/test-perror.sh: New file.
51411         * tests/test-perror.c: New file.
51412
51413         New module 'perror'.
51414         * lib/stdio.in.h (perror): New declaration.
51415         * lib/perror.c: New file.
51416         * m4/perror.m4: New file.
51417         * modules/perror: New file.
51418         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51419         * doc/posix-functions/perror.texi: Mention the perror module.
51420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51421         REPLACE_PERROR.
51422         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51423         REPLACE_PERROR.
51424
51425 2008-09-14  Bruno Haible  <bruno@clisp.org>
51426
51427         * modules/stdio (Makefile.am): Reorder to match the order in
51428         lib/stdio.in.h.
51429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51430
51431 2008-09-13  Bruno Haible  <bruno@clisp.org>
51432
51433         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51434
51435 2008-09-13  Bruno Haible  <bruno@clisp.org>
51436
51437         Extend strerror to cover the added errno values.
51438         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51439         (rpl_strerror): Provide error messages for the added errno values and
51440         for the WSA* values.
51441         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51442         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51443         strerror.
51444         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51445         * modules/strerror (Depends-on): Add errno.
51446         * doc/posix-functions/strerror.texi: Document the change.
51447         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51448         and EOVERFLOW.
51449
51450 2008-09-13  Bruno Haible  <bruno@clisp.org>
51451
51452         * modules/EOVERFLOW: Remove file.
51453         * m4/eoverflow.m4: Remove file.
51454         * modules/EOVERFLOW-tests: Remove file.
51455         * tests/test-EOVERFLOW.c: Remove file.
51456         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51457         * modules/ftell (Depends-on): Likewise.
51458         * modules/getdelim (Depends-on): Likewise.
51459         * modules/getugroups (Depends-on): Likewise.
51460         * modules/poll (Depends-on): Likewise.
51461         * modules/snprintf (Depends-on): Likewise.
51462         * modules/sprintf-posix (Depends-on): Likewise.
51463         * modules/vasnprintf (Depends-on): Likewise.
51464         * modules/vasprintf (Depends-on): Likewise.
51465         * modules/vfprintf-posix (Depends-on): Likewise.
51466         * modules/vsnprintf (Depends-on): Likewise.
51467         * modules/vsprintf-posix (Depends-on): Likewise.
51468         * modules/xvasprintf (Depends-on): Likewise.
51469         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51470         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51471         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51472         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51473         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51474         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51475         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51476         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51477         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51478         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51479         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51480         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51481         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51482         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51483         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51484         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51485         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51486         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51487         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51488         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51489         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51490         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51491         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51492         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51493         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51494         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51495         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51496         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51497         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51498         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51499         * MODULES.html.sh: Remove EOVERFLOW.
51500         * NEWS: Mention the change.
51501
51502 2008-09-13  Bruno Haible  <bruno@clisp.org>
51503
51504         * modules/errno-tests: New file.
51505         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51506
51507         * lib/errno.in.h: New file.
51508         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51509         * modules/errno: New file.
51510         * doc/posix-headers/errno.texi: Update documentation.
51511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51512
51513 2008-09-13  Bruno Haible  <bruno@clisp.org>
51514
51515         * tests/test-poll.c: Use #if for native Windows, rather than testing
51516         __MSVCRT__.
51517
51518 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51519             Bruno Haible  <bruno@clisp.org>
51520
51521         * lib/glob.c: Don't include <pwd.h> on native Windows.
51522         (WINDOWS32): New macro.
51523         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51524
51525 2008-09-13  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51528         (ETIMEDOUT): Remove macro.
51529         (glthread_cond_timedwait_multithreaded): New declaration.
51530         (glthread_cond_timedwait): Use it.
51531         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51532         (glthread_cond_timedwait_multithreaded): New function.
51533
51534 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51535
51536         * modules/poll-tests: Do not check for io.h.
51537         * tests/test-poll.c: Check for __MSVCRT__ instead.
51538
51539 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51540
51541         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51542         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51543         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51544
51545 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51546
51547         * modules/poll-tests: New.
51548         * tests/test-poll.c: New.
51549
51550 2008-09-12  Eric Blake  <ebb9@byu.net>
51551
51552         frexp: test for NetBSD failure on -0.0
51553         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51554         not all, bugs from NetBSD 3.0 have been fixed.
51555         * doc/posix-functions/frexp.texi (frexp): Document bug.
51556         Reported by Thomas Klausner.
51557
51558         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51559         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51560         literal -0.0.
51561         Reported by Jonathan C. Patschke <jp@centtech.com>.
51562
51563 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51564
51565         * lib/glthread/cond.h: Use dummy implementation also if
51566         USE_WIN32_THREADS.
51567
51568 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51569
51570         * modules/fnmatch-posix (License): Change to LGPLv2+.
51571         * modules/fnmatch-gnu (License): Likewise.
51572
51573 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51574
51575         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51576
51577 2008-09-11  Jim Meyering  <meyering@redhat.com>
51578
51579         * users.txt: Add gtk-vnc.
51580
51581 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51582
51583         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51584         rotate amounts.
51585
51586         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51587         required for 16-bit and 8-bit rotates.
51588         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51589         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51590         UINT8_MAX instead of hard-coded constants.
51591         Suggested by Paul Eggert.
51592
51593 2008-09-07  Bruno Haible  <bruno@clisp.org>
51594
51595         * tests/test-striconveh.c (main): Check behaviour when converting from
51596         UTF-7.
51597
51598         Make striconveh work better with stateful encodings.
51599         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51600         that iconv does not increment the inptr when returning -1/EINVAL.
51601
51602 2008-09-07  Bruno Haible  <bruno@clisp.org>
51603
51604         * build-aux/config.rpath: Update according to libtool-2.2.6.
51605         * build-aux/config.libpath: Likewise.
51606
51607 2008-09-06  Bruno Haible  <bruno@clisp.org>
51608
51609         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51610         * lib/freadptr.c (freadptr): Likewise.
51611         * lib/freadseek.c (freadptrinc): Likewise.
51612         Reported by Simon Josefsson.
51613
51614 2008-09-06  Bruno Haible  <bruno@clisp.org>
51615
51616         * modules/freadptr (License): Change to LGPLv2+.
51617         * modules/freadseek (License): Likewise.
51618         Suggested by Eric Blake.
51619
51620         * modules/memchr2 (License): Change to LGPLv2+.
51621         Approved by Eric Blake.
51622
51623 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51624             Bruno Haible  <bruno@clisp.org>
51625
51626         Make gnulib-tool work with native 'sed' on AIX.
51627         * gnulib-tool (sed_noop): New variable.
51628         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51629         func_add_or_update, func_create_testdir): Use it to initialize sed
51630         script variables.
51631         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51632
51633 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51634             Bruno Haible  <bruno@clisp.org>
51635
51636         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51637         also works after #include directives.
51638
51639 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
51640
51641         getdate.y: reject an out-of-range timezone value
51642         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51643         the range [-24...+24].  When specified with only one or two digits,
51644         * tests/test-getdate.c: Tests for the fix.
51645         * doc/getdate.texi: Document this change.
51646
51647 2008-09-03  Bruno Haible  <bruno@clisp.org>
51648
51649         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51650
51651 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51652
51653         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51654         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51655         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51656         Blake <ebb9@byu.net>.
51657
51658         * tests/test-bitrotate.c: Add more test vectors.
51659
51660 2008-09-02  Eric Blake  <ebb9@byu.net>
51661
51662         vasnprintf-posix: handle large precision via %.*d
51663         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51664         when handling it ourselves.
51665         * tests/test-vasnprintf-posix.c (test_function): Add test.
51666         * tests/test-snprintf-posix.h (test_function): Likewise.
51667         * tests/test-sprintf-posix.h (test_function): Likewise.
51668         * tests/test-vasprintf-posix.c (test_function): Likewise.
51669         Reported by Alain Guibert.
51670
51671 2008-09-01  Eric Blake  <ebb9@byu.net>
51672
51673         c-stack: make configure-time check more robust
51674         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51675         successful sigaction call.
51676         Reported by Tom G. Christensen.
51677
51678 2008-09-01  Bruno Haible  <bruno@clisp.org>
51679
51680         New module 'findprog-lgpl'.
51681         * modules/findprog-lgpl: New file.
51682         * lib/findprog-lgpl.c: New file.
51683         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51684         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51685         to decide whether to use strdup or xstrdup, concatenated_filename or
51686         xconcatenated_filename.
51687
51688 2008-09-01  Bruno Haible  <bruno@clisp.org>
51689
51690         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51691         'xconcat-filename' (GPL).
51692         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51693         (License): Change to LGPLv2+.
51694         * modules/xconcat-filename: New file.
51695         * lib/concat-filename.h (concatenated_filename): Change specification.
51696         (xconcatenated_filename): New declaration.
51697         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51698         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51699         memory situations.
51700         * lib/xconcat-filename.c: New file.
51701         * NEWS: Mention the change.
51702         * lib/findprog.c: Include concat-filename.h, not filename.h.
51703         (find_in_path): Use xconcatenated_filename instead of
51704         concatenated_filename.
51705         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51706         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51707         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51708         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51709         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51710         instead of concatenated_filename.
51711         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51712         (execute_java_class): Use xconcatenated_filename instead of
51713         concatenated_filename.
51714         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51715         * modules/javacomp (Depends-on): Likewise.
51716         * modules/javaexec (Depends-on): Likewise.
51717
51718 2008-09-01  Bruno Haible  <bruno@clisp.org>
51719
51720         Split module 'filename' into 'filename' and 'concat-filename'.
51721         * modules/filename: Keep only lib/filename.h.
51722         (License): Change to LGPLv2+.
51723         * modules/concat-filename: New file, extracted from modules/filename.
51724         * lib/filename.h (concatenated_filename): Remove declaration.
51725         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51726         * lib/concat-filename.c: Include concat-filename.h.
51727         * NEWS: Mention the change.
51728
51729 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51730
51731         * lib/bitrotate.h (rotl8, rotr8): Add.
51732
51733         * modules/bitrotate (configure.ac): Need
51734         AC_REQUIRE([AC_C_INLINE]).
51735         (Description): Mention stdint.h.  Reported by Bruno Haible
51736         <bruno@clisp.org>.
51737
51738         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51739         Paolo Bonzini <bonzini@gnu.org>.
51740
51741 2008-08-31  Bruno Haible  <bruno@clisp.org>
51742
51743         Assume Solaris specific bi-arch conventions on Solaris systems.
51744         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51745         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51746         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51747         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51748         like acl_libdirstem.
51749         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51750         acl_libdirstem.
51751         * NEWS: Mention the change.
51752         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51753
51754 2008-08-31  Jim Meyering  <meyering@redhat.com>
51755
51756         * lib/strftime.h: Add comments describing the two added arguments.
51757
51758         remove duplicate #include directives
51759         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51760         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51761
51762 2008-08-31  Bruno Haible  <bruno@clisp.org>
51763
51764         New module 'sigpipe-die'.
51765         * modules/sigpipe-die: New file.
51766         * lib/sigpipe-die.h: New file.
51767         * lib/sigpipe-die.c: New file.
51768         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51769
51770 2008-08-31  Bruno Haible  <bruno@clisp.org>
51771
51772         Don't override previously installed signal handlers.
51773         * lib/fatal-signal.c (saved_sigactions): New variable.
51774         (uninstall_handlers): Reset the signal to the saved handler, not
51775         to SIG_DFL (except when ignored).
51776         (install_handlers): Save the previous handlers.
51777
51778 2008-08-30  Bruno Haible  <bruno@clisp.org>
51779
51780         * gnulib-tool (func_reset_sigpipe): New function.
51781         (func_get_automake_snippet, func_modules_transitive_closure,
51782         func_import): Invoke it before a join command that reads from stdin,
51783         to avoid "echo: write error: Broken pipe" error messages on stderr.
51784         Reported by Sam Steingold <sds@gnu.org>.
51785
51786 2008-08-30  Bruno Haible  <bruno@clisp.org>
51787
51788         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51789         Code copied from m4/open.m4.
51790         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51791         access and the filename ends in a slash. Code copied from lib/open.c.
51792         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51793         * tests/test-fopen.c (main): Check against bug with trailing slash.
51794
51795 2008-08-29  Bruno Haible  <bruno@clisp.org>
51796
51797         Avoid some "gcc -pedantic" warnings.
51798         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51799         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51800         * lib/dirent.in.h: Likewise.
51801         * lib/fcntl.in.h: Likewise.
51802         * lib/float.in.h: Likewise.
51803         * lib/iconv.in.h: Likewise.
51804         * lib/inttypes.in.h: Likewise.
51805         * lib/locale.in.h: Likewise.
51806         * lib/math.in.h: Likewise.
51807         * lib/netinet_in.in.h: Likewise.
51808         * lib/search.in.h: Likewise.
51809         * lib/signal.in.h: Likewise.
51810         * lib/stdarg.in.h: Likewise.
51811         * lib/stdint.in.h: Likewise.
51812         * lib/stdio.in.h: Likewise.
51813         * lib/stdlib.in.h: Likewise.
51814         * lib/string.in.h: Likewise.
51815         * lib/strings.in.h: Likewise.
51816         * lib/sys_select.in.h: Likewise.
51817         * lib/sys_socket.in.h: Likewise.
51818         * lib/sys_stat.in.h: Likewise.
51819         * lib/sys_time.in.h: Likewise.
51820         * lib/sysexits.in.h: Likewise.
51821         * lib/time.in.h: Likewise.
51822         * lib/unistd.in.h: Likewise.
51823         * lib/wchar.in.h: Likewise.
51824         * lib/wctype.in.h: Likewise.
51825         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51826         * modules/fchdir (Makefile.am): Likewise.
51827         * modules/fcntl (Makefile.am): Likewise.
51828         * modules/float (Makefile.am): Likewise.
51829         * modules/iconv_open (Makefile.am): Likewise.
51830         * modules/inttypes (Makefile.am): Likewise.
51831         * modules/locale (Makefile.am): Likewise.
51832         * modules/math (Makefile.am): Likewise.
51833         * modules/netinet_in (Makefile.am): Likewise.
51834         * modules/search (Makefile.am): Likewise.
51835         * modules/signal (Makefile.am): Likewise.
51836         * modules/stdarg (Makefile.am): Likewise.
51837         * modules/stdint (Makefile.am): Likewise.
51838         * modules/stdio (Makefile.am): Likewise.
51839         * modules/stdlib (Makefile.am): Likewise.
51840         * modules/string (Makefile.am): Likewise.
51841         * modules/strings (Makefile.am): Likewise.
51842         * modules/sys_select (Makefile.am): Likewise.
51843         * modules/sys_socket (Makefile.am): Likewise.
51844         * modules/sys_stat (Makefile.am): Likewise.
51845         * modules/sys_time (Makefile.am): Likewise.
51846         * modules/sysexits (Makefile.am): Likewise.
51847         * modules/time (Makefile.am): Likewise.
51848         * modules/unistd (Makefile.am): Likewise.
51849         * modules/wchar (Makefile.am): Likewise.
51850         * modules/wctype (Makefile.am): Likewise.
51851         Reported by Reuben Thomas <rrt@sc3d.org>.
51852
51853 2008-08-29  Bruno Haible  <bruno@clisp.org>
51854
51855         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51856         any more.
51857
51858 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51859
51860         * MODULES.html.sh (Misc): Add bitrotate.
51861
51862         * modules/bitrotate: New file.
51863
51864         * lib/bitrotate.h: New file.
51865
51866         * modules/bitrotate-tests: New file.
51867
51868         * tests/test-bitrotate.c: New file.
51869
51870         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51871         on the bitrotate module.
51872
51873         * lib/arctwo.c: Use new bitrotate module.
51874
51875 2008-08-29  Jim Meyering  <meyering@redhat.com>
51876
51877         bootstrap: merge changes from coreutils
51878         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51879         of copied files.  Remove a kludge, now that this is fixed.
51880         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51881         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51882         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51883
51884 2008-08-29  Bruno Haible  <bruno@clisp.org>
51885
51886         * MODULES.html.sh: Remove --cvs-urls option.
51887
51888 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51889
51890         maint.mk: adjust to file name change
51891         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51892
51893 2008-08-28  Jim Meyering  <meyering@redhat.com>
51894
51895         * modules/getndelim2 (License): Relicense to LGPLv2+.
51896         Approved by Richard Stallman for the version of 1995, and by
51897         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51898
51899 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51900
51901         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51902         dummy if one is not available.  Do not touch them if
51903         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51904         (getc_maybe_unlocked): New.
51905         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51906
51907 2008-08-26  Eric Blake  <ebb9@byu.net>
51908
51909         doc/INSTALL: resync from autoconf
51910         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51911         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51912         moving...
51913         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51914         * INSTALL: Regenerate.
51915         * INSTALL.ISO: New file.
51916         * INSTALL.UTF-8: Likewise.
51917
51918 2008-08-26  Jim Meyering  <meyering@redhat.com>
51919
51920         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51921         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51922         these definitions conditional, so that they may be overridden, too.
51923
51924 2008-08-26  Bruno Haible  <bruno@clisp.org>
51925
51926         Generate INSTALL file variants with prettier quotes.
51927         * doc/Makefile (INSTALL_PRELUDE): New macro.
51928         (INSTALL): Use it.
51929         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51930
51931 2008-08-26  Bruno Haible  <bruno@clisp.org>
51932
51933         Run makeinfo in an English locale.
51934         * doc/Makefile (MAKEINFO): New variable.
51935
51936 2008-08-26  Bruno Haible  <bruno@clisp.org>
51937
51938         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51939         Suggested by Eric Blake.
51940
51941 2008-08-25  Bruno Haible  <bruno@clisp.org>
51942
51943         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51944
51945 2008-08-25  Eric Blake  <ebb9@byu.net>
51946
51947         c-stack: test that stack overflow can be caught
51948         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51949         that platform allows handling stack overflow; at least OS/2 EMX
51950         has sigaltstack, but crashes before transferring control to
51951         handler on stack overflow.
51952         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51953         check for HAVE_STACK_OVERFLOW_HANDLING.
51954         Reported by Elbert Pol.
51955
51956 2008-08-25  Bruno Haible  <bruno@clisp.org>
51957
51958         * doc/posix-functions/strftime.texi: Fix description of strftime
51959         module.
51960
51961 2008-08-24  Bruno Haible  <bruno@clisp.org>
51962
51963         * tests/uniwidth/test-uc_width2.c: New file.
51964         * tests/uniwidth/test-uc_width2.sh: New file.
51965         * modules/uniwidth/width-tests (Files): Add the new files.
51966         (TESTS): Add uniwidth/test-uc_width2.sh.
51967         (TESTS_ENVIRONMENT): New variable.
51968         (check_PROGRAMS): Add test-uc_width2.
51969         (test_uc_width2_SOURCES): New variable.
51970
51971         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51972         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51973         not 0x00AB.
51974         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51975
51976 2008-08-22  Eric Blake  <ebb9@byu.net>
51977
51978         test-lock, test-tls: mention why a test is skipped
51979         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51980         skipped.
51981         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51982
51983         count-one-bits: relax license
51984         * modules/count-one-bits (License): Relicense to LGPLv2+.
51985         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51986
51987 2008-08-22  Andreas Schwab  <schwab@suse.de>
51988
51989         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51990         Remove spurious space in assignment.
51991
51992 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51993
51994         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51995         Paul Eggert <eggert@CS.UCLA.EDU>.
51996
51997 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51998
51999         * modules/gettext: Add m4/threadlib.m4.
52000
52001 2008-08-19  Eric Blake  <ebb9@byu.net>
52002
52003         test-c-stack: fix compilation failure on FreeBSD 5.0
52004         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52005         headers before <sys/resource.h>.
52006         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52007         the bug.
52008         Reported by Nelson H. F. Beebe.
52009
52010         strverscmp: migrate from "strverscmp.h" to <string.h>
52011         * modules/string (Makefile.am): Add new hooks.
52012         * modules/strverscmp (Files): Remove strverscmp.h.
52013         (Depends-on): Add string.
52014         (configure.ac): Add indicator.
52015         (Include): Mention new header.
52016         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52017         defaults.
52018         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52019         results.
52020         * lib/strverscmp.h: Delete.
52021         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52022         * tests/test-strverscmp.c (includes): Adjust client.
52023         * lib/check-version.c (includes): Likewise.
52024         * NEWS: Document the change.
52025
52026         strverscmp: add unit test
52027         * modules/strverscmp-tests: New file.
52028         * tests/test-strverscmp.c: Likewise.
52029
52030 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52031
52032         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52033         regarding Windows crypto stuff, from Mono.
52034
52035 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52036
52037         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52038         if present, for intel RND.  Return error on failures.
52039
52040 2008-08-18  Ben Pfaff  <blp@gnu.org>
52041
52042         gitlog-to-changelog: give better diagnostic for failed pipe-open
52043         * build-aux/gitlog-to-changelog: Improve error message: suggest
52044         that the version of Git may be too old.
52045
52046 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52047
52048         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52049         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52050
52051 2008-08-18  Bruno Haible  <bruno@clisp.org>
52052
52053         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52054         pthread_in_use().
52055
52056 2008-08-18  Bruno Haible  <bruno@clisp.org>
52057
52058         * lib/glthread/threadlib.c: Include <pthread.h>.
52059
52060 2008-08-18  Bruno Haible  <bruno@clisp.org>
52061
52062         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52063         glthread_recursive_lock_* macros.
52064         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52065         Fix syntax error.
52066
52067 2008-08-18  Bruno Haible  <bruno@clisp.org>
52068
52069         * lib/glthread/thread.c: Avoid forcing a context switch right after
52070         thread creation.
52071
52072 2008-08-17  Bruno Haible  <bruno@clisp.org>
52073
52074         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52075         * lib/glthread/thread.h: Provide Win32 specific implementation.
52076         * modules/thread (Files): Add lib/glthread/thread.c.
52077         (Depends-on): Add lock.
52078         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52079
52080 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52081
52082         New module 'yield'.
52083         * modules/yield: New file.
52084         * lib/glthread/yield.h: New file.
52085         * m4/yield.m4: New file.
52086         * MODULES.html.sh (Multithreading): Add yield.
52087
52088 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52089
52090         New module 'thread'.
52091         * modules/thread: New file.
52092         * lib/glthread/thread.h: New file.
52093         * m4/thread.m4: New file.
52094         * MODULES.html.sh (Multithreading): Add thread.
52095
52096 2008-08-17  Bruno Haible  <bruno@clisp.org>
52097
52098         * lib/glthread/lock.h: Include <stdlib.h> always.
52099         * lib/glthread/tls.h: Likewise.
52100         * lib/glthread/cond.h: Likewise.
52101
52102 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52103
52104         New module 'cond'.
52105         * modules/cond: New file.
52106         * lib/glthread/cond.h: New file.
52107         * lib/glthread/cond.c: New file.
52108         * m4/cond.m4: New file.
52109         * MODULES.html.sh (Multithreading): Add cond.
52110
52111 2008-08-16  Eric Blake  <ebb9@byu.net>
52112
52113         c-stack: fix regression on Irix 5.3 from 2008-06-21
52114         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52115         sa_sigaction...
52116         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52117         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52118         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52119         * modules/signal (Makefile.am): Use the value.
52120         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52121         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52122         * doc/posix-headers/signal.texi (signal.h): Document this
52123         portability issue.
52124         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52125         Reported by Tom G. Christensen.
52126
52127 2008-08-17  Bruno Haible  <bruno@clisp.org>
52128
52129         New module 'threadlib'.
52130         * modules/threadlib: New file.
52131         * lib/glthread/threadlib.c: New file, extracted from
52132         lib/glthread/lock.c.
52133         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52134         functions.
52135         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52136         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52137         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52138         macros.
52139         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52140         (gl_DISABLE_THREADS): Remove macro.
52141         * modules/lock (Files): Remove build-aux/config.rpath.
52142         (Depends-on): Remove havelib. Add threadlib.
52143         (configure.ac-early): Remove section.
52144         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52145         * modules/tls (Depends-on): Remove lock. Add threadlib.
52146         (Link): New section, copied from threadlib.
52147         * MODULES.html.sh (Multithreading): Add threadlib.
52148
52149 2008-08-14  Bruno Haible  <bruno@clisp.org>
52150
52151         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52152         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52153         glthread_rwlock_unlock, glthread_rwlock_destroy,
52154         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52155         glthread_recursive_lock_destroy): Define as macros always.
52156         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52157         glthread_lock_lock.
52158         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52159         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52160         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52161         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52162         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52163         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52164         (glthread_recursive_lock_lock_func): Renamed from
52165         glthread_recursive_lock_lock.
52166         (glthread_recursive_lock_unlock_func): Renamed from
52167         glthread_recursive_lock_unlock.
52168         (glthread_recursive_lock_destroy_func): Renamed from
52169         glthread_recursive_lock_destroy.
52170
52171 2008-08-14  Bruno Haible  <bruno@clisp.org>
52172
52173         * lib/glthread/lock.h: Renamed from lib/lock.h.
52174         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52175         * lib/glthread/tls.h: Renamed from lib/tls.h.
52176         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52177         * lib/fstrcmp.c: Update includes.
52178         * lib/strsignal.c: Update includes.
52179         * modules/lock (Files, Makefile.am): Update.
52180         (Include): Change to "glthread/lock.h".
52181         * modules/tls (Files, Makefile.am): Update.
52182         (Include): Change to "glthread/tls.h".
52183         * tests/test-lock.c: Update includes.
52184         * tests/test-tls.c: Update includes.
52185         * NEWS: Mention the renamed header files.
52186
52187 2008-08-11  Jim Meyering  <meyering@redhat.com>
52188
52189         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52190
52191 2008-08-11  Eric Blake  <ebb9@byu.net>
52192
52193         test-c-stack: avoid C99-ism
52194         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52195         before statement.
52196         Reported by Alain Guibert.
52197
52198 2008-08-10  Jim Meyering  <meyering@redhat.com>
52199
52200         ensure that return value of uinttostr et al are not ignored
52201         * lib/inttostr.h (__GNUC_PREREQ): Define.
52202         (__attribute_warn_unused_result__): Define.
52203         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52204
52205 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52206
52207         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52208         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52209
52210 2008-08-07  Jim Meyering  <meyering@redhat.com>
52211
52212         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52213
52214         * modules/mkstemp (License): Relicense under LGPLv2+.
52215         * modules/tempname (License): Likewise.
52216
52217 2008-08-06  Bruno Haible  <bruno@clisp.org>
52218
52219         * lib/poll.c (poll): Further micro-optimization.
52220
52221 2008-08-06  Jim Meyering  <meyering@redhat.com>
52222
52223         inet_pton.c: use locale-independent tolower
52224         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52225         (inet_pton6): Use c_tolower rather than tolower.
52226         * modules/inet_pton (Depends-on): Add c-ctype.
52227
52228 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52229
52230         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52231         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52232
52233 2008-08-06  Jim Meyering  <meyering@redhat.com>
52234
52235         * modules/inet_pton (License): Relicense under LGPLv2+.
52236
52237 2008-08-03  Bruno Haible  <bruno@clisp.org>
52238
52239         Additional non-aborting API for lock and tls.
52240         * lib/lock.h: Include <errno.h>.
52241         (glthread_lock_init): New macro/function.
52242         (gl_lock_init): Define as wrapper around glthread_lock_init.
52243         (glthread_lock_lock): New macro/function.
52244         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52245         (glthread_lock_unlock): New macro/function.
52246         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52247         (glthread_lock_destroy): New macro/function.
52248         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52249         (glthread_rwlock_init): New macro/function.
52250         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52251         (glthread_rwlock_rdlock): New macro/function.
52252         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52253         (glthread_rwlock_wrlock): New macro/function.
52254         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52255         (glthread_rwlock_unlock): New macro/function.
52256         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52257         (glthread_rwlock_destroy): New macro/function.
52258         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52259         (glthread_recursive_lock_init): New macro/function.
52260         (gl_recursive_lock_init): Define as wrapper around
52261         glthread_recursive_lock_init.
52262         (glthread_recursive_lock_lock): New macro/function.
52263         (gl_recursive_lock_lock): Define as wrapper around
52264         glthread_recursive_lock_lock.
52265         (glthread_recursive_lock_unlock): New macro/function.
52266         (gl_recursive_lock_unlock): Define as wrapper around
52267         glthread_recursive_lock_unlock.
52268         (glthread_recursive_lock_destroy): New macro/function.
52269         (gl_recursive_lock_destroy): Define as wrapper around
52270         glthread_recursive_lock_destroy.
52271         (glthread_once): New macro/function.
52272         (gl_once): Define as wrapper around glthread_once.
52273         Update function declarations.
52274         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52275         glthread_rwlock_init. Return error code.
52276         (glthread_rwlock_rdlock_multithreaded): Renamed from
52277         glthread_rwlock_rdlock. Return error code.
52278         (glthread_rwlock_wrlock_multithreaded): Renamed from
52279         glthread_rwlock_wrlock. Return error code.
52280         (glthread_rwlock_unlock_multithreaded): Renamed from
52281         glthread_rwlock_unlock. Return error code.
52282         (glthread_rwlock_destroy_multithreaded): Renamed from
52283         glthread_rwlock_destroy. Return error code.
52284         (glthread_recursive_lock_init_multithreaded): Renamed from
52285         glthread_recursive_lock_init. Return error code.
52286         (glthread_recursive_lock_lock_multithreaded): Renamed from
52287         glthread_recursive_lock_lock. Return error code.
52288         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52289         glthread_recursive_lock_unlock. Return error code.
52290         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52291         glthread_recursive_lock_destroy. Return error code.
52292         (glthread_once_call): Make static.
52293         (glthread_once_multithreaded): Renamed from glthread_once.
52294         * lib/tls.h: Include <errno.h>.
52295         (glthread_tls_key_init): New macro/function.
52296         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52297         (glthread_tls_set): New macro/function.
52298         (gl_tls_set): Define as wrapper around glthread_tls_set.
52299         (glthread_tls_key_destroy): New macro/function.
52300         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52301         Update function declarations.
52302         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52303         glthread_tls_get.
52304         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52305
52306 2008-08-04  Eric Blake  <ebb9@byu.net>
52307
52308         gnumakefile: use space, not TAB, outside of targets
52309         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52310
52311 2008-08-02  Jim Meyering  <meyering@redhat.com>
52312
52313         getdate.y: avoid locale-dependent date parsing failure
52314         In Turkish locales, getdate would fail to recognize keywords
52315         containing a lowercase "i".  The solution is not to rely on
52316         locale-sensitive case-conversion.
52317         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52318         (lookup_word): Use c_toupper in place of toupper.
52319         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52320         Reported by Vefa Bicakci <bicave@superonline.com> in
52321         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52322         * modules/getdate (Depends-on): Add c-ctype.
52323
52324 2008-08-02  Bruno Haible  <bruno@clisp.org>
52325
52326         * gnulib-tool (func_import): When updating or creating a .gitignore
52327         file, prepend each added line with a slash, and ignore leading slashes
52328         from the existing lines.
52329         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52330
52331 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52332
52333         Portability fix for GNU make 3.79.1.
52334         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52335         versions do not understand.
52336
52337 2008-08-01  Bruno Haible  <bruno@clisp.org>
52338
52339         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52340         * tests/test-isnanf.h (zero): New variable.
52341         (main): Avoid literal -0.0f.
52342         * tests/test-isnand.h (zero): New variable.
52343         (main): Avoid literal -0.0.
52344         * tests/test-isnanl.h (zero): New variable.
52345         (main): Avoid literal -0.0L.
52346         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52347         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52348         -0.0, -0.0L.
52349         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52350         (test_signbitd): Avoid literal -0.0.
52351         (test_signbitl): Avoid literal -0.0L.
52352         * tests/test-ceilf1.c (zero): New variable.
52353         (main): Avoid literal -0.0f.
52354         * tests/test-ceill.c (zero): New variable.
52355         (main): Avoid literal -0.0L.
52356         * tests/test-floorf1.c (zero): New variable.
52357         (main): Avoid literal -0.0f.
52358         * tests/test-floorl.c (zero): New variable.
52359         (main): Avoid literal -0.0L.
52360         * tests/test-roundf1.c (zero): New variable.
52361         (main): Avoid literal -0.0f.
52362         * tests/test-round1.c (zero): New variable.
52363         (main): Avoid literal -0.0.
52364         * tests/test-roundl.c (zero): New variable.
52365         (main): Avoid literal -0.0L.
52366         * tests/test-truncf1.c (zero): New variable.
52367         (main): Avoid literal -0.0f.
52368         * tests/test-trunc1.c (zero): New variable.
52369         (main): Avoid literal -0.0.
52370         * tests/test-truncl.c (zero): New variable.
52371         (main): Avoid literal -0.0L.
52372         * tests/test-frexp.c (zero): New variable.
52373         (main): Avoid literal -0.0.
52374         * tests/test-frexpl.c (zero): New variable.
52375         (main): Avoid literal -0.0L.
52376         * tests/test-ldexpl.c (zero): New variable.
52377         (main): Avoid literal -0.0L.
52378         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52379         (zerod, zerol): New variables.
52380         (test_function): Avoid literals -0.0, -0.0L.
52381         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52382         (zerod, zerol): New variables.
52383         (test_function): Avoid literals -0.0, -0.0L.
52384         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52385         (zerod, zerol): New variables.
52386         (test_function): Avoid literals -0.0, -0.0L.
52387         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52388         (zerod, zerol): New variables.
52389         (test_function): Avoid literals -0.0, -0.0L.
52390         * tests/test-strtod.c (zero): New variable.
52391         (main): Avoid literal -0.0.
52392         Reported by Jonathan C. Patschke <jp@centtech.com>.
52393
52394 2008-07-31  Jim Meyering  <meyering@redhat.com>
52395
52396         sha256.h: correct definition of SHA224_DIGEST_SIZE
52397         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52398         Reported by Paulie Pena IV <paulie4@gmail.com>.
52399         Define as 224 / 8, rather than as a literal.
52400         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52401         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52402         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52403
52404 2008-07-31  Bruno Haible  <bruno@clisp.org>
52405
52406         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52407         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52408         Reported by Jonathan Patschke <jp@centtech.com>.
52409
52410 2008-07-31  Bruno Haible  <bruno@clisp.org>
52411
52412         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52413         Reported by Paolo Bonzini <bonzini@gnu.org>.
52414
52415 2008-07-30  Eric Blake  <ebb9@byu.net>
52416
52417         test-strtod: allow compilation without -lm
52418         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52419         Reported by Dennis Clarke <blastwave@gmail.com>.
52420
52421 2008-07-28  Jim Meyering  <meyering@redhat.com>
52422
52423         bootstrap: work also when there are no .po files in po/
52424         * build-aux/bootstrap (update_po_files): Complete the change
52425         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52426
52427 2008-07-27  Jim Meyering  <meyering@redhat.com>
52428
52429         * users.txt: Add zile.
52430
52431 2008-07-26  Ben Pfaff  <blp@gnu.org>
52432
52433         Add missing dependencies on new m4/exponent[fdl].m4 files.
52434         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52435         * modules/isnand-nolibm: Add m4/exponentd.m4.
52436         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52437         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52438         m4/isnan[fdl].m4, because the macros actually used moved.
52439         Reported by Jim Meyering.
52440
52441 2008-07-14  Ben Pfaff  <blp@gnu.org>
52442
52443         Add isinf module.
52444         * lib/isinf.c: New file.
52445         * lib/math.in.h: Define isinf macro if we have decided to replace
52446         it.
52447         * m4/isinf.m4: New file.
52448         * m4/math_h.m4: Initialize and substitute variables for isinf
52449         module.
52450         * modules/isinf: New file.
52451         * modules/isinf-tests: New file.
52452         * modules/math: Add substitutions for new module.
52453         * tests/test-isinf.c: New file.
52454         * doc/posix-functions/isinf.texi: Mention new module.
52455         * MODULES.html.sh: Mention new module.
52456
52457 2008-07-14  Ben Pfaff  <blp@gnu.org>
52458
52459         Factor out some macros for use by additional modules.
52460         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52461         exponentf.m4.
52462         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52463         exponentd.m4.
52464         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52465         file exponentl.m4.
52466         * m4/exponentf.m4: New file.
52467         * m4/exponentd.m4: New file.
52468         * m4/exponentl.m4: New file.
52469         * modules/isnanf: Use new file m4/exponentf.m4.
52470         * modules/isnand: Use new file m4/exponentd.m4.
52471         * modules/isnanl: Use new file m4/exponentl.m4.
52472
52473 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52474
52475         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52476         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52477         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52478         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52479
52480         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52481         readlink on platforms without PATH_MAX.
52482
52483 2008-07-21  Eric Blake  <ebb9@byu.net>
52484
52485         Warn, not fail, on stale version.
52486         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52487
52488         Don't allow installation with stale devel version number.
52489         * top/GNUmakefile (_is-install-target): New macro.
52490         (_curr-ver): Forbid installation with stale version number.
52491
52492 2008-07-20  Bruno Haible  <bruno@clisp.org>
52493
52494         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52495         TESTS_ENVIRONMENT.
52496         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52497
52498 2008-07-20  Bruno Haible  <bruno@clisp.org>
52499
52500         * lib/c-stack.h (c_stack_action): Add documentation.
52501         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52502
52503 2008-07-20  Bruno Haible  <bruno@clisp.org>
52504
52505         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52506         * modules/readlink (License): Likewise.
52507
52508 2008-07-17  Eric Blake  <ebb9@byu.net>
52509
52510         * modules/c-stack (Link): Fix typo.
52511
52512         Make c-stack use libsigsegv, when available.
52513         * modules/c-stack (Depends-on): Add libsigsegv.
52514         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52515         needed.
52516         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52517         (segv_handler, overflow_handler, c_stack_action)
52518         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52519         implementation when libsigsegv is available, but only when using
52520         the library is necessary.
52521         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52522         comment, explaining why XSI check fails on Linux.
52523         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52524         * tests/test-c-stack2.sh: Tweak skip message.
52525         * NEWS: Document new link-time requirements.
52526
52527 2008-07-16  Eric Blake  <ebb9@byu.net>
52528
52529         c-stack: Expose false positives when not using libsigsegv.
52530         * modules/c-stack-tests (Files): Expand test.
52531         * tests/test-c-stack.c (main): Add means to conditionally trigger
52532         non-overflow SIGSEGV.
52533         * tests/test-c-stack2.sh: New file.
52534
52535 2008-07-14  Bruno Haible  <bruno@clisp.org>
52536
52537         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52538         Reported by Eric Blake.
52539
52540 2008-07-14  Sam Steingold  <sds@gnu.org>
52541             Bruno Haible  <bruno@clisp.org>
52542
52543         New module libsigsegv.
52544         * modules/libsigsegv: New file.
52545         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52546         modifications.
52547         * MODULES.html.sh (Signal handling): New section.
52548
52549 2008-07-14  Bruno Haible  <bruno@clisp.org>
52550
52551         * modules/unictype/ctype-* (Description): Add the word "function".
52552         Improves the resulting doc in MODULES.html.
52553
52554 2008-07-12  Ben Pfaff  <blp@gnu.org>
52555
52556         Add longlong module.
52557         * modules/longlong: New file.
52558
52559 2008-07-12  Bruno Haible  <bruno@clisp.org>
52560
52561         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52562         to empty.
52563
52564 2008-07-10  Ben Pfaff  <blp@gnu.org>
52565
52566         Add isnan module.
52567         * doc/posix-functions/isnan.texi: Mention new module.
52568         * lib/math.in.h: Define isnan macro if we have decided to replace
52569         it.
52570         * m4/isnan.m4: New file.
52571         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52572         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52573         also.
52574         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52575         redundancy.
52576         * m4/math_h.m4: Initialize and substitute variables for isnan
52577         module.
52578         * modules/isnan: New file.
52579         * modules/isnan-tests: New file.
52580         * modules/math: Add substitutions for new module.
52581         * tests/test-isnan.c: New file.
52582         * MODULES.html.sh: Mention new module.
52583
52584 2008-07-10  Ben Pfaff  <blp@gnu.org>
52585
52586         Add isnanf module.
52587         * lib/isnanf.m4: New file.
52588         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52589         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52590         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52591         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52592         * modules/isnanf: New file.
52593         * modules/isnanf-tests: New file.
52594         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52595         files.
52596         * tests/test-isnanf-nolibm.c: factored most of its contents into
52597         new file tests/test-isnanf.h.
52598         * tests/test-isnanf.h: New file.
52599         * tests/test-isnanf.c: New file.
52600         * MODULES.html.sh: Mention new module.
52601         * doc/glibc-functions/isnanf.texi: Mention new module.
52602
52603 2008-07-10  Ben Pfaff  <blp@gnu.org>
52604
52605         Add isnand module.
52606         * lib/isnand.h: New file.
52607         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52608         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52609         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52610         functionality also.
52611         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52612         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52613         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52614         * modules/isnand: New file.
52615         * modules/isnand-tests: New file.
52616         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52617         files.
52618         * tests/test-isnand-nolibm.c: factored most of its contents into
52619         new file tests/test-isnand.h.
52620         * tests/test-isnand.h: New file.
52621         * tests/test-isnand.c: New file.
52622         * MODULES.html.sh: Mention new module.
52623
52624 2008-07-10  Ben Pfaff  <blp@gnu.org>
52625
52626         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52627         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52628         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52629         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52630         * modules/isnanf-nolibm: Update references to renamed files.
52631         * modules/isnand-nolibm: Likewise.
52632         * modules/isnanf-nolibm-tests: Likewise.
52633         * modules/isnand-nolibm-tests: Likewise.
52634         * lib/frexp.c: Likewise.
52635         * lib/isfinite.c: Likewise.
52636         * lib/signbitd.c: Likewise.
52637         * lib/signbitf.c: Likewise.
52638         * lib/vasnprintf.c: Likewise.
52639         * tests/test-ceilf1.c: Likewise.
52640         * tests/test-ceilf2.c: Likewise.
52641         * tests/test-floorf1.c: Likewise.
52642         * tests/test-floorf2.c: Likewise.
52643         * tests/test-frexp.c: Likewise.
52644         * tests/test-round1.c: Likewise.
52645         * tests/test-round2.c: Likewise.
52646         * tests/test-roundf1.c: Likewise.
52647         * tests/test-strtod.c: Likewise.
52648         * tests/test-trunc1.c: Likewise.
52649         * tests/test-trunc2.c: Likewise.
52650         * tests/test-truncf1.c: Likewise.
52651         * tests/test-truncf2.c: Likewise.
52652         * NEWS: Mention the renamed header files.
52653
52654 2008-07-11  Jim Meyering  <meyering@redhat.com>
52655
52656         vc-list-files: make the last-resort awk code more portable
52657         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52658         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52659         does not support it.
52660
52661 2008-07-10  Eric Blake  <ebb9@byu.net>
52662
52663         Work with tar's bootstrap.
52664         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52665         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52666         an m4 comment.
52667
52668 2008-07-09  Jim Meyering  <meyering@redhat.com>
52669
52670         posix-shell.m4: fix typo that made this test malfunction
52671         * m4/posix-shell.m4: Remove capitalization in variable name.
52672
52673 2008-07-08  Bruno Haible  <bruno@clisp.org>
52674
52675         * m4/onceonly.m4: Update comments.
52676         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52677
52678 2008-07-04  Jim Meyering  <meyering@redhat.com>
52679
52680         * users.txt: Add vc-dwim.
52681         (bison, coreutils): Use the gitweb URL.
52682
52683 2008-07-03  Jim Meyering  <meyering@redhat.com>
52684
52685         * users.txt: Add libffcall.  From Sam Steingold.
52686
52687 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
52688
52689         getdate.y: do not ignore TZ with relative day, month or year offset
52690         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52691         relative-date-handling, since otherwise, the latter would clobber the
52692         sole output (an updated Start value) of the tz-handling block.
52693         * tests/test-getdate.c: Tests for the fix
52694
52695 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52696
52697         Recognize 'foo_LIBRARIES += libgnu.a'.
52698         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52699         makefile snippet has already specified an installation location,
52700         also using '+='.
52701
52702 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
52703
52704         getdate.y: factor out common actions
52705         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52706         Use them in place of open-coded actions.
52707
52708 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52709
52710         Add self-test for getdate module.
52711         * modules/getdate-tests: New file.
52712         * tests/test-getdate.c: New file.
52713
52714 2008-06-29  Bruno Haible  <bruno@clisp.org>
52715
52716         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52717         .gitignore.
52718         Reported by Sylvain Beucler <beuc@beuc.net>.
52719
52720 2008-06-29  Bruno Haible  <bruno@clisp.org>
52721
52722         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52723         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52724
52725 2008-06-29  Bruno Haible  <bruno@clisp.org>
52726
52727         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52728         EXTRA_DIST.
52729         Reported by Sylvain Beucler <beuc@beuc.net>.
52730
52731 2008-06-26  Jim Meyering  <meyering@redhat.com>
52732
52733         make several modules depend on the "open" module
52734         This provides slightly increased consistency when opening-for-write
52735         the name of a non-directory spelled with a trailing slash.
52736         * modules/chdir-safer: Likewise.
52737         * modules/chown: Likewise.
52738         * modules/clean-temp: Likewise.
52739         * modules/copy-file: Likewise.
52740         * modules/fchdir: Likewise.
52741         * modules/fcntl-safer: Likewise.
52742         * modules/pipe: Likewise.
52743         * modules/utime: Likewise.
52744         Prompted by Eric Blake and Bruno Haible.
52745
52746 2008-06-24  Andreas Schwab  <schwab@suse.de>
52747
52748         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52749         literals can be used as initializers for global variables.
52750
52751 2008-06-23  Eric Blake  <ebb9@byu.net>
52752
52753         Make gnulib-cache.m4 easier to diff.
52754         * gnulib-tool (func_import): Allow newlines when reading cached
52755         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52756
52757 2008-06-23  Bruno Haible  <bruno@clisp.org>
52758
52759         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52760         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52761         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52762         m4/signalblocking.m4.
52763         (gl_PREREQ_SIGACTION): Don't invoke it.
52764         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52765         gl_PREREQ_SIG_HANDLER_H.
52766         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52767         Don't check for sigaction here.
52768
52769 2008-06-23  Bruno Haible  <bruno@clisp.org>
52770
52771         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52772         (install_handlers): Don't set the SA_RESETHAND flag.
52773
52774 2008-06-23  Bruno Haible  <bruno@clisp.org>
52775
52776         * m4/sigaction.m4: Comment fixes.
52777         * lib/signal.in.h: Likewise.
52778
52779 2008-06-23  Eric Blake  <ebb9@byu.net>
52780
52781         Fix typo.
52782         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52783
52784         Avoid SA_ namespace.
52785         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52786         Reported by Ralf Wildenhues.
52787
52788         Avoid test failure due to SA_RESTORER.
52789         * tests/test-sigaction.c (SA_MASK): New macro.
52790         (main): Avoid failing due to extension flags being set.
52791         Reported by Jim Meyering.
52792
52793         Revert use of sig-handler.h in sigprocmask.c.
52794         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52795         it requires the existence of struct sigaction.
52796         * lib/sigprocmask.c (handler_t): Restore typedef.
52797         (rpl_signal, old_handlers): Use local type.
52798
52799 2008-06-22  Bruno Haible  <bruno@clisp.org>
52800
52801         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52802         conditionally.
52803         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52804
52805 2008-06-22  Bruno Haible  <bruno@clisp.org>
52806
52807         * doc/posix-functions/siginterrupt.texi: Move note.
52808
52809         * lib/signal.in.h (SA_RESTART): New macro.
52810         * lib/sigaction.c: Update comment.
52811
52812         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52813
52814         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52815         (gl_PREREQ_SIGPROCMASK): Invoke it.
52816         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52817
52818         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52819
52820         * lib/sigprocmask.c: Update a comment.
52821
52822 2008-06-21  Eric Blake  <ebb9@byu.net>
52823
52824         Use sigaction module rather than signal().
52825         * modules/c-stack (Depends-on): Add sigaction.
52826         * modules/fatal-signal (Depends-on): Likewise.
52827         * modules/nanosleep (Depends-on): Likewise.
52828         * modules/sigprocmask (Files): Add sig-handler.h.
52829         * modules/sigaction (Files): Likewise.
52830         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52831         Eggert.
52832         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52833         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52834         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52835         (init_fatal_signals): Likewise.
52836         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52837         (siginterrupt): Delete fallback.
52838         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52839         instead.
52840         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52841         siginterrupt.
52842
52843         New module sigaction, for mingw.
52844         * modules/sigaction: New module...
52845         * modules/sigaction-tests: ...and its test.
52846         * m4/sigaction.m4: New file.
52847         * lib/sigaction.c: Likewise.
52848         * tests/test-sigaction.c: Likewise.
52849         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52850         * modules/signal (Makefile.am): Likewise.
52851         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52852         needed.
52853         * doc/posix-headers/signal.texi (signal.h): Mention provided
52854         types.
52855         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52856         that sigaction is preferable.
52857         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52858         module.
52859         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52860         sigaction.
52861
52862         Improve robustness of sigprocmask by overriding signal.
52863         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52864         is in use.
52865         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52866         (SIGKILL, SIGSTOP): Provide fallbacks.
52867         (rpl_signal): Implement.
52868         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52869         signal can be called inside handlers.
52870
52871         Fix nanosleep module on mingw.
52872         * modules/nanosleep (Depends-on): Add sys_select.
52873         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52874
52875         Fix licensing of sigprocmask.
52876         * modules/raise (License): Relicense as LGPL.
52877
52878 2008-06-21  Bruno Haible  <bruno@clisp.org>
52879
52880         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52881         result if it contains question marks.
52882         Reported by Michael Geng <linux@michaelgeng.de>.
52883
52884 2008-06-19  Bruno Haible  <bruno@clisp.org>
52885
52886         Fix CVS-ism.
52887         * doc/gnulib.texi: Include updated-stamp.texi.
52888         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52889         (updated-stamp.texi): New rule.
52890         (gnulib.info): Depend on it.
52891         * doc/.gitignore: Add updated-stamp.texi.
52892         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52893
52894 2008-06-19  Bruno Haible  <bruno@clisp.org>
52895
52896         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52897         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52898
52899 2008-06-19  Eric Blake  <ebb9@byu.net>
52900
52901         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52902         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52903         Reported by Stepan Kasal.
52904
52905 2008-06-18  Bruno Haible  <bruno@clisp.org>
52906
52907         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52908         Reported by Eric Blake.
52909
52910 2008-06-18  Eric Blake  <ebb9@byu.net>
52911
52912         Work around cygwin 1.5.25 strsignal bug.
52913         * tests/test-strsignal.c: Allow for const char *.
52914         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52915
52916 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52917
52918         * users.txt: Update URL to article and add author/date
52919         information.
52920
52921 2008-06-17  Bruno Haible  <bruno@clisp.org>
52922
52923         New macro gl_DISABLE_THREADS.
52924         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52925         if the user did not pass --enable-threads or --disable-threads option.
52926         (gl_DISABLE_THREADS): New macro.
52927         Reported by Eric Blake <ebb9@byu.net>.
52928
52929 2008-06-17  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52932         when the macro ignores it.
52933         Based on a patch by Eric Blake <ebb9@byu.net>.
52934
52935 2008-06-17  Bruno Haible  <bruno@clisp.org>
52936
52937         * modules/tls (License): Change to LGPLv2+.
52938         Reported by Eric Blake.
52939
52940 2008-06-17  Eric Blake  <ebb9@byu.net>
52941
52942         Simplify c-stack prerequisites.
52943         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52944         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52945         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52946         check.
52947         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52948         <sys/resource.h>.
52949
52950         Move c-stack test into testsuite.
52951         * modules/c-stack-tests: New file.
52952         * lib/c-stack.c [DEBUG]: Move test program...
52953         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52954         fail test if sigaltstack is lacking.
52955         * tests/test-c-stack.sh: New driver file.
52956
52957 2008-06-16  Eric Blake  <ebb9@byu.net>
52958
52959         Use raise module consistently.
52960         * modules/fatal-signal (Depends-on): Add raise.
52961         * modules/sigprocmask (Depends-on): Likewise.
52962         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52963         * lib/sigprocmask.c (sigprocmask): Likewise.
52964         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52965         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52966
52967         Fix compliance bug in sigpending.
52968         * lib/sigprocmask.c (sigpending): Return pending array via
52969         parameter, not return value.
52970
52971 2008-06-14  Eric Blake  <ebb9@byu.net>
52972
52973         Improve obstack-printf test code.
52974         * tests/test-obstack-printf.c (test_function): Fix comment, and
52975         simplify usage of obstack_* in macros.  Add a test for coverage.
52976         Reported by Bruno Haible.
52977
52978 2008-06-14  Bruno Haible  <bruno@clisp.org>
52979
52980         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52981         array size as a constant, not as a const variable.
52982         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52983         AC_USE_SYSTEM_EXTENSIONS.
52984         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52985         Test whether the obstack_printf function actually exists.
52986         * modules/obstack-printf (Depends-on): Add extensions.
52987         (Include): Remove obstack.h.
52988         * modules/obstack-printf-posix (Depends-on): Add extensions.
52989         (Include): Remove obstack.h.
52990
52991 2008-06-13  Eric Blake  <ebb9@byu.net>
52992
52993         Add obstack-printf and obstack-printf-posix modules.
52994         * modules/obstack-printf: New file.
52995         * modules/obstack-printf-posix: Likewise.
52996         * MODULES.html.sh (Misc): Mention them.
52997         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52998         Likewise.
52999         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53000         Likewise.
53001         * modules/stdio (Makefile.am): Accomodate new modules.
53002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53003         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53004         Declare.
53005         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53006         functions.
53007         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53008         (gl_REPLACE_OBSTACK_PRINTF): New macros
53009         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53010         * tests/test-obstack-printf.c: New file.
53011         * modules/obstack-printf-tests: Likewise.
53012         * modules/obstack-printf-posix-tests: Likewise.
53013
53014 2008-06-11  Bruno Haible  <bruno@clisp.org>
53015
53016         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53017         * lib/open.c: Include errno.h.
53018         (open): Fail when attempting to write to a file that has a trailing
53019         slash.
53020         * tests/test-open.c (main): Test against trailing slash bug.
53021         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53022
53023 2008-06-10  Bruno Haible  <bruno@clisp.org>
53024
53025         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53026         for $? to work inside the trap command, with various /bin/sh-s.
53027         * tests/test-vc-list-files-cvs.sh: Likewise.
53028
53029 2008-06-10  Bruno Haible  <bruno@clisp.org>
53030
53031         * lib/acl-internal.h: Don't include gettext.h here.
53032         * lib/set-mode-acl.c: Include gettext.h here.
53033         * lib/copy-acl.c: Likewise.
53034
53035 2008-06-10  Bruno Haible  <bruno@clisp.org>
53036
53037         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53038         * lib/wait-process.c (wait_subprocess): Likewise.
53039         * lib/execute.h (execute): Add termsigp argument.
53040         * lib/execute.c (execute): Likewise.
53041         * lib/csharpcomp.c (compile_csharp_using_pnet,
53042         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53043         * lib/csharpexec.c (execute_csharp_using_pnet,
53044         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53045         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53046         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53047         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53048         is_jikes_present): Update.
53049         * lib/javaexec.c (execute_java_class): Update.
53050         * lib/javaversion.c (execute_and_read_line): Update.
53051         * NEWS: Document the changes.
53052         Reported by Eric Blake.
53053
53054 2008-06-10  Eric Blake  <ebb9@byu.net>
53055
53056         Add missing include.
53057         * tests/test-strstr.c (includes): Add <signal.h>.
53058         * tests/test-strcasestr.c (includes): Likewise.
53059         * tests/test-memmem.c (includes): Likewise.
53060
53061 2008-06-10  Bruno Haible  <bruno@clisp.org>
53062
53063         * lib/wait-process.c (wait_subprocess): Add an assertion.
53064
53065 2008-06-10  Bruno Haible  <bruno@clisp.org>
53066
53067         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53068
53069 2008-06-10  Bruno Haible  <bruno@clisp.org>
53070
53071         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53072         using alarm().
53073         * tests/test-strcasestr.c (main): Likewise.
53074         * tests/test-strstr.c (main): Likewise.
53075
53076 2008-06-09  Bruno Haible  <bruno@clisp.org>
53077
53078         Work around the Solaris 10 ACE ACLs ABI change.
53079         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53080         declare if ACL_NO_TRIVIAL is present.
53081         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53082         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53083         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53084         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53085         define if ACL_NO_TRIVIAL is present.
53086         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53087         and use the current ABI.
53088         (file_has_acl): Use same #if condition as elsewhere.
53089         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53090         in use, and use the current ABI.
53091         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53092         Reported by Jim Meyering.
53093
53094 2008-06-09  Eric Blake  <ebb9@byu.net>
53095
53096         Work around environments that (stupidly) ignore SIGALRM.
53097         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53098         before using alarm().
53099         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53100         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53101         Reported by Ian Beckwith <ianb@erislabs.net>.
53102
53103         Produce autobuild blurb earlier in log.
53104         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53105
53106 2008-06-09  Jim Meyering  <meyering@redhat.com>
53107         and Ondřej Vašík  <ovasik@redhat.com>
53108
53109         utimens.c: correct kernel bug work-around
53110         Ondřej Vašík found that the invalid return value of 280 indicates
53111         failure, not success, and the kernel bug we're trying to work
53112         around affects not just the utimensat call, but also the fallback
53113         futimens call.
53114         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53115         not success.
53116         [HAVE_FUTIMENS]: Use the same work-around, here.
53117
53118 2008-06-09  Jim Meyering  <meyering@redhat.com>
53119
53120         add more guards around definition of ACE_-related code
53121         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53122         ALLOW and ACE_OWNER are also defined.
53123
53124 2008-06-08  Bruno Haible  <bruno@clisp.org>
53125
53126         * lib/acl-internal.h: Add me as co-author.
53127         * lib/file-has-acl.c: Likewise.
53128         * lib/set-mode-acl.c: Likewise.
53129         * lib/copy-acl.c: Likewise.
53130
53131 2008-06-08  Bruno Haible  <bruno@clisp.org>
53132
53133         Add support for AIX ACLs.
53134         * lib/acl-internal.h (acl_nontrivial): New declaration.
53135         * lib/file-has-acl.c (acl_nontrivial): New function.
53136         (file_has_acl): Add implementation using AIX 4 ACL API.
53137         * lib/set-mode-acl.c (qset_acl): Likewise.
53138         * lib/copy-acl.c (qcopy_acl): Likewise.
53139
53140 2008-06-08  Bruno Haible  <bruno@clisp.org>
53141
53142         Add support for HP-UX ACLs.
53143         * lib/acl-internal.h (acl_nontrivial): New declaration.
53144         * lib/file-has-acl.c (acl_nontrivial): New function.
53145         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53146         * lib/set-mode-acl.c (qset_acl): Likewise.
53147         * lib/copy-acl.c (qcopy_acl): Likewise.
53148
53149 2008-06-08  Bruno Haible  <bruno@clisp.org>
53150
53151         Add support for Cygwin ACLs.
53152         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53153         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53154         the chmod_or_fchmod call.
53155         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53156
53157 2008-06-08  Bruno Haible  <bruno@clisp.org>
53158
53159         Fix bug with setuid modes in Solaris 10+ code.
53160         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53161         succeeded, when the mode contains some special bits.
53162
53163 2008-06-08  Bruno Haible  <bruno@clisp.org>
53164
53165         Add support for Solaris 7..10 ACLs.
53166         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53167         declarations.
53168         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53169         functions.
53170         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53171         * lib/set-mode-acl.c (qset_acl): Likewise.
53172         * lib/copy-acl.c (qcopy_acl): Likewise.
53173
53174 2008-06-08  Bruno Haible  <bruno@clisp.org>
53175
53176         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53177         declaration.
53178         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53179         (acl_access_nontrivial): Remove MacOS X case.
53180         (file_has_acl): Use acl_extended_nontrivial.
53181         * lib/copy-acl.c (qcopy_acl): Likewise.
53182
53183 2008-06-08  Bruno Haible  <bruno@clisp.org>
53184
53185         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53186
53187 2008-06-08  Jim Meyering  <meyering@redhat.com>
53188
53189         * modules/acl (Maintainer): Add Bruno Haible.
53190
53191 2008-06-07  Bruno Haible  <bruno@clisp.org>
53192
53193         Improve support for Tru64 ACLs.
53194         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53195         ACL on OSF/1.
53196
53197 2008-06-07  Bruno Haible  <bruno@clisp.org>
53198
53199         Add support for MacOS X ACLs.
53200         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53201         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53202         * lib/set-mode-acl.c (qset_acl): Likewise.
53203         * lib/copy-acl.c (qcopy_acl): Likewise.
53204
53205 2008-06-07  Bruno Haible  <bruno@clisp.org>
53206
53207         Fix memory leak introduced on 2008-05-22.
53208         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53209         use.
53210
53211 2008-06-07  Bruno Haible  <bruno@clisp.org>
53212
53213         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53214         to construct an empty ACL.
53215
53216 2008-06-07  Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53219         precisely.
53220         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53221
53222 2008-06-07  Bruno Haible  <bruno@clisp.org>
53223
53224         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53225         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53226
53227 2008-06-07  Bruno Haible  <bruno@clisp.org>
53228
53229         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53230         regardless of POSIX.
53231         * doc/posix-functions/_longjmp.texi: Likewise.
53232         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53233         SystemV platform in this case.
53234
53235 2008-06-06  Eric Blake  <ebb9@byu.net>
53236
53237         Document abort() bugs.
53238         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53239
53240         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53241         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53242         sigsetjmp.
53243         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53244         siglongjmp, but only as a macro.
53245         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53246         is obsolete.
53247         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53248
53249         Tweak documentation to cover cygwin argz bugs.
53250         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53251         argz bug fix; no code change needed since no cygwin releases
53252         occurred between the last fix and the bug being tested.
53253         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53254         module and recently fixed cygwin bugs.
53255         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53256         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53257         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53258         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53259         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53260         Likewise.
53261         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53262         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53263         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53264         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53265         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53266         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53267         Likewise.
53268
53269         Avoid gcc warning on cygwin.
53270         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53271         !ACL_NO_TRIVIAL]: Avoid unused variable.
53272
53273 2008-06-05  Eric Blake  <ebb9@byu.net>
53274
53275         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53276         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53277         git-version-gen fails to come up with a version.
53278         Reported by Simon Josefsson.
53279
53280 2008-06-05  Jim Meyering  <meyering@redhat.com>
53281             Paul Eggert  <eggert@cs.ucla.edu>
53282
53283         utimens.c: work around a probable Linux kernel bug
53284         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53285         appears to be a kernel bug that causes utimensat to return 280
53286         instead of 0, indicating success.
53287
53288 2008-06-04  Bruno Haible  <bruno@clisp.org>
53289
53290         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53291         2008-06-01 commit.
53292
53293 2008-06-04  Bruno Haible  <bruno@clisp.org>
53294
53295         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53296         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53297         (file_has_acl): Use it. Save errno afterwards.
53298         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53299
53300 2008-06-03  Bruno Haible  <bruno@clisp.org>
53301
53302         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53303         draft code. Simplify #ifs.
53304         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53305         Put Solaris code after POSIX-draft code. Fix comments regarding
53306         Solaris 10, HP-UX. Mention Cygwin.
53307         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53308
53309 2008-06-03  Eric Blake  <ebb9@byu.net>
53310
53311         Provide fallback for older kernels.
53312         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53313         Provide runtime fallback if kernel lacks support.
53314         Reported by Mike Frysinger.
53315
53316 2008-06-02  Bruno Haible  <bruno@clisp.org>
53317
53318         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53319         it exists.
53320
53321 2008-06-02  Bruno Haible  <bruno@clisp.org>
53322
53323         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53324         * lib/copy-acl.c (qcopy_acl): Update comment.
53325
53326 2008-06-02  Bruno Haible  <bruno@clisp.org>
53327
53328         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53329         like ACL APIs.
53330
53331 2008-06-02  Bruno Haible  <bruno@clisp.org>
53332
53333         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53334         * tests/test-set-mode-acl.sh: Likewise.
53335         * tests/test-copy-acl.sh: Likewise.
53336         * tests/test-copy-file.sh: Likewise.
53337
53338 2008-06-02  Bruno Haible  <bruno@clisp.org>
53339
53340         * tests/test-file-has-acl.sh: Remove unused code.
53341
53342 2008-06-01  Bruno Haible  <bruno@clisp.org>
53343
53344         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53345         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53346         messages.
53347         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53348
53349 2008-06-01  Bruno Haible  <bruno@clisp.org>
53350
53351         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53352         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53353         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53354         APIs.
53355         * modules/acl-tests (configure.ac): Remove tests now contained in
53356         m4/acl.m4.
53357
53358 2008-06-02  Jim Meyering  <meyering@redhat.com>
53359
53360         announce-gen: use a better key-server host name
53361         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53362         it may be more consistently reliable.  Suggested by Werner Koch
53363         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53364
53365 2008-06-01  Bruno Haible  <bruno@clisp.org>
53366
53367         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53368         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53369
53370 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53371
53372         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53373
53374 2008-06-01  Bruno Haible  <bruno@clisp.org>
53375
53376         New ACL tests.
53377         * tests/test-file-has-acl.sh: New file.
53378         * tests/test-file-has-acl.c: New file.
53379         * tests/test-set-mode-acl.sh: New file.
53380         * tests/test-set-mode-acl.c: New file.
53381         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53382         * tests/test-copy-acl.c: New file.
53383         * modules/acl-tests: New file, based on modules/copy-file-tests.
53384         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53385         (Depends-on): Add acl-tests.
53386         (configure.ac): Remove checks.
53387         (Makefile.am): Don't create test-sameacls program here any more.
53388
53389 2008-06-01  Bruno Haible  <bruno@clisp.org>
53390
53391         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53392         * tests/test-sameacls.c: Include progname.h.
53393         (main): Invoke set_program_name. Portability fixes for MacOS X,
53394         Solaris, HP-UX.
53395
53396 2008-06-01  Bruno Haible  <bruno@clisp.org>
53397
53398         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53399         function.
53400         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53401
53402 2008-06-01  Bruno Haible  <bruno@clisp.org>
53403
53404         * modules/rpmatch (Depends-on): Add strdup.
53405
53406 2008-06-01  Bruno Haible  <bruno@clisp.org>
53407
53408         * lib/pipe.c: Include unistd-safer.h.
53409         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53410         * modules/pipe (Depends-on): Add unistd-safer.
53411
53412 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53413
53414         * modules/autobuild (configure.ac): Call AB_INIT.
53415
53416 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53417
53418         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53419         Suggested by Bruno Haible <bruno@clisp.org>.
53420
53421 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53422
53423         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53424         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53425         <bruno@clisp.org>.
53426
53427 2008-05-29  Eric Blake  <ebb9@byu.net>
53428
53429         Prefer new POSIX 200x interfaces over futimesat.
53430         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53431         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53432         when available.
53433         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53434
53435 2008-05-28  Bruno Haible  <bruno@clisp.org>
53436
53437         * modules/stpcpy (License): Change to LGPLv2+.
53438         Requested by David Lutterkort <dlutter@redhat.com>.
53439
53440 2008-05-27  Bruno Haible  <bruno@clisp.org>
53441
53442         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53443         current mingw.
53444         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53445
53446 2008-05-27  Bruno Haible  <bruno@clisp.org>
53447
53448         * modules/iconv_open (Link): New section, from module 'iconv'.
53449         * modules/striconv (Link): Likewise.
53450         * modules/striconveh (Link): Likewise.
53451         * modules/xstriconv (Link): Likewise.
53452         * modules/unicodeio (Link): Likewise.
53453         * modules/propername (Link): Likewise.
53454         Reported by Jim Meyering.
53455
53456 2008-05-26  Jim Meyering  <meyering@redhat.com>
53457
53458         sha256: do not artificially restrict buffer length to be < 2^32
53459         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53460         uint32_t to size_t.
53461         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53462         to match.
53463
53464         avoid unaligned access errors, e.g., on sparc
53465         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53466         direct access through a possibly-unaligned uint64* pointer.
53467         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53468         direct access through a possibly-unaligned uint32* pointer.
53469         Prompted by this patch from Tom "spot" Callaway:
53470         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53471
53472         sha512.c: fix typo in comment
53473         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53474
53475 2008-05-25  Bruno Haible  <bruno@clisp.org>
53476
53477         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53478         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53479         (Makefile.am): Update lib_SOURCES.
53480
53481 2008-05-25  Bruno Haible  <bruno@clisp.org>
53482
53483         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53484
53485 2008-05-25  Jim Meyering  <meyering@redhat.com>
53486
53487         useless-if-before-free: freed expr may have white-space differences
53488         * build-aux/useless-if-before-free: Recognize cases in which the
53489         freed expression differs from the tested one in embedded white
53490         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53491         $1 was used, so we can't make any regexp shy.  Improved tests now
53492         detect this.
53493
53494         useless-if-before-free: accept white space in the expression.
53495         * build-aux/useless-if-before-free: For now, any white space
53496         in the expression must be identical in the free argument.
53497
53498         useless-if-before-free: efficiency tweak
53499         * build-aux/useless-if-before-free: Make the expression-matching
53500         regexp "shy".
53501         Make the *outer* regexp shy, not the expr-matching one.
53502
53503         update code-in-comment to accept cast of free arg
53504         * build-aux/useless-if-before-free: Update regexp.
53505
53506 2008-05-25  Bruno Haible  <bruno@clisp.org>
53507
53508         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53509         * modules/copy-file-tests (Files, Makefile.am): Update.
53510         * tests/test-copy-file.c (func_test_copy): Update.
53511
53512 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53513
53514         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53515
53516 2008-05-23  Bruno Haible  <bruno@clisp.org>
53517
53518         Improve support for ACLs on OSF/1.
53519         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53520         Remove fallback for unknown flavors of ACLs.
53521
53522 2008-05-22  Bruno Haible  <bruno@clisp.org>
53523
53524         Add support for ACLs on OSF/1.
53525         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53526         replacements.
53527         (acl_free_text): New macro fallback.
53528         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53529         acl_free.
53530         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53531         acl_free_text function. Require AC_C_INLINE.
53532
53533 2008-05-22  Bruno Haible  <bruno@clisp.org>
53534
53535         Make copy_acl work on MacOS X 10.5.
53536         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53537         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53538         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53539         If MODE_INSIDE_ACL, don't assume that every system has the same text
53540         representation for ACLs as FreeBSD.
53541         * lib/copy-acl.c (copy_acl): Add support for platforms with
53542         !MODE_INSIDE_ACL.
53543         * lib/file-has-acl.c (file_has_acl): Likewise.
53544         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53545         FreeBSD, MacOS X, or IRIX, respectively.
53546
53547 2008-05-22  Bruno Haible  <bruno@clisp.org>
53548
53549         * lib/acl.h: Don't include <sys/acl.h>.
53550         (GETACLCNT): Move fallback to lib/acl-internal.h.
53551         * lib/acl-internal.h: Include <sys/acl.h> here.
53552         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53553
53554 2008-05-22  Bruno Haible  <bruno@clisp.org>
53555
53556         Split off copy_acl function to separate file.
53557         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53558         * lib/acl.c (copy_acl): Moved function to separate file.
53559         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53560         * modules/acl (Files): Add lib/copy-acl.c.
53561         (Makefiles.am): Augment lib_SOURCES.
53562
53563 2008-05-22  Bruno Haible  <bruno@clisp.org>
53564
53565         * modules/copy-file-tests: New file.
53566         * tests/test-copy-file.sh: New file.
53567         * tests/test-copy-file.c: New file.
53568         * tests/test-copy-file-sameacls.c: New file.
53569
53570 2008-05-22  Eric Blake  <ebb9@byu.net>
53571
53572         Avoid gcc warning.
53573         * tests/test-memcmp.c (main): Pass NULL indirectly.
53574
53575 2008-05-21  Bruno Haible  <bruno@clisp.org>
53576
53577         Add reference doc about ACLs.
53578         * doc/acl-resources.txt: New file.
53579         * doc/acl-cygwin.txt: New file.
53580
53581 2008-05-21  Bruno Haible  <bruno@clisp.org>
53582
53583         Avoid one more warning from gcc.
53584         * lib/vasnprintf.c (IF_LINT): Update comments.
53585         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53586
53587 2008-05-21  Jim Meyering  <meyering@redhat.com>
53588
53589         avoid a warning from gcc
53590         * lib/vasnprintf.c (IF_LINT): Define.
53591         (scale10_round_decimal_long_double):
53592         Use it to avoid a "may be used uninitialized" warning.
53593         (scale10_round_decimal_double): Likewise.
53594
53595 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53596
53597         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53598         declared.
53599
53600 2008-05-20  Bruno Haible  <bruno@clisp.org>
53601
53602         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53603         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53604
53605 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53606
53607         * modules/memcmp-tests: New file.
53608         * tests/test-memcmp.c: New file.
53609
53610 2008-05-19  Bruno Haible  <bruno@clisp.org>
53611
53612         * modules/propername (Notice, configure.ac): Put quoted "..." into
53613         --keyword option.
53614         * lib/propername.h: Update comments accordingly.
53615         Reported by Eric Blake.
53616
53617 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53618
53619         * modules/getpass-gnu (Depends-on): Add fseeko.
53620
53621 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53622
53623         * modules/base64-tests: New file.
53624
53625 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53626
53627         * lib/base64.c (base64_decode_ctx): If a decode context structure
53628         was passed in use it to ignore newlines.  If a context structure
53629         was _not_ passed in, continue to treat newlines as garbage (this
53630         is the historical behavior).  Formerly base64_decode.
53631         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53632         takes a decode context structure.
53633         * lib/base64.h (base64_decode): Macro for four-argument calls.
53634         (base64_decode_alloc): Likewise.
53635         * lib/base64.c (base64_decode_ctx): If a decode context structure
53636         was passed in use it to ignore newlines.  If a context structure
53637         was _not_ passed in, continue to treat newlines as garbage (this
53638         is the historical behavior).  Formerly base64_decode.
53639         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53640         takes a decode context structure.
53641         * lib/base64.h (base64_decode): Macro for four-argument calls.
53642         (base64_decode_alloc): Likewise.
53643
53644 2008-05-19  Jim Meyering  <meyering@redhat.com>
53645
53646         avoid a warning from gcc
53647         * lib/trim.c (IF_LINT): Define.
53648         (trim2): Use it to avoid a "may be used uninitialized" warning.
53649
53650         Fix doc typo.
53651         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53652
53653 2008-05-19  Bruno Haible  <bruno@clisp.org>
53654
53655         * doc/glibc-functions/getpass.texi: Document limits of other
53656         implementations.
53657
53658 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53659             Bruno Haible <bruno@clisp.org>
53660
53661         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53662
53663 2008-05-18  Bruno Haible  <bruno@clisp.org>
53664
53665         * modules/propername: New file, from GNU gettext.
53666         * lib/propername.h: New file, from GNU gettext.
53667         * lib/propername.c: New file, from GNU gettext.
53668         * MODULES.html.sh (Internationalization functions): Add propername.
53669
53670 2008-05-16  Jim Meyering  <meyering@redhat.com>
53671             Bruno Haible  <bruno@clisp.org>
53672
53673         Avoid some warnings from "gcc -Wshadow".
53674         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53675
53676 2008-05-15  Eric Blake  <ebb9@byu.net>
53677
53678         Extend previous patch to cygwin 1.7.0.
53679         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53680         fast implementation in cygwin >= 1.7.0.
53681         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53682         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53683
53684 2008-05-15  Bruno Haible  <bruno@clisp.org>
53685
53686         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53687         implementation in glibc >= 2.9.
53688         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53690
53691 2008-05-15  Bruno Haible  <bruno@clisp.org>
53692
53693         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53694         (Unicode string functions): Add unilbrk/*.
53695         Reported by Karl Berry.
53696
53697 2008-05-15  Eric Blake  <ebb9@byu.net>
53698
53699         Fix violation of <stdbool.h> replacement in regex.
53700         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53701         * lib/regexec.c (re_search_internal): Likewise.
53702         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53703
53704 2008-05-15  Jim Meyering  <meyering@redhat.com>
53705
53706         avoid distracting test output when git or cvs is not found
53707         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53708         * tests/test-vc-list-files-git.sh: Likewise.
53709
53710 2008-05-15  Eric Blake  <ebb9@byu.net>
53711
53712         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53713         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53714         glibc version.
53715         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53716         * doc/posix-functions/strstr.texi (strstr): Likewise.
53717         * lib/str-two-way.h (MAX): Sychronize with glibc.
53718
53719 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53720
53721         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53722         opr.ctx_type.
53723         (calc_first): Initialize constraint field.
53724         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53725         Fix grammar.
53726         (duplicate_node): Merge constraint field for all node types.
53727         (calc_eclosure_iter): Look at constraint field for all node types.
53728         * lib/regex_internal.c (create_cd_newstate): Don't look at
53729         opr.ctx_type.
53730
53731 2008-05-14  Bruno Haible  <bruno@clisp.org>
53732
53733         Help GCC to do better code generation.
53734         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53735         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53736         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53737         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53738         Declare with attribute 'malloc' if supported.
53739
53740 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53741
53742         use "echo STR|wc -c" rather than unportable "expr length STR"
53743         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53744         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53745
53746 2008-05-14  Jim Meyering  <meyering@redhat.com>
53747
53748         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53749         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53750         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53751         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53752         via Collin Lasse.
53753
53754 2008-05-14  Eric Blake  <ebb9@byu.net>
53755
53756         Avoid quadratic growth in gl_LIBSOURCES.
53757         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53758         Suggested by Bruno Haible.
53759
53760         Test xmemdup0.
53761         * modules/xmemdup0-tests: New file.
53762         * tests/test-xmemdup0.c: Likewise.
53763
53764 2008-05-13  Eric Blake  <ebb9@byu.net>
53765
53766         Split xmemdup0 into its own module.
53767         * modules/xmemdup0: New file.
53768         * lib/xmemdup0.h: Likewise.
53769         * lib/xmemdup0.c: Likewise.
53770         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53771         * lib/xalloc.h (xmemdup0): Remove.
53772         * lib/xmalloc.c (xmemdup0): Likewise.
53773
53774 2008-05-13  Eric Blake  <ebb9@byu.net>
53775             Bruno Haible  <bruno@clisp.org>
53776
53777         Reduce number of forks required during autoconf.
53778         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53779         and gl_LIBSOURCES_DIR.
53780         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53781         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53782         m4_syscmd per file.
53783         <m4_foreach_w>: Move...
53784         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53785
53786 2008-05-13  Eric Blake  <ebb9@byu.net>
53787
53788         * gnulib-tool: Fix various comment typos.
53789
53790 2008-05-12  Bruno Haible  <bruno@clisp.org>
53791
53792         Tailor the linebreaking algorithm.
53793         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53794
53795 2008-05-12  Bruno Haible  <bruno@clisp.org>
53796
53797         Update to Unicode 5.0.0.
53798         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53799         LBP_JV, LBP_JT. Redistribute values.
53800         (unilbrk_table): Change size.
53801         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53802         Unicode TR#14 rev. 22.
53803         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53804         LBP_JV, LBP_JT. Redistribute values.
53805         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53806         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53807         Update.
53808         * lib/unilbrk/lbrkprop1.h: Regenerated.
53809         * lib/unilbrk/lbrkprop2.h: Regenerated.
53810         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53811         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53812         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53813         Likewise.
53814         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53815         Likewise.
53816         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53817         result.
53818         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53819         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53820         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53821         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53822         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53823         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53824
53825 2008-05-11  Bruno Haible  <bruno@clisp.org>
53826
53827         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53828
53829 2008-05-11  Bruno Haible  <bruno@clisp.org>
53830
53831         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53832         * modules/unilbrk/gen-lbrk: New file.
53833
53834 2008-05-11  Bruno Haible  <bruno@clisp.org>
53835
53836         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53837         * m4/sha512.m4 (gl_SHA512): Likewise.
53838
53839 2008-05-11  Jim Meyering  <meyering@redhat.com>
53840
53841         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53842         * modules/crypto/sha256: New file.
53843         * modules/crypto/sha512: Likewise.
53844         * lib/sha256.c: Likewise.
53845         * lib/sha256.h: Likewise.
53846         * lib/sha512.c: Likewise.
53847         * lib/sha512.h: Likewise.
53848         * lib/u64.h: Likewise.
53849         * m4/sha256.m4: Likewise.
53850         * m4/sha512.m4: Likewise.
53851         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53852
53853 2008-05-10  Bruno Haible  <bruno@clisp.org>
53854
53855         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53856         (Input/Output <stdio.h>): Add xprintf.
53857         (Signal handling <signal.h>): Add strsignal.
53858         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53859         (Core language properties): Add func.
53860         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53861         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53862         strings.
53863         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53864         (Input/output): New section.
53865         (File system functions): Add openat-die, stat-macros.
53866         (Networking functions): Add sockets.
53867         (Unicode string functions): Add unictype/*.
53868         (Support for building libraries and executables): Add gperf.
53869         (Support for building documentation): Add agpl-3.0.
53870         (Misc): Add nocrash.
53871
53872 2008-05-10  Bruno Haible  <bruno@clisp.org>
53873
53874         * modules/unictype/gen-ctype: New file.
53875
53876 2008-05-10  Jim Meyering  <meyering@redhat.com>
53877
53878         Make chdir-safer.c more efficient on a system with no symlinks.
53879         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53880         also if ELOOP is zero.  Suggested by Bruno Haible.
53881
53882         Make chdir-safer.c slightly safer.
53883         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53884         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53885
53886         Avoid compile failure on systems without ELOOP (like mingw).
53887         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53888         Reported by Bruno Haible.
53889
53890 2008-05-10  Bruno Haible  <bruno@clisp.org>
53891
53892         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53893         (is_utf8_encoding): Use a case-insensitive comparison.
53894         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53895         streq.
53896
53897 2008-05-10  Bruno Haible  <bruno@clisp.org>
53898
53899         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53900         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53901         * lib/unilbrk/ulc-common.h (iconv_string_length,
53902         iconv_string_keeping_offsets): Remove declarations.
53903         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53904         Don't include <iconv.h>, streq.h, xsize.h.
53905         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53906         conversion.
53907         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53908         <iconv.h>, streq.h, xsize.h.
53909         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53910         conversion.
53911         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53912         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53913         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53914         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53915
53916 2008-05-10  Bruno Haible  <bruno@clisp.org>
53917
53918         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53919         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53920
53921         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53922         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53923
53924         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53925         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53926
53927         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53928         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53929
53930         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53931         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53932
53933         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53934         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53935
53936         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53937         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53938
53939         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53940         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53941
53942 2008-05-10  Bruno Haible  <bruno@clisp.org>
53943
53944         Split up 'linebreak' module.
53945         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53946         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53947         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53948         modifications.
53949         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53950         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53951         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53952         lib/linebreak.c.
53953         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53954         lib/linebreak.c.
53955         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53956         lib/linebreak.c.
53957         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53958         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53959         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53960         lib/linebreak.c.
53961         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53962         lib/linebreak.c.
53963         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53964         lib/linebreak.c.
53965         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53966         lib/linebreak.c.
53967         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53968         lib/linebreak.c.
53969         * modules/unilbrk/base: New file.
53970         * modules/unilbrk/tables: New file.
53971         * modules/unilbrk/u8-possible-linebreaks: New file.
53972         * modules/unilbrk/u16-possible-linebreaks: New file.
53973         * modules/unilbrk/u32-possible-linebreaks: New file.
53974         * modules/unilbrk/ulc-common: New file.
53975         * modules/unilbrk/ulc-possible-linebreaks: New file.
53976         * modules/unilbrk/u8-width-linebreaks: New file.
53977         * modules/unilbrk/u16-width-linebreaks: New file.
53978         * modules/unilbrk/u32-width-linebreaks: New file.
53979         * modules/unilbrk/ulc-width-linebreaks: New file.
53980         * lib/linebreak.h: Remove file.
53981         * lib/linebreak.c: Remove file.
53982         * m4/linebreak.m4: Remove file.
53983         * modules/linebreak: Remove file.
53984         * NEWS: Mention the changes.
53985
53986 2008-05-09  Eric Blake  <ebb9@byu.net>
53987
53988         Add xmemdup0.
53989         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53990         implementation.
53991         * lib/xmalloc.c (xmemdup0): New C implementation.
53992
53993 2008-05-08  Bruno Haible  <bruno@clisp.org>
53994
53995         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53996
53997 2008-05-07  Eric Blake  <ebb9@byu.net>
53998
53999         Support cross-compilation of <wctype.h>.
54000         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54001         AC_CACHE_CHECK.
54002
54003 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54004
54005         * build-aux/vc-list-files: Add support for bzr.
54006
54007 2008-05-03  Jim Meyering  <meyering@redhat.com>
54008
54009         avoid failed assertion with tight malloc
54010         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54011
54012 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54013
54014         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54015         are needed from arpa/inet.h.
54016         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54017         Reported by Bruno Haible.
54018
54019 2008-05-02  Jim Meyering  <meyering@redhat.com>
54020
54021         avoid compilation error on FreeBSD 6
54022         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54023
54024 2008-05-01  Jim Meyering  <meyering@redhat.com>
54025
54026         useless-if-before-free: correct --help's exit status description
54027         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54028         for one or more matches, etc.  Reported by Bruno Haible.
54029
54030         vc-list-files: make the stand-alone gnulib test work
54031         * modules/vc-list-files-tests (configure.ac):
54032         Define and AC_SUBST abs_aux_dir.
54033         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54034         $(abs_top_srcdir) to each script and having each of them
54035         duplicate the work of setting PATH, set PATH here, using
54036         the new variable, abs_aux_dir instead.
54037         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54038         * tests/test-vc-list-files-git.sh: Likewise.
54039         Reported by Bruno Haible.
54040
54041 2008-05-01  Bruno Haible  <bruno@clisp.org>
54042
54043         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54044         reallocation. Rename 'done' to 'found_delimiter'.
54045
54046 2008-05-01  Jim Meyering  <meyering@redhat.com>
54047
54048         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54049         * build-aux/vc-list-files: Use `...`, not $(...).
54050
54051 2008-04-30  Jim Meyering  <meyering@redhat.com>
54052
54053         add tests for vc-list-files
54054         * modules/vc-list-files-tests: New module.
54055         * tests/test-vc-list-files-cvs.sh: New file.
54056         * tests/test-vc-list-files-git.sh: New file.
54057
54058         avoid a warning from gcc
54059         * lib/getndelim2.c (IF_LINT): Define.
54060         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54061
54062         vc-list-files: work properly with build-aux/cvsu, too
54063         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54064         to all cvs-based clauses.
54065
54066         vc-list-files: work properly in the CVS+awk case, too
54067         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54068
54069         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54070         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54071         take more than one file argument, so .  Add quotes, just in case $dir
54072         ever contains a shell meta-character.  Prompted by Soren Hansen in
54073         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54074
54075 2008-04-29  Eric Blake  <ebb9@byu.net>
54076
54077         Optimize getndelim2 to use block operations when possible.
54078         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54079         freadseek, and memchr2.
54080         * lib/getndelim2.c (getndelim2): Use them for block reads.
54081
54082 2008-04-29  Bruno Haible  <bruno@clisp.org>
54083
54084         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54085         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54086         * modules/inet_ntop (Depends-on): Add extensions.
54087         * modules/inet_pton (Depends-on): Likewise.
54088         Reported by Simon Josefsson.
54089
54090 2008-04-29  Jim Meyering  <meyering@redhat.com>
54091
54092         When the is more than one match in a block, match all of them.
54093         * build-aux/useless-if-before-free: Iterate through each block
54094         until there are no more matches.
54095
54096         Fix broken useless-if-before-free script.
54097         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54098         the expression to match cast of argument to free-like function.
54099
54100 2008-04-29  Eric Blake  <ebb9@byu.net>
54101
54102         Use new header.
54103         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54104
54105 2008-04-29  Jim Meyering  <meyering@redhat.com>
54106
54107         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54108         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54109         by gnulib to exist and to declare e.g., inet_ntop.
54110         Don't include "inet_ntop.h", now removed.
54111
54112         * m4/arpa_inet_h.m4: Remove trailing blanks.
54113
54114 2008-04-29  Eric Blake  <ebb9@byu.net>
54115
54116         Silence valgrind on safe reads beyond potential array bounds.
54117         * lib/rawmemchr.valgrind: New file.
54118         * lib/strchrnul.valgrind: Likewise.
54119         * modules/rawmemchr (Files): Distribute new file.
54120         * modules/strchrnul (Files): Likewise.
54121         Suggested by Bruno Haible.
54122
54123 2008-04-29  Bruno Haible  <bruno@clisp.org>
54124
54125         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54126         (inet_ntop, inet_pton): Change portability warning's wording.
54127         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54128         Invoke gl_CHECK_NEXT_HEADERS.
54129         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54130         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54131         set ARPA_INET_H.
54132         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54133         * modules/arpa_inet (Description): No longer only for systems that
54134         lack it.
54135         (Depends-on): Add include_next.
54136         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54137         HAVE_ARPA_INET_H.
54138
54139 2008-04-29  Jim Meyering  <meyering@redhat.com>
54140
54141         * modules/mkdir (License): Re-license as LGPLv2+.
54142
54143 2008-04-29  Bruno Haible  <bruno@clisp.org>
54144
54145         * modules/rawmemchr (Maintainer): Set to Eric.
54146         * modules/strchrnul (Maintainer): Likewise.
54147
54148 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54149
54150         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54151         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54152
54153         * modules/arpa_inet (arpa/inet.h): Use them.
54154
54155 2008-04-28  Eric Blake  <ebb9@byu.net>
54156
54157         Test getndelim2.
54158         * modules/getndelim2-tests: New file.
54159         * tests/test-getndelim2.c: Likewise.
54160         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54161         stream.
54162         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54163
54164         * MODULES.html.sh: Document new module.
54165
54166 2008-04-20  Bruno Haible  <bruno@clisp.org>
54167
54168         * lib/c-stack.c (die): Use raise.
54169         * modules/c-stack (Depends-on): Add raise.
54170
54171 2008-04-28  Bruno Haible  <bruno@clisp.org>
54172
54173         Expect rpmatch to be declared.
54174         * lib/yesno.c (rpmatch): Remove declaration.
54175
54176         Declare rpmatch.
54177         * lib/stdlib.in.h (rpmatch): New declaration.
54178         * lib/rpmatch.c: Include <stdlib.h> first.
54179         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54180         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54182         HAVE_RPMATCH.
54183         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54184         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54185         (Include): Set to <stdlib.h>.
54186         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54187         HAVE_RPMATCH.
54188         * NEWS: Document the change.
54189
54190 2008-04-28  Bruno Haible  <bruno@clisp.org>
54191
54192         Change rpmatch to use nl_langinfo when appropriate.
54193         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54194         (N_): New macro.
54195         (localized_pattern): New function/macro.
54196         (try): Remove match, nomatch arguments. Copy the pattern into safe
54197         memory before caching it.
54198         (rpmatch): Use localized_pattern. Add translator comments.
54199         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54200         Suggested by Eric Blake.
54201         * modules/rpmatch (Depends-on): Add stdbool.
54202
54203 2008-04-28  Eric Blake  <ebb9@byu.net>
54204
54205         Add rawmemchr module, matching glibc.
54206         * modules/string (Makefile.am): New indicator.
54207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54208         * lib/string.in.h (rawmemchr): Declare when appropriate.
54209         * modules/rawmemchr: New file.
54210         * m4/rawmemchr.m4: Likewise.
54211         * lib/rawmemchr.c: Likewise.
54212         * modules/rawmemchr-tests: Likewise.
54213         * tests/test-rawmemchr.c: Likewise.
54214         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54215         module.
54216         * modules/strchrnul (Depends-on): Add rawmemchr.
54217         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54218
54219         Whitespace cleanup.
54220         * tests/test-strchrnul.c: Reindent.
54221         * lib/strchrnul.c: Likewise.
54222
54223         Optimize and test strchrnul.
54224         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54225         * modules/strchrnul-tests: New file.
54226         * tests/test-strchrnul.c: Likewise.
54227
54228         Remove intprops dependency.
54229         * modules/memchr (Depends-on): Remove intprops.
54230         * modules/memrchr (Depends-on): Likewise.
54231         * modules/memchr2 (Depends-on): Likewise.
54232         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54233         * lib/memrchr.c (__memrchr): Likewise.
54234         * lib/memrchr2.c (memchr2): Likewise.
54235         Reported by Simon Josefsson.
54236
54237 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54238
54239         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54240         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54241
54242 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54243
54244         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54245
54246         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54247
54248         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54249
54250         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54251         declarations.
54252         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54253
54254         * m4/inet_pton.m4: Don't check for header files.
54255
54256         * m4/inet_ntop.m4: Don't check for header files.
54257
54258 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54259
54260         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54261         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54262         trigger for cygwin).
54263         Reported by Bruno Haible  <bruno@clisp.org>.
54264
54265 2008-04-28  Bruno Haible  <bruno@clisp.org>
54266
54267         * doc/posix-functions/strdup.texi: Mention mingw problem.
54268
54269 2008-04-27  Bruno Haible  <bruno@clisp.org>
54270
54271         * modules/stat-time-tests (Depends-on): Add sleep.
54272         * tests/test-stat-time.c (force_unlink): New function.
54273         (cleanup): Use it.
54274         (test_mtime): Remove the ctime related tests.
54275         (test_ctime): New function, containing the ctime related tests.
54276         (main): Call test_ctime, except on native Windows platforms.
54277
54278 2008-04-27  Bruno Haible  <bruno@clisp.org>
54279
54280         * lib/rpmatch.c (rpmatch): Add some comments.
54281         Reported by James Youngman <jay@gnu.org>.
54282
54283 2008-04-27  Bruno Haible  <bruno@clisp.org>
54284
54285         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54286         quiet NaNs.
54287
54288 2008-04-27  Bruno Haible  <bruno@clisp.org>
54289
54290         Make test-yesno.sh work on mingw.
54291         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54292         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54293         (main): Set stdin to binary mode.
54294         * modules/yesno-tests (Depends-on): Add binary-io.
54295
54296 2008-04-27  Bruno Haible  <bruno@clisp.org>
54297
54298         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54299         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54300         argument that lie outside the IEEE 854 domain.
54301         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54302         (gl_ISFINITE): Use it.
54303         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54304
54305 2008-04-27  Bruno Haible  <bruno@clisp.org>
54306
54307         Allow local renaming in config.h.
54308         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54309
54310 2008-04-27  Bruno Haible  <bruno@clisp.org>
54311
54312         * lib/memchr.c (__memchr): Change type of 'i'.
54313         * lib/memchr2.c (memchr2): Likewise.
54314
54315 2008-04-26  Eric Blake  <ebb9@byu.net>
54316         and Bruno Haible  <bruno@clisp.org>
54317
54318         Optimize and test memrchr.
54319         * modules/memrchr (Depends-on): Add intprops.
54320         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54321         * modules/memrchr-tests: New file.
54322         * tests/test-memrchr.c: New file.
54323
54324 2008-04-26  Bruno Haible  <bruno@clisp.org>
54325
54326         Add tentative support for DragonFly BSD.
54327         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54328         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54329         fp.
54330         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54331         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54332         * lib/fpurge.c (fpurge): Likewise.
54333         * lib/freadable.c (freaadable): Likewise.
54334         * lib/freadahead.c (freadahead): Likewise.
54335         * lib/freading.c (freading): Likewise.
54336         * lib/freadptr.c (freadptr): Likewise.
54337         * lib/freadseek.c (freadptrinc): Likewise.
54338         * lib/fseeko.c (fseeko): Likewise.
54339         * lib/fseterr.c (fseterr): Likewise.
54340         * lib/fwritable.c (fwritable): Likewise.
54341         * lib/fwriting.c (fwriting): Likewise.
54342
54343 2008-04-26  Bruno Haible  <bruno@clisp.org>
54344
54345         * lib/stdio-impl.h: New file.
54346         * lib/fbufmode.c: Include stdio-impl.h.
54347         (fbufmode): Use fp_, remove redundant #defines.
54348         * lib/fflush.c: Include stdio-impl.h.
54349         (clear_ungetc_buffer): Remove redundant #defines.
54350         * lib/fpurge.c: Include stdio-impl.h.
54351         (fpurge): Remove redundant #defines.
54352         * lib/freadable.c: Include stdio-impl.h.
54353         (freadable): Remove redundant #defines.
54354         * lib/freadahead.c: Include stdio-impl.h.
54355         (freadahead): Remove redundant #defines.
54356         * lib/freading.c: Include stdio-impl.h.
54357         (freading): Remove redundant #defines.
54358         * lib/freadptr.c: Include stdio-impl.h.
54359         (freadptr): Remove redundant #defines.
54360         * lib/freadseek.c: Include stdio-impl.h.
54361         (freadptrinc): Remove redundant #defines.
54362         * lib/fseeko.c: Include stdio-impl.h.
54363         (rpl_fseeko): Remove redundant #defines.
54364         * lib/fseterr.c: Include stdio-impl.h.
54365         (fseterr): Remove redundant #defines.
54366         * lib/fwritable.c: Include stdio-impl.h.
54367         (fwritable: Remove redundant #defines.
54368         * lib/fwriting.c: Include stdio-impl.h.
54369         (fwriting): Remove redundant #defines.
54370         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54371         * modules/fflush (Files): Likewise.
54372         * modules/fpurge (Files): Likewise.
54373         * modules/freadable (Files): Likewise.
54374         * modules/freadahead (Files): Likewise.
54375         * modules/freading (Files): Likewise.
54376         * modules/freadptr (Files): Likewise.
54377         * modules/freadseek (Files): Likewise.
54378         * modules/fseeko (Files): Likewise.
54379         * modules/fseterr (Files): Likewise.
54380         * modules/fwritable (Files): Likewise.
54381         * modules/fwriting (Files): Likewise.
54382
54383 2008-04-26  Bruno Haible  <bruno@clisp.org>
54384
54385         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54386         restore_seek_optimization, update_fpos_cache): New functions, extracted
54387         from rpl_fflush.
54388         (rpl_fflush): Use them.
54389         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54390         (gl_REPLACE_FFLUSH): Use it.
54391
54392 2008-04-26  Bruno Haible  <bruno@clisp.org>
54393
54394         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54395         on Solaris.
54396         * tests/test-xstrtoimax.sh: Likewise.
54397         * tests/test-xstrtoumax.sh: Likewise.
54398         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54399
54400 2008-04-26  Bruno Haible  <bruno@clisp.org>
54401
54402         * modules/memchr-tests: New file.
54403         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54404
54405 2008-04-26  Eric Blake  <ebb9@byu.net>
54406             Bruno Haible  <bruno@clisp.org>
54407
54408         * lib/memchr.c: Include intprops.h.
54409         (__memchr): Optimize parallel detection of matching bytes. Rename local
54410         variables. Add explanatory comments.
54411
54412 2008-04-26  Bruno Haible  <bruno@clisp.org>
54413
54414         Fix module 'memchr', broken since 2000-10-28.
54415         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54416
54417 2008-04-26  Bruno Haible  <bruno@clisp.org>
54418
54419         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54420         comments.
54421
54422 2008-04-25  Eric Blake  <ebb9@byu.net>
54423
54424         Use native fstatat on cygwin 1.7.0.
54425         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54426         first.
54427
54428 2008-04-23  Eric Blake  <ebb9@byu.net>
54429
54430         Improve memchr2 performance.
54431         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54432         NUL bytes.
54433         * modules/memchr2 (Depends-on): Use intprops.h.
54434
54435 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54436
54437         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54438         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54439         <blp@cs.stanford.edu>.
54440
54441 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54442
54443         * lib/arpa_inet.in.h: New file.
54444
54445         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54446         (Makefile.am): Sed in substitute header file.
54447
54448         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54449         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54450
54451         * modules/inet_ntop (configure.ac): Use
54452         gl_ARPA_INET_MODULE_INDICATOR.
54453
54454         * modules/inet_pton (configure.ac): Use
54455         gl_ARPA_INET_MODULE_INDICATOR.
54456
54457 2008-04-22  Jim Meyering  <meyering@redhat.com>
54458
54459         * modules/verify (License): Re-license as LGPLv2+.
54460
54461 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54462
54463         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54464         parameter to void* as per POSIX standard (MinGW uses char*).
54465
54466 2008-04-21  Bruno Haible  <bruno@clisp.org>
54467
54468         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54469         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54470         Define to replacements if REPLACE_ISWCNTRL is 1.
54471         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54472         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54473         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54474         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54475         what it fixes.
54476         * doc/posix-functions/iswalpha.texi: Likewise.
54477         * doc/posix-functions/iswblank.texi: Likewise.
54478         * doc/posix-functions/iswcntrl.texi: Likewise.
54479         * doc/posix-functions/iswdigit.texi: Likewise.
54480         * doc/posix-functions/iswgraph.texi: Likewise.
54481         * doc/posix-functions/iswlower.texi: Likewise.
54482         * doc/posix-functions/iswprint.texi: Likewise.
54483         * doc/posix-functions/iswpunct.texi: Likewise.
54484         * doc/posix-functions/iswspace.texi: Likewise.
54485         * doc/posix-functions/iswupper.texi: Likewise.
54486         * doc/posix-functions/iswxdigit.texi: Likewise.
54487         Reported by Alain Guibert.
54488
54489 2008-04-21  Bruno Haible  <bruno@clisp.org>
54490
54491         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54492         Patch by Alain Guibert.
54493
54494 2008-04-21  Bruno Haible  <bruno@clisp.org>
54495
54496         Fix test failures on mingw.
54497         * tests/test-xstrtol.c (print_no_progname): New function.
54498         (main): Install it in error_print_progname hook.
54499         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54500         * tests/test-xstrtoimax.sh: Likewise.
54501         * tests/test-xstrtoumax.sh: Likewise.
54502
54503 2008-04-21  Bruno Haible  <bruno@clisp.org>
54504
54505         Fix test failure on mingw.
54506         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54507
54508 2008-04-21  Bruno Haible  <bruno@clisp.org>
54509
54510         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54511         Actually assign a value.
54512
54513 2008-04-20  Bruno Haible  <bruno@clisp.org>
54514
54515         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54516         take 2.
54517         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54518         'canonicalize-lgpl' module is also used.
54519         * lib/canonicalize-lgpl.c: Undo last change.
54520         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54521
54522 2008-04-20  Bruno Haible  <bruno@clisp.org>
54523
54524         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54525         config.h. Provide _mkdir based fallback for mingw.
54526         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54527         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54528         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54529         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54530         rather than defining mkdir in config.h.
54531         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54532         (gl_SYS_STAT_H_DEFAULTS): New macro.
54533         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54534         HAVE_IO_H any more.
54535         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54536         HAVE_DECL_MKDIR and HAVE_IO_H.
54537
54538 2008-04-20  Bruno Haible  <bruno@clisp.org>
54539
54540         * lib/isapipe.c: Port to native Windows platforms.
54541
54542 2008-04-20  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54545
54546 2008-04-21  Eric Blake  <ebb9@byu.net>
54547
54548         Work around preprocessors that don't handle UINTMAX_MAX.
54549         * lib/memchr2.c (memchr2): Avoid embedded #if.
54550         Reported by Alain Guibert, fix suggested by Bruno Haible.
54551
54552 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54553
54554         * doc/posix-functions/strftime.texi (strftime): Explain better
54555         Windows incompatibility.  Suggested by Micah Cowan
54556         <micah@cowan.name>.
54557
54558 2008-04-20  Bruno Haible  <bruno@clisp.org>
54559
54560         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54561         unistr/u8-mblen.
54562
54563 2008-04-20  Bruno Haible  <bruno@clisp.org>
54564
54565         Fix test failure on platforms with non-GNU iconv.
54566         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54567         (U_TO_U8): Use it, rather than u16_to_u8.
54568         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54569         units at the end of the input string.
54570         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54571
54572 2008-04-20  Bruno Haible  <bruno@clisp.org>
54573
54574         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54575         when the resulting length is 0.
54576         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54577
54578 2008-04-20  Bruno Haible  <bruno@clisp.org>
54579
54580         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54581         works.
54582         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54583
54584 2008-04-20  Bruno Haible  <bruno@clisp.org>
54585
54586         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54587         * modules/tsearch-tests (configure.ac): Test for initstate function.
54588
54589 2008-04-20  Bruno Haible  <bruno@clisp.org>
54590
54591         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54592         for nlink_t if missing.
54593         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54594
54595 2008-04-19  Bruno Haible  <bruno@clisp.org>
54596
54597         Work around snprintf bug on Linux libc5.
54598         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54600         gl_SNPRINTF_SIZE1.
54601         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54602         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54603         that test failed.
54604         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54605         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54606         * modules/snprintf (Files): Add m4/printf.m4.
54607         * modules/vsnprintf (Files): Likewise.
54608         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54609         * doc/posix-functions/vsnprintf.texi: Likewise.
54610
54611 2008-04-19  Bruno Haible  <bruno@clisp.org>
54612
54613         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54614         from 0.0058 to less than 10^-7.
54615
54616 2008-04-19  Bruno Haible  <bruno@clisp.org>
54617
54618         Fix rounding when a precision is given.
54619         * lib/vasnprintf.c (is_borderline): New function.
54620         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54621         9...9x.
54622         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54623         %e, %g.
54624         * tests/test-vasprintf-posix.c (test_function): Likewise.
54625         * tests/test-snprintf-posix.h (test_function): Likewise.
54626         * tests/test-sprintf-posix.h (test_function): Likewise.
54627         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54628         * tests/test-printf-posix.h (test_function): Likewise.
54629         * tests/test-printf-posix.output: Update.
54630         Reported by John Darrington <john@darrington.wattle.id.au> via
54631         Ben Pfaff <blp@cs.stanford.edu>.
54632
54633 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54634
54635         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54636         Suggested by Bruno Haible <bruno@clisp.org>.
54637
54638 2008-04-17  Bruno Haible  <bruno@clisp.org>
54639
54640         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54641         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54642         implementation.
54643         Patch by Bruce Merry <bmerry@gmail.com>.
54644
54645 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54646
54647         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54648         doesn't work under Windows.
54649
54650 2008-04-16  Bruno Haible  <bruno@clisp.org>
54651
54652         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54653         New macros.
54654         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54655         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54656         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54657         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54658         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54659         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54660         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54661         macros.
54662         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54663         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54664         Northern Sotho, Uighur.
54665
54666 2008-04-16  Bruno Haible  <bruno@clisp.org>
54667
54668         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54669         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54670         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54671         Reported by Daniel Bergström <daniel@octocode.com>.
54672
54673 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54674             Bruno Haible  <bruno@clisp.org>
54675
54676         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54677         function.
54678         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54679         New functions, mostly extracted from gl_locale_name_default.
54680         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54681
54682 2008-04-16  Eric Blake  <ebb9@byu.net>
54683
54684         Adjust strtod detection to catch glibc 2.7 bug.
54685         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54686         Reported by John Gatewood Ham.
54687
54688 2008-04-16  Bruno Haible  <bruno@clisp.org>
54689
54690         Add tentative support for Linux libc5.
54691         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54692         * lib/fpurge.c (fpurge): Likewise.
54693         * lib/freadable.c (freadable): Likewise.
54694         * lib/freadahead.c (freadahead): Likewise.
54695         * lib/freading.c (freading): Likewise.
54696         * lib/freadptr.c (freadptr): Likewise.
54697         * lib/freadseek.c (freadptrinc): Likewise.
54698         * lib/fseeko.c (rpl_fseeko): Likewise.
54699         * lib/fseterr.c (fseterr): Likewise.
54700         * lib/fwritable.c (fwritable): Likewise.
54701         * lib/fwriting.c (fwriting): Likewise.
54702         Reported by Alain Guibert <alguibert+bts@free.fr>.
54703
54704 2008-04-15  Bruno Haible  <bruno@clisp.org>
54705
54706         * modules/mathl (configure.ac): Define module indicator.
54707
54708 2008-04-15  Bruno Haible  <bruno@clisp.org>
54709
54710         * lib/logl.c (logl): Remove unused variables.
54711
54712 2008-04-15  Bruno Haible  <bruno@clisp.org>
54713
54714         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54715         fails.
54716
54717 2008-04-15  Bruno Haible  <bruno@clisp.org>
54718
54719         * lib/trim.c (trim2): Fix argument of isspace() macro.
54720
54721 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54722
54723         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54724         to 0.
54725         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54726
54727 2008-04-14  Bruno Haible  <bruno@clisp.org>
54728
54729         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54730         AC_LANG_PROGRAM argument.
54731         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54732         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54733         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54734         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54735         * m4/math_h.m4 (gl_MATH_H): Likewise.
54736         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54737         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54738         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54739         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54740         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54741         * m4/regex.m4 (gl_REGEX): Likewise.
54742         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54743         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54744         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54745         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54746         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54747         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54748         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54749         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54750
54751 2008-04-14  Jim Meyering  <meyering@redhat.com>
54752
54753         test-strtod: fix typos: s/abs/fabs/
54754         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54755
54756 2008-04-13  Bruno Haible  <bruno@clisp.org>
54757
54758         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54759         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54760         module is also used and while not building the reloc-wrapper.
54761
54762 2008-04-13  Bruno Haible  <bruno@clisp.org>
54763
54764         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54765
54766 2008-04-13  Bruno Haible  <bruno@clisp.org>
54767
54768         Fix AIX compilation failure introduced on 2008-04-02.
54769         * tests/test-frexp.c (exp): Undefine before redefining.
54770         * tests/test-frexpl.c (exp): Likewise.
54771
54772 2008-04-13  Bruno Haible  <bruno@clisp.org>
54773
54774         Work around a HP-UX stdio bug.
54775         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54776         * tests/test-ftello.c (main): Likewise.
54777         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54778         * doc/posix-functions/ftello.texi: Likewise.
54779
54780 2008-04-13  Bruno Haible  <bruno@clisp.org>
54781
54782         Make test-signbit pass on HP-UX/hppa.
54783         * tests/test-signbit.c (minus_zerol): New variable.
54784         (test_signbitl): Use it.
54785
54786 2008-04-13  Bruno Haible  <bruno@clisp.org>
54787
54788         Make truncl work on OSF/1 4.0.
54789         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54790         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54791         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54792         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54793         HAVE_DECL_TRUNCL.
54794         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54795         HAVE_DECL_TRUNCL.
54796         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54797
54798 2008-04-13  Bruno Haible  <bruno@clisp.org>
54799
54800         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54801
54802 2008-04-13  Bruno Haible  <bruno@clisp.org>
54803
54804         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54805         expression, so as to avoid HP-UX 11 cc compiler bug.
54806
54807 2008-04-13  Bruno Haible  <bruno@clisp.org>
54808
54809         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54810
54811 2008-04-13  Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/git-merge-changelog.c: Remove empty declaration outside of
54814         functions.
54815
54816 2008-04-13  Bruno Haible  <bruno@clisp.org>
54817
54818         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54819
54820 2008-04-13  Bruno Haible  <bruno@clisp.org>
54821
54822         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54823         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54824         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54825         also if it exists but lacks definitions of the SHUT_* macros.
54826         * modules/sys_socket (Description): Update.
54827         Reported by Elbert Pol <e.pol@chello.nl>.
54828
54829 2008-04-13  Bruno Haible  <bruno@clisp.org>
54830
54831         * lib/localcharset.c (OS2): Don't redefine if already defined.
54832         Reported by Elbert Pol <e.pol@chello.nl>.
54833
54834 2008-04-13  Bruno Haible  <bruno@clisp.org>
54835
54836         * lib/binary-io.h [__EMX__]: Include <io.h>.
54837         Reported by Elbert Pol <e.pol@chello.nl>.
54838
54839 2008-04-12  Bruno Haible  <bruno@clisp.org>
54840
54841         * lib/fpucw.h: Enable the definitions also for x86_64.
54842         Needed for NetBSD/x86_64.
54843         Reported by Thomas Klausner <tk@giga.or.at>.
54844
54845 2008-04-12  Bruno Haible  <bruno@clisp.org>
54846
54847         * tests/test-strtod.c: Include isnand.h.
54848         (main): Use isnand instead of isnan.
54849         Reported by Jim Meyering.
54850
54851 2008-04-12  Bruno Haible  <bruno@clisp.org>
54852
54853         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54854         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54855
54856 2008-04-12  Jim Meyering  <meyering@redhat.com>
54857
54858         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54859
54860 2008-04-12  Bruno Haible  <bruno@clisp.org>
54861
54862         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54863         Reported by Elbert Pol <e.pol@chello.nl>.
54864
54865 2008-04-12  Eric Blake  <ebb9@byu.net>
54866
54867         Work around Solaris 10 math.h bug.
54868         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54869         (gl_MATH_H_DEFAULTS): Set up default.
54870         * modules/math (Makefile.am): Replace new indicators.
54871         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54872         * tests/test-math.c (main): Test this.
54873         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54874         * doc/posix-headers/math.texi (math.h): Mention bug.
54875         Reported by Nelson H. F. Beebe and Jim Meyering.
54876
54877 2008-04-11  Bruno Haible  <bruno@clisp.org>
54878
54879         Adapt to future versions of Apple GCC.
54880         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54881         Reported by Peter O'Gorman <peter@pogma.com>.
54882
54883 2008-04-11  Bruno Haible  <bruno@clisp.org>
54884
54885         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54886
54887 2008-04-11  Bruno Haible  <bruno@clisp.org>
54888
54889         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54890
54891         * modules/getaddrinfo-tests (Makefile.am): Define
54892         test_getaddrinfo_LDADD.
54893
54894 2008-04-11  Bruno Haible  <bruno@clisp.org>
54895
54896         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54897         (init): Fix syntax error.
54898         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54899         is declared.
54900
54901 2008-04-11  Bruno Haible  <bruno@clisp.org>
54902
54903         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54904         * modules/glob (Depends-on): Add stdbool.
54905
54906 2008-04-11  Bruno Haible  <bruno@clisp.org>
54907
54908         * lib/trim.c: Include <string.h>.
54909
54910 2008-04-11  Eric Blake  <ebb9@byu.net>
54911
54912         Avoid compile failure on OS/2.
54913         * lib/regex_internal.h (internal_function): Disable optimization
54914         on OS/2 (__EMX__), where it caused compiler error.
54915         Reported by Elbert Pol.
54916
54917 2008-04-11  Bruno Haible  <bruno@clisp.org>
54918
54919         Flush the standard error stream before aborting. Needed on mingw.
54920         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54921         * tests/test-array_list.c (ASSERT): Likewise.
54922         * tests/test-array_oset.c (ASSERT): Likewise.
54923         * tests/test-avltree_list.c (ASSERT): Likewise.
54924         * tests/test-avltree_oset.c (ASSERT): Likewise.
54925         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54926         * tests/test-binary-io.c (ASSERT): Likewise.
54927         * tests/test-byteswap.c (ASSERT): Likewise.
54928         * tests/test-c-ctype.c (ASSERT): Likewise.
54929         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54930         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54931         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54932         * tests/test-c-strstr.c (ASSERT): Likewise.
54933         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54934         * tests/test-canonicalize.c (ASSERT): Likewise.
54935         * tests/test-carray_list.c (ASSERT): Likewise.
54936         * tests/test-ceilf1.c (ASSERT): Likewise.
54937         * tests/test-ceilf2.c (ASSERT): Likewise.
54938         * tests/test-ceill.c (ASSERT): Likewise.
54939         * tests/test-count-one-bits.c (ASSERT): Likewise.
54940         * tests/test-fbufmode.c (ASSERT): Likewise.
54941         * tests/test-fflush2.c (ASSERT): Likewise.
54942         * tests/test-floorf1.c (ASSERT): Likewise.
54943         * tests/test-floorf2.c (ASSERT): Likewise.
54944         * tests/test-floorl.c (ASSERT): Likewise.
54945         * tests/test-fopen.c (ASSERT): Likewise.
54946         * tests/test-fpending.c (ASSERT): Likewise.
54947         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54948         * tests/test-fpurge.c (ASSERT): Likewise.
54949         * tests/test-freadable.c (ASSERT): Likewise.
54950         * tests/test-freadahead.c (ASSERT): Likewise.
54951         * tests/test-freading.c (ASSERT): Likewise.
54952         * tests/test-freadptr.c (ASSERT): Likewise.
54953         * tests/test-freadptr2.c (ASSERT): Likewise.
54954         * tests/test-freadseek.c (ASSERT): Likewise.
54955         * tests/test-freopen.c (ASSERT): Likewise.
54956         * tests/test-frexp.c (ASSERT): Likewise.
54957         * tests/test-frexpl.c (ASSERT): Likewise.
54958         * tests/test-fseek.c (ASSERT): Likewise.
54959         * tests/test-fseeko.c (ASSERT): Likewise.
54960         * tests/test-fstrcmp.c (ASSERT): Likewise.
54961         * tests/test-ftell.c (ASSERT): Likewise.
54962         * tests/test-ftello.c (ASSERT): Likewise.
54963         * tests/test-func.c (ASSERT): Likewise.
54964         * tests/test-fwritable.c (ASSERT): Likewise.
54965         * tests/test-fwriting.c (ASSERT): Likewise.
54966         * tests/test-getdelim.c (ASSERT): Likewise.
54967         * tests/test-getline.c (ASSERT): Likewise.
54968         * tests/test-i-ring.c (ASSERT): Likewise.
54969         * tests/test-iconv-utf.c (ASSERT): Likewise.
54970         * tests/test-iconv.c (ASSERT): Likewise.
54971         * tests/test-isfinite.c (ASSERT): Likewise.
54972         * tests/test-isnand.c (ASSERT): Likewise.
54973         * tests/test-isnanf.c (ASSERT): Likewise.
54974         * tests/test-isnanl.h (ASSERT): Likewise.
54975         * tests/test-ldexpl.c (ASSERT): Likewise.
54976         * tests/test-linked_list.c (ASSERT): Likewise.
54977         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54978         * tests/test-localename.c (ASSERT): Likewise.
54979         * tests/test-lseek.c (ASSERT): Likewise.
54980         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54981         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54982         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54983         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54984         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54985         * tests/test-mbschr.c (ASSERT): Likewise.
54986         * tests/test-mbscspn.c (ASSERT): Likewise.
54987         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54988         * tests/test-mbspbrk.c (ASSERT): Likewise.
54989         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54990         * tests/test-mbsrchr.c (ASSERT): Likewise.
54991         * tests/test-mbsspn.c (ASSERT): Likewise.
54992         * tests/test-mbsstr1.c (ASSERT): Likewise.
54993         * tests/test-mbsstr2.c (ASSERT): Likewise.
54994         * tests/test-mbsstr3.c (ASSERT): Likewise.
54995         * tests/test-memchr2.c (ASSERT): Likewise.
54996         * tests/test-memmem.c (ASSERT): Likewise.
54997         * tests/test-open.c (ASSERT): Likewise.
54998         * tests/test-printf-frexp.c (ASSERT): Likewise.
54999         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55000         * tests/test-printf-posix.c (ASSERT): Likewise.
55001         * tests/test-quotearg.c (ASSERT): Likewise.
55002         * tests/test-rbtree_list.c (ASSERT): Likewise.
55003         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55004         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55005         * tests/test-round1.c (ASSERT): Likewise.
55006         * tests/test-roundf1.c (ASSERT): Likewise.
55007         * tests/test-roundl.c (ASSERT): Likewise.
55008         * tests/test-signbit.c (ASSERT): Likewise.
55009         * tests/test-sleep.c (ASSERT): Likewise.
55010         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55011         * tests/test-snprintf.c (ASSERT): Likewise.
55012         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55013         * tests/test-stat-time.c (ASSERT): Likewise.
55014         * tests/test-strcasestr.c (ASSERT): Likewise.
55015         * tests/test-strerror.c (ASSERT): Likewise.
55016         * tests/test-striconv.c (ASSERT): Likewise.
55017         * tests/test-striconveh.c (ASSERT): Likewise.
55018         * tests/test-striconveha.c (ASSERT): Likewise.
55019         * tests/test-strsignal.c (ASSERT): Likewise.
55020         * tests/test-strstr.c (ASSERT): Likewise.
55021         * tests/test-strtod.c (ASSERT): Likewise.
55022         * tests/test-trunc1.c (ASSERT): Likewise.
55023         * tests/test-trunc2.c (ASSERT): Likewise.
55024         * tests/test-truncf1.c (ASSERT): Likewise.
55025         * tests/test-truncf2.c (ASSERT): Likewise.
55026         * tests/test-truncl.c (ASSERT): Likewise.
55027         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55028         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55029         * tests/test-vasnprintf.c (ASSERT): Likewise.
55030         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55031         * tests/test-vasprintf.c (ASSERT): Likewise.
55032         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55033         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55034         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55035         * tests/test-vsnprintf.c (ASSERT): Likewise.
55036         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55037         * tests/test-wcwidth.c (ASSERT): Likewise.
55038         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55039         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55040         * tests/test-xvasprintf.c (ASSERT): Likewise.
55041         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55042         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55043         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55044         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55045         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55046         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55047         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55048         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55049         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55050         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55051         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55052         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55053         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55054         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55055         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55056         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55057         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55058         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55059         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55060         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55061         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55062         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55063         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55064         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55065         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55066         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55067         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55068         * tests/unictype/test-combining.c (ASSERT): Likewise.
55069         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55070         * tests/unictype/test-digit.c (ASSERT): Likewise.
55071         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55072         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55073         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55074         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55075         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55076         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55077         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55078         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55079         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55080         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55081         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55082         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55083         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55084         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55085         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55086         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55087         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55088         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55089         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55090         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55091         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55092         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55093         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55094         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55095         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55096         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55097         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55098         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55099         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55100         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55101         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55102         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55103         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55104         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55105         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55106         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55107         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55108         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55109         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55110         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55111         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55112         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55113         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55114         Reported by Eric Blake.
55115
55116 2008-04-11  Bruno Haible  <bruno@clisp.org>
55117
55118         * lib/wchar.in.h: Tweak comment.
55119
55120 2008-04-11  Bruno Haible  <bruno@clisp.org>
55121
55122         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55123         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55124         gl_COMMON.
55125         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55126
55127 2008-04-11  Bruno Haible  <bruno@clisp.org>
55128
55129         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55130
55131 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55132
55133         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55134         of attempting to use non-existing /dev/*random.  Based on patch
55135         from Adam Strzelecki <ono@java.pl> in
55136         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55137
55138 2008-04-08  Bruno Haible  <bruno@clisp.org>
55139
55140         Add tentative support for emx+gcc.
55141         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55142         * lib/fpurge.c (fpurge): Likewise.
55143         * lib/freadable.c (freadable): Likewise.
55144         * lib/freadahead.c (freadahead): Likewise.
55145         * lib/freading.c (freading): Likewise.
55146         * lib/freadptr.c (freadptr): Likewise.
55147         * lib/freadseek.c (freadptrinc): Likewise.
55148         * lib/fseeko.c (rpl_fseeko): Likewise.
55149         * lib/fseterr.c (fseterr): Likewise.
55150         * lib/fwritable.c (fwritable): Likewise.
55151         * lib/fwriting.c (fwriting): Likewise.
55152         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55153
55154 2008-04-09  Eric Blake  <ebb9@byu.net>
55155
55156         Avoid some autoconf warnings.
55157         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55158         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55159         * m4/afs.m4 (gl_AFS): Likewise.
55160         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55161         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55162         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55163         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55164         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55165         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55166         (AC_CHECK_DECLS_ONCE): Likewise.
55167         Rename file...
55168         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55169         gnulib-tool requires autoconf 2.59 or better.
55170         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55171
55172 2008-04-08  Eric Blake  <ebb9@byu.net>
55173
55174         Use 'git describe --match' if present (added in git 1.5.5).
55175         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55176         if possible.
55177
55178 2008-04-08  Bruno Haible  <bruno@clisp.org>
55179
55180         Add tentative support for OpenServer.
55181         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55182         _ptr, _cnt.
55183         * lib/fpurge.c (fpurge): Likewise.
55184         * lib/freadable.c (freadable): Likewise.
55185         * lib/freadahead.c (freadahead): Likewise.
55186         * lib/freading.c (freading): Likewise.
55187         * lib/freadptr.c (freadptr): Likewise.
55188         * lib/freadseek.c (freadptrinc): Likewise.
55189         * lib/fseeko.c (rpl_fseeko): Likewise.
55190         * lib/fseterr.c (fseterr): Likewise.
55191         * lib/fwritable.c (fwritable): Likewise.
55192         * lib/fwriting.c (fwriting): Likewise.
55193         Reported by Roger Cornelius <rac@tenzing.org> and
55194         Brian K. White <brian@aljex.com>.
55195
55196 2008-04-06  Jim Meyering  <meyering@redhat.com>
55197
55198         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55199
55200 2008-04-06  Bruno Haible  <bruno@clisp.org>
55201
55202         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55203         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55204         * tests/test-printf-posix.sh: Likewise.
55205         * tests/test-vfprintf-posix.sh: Likewise.
55206         * tests/test-vprintf-posix.sh: Likewise.
55207         * tests/test-xprintf-posix.sh: Likewise.
55208
55209 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55210
55211         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55212         hide error from 'ls', needed on OS/2.
55213         Report by Elbert Pol <elbert.pol@gmail.com>.
55214
55215 2008-04-04  Eric Blake  <ebb9@byu.net>
55216
55217         Make test-fseeko.c failures meaningful.
55218         * tests/test-fseeko.c: Print line number on failure.
55219         * tests/test-fseek.c: Likewise.
55220         Reported by Nelson H. F. Beebe.
55221
55222         Improve strtod bug detection check.
55223         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55224         required for Solaris 10.
55225         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55226
55227 2008-04-04  Bruno Haible  <bruno@clisp.org>
55228
55229         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55230         by m4/setenv.m4.
55231
55232 2008-04-03  Eric Blake  <ebb9@byu.net>
55233
55234         Ensure sane .version contents.
55235         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55236         version string.
55237         * build-aux/git-version-gen: Improve documentation.
55238
55239         Make GNU make output nicer.
55240         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55241         MAKECMDGOALS to enforce message for all command line targets.  Set
55242         srcdir for use in maint.mk.
55243
55244         Another maintainer tweak.
55245         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55246         a target that regenerates version.
55247
55248 2008-04-03  Jim Meyering  <meyering@redhat.com>
55249
55250         vc-list-files: don't cause coreutils "make po-check" failure
55251         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55252
55253 2008-04-03  Eric Blake  <ebb9@byu.net>
55254
55255         Allow VPATH usage of vc-list-files.
55256         * build-aux/vc-list-files (scriptversion): Add timestamp.
55257         (options): Add --help, --version, -C.
55258         (CVS): Support installed cvsu.
55259
55260 2008-04-02  Bruno Haible  <bruno@clisp.org>
55261
55262         Avoid some "statement with no effect" warnings from gcc.
55263         * tests/test-wctype.c (main): Explicitly ignore unused values.
55264         Reported by Jim Meyering.
55265
55266 2008-04-02  Jim Meyering  <meyering@redhat.com>
55267
55268         Avoid some warnings from "gcc -Wshadow".
55269         * tests/test-frexp.c (exp): Define to a different identifier.
55270         * tests/test-frexpl.c (exp): Likewise.
55271
55272 2008-04-03  Jim Meyering  <meyering@redhat.com>
55273
55274         bootstrap: remove dangling *.[ch] symlinks from lib
55275         * build-aux/bootstrap [dangling symlink removal]: Move find's
55276         -depth option to precede all others, to avoid a warning.
55277         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55278
55279 2008-04-02  Bruno Haible  <bruno@clisp.org>
55280
55281         Avoid some warnings from "gcc -Wshadow".
55282         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55283         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55284         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55285         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55286         Reported by Jim Meyering.
55287
55288 2008-04-01  Bruno Haible  <bruno@clisp.org>
55289
55290         Fix test to work on IRIX 6.5 with cc.
55291         * tests/test-math.c (numeric_equal): New function.
55292         (main): Use it.
55293
55294 2008-04-01  Bruno Haible  <bruno@clisp.org>
55295
55296         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55297
55298 2008-04-01  Bruno Haible  <bruno@clisp.org>
55299
55300         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55301         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55302         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55303         (Depends-on): Remove math.
55304
55305         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55306         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55307         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55308         (Depends-on): Remove math.
55309
55310         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55311         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55312         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55313         (Depends-on): Remove math.
55314         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55315         (Depends-on): Remove math.
55316
55317         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55318         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55319         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55320         (Depends-on): Remove math.
55321         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55322         (Depends-on): Remove math.
55323
55324         * tests/test-round1.c: Include nan.h.
55325         (main): Use NaNd instead of NAN.
55326         * modules/round-tests (Files): Add tests/nan.h.
55327
55328         * tests/test-trunc1.c: Include nan.h.
55329         (main): Use NaNd instead of NAN.
55330         * modules/trunc-tests (Files): Add tests/nan.h.
55331
55332         * tests/test-roundf1.c: Include nan.h.
55333         (main): Use NaNf instead of NAN.
55334         * modules/roundf-tests (Files): Add tests/nan.h.
55335
55336         * tests/test-truncf1.c: Include nan.h.
55337         (main): Use NaNf instead of NAN.
55338         * modules/truncf-tests (Files): Add tests/nan.h.
55339
55340         * tests/test-ceilf1.c: Include nan.h.
55341         (main): Use NaNf instead of NAN.
55342         * modules/ceilf-tests (Files): Add tests/nan.h.
55343
55344         * tests/test-floorf1.c: Include nan.h.
55345         (main): Use NaNf instead of NAN.
55346         * modules/floorf-tests (Files): Add tests/nan.h.
55347
55348         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55349         (main): Use NaNf instead of NAN.
55350         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55351
55352         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55353         (main): Use NaNd instead of NAN.
55354         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55355
55356         * tests/test-frexp.c: Include nan.h.
55357         (main): Use NaNd instead of NAN.
55358         * modules/frexp-tests (Files): Add tests/nan.h.
55359
55360         * lib/isnan.c: Don't include <math.h>.
55361         (FUNC): Don't use NAN macro.
55362         * modules/isnand-nolibm (Depends-on): Remove math.
55363         * modules/isnanf-nolibm (Depends-on): Remove math.
55364         * modules/isnanl (Depends-on): Remove math.
55365         * modules/isnanl-nolibm (Depends-on): Remove math.
55366
55367         * tests/nan.h: New file.
55368
55369 2008-04-01  Eric Blake  <ebb9@byu.net>
55370
55371         Fix typos.
55372         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55373         values to be the right type.
55374
55375         For now, cater to gnulib strtod inaccuracies.
55376         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55377         fractional results.  While not as nice from a QoI perspective, it
55378         is a quicker patch than correctly implementing decimal to binary
55379         rounding.
55380
55381 2008-03-31  Eric Blake  <ebb9@byu.net>
55382
55383         Guarantee a definition of NAN.
55384         * lib/math.in.h (NAN): Define if missing.
55385         * tests/test-math.c (main): Test it.
55386         * doc/posix-headers/math.texi (math.h): Document this.
55387         * lib/isnan.c (rpl_isnand): Use it.
55388         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55389         * tests/test-floorf1.c (NaN): Likewise.
55390         * tests/test-frexp.c (NaN): Likewise.
55391         * tests/test-isnand.c (NaN): Likewise.
55392         * tests/test-isnanf.c (NaN): Likewise.
55393         * tests/test-round1.c (NaN): Likewise.
55394         * tests/test-roundf1.c (NaN): Likewise.
55395         * tests/test-snprintf-posix.h (NaN): Likewise.
55396         * tests/test-sprintf-posix.h (NaN): Likewise.
55397         * tests/test-trunc1.c (NaN): Likewise.
55398         * tests/test-truncf1.c (NaN): Likewise.
55399         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55400         * tests/test-vasprintf-posix.c (NaN): Likewise.
55401         * modules/isnand-nolibm (Depends-on): Add math.
55402         * modules/isnanf-nolibm (Depends-on): Likewise.
55403         * modules/isnanl (Depends-on): Likewise.
55404         * modules/isnanl-nolibm (Depends-on): Likewise.
55405         * modules/snprintf-posix-tests (Depends-on): Likewise.
55406         * modules/sprintf-posix-tests (Depends-on): Likewise.
55407         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55408         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55409         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55410         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55411
55412 2008-03-31  Bruno Haible  <bruno@clisp.org>
55413
55414         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55415         * doc/posix-functions/strtod.texi: Likewise.
55416
55417 2008-03-31  Bruno Haible  <bruno@clisp.org>
55418
55419         * tests/test-strtod.c (main): Don't use C99 syntax.
55420
55421 2008-03-31  Bruno Haible  <bruno@clisp.org>
55422
55423         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55424         Reported by Eric Blake.
55425
55426 2008-03-31  Jim Meyering  <meyering@redhat.com>
55427
55428         Don't compare actual signbit return values.
55429         * tests/test-strtod.c (main): Rather, compare only their
55430         zero/non-zero nature.
55431
55432 2008-03-31  Eric Blake  <ebb9@byu.net>
55433
55434         More strtod documentation.
55435         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55436         failures as distinct bugs.
55437
55438 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55439
55440         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55441         Problem reported by Erik Benada in
55442         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55443
55444 2008-03-30  Bruno Haible  <bruno@clisp.org>
55445
55446         * tests/test-strtod.c: Add comments about which assertion fails on which
55447         platform.
55448         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55449
55450 2008-03-30  Eric Blake  <ebb9@byu.net>
55451
55452         Test signbit behavior on zeros.
55453         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55454         (test_signbitd, test_signbitl): Likewise.
55455
55456         More strtod touchups.
55457         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55458         sign of negative underflow, for now.  Use .5, not .1.
55459         * doc/posix-functions/strtod.texi (strtod): Mention these
55460         limitations.
55461         Reported by Jim Meyering.
55462
55463 2008-03-30  Bruno Haible  <bruno@clisp.org>
55464
55465         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55466         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55467
55468 2008-03-30  Bruno Haible  <bruno@clisp.org>
55469
55470         Avoid failure when attempting to return empty iconv results on some
55471         platforms.
55472         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55473         allocation, don't report ENOMEM when the resulting string is empty.
55474
55475 2008-03-30  Bruno Haible  <bruno@clisp.org>
55476
55477         Fix buffer overrun.
55478         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55479         Don't consider the width for tmp_length. Check count against tmp_length
55480         before doing the padding. Ensure enough allocation during padding.
55481
55482 2008-03-30  Eric Blake  <ebb9@byu.net>
55483
55484         strtod touchups.
55485         * lib/strtod.c (strtod): Avoid compiler warnings.
55486         Reported by Jim Meyering.
55487
55488 2008-03-30  Bruno Haible  <bruno@clisp.org>
55489
55490         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55491         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55492         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55493         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55494         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55495         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55496         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55497         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55498
55499         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55500         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55501         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55502         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55503         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55504         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55505         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55506         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55507
55508         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55509         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55510         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55511         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55512         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55513         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55514         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55515         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55516
55517         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55518         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55519
55520         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55521         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55522
55523         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55524         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55525
55526         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55527         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55528         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55529
55530         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55531         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55532         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55533
55534         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55535         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55536         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55537
55538         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55539         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55540         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55541
55542         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55543         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55544         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55545         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55546         (Depends-on): Add EOVERFLOW.
55547         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55548         (Depends-on): Add EOVERFLOW.
55549         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55550         (Depends-on): Add EOVERFLOW.
55551         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55552         (Depends-on): Add EOVERFLOW.
55553         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55554         (Depends-on): Add EOVERFLOW.
55555         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55556         (Depends-on): Add EOVERFLOW.
55557         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55558         (Depends-on): Add EOVERFLOW.
55559         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55560         (Depends-on): Add EOVERFLOW.
55561
55562         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55563         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55564         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55565
55566         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55567         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55568         * modules/snprintf (Depends-on): Add EOVERFLOW.
55569
55570         * lib/poll.c (EOVERFLOW): Remove fallback.
55571         * modules/poll (Depends-on): Add EOVERFLOW.
55572
55573         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55574         * modules/getugroups (Depends-on): Add EOVERFLOW.
55575
55576         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55577         * modules/getdelim (Depends-on): Add EOVERFLOW.
55578
55579         * lib/ftell.c (EOVERFLOW): Remove fallback.
55580         * modules/ftell (Depends-on): Add EOVERFLOW.
55581
55582         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55583         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55584         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55585
55586         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55587
55588         * modules/EOVERFLOW-tests: New file.
55589         * tests/test-EOVERFLOW.c: New file.
55590
55591         * modules/EOVERFLOW: New file.
55592         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55593
55594 2008-03-30  Bruno Haible  <bruno@clisp.org>
55595
55596         Fix bug introduced on 2007-06-10.
55597         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55598         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55599
55600 2008-03-30  Bruno Haible  <bruno@clisp.org>
55601
55602         Improve freadseek's efficiency after ungetc.
55603         * lib/freadseek.c: Include freadahead.h.
55604         (freadptrinc): New function, extracted from freadseek.
55605         (freadseek): Use it in a loop. Use freadahead to determine the number
55606         of loop iterations.
55607         * modules/freadseek (Depends-on): Add freadahead.
55608         (configure.ac): Require AC_C_INLINE.
55609
55610 2008-03-30  Bruno Haible  <bruno@clisp.org>
55611
55612         * lib/freadseek.c (freadseek): Don't ignore the return value of
55613         freadptr.
55614
55615 2008-03-29  Eric Blake  <ebb9@byu.net>
55616
55617         Add hex float support.
55618         * modules/strtod (Depends-on): Add c-ctype.
55619         (Link): Mention POW_LIB.
55620         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55621         whitespace between 'e' and exponent.
55622         * tests/test-strtod.c (main): Enable hex float tests.
55623         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55624         now provides.
55625
55626         Document various strtod bugs, with some fixes.
55627         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55628         "-0x", "inf", "nan", and hex constants.
55629         * doc/posix-functions/atof.texi (atof): Likewise.
55630         * modules/stdlib (Makefile.am): Support strtod.
55631         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55632         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55633         detect additional strtod bugs.
55634         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55635         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55636         bool where appropriate.  Parse 'inf' and 'nan'.
55637         * tests/test-strtod.c: New file.
55638         * modules/strtod (Depends-on): Add stdbool, stdlib.
55639         (configure.ac): Turn on module indicator.
55640         * modules/strtod-tests: New module.
55641
55642 2008-03-29  Eric Blake  <ebb9@byu.net>
55643
55644         Fix ftell on mingw.
55645         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55646         * modules/ftell-tests (Depends-on): Add binary-io.
55647         * modules/ftello-tests (Depends-on): Likewise.
55648         * tests/test-ftell.c (main): Enhance test to cover behavior after
55649         ungetc.  Enforce binary mode.
55650         * tests/test-ftello.c (main): Likewise.
55651
55652         Pass test-freadseek on cygwin.
55653         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55654         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55655         ungetc buffer.
55656
55657         * tests/test-fflush2.c (main): Fix typo.
55658
55659 2008-03-29  Bruno Haible  <bruno@clisp.org>
55660
55661         * tests/test-fflush2.c (main): Temporarily disable the contents of
55662         this test.
55663         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55664         Reported by Eric Blake.
55665
55666 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55667
55668         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55669         (GC_SHA224_DIGEST_SIZE): Add.
55670
55671         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55672         (gc_hash_digest_length): Likewise.
55673         (gc_hash_buffer): Likewise.
55674
55675 2008-03-25  Bruno Haible  <bruno@clisp.org>
55676
55677         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55678         detail which gettext release to use.
55679         Reported by Simon Josefsson.
55680
55681 2008-03-26  Jim Meyering  <meyering@redhat.com>
55682
55683         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55684         * modules/gnumakefile (clean-GNUmakefile): Also, use
55685         test ... && ... || : syntax rather than if-then ... fi.
55686
55687         gnumakefile: Don't double-quote-expand $(VPATH) value.
55688         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55689
55690 2008-03-24  Eric Blake  <ebb9@byu.net>
55691
55692         Alter GNUmakefile to install into top directory.
55693         * modules/maintainer-makefile: Split, and add dependency...
55694         * modules/gnumakefile: to this new module.
55695         * build-aux/GNUmakefile: Move...
55696         * top/GNUmakefile: ...here.
55697         * build-aux/maint.mk: Move...
55698         * top/maint.mk: ...here.
55699         * MODULES.html.sh (Support for maintaining...): Document new
55700         module.
55701
55702 2008-03-23  Bruno Haible  <bruno@clisp.org>
55703
55704         * gnulib-tool: New options --vc-files, --no-vc-files.
55705         (func_usage): Document them.
55706         (vc_files): New variable.
55707         (func_import): Consider vc_files.
55708         (func_create_testdir): Set vc_files to empty.
55709         Suggested by Jim Meyering and Karl Berry.
55710
55711 2008-03-23  Bruno Haible  <bruno@clisp.org>
55712
55713         Fix regex compilation error on HP-UX 11.
55714         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55715         * modules/regex (Files): Add m4/mbstate_t.m4.
55716         Reported by Ton Voon <ton.voon@altinity.com>.
55717
55718 2008-03-23  Bruno Haible  <bruno@clisp.org>
55719
55720         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55721
55722 2008-03-23  Eric Blake  <ebb9@byu.net>
55723             Bruno Haible  <bruno@clisp.org>
55724
55725         Install files from top/ in the destination directory.
55726         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55727         augmentation also for the files from top/.
55728         (func_import, func_create_testdir): Rewrite file names:
55729         top/filename -> filename.
55730
55731 2008-03-23  Bruno Haible  <bruno@clisp.org>
55732
55733         Tweak "gnulib --version" output.
55734         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55735
55736 2008-03-23  Bruno Haible  <bruno@clisp.org>
55737
55738         Tweak "gnulib --version" output.
55739         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55740         rather than contents of ChangeLog, when possible.
55741
55742 2008-03-21  Eric Blake  <ebb9@byu.net>
55743
55744         More --version tweaks.
55745         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55746         date of last ChangeLog entry.
55747
55748 2008-03-21  Jim Meyering  <meyering@redhat.com>
55749
55750         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55751
55752 2008-03-20  Eric Blake  <ebb9@byu.net>
55753
55754         VPATH fix.
55755         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55756
55757 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55758
55759         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55760         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55761
55762 2008-03-20  Eric Blake  <ebb9@byu.net>
55763
55764         Sync GNUmakefile with coreutils.
55765         * build-aux/GNUmakefile (have-Makefile): Rename...
55766         (_have-Makefile): ...to this, for namespace consideration.
55767         (GNUmakefile.cfg): Include, if present.
55768         (_autoreconf): Define a default.
55769         (_is-dist-target): New rule for rebuilds to pick up intra-release
55770         version.
55771         (maint-cfg.mk): Rename...
55772         (cfg.mk): ...to this.
55773
55774 2008-03-18  Jim Meyering  <meyering@redhat.com>
55775
55776         New script and module: mktempd
55777         * MODULES.html.sh (maint+release support): Add mktempd.
55778         * build-aux/mktempd: New file.
55779         * modules/mktempd: New file.
55780
55781 2008-03-15  Jim Meyering  <meyering@redhat.com>
55782
55783         Undo last change.
55784         * lib/sha1.c, lib/md5.c: 63 != ~63.
55785         Reported by Andreas Schwab.
55786
55787         sha1.c, md5.c: Hoist a redundant expression.
55788         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55789         "ctx->buflen" only once, before calling *_process_block.
55790         * lib/md5.c (md5_process_bytes): Likewise.
55791
55792 2008-03-14  Eric Blake  <ebb9@byu.net>
55793
55794         Bump copyright year in files generated by gnulib-tool.
55795         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55796         gnulib-tool, rather than hard-coding it.
55797
55798         Fix 'gnulib-tool --version' output to work with git.
55799         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55800         (startup): ...here.
55801         (func_version): Use it to invoke git-version-gen, rather than
55802         relying on CVS keyword expansion.  Modernize wording.
55803         (cvsdatestamp, last_checkin_date, version): Kill unused
55804         variables.
55805
55806 2008-03-12  Jim Meyering  <meyering@redhat.com>
55807
55808         Recognize optional cast of the argument to free.
55809         * build-aux/useless-if-before-free: Update regexps.
55810
55811         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55812
55813 2008-03-11  Bruno Haible  <bruno@clisp.org>
55814
55815         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55816         by a single package.
55817         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55818         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55819         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55820         Reported by Sam Steingold <sds@gnu.org>.
55821
55822 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55823
55824         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55825         repositories.
55826
55827 2008-03-11  Bruno Haible  <bruno@clisp.org>
55828
55829         Avoid conflicts between local macro definitions.
55830         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55831         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55832
55833 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55834             Bruno Haible  <bruno@clisp.org>
55835
55836         Make va_copy work with some version of xlc on AIX 5.1.
55837         * lib/stdarg.in.h: New file.
55838         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55839         On AIX, use a <stdarg.h> file substitute.
55840         * modules/stdarg (Files): Add lib/stdarg.in.h.
55841         (Depends-on): Add include_next.
55842         (Makefile.am): Build a stdarg.h substitute if requested.
55843         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55844
55845 2008-03-10  Bruno Haible  <bruno@clisp.org>
55846
55847         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55848         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55849         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55850
55851 2008-03-10  Bruno Haible  <bruno@clisp.org>
55852
55853         * modules/stdlib (Depends-on): Add include_next, remove
55854         absolute-header.
55855
55856 2008-03-09  Bruno Haible  <bruno@clisp.org>
55857
55858         * lib/freadahead.h (freadahead): Document more precisely.
55859         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55860         the sum of both buffer sizes.
55861         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55862         * NEWS: Document the change.
55863
55864 2008-03-09  Bruno Haible  <bruno@clisp.org>
55865
55866         Extend freadptr to return also the buffer size.
55867         * lib/freadptr.h (freadptr): Add sizep argument.
55868         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55869         (freadptr): Add sizep argument. Determine buffer size like freadahead
55870         does.
55871         * tests/test-freadptr.c: Don't include freadahead.h.
55872         (main): Adapt for new calling convention of freadptr.
55873         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55874         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55875         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55876         tests/test-freadptr2.sh.
55877         (Depends): Remove freadahead.
55878         (TESTS): Add test-freadptr2.sh.
55879         (check_PROGRAMS): Add test-freadptr2.
55880
55881 2008-03-09  Bruno Haible  <bruno@clisp.org>
55882
55883         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55884         Report and solution by Simon Josefsson.
55885
55886 2008-03-06  Bruno Haible  <bruno@clisp.org>
55887
55888         Make fflush after ungetc work on BSD platforms.
55889         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55890         * tests/test-fflush2.c: New file.
55891         * tests/test-fflush2.sh: New file.
55892         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55893         tests/test-fflush2.c.
55894         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55895         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55896
55897 2008-03-06  Eric Blake  <ebb9@byu.net>
55898
55899         Likewise for ftello.
55900         * modules/ftello (Dependencies): Add extensions.
55901         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55902
55903 2008-03-06  Bruno Haible  <bruno@clisp.org>
55904
55905         * modules/fseeko (Dependencies): Add extensions.
55906         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55907         Needed on glibc systems.
55908
55909 2008-03-06  Bruno Haible  <bruno@clisp.org>
55910
55911         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55912         email address.
55913         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55914
55915 2008-03-06  Bruno Haible  <bruno@clisp.org>
55916
55917         * users.txt: Add libgnupdf.
55918
55919 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55920
55921         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55922         (Header File Substitutes, Function Substitutes,
55923         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55924         (Build robot for gnulib): Fix typo.
55925
55926 2008-03-06  Bruno Haible  <bruno@clisp.org>
55927
55928         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55929         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55930
55931 2008-03-06  Bruno Haible  <bruno@clisp.org>
55932
55933         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55934         * doc/gnulib.texi: Include it.
55935
55936 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55937
55938         * modules/func (License): Change license to unlimited; there was
55939         no LGPL parts in the module anyway.
55940
55941 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55942
55943         * modules/__func__: Renamed to modules/func.
55944         * modules/__func__-tests: Renamed to modules/func-tests.
55945         * tests/test-__func__.c: Renamed to tests/test-func.c.
55946         * m4/__func__.m4: Renamed to m4/func.m4.
55947         * doc/gnulib.texi (__func__): Section renamed to func.
55948         Suggested by Eric Blake <ebb9@byu.net>.
55949
55950 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55951
55952         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55953         about __func__.  Make example self-contained.  Suggested by Eric
55954         Blake <ebb9@byu.net>.
55955
55956         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55957         Suggested by Eric Blake <ebb9@byu.net>.
55958
55959 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55960
55961         * modules/__func__: New file.
55962         * modules/__func__-tests: New file.
55963         * tests/test-__func__.c: New file.
55964         * m4/__func__.m4: New file.
55965         * doc/gnulib.texi (__func__): Document __func__ module.
55966
55967 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55968
55969         * modules/byteswap (License): Re-license as LGPLv2+.
55970
55971 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55972
55973         * doc/Makefile: Add pdf target.
55974
55975 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55976
55977         * modules/inline (License): Use 'unlimited', since there are only
55978         *.m4 files in this module.
55979
55980 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55981             Bruno Haible  <bruno@clisp.org>
55982
55983         Add support for HP C 7.1 on OpenVMS 8.3.
55984         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55985
55986 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55987
55988         Update VMS specifics.
55989         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55990
55991 2008-03-02  Jim Meyering  <meyering@redhat.com>
55992
55993         Remove the last dependency on the "free" module.
55994         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55995         Reported by Bob Proulx.
55996
55997         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55998
55999         Remove useless "if" tests before free.  Deprecate "free" module.
56000         * doc/posix-functions/free.texi: Mention that this
56001         module is no longer useful.
56002         * modules/free (Notice): Say this module is obsolete.
56003         * modules/readutmp (Depends-on): Remove free.
56004         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56005         * lib/putenv.c (putenv): Likewise.
56006         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56007         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56008         * tests/test-c-strcasestr.c (main): Likewise.
56009         * tests/test-c-strstr.c (main): Likewise.
56010         * tests/test-mbscasestr1.c (main): Likewise.
56011         * tests/test-mbscasestr2.c (main): Likewise.
56012         * tests/test-mbsstr1.c (main): Likewise.
56013         * tests/test-mbsstr2.c (main): Likewise.
56014         * tests/test-memmem.c (main): Likewise.
56015         * tests/test-strcasestr.c (main): Likewise.
56016         * tests/test-striconv.c (main): Likewise.
56017         * tests/test-striconveh.c (main): Likewise.
56018         * tests/test-striconveha.c (main): Likewise.
56019         * tests/test-strstr.c (main): Likewise.
56020
56021         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56022
56023         bootstrap: sync from coreutils again
56024         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56025
56026 2008-03-01  Jim Meyering  <meyering@redhat.com>
56027
56028         bootstrap: sync from coreutils
56029         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56030         also when the target doesn't exist.
56031
56032 2008-03-01  Eric Blake  <ebb9@byu.net>
56033
56034         Fix bugs in last patch.
56035         * lib/memchr2.c (memchr2): Fix typo.
56036         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56037         extension.
56038         Reported by Bruce Korb.
56039
56040         New module 'memchr2'.
56041         * modules/memchr2: New file.
56042         * modules/memchr2-tests: Likewise.
56043         * lib/memchr2.h: Likewise.
56044         * lib/memchr2.c: Likewise, based on memchr.c.
56045         * tests/test-memchr2.c: New test.
56046         * MODULES.html.sh (String handling): Add memchr2.
56047
56048 2008-02-29  Bruno Haible  <bruno@clisp.org>
56049
56050         * modules/freadseek-tests: New file.
56051         * tests/test-freadseek.sh: New file.
56052         * tests/test-freadseek.c: New file.
56053
56054         New module 'freadseek'.
56055         * modules/freadseek: New file.
56056         * lib/freadseek.h: New file.
56057         * lib/freadseek.c: New file.
56058         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56059
56060 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56061
56062         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56063         wydawca.
56064
56065         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56066         program_invocation_name and program_invocation_short_name are
56067         present.
56068
56069 2008-02-28  Bruno Haible  <bruno@clisp.org>
56070
56071         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56072         * tests/test-freadptr.sh: Also test non-seekable stdin.
56073
56074 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56075
56076         * build-aux/bootstrap (source_base, m4_base)
56077         (doc_base, tests_base): New variables.
56078         (gnulib_tool_options): Do not hardcode base directories, use
56079         the above variables instead.
56080
56081 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56082
56083         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56084
56085 2008-02-28  Bruno Haible  <bruno@clisp.org>
56086
56087         * modules/freadptr-tests: New file.
56088         * tests/test-freadptr.sh: New file.
56089         * tests/test-freadptr.c: New file.
56090
56091         New module 'freadptr'.
56092         * modules/freadptr: New file.
56093         * lib/freadptr.h: New file.
56094         * lib/freadptr.c: New file.
56095         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56096
56097 2008-02-26  Karl Berry  <karl@freefriends.org>
56098
56099         Sync from Libtool:
56100         * libltdl/argz.c (argz_add, argz_count): New functions.
56101         * libltdl/argz.in.h: Declare them.
56102         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56103
56104 2008-02-22  Bruno Haible  <bruno@clisp.org>
56105
56106         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56107         is a pointer type.  Needed for HP-UX 10.
56108         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56109         * doc/posix-functions/gmtime_r.texi: Likewise.
56110         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56111
56112 2008-02-24  Bruno Haible  <bruno@clisp.org>
56113
56114         * modules/environ-tests: New file.
56115         * tests/test-environ.c: New file.
56116
56117         New module 'environ'.
56118         * modules/environ: New file.
56119         * lib/unistd.in.h (environ): New declaration.
56120         * m4/environ.m4: New file.
56121         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56122         after use.
56123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56124         HAVE_DECL_ENVIRON.
56125         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56126         HAVE_DECL_ENVIRON.
56127         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56128         wrong claim that 'environ' is missing on some systems.
56129         * modules/execute (Depends-on): Add environ.
56130         * lib/execute.c (environ): Remove fallback declaration.
56131         * modules/pipe (Depends-on): Add environ.
56132         * lib/pipe.c (environ): Remove fallback declaration.
56133         * modules/setenv (Depends-on): Add environ.
56134         * lib/setenv.c (environ): Remove fallback declaration.
56135         * modules/unsetenv (Depends-on): Add environ.
56136         * lib/unsetenv.c (environ): Remove fallback declaration.
56137         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56138         m4/environ.m4.
56139         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56140         (gl_PREREQ_UNSETENV): Likewise.
56141
56142 2008-02-24  Bruno Haible  <bruno@clisp.org>
56143
56144         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56145
56146 2008-02-20  Bob Proulx  <bob@proulx.com>
56147
56148         Enable use of older two part flavor 'git describe'.
56149         * build-aux/git-version-gen: If using the older two part flavor of
56150         git version then recreate the third part now present in the
56151         newer three part flavor of git describe.
56152
56153 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56154
56155         * lib/fts.c (fts_build): Typo correction to comment.
56156
56157 2008-02-17  Bruno Haible  <bruno@clisp.org>
56158
56159         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56160         generating no-op conflicts.
56161
56162 2008-02-17  Bruno Haible  <bruno@clisp.org>
56163
56164         Speed up by 10%.
56165         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56166         result_entries, rather than an index-based loop.
56167
56168 2008-02-17  Bruno Haible  <bruno@clisp.org>
56169
56170         Speed up by 25%.
56171         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56172         'hashcode_cached'.
56173         (entry_create): New function.
56174         (entry_hashcode): Use the cached hashcode if possible.
56175         (read_changelog_file, try_split_merged_entry): Use entry_create.
56176
56177 2008-02-17  Bruno Haible  <bruno@clisp.org>
56178
56179         Speed up from O(n^2) to O(n) for long ChangeLog files.
56180         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56181         (read_changelog_file): Change implementation of entries_reversed list
56182         to rbtreehash.
56183         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56184
56185 2008-02-17  Bruno Haible  <bruno@clisp.org>
56186
56187         New option --split-merged-entry.
56188         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56189         (find_paragraph_end, try_split_merged_entry): New functions.
56190         (long_options): Add option --split-merged-entry.
56191         (usage): Document option --split-merged-entry.
56192         (main): Implement option --split-merged-entry.
56193         Reported by Eric Blake.
56194
56195 2008-02-17  Bruno Haible  <bruno@clisp.org>
56196
56197         * lib/git-merge-changelog.c: Include c-strstr.h.
56198         (main): Support the "git pull --rebase" situation.
56199         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56200         Reported by Eric Blake.
56201
56202 2008-02-16  Eric Blake  <ebb9@byu.net>
56203
56204         Avoid doubling \ in common case of "c-maybe" quoting style.
56205         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56206         eliding outer quotes.
56207         * lib/quotearg.h: Document this.
56208         * tests/test-quotearg.c (result_strings, inputs, results_g)
56209         (flag_results, locale_results): Test it by adding a new string to
56210         each test group.
56211         (compare_strings): Test new string.
56212
56213 2008-02-13  Eric Blake  <ebb9@byu.net>
56214
56215         Avoid trigraph quoting in default output.
56216         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56217         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56218         unless explicitly requested.
56219         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56220
56221 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56222
56223         Don't rely on signed integer overflowing to negative value.
56224         * lib/getugroups.c (getugroups): Include <limits.h>.
56225         Instead, compare against INT_MAX, and increment only if the test passes.
56226
56227 2008-02-13  Jim Meyering  <meyering@redhat.com>
56228         and Eric Blake  <ebb9@byu.net>
56229
56230         Avoid shadowing warning and compile errors on Linux.
56231         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56232         forwarding macros on Linux.
56233         (dcgettext): Define a stub, for Linux.
56234         (results_g, main): Avoid warnings.
56235
56236 2008-02-12  Eric Blake  <ebb9@byu.net>
56237
56238         Silence warning in last patch.
56239         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56240
56241         Quotearg part 4: add tests, fix c-maybe colon quoting.
56242         * lib/quotearg.h: Improve documentation.
56243         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56244         escapes when adding outer quotes.  When quoting trigraphs, use
56245         valid C notation.  When quoting NUL, omit extra characters if next
56246         character is not digit.  Alter prototype.
56247         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56248         callers.
56249         * modules/quotearg-tests: New module.
56250         * tests/test-quotearg.c: New test.
56251
56252 2008-02-07  Eric Blake  <ebb9@byu.net>
56253
56254         Quotearg part 3: add flag to control outer quote elision.
56255         * lib/quotearg.h (c_maybe_quoting_style): New style.
56256         (enum quoting_flags): Better documentation of flags.
56257         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56258         c-maybe style.
56259         (quotearg_buffer_restyled): Handle new flag to elide outer
56260         quotes.
56261
56262         Quotearg part 2: add flag that can control NUL elision.
56263         * lib/quotearg.h (set_quoting_flags): New prototype.
56264         * lib/quotearg.c (struct quoting_options): Add flag field.
56265         (set_quoting_flags): New function.
56266         (quotearg_buffer_restyled): Add flags parameter.
56267         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56268         (quotearg_n_options): Set the flag, since length cannot be
56269         returned.
56270         (quoting_options_from_style): Default flags correctly.
56271
56272         Quotearg part 1: more wrappers, restore quotearg_char state.
56273         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56274         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56275         (quotearg_colon_mem): New wrappers.
56276         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56277         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56278         functions.
56279         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56280         (quotearg_colon_mem): New functions.
56281
56282 2008-02-11  Bruno Haible  <bruno@clisp.org>
56283
56284         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56285         library in the current directory: it does not work with parallel make.
56286         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56287
56288 2008-02-11  Bruno Haible  <bruno@clisp.org>
56289
56290         * .gitattributes: New file.
56291
56292 2008-02-11  Jim Meyering  <meyering@redhat.com>
56293
56294         useless-if-before-free: Fix reversed exit values.
56295         * build-aux/useless-if-before-free: Use correct values
56296         for EXIT_MATCH and EXIT_NO_MATCH.
56297
56298         * build-aux/useless-if-before-free: Close stdout carefully.
56299
56300 2008-02-10  Bruno Haible  <bruno@clisp.org>
56301
56302         New module 'git-merge-changelog'.
56303         * modules/git-merge-changelog: New file.
56304         * lib/git-merge-changelog.c: New file.
56305
56306 2008-02-10  Jim Meyering  <meyering@redhat.com>
56307
56308         useless-if-before-free: New option: --list (-l).
56309
56310         useless-if-before-free: Don't exit immediately upon open failure.
56311         * build-aux/useless-if-before-free: Exit 2 for errors.
56312         Upon failure to open a file, don't exit immediately.
56313         Rather, just warn and continue with any remaining files.
56314
56315 2008-02-10  Bruno Haible  <bruno@clisp.org>
56316
56317         New abstract list operation 'node_set_value'.
56318         * lib/gl_list.h (gl_list_node_set_value): New function.
56319         (struct gl_list_implementation): New field node_set_value.
56320         * lib/gl_list.c (gl_list_node_set_value): New function.
56321         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56322         (gl_array_list_implementation): Update.
56323         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56324         (gl_carray_list_implementation): Update.
56325         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56326         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56327         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56328         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56329         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56330         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56331         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56332         Update.
56333         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56334         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56335         (gl_sublist_list_implementation): Update.
56336
56337 2008-02-10  Bruno Haible  <bruno@clisp.org>
56338
56339         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56340         Needed when ELEMENT is #defined to 'some_type *'.
56341
56342 2008-02-10  Jim Meyering  <meyering@redhat.com>
56343
56344         New script and module: useless-if-before-free
56345         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56346         * build-aux/useless-if-before-free: New file.
56347         * modules/useless-if-before-free: New file.
56348
56349         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56350
56351         xstrtol_error: Fix typo.
56352         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56353         s/exit_failure/exit_status/.
56354
56355 2008-02-09  Jim Meyering  <meyering@redhat.com>
56356
56357         New script and module: gitlog-to-changelog
56358         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56359         * modules/gitlog-to-changelog: New file.
56360         * build-aux/gitlog-to-changelog: New file.
56361
56362 2008-02-08  Jim Meyering  <meyering@redhat.com>
56363
56364         Avoid two "parameter unused" warnings.
56365         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56366         Mark "st" as used.
56367
56368         Use "git COMMAND", not "git-COMMAND".
56369         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56370         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56371         * build-aux/git-version-gen: Use "git status", not "git-status".
56372
56373 2008-02-07  Bruno Haible  <bruno@clisp.org>
56374
56375         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56376         Avoids a crash on Windows Vista.
56377         Reported by Adam Strzelecki <ono@java.pl> via
56378         Simon Josefsson <simon@josefsson.org>.
56379
56380 2008-02-06  Bruno Haible  <bruno@clisp.org>
56381
56382         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56383         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56384         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56385         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56386         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56387         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56388         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56389         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56390         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56392         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56393         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56394         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56395         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56396         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56397         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56398         left-adjust flag.
56399         * tests/test-snprintf-posix.h (test_function): Likewise.
56400         * tests/test-sprintf-posix.h (test_function): Likewise.
56401         * tests/test-vasprintf-posix.c (test_function): Likewise.
56402         * doc/posix-functions/fprintf.texi: Update.
56403         * doc/posix-functions/printf.texi: Update.
56404         * doc/posix-functions/snprintf.texi: Update.
56405         * doc/posix-functions/sprintf.texi: Update.
56406         * doc/posix-functions/vfprintf.texi: Update.
56407         * doc/posix-functions/vprintf.texi: Update.
56408         * doc/posix-functions/vsnprintf.texi: Update.
56409         * doc/posix-functions/vsprintf.texi: Update.
56410         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56411
56412 2008-02-06  Bruno Haible  <bruno@clisp.org>
56413
56414         Fix bug introduced on 2008-01-26.
56415         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56416
56417 2008-02-06  Bruno Haible  <bruno@clisp.org>
56418
56419         Fix bug introduced on 2007-06-10.
56420         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56421         !NEED_PRINTF_FLAG_ZERO.
56422
56423 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56424
56425         getloadavg: use libperfstat on AIX5
56426         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56427
56428 2008-02-03  Bruno Haible  <bruno@clisp.org>
56429
56430         * lib/diffseq.h: Add comments about required #includes.
56431         Reported by Michael Biggs <gnulib@doubleplum.net>.
56432
56433 2008-02-01  Bruno Haible  <bruno@clisp.org>
56434
56435         * users.txt: Add gnuit.
56436
56437 2008-01-31  Bruno Haible  <bruno@clisp.org>
56438
56439         * lib/md4.c (set_uint32): Mark as inline.
56440         * lib/md5.c (set_uint32): Likewise.
56441         * lib/sha1.c (set_uint32): Likewise.
56442         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56443         * m4/md5.m4 (gl_MD5): Likewise.
56444         * m4/sha1.m4 (gl_SHA1): Likewise.
56445
56446 2008-01-31  Jim Meyering  <meyering@redhat.com>
56447
56448         Use "sizeof VAR", rather than a literal "4".
56449         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56450         * lib/md4.c (md4_read_ctx): Likewise.
56451         * lib/sha1.c (sha1_read_ctx): Likewise.
56452
56453 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56454
56455         * tests/test-sha1.c: New file, based on test-md5.c.
56456
56457         * modules/crypto/sha1-tests: New file.
56458
56459 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56460
56461         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56462
56463 2008-01-31  Jim Meyering  <meyering@redhat.com>
56464
56465         Prefer "sizeof v" over the equivalent "4".
56466         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56467         * lib/md5.c (set_uint32): Likewise.
56468         * lib/sha1.c (set_uint32): Likewise.
56469
56470 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56471
56472         * lib/sha1.c (set_uint32): Mark function as static.
56473
56474 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56475
56476         md2: clarify comments to say that alignment is not required.
56477         * lib/md2.h: Remove warning about alignment in comment.
56478         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56479         never been required.
56480
56481 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56482
56483         md4: adapt alignment constraint fix from sha1.
56484         * lib/md4.c (set_uint32): New function, from sha1.c
56485         (md4_read_ctx): Use it.
56486         (md4_finish_ctx): Doc fix.
56487         * lib/md4.h: Doc fix.
56488
56489 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56490
56491         md5: adapt alignment constraint fix from sha1.
56492         * lib/md5.c (set_uint32): New function, from sha1.c
56493         (md5_read_ctx): Use it.
56494         (md5_finish_ctx): Doc fix.
56495         * lib/md5.h: Doc fix.
56496
56497 2008-01-30  Peter Palfrader  <weasel@debian.org>
56498
56499         sha1: remove the result buffer alignment constraint
56500         * lib/sha1.c (set_uint32): New function.
56501         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56502         constraint.
56503         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56504         * lib/sha1.h: Likewise.
56505
56506 2008-01-30  Andreas Schwab  <schwab@suse.de>
56507             Bruno Haible  <bruno@clisp.org>
56508
56509         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56510         correct definition of LDBL_MIN_EXP.
56511
56512 2008-01-30  Karl Berry  <karl@gnu.org>
56513
56514         * config/srclist-update: try to preserve x bit on updates.
56515         * config/srclistvars.sh: update for karl.
56516
56517 2008-01-29  Jim Meyering  <meyering@redhat.com>
56518
56519         vasnprintf.c: Avoid warning about unused label
56520         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56521         "overflow" label definition and associated code with the
56522         same cpp condition that guards the sole use of that label.
56523
56524 2008-01-26  Bruno Haible  <bruno@clisp.org>
56525
56526         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56527         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56528         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56529         * lib/isnanl-nolibm.h (isnanl): Likewise.
56530         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56531
56532 2008-01-26  Bruno Haible  <bruno@clisp.org>
56533
56534         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56535         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56536
56537 2008-01-26  Bruno Haible  <bruno@clisp.org>
56538
56539         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56540         GCC >= 4.0 built-in.
56541         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56542
56543 2008-01-26  Bruno Haible  <bruno@clisp.org>
56544
56545         Rename isnan, applicable to 'double' only, to isnand.
56546         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56547         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56548         (configure.ac): Update.
56549         (Include): Replace "isnan.h" with "isnand.h".
56550         * m4/isnand.m4: Renamed from m4/isnan.m4.
56551         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56552         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56553         instead of isnan.c.
56554         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56555         instead of HAVE_ISNAN_IN_LIBC.
56556         (isnand): Renamed from isnan.
56557         * lib/isnand.c: New file.
56558         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56559         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56560         (Makefile.am): Update.
56561         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56562         Include isnand.h instead of isnan.h.
56563         (main): Test isnand instead of isnan.
56564         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56565         isnan-nolibm.
56566         * modules/frexp (Depends-on): Likewise.
56567         * modules/frexp-tests (Depends-on): Likewise.
56568         * modules/frexp-nolibm (Depends-on): Likewise.
56569         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56570         * modules/isfinite (Depends-on): Likewise.
56571         * modules/round-tests (Depends-on): Likewise.
56572         * modules/signbit (Depends-on): Likewise.
56573         * modules/signbit-tests (Depends-on): Likewise.
56574         * modules/snprintf-posix (Depends-on): Likewise.
56575         * modules/sprintf-posix (Depends-on): Likewise.
56576         * modules/trunc-tests (Depends-on): Likewise.
56577         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56578         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56579         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56580         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56581         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56582         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56583         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56584         * modules/vasnprintf-posix (Depends-on): Likewise.
56585         * modules/vasprintf-posix (Depends-on): Likewise.
56586         * modules/vfprintf-posix (Depends-on): Likewise.
56587         * modules/vsnprintf-posix (Depends-on): Likewise.
56588         * modules/vsprintf-posix (Depends-on): Likewise.
56589         * lib/frexp.c: Include isnand.h instead of isnan.h.
56590         (ISNAN): Set to isnand instead of isnan.
56591         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56592         (gl_isfinited): Use isnand instead of isnan.
56593         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56594         (gl_signbitd): Use isnand instead of isnan.
56595         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56596         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56597         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56598         (main): Use isnand instead of isnan.
56599         * tests/test-round1.c: Include isnand.h.
56600         (main): Use isnand instead of isnan.
56601         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56602         (ISNAN): Set to isnand instead of isnan.
56603         * tests/test-trunc1.c: Include isnand.h.
56604         (main): Use isnand instead of isnan.
56605         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56606         (equal): Use isnand instead of isnan.
56607         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56608         isnand-nolibm.
56609         * NEWS: Mention the change.
56610
56611 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56612             Bruno Haible  <bruno@clisp.org>
56613
56614         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56615         the GCC builtins for signbits are present and set
56616         REPLACE_SIGNBIT_USING_GCC if so.
56617         * lib/math.in.h (signbit): Define using GCC builtins if
56618         REPLACE_SIGNBIT_USING_GCC is set.
56619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56620         REPLACE_SIGNBIT_USING_GCC.
56621         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56622
56623 2008-01-25  Jim Meyering  <meyering@redhat.com>
56624
56625         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56626         * lib/poll.c: Include <config.h>, not "config.h".
56627         * tests/test-getaddrinfo.c: Likewise.
56628
56629 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56630
56631         * modules/sockets-tests: New file.
56632
56633 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56634
56635         * modules/sockets: New module, can be used to call WSA_Startup and
56636         WSA_Cleanup when needed.
56637
56638         * lib/sockets.h, lib/sockets.c: New files.
56639
56640         * m4/sockets.m4: New file.
56641
56642         * tests/test-sockets.c: New file.
56643
56644 2008-01-19  Bruno Haible  <bruno@clisp.org>
56645
56646         * doc/posix-headers: Renamed from doc/headers.
56647         * doc/posix-functions: Renamed from doc/functions.
56648         * doc/gnulib.texi: Update.
56649
56650 2008-01-19  Bruno Haible  <bruno@clisp.org>
56651
56652         * doc/glibc-functions/strcasestr.texi: Include contents of
56653         doc/functions/strcasestr.texi, fixing the list of platforms.
56654         * doc/functions/strcasestr.texi: Remove file.
56655
56656 2008-01-19  Bruno Haible  <bruno@clisp.org>
56657
56658         * doc/glibc-functions/memmem.texi: Include contents of
56659         doc/functions/memmem.texi.
56660         * doc/functions/memmem.texi: Remove file.
56661
56662 2008-01-18  Bruno Haible  <bruno@clisp.org>
56663
56664         * doc/glibc-functions/*.texi: New files.
56665         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56666         to use the new files.
56667
56668 2008-01-17  Bruno Haible  <bruno@clisp.org>
56669
56670         * tests/test-gethostname.c (main): Fix printf statement.
56671
56672 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56673
56674         * modules/gethostname-tests: New file.
56675
56676         * tests/test-gethostname.c: New file.
56677
56678 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56679
56680         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56681         used by the UNAME case.  Reported by Bruno Haible
56682         <bruno@clisp.org>.
56683
56684 2008-01-17  Eric Blake  <ebb9@byu.net>
56685
56686         Convert c-strcasestr to be more efficient.
56687         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56688         (Depends-on): Add c-strcase, remove malloca, strnlen.
56689         * tests/test-c-strcasestr.c (main): Enhance test.
56690         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56691
56692 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56693
56694         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56695         Use it in creating po/Makevars.
56696
56697 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56698
56699         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56700         Applications that requires it should initialize libgcrypt
56701         manually.
56702
56703 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56704
56705         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56706
56707 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56708
56709         Fix problem with getdate on mingw32 reported by Simon Josefsson
56710         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56711         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56712         tzname", when deciding whether to declare tzname.
56713         * lib/strftime.c (tzname): Likewise.
56714
56715 2008-01-15  Bruno Haible  <bruno@clisp.org>
56716
56717         Work around a MacOS X 10.5 bug in frexpl().
56718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56719         * doc/functions/frexpl.texi: Document the bug.
56720         Reported by Elias Pipping <pipping@gentoo.org>.
56721
56722 2008-01-14  Eric Blake  <ebb9@byu.net>
56723
56724         Touch up previous patch.
56725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56726         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56727
56728         Convert strcasestr module to use Two-Way algorithm.
56729         * modules/strcasestr-simple: New module, based on the old
56730         strcasestr, but with Two-Way rather than KMP.
56731         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56732         * lib/string.in.h (rpl_strcasestr): Declare.
56733         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56734         performance.
56735         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56736         * modules/string (Makefile.am): Support strcasestr.
56737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56738         * modules/strcasestr-tests (Depends-on): Check for alarm.
56739         * tests/test-strcasestr.c: Augment test.
56740         * lib/str-two-way.h: Clean up stray macro.
56741         * NEWS: Document new module.
56742         * MODULES.html.sh (string handling): Likewise.
56743         * doc/functions/strcasestr.texi: New file.
56744         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56745         here, since it is not a POSIX function.
56746
56747 2008-01-14  Colin Watson  <cjwatson@debian.org>
56748             Bruno Haible  <bruno@clisp.org>
56749
56750         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56751         works fine; if not, set REPLACE_STRSIGNAL.
56752         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56754         REPLACE_STRSIGNAL.
56755         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56756         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56757         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56758
56759 2008-01-14  Bruno Haible  <bruno@clisp.org>
56760
56761         * modules/strsignal (Include): Change to <string.h>.
56762
56763 2008-01-14  Colin Watson  <cjwatson@debian.org>
56764
56765         * modules/argp (Notice): Add a notice recommending to change
56766         XGETTEXT_OPTIONS.
56767         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56768
56769 2008-01-13  Colin Watson  <cjwatson@debian.org>
56770
56771         * modules/strsignal-tests: New file.
56772         * tests/test-strsignal.c: New file.
56773
56774         * lib/strsignal.c: New file, from glibc with modifications.
56775         * lib/siglist.h: New file, from glibc with modifications.
56776         * lib/string.in.h (strsignal): New declaration.
56777         * m4/strsignal.m4: New file.
56778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56779         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56780         * modules/strsignal: New file.
56781         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56782         HAVE_DECL_STRSIGNAL.
56783
56784 2008-01-13  Bruno Haible  <bruno@clisp.org>
56785
56786         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56787         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56788         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56789         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56790
56791 2008-01-13  Bruno Haible  <bruno@clisp.org>
56792
56793         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56794         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56795         * lib/argp.h (__attribute__): Likewise.
56796         * lib/c-stack.c (__attribute__): Likewise.
56797         * lib/error.h (__attribute__): Likewise.
56798         * lib/fts.c (__attribute__): Likewise.
56799         * lib/openat.h (__attribute__): Likewise.
56800         * lib/stdio.in.h (__attribute__): Likewise.
56801         * lib/string.in.h (__attribute__): Likewise.
56802         * lib/utimens.c (__attribute__): Likewise.
56803         * lib/vasnprintf.h (__attribute__): Likewise.
56804         * lib/xalloc.h (__attribute__): Likewise.
56805         * lib/xprintf.h (__attribute__): Likewise.
56806         * lib/xstrtol.h (__attribute__): Likewise.
56807         * lib/xvasprintf.h (__attribute__): Likewise.
56808
56809 2008-01-12  Bruno Haible  <bruno@clisp.org>
56810
56811         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56812         * doc/glibc-headers/a.out.texi: New file.
56813         * doc/glibc-headers/aliases.texi: New file.
56814         * doc/glibc-headers/alloca.texi: New file.
56815         * doc/glibc-headers/ar.texi: New file.
56816         * doc/glibc-headers/argp.texi: New file.
56817         * doc/glibc-headers/argz.texi: New file.
56818         * doc/glibc-headers/byteswap.texi: New file.
56819         * doc/glibc-headers/crypt.texi: New file.
56820         * doc/glibc-headers/endian.texi: New file.
56821         * doc/glibc-headers/envz.texi: New file.
56822         * doc/glibc-headers/err.texi: New file.
56823         * doc/glibc-headers/error.texi: New file.
56824         * doc/glibc-headers/execinfo.texi: New file.
56825         * doc/glibc-headers/fpu_control.texi: New file.
56826         * doc/glibc-headers/fstab.texi: New file.
56827         * doc/glibc-headers/fts.texi: New file.
56828         * doc/glibc-headers/getopt.texi: New file.
56829         * doc/glibc-headers/ieee754.texi: New file.
56830         * doc/glibc-headers/ifaddrs.texi: New file.
56831         * doc/glibc-headers/libintl.texi: New file.
56832         * doc/glibc-headers/mcheck.texi: New file.
56833         * doc/glibc-headers/mntent.texi: New file.
56834         * doc/glibc-headers/obstack.texi: New file.
56835         * doc/glibc-headers/paths.texi: New file.
56836         * doc/glibc-headers/printf.texi: New file.
56837         * doc/glibc-headers/pty.texi: New file.
56838         * doc/glibc-headers/resolv.texi: New file.
56839         * doc/glibc-headers/shadow.texi: New file.
56840         * doc/glibc-headers/sysexits.texi: New file.
56841         * doc/glibc-headers/ttyent.texi: New file.
56842
56843 2008-01-12  Jim Meyering  <meyering@redhat.com>
56844
56845         announce-gen: emit Gnulib's git-based version string.
56846         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56847         New option --gnulib-version=V, where V is expected to be
56848         the output of running git describe in the gnulib directory.
56849         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56850         not useful, and plan to stop publishing an xdelta file with each
56851         coreutils release.
56852
56853         * build-aux/announce-gen: Also check for lzma-compressed files.
56854
56855 2008-01-11  Bruno Haible  <bruno@clisp.org>
56856
56857         * tests/test-memmem.c (main): Increase maximum allowed time.
56858         * tests/test-strstr.c (main): Likewise.
56859
56860 2008-01-11  Bruno Haible  <bruno@clisp.org>
56861
56862         * doc/functions/memmem.texi: Add more precisions about platforms.
56863         * doc/functions/strstr.texi: Likewise.
56864
56865 2008-01-10  Eric Blake  <ebb9@byu.net>
56866
56867         * m4/strstr.m4: Delete cruft from copy-n-paste.
56868         Reported by Bruno Haible.
56869
56870 2008-01-10  Bruno Haible  <bruno@clisp.org>
56871
56872         Make c-strstr rely on strstr.
56873         * lib/c-strstr.c: Don't include str-kmp.h.
56874         (c_strstr): Define in terms of strstr.
56875         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56876         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56877
56878 2008-01-10  Bruno Haible  <bruno@clisp.org>
56879
56880         * doc/gnulib.texi (String Functions in C Locale): New section.
56881         * doc/c-ctype.texi: New file.
56882         * doc/c-strcase.texi: New file.
56883         * doc/c-strcaseeq.texi: New file.
56884         * doc/c-strcasestr.texi: New file.
56885         * doc/c-strstr.texi: New file.
56886         * doc/c-strtod.texi: New file.
56887         * doc/c-strtold.texi: New file.
56888
56889 2008-01-10  Eric Blake  <ebb9@byu.net>
56890
56891         * lib/relocatable.h: Fix a comment.
56892
56893 2008-01-10  Eric Blake  <ebb9@byu.net>
56894
56895         Share two-way algorithm.
56896         * lib/str-two-way.h: New file, merged from...
56897         * lib/memmem.c: ...here...
56898         * lib/strstr.c: ...and here.
56899         * modules/memmem (Files): Use it.
56900         * modules/strstr (Files): Likewise.
56901
56902         Avoid quadratic strstr implementations.
56903         * lib/strstr.c: New file.
56904         * m4/strstr.m4: Likewise.
56905         * modules/strstr: Likewise.
56906         * modules/strstr-tests: Likewise.
56907         * tests/test-strstr.c: Likewise.
56908         * lib/string.in.h (rpl_strstr): Declare.
56909         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56910         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56911         * modules/string (Makefile.am): Likewise.
56912         * MODULES.html.sh (string handling): Mention new module.
56913         * doc/functions/strstr.texi (strstr): Document the bug.
56914
56915 2008-01-10  Bruno Haible  <bruno@clisp.org>
56916
56917         * lib/relocatable.h (relocate): State whether result is freshly
56918         allocated or not.
56919         * lib/relocatable.c (relocate): Return a freshly allocated string
56920         instead of a pointer to a privately held string.
56921         Reported by Sylvain Beucler <beuc@gnu.org>.
56922
56923 2008-01-10  Colin Watson  <cjwatson@debian.org>
56924
56925         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56926         s/S_ISNLK/S_ISLNK/.
56927
56928 2008-01-09  Bruno Haible  <bruno@clisp.org>
56929
56930         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56931         and other files.
56932         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56933         if it's only a guess.
56934         * modules/memmem: Simplify by depending on memmem-simple.
56935
56936 2008-01-09  Bruno Haible  <bruno@clisp.org>
56937
56938         Work around OpenBSD 4.0 tdelete() bug.
56939         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56940         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56941         macros and don't redefine the enum values.
56942         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56943         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56944         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56945
56946 2008-01-09  Bruno Haible  <bruno@clisp.org>
56947
56948         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56949         (main): Don't perform the tests if setlocale did not install a UTF-8
56950         locale. Needed on OpenBSD 4.0.
56951         * modules/wcwidth-tests (Depends-on): Add localcharset.
56952
56953 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56954
56955         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56956         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56957         * NEWS: announce this.
56958         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56959
56960 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56961         and Eric Blake  <ebb9@byu.net>
56962
56963         Add memmem-simple module.
56964         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56965         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56966         * modules/memmem-simple: New file.
56967         * modules/memmem (Description): Tweak.
56968         * MODULES.html.sh (string handling): Mention new module.
56969         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56970         addressed by memmem-simple.
56971         * NEWS: Document the difference.
56972
56973 2008-01-09  Eric Blake  <ebb9@byu.net>
56974
56975         Give gcc some memmem optimization hints.
56976         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56977         (strcasestr): Declare as pure.
56978         * modules/memmem (Maintainer): Claim my implementation.
56979
56980 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56981
56982         Support AIX 6.1 and higher.
56983         * build-aux/config.libpath: Likewise.
56984         * build-aux/config.rpath: Likewise.
56985
56986 2008-01-08  Jim Meyering  <meyering@redhat.com>
56987             Bruno Haible  <bruno@clisp.org>
56988
56989         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56990         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56991         Reported by Peter Fales in
56992         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56993
56994 2008-01-08  Bruno Haible  <bruno@clisp.org>
56995
56996         * modules/unictype/category-of (Depends-on): Add
56997         unictype/category-none.
56998         * modules/unictype/category-and-tests (Depends-on): Add
56999         unictype/category-{L,N,Lu,Nd}.
57000         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57001         * modules/unictype/category-or-tests (Depends-on): Add
57002         unictype/category-{L,N}.
57003         * modules/unictype/category-name-tests (Depends-on): Add
57004         unictype/category-{Z,Nl}.
57005         Reported by Simon Josefsson.
57006
57007 2008-01-08  Bruno Haible  <bruno@clisp.org>
57008
57009         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57010         convention better.
57011         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57012         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57013         Reported by Peter Miller <millerp@canb.auug.org.au>.
57014
57015 2008-01-08  Eric Blake  <ebb9@byu.net>
57016
57017         Rewrite memmem to guarantee linear complexity without malloc.
57018         * lib/memmem.c (memmem): Use Two-Way rather than
57019         Knuth-Morris-Pratt, to allow O(1) space usage.
57020         (critical_factorization, two_way_short_needle)
57021         (two_way_long_needle): New functions.
57022         (knuth_morris_pratt): Delete.
57023         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57024         Add stdint.
57025         * tests/test-memmem.c (main): Add tests for periodic needle and
57026         sublinear performance.
57027         * doc/functions/memmem.texi (memmem): Document other deficiencies
57028         in cygwin and older glibc.
57029
57030 2008-01-08  Bruno Haible  <bruno@clisp.org>
57031
57032         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57033         augmentation.
57034
57035 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57036
57037         Add a configure time option: --disable-acl.
57038         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57039         AC_ARG_ENABLE(acl).
57040
57041 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57042
57043         * tests/test-localename.c: Don't include obsolete "setenv.h".
57044
57045         * modules/localename-tests (Depends-on): Need unsetenv.
57046
57047 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57048
57049         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57050
57051 2008-01-06  Colin Watson  <cjwatson@debian.org>
57052
57053         * users.txt: Add man-db.
57054
57055 2008-01-07  Bruno Haible  <bruno@clisp.org>
57056
57057         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57058         previous section name.
57059
57060 2008-01-07  Bruno Haible  <bruno@clisp.org>
57061
57062         * lib/progname.c (set_program_name): Don't strip off a leading
57063         "lt-" prefix outside a .libs directory.
57064         Suggested by Paul Eggert.
57065
57066 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57067             Bruno Haible  <bruno@clisp.org>
57068
57069         Improve memory cleanup in 'relocatable' module.
57070         * lib/relocatable.h (compute_curr_prefix): Change return type to
57071         'char *'.
57072         * lib/relocatable.c (compute_curr_prefix): Change return type to
57073         'char *'. Free curr_installdir after use.
57074         (relocate): Free curr_prefix_better after use.
57075         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57076
57077 2008-01-01  Bruno Haible  <bruno@clisp.org>
57078
57079         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57080         failure on older glibc systems.
57081         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57082
57083 2008-01-05  Eric Blake  <ebb9@byu.net>
57084
57085         Avoid quadratic system memmem.
57086         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57087         Reported by Ralf Wildenhues.
57088
57089         Fix memmem test for mingw.
57090         * modules/memmem-tests (configure.ac): Check for alarm.
57091         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57092         it.
57093         * doc/functions/memmem.texi: New file.
57094         * doc/gnulib.texi (Function Substitutes): Add memmem.
57095         Reported by Bruno Haible.
57096
57097 2008-01-04  Bruno Haible  <bruno@clisp.org>
57098
57099         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57100         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57101         gl_HEADER_STRING_H_DEFAULTS.
57102
57103 2008-01-04  Eric Blake  <ebb9@byu.net>
57104
57105         Shorten duration of memmem test.
57106         * tests/test-memmem.c (main): Use alarm to declare failure if test
57107         is taking too long.
57108         Reported by Ralf Wildenhues.
57109
57110 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57111
57112         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57113         string, needed by strerror.
57114
57115 2008-01-03  Colin Watson  <cjwatson@debian.org>
57116             Bruno Haible  <bruno@clisp.org>
57117
57118         * doc/gnulib-tool.texi (Localization): New section.
57119
57120 2008-01-02  Bruno Haible  <bruno@clisp.org>
57121
57122         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57123         variables to 'unsigned char *' type.
57124         Reported by Paul Eggert.
57125
57126 2008-01-02  Jim Meyering  <jim@meyering.net>
57127
57128         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57129
57130 2007-12-31  Jim Meyering  <jim@meyering.net>
57131
57132         Avoid use of private FTS type name.
57133         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57134
57135 2007-12-30  Karl Berry  <karl@gnu.org>
57136
57137         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57138         work around defect in Texinfo and/or the standalone Info browser.
57139
57140 2007-12-30  Bruno Haible  <bruno@clisp.org>
57141
57142         Unify 5 copies of the KMP code.
57143         * lib/str-kmp.h: New file.
57144         * lib/c-strcasestr.c: Include str-kmp.h.
57145         (knuth_morris_pratt): Remove function.
57146         (c_strcasestr): Update.
57147         * lib/c-strstr.c: Include str-kmp.h.
57148         (knuth_morris_pratt): Remove function.
57149         (c_strcasestr): Update.
57150         * lib/mbscasestr.c: Include str-kmp.h.
57151         (knuth_morris_pratt_unibyte): Remove function.
57152         * lib/mbsstr.c: Include str-kmp.h.
57153         (knuth_morris_pratt_unibyte): Remove function.
57154         * lib/strcasestr.c: Include str-kmp.h.
57155         (knuth_morris_pratt): Remove function.
57156         (strcasestr): Update.
57157         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57158         * modules/c-strstr (Files): Likewise.
57159         * modules/mbscasestr (Files): Likewise.
57160         * modules/mbsstr (Files): Likewise.
57161         * modules/strcasestr (Files): Likewise.
57162         Suggested by Paul Eggert.
57163
57164 2007-12-30  Bruno Haible  <bruno@clisp.org>
57165
57166         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57167         defined.
57168
57169 2007-12-30  Bruno Haible  <bruno@clisp.org>
57170
57171         * lib/xmalloca.h: Include xalloc.h.
57172         (xnmalloca): New macro.
57173
57174 2007-12-30  Bruno Haible  <bruno@clisp.org>
57175
57176         * lib/malloca.h (nmalloca): New macro.
57177         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57178         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57179         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57180         knuth_morris_pratt_multibyte): Likewise.
57181         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57182         knuth_morris_pratt_multibyte): Likewise.
57183         * lib/memmem.c (knuth_morris_pratt): Likewise.
57184         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57185
57186 2007-12-25  Bruno Haible  <bruno@clisp.org>
57187
57188         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57189         * lib/glob.c: Don't include openat.h.
57190         (link_exists2_p): Add back the code that deals with the
57191         !GLOB_ALTDIRFUNC case.
57192         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57193         let it do the filename concatenation.
57194         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57195         * modules/glob (Depends-on): Remove openat.
57196
57197 2007-12-31  Bruno Haible  <bruno@clisp.org>
57198
57199         * modules/dirfd (License): Change to LGPLv2+.
57200         Approved by Jim Meyering.
57201
57202 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57203
57204         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57205         when multiplying M by sizeof (size_t).
57206
57207 2007-12-10  Martin Lambers  <marlam@marlam.de>
57208
57209         Override getpagesize on mingw.
57210         * lib/getpagesize.c: New file.
57211         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57212         * modules/getpagesize (Files): Add lib/getpagesize.c.
57213         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57215         REPLACE_GETPAGESIZE.
57216         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57217
57218 2007-12-25  Bruno Haible  <bruno@clisp.org>
57219
57220         * modules/localcharset (Notice): New field.
57221         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57222         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57223
57224 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57225             Bruno Haible  <bruno@clisp.org>
57226
57227         Avoid using the syntax symbol() in formatted documentation.
57228         * MODULES.html.sh (func_module): When replacing symbol() with a
57229         hyperlink, remove the parentheses. Show an error if some remain.
57230         Recognize and render the '...' syntax.
57231         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57232         Rework. Add paragraph about GCC's inlining.
57233         * doc/alloca.texi: Likewise.
57234         * doc/error.texi: Remove parentheses from symbol reference.
57235         * doc/gnulib-intro.texi: Likewise.
57236         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57237         * modules/fnmatch (Description): Reword to say "the ... function".
57238         * modules/full-read (Description): Likewise.
57239         * modules/full-write (Description): Likewise.
57240         * modules/safe-read (Description): Likewise.
57241         * modules/safe-write (Description): Likewise.
57242         * modules/strchrnul (Description): Likewise.
57243         * modules/trim (Description): Likewise.
57244         * modules/error (Description): Remove parentheses from symbol
57245         references.
57246         * modules/verror (Description): Likewise.
57247         Reported by Karl Berry.
57248
57249 2007-12-25  Bruno Haible  <bruno@clisp.org>
57250
57251         Fixup after 2007-10-16 commit.
57252         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57253
57254 2007-12-24  Bruno Haible  <bruno@clisp.org>
57255
57256         Make --enable-relocatable work with DESTDIR.
57257         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57258         to compute installdir from destprog.
57259         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57260         also set the RELOC_DESTDIR variable.
57261         Reported by Левашев Иван <octagram@bluebottle.com>.
57262
57263 2007-12-24  Bruno Haible  <bruno@clisp.org>
57264
57265         Fix link error due to xalloc_die().
57266         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57267         of xreadlink.
57268         * lib/relocwrapper.c: Update comments.
57269         * build-aux/install-reloc: Remove xreadlink.c from file list.
57270         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57271         xreadlink.c.
57272         Reported by Левашев Иван <octagram@bluebottle.com>.
57273
57274 2007-12-24  Bruno Haible  <bruno@clisp.org>
57275
57276         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57277         * lib/setenv.h: Remove file.
57278         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57279         lib/setenv.h.
57280         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57281         (Depends-on): Add stdlib.
57282         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57283         gl_FUNC_UNSETENV.
57284         (Include): Replace setenv.h with <stdlib.h>.
57285         * modules/unsetenv: New file.
57286         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57287         * lib/unsetenv.c: Include <stdlib.h> first.
57288         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57289         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57290         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57291         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57292         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57293         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57294         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57295         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57296         * doc/functions/unsetenv.texi: Update.
57297         * modules/xsetenv (Depends-on): Add unsetenv.
57298         * modules/getdate (Depends-on): Likewise.
57299         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57300         * lib/xsetenv.c: Don't include setenv.h.
57301         * lib/getdate.y: Likewise.
57302         * lib/relocwrapper.c: Likewise.
57303         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57304         (Depends-on): Add stdlib.
57305         * NEWS: Mention the changes.
57306         Reported by Левашев Иван <octagram@bluebottle.com>.
57307
57308 2007-12-23  Bruno Haible  <bruno@clisp.org>
57309
57310         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57311         indentation.
57312
57313 2007-12-23  Bruno Haible  <bruno@clisp.org>
57314
57315         * lib/c-strcasestr.c: Add more comments.
57316         * lib/c-strstr.c: Likewise.
57317         * lib/mbscasestr.c: Likewise.
57318         * lib/mbsstr.c: Likewise.
57319         * lib/strcasestr.c: Likewise.
57320         * lib/memmem.c: Likewise.
57321
57322 2007-12-23  Bruno Haible  <bruno@clisp.org>
57323
57324         * tests/test-memmem.c: Include <string.h> first.
57325
57326 2007-12-22  Bruno Haible  <bruno@clisp.org>
57327
57328         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57329         the contents of $testsbase.
57330         Reported by Ralf Wildenhues.
57331
57332 2007-12-22  Bruno Haible  <bruno@clisp.org>
57333
57334         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57335         two variables local_ldadd_before, local_ldadd_last.
57336
57337 2007-12-20  Eric Blake  <ebb9@byu.net>
57338
57339         Work around circular library issue when cross-compiling.
57340         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57341         that progname.o does not need to pull in rpl_memcmp.
57342
57343 2007-12-19  Eric Blake  <ebb9@byu.net>
57344
57345         Fix memmem to avoid O(n^2) worst-case complexity.
57346         * lib/memmem.c (knuth_morris_pratt): New function.
57347         (memmem): Use it if first few naive iterations fail.
57348         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57349         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57350         * modules/memchr (License): Likewise.
57351         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57352         malloca.
57353         * tests/test-memmem.c: Rewrite, borrowing ideas from
57354         test-mbsstr1.c; the old version wouldn't even compile!
57355         * modules/memmem-tests: New file.
57356         * lib/string.in.h (rpl_memmem): Add declaration.
57357         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57359         REPLACE_MEMMEM.
57360
57361 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57362
57363         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57364         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57365         before any system include files, and undef after them all.  This
57366         should fix a problem on VMS reported by John E. Malmberg in
57367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57368
57369 2007-12-17  Eric Blake  <ebb9@byu.net>
57370
57371         Revert addition of verify, for BSD/OS.
57372         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57373         can't handle large files, for the sake of obsolete platforms.
57374         * modules/fseeko (Depends-on): Remove verify.
57375         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57376         * doc/functions/ftello.texi (ftello): Likewise.
57377         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57378         Reported by Larry Jones.
57379
57380 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57381
57382         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57383         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57384
57385 2007-12-17  Jim Meyering  <meyering@redhat.com>
57386
57387         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57388         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57389         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57390         * modules/getcwd (Depends-on): Add openat.
57391         Reported by Petr Salinger.
57392
57393 2007-12-17  Bruno Haible  <bruno@clisp.org>
57394
57395         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57396         avoid a segmentation fault of the configure test on x86_64 systems.
57397
57398 2007-12-15  Jim Meyering  <meyering@redhat.com>
57399
57400         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57401
57402 2007-12-13  Eric Blake  <ebb9@byu.net>
57403
57404         Another fseek test.
57405         * tests/test-fseek.c (main): Also test ungetc handling.
57406         * tests/test-fseeko.c (main): Likewise.
57407         * modules/fseeko (Depends-on): Add verify.
57408         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57409         large.
57410         Reported by Larry Jones.
57411
57412         Fix fseeko on mingw.
57413         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57414         seek.
57415
57416         Beef up fseek tests.
57417         * tests/test-fseek.c (main): Also test eof handling.
57418         * tests/test-fseeko.c (main): Likewise.
57419         Reported by Larry Jones.
57420
57421 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57422
57423         Fix fseeko on BSD-based platforms.
57424         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57425         successful seek.
57426
57427 2007-12-12  Eric Blake  <ebb9@byu.net>
57428
57429         Allow circular dependency of separate libtests.a
57430         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57431         when use_libtests.
57432
57433 2007-12-11  Eric Blake  <ebb9@byu.net>
57434
57435         Fix bug with -0.0L in previous patch.
57436         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57437         * tests/test-isnan.c (main): Also test on zeroes.
57438         * tests/test-isnanf.c (main): Likewise.
57439         * tests/test-isnanl.h (main): Likewise.
57440
57441         Detect pseudo-denormals on x86 even when cross-compiling.
57442         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57443         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57444         invalid bit patterns that happen to satisfy ==.
57445
57446         Avoid link failures with separate libtests.a.
57447         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57448         last, to satisfy circular dependencies.
57449
57450 2007-12-11  Eric Blake  <ebb9@byu.net>
57451         and Bruno Haible  <bruno@clisp.org>
57452
57453         Fix OpenBSD 4.0 <float.h> handling of long double.
57454         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57455         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57456         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57457
57458 2007-12-11  Jim Meyering  <meyering@redhat.com>
57459
57460         * users.txt: Add libvirt.
57461
57462         Support versions of autoconf prior to 2.59c.
57463         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57464         if it is not already defined.
57465
57466 2007-12-09  Bruno Haible  <bruno@clisp.org>
57467
57468         Let 'gnulib-tool --import' collect sources needed for the tests in
57469         tests/ rather than in lib/.
57470         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57471         argument. If true, add rules to generate libtests.a, and put libtests.a
57472         into $(LDADD). Consider source files in subdirectories and set
57473         uses_subdirs.
57474         (func_emit_initmacro_start, func_emit_initmacro_end,
57475         func_emit_initmacro_done): Pass all arguments explicitly.
57476         (func_import): Determine two module lists main_modules,
57477         testsrelated_modules. Determine use_libtests. Determine two variables
57478         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57479         instead of just sed_transform_lib_file. Determine two variables
57480         main_files and testsrelated_files. Compute 'files' as the union of
57481         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57482         func_add_or_update. In the generated gnulib-comp.m4, collect the
57483         object files for tests/ in different variables than those for lib/.
57484         Substitute LIBTESTS_LIBDEPS.
57485         (func_create_testdir): Combine the uses_subdirs results from
57486         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57487
57488 2007-12-09  Bruno Haible  <bruno@clisp.org>
57489
57490         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57491         the build-aux directory.
57492
57493 2007-12-09  Bruno Haible  <bruno@clisp.org>
57494
57495         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57496         introduced on 2006-09-09.
57497
57498 2007-12-07  Jim Meyering  <meyering@redhat.com>
57499
57500         Let these macros work also with autoconf-2.59.
57501         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57502         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57503         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57504
57505 2007-12-06  Jim Meyering  <meyering@redhat.com>
57506
57507         Avoid a configure-time syntax error in gl_FUNC_ACL.
57508         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57509         function in each branch, before testing the cache variable.
57510
57511 2007-12-04  Eric Blake  <ebb9@byu.net>
57512
57513         Make scripts executable.
57514         * build-aux/config.guess: Add execute permissions.
57515         * build-aux/config.sub: Likewise.
57516         * build-aux/gendocs.sh: Likewise.
57517
57518         Fix frexp on mingw.
57519         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57520         cross-compiling.
57521         * doc/functions/frexp.texi (frexp): Document the bug.
57522
57523         Make cygwin fseeko check more reliable.
57524         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57525         version numbers, rather than unrelated feature check.
57526         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57527         * doc/functions/ftello.texi (ftello): Likewise.
57528         Reported by Bruno Haible.
57529
57530         * m4/strerror.m4: Bump version number.
57531
57532 2007-12-03  Bruno Haible  <bruno@clisp.org>
57533
57534         * doc/functions/mprotect.texi: Mention the mingw problem.
57535
57536 2007-12-03  Eric Blake  <ebb9@byu.net>
57537
57538         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57539         REPLACE_STRERROR is initialized before this macro.
57540
57541 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57542
57543         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57544         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57545         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57546         put -lsec in even for programs other than 'ls'.  This fixes a problem
57547         for gettext reported by Bruno Haible in
57548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57549         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57550         Add support for Solaris 10.  This isn't efficient, but should get the
57551         job done for now.
57552
57553 2007-12-03  James Youngman  <jay@gnu.org>
57554
57555         * doc/regexprops-generic.texi: change "an close-group" to "a
57556         close-group" and "illegal" to "not allowed".
57557
57558 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57559
57560         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57561         pr_byname.h. Needed for the rare case when the maintainer has done
57562         "make maintainer-clean" in the source directory and then attempts a
57563         build outside the source directory.
57564         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57565         scripts_byname.h.
57566
57567 2007-12-02  Martin Lambers <marlam@marlam.de>
57568             Bruno Haible  <bruno@clisp.org>
57569
57570         * lib/getpagesize.h: Remove file.
57571         * lib/unistd.in.h: Include declaration of getpagesize here.
57572         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57573         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57574         HAVE_SYS_PARAM_H.
57575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57576         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57577         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57578         (Depends-on): Add unistd.
57579         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57580         (Include): Use <unistd.h> instead of getpagesize.h.
57581         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57582         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57583         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57584         gl_GETPAGESIZE invocation, already handled by module dependency.
57585         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57586
57587 2007-12-02  Bruno Haible  <bruno@clisp.org>
57588
57589         * modules/strings-tests: New file.
57590         * tests/test-strings.c: New file.
57591
57592         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57593         * lib/strings.in.h: New file.
57594         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57595         * m4/strings_h.m4: New file.
57596         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57597         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57598         * modules/strings: New file.
57599         * modules/string (Makefile.am): Update.
57600         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57601         Reported by Karl Berry.
57602
57603 2007-12-01  Eric Blake  <ebb9@byu.net>
57604
57605         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57606         accomodate fix in cygwin 1.5.25.
57607
57608 2007-12-01  Jim Meyering  <meyering@redhat.com>
57609
57610         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57611         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57612         that would inhibit utf8-optimization of a regexp containing line-
57613         or buffer-anchors, e.g., `^', `$'.
57614
57615 2007-11-30  Bruno Haible  <bruno@clisp.org>
57616
57617         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57618         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57619         glthread_recursive_lock_init.
57620         * lib/lock.c (glthread_recursive_lock_init)
57621         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57622         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57623
57624 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57625
57626         New function qset_acl, like set_acl but with syscall semantics.
57627         * lib/acl.h (qset_acl): New decl.
57628         * lib/acl.c (qset_acl): New function.
57629         (set_acl): Use new function.  Use more-consistent diagnostics.
57630
57631 2007-11-28  Jim Meyering  <meyering@redhat.com>
57632
57633         * modules/physmem (License): Change from GPL to LGPLv2+.
57634
57635 2007-11-26  Bruno Haible  <bruno@clisp.org>
57636
57637         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57638         'long double' type has excess precision.
57639         Reported by Jim Meyering in
57640         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57641
57642 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57643
57644         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57645         Sync from <http://gnu.org/licenses>.
57646         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57647         with license text from same location.
57648         * doc/maintain.texi, doc/standards.texi:  Sync from
57649         <http://savannah.gnu.org/projects/gnustandards>.
57650
57651 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
57652         and Jim Meyering  <meyering@redhat.com>
57653
57654         Adjust getdate' grammar to accept a slightly more regular language.
57655         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57656         Before, the former was rejected.
57657         * lib/getdate.y (digits_to_date_time): New function, factored
57658         out of ...
57659         (number): ...here.  Just call digits_to_date_time.
57660         (hybrid): New non-terminal to handle an <unsigned number,
57661         signed relative offset> sequence consistently.
57662
57663 2007-11-18  Jim Meyering  <meyering@redhat.com>
57664
57665         Pull my changes from coreutils:
57666         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57667         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57668         use of $gnulib_tool_option_extras, so that it's separated from the
57669         preceding argument.
57670
57671         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57672         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57673         parent destination directories before copying a file into place.
57674
57675 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57676
57677         bootstrap: work also with 4-argument variant of AC_INIT
57678         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57679
57680 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57681
57682         Port test-getaddrinfo to Solaris.
57683         Problem reported by Bruno Haible in
57684         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57685         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57686         explanation of setting 'hints'.
57687         Don't reject an implementation merely because it returns EAI_SERVICE.
57688         (EAI_SERVICE): Define to 0 if not defined.
57689
57690 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57691
57692         The license of gnu-make and posix-shell is now "GPLed build tool".
57693         * modules/gnu-make (License): Likewise.
57694         * modules/posix-shell (License): Likewise.
57695
57696         New module posix-shell, for determining a POSIX shell
57697         or perhaps something that is close enough to a POSIX shell.
57698         * m4/posix-shell.m4: New file.
57699         * modules/posix-shell: New file.
57700
57701         * MODULES.html.sh: Mention new module.
57702
57703         New module gnu-make, for determining whether we're using GNU Make.
57704         * m4/gnu-make.m4: New file.
57705         * modules/gnu-make: New file.
57706         * MODULES.html.sh: Mention new module.
57707
57708 2007-11-14  Jim Meyering  <meyering@redhat.com>
57709
57710         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57711         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57712         use this macro to create a function _definition_.
57713         Remove useless "#undef ARGMATCH_DIE".
57714
57715 2007-11-14  Bruno Haible  <bruno@clisp.org>
57716
57717         * lib/config.charset: Update for OpenBSD 4.1.
57718         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57719
57720 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57721
57722         Document 64-bit #if problems in stdint.texi.
57723         * doc/headers/stdint.texi (stdint.h): Mention problems with
57724         64-bit-#if, and how to work around them.
57725
57726         Don't insist on 'long long int' support in the preprocessor.  It
57727         breaks too many things.  For example, PRIdMAX still uses a 'long
57728         long int' format with the latest Sun compiler, even though
57729         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57730         preprocessor problem.  This causes the latest coreutils to dump
57731         core on Solaris 10 sparc with the Sun C compiler.
57732         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57733         the troublesome expressions at configure-time, not at #if-time.
57734         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57735         preprocessor.
57736         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57737         compile-time C checks, done at 'configure'-time.
57738         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57739         * modules/inttypes (Makefile): Substitute the new symbols that
57740         gl_INTTYPES_H now generates.
57741         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57742
57743 2007-11-12  Bruno Haible  <bruno@clisp.org>
57744
57745         Tests for Unicode character classification functions.
57746
57747         * modules/unictype/bidicategory-byname-tests: New file.
57748         * modules/unictype/bidicategory-name-tests: New file.
57749         * modules/unictype/bidicategory-of-tests: New file.
57750         * modules/unictype/bidicategory-test-tests: New file.
57751         * modules/unictype/block-list-tests: New file.
57752         * modules/unictype/block-of-tests: New file.
57753         * modules/unictype/block-test-tests: New file.
57754         * modules/unictype/category-C-tests: New file.
57755         * modules/unictype/category-Cc-tests: New file.
57756         * modules/unictype/category-Cf-tests: New file.
57757         * modules/unictype/category-Cn-tests: New file.
57758         * modules/unictype/category-Co-tests: New file.
57759         * modules/unictype/category-Cs-tests: New file.
57760         * modules/unictype/category-L-tests: New file.
57761         * modules/unictype/category-Ll-tests: New file.
57762         * modules/unictype/category-Lm-tests: New file.
57763         * modules/unictype/category-Lo-tests: New file.
57764         * modules/unictype/category-Lt-tests: New file.
57765         * modules/unictype/category-Lu-tests: New file.
57766         * modules/unictype/category-M-tests: New file.
57767         * modules/unictype/category-Mc-tests: New file.
57768         * modules/unictype/category-Me-tests: New file.
57769         * modules/unictype/category-Mn-tests: New file.
57770         * modules/unictype/category-N-tests: New file.
57771         * modules/unictype/category-Nd-tests: New file.
57772         * modules/unictype/category-Nl-tests: New file.
57773         * modules/unictype/category-No-tests: New file.
57774         * modules/unictype/category-P-tests: New file.
57775         * modules/unictype/category-Pc-tests: New file.
57776         * modules/unictype/category-Pd-tests: New file.
57777         * modules/unictype/category-Pe-tests: New file.
57778         * modules/unictype/category-Pf-tests: New file.
57779         * modules/unictype/category-Pi-tests: New file.
57780         * modules/unictype/category-Po-tests: New file.
57781         * modules/unictype/category-Ps-tests: New file.
57782         * modules/unictype/category-S-tests: New file.
57783         * modules/unictype/category-Sc-tests: New file.
57784         * modules/unictype/category-Sk-tests: New file.
57785         * modules/unictype/category-Sm-tests: New file.
57786         * modules/unictype/category-So-tests: New file.
57787         * modules/unictype/category-Z-tests: New file.
57788         * modules/unictype/category-Zl-tests: New file.
57789         * modules/unictype/category-Zp-tests: New file.
57790         * modules/unictype/category-Zs-tests: New file.
57791         * modules/unictype/category-and-not-tests: New file.
57792         * modules/unictype/category-and-tests: New file.
57793         * modules/unictype/category-byname-tests: New file.
57794         * modules/unictype/category-name-tests: New file.
57795         * modules/unictype/category-none-tests: New file.
57796         * modules/unictype/category-of-tests: New file.
57797         * modules/unictype/category-or-tests: New file.
57798         * modules/unictype/category-test-withtable-tests: New file.
57799         * modules/unictype/combining-class-tests: New file.
57800         * modules/unictype/ctype-alnum-tests: New file.
57801         * modules/unictype/ctype-alpha-tests: New file.
57802         * modules/unictype/ctype-blank-tests: New file.
57803         * modules/unictype/ctype-cntrl-tests: New file.
57804         * modules/unictype/ctype-digit-tests: New file.
57805         * modules/unictype/ctype-graph-tests: New file.
57806         * modules/unictype/ctype-lower-tests: New file.
57807         * modules/unictype/ctype-print-tests: New file.
57808         * modules/unictype/ctype-punct-tests: New file.
57809         * modules/unictype/ctype-space-tests: New file.
57810         * modules/unictype/ctype-upper-tests: New file.
57811         * modules/unictype/ctype-xdigit-tests: New file.
57812         * modules/unictype/decimal-digit-tests: New file.
57813         * modules/unictype/digit-tests: New file.
57814         * modules/unictype/mirror-tests: New file.
57815         * modules/unictype/numeric-tests: New file.
57816         * modules/unictype/property-alphabetic-tests: New file.
57817         * modules/unictype/property-ascii-hex-digit-tests: New file.
57818         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57819         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57820         * modules/unictype/property-bidi-block-separator-tests: New file.
57821         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57822         * modules/unictype/property-bidi-common-separator-tests: New file.
57823         * modules/unictype/property-bidi-control-tests: New file.
57824         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57825         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57826         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57827         * modules/unictype/property-bidi-european-digit-tests: New file.
57828         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57829         * modules/unictype/property-bidi-left-to-right-tests: New file.
57830         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57831         * modules/unictype/property-bidi-other-neutral-tests: New file.
57832         * modules/unictype/property-bidi-pdf-tests: New file.
57833         * modules/unictype/property-bidi-segment-separator-tests: New file.
57834         * modules/unictype/property-bidi-whitespace-tests: New file.
57835         * modules/unictype/property-byname-tests: New file.
57836         * modules/unictype/property-combining-tests: New file.
57837         * modules/unictype/property-composite-tests: New file.
57838         * modules/unictype/property-currency-symbol-tests: New file.
57839         * modules/unictype/property-dash-tests: New file.
57840         * modules/unictype/property-decimal-digit-tests: New file.
57841         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57842         * modules/unictype/property-deprecated-tests: New file.
57843         * modules/unictype/property-diacritic-tests: New file.
57844         * modules/unictype/property-extender-tests: New file.
57845         * modules/unictype/property-format-control-tests: New file.
57846         * modules/unictype/property-grapheme-base-tests: New file.
57847         * modules/unictype/property-grapheme-extend-tests: New file.
57848         * modules/unictype/property-grapheme-link-tests: New file.
57849         * modules/unictype/property-hex-digit-tests: New file.
57850         * modules/unictype/property-hyphen-tests: New file.
57851         * modules/unictype/property-id-continue-tests: New file.
57852         * modules/unictype/property-id-start-tests: New file.
57853         * modules/unictype/property-ideographic-tests: New file.
57854         * modules/unictype/property-ids-binary-operator-tests: New file.
57855         * modules/unictype/property-ids-trinary-operator-tests: New file.
57856         * modules/unictype/property-ignorable-control-tests: New file.
57857         * modules/unictype/property-iso-control-tests: New file.
57858         * modules/unictype/property-join-control-tests: New file.
57859         * modules/unictype/property-left-of-pair-tests: New file.
57860         * modules/unictype/property-line-separator-tests: New file.
57861         * modules/unictype/property-logical-order-exception-tests: New file.
57862         * modules/unictype/property-lowercase-tests: New file.
57863         * modules/unictype/property-math-tests: New file.
57864         * modules/unictype/property-non-break-tests: New file.
57865         * modules/unictype/property-not-a-character-tests: New file.
57866         * modules/unictype/property-numeric-tests: New file.
57867         * modules/unictype/property-other-alphabetic-tests: New file.
57868         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57869         * modules/unictype/property-other-grapheme-extend-tests: New file.
57870         * modules/unictype/property-other-id-continue-tests: New file.
57871         * modules/unictype/property-other-id-start-tests: New file.
57872         * modules/unictype/property-other-lowercase-tests: New file.
57873         * modules/unictype/property-other-math-tests: New file.
57874         * modules/unictype/property-other-uppercase-tests: New file.
57875         * modules/unictype/property-paired-punctuation-tests: New file.
57876         * modules/unictype/property-paragraph-separator-tests: New file.
57877         * modules/unictype/property-pattern-syntax-tests: New file.
57878         * modules/unictype/property-pattern-white-space-tests: New file.
57879         * modules/unictype/property-private-use-tests: New file.
57880         * modules/unictype/property-punctuation-tests: New file.
57881         * modules/unictype/property-quotation-mark-tests: New file.
57882         * modules/unictype/property-radical-tests: New file.
57883         * modules/unictype/property-sentence-terminal-tests: New file.
57884         * modules/unictype/property-soft-dotted-tests: New file.
57885         * modules/unictype/property-space-tests: New file.
57886         * modules/unictype/property-terminal-punctuation-tests: New file.
57887         * modules/unictype/property-test-tests: New file.
57888         * modules/unictype/property-titlecase-tests: New file.
57889         * modules/unictype/property-unassigned-code-value-tests: New file.
57890         * modules/unictype/property-unified-ideograph-tests: New file.
57891         * modules/unictype/property-uppercase-tests: New file.
57892         * modules/unictype/property-variation-selector-tests: New file.
57893         * modules/unictype/property-white-space-tests: New file.
57894         * modules/unictype/property-xid-continue-tests: New file.
57895         * modules/unictype/property-xid-start-tests: New file.
57896         * modules/unictype/property-zero-width-tests: New file.
57897         * modules/unictype/scripts-tests: New file.
57898         * modules/unictype/syntax-c-ident-tests: New file.
57899         * modules/unictype/syntax-c-whitespace-tests: New file.
57900         * modules/unictype/syntax-java-ident-tests: New file.
57901         * modules/unictype/syntax-java-whitespace-tests: New file.
57902         * tests/unictype/test-bidi_byname.c: New file.
57903         * tests/unictype/test-bidi_name.c: New file.
57904         * tests/unictype/test-bidi_of.c: New file.
57905         * tests/unictype/test-bidi_test.c: New file.
57906         * tests/unictype/test-block_list.c: New file.
57907         * tests/unictype/test-block_of.c: New file.
57908         * tests/unictype/test-block_test.c: New file.
57909         * tests/unictype/test-categ_and.c: New file.
57910         * tests/unictype/test-categ_and_not.c: New file.
57911         * tests/unictype/test-categ_byname.c: New file.
57912         * tests/unictype/test-categ_name.c: New file.
57913         * tests/unictype/test-categ_none.c: New file.
57914         * tests/unictype/test-categ_of.c: New file.
57915         * tests/unictype/test-categ_or.c: New file.
57916         * tests/unictype/test-categ_test_withtable.c: New file.
57917         * tests/unictype/test-combining.c: New file.
57918         * tests/unictype/test-decdigit.c: New file.
57919         * tests/unictype/test-digit.c: New file.
57920         * tests/unictype/test-mirror.c: New file.
57921         * tests/unictype/test-numeric.c: New file.
57922         * tests/unictype/test-pr_byname.c: New file.
57923         * tests/unictype/test-pr_test.c: New file.
57924         * tests/unictype/test-predicate-part1.h: New file.
57925         * tests/unictype/test-predicate-part2.h: New file.
57926         * tests/unictype/test-scripts.c: New file.
57927         * tests/unictype/test-sy_c_ident.c: New file.
57928         * tests/unictype/test-sy_java_ident.c: New file.
57929
57930         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57931         for Unicode 5.0.0.
57932         * tests/unictype/test-categ_Cc.c: Likewise.
57933         * tests/unictype/test-categ_Cf.c: Likewise.
57934         * tests/unictype/test-categ_Cn.c: Likewise.
57935         * tests/unictype/test-categ_Co.c: Likewise.
57936         * tests/unictype/test-categ_Cs.c: Likewise.
57937         * tests/unictype/test-categ_L.c: Likewise.
57938         * tests/unictype/test-categ_Ll.c: Likewise.
57939         * tests/unictype/test-categ_Lm.c: Likewise.
57940         * tests/unictype/test-categ_Lo.c: Likewise.
57941         * tests/unictype/test-categ_Lt.c: Likewise.
57942         * tests/unictype/test-categ_Lu.c: Likewise.
57943         * tests/unictype/test-categ_M.c: Likewise.
57944         * tests/unictype/test-categ_Mc.c: Likewise.
57945         * tests/unictype/test-categ_Me.c: Likewise.
57946         * tests/unictype/test-categ_Mn.c: Likewise.
57947         * tests/unictype/test-categ_N.c: Likewise.
57948         * tests/unictype/test-categ_Nd.c: Likewise.
57949         * tests/unictype/test-categ_Nl.c: Likewise.
57950         * tests/unictype/test-categ_No.c: Likewise.
57951         * tests/unictype/test-categ_P.c: Likewise.
57952         * tests/unictype/test-categ_Pc.c: Likewise.
57953         * tests/unictype/test-categ_Pd.c: Likewise.
57954         * tests/unictype/test-categ_Pe.c: Likewise.
57955         * tests/unictype/test-categ_Pf.c: Likewise.
57956         * tests/unictype/test-categ_Pi.c: Likewise.
57957         * tests/unictype/test-categ_Po.c: Likewise.
57958         * tests/unictype/test-categ_Ps.c: Likewise.
57959         * tests/unictype/test-categ_S.c: Likewise.
57960         * tests/unictype/test-categ_Sc.c: Likewise.
57961         * tests/unictype/test-categ_Sk.c: Likewise.
57962         * tests/unictype/test-categ_Sm.c: Likewise.
57963         * tests/unictype/test-categ_So.c: Likewise.
57964         * tests/unictype/test-categ_Z.c: Likewise.
57965         * tests/unictype/test-categ_Zl.c: Likewise.
57966         * tests/unictype/test-categ_Zp.c: Likewise.
57967         * tests/unictype/test-categ_Zs.c: Likewise.
57968         * tests/unictype/test-ctype_alnum.c: Likewise.
57969         * tests/unictype/test-ctype_alpha.c: Likewise.
57970         * tests/unictype/test-ctype_blank.c: Likewise.
57971         * tests/unictype/test-ctype_cntrl.c: Likewise.
57972         * tests/unictype/test-ctype_digit.c: Likewise.
57973         * tests/unictype/test-ctype_graph.c: Likewise.
57974         * tests/unictype/test-ctype_lower.c: Likewise.
57975         * tests/unictype/test-ctype_print.c: Likewise.
57976         * tests/unictype/test-ctype_punct.c: Likewise.
57977         * tests/unictype/test-ctype_space.c: Likewise.
57978         * tests/unictype/test-ctype_upper.c: Likewise.
57979         * tests/unictype/test-ctype_xdigit.c: Likewise.
57980         * tests/unictype/test-decdigit.h: Likewise.
57981         * tests/unictype/test-digit.h: Likewise.
57982         * tests/unictype/test-numeric.h: Likewise.
57983         * tests/unictype/test-pr_alphabetic.c: Likewise.
57984         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57985         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57986         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57987         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57988         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57989         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57990         * tests/unictype/test-pr_bidi_control.c: Likewise.
57991         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57992         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57993         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57994         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57995         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57996         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57997         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57998         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57999         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58000         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58001         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58002         * tests/unictype/test-pr_combining.c: Likewise.
58003         * tests/unictype/test-pr_composite.c: Likewise.
58004         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58005         * tests/unictype/test-pr_dash.c: Likewise.
58006         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58007         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58008         * tests/unictype/test-pr_deprecated.c: Likewise.
58009         * tests/unictype/test-pr_diacritic.c: Likewise.
58010         * tests/unictype/test-pr_extender.c: Likewise.
58011         * tests/unictype/test-pr_format_control.c: Likewise.
58012         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58013         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58014         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58015         * tests/unictype/test-pr_hex_digit.c: Likewise.
58016         * tests/unictype/test-pr_hyphen.c: Likewise.
58017         * tests/unictype/test-pr_id_continue.c: Likewise.
58018         * tests/unictype/test-pr_id_start.c: Likewise.
58019         * tests/unictype/test-pr_ideographic.c: Likewise.
58020         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58021         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58022         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58023         * tests/unictype/test-pr_iso_control.c: Likewise.
58024         * tests/unictype/test-pr_join_control.c: Likewise.
58025         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58026         * tests/unictype/test-pr_line_separator.c: Likewise.
58027         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58028         * tests/unictype/test-pr_lowercase.c: Likewise.
58029         * tests/unictype/test-pr_math.c: Likewise.
58030         * tests/unictype/test-pr_non_break.c: Likewise.
58031         * tests/unictype/test-pr_not_a_character.c: Likewise.
58032         * tests/unictype/test-pr_numeric.c: Likewise.
58033         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58034         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58035         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58036         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58037         * tests/unictype/test-pr_other_id_start.c: Likewise.
58038         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58039         * tests/unictype/test-pr_other_math.c: Likewise.
58040         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58041         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58042         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58043         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58044         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58045         * tests/unictype/test-pr_private_use.c: Likewise.
58046         * tests/unictype/test-pr_punctuation.c: Likewise.
58047         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58048         * tests/unictype/test-pr_radical.c: Likewise.
58049         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58050         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58051         * tests/unictype/test-pr_space.c: Likewise.
58052         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58053         * tests/unictype/test-pr_titlecase.c: Likewise.
58054         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58055         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58056         * tests/unictype/test-pr_uppercase.c: Likewise.
58057         * tests/unictype/test-pr_variation_selector.c: Likewise.
58058         * tests/unictype/test-pr_white_space.c: Likewise.
58059         * tests/unictype/test-pr_xid_continue.c: Likewise.
58060         * tests/unictype/test-pr_xid_start.c: Likewise.
58061         * tests/unictype/test-pr_zero_width.c: Likewise.
58062         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58063         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58064
58065 2007-11-12  Bruno Haible  <bruno@clisp.org>
58066
58067         Unicode character classification functions.
58068         * lib/unictype.h: New file.
58069         * modules/unictype/base: New file.
58070         * modules/unictype/category-L: New file.
58071         * modules/unictype/category-Lu: New file.
58072         * modules/unictype/category-Ll: New file.
58073         * modules/unictype/category-Lt: New file.
58074         * modules/unictype/category-Lm: New file.
58075         * modules/unictype/category-Lo: New file.
58076         * modules/unictype/category-M: New file.
58077         * modules/unictype/category-Mn: New file.
58078         * modules/unictype/category-Mc: New file.
58079         * modules/unictype/category-Me: New file.
58080         * modules/unictype/category-N: New file.
58081         * modules/unictype/category-Nd: New file.
58082         * modules/unictype/category-Nl: New file.
58083         * modules/unictype/category-No: New file.
58084         * modules/unictype/category-P: New file.
58085         * modules/unictype/category-Pc: New file.
58086         * modules/unictype/category-Pd: New file.
58087         * modules/unictype/category-Ps: New file.
58088         * modules/unictype/category-Pe: New file.
58089         * modules/unictype/category-Pi: New file.
58090         * modules/unictype/category-Pf: New file.
58091         * modules/unictype/category-Po: New file.
58092         * modules/unictype/category-S: New file.
58093         * modules/unictype/category-Sm: New file.
58094         * modules/unictype/category-Sc: New file.
58095         * modules/unictype/category-Sk: New file.
58096         * modules/unictype/category-So: New file.
58097         * modules/unictype/category-Z: New file.
58098         * modules/unictype/category-Zs: New file.
58099         * modules/unictype/category-Zl: New file.
58100         * modules/unictype/category-Zp: New file.
58101         * modules/unictype/category-C: New file.
58102         * modules/unictype/category-Cc: New file.
58103         * modules/unictype/category-Cf: New file.
58104         * modules/unictype/category-Cs: New file.
58105         * modules/unictype/category-Co: New file.
58106         * modules/unictype/category-Cn: New file.
58107         * modules/unictype/category-or: New file.
58108         * modules/unictype/category-of: New file.
58109         * modules/unictype/category-test: New file.
58110         * modules/unictype/category-test-withtable: New file.
58111         * modules/unictype/category-byname: New file.
58112         * modules/unictype/category-none: New file.
58113         * modules/unictype/category-and: New file.
58114         * modules/unictype/category-and-not: New file.
58115         * modules/unictype/category-name: New file.
58116         * modules/unictype/combining-class: New file.
58117         * modules/unictype/category-all: New file.
58118         * modules/unictype/bidicategory-all: New file.
58119         * modules/unictype/bidicategory-byname: New file.
58120         * modules/unictype/bidicategory-name: New file.
58121         * modules/unictype/bidicategory-of: New file.
58122         * modules/unictype/bidicategory-test: New file.
58123         * modules/unictype/decimal-digit: New file.
58124         * modules/unictype/digit: New file.
58125         * modules/unictype/numeric: New file.
58126         * modules/unictype/mirror: New file.
58127         * modules/unictype/property-white-space: New file.
58128         * modules/unictype/property-alphabetic: New file.
58129         * modules/unictype/property-other-alphabetic: New file.
58130         * modules/unictype/property-not-a-character: New file.
58131         * modules/unictype/property-default-ignorable-code-point: New file.
58132         * modules/unictype/property-other-default-ignorable-code-point: New
58133         file.
58134         * modules/unictype/property-deprecated: New file.
58135         * modules/unictype/property-logical-order-exception: New file.
58136         * modules/unictype/property-variation-selector: New file.
58137         * modules/unictype/property-private-use: New file.
58138         * modules/unictype/property-unassigned-code-value: New file.
58139         * modules/unictype/property-uppercase: New file.
58140         * modules/unictype/property-other-uppercase: New file.
58141         * modules/unictype/property-lowercase: New file.
58142         * modules/unictype/property-other-lowercase: New file.
58143         * modules/unictype/property-titlecase: New file.
58144         * modules/unictype/property-soft-dotted: New file.
58145         * modules/unictype/property-id-start: New file.
58146         * modules/unictype/property-other-id-start: New file.
58147         * modules/unictype/property-id-continue: New file.
58148         * modules/unictype/property-other-id-continue: New file.
58149         * modules/unictype/property-xid-start: New file.
58150         * modules/unictype/property-xid-continue: New file.
58151         * modules/unictype/property-pattern-white-space: New file.
58152         * modules/unictype/property-pattern-syntax: New file.
58153         * modules/unictype/property-join-control: New file.
58154         * modules/unictype/property-grapheme-base: New file.
58155         * modules/unictype/property-grapheme-extend: New file.
58156         * modules/unictype/property-other-grapheme-extend: New file.
58157         * modules/unictype/property-grapheme-link: New file.
58158         * modules/unictype/property-bidi-control: New file.
58159         * modules/unictype/property-bidi-left-to-right: New file.
58160         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58161         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58162         * modules/unictype/property-bidi-european-digit: New file.
58163         * modules/unictype/property-bidi-eur-num-separator: New file.
58164         * modules/unictype/property-bidi-eur-num-terminator: New file.
58165         * modules/unictype/property-bidi-arabic-digit: New file.
58166         * modules/unictype/property-bidi-common-separator: New file.
58167         * modules/unictype/property-bidi-block-separator: New file.
58168         * modules/unictype/property-bidi-segment-separator: New file.
58169         * modules/unictype/property-bidi-whitespace: New file.
58170         * modules/unictype/property-bidi-non-spacing-mark: New file.
58171         * modules/unictype/property-bidi-boundary-neutral: New file.
58172         * modules/unictype/property-bidi-pdf: New file.
58173         * modules/unictype/property-bidi-embedding-or-override: New file.
58174         * modules/unictype/property-bidi-other-neutral: New file.
58175         * modules/unictype/property-hex-digit: New file.
58176         * modules/unictype/property-ascii-hex-digit: New file.
58177         * modules/unictype/property-ideographic: New file.
58178         * modules/unictype/property-unified-ideograph: New file.
58179         * modules/unictype/property-radical: New file.
58180         * modules/unictype/property-ids-binary-operator: New file.
58181         * modules/unictype/property-ids-trinary-operator: New file.
58182         * modules/unictype/property-zero-width: New file.
58183         * modules/unictype/property-space: New file.
58184         * modules/unictype/property-non-break: New file.
58185         * modules/unictype/property-iso-control: New file.
58186         * modules/unictype/property-format-control: New file.
58187         * modules/unictype/property-dash: New file.
58188         * modules/unictype/property-hyphen: New file.
58189         * modules/unictype/property-punctuation: New file.
58190         * modules/unictype/property-line-separator: New file.
58191         * modules/unictype/property-paragraph-separator: New file.
58192         * modules/unictype/property-quotation-mark: New file.
58193         * modules/unictype/property-sentence-terminal: New file.
58194         * modules/unictype/property-terminal-punctuation: New file.
58195         * modules/unictype/property-currency-symbol: New file.
58196         * modules/unictype/property-math: New file.
58197         * modules/unictype/property-other-math: New file.
58198         * modules/unictype/property-paired-punctuation: New file.
58199         * modules/unictype/property-left-of-pair: New file.
58200         * modules/unictype/property-combining: New file.
58201         * modules/unictype/property-composite: New file.
58202         * modules/unictype/property-decimal-digit: New file.
58203         * modules/unictype/property-numeric: New file.
58204         * modules/unictype/property-diacritic: New file.
58205         * modules/unictype/property-extender: New file.
58206         * modules/unictype/property-ignorable-control: New file.
58207         * modules/unictype/property-test: New file.
58208         * modules/unictype/property-byname: New file.
58209         * modules/unictype/property-all: New file.
58210         * modules/unictype/scripts: New file.
58211         * modules/unictype/scripts-all: New file.
58212         * modules/unictype/block-of: New file.
58213         * modules/unictype/block-test: New file.
58214         * modules/unictype/block-list: New file.
58215         * modules/unictype/block-all: New file.
58216         * modules/unictype/syntax-c-whitespace: New file.
58217         * modules/unictype/syntax-java-whitespace: New file.
58218         * modules/unictype/syntax-c-ident: New file.
58219         * modules/unictype/syntax-java-ident: New file.
58220         * modules/unictype/ctype-alnum: New file.
58221         * modules/unictype/ctype-alpha: New file.
58222         * modules/unictype/ctype-cntrl: New file.
58223         * modules/unictype/ctype-digit: New file.
58224         * modules/unictype/ctype-graph: New file.
58225         * modules/unictype/ctype-lower: New file.
58226         * modules/unictype/ctype-print: New file.
58227         * modules/unictype/ctype-punct: New file.
58228         * modules/unictype/ctype-space: New file.
58229         * modules/unictype/ctype-upper: New file.
58230         * modules/unictype/ctype-xdigit: New file.
58231         * modules/unictype/ctype-blank: New file.
58232         * lib/unictype/bidi_byname.c: New file.
58233         * lib/unictype/bidi_name.c: New file.
58234         * lib/unictype/bidi_of.c: New file.
58235         * lib/unictype/bidi_test.c: New file.
58236         * lib/unictype/bitmap.h: New file.
58237         * lib/unictype/block_test.c: New file.
58238         * lib/unictype/blocks.c: New file.
58239         * lib/unictype/categ_C.c: New file.
58240         * lib/unictype/categ_Cc.c: New file.
58241         * lib/unictype/categ_Cf.c: New file.
58242         * lib/unictype/categ_Cn.c: New file.
58243         * lib/unictype/categ_Co.c: New file.
58244         * lib/unictype/categ_Cs.c: New file.
58245         * lib/unictype/categ_L.c: New file.
58246         * lib/unictype/categ_Ll.c: New file.
58247         * lib/unictype/categ_Lm.c: New file.
58248         * lib/unictype/categ_Lo.c: New file.
58249         * lib/unictype/categ_Lt.c: New file.
58250         * lib/unictype/categ_Lu.c: New file.
58251         * lib/unictype/categ_M.c: New file.
58252         * lib/unictype/categ_Mc.c: New file.
58253         * lib/unictype/categ_Me.c: New file.
58254         * lib/unictype/categ_Mn.c: New file.
58255         * lib/unictype/categ_N.c: New file.
58256         * lib/unictype/categ_Nd.c: New file.
58257         * lib/unictype/categ_Nl.c: New file.
58258         * lib/unictype/categ_No.c: New file.
58259         * lib/unictype/categ_P.c: New file.
58260         * lib/unictype/categ_Pc.c: New file.
58261         * lib/unictype/categ_Pd.c: New file.
58262         * lib/unictype/categ_Pe.c: New file.
58263         * lib/unictype/categ_Pf.c: New file.
58264         * lib/unictype/categ_Pi.c: New file.
58265         * lib/unictype/categ_Po.c: New file.
58266         * lib/unictype/categ_Ps.c: New file.
58267         * lib/unictype/categ_S.c: New file.
58268         * lib/unictype/categ_Sc.c: New file.
58269         * lib/unictype/categ_Sk.c: New file.
58270         * lib/unictype/categ_Sm.c: New file.
58271         * lib/unictype/categ_So.c: New file.
58272         * lib/unictype/categ_Z.c: New file.
58273         * lib/unictype/categ_Zl.c: New file.
58274         * lib/unictype/categ_Zp.c: New file.
58275         * lib/unictype/categ_Zs.c: New file.
58276         * lib/unictype/categ_and.c: New file.
58277         * lib/unictype/categ_and_not.c: New file.
58278         * lib/unictype/categ_byname.c: New file.
58279         * lib/unictype/categ_name.c: New file.
58280         * lib/unictype/categ_none.c: New file.
58281         * lib/unictype/categ_of.c: New file.
58282         * lib/unictype/categ_or.c: New file.
58283         * lib/unictype/categ_test.c: New file.
58284         * lib/unictype/combining.c: New file.
58285         * lib/unictype/ctype_alnum.c: New file.
58286         * lib/unictype/ctype_alpha.c: New file.
58287         * lib/unictype/ctype_blank.c: New file.
58288         * lib/unictype/ctype_cntrl.c: New file.
58289         * lib/unictype/ctype_digit.c: New file.
58290         * lib/unictype/ctype_graph.c: New file.
58291         * lib/unictype/ctype_lower.c: New file.
58292         * lib/unictype/ctype_print.c: New file.
58293         * lib/unictype/ctype_punct.c: New file.
58294         * lib/unictype/ctype_space.c: New file.
58295         * lib/unictype/ctype_upper.c: New file.
58296         * lib/unictype/ctype_xdigit.c: New file.
58297         * lib/unictype/decdigit.c: New file.
58298         * lib/unictype/digit.c: New file.
58299         * lib/unictype/identsyntaxmap.h: New file.
58300         * lib/unictype/mirror.c: New file.
58301         * lib/unictype/numeric.c: New file.
58302         * lib/unictype/pr_alphabetic.c: New file.
58303         * lib/unictype/pr_ascii_hex_digit.c: New file.
58304         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58305         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58306         * lib/unictype/pr_bidi_block_separator.c: New file.
58307         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58308         * lib/unictype/pr_bidi_common_separator.c: New file.
58309         * lib/unictype/pr_bidi_control.c: New file.
58310         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58311         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58312         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58313         * lib/unictype/pr_bidi_european_digit.c: New file.
58314         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58315         * lib/unictype/pr_bidi_left_to_right.c: New file.
58316         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58317         * lib/unictype/pr_bidi_other_neutral.c: New file.
58318         * lib/unictype/pr_bidi_pdf.c: New file.
58319         * lib/unictype/pr_bidi_segment_separator.c: New file.
58320         * lib/unictype/pr_bidi_whitespace.c: New file.
58321         * lib/unictype/pr_byname.c: New file.
58322         * lib/unictype/pr_byname.gperf: New file.
58323         * lib/unictype/pr_combining.c: New file.
58324         * lib/unictype/pr_composite.c: New file.
58325         * lib/unictype/pr_currency_symbol.c: New file.
58326         * lib/unictype/pr_dash.c: New file.
58327         * lib/unictype/pr_decimal_digit.c: New file.
58328         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58329         * lib/unictype/pr_deprecated.c: New file.
58330         * lib/unictype/pr_diacritic.c: New file.
58331         * lib/unictype/pr_extender.c: New file.
58332         * lib/unictype/pr_format_control.c: New file.
58333         * lib/unictype/pr_grapheme_base.c: New file.
58334         * lib/unictype/pr_grapheme_extend.c: New file.
58335         * lib/unictype/pr_grapheme_link.c: New file.
58336         * lib/unictype/pr_hex_digit.c: New file.
58337         * lib/unictype/pr_hyphen.c: New file.
58338         * lib/unictype/pr_id_continue.c: New file.
58339         * lib/unictype/pr_id_start.c: New file.
58340         * lib/unictype/pr_ideographic.c: New file.
58341         * lib/unictype/pr_ids_binary_operator.c: New file.
58342         * lib/unictype/pr_ids_trinary_operator.c: New file.
58343         * lib/unictype/pr_ignorable_control.c: New file.
58344         * lib/unictype/pr_iso_control.c: New file.
58345         * lib/unictype/pr_join_control.c: New file.
58346         * lib/unictype/pr_left_of_pair.c: New file.
58347         * lib/unictype/pr_line_separator.c: New file.
58348         * lib/unictype/pr_logical_order_exception.c: New file.
58349         * lib/unictype/pr_lowercase.c: New file.
58350         * lib/unictype/pr_math.c: New file.
58351         * lib/unictype/pr_non_break.c: New file.
58352         * lib/unictype/pr_not_a_character.c: New file.
58353         * lib/unictype/pr_numeric.c: New file.
58354         * lib/unictype/pr_other_alphabetic.c: New file.
58355         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58356         * lib/unictype/pr_other_grapheme_extend.c: New file.
58357         * lib/unictype/pr_other_id_continue.c: New file.
58358         * lib/unictype/pr_other_id_start.c: New file.
58359         * lib/unictype/pr_other_lowercase.c: New file.
58360         * lib/unictype/pr_other_math.c: New file.
58361         * lib/unictype/pr_other_uppercase.c: New file.
58362         * lib/unictype/pr_paired_punctuation.c: New file.
58363         * lib/unictype/pr_paragraph_separator.c: New file.
58364         * lib/unictype/pr_pattern_syntax.c: New file.
58365         * lib/unictype/pr_pattern_white_space.c: New file.
58366         * lib/unictype/pr_private_use.c: New file.
58367         * lib/unictype/pr_punctuation.c: New file.
58368         * lib/unictype/pr_quotation_mark.c: New file.
58369         * lib/unictype/pr_radical.c: New file.
58370         * lib/unictype/pr_sentence_terminal.c: New file.
58371         * lib/unictype/pr_soft_dotted.c: New file.
58372         * lib/unictype/pr_space.c: New file.
58373         * lib/unictype/pr_terminal_punctuation.c: New file.
58374         * lib/unictype/pr_test.c: New file.
58375         * lib/unictype/pr_titlecase.c: New file.
58376         * lib/unictype/pr_unassigned_code_value.c: New file.
58377         * lib/unictype/pr_unified_ideograph.c: New file.
58378         * lib/unictype/pr_uppercase.c: New file.
58379         * lib/unictype/pr_variation_selector.c: New file.
58380         * lib/unictype/pr_white_space.c: New file.
58381         * lib/unictype/pr_xid_continue.c: New file.
58382         * lib/unictype/pr_xid_start.c: New file.
58383         * lib/unictype/pr_zero_width.c: New file.
58384         * lib/unictype/scripts.c: New file.
58385         * lib/unictype/sy_c_ident.c: New file.
58386         * lib/unictype/sy_c_whitespace.c: New file.
58387         * lib/unictype/sy_java_ident.c: New file.
58388         * lib/unictype/sy_java_whitespace.c: New file.
58389
58390         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58391         Unicode 5.0.0.
58392         * lib/unictype/blocks.h: Likewise.
58393         * lib/unictype/categ_C.h: Likewise.
58394         * lib/unictype/categ_Cc.h: Likewise.
58395         * lib/unictype/categ_Cf.h: Likewise.
58396         * lib/unictype/categ_Cn.h: Likewise.
58397         * lib/unictype/categ_Co.h: Likewise.
58398         * lib/unictype/categ_Cs.h: Likewise.
58399         * lib/unictype/categ_L.h: Likewise.
58400         * lib/unictype/categ_Ll.h: Likewise.
58401         * lib/unictype/categ_Lm.h: Likewise.
58402         * lib/unictype/categ_Lo.h: Likewise.
58403         * lib/unictype/categ_Lt.h: Likewise.
58404         * lib/unictype/categ_Lu.h: Likewise.
58405         * lib/unictype/categ_M.h: Likewise.
58406         * lib/unictype/categ_Mc.h: Likewise.
58407         * lib/unictype/categ_Me.h: Likewise.
58408         * lib/unictype/categ_Mn.h: Likewise.
58409         * lib/unictype/categ_N.h: Likewise.
58410         * lib/unictype/categ_Nd.h: Likewise.
58411         * lib/unictype/categ_Nl.h: Likewise.
58412         * lib/unictype/categ_No.h: Likewise.
58413         * lib/unictype/categ_P.h: Likewise.
58414         * lib/unictype/categ_Pc.h: Likewise.
58415         * lib/unictype/categ_Pd.h: Likewise.
58416         * lib/unictype/categ_Pe.h: Likewise.
58417         * lib/unictype/categ_Pf.h: Likewise.
58418         * lib/unictype/categ_Pi.h: Likewise.
58419         * lib/unictype/categ_Po.h: Likewise.
58420         * lib/unictype/categ_Ps.h: Likewise.
58421         * lib/unictype/categ_S.h: Likewise.
58422         * lib/unictype/categ_Sc.h: Likewise.
58423         * lib/unictype/categ_Sk.h: Likewise.
58424         * lib/unictype/categ_Sm.h: Likewise.
58425         * lib/unictype/categ_So.h: Likewise.
58426         * lib/unictype/categ_Z.h: Likewise.
58427         * lib/unictype/categ_Zl.h: Likewise.
58428         * lib/unictype/categ_Zp.h: Likewise.
58429         * lib/unictype/categ_Zs.h: Likewise.
58430         * lib/unictype/categ_of.h: Likewise.
58431         * lib/unictype/combining.h: Likewise.
58432         * lib/unictype/ctype_alnum.h: Likewise.
58433         * lib/unictype/ctype_alpha.h: Likewise.
58434         * lib/unictype/ctype_blank.h: Likewise.
58435         * lib/unictype/ctype_cntrl.h: Likewise.
58436         * lib/unictype/ctype_digit.h: Likewise.
58437         * lib/unictype/ctype_graph.h: Likewise.
58438         * lib/unictype/ctype_lower.h: Likewise.
58439         * lib/unictype/ctype_print.h: Likewise.
58440         * lib/unictype/ctype_punct.h: Likewise.
58441         * lib/unictype/ctype_space.h: Likewise.
58442         * lib/unictype/ctype_upper.h: Likewise.
58443         * lib/unictype/ctype_xdigit.h: Likewise.
58444         * lib/unictype/decdigit.h: Likewise.
58445         * lib/unictype/digit.h: Likewise.
58446         * lib/unictype/mirror.h: Likewise.
58447         * lib/unictype/numeric.h: Likewise.
58448         * lib/unictype/pr_alphabetic.h: Likewise.
58449         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58450         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58451         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58452         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58453         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58454         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58455         * lib/unictype/pr_bidi_control.h: Likewise.
58456         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58457         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58458         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58459         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58460         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58461         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58462         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58463         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58464         * lib/unictype/pr_bidi_pdf.h: Likewise.
58465         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58466         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58467         * lib/unictype/pr_combining.h: Likewise.
58468         * lib/unictype/pr_composite.h: Likewise.
58469         * lib/unictype/pr_currency_symbol.h: Likewise.
58470         * lib/unictype/pr_dash.h: Likewise.
58471         * lib/unictype/pr_decimal_digit.h: Likewise.
58472         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58473         * lib/unictype/pr_deprecated.h: Likewise.
58474         * lib/unictype/pr_diacritic.h: Likewise.
58475         * lib/unictype/pr_extender.h: Likewise.
58476         * lib/unictype/pr_format_control.h: Likewise.
58477         * lib/unictype/pr_grapheme_base.h: Likewise.
58478         * lib/unictype/pr_grapheme_extend.h: Likewise.
58479         * lib/unictype/pr_grapheme_link.h: Likewise.
58480         * lib/unictype/pr_hex_digit.h: Likewise.
58481         * lib/unictype/pr_hyphen.h: Likewise.
58482         * lib/unictype/pr_id_continue.h: Likewise.
58483         * lib/unictype/pr_id_start.h: Likewise.
58484         * lib/unictype/pr_ideographic.h: Likewise.
58485         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58486         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58487         * lib/unictype/pr_ignorable_control.h: Likewise.
58488         * lib/unictype/pr_iso_control.h: Likewise.
58489         * lib/unictype/pr_join_control.h: Likewise.
58490         * lib/unictype/pr_left_of_pair.h: Likewise.
58491         * lib/unictype/pr_line_separator.h: Likewise.
58492         * lib/unictype/pr_logical_order_exception.h: Likewise.
58493         * lib/unictype/pr_lowercase.h: Likewise.
58494         * lib/unictype/pr_math.h: Likewise.
58495         * lib/unictype/pr_non_break.h: Likewise.
58496         * lib/unictype/pr_not_a_character.h: Likewise.
58497         * lib/unictype/pr_numeric.h: Likewise.
58498         * lib/unictype/pr_other_alphabetic.h: Likewise.
58499         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58500         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58501         * lib/unictype/pr_other_id_continue.h: Likewise.
58502         * lib/unictype/pr_other_id_start.h: Likewise.
58503         * lib/unictype/pr_other_lowercase.h: Likewise.
58504         * lib/unictype/pr_other_math.h: Likewise.
58505         * lib/unictype/pr_other_uppercase.h: Likewise.
58506         * lib/unictype/pr_paired_punctuation.h: Likewise.
58507         * lib/unictype/pr_paragraph_separator.h: Likewise.
58508         * lib/unictype/pr_pattern_syntax.h: Likewise.
58509         * lib/unictype/pr_pattern_white_space.h: Likewise.
58510         * lib/unictype/pr_private_use.h: Likewise.
58511         * lib/unictype/pr_punctuation.h: Likewise.
58512         * lib/unictype/pr_quotation_mark.h: Likewise.
58513         * lib/unictype/pr_radical.h: Likewise.
58514         * lib/unictype/pr_sentence_terminal.h: Likewise.
58515         * lib/unictype/pr_soft_dotted.h: Likewise.
58516         * lib/unictype/pr_space.h: Likewise.
58517         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58518         * lib/unictype/pr_titlecase.h: Likewise.
58519         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58520         * lib/unictype/pr_unified_ideograph.h: Likewise.
58521         * lib/unictype/pr_uppercase.h: Likewise.
58522         * lib/unictype/pr_variation_selector.h: Likewise.
58523         * lib/unictype/pr_white_space.h: Likewise.
58524         * lib/unictype/pr_xid_continue.h: Likewise.
58525         * lib/unictype/pr_xid_start.h: Likewise.
58526         * lib/unictype/pr_zero_width.h: Likewise.
58527         * lib/unictype/scripts.h: Likewise.
58528         * lib/unictype/scripts_byname.gperf: Likewise.
58529         * lib/unictype/sy_c_ident.h: Likewise.
58530         * lib/unictype/sy_c_whitespace.h: Likewise.
58531         * lib/unictype/sy_java_ident.h: Likewise.
58532         * lib/unictype/sy_java_whitespace.h: Likewise.
58533
58534         * lib/unictype/Makefile: New file.
58535         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58536         glibc.
58537         * lib/unictype/3level.h: New file, copied from glibc.
58538         * lib/unictype/3levelbit.h: New file.
58539
58540 2007-11-11  Bruno Haible  <bruno@clisp.org>
58541
58542         * modules/gperf: New file.
58543         * modules/iconv_open (Depends-on): Add it.
58544         (Makefile.am): Remove the GPERF definition.
58545
58546 2007-11-11  Bruno Haible  <bruno@clisp.org>
58547
58548         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58549         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58550
58551 2007-11-11  Bruno Haible  <bruno@clisp.org>
58552
58553         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58554         (usage): Remove function.
58555
58556 2007-11-11  Bruno Haible  <bruno@clisp.org>
58557
58558         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58559         gl_FUNC_CEILF_LIBS.
58560         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58561         gl_FUNC_CEIL_LIBS.
58562         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58563         gl_FUNC_CEILL_LIBS.
58564         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58565         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58566         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58567
58568 2007-11-11  Bruno Haible  <bruno@clisp.org>
58569
58570         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58571         roundf were declared but do not exist on functions.
58572         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58573         roundl were declared but do not exist on functions.
58574         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58575         HAVE_FLOORL_AND_CEILL, respectively.
58576         Needed for Sun C on Solaris 10.
58577
58578 2007-11-11  Bruno Haible  <bruno@clisp.org>
58579
58580         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58581         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58582         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58583         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58584         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58585         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58586         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58587         HAVE_DECL_ROUNDF.
58588         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58589         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58591         of HAVE_DECL_ROUND*.
58592         * modules/math (Makefile.am): Update.
58593
58594 2007-11-10  Bruno Haible  <bruno@clisp.org>
58595
58596         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58597         ptrdiff_t as m4/intl.m4.
58598
58599 2007-11-10  Jim Meyering  <meyering@redhat.com>
58600
58601         Avoid link failure for the argmatch test.
58602         * tests/test-argmatch.c (usage): Define function to avoid a link
58603         failure: argmatch_die requires a usage function.
58604
58605 2007-11-09  Bruno Haible  <bruno@clisp.org>
58606
58607         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58608         * doc/functions/vsnprintf.texi: Likewise.
58609         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58610         with a size argument < 2.
58611
58612 2007-11-09  Bruno Haible  <bruno@clisp.org>
58613
58614         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58615         buffer. Fixes an inefficiency introduced on 2007-11-03.
58616
58617 2007-11-09  Bruno Haible  <bruno@clisp.org>
58618
58619         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58620         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58621
58622 2007-11-08  Jim Meyering  <meyering@redhat.com>
58623
58624         Change cache variable name prefix "jm_" to "gl_" everywhere.
58625         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58626         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58627         * m4/uptime.m4: s/gl_/jm_/
58628
58629 2007-11-07  Bruno Haible  <bruno@clisp.org>
58630
58631         Update to GNU gettext 0.17.
58632         * m4/intl.m4: Update to GNU gettext 0.17.
58633         * m4/po.m4: Likewise.
58634         * modules/gettext (Files): Remove m4/ulonglong.m4.
58635         (configure.ac): Require gettext infrastructure from version 0.17.
58636
58637 2007-11-06  Bruno Haible  <bruno@clisp.org>
58638
58639         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58640         symbolic values are not defined in a public header.
58641         * lib/freadable.c (freadable) [QNX]: Likewise.
58642         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58643         * lib/freading.c (freading) [QNX]: Likewise.
58644         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58645         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58646         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58647         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58648         Reported by Alain Magloire.
58649
58650         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58651
58652 2007-11-05  Bruno Haible  <bruno@clisp.org>
58653
58654         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58655         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58656         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58657         Reported by Eric Blake.
58658
58659 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58660             Bruno Haible  <bruno@clisp.org>
58661
58662         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58663         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58664         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58665         (malloc): Undefine also before including <stdlib.h>.
58666         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58667         Needed on OSF/1 4.0.
58668
58669 2007-11-05  Jim Meyering  <meyering@redhat.com>
58670
58671         git-version-gen: sync from coreutils.
58672         * build-aux/git-version-gen: Add comments.
58673         Change the first '-' to '.' in the snapshot version string,
58674         e.g., 6.9-377-08144 -> 6.9.377-08144
58675         Remove first parameter.
58676         Don't declare a version "-dirty" merely because a time
58677         stamp has changed.
58678
58679 2007-11-04  Bruno Haible  <bruno@clisp.org>
58680
58681         * lib/lock.h: Protect all macro definitions containing an 'if'
58682         statement through a "do { ... } while (0)".
58683         * lib/tls.h: Likewise.
58684
58685 2007-11-04  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58688
58689 2007-11-04  Bruno Haible  <bruno@clisp.org>
58690
58691         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58692         * modules/fprintf-posix (Depends-on): Add nocrash.
58693         * modules/snprintf-posix (Depends-on): Likewise.
58694         * modules/sprintf-posix (Depends-on): Likewise.
58695         * modules/vasnprintf-posix (Depends-on): Likewise.
58696         * modules/vasprintf-posix (Depends-on): Likewise.
58697         * modules/vfprintf-posix (Depends-on): Likewise.
58698         * modules/vsnprintf-posix (Depends-on): Likewise.
58699         * modules/vsprintf-posix (Depends-on): Likewise.
58700         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58701         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58702         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58703         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58704         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58705         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58706         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58707
58708 2007-11-04  Bruno Haible  <bruno@clisp.org>
58709
58710         * modules/nocrash: New file.
58711         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58712         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58713
58714 2007-11-04  Bruno Haible  <bruno@clisp.org>
58715
58716         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58717         precision handling.
58718         * tests/test-vasprintf-posix.c (test_function): Likewise.
58719         * tests/test-snprintf-posix.h (test_function): Likewise.
58720         * tests/test-sprintf-posix.h (test_function): Likewise.
58721
58722         Fix *printf behaviour for large precisions on mingw and BeOS.
58723         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58724         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58725         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58726         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58727         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58728         gl_PRINTF_PRECISION and test its result. Invoke
58729         gl_PREREQ_VASNPRINTF_PRECISION.
58730         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58731         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58732         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58733         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58734         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58735         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58736         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58737         * doc/functions/fprintf.texi: Update.
58738         * doc/functions/printf.texi: Update.
58739         * doc/functions/snprintf.texi: Update.
58740         * doc/functions/sprintf.texi: Update.
58741         * doc/functions/vfprintf.texi: Update.
58742         * doc/functions/vprintf.texi: Update.
58743         * doc/functions/vsnprintf.texi: Update.
58744         * doc/functions/vsprintf.texi: Update.
58745
58746 2007-11-04  Bruno Haible  <bruno@clisp.org>
58747
58748         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58749
58750 2007-11-04  Bruno Haible  <bruno@clisp.org>
58751
58752         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58753         Reported by Sylvain Beucler <beuc@gnu.org>.
58754
58755 2007-11-03  Bruno Haible  <bruno@clisp.org>
58756
58757         * tests/test-fprintf-posix2.sh: New file.
58758         * tests/test-fprintf-posix2.c: New file.
58759         * modules/fprintf-posix-tests (Files): Add them.
58760         (TESTS): Add test-fprintf-posix2.sh.
58761         (configure.ac): Check for getrlimit and setrlimit.
58762         (check_PROGRAMS): Add test-fprintf-posix2.
58763
58764         * tests/test-printf-posix2.sh: New file.
58765         * tests/test-printf-posix2.c: New file.
58766         * modules/printf-posix-tests (Files): Add them.
58767         (TESTS): Add test-printf-posix2.sh.
58768         (configure.ac): Check for getrlimit and setrlimit.
58769         (check_PROGRAMS): Add test-printf-posix2.
58770
58771         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58772         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58773         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58774         (decode_double): New function, copied from decode_long_double.
58775         (scale10_round_decimal_decoded): New function, extracted from
58776         scale10_round_decimal_long_double.
58777         (scale10_round_decimal_long_double): Use it.
58778         (scale10_round_decimal_double): New function.
58779         (floorlog10): New function.
58780         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58781         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58782         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58783         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58784         gl_PRINTF_ENOMEM and test its result. Invoke
58785         gl_PREREQ_VASNPRINTF_ENOMEM.
58786         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58787         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58788         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58789         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58790         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58791         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58792         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58793         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58794         * modules/snprintf-posix (Depends-on): Likewise.
58795         * modules/sprintf-posix (Depends-on): Likewise.
58796         * modules/vasnprintf-posix (Depends-on): Likewise.
58797         * modules/vasprintf-posix (Depends-on): Likewise.
58798         * modules/vfprintf-posix (Depends-on): Likewise.
58799         * modules/vsnprintf-posix (Depends-on): Likewise.
58800         * modules/vsprintf-posix (Depends-on): Likewise.
58801         * doc/functions/fprintf.texi: Update.
58802         * doc/functions/printf.texi: Update.
58803         * doc/functions/snprintf.texi: Update.
58804         * doc/functions/sprintf.texi: Update.
58805         * doc/functions/vfprintf.texi: Update.
58806         * doc/functions/vprintf.texi: Update.
58807         * doc/functions/vsnprintf.texi: Update.
58808         * doc/functions/vsprintf.texi: Update.
58809
58810 2007-11-03  Bruno Haible  <bruno@clisp.org>
58811
58812         * modules/frexp-nolibm-tests: New file.
58813
58814         * modules/frexp-nolibm: New file.
58815         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58816
58817 2007-11-03  Bruno Haible  <bruno@clisp.org>
58818
58819         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58820         value is C99 compliant.
58821         Needed for OSF/1 5.1.
58822
58823 2007-11-03  Bruno Haible  <bruno@clisp.org>
58824
58825         Fix out-of-memory handling of vasnprintf.
58826         * lib/printf-parse.c: Include <errno.h>.
58827         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58828         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58829         is already set.
58830
58831 2007-11-02  Eric Blake  <ebb9@byu.net>
58832
58833         Fix tests on cygwin.
58834         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58835
58836 2007-11-01  Bruno Haible  <bruno@clisp.org>
58837
58838         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58839         warning.
58840         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58841         needed for POSIX compatibility.
58842
58843 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58844
58845         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58846         for compatibility with GNU.
58847
58848 2007-11-01  Bruno Haible  <bruno@clisp.org>
58849
58850         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58851         (putenv): Renamed from rpl_putenv. Change argument type from
58852         'const char *' to 'char *'.
58853         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58854         of defining putenv in config.h, just set REPLACE_PUTENV.
58855         * modules/putenv (Depends-on): Add stdlib.
58856         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58857         (Include): Use <stdlib.h>.
58858         * lib/stdlib.in.h (putenv): New declaration.
58859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58860         REPLACE_PUTENV.
58861         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58862         REPLACE_PUTENV.
58863         Needed for MacOS X 10.5.0.
58864         Reported by Peter O'Gorman <peter@pogma.com>.
58865
58866 2007-11-01  Jim Meyering  <meyering@redhat.com>
58867
58868         Treat an empty date string exactly like "0".
58869         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58870         if the remaining date string (to be parsed) is empty, use "0".
58871         Reported by Mischa Molhoek and discussed in this thread:
58872         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58873
58874 2007-10-31  Bruno Haible  <bruno@clisp.org>
58875
58876         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58877         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58878         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58879         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58880         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58881         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58882
58883 2007-10-31  Bruno Haible  <bruno@clisp.org>
58884
58885         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58886         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58887         (AC_TYPE_LONG_LONG_INT): Use it.
58888         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58889         it as well.
58890         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58891         to m4/longlong.m4.
58892         * modules/stdint (Files): Remove m4/ulonglong.m4.
58893         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58894         m4/ulonglong.m4.
58895         * modules/strtoumax (Files): Likewise.
58896
58897 2007-10-30  Bruno Haible  <bruno@clisp.org>
58898
58899         * modules/xvasprintf-posix: New file.
58900         Suggested by Eric Blake.
58901
58902 2007-10-30  Bruno Haible  <bruno@clisp.org>
58903
58904         * modules/xprintf-posix-tests: New file.
58905         * tests/test-xprintf-posix.sh: New file.
58906         * tests/test-xprintf-posix.c: New file.
58907         * tests/test-xfprintf-posix.c: New file.
58908
58909         * modules/xprintf-posix: New file.
58910
58911 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58912
58913         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58914         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58915         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58916
58917 2007-10-29  Bruno Haible  <bruno@clisp.org>
58918
58919         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58920         contain the special marker '_cv_'.
58921         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58922         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58923         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58924         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58925         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58926         Reported by Ralf Wildenhues.
58927
58928 2007-10-29  Bruno Haible  <bruno@clisp.org>
58929
58930         * gnulib-tool (func_import): When --lgpl is not specified, set
58931         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58932         GPLv3.
58933         Reported by Simon Josefsson.
58934
58935 2007-10-28  Bruno Haible  <bruno@clisp.org>
58936
58937         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58938         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58939         HAVE_DECL_ISFINITE.
58940         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58941         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58942         HAVE_DECL_ISFINITE.
58943
58944 2007-10-28  Bruno Haible  <bruno@clisp.org>
58945
58946         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58947         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58948
58949 2007-10-28  Bruno Haible  <bruno@clisp.org>
58950
58951         Fix link errors with Sun C 5.0 on Solaris 10.
58952         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58953         function is declared but not present in the compiler's libm.
58954         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58955         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58956         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58957         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58958         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58959         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58960         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58962         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58963         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58964         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58965         HAVE_DECL_FLOORL.
58966
58967 2007-10-28  Bruno Haible  <bruno@clisp.org>
58968
58969         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58970         gl_FUNC_FLOORL. Cache the result.
58971         (gl_FUNC_FLOORL): Use it.
58972         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58973         gl_FUNC_CEILL. Cache the result.
58974         (gl_FUNC_CEILL): Use it.
58975
58976         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58977         gl_FUNC_FLOOR. Cache the result.
58978         (gl_FUNC_FLOOR): Use it.
58979         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58980         gl_FUNC_CEIL. Cache the result.
58981         (gl_FUNC_CEIL): Use it.
58982
58983         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58984         gl_FUNC_FLOORF. Cache the result.
58985         (gl_FUNC_FLOORF): Use it.
58986         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58987         gl_FUNC_CEILF. Cache the result.
58988         (gl_FUNC_CEILF): Use it.
58989
58990 2007-10-28  Bruno Haible  <bruno@clisp.org>
58991
58992         * gnulib-tool: Allow specifying the LGPL version number through
58993         --lgpl=2 or --lgpl=3.
58994         (func_usage): Document --lgpl with argument.
58995         Handle --lgpl=... arguments.
58996         (func_import): Recognize also gl_LGPL calls with an argument. When
58997         --lgpl=2 is used and the module's license is just LGPL, report an
58998         error. Set sed_transform_lib_file according to the lgpl variable. In
58999         the generated files, use --lgpl or gl_LGPL invocations with argument,
59000         if necessary.
59001         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59002         an LGPv2+ license.
59003         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59004         gl_LGPL macro.
59005
59006 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59007             Bruno Haible  <bruno@clisp.org>
59008
59009         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59010         (u16_uctomb_aux): Likewise.
59011         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59012         !HAVE_INLINE.
59013         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59014
59015 2007-10-28  Bruno Haible  <bruno@clisp.org>
59016
59017         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59018         Invoke AM_GETTEXT_OPTION if it exists.
59019         * modules/vasprintf: Likewise.
59020         * modules/verror: Likewise.
59021         * modules/xprintf: Likewise.
59022         * modules/xvasprintf: Likewise.
59023
59024 2007-10-27  Ben Pfaff  <blp@gnu.org>
59025
59026         * lib/math.in.h: Define isfinite macro and prototypes for
59027         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59028         implementations.
59029         * m4/math_h.m4: New substitutions for isfinite module.
59030         * lib/isfinite.c: New file.
59031         * m4/isfinite.m4: New file.
59032         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59033         * modules/isfinite: New file.
59034         * modules/isfinite-tests: New file.
59035         * tests/tests-isfinite.c: New file.
59036         * doc/functions/isfinite.texi: Mention isfinite module.
59037         * MODULES.html.sh: Mention new module.
59038
59039 2007-10-27  Ben Pfaff  <blp@gnu.org>
59040
59041         Ralf Wildenhues reported that Tru64 4.0D declares the round
59042         functions but does not have definitions.
59043         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59044         cannot be found in any library, set the output variable to
59045         "missing" instead of "".
59046         * m4/round.m4: Also use our substitute if we cannot find round in
59047         any library, even if it is declared.
59048         * m4/roundf.m4: Likewise for roundf.
59049         * m4/roundl.m4: Likewise for roundl.
59050         * lib/math.in.h: Undefine roundf, round, roundl before defining
59051         their replacements, to allow for hypothetical systems where these
59052         may be defined as macros but not available in libraries.
59053
59054 2007-10-27  Bruno Haible  <bruno@clisp.org>
59055
59056         * doc/gnulib.texi: Invoke @firstparagraphindent.
59057         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59058         changes in gnulib.
59059         (Source changes): New section.
59060
59061 2007-10-26  Bruno Haible  <bruno@clisp.org>
59062
59063         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59064         borrowed from autoconf.
59065
59066 2007-10-26  Bruno Haible  <bruno@clisp.org>
59067
59068         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59069         strerror returned the empty string. Needed on HP-UX 11.00.
59070
59071 2007-10-24  Micah Cowan  <micah@cowan.name>
59072
59073         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59074         * build-aux/bootstrap: Remove support for now-unnecessary option,
59075         --cvs-user, and envvars CVS_USER, CVS_RSH.
59076
59077 2007-10-24  Jim Meyering  <meyering@redhat.com>
59078
59079         Avoid diagnostics from sha1sum when there is no cached checksum.
59080         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59081         if the po.s1 file hasn't been created yet.
59082
59083         * build-aux/bootstrap: Sync from coreutils:
59084         2007-10-24  Jim Meyering  <meyering@redhat.com>
59085         Get gnulib from the git repository, not from an obsolete cvs one.
59086         * build-aux/bootstrap: Suggestion from Micah Cowan.
59087         2007-10-04  Jim Meyering  <jim@meyering.net>
59088         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59089         (update_po_files): Work also when there are no .po files in po/.
59090
59091 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59092
59093         * README: Append ".git" to git and cg examples.
59094         Problem reported by Benoit Sigoure.
59095
59096 2007-10-23  Micah Cowan  <micah@cowan.name>
59097
59098         * users.txt: Add wget.
59099
59100 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59101
59102         Fix linking of some unistdio tests on FreeBSD.
59103         * modules/unistdio/u16-vsnprintf-tests
59104         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59105         * modules/unistdio/u16-vsprintf-tests
59106         (test_u16_vsnprintf1_LDADD): Likewise.
59107         * modules/unistdio/u32-vsnprintf-tests
59108         (test_u32_vsnprintf1_LDADD): Likewise.
59109         * modules/unistdio/u32-vsprintf-tests
59110         (test_u32_vsprintf1_LDADD): Likewise.
59111         * modules/unistdio/u8-vsnprintf-tests
59112         (test_u8_vsnprintf1_LDADD): Likewise.
59113         * modules/unistdio/u8-vsprintf-tests
59114         (test_u8_vsprintf1_LDADD): Likewise.
59115         * modules/unistdio/ulc-vsnprintf-tests
59116         (test_ulc_vsnprintf1_LDADD): Likewise.
59117         * modules/unistdio/ulc-vsprintf-tests
59118         (test_ulc_vsprintf1_LDADD): Likewise.
59119
59120         Fix linking of some uniconv tests on FreeBSD.
59121         * modules/uniconv/u16-conv-from-enc-tests
59122         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59123         * modules/uniconv/u16-conv-to-enc-tests
59124         (test_u16_conv_to_enc_LDADD): Likewise.
59125         * modules/uniconv/u16-strconv-from-enc-tests
59126         (test_u16_strconv_from_enc_LDADD): Likewise.
59127         * modules/uniconv/u16-strconv-to-enc-tests
59128         (test_u16_strconv_to_enc_LDADD): Likewise.
59129         * modules/uniconv/u32-conv-from-enc-tests
59130         (test_u32_conv_from_enc_LDADD): Likewise.
59131         * modules/uniconv/u32-conv-to-enc-tests
59132         (test_u32_conv_to_enc_LDADD): Likewise.
59133         * modules/uniconv/u32-strconv-from-enc-tests
59134         (test_u32_strconv_from_enc_LDADD): Likewise.
59135         * modules/uniconv/u32-strconv-to-enc-tests
59136         (test_u32_strconv_to_enc_LDADD): Likewise.
59137         * modules/uniconv/u8-conv-from-enc-tests
59138         (test_u8_conv_from_enc_LDADD): Likewise.
59139         * modules/uniconv/u8-conv-to-enc-tests
59140         (test_u8_conv_to_enc_LDADD): Likewise.
59141         * modules/uniconv/u8-strconv-from-enc-tests
59142         (test_u8_strconv_from_enc_LDADD): Likewise.
59143         * modules/uniconv/u8-strconv-to-enc-tests
59144         (test_u8_strconv_to_enc_LDADD): Likewise.
59145
59146 2007-10-22  Bruno Haible  <bruno@clisp.org>
59147
59148         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59149         size.
59150
59151 2007-10-22  Eric Blake  <ebb9@byu.net>
59152
59153         Tweak x*printf documentation.
59154         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59155         variable name and comments.
59156         Suggested by Bruno Haible.
59157
59158 2007-10-22  Bruno Haible  <bruno@clisp.org>
59159
59160         * lib/acl.c (copy_acl): Fix file name in comment.
59161
59162 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         Fix Tru64 problem with stdbool.h.
59165         * lib/stdbool.in.h (false, true):
59166         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59167         Don't declare as an enum in this situation; it runs afoul of Tru64.
59168         Problem reported by Steven M. Schweda in
59169         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59170
59171 2007-10-22  Eric Blake  <ebb9@byu.net>
59172
59173         Also wrap vf?printf.
59174         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59175         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59176         (xvprintf, xvfprintf): New functions.
59177
59178 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59179
59180         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59181         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59182
59183         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59184         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59185
59186 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59187
59188         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59189         by Bruno Haible.
59190
59191 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59192
59193         * lib/getloadavg.c
59194         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59195         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59196
59197         * tests/test-i-ring.c: Work for C89.
59198
59199 2007-10-22  Bruno Haible  <bruno@clisp.org>
59200
59201         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59202         -1u, in preprocessor expression, so that we don't test for the bug
59203         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59204         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59205
59206 2007-10-22  Eric Blake  <ebb9@byu.net>
59207
59208         * tests/test-yesno.sh: Silence stderr during test.
59209
59210 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59211
59212         * modules/crypto/gc-camellia: New file.
59213
59214         * m4/gc-camellia.m4: New file.
59215
59216         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59217
59218         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59219
59220 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59221
59222         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59223         --help to stdout.  Reported by sms@antinode.org (Steven
59224         M. Schweda).
59225
59226 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59227
59228         * users.txt: Fix link to libksba.
59229
59230 2007-10-21  Ben Pfaff  <blp@gnu.org>
59231
59232         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59233         round.c roundf implementation that depends on floorf and ceilf to
59234         be tested unconditionally.
59235
59236 2007-10-21  Ben Pfaff  <blp@gnu.org>
59237
59238         * m4/check-libm-func.m4: Removed.
59239         * m4/check-math-lib.m4: New file.
59240         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59241         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59242         definition and lack of AC_LIBOBJ([roundf]).
59243         * m4/roundl.m4: Ditto, and similarly for roundl.
59244         * modules/round: Reference new m4 file.
59245         * modules/roundf: Ditto.
59246         * modules/roundl: Ditto.
59247         * tests/test-round2.c (main): Use ROUND instead of round.
59248         Bug report from Bruno Haible.
59249
59250 2007-10-21  Bruno Haible  <bruno@clisp.org>
59251
59252         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59253         context.
59254
59255 2007-10-21  Bruno Haible  <bruno@clisp.org>
59256
59257         * tests/test-wcwidth.c (main): Allow negative result for some control
59258         characters.
59259
59260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59261         Needed on OSF/1 5.1.
59262
59263 2007-10-21  Bruno Haible  <bruno@clisp.org>
59264
59265         * tests/test-floorf1.c: Include isnanf.h.
59266         (main): Use isnanf() instead of isnan().
59267         * tests/test-ceilf1.c: Include isnanf.h.
59268         (main): Use isnanf() instead of isnan().
59269         * tests/test-truncf1.c: Include isnanf.h.
59270         (main): Use isnanf() instead of isnan().
59271         * tests/test-roundf1.c: Include isnanf.h.
59272         (main): Use isnanf() instead of isnan().
59273
59274 2007-10-21  Eric Blake  <ebb9@byu.net>
59275
59276         * users.txt: Update URL for m4.
59277
59278 2007-10-21  Bruno Haible  <bruno@clisp.org>
59279
59280         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59281
59282 2007-10-21  Bruno Haible  <bruno@clisp.org>
59283
59284         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59285         Git's management files if the CVS files are not present.
59286
59287 2007-10-20  Bruno Haible  <bruno@clisp.org>
59288
59289         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59290         gcc-3.4.x.
59291
59292 2007-10-20  Ben Pfaff  <blp@gnu.org>
59293
59294         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59295         implementations.
59296         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59297         * lib/round.c: New file.
59298         * lib/roundf.c: New file.
59299         * lib/roundl.c: New file.
59300         * m4/round.m4: New file.
59301         * m4/roundf.m4: New file.
59302         * m4/roundl.m4: New file.
59303         * m4/check-libm-func-m4: New file.
59304         * modules/math: Replace round, roundf, roundl related @VARS@ in
59305         math.in.h.
59306         * modules/round: New file.
59307         * modules/round-tests: New file.
59308         * modules/roundf: New file.
59309         * modules/roundf-tests: New file.
59310         * modules/roundl: New file.
59311         * modules/roundl-tests: New file.
59312         * tests/test-round1.c: New file.
59313         * tests/test-round2.c: New file.
59314         * tests/test-roundf1.c: New file.
59315         * tests/test-roundf2.c: New file.
59316         * tests/test-roundl.c: New file.
59317         * doc/functions/round.texi: Mention round module.
59318         * doc/functions/roundf.texi: Mention roundf module.
59319         * doc/functions/roundl.texi: Mention roundl module.
59320         * MODULES.html.sh: Mention new modules.
59321         Thanks to Bruno Haible for suggestions.
59322
59323 2007-10-20  Jim Meyering  <meyering@redhat.com>
59324
59325         * lib/xprintf.c: Include <config.h> unconditionally.
59326
59327         Change xprintf's license to GPL.
59328         * modules/xprintf (License): s/LGPL/GPL/, since this module
59329         depends on modules (exit and exitfail) which are GPL.
59330         Suggestion from Bruno Haible.
59331
59332         xprintf fixes.
59333         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59334         Use a clearer diagnostic.
59335         Patch from Bruno Haible.
59336
59337 2007-10-20  Bruno Haible  <bruno@clisp.org>
59338
59339         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59340         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59341         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59342
59343 2007-10-20  Bruno Haible  <bruno@clisp.org>
59344
59345         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59346         precision in the comparison result > x - 1 or similar.
59347         * tests/test-ceilf2.c (correct_result_p): Likewise.
59348         * tests/test-truncf2.c (correct_result_p): Likewise.
59349         * tests/test-trunc2.c (correct_result_p): Likewise.
59350         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59351
59352 2007-10-20  Bruno Haible  <bruno@clisp.org>
59353
59354         * modules/ceil: New file.
59355         * m4/ceil.m4: New file.
59356         * doc/functions/ceil.texi: Mention the 'ceil' module.
59357
59358 2007-10-20  Bruno Haible  <bruno@clisp.org>
59359
59360         * modules/floor: New file.
59361         * m4/floor.m4: New file.
59362         * doc/functions/floor.texi: Mention the 'floor' module.
59363
59364 2007-10-20  Bruno Haible  <bruno@clisp.org>
59365
59366         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59367         of %a.
59368         * modules/floorf-tests (Depends-on): Likewise.
59369         * modules/truncf-tests (Depends-on): Likewise.
59370         * modules/trunc-tests (Depends-on): Likewise.
59371         Reported by Ben Pfaff.
59372
59373 2007-10-19  Jim Meyering  <meyering@redhat.com>
59374
59375         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59376         Don't bother testing specific errno values.  Just test ferror.
59377
59378         New module: xprintf
59379         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59380
59381 2007-10-19  Bruno Haible  <bruno@clisp.org>
59382
59383         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59384         syntax.
59385         * modules/javaexec (Makefile.am): Likewise.
59386         * modules/relocatable-prog (Makefile.am): Likewise.
59387         Suggested by Jim Meyering.
59388
59389 2007-10-18  Bruno Haible  <bruno@clisp.org>
59390
59391         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59392         Reported by Jim Meyering.
59393
59394 2007-10-18  Eric Blake  <ebb9@byu.net>
59395
59396         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59397
59398 2007-10-18  Bruno Haible  <bruno@clisp.org>
59399
59400         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59401         the format string into writable memory. Needed in Fortify conditions.
59402
59403 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59404             Bruno Haible  <bruno@clisp.org>
59405
59406         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59407         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59408         * modules/trim (Depends-on): Add mbchar.
59409         (configure.ac): Add gl_FUNC_MBRTOWC.
59410         (Makefile.am): Augment lib_SOURCES.
59411
59412 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59413
59414         Modify glob.c to use fstatat and dirfd, to simplify it.
59415         Suggested by Eric Blake.
59416         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59417         Don't include <stdbool.h>; not used.
59418         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59419         (link_exists_p): Simplify implementation, since we can now assume
59420         dirfd and fstatat.
59421         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59422
59423 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59424
59425         * gnulib-tool (func_get_dependencies): Fix sed script to
59426         match only tests.
59427
59428 2007-10-17  Bruno Haible  <bruno@clisp.org>
59429
59430         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59431         allow locale names without encoding suffix.
59432         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59433         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59434
59435 2007-10-16  Bruno Haible  <bruno@clisp.org>
59436
59437         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59438         * lib/getgroups.c (getgroups): Likewise.
59439         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59440
59441 2007-10-16  Bruno Haible  <bruno@clisp.org>
59442
59443         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59444         * modules/malloc-posix (License): Likewise.
59445         * modules/realloc-posix (License): Likewise.
59446         * modules/calloc-posix (License): Likewise.
59447         * modules/intprops (License): Change from GPL to LGPL, with
59448         Paul Eggert's approval.
59449
59450 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59451
59452         Merge glibc changes into lib/glob.c.
59453
59454         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59455         2007-10-15 04:59:03 UTC.  Here are the changes:
59456
59457         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59458
59459         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59460
59461         * lib/glob.c: Add some branch prediction throughout.
59462
59463         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59464
59465         [BZ #5103]
59466         * lib/glob.c (glob): Recognize patterns starting \/.
59467
59468         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59469
59470         [BZ #3996]
59471         * lib/glob.c (attribute_hidden): Define if not defined.
59472         (glob): Unescape dirname, filename or username when needed and not
59473         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59474         is NULL.  Handle unescaped [ in pattern without closing ].
59475         Don't pass GLOB_CHECK down to recursive glob for directories.
59476         (__glob_pattern_type): New function.
59477         (__glob_pattern_p): Implement using __glob_pattern_type.
59478         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59479         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59480         Remove unreachable code.
59481
59482         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59483
59484         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59485         explain why there are no leaks.
59486
59487         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59488
59489         [BZ #3253]
59490         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59491         time, rather allocate increasingly bigger arrays of pointers, if
59492         possible with alloca, if too large with malloc.
59493
59494 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59495
59496         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59497         Problem reported by H.Merijn Brand in
59498         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59499         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59500         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59501
59502 2007-10-15  Bruno Haible  <bruno@clisp.org>
59503
59504         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59505         with explicit rpl_ prefix.
59506         * lib/fopen.c (fopen): Likewise.
59507         * lib/freopen.c (freopen): Likewise.
59508         * lib/iconv.c (iconv): Likewise.
59509         * lib/iconv_close.c (iconv_close): Likewise.
59510
59511 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59512
59513         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59514
59515 2007-10-15  Bruno Haible  <bruno@clisp.org>
59516
59517         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59518         <stddef.h> instead of <stdlib.h> since we only need NULL.
59519         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59520
59521 2007-10-15  Bruno Haible  <bruno@clisp.org>
59522
59523         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59524         Replace paragraph talking about LIBOBJS.
59525         Reported by Colin Watson <cjwatson@debian.org>.
59526
59527 2007-10-15  Bruno Haible  <bruno@clisp.org>
59528
59529         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59530         <stdlib.h> before using NULL.
59531
59532 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59533
59534         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59535         Reported by Albert Chin <china@thewrittenword.com>.
59536
59537 2007-10-14  Bruno Haible  <bruno@clisp.org>
59538
59539         * modules/iconv_open-utf-tests: New file.
59540         * tests/test-iconv-utf.c: New file.
59541
59542         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59543         * modules/iconv_open-utf: New file.
59544         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59545         (iconv, iconv_close): New declarations.
59546         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59547         be defined.
59548         (iconv_open): Add special handling of conversion between UTF-8 and
59549         UTF-{16,32}{BE,LE}.
59550         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59551         * lib/iconv_close.c: New file.
59552         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59553         gl_FUNC_ICONV_OPEN.
59554         (gl_FUNC_ICONV_OPEN): Use it.
59555         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59556         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59557         and REPLACE_ICONV_UTF.
59558         * modules/iconv_open (Depends-on): Add c-strcase.
59559         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59560         ICONV_CONST.
59561         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59562
59563 2007-10-13  Albert Chin  <china@thewrittenword.com>
59564             Bruno Haible  <bruno@clisp.org>
59565
59566         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59567         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59568
59569 2007-10-13  Bruno Haible  <bruno@clisp.org>
59570
59571         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59572         defined, use the ISO C99 inline semantics.
59573         * lib/argp.h (ARGP_EI): Likewise.
59574
59575 2007-10-13  Bruno Haible  <bruno@clisp.org>
59576
59577         Handle 'inline' change in gcc 4.3.0.
59578         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59579         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59580         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59581         argp_fmtstream_point): Disable 'extern' declaration if the function
59582         definition is going to be provided inline.
59583         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59584         semantics, not the ISO C99 inline semantics.
59585         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59586         'extern' declaration if the function definition is going to be provided
59587         inline.
59588         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59589         the GNU C inline semantics, not the ISO C99 inline semantics. With
59590         GCC 4.2, avoid a warning.
59591
59592 2007-10-13  Bruno Haible  <bruno@clisp.org>
59593
59594         * lib/freading.h (freading): Enable the use of __freading for
59595         glibc >= 2.7.
59596         * lib/freading.c (freading): Likewise.
59597
59598 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59599
59600         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59601         "warning: C99 inline functions are not supported; using GNU89".
59602
59603 2007-10-12  Bruno Haible  <bruno@clisp.org>
59604
59605         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59606         of 2.
59607         * tests/test-ceilf2.c: New file.
59608         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59609
59610         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59611         * modules/ceilf-tests: Update.
59612
59613 2007-10-12  Bruno Haible  <bruno@clisp.org>
59614
59615         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59616         of 2.
59617         * tests/test-floorf2.c: New file.
59618         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59619
59620         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59621         * modules/floorf-tests: Update.
59622
59623 2007-10-12  Bruno Haible  <bruno@clisp.org>
59624
59625         * tests/test-trunc2.c: New file.
59626         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59627
59628         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59629         * modules/trunc-tests: Update.
59630
59631 2007-10-12  Bruno Haible  <bruno@clisp.org>
59632
59633         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59634         of 2.
59635         * tests/test-truncf2.c: New file.
59636         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59637
59638         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59639         * modules/truncf-tests: Update.
59640
59641 2007-10-11  Eric Blake  <ebb9@byu.net>
59642
59643         Don't claim strerror is broken on Interix.
59644         * doc/functions/strerror.texi (strerror): Known broken systems are
59645         now Solaris 8, and not Interix.
59646         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59647         Interix on cross-compile.
59648         Reported by Martin Koeppe in
59649         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59650
59651 2007-10-11  Bruno Haible  <bruno@clisp.org>
59652
59653         * modules/i-ring-tests: New file.
59654         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59655         instead of assert.
59656
59657 2007-10-11  Bruno Haible  <bruno@clisp.org>
59658
59659         * modules/filenamecat-tests: New file.
59660         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59661         * lib/filenamecat.c: Remove test code.
59662
59663 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59664
59665         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59666
59667         * lib/strerror.c: Include <string.h> always, to test interface,
59668         and to remove the need for the dummy.
59669         Include intprops.h to compute width instead of doing it ourselves
59670         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59671         (strerror): Define it to return NULL if there's no system strerror.
59672         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59673         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59674         ancient pre-strerror Unix systems well any more.  Saying "unknown
59675         system error" is enough.
59676         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59677         simpler strerror.c implementation.
59678         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59679         Simplify the tests to reflect the simpler strerror implementation.
59680         * modules/strerror (Depends-on): Add intprops.
59681
59682 2007-10-09  Eric Blake  <ebb9@byu.net>
59683
59684         Silence test-fpending.
59685         * modules/fpending-tests (Files): Add wrapper script.
59686         * tests/test-fpending.sh: New file.
59687
59688 2007-10-09  Bruno Haible  <bruno@clisp.org>
59689
59690         * MODULES.html.sh (func_module): Don't create a hyperlink for
59691         function names like 'printf_frexp'.
59692         (Misc): Add crc, memxor.
59693         (Characteristics of floating types): New section.
59694         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59695         isnanf-nolibm, signbit, trunc, truncf, truncl.
59696         (Enhancements for ISO C 99 functions): New subsection Input/output.
59697         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59698         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59699         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59700         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59701         (Enhancements for POSIX:2001 functions): Add chdir-long.
59702         (File system functions): Add areadlink, chdir-safer, read-file.
59703         Remove cycle-check.
59704         (File system as inode set): New section.
59705         (Date and time): Add gethrxtime.
59706         (Multithreading): Add openmp.
59707         (Internationalization functions): Add localename.
59708         (Unicode string functions): Add unistr/u*-mbsnlen.
59709         (Support for maintaining and releasing projects): Add git-version-gen.
59710         (Lone files): Remove directories.
59711
59712 2007-10-08  Ben Pfaff  <blp@gnu.org>
59713
59714         * lib/xmalloca.h: Fix typo in comment.
59715
59716 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59717
59718         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59719         when avoiding problems with integer overflow.  Use a portable test
59720         instead.
59721
59722 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59723
59724         * modules/dummy (License): Change to LGPLv2+.
59725         * modules/float (License): Likewise
59726         * modules/realloc (License): Likewise
59727         * modules/stdlib (License): Likewise
59728
59729 2007-10-07  Bruno Haible  <bruno@clisp.org>
59730
59731         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59732         * floor.c (TWO_MANT_DIG): Likewise.
59733         * ceil.c (TWO_MANT_DIG): Likewise.
59734         Reported by Ben Pfaff.
59735
59736 2007-10-07  Bruno Haible  <bruno@clisp.org>
59737
59738         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59739         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59740         * lib/frexp.c (FUNC): Likewise.
59741         * lib/printf-frexp.h (printf_frexp): Likewise.
59742         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59743         * lib/printf-frexp.c (FUNC): Likewise.
59744         Suggested by Jim Meyering.
59745
59746 2007-10-07  Jim Meyering  <meyering@redhat.com>
59747
59748         Make xnanosleep's integer overflow test more robust.
59749         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59750         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59751
59752 2007-10-07  Bruno Haible  <bruno@clisp.org>
59753
59754         * NEWS: Mention the license change.
59755
59756         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59757         abbreviations in the modules files.
59758
59759         Change copyright notice from GPLv2+ to GPLv3+.
59760         * README: Change copyright notice.
59761         * MODULES.html.sh: Likewise.
59762         * build-aux/bootstrap.conf: Likewise.
59763         * build-aux/config.libpath: Likewise.
59764         * build-aux/csharpcomp.sh.in: Likewise.
59765         * build-aux/csharpexec.sh.in: Likewise.
59766         * build-aux/install-reloc: Likewise.
59767         * build-aux/javacomp.sh.in: Likewise.
59768         * build-aux/javaexec.sh.in: Likewise.
59769         * build-aux/ldd.sh.in: Likewise.
59770         * build-aux/reloc-ldflags: Likewise.
59771         * build-aux/relocatable.sh.in: Likewise.
59772         * build-aux/x-to-1.in: Likewise.
59773         * check-module: Likewise.
59774         * config/srclistvars.sh: Likewise.
59775         * gnulib-tool: Likewise.
59776         * lib/acl-internal.h: Likewise.
59777         * lib/acl.c: Likewise.
59778         * lib/acl.h: Likewise.
59779         * lib/acl_entries.c: Likewise.
59780         * lib/areadlink-with-size.c: Likewise.
59781         * lib/areadlink.c: Likewise.
59782         * lib/areadlink.h: Likewise.
59783         * lib/argmatch.c: Likewise.
59784         * lib/argmatch.h: Likewise.
59785         * lib/argp-ba.c: Likewise.
59786         * lib/argp-eexst.c: Likewise.
59787         * lib/argp-fmtstream.c: Likewise.
59788         * lib/argp-fmtstream.h: Likewise.
59789         * lib/argp-fs-xinl.c: Likewise.
59790         * lib/argp-help.c: Likewise.
59791         * lib/argp-namefrob.h: Likewise.
59792         * lib/argp-parse.c: Likewise.
59793         * lib/argp-pin.c: Likewise.
59794         * lib/argp-pv.c: Likewise.
59795         * lib/argp-pvh.c: Likewise.
59796         * lib/argp-xinl.c: Likewise.
59797         * lib/argp.h: Likewise.
59798         * lib/at-func.c: Likewise.
59799         * lib/atanl.c: Likewise.
59800         * lib/backupfile.c: Likewise.
59801         * lib/backupfile.h: Likewise.
59802         * lib/basename.c: Likewise.
59803         * lib/binary-io.h: Likewise.
59804         * lib/byteswap.in.h: Likewise.
59805         * lib/c-stack.c: Likewise.
59806         * lib/c-stack.h: Likewise.
59807         * lib/c-strcasestr.c: Likewise.
59808         * lib/c-strcasestr.h: Likewise.
59809         * lib/c-strstr.c: Likewise.
59810         * lib/c-strstr.h: Likewise.
59811         * lib/c-strtod.c: Likewise.
59812         * lib/calloc.c: Likewise.
59813         * lib/canon-host.c: Likewise.
59814         * lib/canon-host.h: Likewise.
59815         * lib/canonicalize-lgpl.c: Likewise.
59816         * lib/canonicalize.c: Likewise.
59817         * lib/canonicalize.h: Likewise.
59818         * lib/ceil.c: Likewise.
59819         * lib/ceilf.c: Likewise.
59820         * lib/ceill.c: Likewise.
59821         * lib/chdir-long.c: Likewise.
59822         * lib/chdir-long.h: Likewise.
59823         * lib/chdir-safer.c: Likewise.
59824         * lib/chdir-safer.h: Likewise.
59825         * lib/chown.c: Likewise.
59826         * lib/classpath.c: Likewise.
59827         * lib/classpath.h: Likewise.
59828         * lib/clean-temp.c: Likewise.
59829         * lib/clean-temp.h: Likewise.
59830         * lib/cloexec.c: Likewise.
59831         * lib/close-stream.c: Likewise.
59832         * lib/closein.c: Likewise.
59833         * lib/closein.h: Likewise.
59834         * lib/closeout.c: Likewise.
59835         * lib/closeout.h: Likewise.
59836         * lib/concat-filename.c: Likewise.
59837         * lib/copy-file.c: Likewise.
59838         * lib/copy-file.h: Likewise.
59839         * lib/count-one-bits.h: Likewise.
59840         * lib/crc.c: Likewise.
59841         * lib/crc.h: Likewise.
59842         * lib/creat-safer.c: Likewise.
59843         * lib/csharpcomp.c: Likewise.
59844         * lib/csharpcomp.h: Likewise.
59845         * lib/csharpexec.c: Likewise.
59846         * lib/csharpexec.h: Likewise.
59847         * lib/cycle-check.c: Likewise.
59848         * lib/cycle-check.h: Likewise.
59849         * lib/diacrit.c: Likewise.
59850         * lib/diacrit.h: Likewise.
59851         * lib/diffseq.h: Likewise.
59852         * lib/dirchownmod.c: Likewise.
59853         * lib/dirent.in.h: Likewise.
59854         * lib/dirfd.c: Likewise.
59855         * lib/dirfd.h: Likewise.
59856         * lib/dirname.c: Likewise.
59857         * lib/dirname.h: Likewise.
59858         * lib/dummy.c: Likewise.
59859         * lib/dup-safer.c: Likewise.
59860         * lib/dup2.c: Likewise.
59861         * lib/eealloc.h: Likewise.
59862         * lib/error.c: Likewise.
59863         * lib/error.h: Likewise.
59864         * lib/euidaccess.c: Likewise.
59865         * lib/exclude.c: Likewise.
59866         * lib/exclude.h: Likewise.
59867         * lib/execute.c: Likewise.
59868         * lib/execute.h: Likewise.
59869         * lib/exitfail.c: Likewise.
59870         * lib/exitfail.h: Likewise.
59871         * lib/expl.c: Likewise.
59872         * lib/fatal-signal.c: Likewise.
59873         * lib/fatal-signal.h: Likewise.
59874         * lib/fbufmode.c: Likewise.
59875         * lib/fbufmode.h: Likewise.
59876         * lib/fchdir.c: Likewise.
59877         * lib/fchmodat.c: Likewise.
59878         * lib/fchownat.c: Likewise.
59879         * lib/fcntl--.h: Likewise.
59880         * lib/fcntl-safer.h: Likewise.
59881         * lib/fcntl.in.h: Likewise.
59882         * lib/fd-safer.c: Likewise.
59883         * lib/fflush.c: Likewise.
59884         * lib/file-has-acl.c: Likewise.
59885         * lib/file-set.c: Likewise.
59886         * lib/file-type.c: Likewise.
59887         * lib/file-type.h: Likewise.
59888         * lib/fileblocks.c: Likewise.
59889         * lib/filemode.c: Likewise.
59890         * lib/filemode.h: Likewise.
59891         * lib/filename.h: Likewise.
59892         * lib/filenamecat.c: Likewise.
59893         * lib/filenamecat.h: Likewise.
59894         * lib/findprog.c: Likewise.
59895         * lib/findprog.h: Likewise.
59896         * lib/float.in.h: Likewise.
59897         * lib/floor.c: Likewise.
59898         * lib/floorf.c: Likewise.
59899         * lib/floorl.c: Likewise.
59900         * lib/fopen-safer.c: Likewise.
59901         * lib/fopen.c: Likewise.
59902         * lib/fpending.c: Likewise.
59903         * lib/fpending.h: Likewise.
59904         * lib/fprintf.c: Likewise.
59905         * lib/fprintftime.h: Likewise.
59906         * lib/fpucw.h: Likewise.
59907         * lib/fpurge.c: Likewise.
59908         * lib/fpurge.h: Likewise.
59909         * lib/freadable.c: Likewise.
59910         * lib/freadable.h: Likewise.
59911         * lib/freadahead.c: Likewise.
59912         * lib/freadahead.h: Likewise.
59913         * lib/freading.c: Likewise.
59914         * lib/freading.h: Likewise.
59915         * lib/free.c: Likewise.
59916         * lib/freopen.c: Likewise.
59917         * lib/frexp.c: Likewise.
59918         * lib/frexpl.c: Likewise.
59919         * lib/fseek.c: Likewise.
59920         * lib/fseterr.c: Likewise.
59921         * lib/fseterr.h: Likewise.
59922         * lib/fstatat.c: Likewise.
59923         * lib/fstrcmp.c: Likewise.
59924         * lib/fstrcmp.h: Likewise.
59925         * lib/fsusage.c: Likewise.
59926         * lib/fsusage.h: Likewise.
59927         * lib/ftell.c: Likewise.
59928         * lib/ftello.c: Likewise.
59929         * lib/fts-cycle.c: Likewise.
59930         * lib/fts.c: Likewise.
59931         * lib/fts_.h: Likewise.
59932         * lib/full-read.c: Likewise.
59933         * lib/full-read.h: Likewise.
59934         * lib/full-write.c: Likewise.
59935         * lib/full-write.h: Likewise.
59936         * lib/fwritable.c: Likewise.
59937         * lib/fwritable.h: Likewise.
59938         * lib/fwriteerror.c: Likewise.
59939         * lib/fwriteerror.h: Likewise.
59940         * lib/fwriting.c: Likewise.
59941         * lib/fwriting.h: Likewise.
59942         * lib/gcd.c: Likewise.
59943         * lib/gcd.h: Likewise.
59944         * lib/getcwd.c: Likewise.
59945         * lib/getdate.h: Likewise.
59946         * lib/getdate.y: Likewise.
59947         * lib/getdomainname.c: Likewise.
59948         * lib/getdomainname.h: Likewise.
59949         * lib/getgroups.c: Likewise.
59950         * lib/gethostname.c: Likewise.
59951         * lib/gethrxtime.c: Likewise.
59952         * lib/gethrxtime.h: Likewise.
59953         * lib/getloadavg.c: Likewise.
59954         * lib/getndelim2.c: Likewise.
59955         * lib/getndelim2.h: Likewise.
59956         * lib/getnline.c: Likewise.
59957         * lib/getnline.h: Likewise.
59958         * lib/getopt.c: Likewise.
59959         * lib/getopt.in.h: Likewise.
59960         * lib/getopt1.c: Likewise.
59961         * lib/getopt_int.h: Likewise.
59962         * lib/getpagesize.h: Likewise.
59963         * lib/getsubopt.c: Likewise.
59964         * lib/gettime.c: Likewise.
59965         * lib/getugroups.c: Likewise.
59966         * lib/getugroups.h: Likewise.
59967         * lib/getusershell.c: Likewise.
59968         * lib/gl_anyavltree_list1.h: Likewise.
59969         * lib/gl_anyavltree_list2.h: Likewise.
59970         * lib/gl_anyhash_list1.h: Likewise.
59971         * lib/gl_anyhash_list2.h: Likewise.
59972         * lib/gl_anylinked_list1.h: Likewise.
59973         * lib/gl_anylinked_list2.h: Likewise.
59974         * lib/gl_anyrbtree_list1.h: Likewise.
59975         * lib/gl_anyrbtree_list2.h: Likewise.
59976         * lib/gl_anytree_list1.h: Likewise.
59977         * lib/gl_anytree_list2.h: Likewise.
59978         * lib/gl_anytree_oset.h: Likewise.
59979         * lib/gl_anytreehash_list1.h: Likewise.
59980         * lib/gl_anytreehash_list2.h: Likewise.
59981         * lib/gl_array_list.c: Likewise.
59982         * lib/gl_array_list.h: Likewise.
59983         * lib/gl_array_oset.c: Likewise.
59984         * lib/gl_array_oset.h: Likewise.
59985         * lib/gl_avltree_list.c: Likewise.
59986         * lib/gl_avltree_list.h: Likewise.
59987         * lib/gl_avltree_oset.c: Likewise.
59988         * lib/gl_avltree_oset.h: Likewise.
59989         * lib/gl_avltreehash_list.c: Likewise.
59990         * lib/gl_avltreehash_list.h: Likewise.
59991         * lib/gl_carray_list.c: Likewise.
59992         * lib/gl_carray_list.h: Likewise.
59993         * lib/gl_linked_list.c: Likewise.
59994         * lib/gl_linked_list.h: Likewise.
59995         * lib/gl_linkedhash_list.c: Likewise.
59996         * lib/gl_linkedhash_list.h: Likewise.
59997         * lib/gl_list.c: Likewise.
59998         * lib/gl_list.h: Likewise.
59999         * lib/gl_oset.c: Likewise.
60000         * lib/gl_oset.h: Likewise.
60001         * lib/gl_rbtree_list.c: Likewise.
60002         * lib/gl_rbtree_list.h: Likewise.
60003         * lib/gl_rbtree_oset.c: Likewise.
60004         * lib/gl_rbtree_oset.h: Likewise.
60005         * lib/gl_rbtreehash_list.c: Likewise.
60006         * lib/gl_rbtreehash_list.h: Likewise.
60007         * lib/gl_sublist.c: Likewise.
60008         * lib/gl_sublist.h: Likewise.
60009         * lib/group-member.c: Likewise.
60010         * lib/group-member.h: Likewise.
60011         * lib/hard-locale.c: Likewise.
60012         * lib/hard-locale.h: Likewise.
60013         * lib/hash-pjw.c: Likewise.
60014         * lib/hash-pjw.h: Likewise.
60015         * lib/hash-triple.c: Likewise.
60016         * lib/hash.c: Likewise.
60017         * lib/hash.h: Likewise.
60018         * lib/human.c: Likewise.
60019         * lib/human.h: Likewise.
60020         * lib/i-ring.c: Likewise.
60021         * lib/i-ring.h: Likewise.
60022         * lib/idcache.c: Likewise.
60023         * lib/imaxabs.c: Likewise.
60024         * lib/imaxdiv.c: Likewise.
60025         * lib/inet_pton.c: Likewise.
60026         * lib/inet_pton.h: Likewise.
60027         * lib/intprops.h: Likewise.
60028         * lib/inttostr.c: Likewise.
60029         * lib/inttostr.h: Likewise.
60030         * lib/inttypes.in.h: Likewise.
60031         * lib/isapipe.c: Likewise.
60032         * lib/isdir.c: Likewise.
60033         * lib/isnan.c: Likewise.
60034         * lib/isnan.h: Likewise.
60035         * lib/isnanf.c: Likewise.
60036         * lib/isnanf.h: Likewise.
60037         * lib/isnanl-nolibm.h: Likewise.
60038         * lib/isnanl.c: Likewise.
60039         * lib/isnanl.h: Likewise.
60040         * lib/javacomp.c: Likewise.
60041         * lib/javacomp.h: Likewise.
60042         * lib/javaexec.c: Likewise.
60043         * lib/javaexec.h: Likewise.
60044         * lib/javaversion.c: Likewise.
60045         * lib/javaversion.h: Likewise.
60046         * lib/javaversion.java: Likewise.
60047         * lib/lbrkprop.h: Likewise.
60048         * lib/lchmod.h: Likewise.
60049         * lib/lchown.c: Likewise.
60050         * lib/ldexpl.c: Likewise.
60051         * lib/linebreak.c: Likewise.
60052         * lib/linebreak.h: Likewise.
60053         * lib/linebuffer.c: Likewise.
60054         * lib/linebuffer.h: Likewise.
60055         * lib/locale.in.h: Likewise.
60056         * lib/logl.c: Likewise.
60057         * lib/long-options.c: Likewise.
60058         * lib/long-options.h: Likewise.
60059         * lib/lstat.c: Likewise.
60060         * lib/lstat.h: Likewise.
60061         * lib/math.in.h: Likewise.
60062         * lib/mbchar.c: Likewise.
60063         * lib/mbchar.h: Likewise.
60064         * lib/mbfile.h: Likewise.
60065         * lib/mbiter.h: Likewise.
60066         * lib/mbscasecmp.c: Likewise.
60067         * lib/mbscasestr.c: Likewise.
60068         * lib/mbschr.c: Likewise.
60069         * lib/mbscspn.c: Likewise.
60070         * lib/mbslen.c: Likewise.
60071         * lib/mbsncasecmp.c: Likewise.
60072         * lib/mbsnlen.c: Likewise.
60073         * lib/mbspbrk.c: Likewise.
60074         * lib/mbspcasecmp.c: Likewise.
60075         * lib/mbsrchr.c: Likewise.
60076         * lib/mbssep.c: Likewise.
60077         * lib/mbsspn.c: Likewise.
60078         * lib/mbsstr.c: Likewise.
60079         * lib/mbstok_r.c: Likewise.
60080         * lib/mbswidth.c: Likewise.
60081         * lib/mbswidth.h: Likewise.
60082         * lib/mbuiter.h: Likewise.
60083         * lib/memcasecmp.c: Likewise.
60084         * lib/memcasecmp.h: Likewise.
60085         * lib/memchr.c: Likewise.
60086         * lib/memcmp.c: Likewise.
60087         * lib/memcoll.c: Likewise.
60088         * lib/memcoll.h: Likewise.
60089         * lib/memcpy.c: Likewise.
60090         * lib/memrchr.c: Likewise.
60091         * lib/mkancesdirs.c: Likewise.
60092         * lib/mkdir-p.c: Likewise.
60093         * lib/mkdir-p.h: Likewise.
60094         * lib/mkdir.c: Likewise.
60095         * lib/mkdirat.c: Likewise.
60096         * lib/mkdtemp.c: Likewise.
60097         * lib/mkstemp-safer.c: Likewise.
60098         * lib/mkstemp.c: Likewise.
60099         * lib/modechange.c: Likewise.
60100         * lib/modechange.h: Likewise.
60101         * lib/mountlist.c: Likewise.
60102         * lib/mountlist.h: Likewise.
60103         * lib/mpsort.c: Likewise.
60104         * lib/nanosleep.c: Likewise.
60105         * lib/obstack.c: Likewise.
60106         * lib/obstack.h: Likewise.
60107         * lib/open-safer.c: Likewise.
60108         * lib/open.c: Likewise.
60109         * lib/openat-die.c: Likewise.
60110         * lib/openat-priv.h: Likewise.
60111         * lib/openat-proc.c: Likewise.
60112         * lib/openat.c: Likewise.
60113         * lib/openat.h: Likewise.
60114         * lib/pagealign_alloc.c: Likewise.
60115         * lib/pagealign_alloc.h: Likewise.
60116         * lib/physmem.c: Likewise.
60117         * lib/physmem.h: Likewise.
60118         * lib/pipe-safer.c: Likewise.
60119         * lib/pipe.c: Likewise.
60120         * lib/pipe.h: Likewise.
60121         * lib/posixtm.c: Likewise.
60122         * lib/posixtm.h: Likewise.
60123         * lib/posixver.c: Likewise.
60124         * lib/printf-frexp.c: Likewise.
60125         * lib/printf-frexp.h: Likewise.
60126         * lib/printf-frexpl.c: Likewise.
60127         * lib/printf-frexpl.h: Likewise.
60128         * lib/printf.c: Likewise.
60129         * lib/progname.c: Likewise.
60130         * lib/progname.h: Likewise.
60131         * lib/progreloc.c: Likewise.
60132         * lib/putenv.c: Likewise.
60133         * lib/quote.c: Likewise.
60134         * lib/quote.h: Likewise.
60135         * lib/quotearg.c: Likewise.
60136         * lib/quotearg.h: Likewise.
60137         * lib/raise.c: Likewise.
60138         * lib/readline.c: Likewise.
60139         * lib/readline.h: Likewise.
60140         * lib/readlink.c: Likewise.
60141         * lib/readtokens.c: Likewise.
60142         * lib/readtokens.h: Likewise.
60143         * lib/readtokens0.c: Likewise.
60144         * lib/readtokens0.h: Likewise.
60145         * lib/readutmp.c: Likewise.
60146         * lib/readutmp.h: Likewise.
60147         * lib/realloc.c: Likewise.
60148         * lib/relocwrapper.c: Likewise.
60149         * lib/rename-dest-slash.c: Likewise.
60150         * lib/rename.c: Likewise.
60151         * lib/rmdir.c: Likewise.
60152         * lib/rpmatch.c: Likewise.
60153         * lib/safe-read.c: Likewise.
60154         * lib/safe-read.h: Likewise.
60155         * lib/safe-write.c: Likewise.
60156         * lib/safe-write.h: Likewise.
60157         * lib/same-inode.h: Likewise.
60158         * lib/same.c: Likewise.
60159         * lib/same.h: Likewise.
60160         * lib/save-cwd.c: Likewise.
60161         * lib/save-cwd.h: Likewise.
60162         * lib/savedir.c: Likewise.
60163         * lib/savedir.h: Likewise.
60164         * lib/savewd.c: Likewise.
60165         * lib/savewd.h: Likewise.
60166         * lib/search.in.h: Likewise.
60167         * lib/setenv.c: Likewise.
60168         * lib/setenv.h: Likewise.
60169         * lib/settime.c: Likewise.
60170         * lib/sh-quote.c: Likewise.
60171         * lib/sh-quote.h: Likewise.
60172         * lib/sig2str.c: Likewise.
60173         * lib/sig2str.h: Likewise.
60174         * lib/signal.in.h: Likewise.
60175         * lib/signbitd.c: Likewise.
60176         * lib/signbitf.c: Likewise.
60177         * lib/signbitl.c: Likewise.
60178         * lib/sigprocmask.c: Likewise.
60179         * lib/sincosl.c: Likewise.
60180         * lib/sleep.c: Likewise.
60181         * lib/sprintf.c: Likewise.
60182         * lib/sqrtl.c: Likewise.
60183         * lib/stat-time.h: Likewise.
60184         * lib/stdio--.h: Likewise.
60185         * lib/stdio-safer.h: Likewise.
60186         * lib/stdlib--.h: Likewise.
60187         * lib/stdlib-safer.h: Likewise.
60188         * lib/stdlib.in.h: Likewise.
60189         * lib/stpcpy.c: Likewise.
60190         * lib/stpncpy.c: Likewise.
60191         * lib/strchrnul.c: Likewise.
60192         * lib/strcspn.c: Likewise.
60193         * lib/strerror.c: Likewise.
60194         * lib/strftime.c: Likewise.
60195         * lib/strftime.h: Likewise.
60196         * lib/striconveh.c: Likewise.
60197         * lib/striconveh.h: Likewise.
60198         * lib/striconveha.c: Likewise.
60199         * lib/striconveha.h: Likewise.
60200         * lib/stripslash.c: Likewise.
60201         * lib/strnlen1.c: Likewise.
60202         * lib/strnlen1.h: Likewise.
60203         * lib/strtod.c: Likewise.
60204         * lib/strtoimax.c: Likewise.
60205         * lib/strtok_r.c: Likewise.
60206         * lib/strtol.c: Likewise.
60207         * lib/strtoll.c: Likewise.
60208         * lib/strtoul.c: Likewise.
60209         * lib/strtoull.c: Likewise.
60210         * lib/sysexits.in.h: Likewise.
60211         * lib/tempname.c: Likewise.
60212         * lib/tempname.h: Likewise.
60213         * lib/timespec.h: Likewise.
60214         * lib/tls.c: Likewise.
60215         * lib/tls.h: Likewise.
60216         * lib/tmpdir.c: Likewise.
60217         * lib/tmpdir.h: Likewise.
60218         * lib/tmpfile-safer.c: Likewise.
60219         * lib/tmpfile.c: Likewise.
60220         * lib/trigl.c: Likewise.
60221         * lib/trigl.h: Likewise.
60222         * lib/trim.c: Likewise.
60223         * lib/trim.h: Likewise.
60224         * lib/trunc.c: Likewise.
60225         * lib/truncf.c: Likewise.
60226         * lib/truncl.c: Likewise.
60227         * lib/tsearch.c: Likewise.
60228         * lib/unicodeio.c: Likewise.
60229         * lib/unicodeio.h: Likewise.
60230         * lib/unistd--.h: Likewise.
60231         * lib/unistd-safer.h: Likewise.
60232         * lib/unistdio/ulc-fprintf.c: Likewise.
60233         * lib/unistdio/ulc-vfprintf.c: Likewise.
60234         * lib/unlinkdir.c: Likewise.
60235         * lib/unlinkdir.h: Likewise.
60236         * lib/unlocked-io.h: Likewise.
60237         * lib/unsetenv.c: Likewise.
60238         * lib/userspec.c: Likewise.
60239         * lib/utime.c: Likewise.
60240         * lib/utimecmp.c: Likewise.
60241         * lib/utimecmp.h: Likewise.
60242         * lib/utimens.c: Likewise.
60243         * lib/verify.h: Likewise.
60244         * lib/verror.c: Likewise.
60245         * lib/verror.h: Likewise.
60246         * lib/version-etc-fsf.c: Likewise.
60247         * lib/version-etc.c: Likewise.
60248         * lib/version-etc.h: Likewise.
60249         * lib/vfprintf.c: Likewise.
60250         * lib/vprintf.c: Likewise.
60251         * lib/vsprintf.c: Likewise.
60252         * lib/w32spawn.h: Likewise.
60253         * lib/wait-process.c: Likewise.
60254         * lib/wait-process.h: Likewise.
60255         * lib/wcwidth.c: Likewise.
60256         * lib/write-any-file.c: Likewise.
60257         * lib/xalloc-die.c: Likewise.
60258         * lib/xalloc.h: Likewise.
60259         * lib/xasprintf.c: Likewise.
60260         * lib/xgetcwd.c: Likewise.
60261         * lib/xgetcwd.h: Likewise.
60262         * lib/xgetdomainname.c: Likewise.
60263         * lib/xgetdomainname.h: Likewise.
60264         * lib/xgethostname.c: Likewise.
60265         * lib/xmalloc.c: Likewise.
60266         * lib/xmalloca.c: Likewise.
60267         * lib/xmalloca.h: Likewise.
60268         * lib/xmemcoll.c: Likewise.
60269         * lib/xnanosleep.c: Likewise.
60270         * lib/xreadlink.c: Likewise.
60271         * lib/xreadlink.h: Likewise.
60272         * lib/xsetenv.c: Likewise.
60273         * lib/xsetenv.h: Likewise.
60274         * lib/xstriconv.c: Likewise.
60275         * lib/xstriconv.h: Likewise.
60276         * lib/xstrndup.c: Likewise.
60277         * lib/xstrndup.h: Likewise.
60278         * lib/xstrtod.c: Likewise.
60279         * lib/xstrtod.h: Likewise.
60280         * lib/xstrtol-error.c: Likewise.
60281         * lib/xstrtol.c: Likewise.
60282         * lib/xstrtol.h: Likewise.
60283         * lib/xtime.h: Likewise.
60284         * lib/xvasprintf.c: Likewise.
60285         * lib/xvasprintf.h: Likewise.
60286         * lib/yesno.c: Likewise.
60287         * lib/yesno.h: Likewise.
60288         * posix-modules: Likewise.
60289         * tests/test-alloca-opt.c: Likewise.
60290         * tests/test-arcfour.c: Likewise.
60291         * tests/test-arctwo.c: Likewise.
60292         * tests/test-argmatch.c: Likewise.
60293         * tests/test-argp-2.sh: Likewise.
60294         * tests/test-argp.c: Likewise.
60295         * tests/test-arpa_inet.c: Likewise.
60296         * tests/test-array_list.c: Likewise.
60297         * tests/test-array_oset.c: Likewise.
60298         * tests/test-atexit.c: Likewise.
60299         * tests/test-avltree_list.c: Likewise.
60300         * tests/test-avltree_oset.c: Likewise.
60301         * tests/test-avltreehash_list.c: Likewise.
60302         * tests/test-base64.c: Likewise.
60303         * tests/test-binary-io.c: Likewise.
60304         * tests/test-byteswap.c: Likewise.
60305         * tests/test-c-ctype.c: Likewise.
60306         * tests/test-c-strcasecmp.c: Likewise.
60307         * tests/test-c-strcasestr.c: Likewise.
60308         * tests/test-c-strncasecmp.c: Likewise.
60309         * tests/test-c-strstr.c: Likewise.
60310         * tests/test-canonicalize-lgpl.c: Likewise.
60311         * tests/test-canonicalize.c: Likewise.
60312         * tests/test-carray_list.c: Likewise.
60313         * tests/test-ceilf.c: Likewise.
60314         * tests/test-ceill.c: Likewise.
60315         * tests/test-count-one-bits.c: Likewise.
60316         * tests/test-crc.c: Likewise.
60317         * tests/test-dirname.c: Likewise.
60318         * tests/test-fbufmode.c: Likewise.
60319         * tests/test-fcntl.c: Likewise.
60320         * tests/test-fflush.c: Likewise.
60321         * tests/test-floorf.c: Likewise.
60322         * tests/test-floorl.c: Likewise.
60323         * tests/test-fopen.c: Likewise.
60324         * tests/test-fprintf-posix.c: Likewise.
60325         * tests/test-fprintf-posix.h: Likewise.
60326         * tests/test-fpurge.c: Likewise.
60327         * tests/test-freadable.c: Likewise.
60328         * tests/test-freadahead.c: Likewise.
60329         * tests/test-freading.c: Likewise.
60330         * tests/test-freopen.c: Likewise.
60331         * tests/test-frexp.c: Likewise.
60332         * tests/test-frexpl.c: Likewise.
60333         * tests/test-fseek.c: Likewise.
60334         * tests/test-fseeko.c: Likewise.
60335         * tests/test-fseterr.c: Likewise.
60336         * tests/test-fstrcmp.c: Likewise.
60337         * tests/test-ftell.c: Likewise.
60338         * tests/test-ftello.c: Likewise.
60339         * tests/test-fwritable.c: Likewise.
60340         * tests/test-fwriting.c: Likewise.
60341         * tests/test-getaddrinfo.c: Likewise.
60342         * tests/test-getpass.c: Likewise.
60343         * tests/test-gettimeofday.c: Likewise.
60344         * tests/test-hmac-md5.c: Likewise.
60345         * tests/test-hmac-sha1.c: Likewise.
60346         * tests/test-iconv.c: Likewise.
60347         * tests/test-iconvme.c: Likewise.
60348         * tests/test-inttypes.c: Likewise.
60349         * tests/test-isnan.c: Likewise.
60350         * tests/test-isnanf.c: Likewise.
60351         * tests/test-isnanl-nolibm.c: Likewise.
60352         * tests/test-isnanl.c: Likewise.
60353         * tests/test-isnanl.h: Likewise.
60354         * tests/test-ldexpl.c: Likewise.
60355         * tests/test-linked_list.c: Likewise.
60356         * tests/test-linkedhash_list.c: Likewise.
60357         * tests/test-locale.c: Likewise.
60358         * tests/test-localename.c: Likewise.
60359         * tests/test-lock.c: Likewise.
60360         * tests/test-lseek.c: Likewise.
60361         * tests/test-malloca.c: Likewise.
60362         * tests/test-math.c: Likewise.
60363         * tests/test-mbscasecmp.c: Likewise.
60364         * tests/test-mbscasestr1.c: Likewise.
60365         * tests/test-mbscasestr2.c: Likewise.
60366         * tests/test-mbscasestr3.c: Likewise.
60367         * tests/test-mbscasestr4.c: Likewise.
60368         * tests/test-mbschr.c: Likewise.
60369         * tests/test-mbscspn.c: Likewise.
60370         * tests/test-mbsncasecmp.c: Likewise.
60371         * tests/test-mbspbrk.c: Likewise.
60372         * tests/test-mbspcasecmp.c: Likewise.
60373         * tests/test-mbsrchr.c: Likewise.
60374         * tests/test-mbsspn.c: Likewise.
60375         * tests/test-mbsstr1.c: Likewise.
60376         * tests/test-mbsstr2.c: Likewise.
60377         * tests/test-mbsstr3.c: Likewise.
60378         * tests/test-md5.c: Likewise.
60379         * tests/test-memmem.c: Likewise.
60380         * tests/test-netinet_in.c: Likewise.
60381         * tests/test-open.c: Likewise.
60382         * tests/test-printf-frexp.c: Likewise.
60383         * tests/test-printf-frexpl.c: Likewise.
60384         * tests/test-printf-posix.c: Likewise.
60385         * tests/test-printf-posix.h: Likewise.
60386         * tests/test-rbtree_list.c: Likewise.
60387         * tests/test-rbtree_oset.c: Likewise.
60388         * tests/test-rbtreehash_list.c: Likewise.
60389         * tests/test-read-file.c: Likewise.
60390         * tests/test-rijndael.c: Likewise.
60391         * tests/test-search.c: Likewise.
60392         * tests/test-signbit.c: Likewise.
60393         * tests/test-sleep.c: Likewise.
60394         * tests/test-snprintf-posix.c: Likewise.
60395         * tests/test-snprintf-posix.h: Likewise.
60396         * tests/test-snprintf.c: Likewise.
60397         * tests/test-sprintf-posix.c: Likewise.
60398         * tests/test-sprintf-posix.h: Likewise.
60399         * tests/test-stat-time.c: Likewise.
60400         * tests/test-stdbool.c: Likewise.
60401         * tests/test-stdint.c: Likewise.
60402         * tests/test-stdio.c: Likewise.
60403         * tests/test-stdlib.c: Likewise.
60404         * tests/test-stpncpy.c: Likewise.
60405         * tests/test-strcasestr.c: Likewise.
60406         * tests/test-striconv.c: Likewise.
60407         * tests/test-striconveh.c: Likewise.
60408         * tests/test-striconveha.c: Likewise.
60409         * tests/test-string.c: Likewise.
60410         * tests/test-sys_select.c: Likewise.
60411         * tests/test-sys_socket.c: Likewise.
60412         * tests/test-sys_stat.c: Likewise.
60413         * tests/test-sys_time.c: Likewise.
60414         * tests/test-sysexits.c: Likewise.
60415         * tests/test-time.c: Likewise.
60416         * tests/test-tls.c: Likewise.
60417         * tests/test-trunc.c: Likewise.
60418         * tests/test-truncf.c: Likewise.
60419         * tests/test-truncl.c: Likewise.
60420         * tests/test-unistd.c: Likewise.
60421         * tests/test-vasnprintf-posix.c: Likewise.
60422         * tests/test-vasnprintf-posix2.c: Likewise.
60423         * tests/test-vasnprintf.c: Likewise.
60424         * tests/test-vasprintf-posix.c: Likewise.
60425         * tests/test-vasprintf.c: Likewise.
60426         * tests/test-verify.c: Likewise.
60427         * tests/test-vfprintf-posix.c: Likewise.
60428         * tests/test-vprintf-posix.c: Likewise.
60429         * tests/test-vsnprintf-posix.c: Likewise.
60430         * tests/test-vsnprintf.c: Likewise.
60431         * tests/test-vsprintf-posix.c: Likewise.
60432         * tests/test-wchar.c: Likewise.
60433         * tests/test-wctype.c: Likewise.
60434         * tests/test-wcwidth.c: Likewise.
60435         * tests/test-xstrtol.c: Likewise.
60436         * tests/test-xvasprintf.c: Likewise.
60437         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60438         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60439         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60440         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60441         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60442         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60443         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60444         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60445         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60446         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60447         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60448         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60449         * tests/uniname/test-uninames.c: Likewise.
60450         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60451         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60452         * tests/unistdio/test-u16-printf1.h: Likewise.
60453         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60454         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60455         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60456         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60457         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60458         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60459         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60460         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60461         * tests/unistdio/test-u32-printf1.h: Likewise.
60462         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60463         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60464         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60465         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60466         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60467         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60468         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60469         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60470         * tests/unistdio/test-u8-printf1.h: Likewise.
60471         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60472         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60473         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60474         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60475         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60476         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60477         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60478         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60479         * tests/unistdio/test-ulc-printf1.h: Likewise.
60480         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60481         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60482         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60483         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60484         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60485         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60486         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60487         * tests/uniwidth/test-u16-width.c: Likewise.
60488         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60489         * tests/uniwidth/test-u32-width.c: Likewise.
60490         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60491         * tests/uniwidth/test-u8-width.c: Likewise.
60492         * tests/uniwidth/test-uc_width.c: Likewise.
60493         * config/srclist-update: Likewise.
60494         (fixlicense): Update to GPLv3+.
60495
60496         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60497         * tests/test-tsearch.c: Change copyright notice.
60498
60499         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60500         * lib/c-strcaseeq.h: Change copyright notice.
60501         * lib/streq.h: Likewise.
60502         * lib/uniconv.h: Likewise.
60503         * lib/uniconv/u-conv-from-enc.h: Likewise.
60504         * lib/uniconv/u-conv-to-enc.h: Likewise.
60505         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60506         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60507         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60508         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60509         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60510         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60511         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60512         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60513         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60514         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60515         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60516         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60517         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60518         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60519         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60520         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60521         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60522         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60523         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60524         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60525         * lib/uniname.h: Likewise.
60526         * lib/uniname/uniname.c: Likewise.
60527         * lib/unistdio.h: Likewise.
60528         * lib/unistdio/u-asnprintf.h: Likewise.
60529         * lib/unistdio/u-asprintf.h: Likewise.
60530         * lib/unistdio/u-printf-args.c: Likewise.
60531         * lib/unistdio/u-printf-args.h: Likewise.
60532         * lib/unistdio/u-printf-parse.h: Likewise.
60533         * lib/unistdio/u-snprintf.h: Likewise.
60534         * lib/unistdio/u-sprintf.h: Likewise.
60535         * lib/unistdio/u-vasprintf.h: Likewise.
60536         * lib/unistdio/u-vsnprintf.h: Likewise.
60537         * lib/unistdio/u-vsprintf.h: Likewise.
60538         * lib/unistdio/u16-asnprintf.c: Likewise.
60539         * lib/unistdio/u16-asprintf.c: Likewise.
60540         * lib/unistdio/u16-printf-parse.c: Likewise.
60541         * lib/unistdio/u16-snprintf.c: Likewise.
60542         * lib/unistdio/u16-sprintf.c: Likewise.
60543         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60544         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60545         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60546         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60547         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60548         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60549         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60550         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60551         * lib/unistdio/u16-vasnprintf.c: Likewise.
60552         * lib/unistdio/u16-vasprintf.c: Likewise.
60553         * lib/unistdio/u16-vsnprintf.c: Likewise.
60554         * lib/unistdio/u16-vsprintf.c: Likewise.
60555         * lib/unistdio/u32-asnprintf.c: Likewise.
60556         * lib/unistdio/u32-asprintf.c: Likewise.
60557         * lib/unistdio/u32-printf-parse.c: Likewise.
60558         * lib/unistdio/u32-snprintf.c: Likewise.
60559         * lib/unistdio/u32-sprintf.c: Likewise.
60560         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60561         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60562         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60563         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60564         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60565         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60566         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60567         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60568         * lib/unistdio/u32-vasnprintf.c: Likewise.
60569         * lib/unistdio/u32-vasprintf.c: Likewise.
60570         * lib/unistdio/u32-vsnprintf.c: Likewise.
60571         * lib/unistdio/u32-vsprintf.c: Likewise.
60572         * lib/unistdio/u8-asnprintf.c: Likewise.
60573         * lib/unistdio/u8-asprintf.c: Likewise.
60574         * lib/unistdio/u8-printf-parse.c: Likewise.
60575         * lib/unistdio/u8-snprintf.c: Likewise.
60576         * lib/unistdio/u8-sprintf.c: Likewise.
60577         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60578         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60579         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60580         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60581         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60582         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60583         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60584         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60585         * lib/unistdio/u8-vasnprintf.c: Likewise.
60586         * lib/unistdio/u8-vasprintf.c: Likewise.
60587         * lib/unistdio/u8-vsnprintf.c: Likewise.
60588         * lib/unistdio/u8-vsprintf.c: Likewise.
60589         * lib/unistdio/ulc-asnprintf.c: Likewise.
60590         * lib/unistdio/ulc-asprintf.c: Likewise.
60591         * lib/unistdio/ulc-printf-parse.c: Likewise.
60592         * lib/unistdio/ulc-snprintf.c: Likewise.
60593         * lib/unistdio/ulc-sprintf.c: Likewise.
60594         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60595         * lib/unistdio/ulc-vasprintf.c: Likewise.
60596         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60597         * lib/unistdio/ulc-vsprintf.c: Likewise.
60598         * lib/unistr.h: Likewise.
60599         * lib/unistr/u-cpy-alloc.h: Likewise.
60600         * lib/unistr/u-cpy.h: Likewise.
60601         * lib/unistr/u-endswith.h: Likewise.
60602         * lib/unistr/u-move.h: Likewise.
60603         * lib/unistr/u-set.h: Likewise.
60604         * lib/unistr/u-startswith.h: Likewise.
60605         * lib/unistr/u-stpcpy.h: Likewise.
60606         * lib/unistr/u-stpncpy.h: Likewise.
60607         * lib/unistr/u-strcat.h: Likewise.
60608         * lib/unistr/u-strcpy.h: Likewise.
60609         * lib/unistr/u-strcspn.h: Likewise.
60610         * lib/unistr/u-strdup.h: Likewise.
60611         * lib/unistr/u-strlen.h: Likewise.
60612         * lib/unistr/u-strncat.h: Likewise.
60613         * lib/unistr/u-strncpy.h: Likewise.
60614         * lib/unistr/u-strnlen.h: Likewise.
60615         * lib/unistr/u-strpbrk.h: Likewise.
60616         * lib/unistr/u-strspn.h: Likewise.
60617         * lib/unistr/u-strstr.h: Likewise.
60618         * lib/unistr/u-strtok.h: Likewise.
60619         * lib/unistr/u16-check.c: Likewise.
60620         * lib/unistr/u16-chr.c: Likewise.
60621         * lib/unistr/u16-cmp.c: Likewise.
60622         * lib/unistr/u16-cpy-alloc.c: Likewise.
60623         * lib/unistr/u16-cpy.c: Likewise.
60624         * lib/unistr/u16-endswith.c: Likewise.
60625         * lib/unistr/u16-mblen.c: Likewise.
60626         * lib/unistr/u16-mbsnlen.c: Likewise.
60627         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60628         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60629         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60630         * lib/unistr/u16-mbtouc.c: Likewise.
60631         * lib/unistr/u16-mbtoucr.c: Likewise.
60632         * lib/unistr/u16-move.c: Likewise.
60633         * lib/unistr/u16-next.c: Likewise.
60634         * lib/unistr/u16-prev.c: Likewise.
60635         * lib/unistr/u16-set.c: Likewise.
60636         * lib/unistr/u16-startswith.c: Likewise.
60637         * lib/unistr/u16-stpcpy.c: Likewise.
60638         * lib/unistr/u16-stpncpy.c: Likewise.
60639         * lib/unistr/u16-strcat.c: Likewise.
60640         * lib/unistr/u16-strchr.c: Likewise.
60641         * lib/unistr/u16-strcmp.c: Likewise.
60642         * lib/unistr/u16-strcpy.c: Likewise.
60643         * lib/unistr/u16-strcspn.c: Likewise.
60644         * lib/unistr/u16-strdup.c: Likewise.
60645         * lib/unistr/u16-strlen.c: Likewise.
60646         * lib/unistr/u16-strmblen.c: Likewise.
60647         * lib/unistr/u16-strmbtouc.c: Likewise.
60648         * lib/unistr/u16-strncat.c: Likewise.
60649         * lib/unistr/u16-strncmp.c: Likewise.
60650         * lib/unistr/u16-strncpy.c: Likewise.
60651         * lib/unistr/u16-strnlen.c: Likewise.
60652         * lib/unistr/u16-strpbrk.c: Likewise.
60653         * lib/unistr/u16-strrchr.c: Likewise.
60654         * lib/unistr/u16-strspn.c: Likewise.
60655         * lib/unistr/u16-strstr.c: Likewise.
60656         * lib/unistr/u16-strtok.c: Likewise.
60657         * lib/unistr/u16-to-u32.c: Likewise.
60658         * lib/unistr/u16-to-u8.c: Likewise.
60659         * lib/unistr/u16-uctomb-aux.c: Likewise.
60660         * lib/unistr/u16-uctomb.c: Likewise.
60661         * lib/unistr/u32-check.c: Likewise.
60662         * lib/unistr/u32-chr.c: Likewise.
60663         * lib/unistr/u32-cmp.c: Likewise.
60664         * lib/unistr/u32-cpy-alloc.c: Likewise.
60665         * lib/unistr/u32-cpy.c: Likewise.
60666         * lib/unistr/u32-endswith.c: Likewise.
60667         * lib/unistr/u32-mblen.c: Likewise.
60668         * lib/unistr/u32-mbsnlen.c: Likewise.
60669         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60670         * lib/unistr/u32-mbtouc.c: Likewise.
60671         * lib/unistr/u32-mbtoucr.c: Likewise.
60672         * lib/unistr/u32-move.c: Likewise.
60673         * lib/unistr/u32-next.c: Likewise.
60674         * lib/unistr/u32-prev.c: Likewise.
60675         * lib/unistr/u32-set.c: Likewise.
60676         * lib/unistr/u32-startswith.c: Likewise.
60677         * lib/unistr/u32-stpcpy.c: Likewise.
60678         * lib/unistr/u32-stpncpy.c: Likewise.
60679         * lib/unistr/u32-strcat.c: Likewise.
60680         * lib/unistr/u32-strchr.c: Likewise.
60681         * lib/unistr/u32-strcmp.c: Likewise.
60682         * lib/unistr/u32-strcpy.c: Likewise.
60683         * lib/unistr/u32-strcspn.c: Likewise.
60684         * lib/unistr/u32-strdup.c: Likewise.
60685         * lib/unistr/u32-strlen.c: Likewise.
60686         * lib/unistr/u32-strmblen.c: Likewise.
60687         * lib/unistr/u32-strmbtouc.c: Likewise.
60688         * lib/unistr/u32-strncat.c: Likewise.
60689         * lib/unistr/u32-strncmp.c: Likewise.
60690         * lib/unistr/u32-strncpy.c: Likewise.
60691         * lib/unistr/u32-strnlen.c: Likewise.
60692         * lib/unistr/u32-strpbrk.c: Likewise.
60693         * lib/unistr/u32-strrchr.c: Likewise.
60694         * lib/unistr/u32-strspn.c: Likewise.
60695         * lib/unistr/u32-strstr.c: Likewise.
60696         * lib/unistr/u32-strtok.c: Likewise.
60697         * lib/unistr/u32-to-u16.c: Likewise.
60698         * lib/unistr/u32-to-u8.c: Likewise.
60699         * lib/unistr/u32-uctomb.c: Likewise.
60700         * lib/unistr/u8-check.c: Likewise.
60701         * lib/unistr/u8-chr.c: Likewise.
60702         * lib/unistr/u8-cmp.c: Likewise.
60703         * lib/unistr/u8-cpy-alloc.c: Likewise.
60704         * lib/unistr/u8-cpy.c: Likewise.
60705         * lib/unistr/u8-endswith.c: Likewise.
60706         * lib/unistr/u8-mblen.c: Likewise.
60707         * lib/unistr/u8-mbsnlen.c: Likewise.
60708         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60709         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60710         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60711         * lib/unistr/u8-mbtouc.c: Likewise.
60712         * lib/unistr/u8-mbtoucr.c: Likewise.
60713         * lib/unistr/u8-move.c: Likewise.
60714         * lib/unistr/u8-next.c: Likewise.
60715         * lib/unistr/u8-prev.c: Likewise.
60716         * lib/unistr/u8-set.c: Likewise.
60717         * lib/unistr/u8-startswith.c: Likewise.
60718         * lib/unistr/u8-stpcpy.c: Likewise.
60719         * lib/unistr/u8-stpncpy.c: Likewise.
60720         * lib/unistr/u8-strcat.c: Likewise.
60721         * lib/unistr/u8-strchr.c: Likewise.
60722         * lib/unistr/u8-strcmp.c: Likewise.
60723         * lib/unistr/u8-strcpy.c: Likewise.
60724         * lib/unistr/u8-strcspn.c: Likewise.
60725         * lib/unistr/u8-strdup.c: Likewise.
60726         * lib/unistr/u8-strlen.c: Likewise.
60727         * lib/unistr/u8-strmblen.c: Likewise.
60728         * lib/unistr/u8-strmbtouc.c: Likewise.
60729         * lib/unistr/u8-strncat.c: Likewise.
60730         * lib/unistr/u8-strncmp.c: Likewise.
60731         * lib/unistr/u8-strncpy.c: Likewise.
60732         * lib/unistr/u8-strnlen.c: Likewise.
60733         * lib/unistr/u8-strpbrk.c: Likewise.
60734         * lib/unistr/u8-strrchr.c: Likewise.
60735         * lib/unistr/u8-strspn.c: Likewise.
60736         * lib/unistr/u8-strstr.c: Likewise.
60737         * lib/unistr/u8-strtok.c: Likewise.
60738         * lib/unistr/u8-to-u16.c: Likewise.
60739         * lib/unistr/u8-to-u32.c: Likewise.
60740         * lib/unistr/u8-uctomb-aux.c: Likewise.
60741         * lib/unistr/u8-uctomb.c: Likewise.
60742         * lib/unitypes.h: Likewise.
60743         * lib/uniwidth.h: Likewise.
60744         * lib/uniwidth/cjk.h: Likewise.
60745         * lib/uniwidth/u16-strwidth.c: Likewise.
60746         * lib/uniwidth/u16-width.c: Likewise.
60747         * lib/uniwidth/u32-strwidth.c: Likewise.
60748         * lib/uniwidth/u32-width.c: Likewise.
60749         * lib/uniwidth/u8-strwidth.c: Likewise.
60750         * lib/uniwidth/u8-width.c: Likewise.
60751         * lib/uniwidth/width.c: Likewise.
60752
60753 2007-10-07  Bruno Haible  <bruno@clisp.org>
60754
60755         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60756         The file is still under LGPL (see modules/inttypes).
60757
60758 2007-10-06  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/trunc (Dependencies): Add 'extensions'.
60761         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60762         Reported by Ben Pfaff <blp@gnu.org>.
60763
60764 2007-10-06  Bruno Haible  <bruno@clisp.org>
60765
60766         * modules/freopen-tests: New file.
60767         * tests/test-freopen.c: New file.
60768
60769         * modules/fopen-tests: New file.
60770         * tests/test-fopen.c: New file.
60771
60772         * modules/fopen: New file.
60773         * lib/fopen.c: New file.
60774         * m4/fopen.m4: New file.
60775         * modules/freopen: New file.
60776         * lib/freopen.c: New file.
60777         * m4/freopen.m4: New file.
60778         * lib/stdio.in.h (fopen, freopen): New declarations.
60779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60780         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60781         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60782         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60783         * doc/functions/fopen.texi: Mention the 'fopen' module.
60784         * doc/functions/freopen.texi: Mention the 'freopen' module.
60785
60786 2007-10-06  Bruno Haible  <bruno@clisp.org>
60787
60788         * modules/open-tests: New file.
60789         * tests/test-open.c: New file.
60790
60791         * modules/open: New file.
60792         * lib/open.c: New file.
60793         * m4/open.m4: New file.
60794         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60795         lib/open.c does.
60796         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60797         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60798         macros.
60799         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60800         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60801         REPLACE_OPEN.
60802         * doc/functions/open.texi: Mention the 'open' module.
60803
60804 2007-10-04  Bruno Haible  <bruno@clisp.org>
60805
60806         * modules/ceill-tests: New file.
60807         * tests/test-ceill.c: New file.
60808
60809         * modules/ceill: New file.
60810         * lib/ceill.c: Replace entire file.
60811         * m4/ceill.m4: New file.
60812         * lib/math.in.h (ceill): Replace declaration.
60813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60814         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60815         * doc/functions/ceill.texi: Mention the 'ceill' module.
60816         * modules/mathl (Files): Remove lib/ceill.c.
60817         (Depends-on): Add ceill.
60818
60819 2007-10-04  Bruno Haible  <bruno@clisp.org>
60820
60821         * modules/ceilf-tests: New file.
60822         * tests/test-ceilf.c: New file.
60823
60824         * modules/ceilf: New file.
60825         * lib/ceil.c: New file.
60826         * lib/ceilf.c: New file.
60827         * m4/ceilf.m4: New file.
60828         * lib/math.in.h (ceilf): New declaration.
60829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60830         HAVE_DECL_CEILF.
60831         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60832         HAVE_DECL_CEILF.
60833         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60834
60835 2007-10-04  Bruno Haible  <bruno@clisp.org>
60836
60837         * modules/floorl-tests: New file.
60838         * tests/test-floorl.c: New file.
60839
60840         * modules/floorl: New file.
60841         * lib/floorl.c: Replace entire file.
60842         * m4/floorl.m4: New file.
60843         * lib/math.in.h (floorl): Replace declaration.
60844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60845         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60846         * doc/functions/floorl.texi: Mention the 'floorl' module.
60847         * modules/mathl (Files): Remove lib/floorl.c.
60848         (Depends-on): Add floorl.
60849
60850 2007-10-04  Bruno Haible  <bruno@clisp.org>
60851
60852         * modules/floorf-tests: New file.
60853         * tests/test-floorf.c: New file.
60854
60855         * modules/floorf: New file.
60856         * lib/floor.c: New file.
60857         * lib/floorf.c: New file.
60858         * m4/floorf.m4: New file.
60859         * lib/math.in.h (floorf): New declaration.
60860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60861         HAVE_DECL_FLOORF.
60862         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60863         HAVE_DECL_FLOORF.
60864         * doc/functions/floorf.texi: Mention the 'floorf' module.
60865
60866 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60867             Bruno Haible  <bruno@clisp.org>
60868
60869         Advertise for the Git server instead of the CVS server.
60870         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60871         repository instead of the CVS one.
60872         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60873         about all VCS systems generically.
60874         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60875
60876 2007-10-04  Bruno Haible  <bruno@clisp.org>
60877
60878         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60879         means.
60880         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60881
60882 2007-10-04  Bruno Haible  <bruno@clisp.org>
60883
60884         * modules/truncl-tests: New file.
60885         * tests/test-truncl.c: New file.
60886
60887         * modules/truncl: New file.
60888         * lib/truncl.c: New file.
60889         * m4/truncl.m4: New file.
60890         * lib/math.in.h (truncl): New declaration.
60891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60892         HAVE_DECL_TRUNCL.
60893         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60894         HAVE_DECL_TRUNCL.
60895         * doc/functions/truncl.texi: Mention the 'truncl' module.
60896
60897 2007-10-04  Bruno Haible  <bruno@clisp.org>
60898
60899         * modules/truncf-tests: New file.
60900         * tests/test-truncf.c: New file.
60901
60902         * modules/truncf: New file.
60903         * lib/trunc.c: Make paramerizable through USE_* macros.
60904         * lib/truncf.c: New file.
60905         * m4/truncf.m4: New file.
60906         * lib/math.in.h (truncf): New declaration.
60907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60908         HAVE_DECL_TRUNCF.
60909         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60910         HAVE_DECL_TRUNCF.
60911         * doc/functions/truncf.texi: Mention the 'truncf' module.
60912
60913 2007-10-03  Bruno Haible  <bruno@clisp.org>
60914
60915         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60916         augmentation also for tests modules.
60917         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60918         * modules/atexit-tests (Makefile.am): Likewise.
60919         * modules/binary-io-tests (Makefile.am): Likewise.
60920         * modules/c-strcase-tests (Makefile.am): Likewise.
60921         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60922         * modules/canonicalize-tests (Makefile.am): Likewise.
60923         * modules/closein-tests (Makefile.am): Likewise.
60924         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60925         * modules/freadahead-tests (Makefile.am): Likewise.
60926         * modules/fseek-tests (Makefile.am): Likewise.
60927         * modules/fseeko-tests (Makefile.am): Likewise.
60928         * modules/ftell-tests (Makefile.am): Likewise.
60929         * modules/ftello-tests (Makefile.am): Likewise.
60930         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60931         * modules/isnanl-tests (Makefile.am): Likewise.
60932         * modules/lseek-tests (Makefile.am): Likewise.
60933         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60934         * modules/mbscasestr-tests (Makefile.am): Likewise.
60935         * modules/mbschr-tests (Makefile.am): Likewise.
60936         * modules/mbscspn-tests (Makefile.am): Likewise.
60937         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60938         * modules/mbspbrk-tests (Makefile.am): Likewise.
60939         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60940         * modules/mbsrchr-tests (Makefile.am): Likewise.
60941         * modules/mbsspn-tests (Makefile.am): Likewise.
60942         * modules/mbsstr-tests (Makefile.am): Likewise.
60943         * modules/printf-posix-tests (Makefile.am): Likewise.
60944         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60945         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60946         * modules/tsearch-tests (Makefile.am): Likewise.
60947         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60948         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60949         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60950         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60951         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60952         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60953         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60954         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60955         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60956         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60957         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60958         * modules/xstrtol-tests (Makefile.am): Likewise.
60959         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60960         * modules/yesno-tests (Makefile.am): Likewise.
60961
60962 2007-10-03  Bruno Haible  <bruno@clisp.org>
60963
60964         * modules/trunc-tests: New file.
60965         * tests/test-trunc.c: New file.
60966
60967         * modules/trunc: New file.
60968         * lib/trunc.c: New file.
60969         * m4/trunc.m4: New file.
60970         * lib/math.in.h (trunc): New declaration.
60971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60972         HAVE_DECL_TRUNC.
60973         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60974         HAVE_DECL_TRUNC.
60975         * doc/functions/trunc.texi: Mention the 'trunc' module.
60976
60977 2007-10-03  Bruno Haible  <bruno@clisp.org>
60978
60979         * tests/test-fpending.c: New file, mostly copied
60980         from coreutils/lib/t-fpending.c.
60981         * modules/fpending-tests: New file.
60982
60983 2007-10-03  Bruno Haible  <bruno@clisp.org>
60984
60985         Port the stdio extensions to QNX (untested).
60986         * lib/fseterr.c (fseterr): Add support for QNX.
60987         * lib/fbufmode.c (fbufmode): Likewise.
60988         * lib/freadable.c (freadable): Likewise.
60989         * lib/fwritable.c (fwritable): Likewise.
60990         * lib/freading.c (freading): Likewise.
60991         * lib/fwriting.c (fwriting): Likewise.
60992         * lib/freadahead.c (freadahed): Likewise.
60993         * lib/fpurge.c (fpurge): Likewise.
60994         * lib/fseeko.c (rpl_fseeko): Likewise.
60995
60996 2007-10-03  Bruno Haible  <bruno@clisp.org>
60997             Jim Meyering  <jim@meyering.net>
60998             Eric Blake  <ebb9@byu.net>
60999
61000         * doc/relocatable.texi: Use @command instead of @program.
61001
61002 2007-10-02  Jim Meyering  <jim@meyering.net>
61003
61004         Perform one more "_.h" -> ".in.h" substitution.
61005         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61006         instead of unistd_.h here, too.
61007
61008 2007-10-01  Bruno Haible  <bruno@clisp.org>
61009
61010         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61011         Needed for the alloca-opt module.
61012
61013 2007-09-30  Bruno Haible  <bruno@clisp.org>
61014
61015         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61016         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61017         alloca_.h.
61018         * lib/argz.in.h: Renamed from lib/argz_.h.
61019         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61020         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61021         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61022         byteswap_.h.
61023         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61024         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61025         dirent_.h.
61026         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61027         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61028         fcntl_.h.
61029         * lib/float.in.h: Renamed from lib/float_.h.
61030         * modules/float (Files, Makefile.am): Use float.in.h instead of
61031         float_.h.
61032         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61033         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61034         fnmatch_.h.
61035         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61036         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61037         getopt_.h.
61038         * lib/glob.in.h: Renamed from lib/glob_.h.
61039         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61040         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61041         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61042         iconv_.h.
61043         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61044         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61045         inttypes_.h.
61046         * lib/locale.in.h: Renamed from lib/locale_.h.
61047         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61048         locale_.h.
61049         * lib/math.in.h: Renamed from lib/math_.h.
61050         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61051         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61052         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61053         of netinet_in_.h. Add dependency.
61054         * lib/poll.in.h: Renamed from lib/poll_.h.
61055         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61056         * lib/search.in.h: Renamed from lib/search_.h.
61057         * modules/search (Files, Makefile.am): Use search.in.h instead of
61058         search_.h.
61059         * lib/signal.in.h: Renamed from lib/signal_.h.
61060         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61061         _signal.h.
61062         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61063         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61064         stdbool_.h.
61065         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61066         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61067         stdint_.h.
61068         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61069         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61070         stdio_.h.
61071         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61072         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61073         stdlib_.h.
61074         * lib/string.in.h: Renamed from lib/string_.h.
61075         * modules/string (Files, Makefile.am): Use string.in.h instead of
61076         string_.h.
61077         * doc/gnulib-tool.texi (Initial import): Update.
61078         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61079         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61080         of sys_select_.h. Add dependency.
61081         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61082         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61083         of sys_socket_.h.
61084         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61085         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61086         sys_stat_.h.
61087         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61088         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61089         sys_time_.h.
61090         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61091         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61092         sysexits_.h.
61093         * lib/time.in.h: Renamed from lib/time_.h.
61094         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61095         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61096         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61097         unistd_.h.
61098         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61099         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61100         wchar_.h.
61101         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61102         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61103         wctype_.h.
61104         * build-aux/bootstrap (slurp): Update.
61105         * lib/.cppi-disable: Update.
61106
61107 2007-09-30  Bruno Haible  <bruno@clisp.org>
61108
61109         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61110         Needed on BeOS.
61111
61112 2007-09-30  Bruno Haible  <bruno@clisp.org>
61113
61114         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61115
61116 2007-09-29  Bruno Haible  <bruno@clisp.org>
61117
61118         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61119
61120 2007-09-29  Bruno Haible  <bruno@clisp.org>
61121
61122         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61123         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61124         * build-aux/install-reloc: Compile also areadlink.c.
61125         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61126
61127 2007-09-29  Bruno Haible  <bruno@clisp.org>
61128
61129         * gnulib-tool (func_emit_initmacro_done): Indentation.
61130
61131 2007-09-29  Bruno Haible  <bruno@clisp.org>
61132
61133         * README: Add CVS checkout update instructions.
61134         Info from Bob Proulx <bob@proulx.com>.
61135
61136 2007-09-28  Eric Blake  <ebb9@byu.net>
61137
61138         Provide move-if-change.
61139         * build-aux/move-if-change: New file, based on best practice
61140         rather than any canonical upstream location.
61141
61142 2007-09-28  Jim Meyering  <jim@meyering.net>
61143
61144         Fix canonicalize loop-detection corner case.
61145         Do not attempt to stat the symlink values stored via seen_triple.
61146         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61147         on linux-2.6.18, (but not 2.6.22).
61148         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61149         triple_compare.  The former compares dev,ino,filename, while the latter
61150         would actually stat dirname(filename) when dev and ino were equal.
61151         * lib/hash-triple.c: Install <string.h>.
61152         (STREQ): Define.
61153         (triple_compare_ino_str): New function.
61154         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61155
61156 2007-09-28  Eric Blake  <ebb9@byu.net>
61157
61158         Enforce that AC_REPLACE_FUNCS files exist.
61159         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61160         override check for typos.
61161
61162         Fix test-closein on Solaris 10.
61163         * tests/test-closein.c (main): Don't assume stdin can be inherited
61164         closed on all systems.
61165         * tests/test-closein.sh: Likewise.
61166         Reported by Piotr Tarnowski.
61167
61168 2007-09-28  Jim Meyering  <jim@meyering.net>
61169
61170         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61171
61172 2007-09-27  Jim Meyering  <jim@meyering.net>
61173
61174         canonicalize: Avoid a false-positive cycle failure.
61175         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61176         Sort.  Remove cycle-check.
61177         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61178         not cycle-check.h.
61179         (seen_triple): New function.
61180         (canonicalize_filename_mode): Use it instead of cycle-check.
61181         * tests/test-canonicalize.c: Add a test for this bug.
61182         * tests/test-canonicalize.sh: Set up and run the test.
61183
61184         New module, file-set, from coreutils.
61185         * modules/file-set: Define it.
61186         * lib/file-set.c, lib/file-set.h: Implement.
61187
61188         New module, hash-triple, from coreutils.
61189         * modules/hash-triple: Define it.
61190         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61191
61192 2007-09-25  Eric Blake  <ebb9@byu.net>
61193
61194         Fix strerror on Interix.
61195         * lib/string_.h (strerror): Declare replacement.
61196         * doc/functions/strerror.texi (strerror): Document the Interix
61197         shortcoming.
61198         * modules/string (Makefile.am): Support new hooks.
61199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61200         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61201         gl_FUNC_STRERROR_SEPARATE.
61202         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61203         * lib/strerror.c (rpl_strerror): Provide replacement.
61204         * modules/strerror (Depends-on): Add string.
61205         (configure.ac): Detect use of module.
61206         * tests/test-strerror.c: New file.
61207         * modules/strerror-tests: New test module.
61208         * modules/argp (Depends-on): Add strerror.
61209         * modules/error (Depends-on): Likewise.
61210         Reported by Martin Koeppe.
61211
61212 2007-09-24  Bruno Haible  <bruno@clisp.org>
61213
61214         * README: Update git instructions.
61215
61216 2007-09-24  Eric Blake  <ebb9@byu.net>
61217
61218         Revert fpending breakage from 2007-09-08.
61219         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61220         __fpending.c.
61221
61222 2007-09-24  Jim Meyering  <jim@meyering.net>
61223
61224         filenamecat.c: Add a test.
61225         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61226         showing how the function works when DIR is the empty string.
61227
61228 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61229
61230         * tests/test-canonicalize.sh: Turn on executable bit.
61231
61232 2007-09-19  Eric Blake  <ebb9@byu.net>
61233
61234         * README: Update CVS instructions.
61235
61236 2007-09-18  Bruno Haible  <bruno@clisp.org>
61237
61238         * modules/areadlink: New file.
61239         * lib/areadlink.h (areadlink): New declaration.
61240         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61241
61242 2007-09-17  Jim Meyering  <jim@meyering.net>
61243
61244         * lib/savewd.c (ESTALE) [!defined]: Define.
61245         Reported to be required on Interix by Martin Koeppe.
61246
61247 2007-09-17  Bruno Haible  <bruno@clisp.org>
61248
61249         * gnulib-tool (func_version): Use $version.
61250
61251 2007-09-16  Bruno Haible  <bruno@clisp.org>
61252
61253         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61254         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61255         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61256         Reported by Greg Schafer <gschafer@zip.com.au>.
61257
61258 2007-09-15  Bruno Haible  <bruno@clisp.org>
61259
61260         * gnulib-tool (sed): Try a little harder to make bash understand the
61261         alias.
61262         Reported by Bruce Korb <bruce.korb@gmail.com>.
61263
61264 2007-09-13  Eric Blake  <ebb9@byu.net>
61265
61266         * ChangeLog: Remove conflict markers.
61267
61268 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61269
61270         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61271         Reported by Bruno Haible <bruno@clisp.org>.
61272
61273 2007-09-12  Bruno Haible  <bruno@clisp.org>
61274
61275         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61276         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61277         is not defined.
61278
61279 2007-09-12  Eric Blake  <ebb9@byu.net>
61280
61281         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61282         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61283         Autoconf definition.
61284         * modules/euidaccess (Depends-on): Add extensions, for
61285         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61286         * modules/fnmatch (Depends-on): Likewise.
61287         * modules/getaddrinfo (Depends-on): Likewise.
61288         * modules/getdelim (Depends-on): Likewise.
61289         * modules/getline (Depends-on): Likewise.
61290         * modules/getsubopt (Depends-on): Likewise.
61291         * modules/gettext (Depends-on): Likewise.
61292         * modules/group-member (Depends-on): Likewise.
61293         * modules/mbchar (Depends-on): Likewise.
61294         * modules/memmem (Depends-on): Likewise.
61295         * modules/mempcpy (Depends-on): Likewise.
61296         * modules/memrchr (Depends-on): Likewise.
61297         * modules/pagealign_alloc (Depends-on): Likewise.
61298         * modules/readutmp (Depends-on): Likewise.
61299         * modules/stpcpy (Depends-on): Likewise.
61300         * modules/stpncpy (Depends-on): Likewise.
61301         * modules/strchrnul (Depends-on): Likewise.
61302         * modules/strndup (Depends-on): Likewise.
61303         * modules/strsep (Depends-on): Likewise.
61304         * modules/strverscmp (Depends-on): Likewise.
61305         * modules/vasprintf (Depends-on): Likewise.
61306         * modules/wcwidth (Depends-on): Likewise.
61307         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61308         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61309         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61311         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61312         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61313         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61314         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61315         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61316         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61317         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61318         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61319         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61320         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61321         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61322         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61323         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61324         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61325         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61326         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61327         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61328         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61329         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61330         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61331         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61332         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61333         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61334         so that lock.m4 can be used in gettext without extensions module.
61335
61336 2007-09-11  Bruno Haible  <bruno@clisp.org>
61337
61338         * m4/isc-posix.m4: Remove file.
61339         Suggested by Eric Blake.
61340
61341 2007-09-11  Eric Blake  <ebb9@byu.net>
61342
61343         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61344
61345 2007-09-10  Bruno Haible  <bruno@clisp.org>
61346
61347         * posix-modules: Fix typo in error message.
61348         Reported by Matt <mkraai@beckman.com>.
61349
61350 2007-09-09  Bruno Haible  <bruno@clisp.org>
61351
61352         * doc/functions/getdelim.texi: Update list of platforms lacking the
61353         function.
61354         * doc/functions/getline.texi: Likewise.
61355
61356 2007-09-09  Jim Meyering  <jim@meyering.net>
61357
61358         * lib/hash.c (hash_initialize): Detect calloc failure.
61359         Reported by Bruno Haible.
61360
61361 2007-09-09  Bruno Haible  <bruno@clisp.org>
61362
61363         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61364         malloc or realloc fails.
61365
61366 2007-09-09  Bruno Haible  <bruno@clisp.org>
61367
61368         * modules/getcwd (Depends-on): Add malloc-posix.
61369         * modules/glob (Depends-on): Likewise.
61370         * modules/putenv (Depends-on): Likewise.
61371         * modules/strdup (Depends-on): Likewise.
61372         * modules/getdelim (Depends-on): Add realloc-posix.
61373         * modules/read-file (Depends-on): Likewise.
61374
61375 2007-09-09  Bruno Haible  <bruno@clisp.org>
61376
61377         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61378         (gl_FUNC_MALLOC_POSIX): Require it.
61379         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61380         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61381         * modules/realloc (Files): Add m4/malloc.m4.
61382         * modules/calloc (Files): Likewise.
61383
61384 2007-09-09  Bruno Haible  <bruno@clisp.org>
61385
61386         * modules/malloc-posix: New file.
61387         * modules/malloc (Depends-on): Add malloc-posix.
61388         * lib/malloc.c: Include errno.h.
61389         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61390         and a POSIX-compatible malloc into a single function. Set ENOMEM
61391         when returning NULL.
61392         * m4/malloc.m4: New file.
61393         * doc/functions/malloc.texi: Mention the malloc-posix module.
61394         * lib/stdlib_.h (malloc): New declaration.
61395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61396         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61397         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61398         and HAVE_MALLOC_POSIX.
61399
61400 2007-09-09  Bruno Haible  <bruno@clisp.org>
61401
61402         * modules/realloc-posix: New file.
61403         * modules/realloc (Depends-on): Add realloc-posix.
61404         * lib/realloc.c: Include errno.h.
61405         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61406         and a POSIX-compatible realloc into a single function. Set ENOMEM
61407         when returning NULL.
61408         * m4/realloc.m4: New file.
61409         * doc/functions/realloc.texi: Mention the realloc-posix module.
61410         * lib/stdlib_.h (realloc): New declaration.
61411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61412         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61413         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61414         and HAVE_REALLOC_POSIX.
61415
61416 2007-09-09  Bruno Haible  <bruno@clisp.org>
61417
61418         * modules/calloc-posix: New file.
61419         * modules/calloc (Depends-on): Add calloc-posix.
61420         * lib/calloc.c: Include errno.h.
61421         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61422         and a POSIX-compatible calloc into a single function. Set ENOMEM
61423         when returning NULL.
61424         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61425         * doc/functions/calloc.texi: Mention the calloc-posix module.
61426         * lib/stdlib_.h (calloc): New declaration.
61427         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61428         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61429         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61430         and HAVE_CALLOC_POSIX.
61431
61432 2007-09-09  Bruno Haible  <bruno@clisp.org>
61433
61434         Allow for modules to show an arbitrary notice.
61435         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61436         * gnulib-tool: New option --extract-notice.
61437         (func_usage): Document it.
61438         (sed_extract_prog): Update.
61439         (func_get_notice): New function.
61440         (func_modules_notice): New function.
61441         (func_import, func_create_testdir): Invoke it.
61442         Suggested by Jim Meyering.
61443
61444 2007-09-09  Bruno Haible  <bruno@clisp.org>
61445
61446         * gnulib-tool: New options --verbose, --quiet.
61447         (func_usage): Document them.
61448         (verbose): New variable.
61449         (func_execute_command): New function.
61450         (func_import): Don't show the module list and the file list if
61451         $verbose < 0.
61452         (func_create_testdir): Likewise. Use func_execute_command.
61453         (func_create_megatestdir): Use func_execute_command.
61454
61455 2007-09-08  Bruno Haible  <bruno@clisp.org>
61456
61457         * gnulib-tool (func_import): Prefer rsync over wget when available,
61458         for fetching the PO files.
61459
61460 2007-09-08  Bruno Haible  <bruno@clisp.org>
61461
61462         * posix-modules: New file. Portions copied from gnulib-tool.
61463         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61464
61465 2007-09-08  Jim Meyering  <jim@meyering.net>
61466
61467         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61468         * lib/fpending.h: Rename from __fpending.h.
61469         * lib/fpending.c: Rename from __fpending.c.
61470         Include "fpending.h", not "__fpending.h".
61471         * lib/__fpending.h, lib/__fpending.c: Remove files.
61472         * modules/fpending (Files): Reflect new file names.
61473         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61474
61475 2007-09-08  Bruno Haible  <bruno@clisp.org>
61476
61477         * m4/inttypes-h.m4: Remove stub file.
61478
61479 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61480
61481         * doc/headers/stdint.texi: Discuss #include_next issue.
61482
61483 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61484
61485         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61486
61487 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61488
61489         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61490         in variable name.
61491
61492 2007-09-03  Jim Meyering  <jim@meyering.net>
61493
61494         New module: git-version-gen.
61495         * modules/git-version-gen: New file.
61496
61497         Import changes from coreutils for bootstrap script.
61498
61499         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61500
61501         bootstrap: uses rsync to download the .po files
61502         * build-aux/bootstrap (po_download_command_format): New global.
61503         (download_po_files): Use rsync.
61504         (update_po_files): Don't remove .po files after download,
61505         so future rsync runs can take advantage of the copies.
61506
61507         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61508
61509         Solve the unnecessary-.po-file-regeneration problem once and for all.
61510         * build-aux/bootstrap (download_po_files): New function, renamed from
61511         get_translations.  Now, downloads, but doesn't update LINGUAS.
61512         (update_po_files): New function.
61513
61514         bootstrap: Ignore more.
61515         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61516         uniwidth to e.g., lib/.gitignore.
61517         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61518
61519         * build-aux/bootstrap: New setting: vc_ignore.
61520         (insert_sorted_if_absent): Create $file if absent.
61521         Adapt to new, possibly empty, list: $vc_ignore.
61522
61523         bootstrap: generate more ignorable names
61524         * build-aux/bootstrap (slurp): When generating ignorable names,
61525         also map .sin to .sed, .gperf to .c, and .y to .c.
61526
61527 2007-09-03  Jim Meyering  <jim@meyering.net>
61528
61529         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61530         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61531
61532 2007-09-02  Bruno Haible  <bruno@clisp.org>
61533
61534         Fix mis-recognition of 'mcs' on QNX 6.
61535         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61536         output contains the string "Mono".
61537         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61538         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61539
61540 2007-09-01  Bruno Haible  <bruno@clisp.org>
61541
61542         Fix collision between uniwidth/* and linebreak modules.
61543         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61544         u32_width): Remove declarations.
61545         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61546         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61547         streq3, streq2, streq1, streq0): Remove functions.
61548         (STREQ): Remove macro.
61549         (is_cjk_encoding): Remove function.
61550         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61551         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61552         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61553         * NEWS: Document the change.
61554
61555 2007-09-01  Bruno Haible  <bruno@clisp.org>
61556
61557         * lib/streq.h: Add double-inclusion guard.
61558
61559 2007-09-01  Karl Berry  <karl@gnu.org>
61560
61561         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61562
61563 2007-08-28  Jim Meyering  <jim@meyering.net>
61564
61565         Rename mreadlink_with_size to areadlink_with_size.
61566         * NEWS: Document the change.
61567         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61568         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61569         * lib/mreadlink.h: Rename this to...
61570         * lib/areadlink.h: ...this.
61571         * modules/mreadlink-with-size: Rename this to...
61572         * modules/areadlink-with-size: ...this.
61573         * lib/canonicalize.c: Reflect the renaming.
61574         * modules/canonicalize: Likewise.
61575
61576 2007-08-26  Bruno Haible  <bruno@clisp.org>
61577
61578         * gnulib-tool (func_import): When deciding which files to remove,
61579         consider also dangling symbolic links.
61580         Reported by Eric Blake.
61581
61582 2007-08-26  Bruno Haible  <bruno@clisp.org>
61583
61584         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61585
61586 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61587
61588         * lib/readline.c: Don't include getline.h, the prototype is now
61589         found in stdio.h.
61590
61591 2007-08-23  Jim Meyering  <jim@meyering.net>
61592
61593         Getdelim touchup.
61594         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61595         around the funlockfile call, since funlockfile never sets errno.
61596         Don't set errno upon failed realloc.
61597
61598 2007-08-22  Eric Blake  <ebb9@byu.net>
61599
61600         Getline touchups.
61601         * lib/getdelim.c (getdelim): Revert regression that required *n to
61602         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61603         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61604         getdelim, rather than whether implementation is missing.
61605         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61606         * lib/stdio_.h (getline): Also declare if replacement is
61607         required.
61608         * doc/functions/getdelim.texi: New file.
61609         * doc/functions/getline.texi: Likewise.
61610         * doc/gnulib.texi (Function Substitutes): Add new files.
61611         Reported by Bruno Haible.
61612
61613 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61614
61615         * users.txt: Add Guile.
61616
61617 2007-08-22  Eric Blake  <ebb9@byu.net>
61618
61619         * tests/test-getdelim.c (main): Use remove, not unlink.
61620         * tests/test-getline.c (main): Likewise.
61621
61622         Move getline and getdelim into stdio.h, per POSIX 200x.
61623         * modules/getline (Files): Remove getline.h.
61624         (Depends-on): Add stdio.
61625         (configure.ac): Add module indicator.
61626         * modules/getdelim (Files): Remove getdelim.h.
61627         (Depends-on): Add stdio.
61628         (configure.ac): Add module indicator.
61629         * modules/stdio (Makefile.am): Work with new indicators.
61630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61631         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61632         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61633         * lib/getdelim.h: Delete.
61634         * lib/getline.h: Delete.
61635         * lib/stdio_.h (getdelim, getline): Declare.
61636         * modules/getdelim-tests: New module.
61637         * modules/getline-tests: Likewise.
61638         * tests/test-getdelim.c: New file.
61639         * tests/test-getline.c: Likewise.
61640         * NEWS: Document the change.
61641         * lib/getline.c: Update choice of header.
61642         * lib/csharpcomp.c: Likewise.
61643         * lib/getpass.c: Likewise.
61644         * lib/javacomp.c: Likewise.
61645         * lib/javaversion.c: Likewise.
61646         * lib/yesno.c: Likewise.
61647         * lib/getdelim.c: Likewise.
61648         (getdelim): Set errno on failure, and avoid memory leak.
61649
61650 2007-08-19  Bruno Haible  <bruno@clisp.org>
61651
61652         * modules/closein (Depends-on): Add freadahead.
61653         * lib/closein.c: Include freadahead.h.
61654         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61655         is zero.
61656
61657 2007-08-19  Bruno Haible  <bruno@clisp.org>
61658
61659         * modules/freadahead-tests: New file.
61660         * tests/test-freadahead.sh: New file.
61661         * tests/test-freadahead.c: New file.
61662
61663         * modules/freadahead: New file.
61664         * lib/freadahead.h: New file.
61665         * lib/freadahead.c: New file.
61666         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61667         fbufmode, fpurge, freadable, fwritable.
61668
61669 2007-08-19  Eric Blake  <ebb9@byu.net>
61670
61671         Test yesno in combination with closein.
61672         * lib/yesno.c (yesno): Document use of stdin.
61673         * modules/yesno-tests (Files): New module.
61674         * tests/test-yesno.c (main): New file.
61675         * tests/test-yesno.sh: Likewise.
61676
61677 2007-08-19  Bruno Haible  <bruno@clisp.org>
61678
61679         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61680         * lib/fseeko.c (rpl_fseeko): Likewise.
61681         * lib/fseterr.c (fseterr): Likewise.
61682
61683 2007-08-19  Bruno Haible  <bruno@clisp.org>
61684
61685         * tests/test-lseek.c (main): Disable a test for BeOS.
61686         * doc/functions/lseek.texi: Document the BeOS bug.
61687
61688 2007-08-19  Bruno Haible  <bruno@clisp.org>
61689             Eric Blake  <ebb9@byu.net>
61690
61691         * lib/lseek.c: Include <sys/stat.h>.
61692         (rpl_lseek): Add workaround code also for Unix platforms.
61693         Needed for BeOS.
61694         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61695         * doc/functions/lseek.texi: Document BeOS definiency.
61696
61697 2007-08-18  Bruno Haible  <bruno@clisp.org>
61698
61699         * modules/fstrcmp-tests: New file.
61700         * tests/test-fstrcmp.c: New file.
61701
61702 2007-08-18  Bruno Haible  <bruno@clisp.org>
61703
61704         * modules/fstrcmp: New file, from GNU gettext with modifications.
61705         * lib/fstrcmp.h: New file, from GNU gettext.
61706         * lib/fstrcmp.c: New file, from GNU gettext.
61707         * MODULES.html.sh (String handling): Add fstrcmp.
61708
61709 2007-08-18  Bruno Haible  <bruno@clisp.org>
61710
61711         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61712         'bool'.
61713         (diag, compareseq): Remove const from the ctxt argument.
61714         (USE_HEURISTIC): Undefine at the end.
61715
61716 2007-08-18  Jim Meyering  <jim@meyering.net>
61717
61718         New file: lib/idcache.h
61719         * NEWS: Mention the addition.
61720         * modules/idcache (Files): Add lib/idcache.h
61721         * lib/idcache.c: Include "idcache.h".
61722         Don't include <sys/types.h>.
61723         Add a FIXME comment.
61724         Move file-scoped "static" declarations to the top.
61725         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61726
61727 2007-08-17  Bruno Haible  <bruno@clisp.org>
61728         and Paul Eggert  <eggert@cs.ucla.edu>
61729
61730         * MODULES.html.sh: Add diffseq.
61731         * modules/diffseq: New file.
61732         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61733         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61734
61735 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61736
61737         Import changes from coreutils for bootstrap script.
61738
61739         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61740
61741         * build-aux/bootstrap (slurp): Work even in environments where
61742         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61743         current code does not slurp files whose names start with ".", and
61744         this looks like it might be a troublesome area.
61745
61746         2007-07-11  Jim Meyering  <jim@meyering.net>
61747
61748         If there's a GPL vN copyright comment, require that N == 3.
61749
61750         2007-07-08  Jim Meyering  <jim@meyering.net>
61751
61752         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61753         * build-aux/bootstrap (mam_template): Move definition out of loop.
61754
61755         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61756
61757         * build-aux/bootstrap (symlink_to_dir): Rename function from
61758         symlink_to_gnulib.  Add a directory parameter.  Update all
61759         callers.
61760         (cp_mark_as_generated): Also check for -- and link to -- files in
61761         gl/.
61762
61763         2007-07-08  Jim Meyering  <jim@meyering.net>
61764
61765         Adapt to deeper hierarchy in gnulib.
61766         * build-aux/bootstrap (symlink_to_dir): If the destination
61767         directory doesn't exist, create it. This is required at least for
61768         "lib/uniwidth/cjk.h".
61769
61770         2007-05-15  Jim Meyering  <jim@meyering.net>
61771
61772         * build-aux/bootstrap: Now that generated Makefile.am files
61773         are no longer under version control, they must be created at
61774         bootstrap time.
61775
61776 2007-08-14  Ben Pfaff  <blp@gnu.org>
61777
61778         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61779
61780 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61781
61782         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61783         given the changes below.
61784         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61785         even on hosts that have padding bits beyond the supported 64.
61786
61787 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61788
61789         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61790         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61791         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61792         depends on it.
61793         (xstrtol_error): Remove.
61794         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61795         but with a different signature.
61796         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61797         * lib/xstrtol-error.c: Include exitfail.h.
61798         (xstrtol_fatal): New function, with a different signature from the
61799         old xstrtol_error, so that the caller need not worry about passing
61800         in an exit status, or about storage management of the option argument.
61801         (xstrtol_error): Now a static function.  Redo signature to
61802         implement xstrtol_fatal.  Output the correct number of hyphens in
61803         front of the option so that the caller need not worry about
61804         storage management.
61805         (N_): New macro.
61806         (_): Remove; not used now.
61807         * modules/xstrtol: Depend on getopt.
61808         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61809         of old STRTOL_FATAL_ERROR macro.
61810         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61811         of test program.
61812         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61813         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61814
61815 2007-08-08  Eric Blake  <ebb9@byu.net>
61816
61817         * lib/xstrtol-error.c: Add missing include.
61818
61819         Move xstrtol messages into gnulib domain, when --pobase is used.
61820         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61821         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61822         * modules/xstrtol (Files): Distribute new file.
61823         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61824         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61825         * tests/test-xstrtol.c: ...into new file.
61826         * tests/test-xstrtoul.c: Also test xstrtoul.
61827         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61828         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61829         * tests/test-xstrtol.sh: Drive the tests.
61830         * tests/test-xstrtoimax.sh: Likewise.
61831         * tests/test-xstrtoumax.sh: Likewise.
61832         * modules/xstrtol-tests: New module.
61833         * modules/xstrtoimax-tests: Likewise.
61834         * modules/xstrtoumax-tests: Likewise.
61835
61836 2007-08-08  Jim Meyering  <jim@meyering.net>
61837
61838         New function: mfile_name_concat.
61839         * lib/filenamecat.c (mfile_name_concat): New function, just like
61840         file_name_concat, but return NULL upon failure rather than exiting
61841         with a diagnostic.
61842         * lib/filenamecat.h: Declare it.
61843
61844 2007-08-07  Bruno Haible  <bruno@clisp.org>
61845
61846         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61847         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61848         warning from gcc.
61849         Reported by Eric Blake.
61850
61851 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61852
61853         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61854         * modules/crypto/arcfour (License): Likewise.
61855         * modules/crypto/des-tests (License): Likewise.
61856         * modules/crypto/gc-arctwo-tests (License): Likewise.
61857         * modules/crypto/gc-des-tests (License): Likewise.
61858         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61859         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61860         * modules/crypto/gc-md2-tests (License): Likewise.
61861         * modules/crypto/gc-md4-tests (License): Likewise.
61862         * modules/crypto/gc-md5-tests (License): Likewise.
61863         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61864         * modules/crypto/gc-rijndael-tests (License): Likewise.
61865         * modules/crypto/gc-sha1-tests (License): Likewise.
61866         * modules/crypto/gc-tests (License): Likewise.
61867         * modules/crypto/hmac-md5 (License): Likewise.
61868         * modules/crypto/hmac-sha1 (License): Likewise.
61869         * modules/crypto/md2-tests (License): Likewise.
61870         * modules/crypto/md4-tests (License): Likewise.
61871         * modules/crypto/md5 (License): Likewise.
61872         * modules/crypto/rijndael (License): Likewise.
61873         * modules/crypto/sha1 (License): Likewise.
61874         * modules/memxor (License): Likewise.
61875
61876 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61877         and Bruno Haible  <bruno@clisp.org>
61878
61879         * NEWS: Describe interface changes to human, xstrtol.
61880         * lib/human.h: Include <xstrtol.h>.
61881         (human_options): Return enum strtol_error, not int.  Remove
61882         bool arg; take int * instead.
61883         * lib/human.c: Don't include "gettext.h".
61884         (_): Remove; no longer used.
61885         Don't include <xstrtol.h>, since human.h does it.
61886         (human_options): Adjust to abovementioned interface changes.
61887         Do not report error to stderr; that's now the caller's
61888         responsibility.
61889         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61890         interface change.
61891         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61892         Str, Argument_type_string.  All uses changed.  Put " argument"
61893         in diagnostics to make them clearer.  Change wording of suffix
61894         message for clarity.
61895         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61896         Argument_type_string.
61897         (STRTOL_FATAL_WARN): Remove; no longer used.
61898         * modules/human (Depends-on): Remove gettext-h.
61899
61900 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61901
61902         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61903
61904 2007-07-31  Bruno Haible  <bruno@clisp.org>
61905
61906         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61907         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61908         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61909
61910 2007-07-31  Bruno Haible  <bruno@clisp.org>
61911
61912         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61913         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61914
61915 2007-07-30  Bruno Haible  <bruno@clisp.org>
61916
61917         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61918         * modules/c-ctype (License): Likewise.
61919         * modules/c-strcase (License): Likewise.
61920         * modules/check-version (License): Likewise.
61921         * modules/iconv (License): Likewise.
61922         * modules/iconv_open (License): Likewise.
61923         * modules/read-file (License): Likewise.
61924         * modules/striconv (License): Likewise.
61925         * modules/strverscmp (License): Likewise.
61926         * modules/vasprintf (License): Likewise.
61927         * modules/crypto/des (License): Likewise.
61928         * modules/crypto/gc (License): Likewise.
61929         * modules/crypto/gc-arcfour (License): Likewise.
61930         * modules/crypto/gc-arctwo (License): Likewise.
61931         * modules/crypto/gc-des (License): Likewise.
61932         * modules/crypto/gc-hmac-md5 (License): Likewise.
61933         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61934         * modules/crypto/gc-md2 (License): Likewise.
61935         * modules/crypto/gc-md4 (License): Likewise.
61936         * modules/crypto/gc-md5 (License): Likewise.
61937         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61938         * modules/crypto/gc-random (License): Likewise.
61939         * modules/crypto/gc-rijndael (License): Likewise.
61940         * modules/crypto/gc-sha1 (License): Likewise.
61941         * modules/crypto/md2 (License): Likewise.
61942         * modules/crypto/md4 (License): Likewise.
61943
61944 2007-07-30  Jim Meyering  <jim@meyering.net>
61945
61946         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61947         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61948         it has valid stat data.  This bug would cause du not to count the
61949         sizes of inaccessible directories.
61950         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61951         in <http://bugzilla.redhat.com/250077>.
61952
61953 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61954             Bruno Haible  <bruno@clisp.org>
61955
61956         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61957         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61958         #include_next, gives a diagnostic about it, but reports no error in
61959         the exit code.
61960         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61961
61962 2007-07-24  Ben Pfaff  <blp@gnu.org>
61963
61964         Improve name: "count-one-bits" is better than "popcount".
61965         * MODULES.html.sh: Update name.
61966         * lib/popcount.h: Renamed lib/count-one-bits.h.
61967         (popcount): Renamed count_one_bits.
61968         (popcountl): Renamed count_one_bits_l.
61969         (popcountll): Renamed count_one_bits_ll.
61970         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61971         * modules/popcount: Renamed module/count-one-bits.
61972         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61973         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61974
61975 2007-07-23  Ben Pfaff  <blp@gnu.org>
61976
61977         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61978         better code generation, and add U to large constants to avoid
61979         warnings, in non-GCC case.
61980         Suggested by Bruno Haible.
61981
61982 2007-07-23  Ben Pfaff  <blp@gnu.org>
61983
61984         * lib/popcount.h: Use verify_true instead of if...abort.
61985         * modules/popcount: Depend on verify module.
61986         Suggested by Jim Meyering.
61987
61988 2007-07-23  Bruno Haible  <bruno@clisp.org>
61989
61990         * gnulib-tool (func_import): Create a .cvsignore file also when the
61991         directory is not yet in CVS but the toplevel directory is. When
61992         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61993         Reported by Karl Berry.
61994
61995 2007-07-22  Ben Pfaff  <blp@gnu.org>
61996
61997         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61998         case.
61999         Suggested by Eric Blake.
62000
62001 2007-07-22  Ben Pfaff  <blp@gnu.org>
62002
62003         New module: popcount.
62004         * MODULES.html.sh: Add popcount.
62005         * modules/popcount: New file.
62006         * modules/popcount-tests: New file.
62007         * tests/test-popcount.c: New file.
62008         * lib/popcount.h: New file.
62009         * m4/popcount.m4: New file.
62010
62011 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62012
62013         * build-aux/announce-gen: Update to GPLv3.
62014
62015         * build-aux/config.guess: Update from config.
62016
62017 2007-07-21  Bruno Haible  <bruno@clisp.org>
62018
62019         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62020         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62021
62022 2007-07-20  Jim Meyering  <jim@meyering.net>
62023
62024         * check-module: Diagnose a self-dependency.
62025
62026 2007-07-19  Bruno Haible  <bruno@clisp.org>
62027
62028         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62029         empty.
62030         Reported by Eric Blake.
62031
62032 2007-07-18  Bruno Haible  <bruno@clisp.org>
62033
62034         * gnulib-tool: New options --po-base, --po-domain.
62035         (func_usage): Document them.
62036         (pobase, po_domain): New variables.
62037         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62038         DEFAULT_TEXT_DOMAIN.
62039         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62040         (func_import): Consider pobase and po_domain. Create a po/ directory.
62041         (func_create_testdir): Set pobase and po_domain to empty.
62042         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62043         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62044
62045 2007-07-18  Bruno Haible  <bruno@clisp.org>
62046
62047         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62048         EXTRA_DIST augmentation for files in build-aux/.
62049
62050 2007-07-16  Bruno Haible  <bruno@clisp.org>
62051
62052         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62053         * modules/getdelim (License): Likewise.
62054
62055 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62056
62057         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62058         * modules/d-type (License): Likewise.
62059         * modules/extensions (License): Likewise.
62060         * modules/fnmatch (License): Likewise.
62061         * modules/fseeko (License): Likewise.
62062         * modules/getaddrinfo (License): Likewise.
62063         * modules/getline (License): Likewise.
62064         * modules/getlogin_r (License): Likewise.
62065         * modules/getpass (License): Likewise.
62066         * modules/gettimeofday (License): Likewise.
62067         * modules/glob (License): Likewise.
62068         * modules/inet_ntop (License): Likewise.
62069         * modules/malloc (License): Likewise.
62070         * modules/malloca (License): Likewise.
62071         * modules/memmem (License): Likewise.
62072         * modules/mempcpy (License): Likewise.
62073         * modules/memset (License): Likewise.
62074         * modules/minmax (License): Likewise.
62075         * modules/mktime (License): Likewise.
62076         * modules/netinet_in (License): Likewise.
62077         * modules/pathmax (License): Likewise.
62078         * modules/poll (License): Likewise.
62079         * modules/regex (License): Likewise.
62080         * modules/snprintf (License): Likewise.
62081         * modules/stdbool (License): Likewise.
62082         * modules/stdint (License): Likewise.
62083         * modules/stdio (License): Likewise.
62084         * modules/strcase (License): Likewise.
62085         * modules/strcasestr (License): Likewise.
62086         * modules/strdup (License): Likewise.
62087         * modules/string (License): Likewise.
62088         * modules/strndup (License): Likewise.
62089         * modules/strnlen (License): Likewise.
62090         * modules/strpbrk (License): Likewise.
62091         * modules/strptime (License): Likewise.
62092         * modules/strsep (License): Likewise.
62093         * modules/sys_select (License): Likewise.
62094         * modules/sys_socket (License): Likewise.
62095         * modules/sys_stat (License): Likewise.
62096         * modules/sys_time (License): Likewise.
62097         * modules/time (License): Likewise.
62098         * modules/time_r (License): Likewise.
62099         * modules/timegm (License): Likewise.
62100         * modules/unistd (License): Likewise.
62101         * modules/vsnprintf (License): Likewise.
62102         * modules/wctype (License): Likewise.
62103
62104 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62105
62106         * modules/argz (License): LGPLv2+.
62107
62108 2007-07-15  Karl Berry  <karl@gnu.org>
62109
62110         * doc/gnulib.texi: revise node structure per new fdl.texi.
62111
62112 2007-07-14  Bruno Haible  <bruno@clisp.org>
62113
62114         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62115         the output file.
62116         * lib/uniname/uninames.h: Regenerated.
62117
62118 2007-07-14  Karl Berry  <karl@gnu.org>
62119
62120         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62121         omitting sectioning and index commands.
62122
62123 2007-07-13  Bruno Haible  <bruno@clisp.org>
62124
62125         New gnulib-tool option --more-symlinks.
62126         * gnulib-tool (func_usage): Document --more-symlinks.
62127         (do_copyrights): New variable.
62128         Recognize option --more-symlinks.
62129         (func_import): Don't add a copyright notice transform to
62130         sed_transform_lib_file if do_copyrights is empty.
62131
62132 2007-07-13  Bruno Haible  <bruno@clisp.org>
62133
62134         * lib/vasnprintf.c (decimal_point_char): Define also if
62135         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62136         && !NEED_PRINTF_DIRECTIVE_A.
62137         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62138         Gary V. Vaughan <gary@gnu.org>.
62139
62140 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62141
62142         * lib/inttypes_.h: Undo previous change, since it was fixed
62143         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62144
62145 2007-07-13  Bruno Haible  <bruno@clisp.org>
62146
62147         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62148         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62149
62150 2007-07-13  Jim Meyering  <jim@meyering.net>
62151
62152         df: Don't fail for Tru64's "file-on-file mount".
62153         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62154         so we fall through and use statfs instead.  Details here:
62155         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62156         Reported by Albert Chin.
62157
62158 2007-07-13  Bruno Haible  <bruno@clisp.org>
62159
62160         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62161         * modules/configmake (License): Likewise.
62162         * modules/gettext (License): Likewise.
62163         * modules/gettext-h (License): Likewise.
62164         * modules/include_next (License): Likewise.
62165         * modules/link-warning (License): Likewise.
62166         * modules/localcharset (License): Likewise.
62167         * modules/localename (License): Likewise.
62168         * modules/lock (License): Likewise.
62169         * modules/relocatable-lib-lgpl (License): Likewise.
62170         * modules/size_max (License): Likewise.
62171         * modules/vasnprintf (License): Likewise.
62172         * modules/wchar (License): Likewise.
62173         * modules/xsize (License): Likewise.
62174
62175 2007-07-13  Bruno Haible  <bruno@clisp.org>
62176
62177         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62178         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62179
62180 2007-07-12  Bruno Haible  <bruno@clisp.org>
62181
62182         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62183         in the modules files.
62184
62185 2007-07-11  Karl Berry  <karl@gnu.org>
62186
62187         * MODULES.html.sh (func_module): use
62188          sed -e '\|^'"${includefile}"'$|d'
62189          instead of /.../d, to avoid errors on $includefile's containing /.
62190
62191 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62192
62193         * gnulib-tool (func_import): Avoid duplication of --avoid
62194         statements
62195         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62196         names to `_' in variable names.
62197
62198 2007-07-10  Eric Blake  <ebb9@byu.net>
62199
62200         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62201         * NEWS: Document this change.
62202
62203 2007-07-08  Bruno Haible  <bruno@clisp.org>
62204
62205         Update to Unicode 5.0.
62206         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62207         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62208         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62209         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62210         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62211         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62212         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62213         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62214         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62215         U+10A3F, U+1D242..U+1D244.
62216         (nonspacing_table_ind): Update.
62217         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62218         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62219
62220 2007-07-08  Bruno Haible  <bruno@clisp.org>
62221
62222         Update to Unicode 5.0.
62223         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62224         code transform. Extend the name index field of unicode_name_to_code and
62225         unicode_code_to_name from 16 to 24 bits.
62226         * lib/uniname/uniname.c (unicode_character_name,
62227         unicode_name_character): Add the range 0x12xxx to the code transform.
62228         * lib/uniname/uninames.h: Regenerated.
62229         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62230
62231 2007-07-07  Bruno Haible  <bruno@clisp.org>
62232
62233         * modules/wcwidth-tests: New file.
62234         * tests/test-wcwidth.c: New file.
62235
62236         Work around MacOS X wcwidth() bug.
62237         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62238         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62239         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62240         original wcwidth in non-UTF-8 locales.
62241         * modules/wcwidth (Depends-on): Add localcharset, streq,
62242         uniwidth/width.
62243         * doc/functions/wcwidth.texi: Update.
62244
62245 2007-07-07  Bruno Haible  <bruno@clisp.org>
62246
62247         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62248         (wcwidth): New declaration.
62249         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62250         macros.
62251         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62252         here. Prepare for creating <wchar.h> unconditionally.
62253         * modules/wchar (Depends-on): Add link-warning.
62254         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62255         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62256         * lib/wcwidth.h: Remove file.
62257         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62258         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62259         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62260         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62261         (Include): Replace wcwidth.h with <wchar.h>.
62262         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62263         * lib/mbchar.h: Don't include wcwidth.h.
62264         * lib/mbswidth.c: Likewise.
62265         * NEWS: Mention the change.
62266
62267 2007-07-07  Bruno Haible  <bruno@clisp.org>
62268
62269         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62270         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62271         definition with an external declaration.
62272         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62273         defined as a function. Remove AC_C_INLINE requirement.
62274         * modules/wcwidth (Files): Add lib/wcwidth.c.
62275         (Makefile.am): Remove redundant statement.
62276
62277 2007-07-07  Bruno Haible  <bruno@clisp.org>
62278
62279         * MODULES.html.sh (Unicode string functions): Add the new modules.
62280
62281         * tests/uniwidth/test-u32-strwidth.c: New file.
62282         * modules/uniwidth/u32-strwidth-tests: New file.
62283
62284         * lib/uniwidth/u32-strwidth.c: New file.
62285         * modules/uniwidth/u32-strwidth: New file.
62286
62287         * tests/uniwidth/test-u16-strwidth.c: New file.
62288         * modules/uniwidth/u16-strwidth-tests: New file.
62289
62290         * lib/uniwidth/u16-strwidth.c: New file.
62291         * modules/uniwidth/u16-strwidth: New file.
62292
62293         * tests/uniwidth/test-u8-strwidth.c: New file.
62294         * modules/uniwidth/u8-strwidth-tests: New file.
62295
62296         * lib/uniwidth/u8-strwidth.c: New file.
62297         * modules/uniwidth/u8-strwidth: New file.
62298
62299         * tests/uniwidth/test-u32-width.c: New file.
62300         * modules/uniwidth/u32-width-tests: New file.
62301
62302         * lib/uniwidth/u32-width.c: New file.
62303         * modules/uniwidth/u32-width: New file.
62304
62305         * tests/uniwidth/test-u16-width.c: New file.
62306         * modules/uniwidth/u16-width-tests: New file.
62307
62308         * lib/uniwidth/u16-width.c: New file.
62309         * modules/uniwidth/u16-width: New file.
62310
62311         * tests/uniwidth/test-u8-width.c: New file.
62312         * modules/uniwidth/u8-width-tests: New file.
62313
62314         * lib/uniwidth/u8-width.c: New file.
62315         * modules/uniwidth/u8-width: New file.
62316
62317         * tests/uniwidth/test-uc_width.c: New file.
62318         * modules/uniwidth/width-tests: New file.
62319
62320         * lib/uniwidth/width.c: New file, from GNU libiconv.
62321         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62322         * modules/uniwidth/width: New file.
62323
62324         * lib/uniwidth.h: New file, from GNU libiconv.
62325         * modules/uniwidth/base: New file.
62326
62327 2007-07-07  Bruno Haible  <bruno@clisp.org>
62328
62329         * lib/uniname.h: New file, from GNU gettext.
62330         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62331         * lib/uniname/uninames.h: New file, from GNU gettext.
62332         * lib/uniname/uniname.c: New file, from GNU gettext.
62333         * tests/uniname/test-uninames.sh: New file.
62334         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62335         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62336         * modules/uniname/base: New file.
62337         * modules/uniname/uniname: New file.
62338         * modules/uniname/uniname-tests: New file.
62339         * MODULES.html.sh (Unicode string functions): Add the new modules.
62340
62341 2007-07-06  Bruno Haible  <bruno@clisp.org>
62342
62343         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62344
62345 2007-07-06  Bruno Haible  <bruno@clisp.org>
62346
62347         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62348         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62349         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62350         include <sys/time.h>.
62351         Reported by Eric Blake.
62352
62353 2007-07-06  Eric Blake  <ebb9@byu.net>
62354
62355         Fix testing canonicalize on cygwin.
62356         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62357         Revert patch from 2007-06-19.
62358         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62359         canonicalize module is also in use.
62360         * tests/test-canonicalize.c: New file.
62361         * tests/test-canonicalize.sh: Likewise.
62362         * modules/canonicalize-tests: Likewise.
62363
62364 2007-07-06  Jim Meyering  <jim@meyering.net>
62365
62366         * lib/getugroups.c (getugroups): Detect getgrent failure.
62367         Adjust comment to reflect reality: this function may return -1.
62368
62369 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62370
62371         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62372         the new TP address.
62373         (usage): Fix typo
62374         (gnulib_mk): New variable.
62375
62376 2007-07-05  Jim Meyering  <jim@meyering.net>
62377
62378         Don't let endgrent clobber errno, no matter how improbable.
62379         * lib/getugroups.c (getugroups): Save and restore errno around
62380         endgrent call.
62381
62382         Close the group DB even when failing with 2^31 or more members.
62383         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62384
62385 2007-07-04  Jim Meyering  <jim@meyering.net>
62386
62387         * lib/getugroups.h: New file.
62388         * lib/getugroups.c: Include "getugroups.h".
62389         Remove uses of "register" keyword.
62390         Move local variable, "cp", down into scope where used.
62391         Give "username" parameter the "const" attribute.
62392         * modules/getugroups (Files): Add lib/getugroups.h
62393
62394 2007-07-04  Karl Berry  <karl@gnu.org>
62395
62396         * MODULES.html.sh (func_all_modules): Complete rename of
62397         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62398
62399 2007-07-02  Bruno Haible  <bruno@clisp.org>
62400
62401         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62402         mode, when inttypes.h comes from gnulib.
62403         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62404
62405 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62406
62407         * NEWS: Mention lgpl module name change.
62408
62409         * modules/lgpl-2.1: Renamed from lgpl.
62410
62411         * NEWS: Mention gpl module name change.
62412
62413         * modules/gpl-3.0: New file, based on gpl-2.0.
62414
62415         * modules/gpl-2.0: Renamed from gpl.
62416
62417         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62418         doc/gpl-2.0.texi.
62419
62420 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62421
62422         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62423         #define __STDC_LIMIT_MACROS temporarily while including
62424         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62425         Problem reported by Joel E. Denny in
62426         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62427
62428 2007-07-01  Bruno Haible  <bruno@clisp.org>
62429
62430         * lib/unistdio.h: New file.
62431         * lib/unistdio/u-asnprintf.h: New file.
62432         * lib/unistdio/u-asprintf.h: New file.
62433         * lib/unistdio/u-printf-args.c: New file.
62434         * lib/unistdio/u-printf-args.h: New file.
62435         * lib/unistdio/u-printf-parse.h: New file.
62436         * lib/unistdio/u-snprintf.h: New file.
62437         * lib/unistdio/u-sprintf.h: New file.
62438         * lib/unistdio/u-vasprintf.h: New file.
62439         * lib/unistdio/u-vsnprintf.h: New file.
62440         * lib/unistdio/u-vsprintf.h: New file.
62441         * lib/unistdio/ulc-asnprintf.c: New file.
62442         * lib/unistdio/ulc-asprintf.c: New file.
62443         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62444         * lib/unistdio/ulc-printf-parse.c: New file.
62445         * lib/unistdio/ulc-snprintf.c: New file.
62446         * lib/unistdio/ulc-sprintf.c: New file.
62447         * lib/unistdio/ulc-vasnprintf.c: New file.
62448         * lib/unistdio/ulc-vasprintf.c: New file.
62449         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62450         * lib/unistdio/ulc-vsnprintf.c: New file.
62451         * lib/unistdio/ulc-vsprintf.c: New file.
62452         * lib/unistdio/u8-asnprintf.c: New file.
62453         * lib/unistdio/u8-asprintf.c: New file.
62454         * lib/unistdio/u8-printf-parse.c: New file.
62455         * lib/unistdio/u8-snprintf.c: New file.
62456         * lib/unistdio/u8-sprintf.c: New file.
62457         * lib/unistdio/u8-vasnprintf.c: New file.
62458         * lib/unistdio/u8-vasprintf.c: New file.
62459         * lib/unistdio/u8-vsnprintf.c: New file.
62460         * lib/unistdio/u8-vsprintf.c: New file.
62461         * lib/unistdio/u8-u8-asnprintf.c: New file.
62462         * lib/unistdio/u8-u8-asprintf.c: New file.
62463         * lib/unistdio/u8-u8-snprintf.c: New file.
62464         * lib/unistdio/u8-u8-sprintf.c: New file.
62465         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62466         * lib/unistdio/u8-u8-vasprintf.c: New file.
62467         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62468         * lib/unistdio/u8-u8-vsprintf.c: New file.
62469         * lib/unistdio/u16-asnprintf.c: New file.
62470         * lib/unistdio/u16-asprintf.c: New file.
62471         * lib/unistdio/u16-printf-parse.c: New file.
62472         * lib/unistdio/u16-snprintf.c: New file.
62473         * lib/unistdio/u16-sprintf.c: New file.
62474         * lib/unistdio/u16-vasnprintf.c: New file.
62475         * lib/unistdio/u16-vasprintf.c: New file.
62476         * lib/unistdio/u16-vsnprintf.c: New file.
62477         * lib/unistdio/u16-vsprintf.c: New file.
62478         * lib/unistdio/u16-u16-asnprintf.c: New file.
62479         * lib/unistdio/u16-u16-asprintf.c: New file.
62480         * lib/unistdio/u16-u16-snprintf.c: New file.
62481         * lib/unistdio/u16-u16-sprintf.c: New file.
62482         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62483         * lib/unistdio/u16-u16-vasprintf.c: New file.
62484         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62485         * lib/unistdio/u16-u16-vsprintf.c: New file.
62486         * lib/unistdio/u32-asnprintf.c: New file.
62487         * lib/unistdio/u32-asprintf.c: New file.
62488         * lib/unistdio/u32-printf-parse.c: New file.
62489         * lib/unistdio/u32-snprintf.c: New file.
62490         * lib/unistdio/u32-sprintf.c: New file.
62491         * lib/unistdio/u32-vasnprintf.c: New file.
62492         * lib/unistdio/u32-vasprintf.c: New file.
62493         * lib/unistdio/u32-vsnprintf.c: New file.
62494         * lib/unistdio/u32-vsprintf.c: New file.
62495         * lib/unistdio/u32-u32-asnprintf.c: New file.
62496         * lib/unistdio/u32-u32-asprintf.c: New file.
62497         * lib/unistdio/u32-u32-snprintf.c: New file.
62498         * lib/unistdio/u32-u32-sprintf.c: New file.
62499         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62500         * lib/unistdio/u32-u32-vasprintf.c: New file.
62501         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62502         * lib/unistdio/u32-u32-vsprintf.c: New file.
62503         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62504         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62505         * tests/unistdio/test-ulc-printf1.h: New file.
62506         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62507         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62508         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62509         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62510         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62511         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62512         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62513         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62514         * tests/unistdio/test-u8-asnprintf1.c: New file.
62515         * tests/unistdio/test-u8-asnprintf1.h: New file.
62516         * tests/unistdio/test-u8-printf1.h: New file.
62517         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62518         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62519         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62520         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62521         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62522         * tests/unistdio/test-u8-vasprintf1.c: New file.
62523         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62524         * tests/unistdio/test-u8-vsprintf1.c: New file.
62525         * tests/unistdio/test-u16-asnprintf1.c: New file.
62526         * tests/unistdio/test-u16-asnprintf1.h: New file.
62527         * tests/unistdio/test-u16-printf1.h: New file.
62528         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62529         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62530         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62531         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62532         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62533         * tests/unistdio/test-u16-vasprintf1.c: New file.
62534         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62535         * tests/unistdio/test-u16-vsprintf1.c: New file.
62536         * tests/unistdio/test-u32-asnprintf1.c: New file.
62537         * tests/unistdio/test-u32-asnprintf1.h: New file.
62538         * tests/unistdio/test-u32-printf1.h: New file.
62539         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62540         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62541         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62542         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62543         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62544         * tests/unistdio/test-u32-vasprintf1.c: New file.
62545         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62546         * tests/unistdio/test-u32-vsprintf1.c: New file.
62547         * modules/unistdio/base: New file.
62548         * modules/unistdio/u-printf-args: New file.
62549         * modules/unistdio/ulc-asnprintf: New file.
62550         * modules/unistdio/ulc-asprintf: New file.
62551         * modules/unistdio/ulc-fprintf: New file.
62552         * modules/unistdio/ulc-printf-parse: New file.
62553         * modules/unistdio/ulc-snprintf: New file.
62554         * modules/unistdio/ulc-sprintf: New file.
62555         * modules/unistdio/ulc-vasnprintf: New file.
62556         * modules/unistdio/ulc-vasprintf: New file.
62557         * modules/unistdio/ulc-vfprintf: New file.
62558         * modules/unistdio/ulc-vsnprintf: New file.
62559         * modules/unistdio/ulc-vsprintf: New file.
62560         * modules/unistdio/u8-asnprintf: New file.
62561         * modules/unistdio/u8-asprintf: New file.
62562         * modules/unistdio/u8-printf-parse: New file.
62563         * modules/unistdio/u8-snprintf: New file.
62564         * modules/unistdio/u8-sprintf: New file.
62565         * modules/unistdio/u8-vasnprintf: New file.
62566         * modules/unistdio/u8-vasprintf: New file.
62567         * modules/unistdio/u8-vsnprintf: New file.
62568         * modules/unistdio/u8-vsprintf: New file.
62569         * modules/unistdio/u8-u8-asnprintf: New file.
62570         * modules/unistdio/u8-u8-asprintf: New file.
62571         * modules/unistdio/u8-u8-snprintf: New file.
62572         * modules/unistdio/u8-u8-sprintf: New file.
62573         * modules/unistdio/u8-u8-vasnprintf: New file.
62574         * modules/unistdio/u8-u8-vasprintf: New file.
62575         * modules/unistdio/u8-u8-vsnprintf: New file.
62576         * modules/unistdio/u8-u8-vsprintf: New file.
62577         * modules/unistdio/u16-asnprintf: New file.
62578         * modules/unistdio/u16-asprintf: New file.
62579         * modules/unistdio/u16-printf-parse: New file.
62580         * modules/unistdio/u16-snprintf: New file.
62581         * modules/unistdio/u16-sprintf: New file.
62582         * modules/unistdio/u16-vasnprintf: New file.
62583         * modules/unistdio/u16-vasprintf: New file.
62584         * modules/unistdio/u16-vsnprintf: New file.
62585         * modules/unistdio/u16-vsprintf: New file.
62586         * modules/unistdio/u16-u16-asnprintf: New file.
62587         * modules/unistdio/u16-u16-asprintf: New file.
62588         * modules/unistdio/u16-u16-snprintf: New file.
62589         * modules/unistdio/u16-u16-sprintf: New file.
62590         * modules/unistdio/u16-u16-vasnprintf: New file.
62591         * modules/unistdio/u16-u16-vasprintf: New file.
62592         * modules/unistdio/u16-u16-vsnprintf: New file.
62593         * modules/unistdio/u16-u16-vsprintf: New file.
62594         * modules/unistdio/u32-asnprintf: New file.
62595         * modules/unistdio/u32-asprintf: New file.
62596         * modules/unistdio/u32-printf-parse: New file.
62597         * modules/unistdio/u32-snprintf: New file.
62598         * modules/unistdio/u32-sprintf: New file.
62599         * modules/unistdio/u32-vasnprintf: New file.
62600         * modules/unistdio/u32-vasprintf: New file.
62601         * modules/unistdio/u32-vsnprintf: New file.
62602         * modules/unistdio/u32-vsprintf: New file.
62603         * modules/unistdio/u32-u32-asnprintf: New file.
62604         * modules/unistdio/u32-u32-asprintf: New file.
62605         * modules/unistdio/u32-u32-snprintf: New file.
62606         * modules/unistdio/u32-u32-sprintf: New file.
62607         * modules/unistdio/u32-u32-vasnprintf: New file.
62608         * modules/unistdio/u32-u32-vasprintf: New file.
62609         * modules/unistdio/u32-u32-vsnprintf: New file.
62610         * modules/unistdio/u32-u32-vsprintf: New file.
62611         * modules/unistdio/ulc-asnprintf-tests: New file.
62612         * modules/unistdio/ulc-vasnprintf-tests: New file.
62613         * modules/unistdio/ulc-vasprintf-tests: New file.
62614         * modules/unistdio/ulc-vsnprintf-tests: New file.
62615         * modules/unistdio/ulc-vsprintf-tests: New file.
62616         * modules/unistdio/u8-asnprintf-tests: New file.
62617         * modules/unistdio/u8-vasnprintf-tests: New file.
62618         * modules/unistdio/u8-vasprintf-tests: New file.
62619         * modules/unistdio/u8-vsnprintf-tests: New file.
62620         * modules/unistdio/u8-vsprintf-tests: New file.
62621         * modules/unistdio/u16-asnprintf-tests: New file.
62622         * modules/unistdio/u16-vasnprintf-tests: New file.
62623         * modules/unistdio/u16-vasprintf-tests: New file.
62624         * modules/unistdio/u16-vsnprintf-tests: New file.
62625         * modules/unistdio/u16-vsprintf-tests: New file.
62626         * modules/unistdio/u32-asnprintf-tests: New file.
62627         * modules/unistdio/u32-vasnprintf-tests: New file.
62628         * modules/unistdio/u32-vasprintf-tests: New file.
62629         * modules/unistdio/u32-vsnprintf-tests: New file.
62630         * modules/unistdio/u32-vsprintf-tests: New file.
62631         * MODULES.html.sh (Unicode string functions): Add the new modules.
62632
62633 2007-07-01  Bruno Haible  <bruno@clisp.org>
62634
62635         * lib/sprintf.c (sprintf): Limit the available length estimation,
62636         to avoid address wraparound.
62637         * lib/vsprintf.c (vsprintf): Likewise.
62638         * modules/sprintf-posix (Dependencies): Add stdint.
62639         * modules/vsprintf-posix (Dependencies): Likewise.
62640
62641 2007-07-01  Bruno Haible  <bruno@clisp.org>
62642
62643         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62644         Windows PATH as well. Conservative double-quoting. Comments.
62645
62646 2007-07-01  Bruno Haible  <bruno@clisp.org>
62647             Eric Blake  <ebb9@byu.net>
62648             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62649
62650         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62651         empty components in $PATH, denoting '.'.
62652
62653 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62654
62655         * gnulib-tool: Fix indentation.
62656         (func_create_megatestdir): Likewise.
62657         Report by Bruno Haible.
62658
62659 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62660
62661         Sync from Automake.
62662         * build-aux/gnupload: Fix shell portability issues with for loops.
62663         Report by Karl Berry.
62664
62665 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62666
62667         * build-aux/maint.mk (POURL): Use translationproject.org.
62668
62669 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62670             Bruno Haible  <bruno@clisp.org>
62671
62672         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62673         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62674         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62675         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62676         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62677
62678 2007-06-27  Bruno Haible  <bruno@clisp.org>
62679
62680         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62681         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62682
62683 2007-06-26  Karl Berry  <karl@gnu.org>
62684
62685         * MODULES.html.sh: remove xreadlink-with-size.
62686
62687 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62688
62689         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62690         method that I hope also handles the double-include problem noted
62691         by Bruno Haible in
62692         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62693
62694 2007-06-23  Bruno Haible  <bruno@clisp.org>
62695
62696         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62697         Don't let the 'mostlyclean' target fail if the last subdirectory could
62698         not be removed.
62699         Reported by Karl Berry.
62700
62701 2007-06-23  Bruno Haible  <bruno@clisp.org>
62702
62703         * gnulib-tool (echo): Add a speedier workaround for ksh.
62704         * tests/test-echo.sh: Likewise.
62705
62706 2007-06-23  Bruno Haible  <bruno@clisp.org>
62707
62708         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62709         * tests/test-echo.sh: Likewise.
62710
62711 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62712
62713         * gnulib-tool (IFS): Initialize early, so we don't set it to
62714         empty later.
62715         (self_abspathname): Rewrite algorithm to set it, reindent.
62716         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62717         (func_create_megatestdir): Merge some sed scripts.
62718
62719 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62720
62721         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62722         exposed by Sun Studio 11 cc on Solaris 8.
62723
62724 2007-06-22  Bruno Haible  <bruno@clisp.org>
62725
62726         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62727         backslashes.
62728         * tests/test-echo.sh: New file.
62729
62730 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62731
62732         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62733         simplify `sed_replace_build_aux' scripts, they are portable but
62734         echoing them with `echo' is not.
62735         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62736
62737 2007-06-21  Karl Berry  <karl@gnu.org>
62738
62739         * config/srclist.txt: guess we can't handle the licenses via
62740         srclist at the moment.
62741
62742 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62743
62744         * MODULES.html.sh: Add include_next.
62745         * modules/include_next: New file.
62746
62747 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62748
62749         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62750         INCLUDE_NEXT.
62751         (gl_CHECK_NEXT_HEADERS): New macro.
62752         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62753         the obsolescent gl_ABSOLUTE_HEADER.
62754         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62755         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62756         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62757         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62758         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62759         * m4/math_h.m4 (gl_MATH_H): Likewise.
62760         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62761         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62762         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62763         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62764         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62765         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62766         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62767         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62768         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62769         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62770         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62771         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62772         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62773         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62774         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62775         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62776         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62777         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62778         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62779         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62780         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62781         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62782         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62783         * lib/float_.h: Likewise.
62784         * lib/inttypes_.h: Likewise.
62785         * lib/math_.h: Likewise.
62786         * lib/search_.h: Likewise.
62787         * lib/signal_.h: Likewise.
62788         * lib/stdint_.h: Likewise.
62789         * lib/stdio_.h: Likewise.
62790         * lib/stdlib_.h: Likewise.
62791         * lib/string_.h: Likewise.
62792         * lib/sys_stat_.h: Likewise.
62793         * lib/sys_time_.h: Likewise.
62794         * lib/time_.h: Likewise.
62795         * lib/unistd_.h: Likewise.
62796         * lib/wchar_.h: Likewise.
62797         * lib/wctype_.h: Likewise.
62798         * lib/dirent_.h: Likewise.
62799         * lib/iconv_.h: Likewise.
62800         * lib/locale_.h: Likewise.
62801         * lib/netinet_in_.h: Likewise.
62802         * lib/sys_select_.h: Likewise.
62803         * lib/sys_socket_.h: Likewise.
62804         * lib/sysexits_.h: Likewise.
62805         * modules/fcntl (Depends-on): Depend on include_next, not
62806         absolute_header.
62807         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62808         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62809         * modules/fchdir: Likewise.
62810         * modules/float: Likewise.
62811         * modules/iconv_open: Likewise.
62812         * modules/inttypes: Likewise.
62813         * modules/locale: Likewise.
62814         * modules/math: Likewise.
62815         * modules/netinet_in: Likewise.
62816         * modules/search: Likewise.
62817         * modules/signal: Likewise.
62818         * modules/stdint: Likewise.
62819         * modules/stdio: Likewise.
62820         * modules/stdlib: Likewise.
62821         * modules/string: Likewise.
62822         * modules/sys_select: Likewise.
62823         * modules/sys_socket: Likewise.
62824         * modules/sys_stat: Likewise.
62825         * modules/sys_time: Likewise.
62826         * modules/sysexits: Likewise.
62827         * modules/time: Likewise.
62828         * modules/unistd: Likewise.
62829         * modules/wchar: Likewise.
62830         * modules/wctype: Likewise.
62831         * modules/sys_stat: Change maintainer to "all".
62832         * modules/unistd: Likewise.
62833
62834 2007-06-20  Karl Berry  <karl@gnu.org>
62835
62836         * config/srclist.txt: track www changes in license files.
62837
62838 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62839
62840         * build-aux/bootstrap: Remove stray dot.
62841         Make sure build_aux settings are honored when linking
62842         gnulib_extra_files.
62843
62844 2007-06-19  Eric Blake  <ebb9@byu.net>
62845
62846         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62847         Allow compilation on cygwin.
62848
62849 2007-06-19  Jim Meyering  <jim@meyering.net>
62850
62851         xreadlink-with-size: Remove module.  No longer used.
62852         Ex-callers now use xreadlink or mreadlink-with-size.
62853         * modules/xreadlink-with-size: Remove module.
62854         * lib/xreadlink-with-size.c: Remove file.
62855         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62856         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62857         just before the function definition *is* accurate.
62858
62859         Eliminate one way canonicalize_filename_mode could exit.
62860         * lib/canonicalize.c (canonicalize_filename_mode):
62861         Use mreadlink_with_size, not xreadlink_with_size.
62862
62863 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62864
62865         Detect porting problems to FreeBSD/arm, which has time_t wider than
62866         long int.  Original problem reported for GNU diff by Xin Li in
62867         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62868         * modules/getdate (Depends-on): Add intprops, verify.
62869         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62870         is an integer type no wider than long int.
62871
62872 2007-06-18  Jim Meyering  <jim@meyering.net>
62873
62874         New module: mreadlink-with-size.
62875         * MODULES.html.sh: Add mreadlink-with-size.
62876         * modules/mreadlink-with-size: New module
62877         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62878         not xreadlink-with-size.
62879         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62880
62881 2007-06-16  Bruno Haible  <bruno@clisp.org>
62882
62883         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62884         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62885         Reported by Gary V. Vaughan <gary@gnu.org>.
62886
62887 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62888
62889         Revamp lchown so that it lives in unistd.h where it belongs.
62890         * lib/lchown.h: Remove.
62891         * lib/dirchownmod.c: Don't include lib/lchown.h.
62892         * lib/fchownat.c: Likewise.
62893         * lib/openat.c: Likewise.
62894         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62895         does not follow symlinks.
62896         (EOPNOTSUPP): Define if not defined.
62897         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62898         is defined to 0.
62899         (lchown): New decl.
62900         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62901         Do not check for lchown decl.
62902         Set REPLACE_LCHOWN.
62903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62904         REPLACE_LCHOWN.
62905         * modules/chown: Make it clear it follows symlinks.
62906         * modules/lchown: Make it clear it doesn't follow symlinks.
62907         (Files): Remove lib/lchown.h
62908         (Depends-on): Add unistd.
62909         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62910         (Include): Include <unistd.h>, not "lchown.h".
62911         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62912         REPLACE_LCHOWN.
62913
62914 2007-06-15  Jim Meyering  <jim@meyering.net>
62915
62916         Change license (GPL to LGPL) of fsusage and dependents.
62917         * modules/fsusage (License): Change to LGPL.
62918         * modules/full-read (License): Likewise.
62919         * modules/full-write (License): Likewise.
62920         * modules/safe-read (License): Likewise.
62921         * modules/safe-write (License): Likewise.
62922
62923 2007-06-14  Ben Pfaff  <blp@gnu.org>
62924
62925         Missing part of allocsa -> malloca transition.
62926         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62927         gl_MALLOCA.
62928
62929 2007-06-12  Bruno Haible  <bruno@clisp.org>
62930
62931         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62932         to ia64, x86_64, i386.
62933         Reported by Eric Blake.
62934
62935 2007-06-12  Bruno Haible  <bruno@clisp.org>
62936
62937         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62938         cross-compiling to x86_64.
62939
62940 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62941
62942         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62943         glitch reported by Ralf Wildenhues in
62944         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62945
62946         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62947         Vin Shelton.
62948
62949 2007-06-11  Bruno Haible  <bruno@clisp.org>
62950
62951         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62952         replacement string.
62953         Reported by Eric Blake.
62954
62955 2007-06-10  Bruno Haible  <bruno@clisp.org>
62956
62957         Prepare vasnprintf code for use with Unicode strings.
62958         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62959         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62960         TYPE_U32_STRING.
62961         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62962         a_u32_string variants.
62963         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62964         * lib/printf-args.c: Don't include config.h and the specification
62965         header if PRINTF_FETCHARGS is already defined.
62966         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62967         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62968         TYPE_U16_STRING, TYPE_U32_STRING.
62969         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62970         u16_directive, u16_directives, u32_directive, u32_directives): New
62971         types.
62972         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62973         New declarations.
62974         * lib/printf-parse.c: Don't include config.h and the specification
62975         header if PRINTF_PARSE is already defined. Eliminate the set of
62976         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62977         them now. Include c-ctype.h.
62978         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62979         directive and CHAR_T_ONLY_ASCII.
62980         * lib/vasnprintf.c: Don't include config.h and the specification header
62981         if VASNPRINTF is already defined.
62982         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62983         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62984         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62985         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62986         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62987         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62988         code accordingly.
62989         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62990         pad_ourselves also in this case, with the 'c' and 's' directives, and
62991         with a different notion of "width".
62992         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62993
62994 2007-06-10  Bruno Haible  <bruno@clisp.org>
62995
62996         * modules/unistr/u32-mbsnlen: New file.
62997         * lib/unistr/u32-mbsnlen.c: New file.
62998
62999         * modules/unistr/u16-mbsnlen: New file.
63000         * lib/unistr/u16-mbsnlen.c: New file.
63001
63002         * modules/unistr/u8-mbsnlen: New file.
63003         * lib/unistr/u8-mbsnlen.c: New file.
63004
63005         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63006         declarations.
63007
63008 2007-06-10  Bruno Haible  <bruno@clisp.org>
63009
63010         * lib/string_.h (mbsnlen): New declaration.
63011         * lib/mbsnlen.c: New file.
63012         * m4/mbsnlen.m4: New file.
63013         * modules/mbsnlen: New file.
63014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63015         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63016         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63017
63018 2007-06-10  Bruno Haible  <bruno@clisp.org>
63019
63020         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63021
63022 2007-06-10  Bruno Haible  <bruno@clisp.org>
63023
63024         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63025         * lib/mbuiter.h: Likewise.
63026
63027 2007-06-10  Bruno Haible  <bruno@clisp.org>
63028
63029         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63030         declaration.
63031
63032 2007-06-10  Karl Berry  <karl@gnu.org>
63033
63034         * config/srclist.txt: remove gettext entries, Bruno prefers
63035         to update individually.
63036
63037 2007-06-10  Bruno Haible  <bruno@clisp.org>
63038
63039         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63040         'maxlen'. Ensure only length + width bytes are allocated, not
63041         length + 1 + width.
63042
63043 2007-06-09  Bruno Haible  <bruno@clisp.org>
63044
63045         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63046         (CHAR_T): Remove macro.
63047         (VASNPRINTF): Update.
63048
63049 2007-06-09  Bruno Haible  <bruno@clisp.org>
63050
63051         * MODULES.html.sh (Unicode string functions): Add the new modules.
63052
63053         * modules/uniconv/u32-conv-to-enc: New file.
63054         * lib/uniconv/u32-conv-to-enc.c: New file.
63055         * modules/uniconv/u32-conv-to-enc-tests: New file.
63056         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63057
63058         * modules/uniconv/u16-conv-to-enc: New file.
63059         * lib/uniconv/u16-conv-to-enc.c: New file.
63060         * lib/uniconv/u-conv-to-enc.h: New file.
63061         * modules/uniconv/u16-conv-to-enc-tests: New file.
63062         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63063
63064         * modules/uniconv/u8-conv-to-enc: New file.
63065         * lib/uniconv/u8-conv-to-enc.c: New file.
63066         * modules/uniconv/u8-conv-to-enc-tests: New file.
63067         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63068
63069         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63070         u32_conv_to_encoding): New declarations.
63071
63072 2007-06-09  Bruno Haible  <bruno@clisp.org>
63073
63074         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63075
63076 2007-06-09  Bruno Haible  <bruno@clisp.org>
63077
63078         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63079         * modules/malloca: Renamed from modules/allocsa, updated.
63080         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63081         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63082         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63083         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63084         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63085         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63086         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63087         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63088         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63089         * modules/c-strcasestr (Depends-on): Update.
63090         * lib/c-strcasestr.c: Update.
63091         * modules/c-strstr (Depends-on): Update.
63092         * lib/c-strstr.c: Update.
63093         * modules/canonicalize-lgpl (Depends-on): Update.
63094         * lib/canonicalize-lgpl.c: Update.
63095         * modules/clean-temp (Depends-on): Update.
63096         * lib/clean-temp.c: Update.
63097         * modules/csharpcomp (Depends-on): Update.
63098         * lib/csharpcomp.c: Update.
63099         * modules/csharpexec (Depends-on): Update.
63100         * lib/csharpexec.c: Update.
63101         * modules/javacomp (Depends-on): Update.
63102         * lib/javacomp.c: Update.
63103         * modules/javaexec (Depends-on): Update.
63104         * lib/javaexec.c: Update.
63105         * modules/mbscasestr (Depends-on): Update.
63106         * lib/mbscasestr.c: Update.
63107         * modules/mbsstr (Depends-on): Update.
63108         * lib/mbsstr.c: Update.
63109         * modules/setenv (Depends-on): Update.
63110         * lib/setenv.c: Update.
63111         * modules/strcasestr (Depends-on): Update.
63112         * lib/strcasestr.c: Update.
63113         * modules/striconveha (Depends-on): Update.
63114         * lib/striconveha.c: Update.
63115         * modules/relocatable-prog-wrapper (Files): Update.
63116         * lib/relocwrapper.c: Update.
63117         * build-aux/install-reloc: Update.
63118         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63119
63120 2007-06-08  Bruno Haible  <bruno@clisp.org>
63121
63122         Port to uClibc.
63123         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63124         * lib/fpurge.c (fpurge): Likewise.
63125         * lib/freading.c (freading): Likewise.
63126         * lib/fseeko.c (rpl_fseeko): Likewise.
63127         * lib/fseterr.c (fseterr): Likewise.
63128         * lib/fwriting.c (fwriting): Likewise.
63129         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63130
63131 2007-06-08  Bruno Haible  <bruno@clisp.org>
63132
63133         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63134         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63135         * modules/gettext (Files): Add m4/intlmacosx.m4.
63136
63137 2007-06-07  Bruno Haible  <bruno@clisp.org>
63138
63139         * modules/localename-tests: New file.
63140         * tests/test-localename.c: New file.
63141
63142         New module 'localename'.
63143         * lib/localename.h: New file.
63144         * lib/localename.c: New file, from GNU gettext.
63145         * m4/localename.m4: New file.
63146         * modules/localename: New file.
63147
63148 2007-06-07  Bruno Haible  <bruno@clisp.org>
63149
63150         Work around the lack of <wchar.h> on some builds of uClibc.
63151         * doc/headers/wchar.texi: Update.
63152         * lib/wchar_.h: Include <wchar.h> only if it exists.
63153         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63154         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63155         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63156         doesn't exist.
63157         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63158         * modules/mbfile (Depends-on): Add wchar.
63159         * modules/mbiter (Depends-on): Likewise.
63160         * modules/mbuiter (Depends-on): Likewise.
63161         Reported by Simon Josefsson.
63162
63163 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63164
63165         Work around problem reported by Steven M. Schweda in
63166         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63167         Tru64 5.1B with the Compaq compiler environment installed declares
63168         an 'isblank' function but does not define it in the C library.
63169         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63170         * lib/regex_internal.h (isblank): Likewise.
63171         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63172         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63173
63174 2007-06-05  Bruno Haible  <bruno@clisp.org>
63175
63176         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63177         ia64.
63178         * modules/printf-safe: New file.
63179         * modules/fprintf-posix (Depends-on): Add printf-safe.
63180         * modules/printf-posix (Depends-on): Likewise.
63181         * modules/snprintf-posix (Depends-on): Likewise.
63182         * modules/sprintf-posix (Depends-on): Likewise.
63183         * modules/vasnprintf-posix (Depends-on): Likewise.
63184         * modules/vasprintf-posix (Depends-on): Likewise.
63185         * modules/vfprintf-posix (Depends-on): Likewise.
63186         * modules/vprintf-posix (Depends-on): Likewise.
63187         * modules/vsnprintf-posix (Depends-on): Likewise.
63188         * modules/vsprintf-posix (Depends-on): Likewise.
63189         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63190         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63191         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63192         "no" on i386, x86_64, ia64.
63193         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63194         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63195         on i386, x86_64, ia64.
63196         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63197         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63198         on i386, x86_64, ia64.
63199         * tests/test-vasnprintf-posix.c: Include float.h.
63200         (LDBL80_WORDS): New macro.
63201         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63202         on i386, x86_64, ia64.
63203         * tests/test-vasprintf-posix.c: Include float.h.
63204         (LDBL80_WORDS): New macro.
63205         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63206         on i386, x86_64, ia64.
63207         * tests/test-snprintf-posix.c: Include float.h.
63208         * tests/test-sprintf-posix.c: Likewise.
63209         * tests/test-vsnprintf-posix.c: Likewise.
63210         * tests/test-vsprintf-posix.c: Likewise.
63211
63212 2007-06-05  Bruno Haible  <bruno@clisp.org>
63213
63214         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63215         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63216         non-IEEE numbers on i386, x86_64, ia64.
63217         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63218         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63219         * tests/test-isnanl.h: Include float.h.
63220         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63221
63222 2007-06-05  Bruno Haible  <bruno@clisp.org>
63223
63224         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63225         also the %a / %A. Handle the %a / %A code before this extra handling.
63226
63227 2007-06-05  Bruno Haible  <bruno@clisp.org>
63228
63229         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63230         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63231
63232 2007-06-05  Bruno Haible  <bruno@clisp.org>
63233
63234         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63235         typo in variable name.
63236
63237 2007-06-05  Eric Blake  <ebb9@byu.net>
63238
63239         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63240         Reported by Simon Josefsson.
63241
63242 2007-06-04  Bruno Haible  <bruno@clisp.org>
63243
63244         Avoid test failures on some PowerPC platforms.
63245         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63246         Define differently for PowerPC.
63247         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63248         Reported by Gary V. Vaughan <gary@gnu.org>.
63249
63250 2007-06-02  Bruno Haible  <bruno@clisp.org>
63251
63252         Fix test-stdint failure on FreeBSD/ia64.
63253         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63254         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63255         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63256         * doc/headers/stdint.texi: Update.
63257
63258 2007-06-01  Bruno Haible  <bruno@clisp.org>
63259
63260         * tests/test-binary-io.c (main): Pass a third argument to open().
63261         Reported by Gary V. Vaughan <gary@gnu.org>.
63262
63263 2007-06-01  Bruno Haible  <bruno@clisp.org>
63264
63265         * doc/functions/frexpl.texi: Update for mingw.
63266
63267 2007-06-01  Bruno Haible  <bruno@clisp.org>
63268
63269         * tests/test-lseek.c (main): Disable test of errno for invalid third
63270         argument.
63271         * doc/functions/lseek.texi: Update.
63272         Reported by Gary V. Vaughan <gary@gnu.org>.
63273
63274 2007-05-28  Bruno Haible  <bruno@clisp.org>
63275
63276         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63277
63278 2007-05-31  Eric Blake  <ebb9@byu.net>
63279
63280         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63281         cross compiling.
63282
63283 2007-05-30  Eric Blake  <ebb9@byu.net>
63284         and Bruno Haible  <bruno@clisp.org>
63285
63286         Work around mingw test failures exposed by m4-1.4.9b.
63287         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63288         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63289         moment.
63290
63291 2007-05-30  Bruno Haible  <bruno@clisp.org>
63292
63293         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63294         assuming that they are closed. Needed on HP-UX 11.
63295
63296 2007-05-29  Bruno Haible  <bruno@clisp.org>
63297
63298         Fix a problem with #include_next.
63299         * lib/dirent_.h: Split the double-inclusion guard.
63300         * lib/fcntl_.h: Likewise.
63301         * lib/float_.h: Likewise.
63302         * lib/iconv_.h: Likewise.
63303         * lib/inttypes_.h: Likewise.
63304         * lib/locale_.h: Likewise.
63305         * lib/math_.h: Likewise.
63306         * lib/netinet_in_.h: Likewise.
63307         * lib/search_.h: Likewise.
63308         * lib/signal_.h: Likewise.
63309         * lib/stdint_.h: Likewise.
63310         * lib/stdio_.h: Likewise.
63311         * lib/stdlib_.h: Likewise.
63312         * lib/string_.h: Likewise.
63313         * lib/sys_select_.h: Likewise.
63314         * lib/sys_socket_.h: Likewise.
63315         * lib/sys_stat_.h: Likewise.
63316         * lib/sys_time_.h: Likewise.
63317         * lib/sysexits_.h: Likewise.
63318         * lib/time_.h: Likewise.
63319         * lib/unistd_.h: Likewise.
63320         * lib/wchar_.h: Likewise.
63321         * lib/wctype_.h: Likewise.
63322
63323 2007-05-29  Bruno Haible  <bruno@clisp.org>
63324
63325         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63326         for the moment.
63327
63328 2007-05-29  Bruno Haible  <bruno@clisp.org>
63329
63330         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63331         invocation.
63332         Reported by Eric Blake.
63333
63334 2007-05-29  Bruno Haible  <bruno@clisp.org>
63335
63336         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63337         compiling case.
63338
63339 2007-05-29  Eric Blake  <ebb9@byu.net>
63340             Bruno Haible  <bruno@clisp.org>
63341
63342         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63343         cross compiles.
63344
63345 2007-05-28  Eric Blake  <ebb9@byu.net>
63346
63347         * modules/closein-tests (test_closein_LDADD): Support test on
63348         cygwin with libtool.
63349
63350 2007-05-28  Bruno Haible  <bruno@clisp.org>
63351
63352         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63353         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63354         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63355         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63356         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63357         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63358         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63359         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63360         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63361
63362 2007-05-28  Eric Blake  <ebb9@byu.net>
63363
63364         Unconditionally include <config.h> in unit tests.
63365         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63366         * tests/test-allocsa.c, tests/test-arcfour.c,
63367         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63368         tests/test-array_list.c, tests/test-array_oset.c,
63369         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63370         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63371         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63372         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63373         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63374         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63375         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63376         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63377         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63378         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63379         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63380         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63381         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63382         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63383         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63384         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63385         test-md5.c, test-memmem.c, test-printf-posix.c,
63386         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63387         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63388         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63389         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63390         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63391         test-vasnprintf-posix2.c, test-vasnprintf.c,
63392         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63393         test-vfprintf-posix.c, test-vprintf-posix.c,
63394         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63395         test-xvasprintf.c: Likewise.
63396
63397 2007-05-28  Bruno Haible  <bruno@clisp.org>
63398
63399         * gnulib-tool (func_import): Remember the --with-tests command-line
63400         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63401         Reported by Eric Blake.
63402
63403 2007-05-28  Bruno Haible  <bruno@clisp.org>
63404
63405         * modules/ftell-tests: New file.
63406         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63407         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63408
63409         * lib/ftell.c: New file.
63410         * modules/ftell: New file.
63411         * m4/ftell.m4: New file.
63412         * doc/functions/ftell.texi: Update.
63413         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63414         REPLACE_FTELL.
63415         * lib/stdio_.h (rpl_ftell): New declaration.
63416         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63417         REPLACE_FTELL.
63418
63419 2007-05-28  Eric Blake  <ebb9@byu.net>
63420
63421         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63422
63423 2007-05-28  Bruno Haible  <bruno@clisp.org>
63424
63425         * modules/fseek-tests: New file.
63426         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63427         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63428
63429         * lib/fseek.c: New file.
63430         * modules/fseek: New file.
63431         * m4/fseek.m4: New file.
63432         * doc/functions/fseek.texi: Update.
63433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63434         REPLACE_FSEEK.
63435         * lib/stdio_.h (rpl_fseek): New declaration.
63436         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63437         REPLACE_FSEEK.
63438
63439 2007-05-28  Bruno Haible  <bruno@clisp.org>
63440
63441         * lib/stdio_.h (fflush): More comments.
63442
63443 2007-05-28  Bruno Haible  <bruno@clisp.org>
63444
63445         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63446         runtime test.
63447
63448 2007-05-28  Eric Blake  <ebb9@byu.net>
63449
63450         Improve lseek module.
63451         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63452         * lib/unistd_.h (lseek): Scale back link warning message.
63453         * tests/test-lseek.c: Beef up test.
63454         * tests/test-lseek.sh: Exercise more facets of lseek.
63455         Reported by Bruno Haible.
63456
63457 2007-05-28  Bruno Haible  <bruno@clisp.org>
63458
63459         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63460         to define.
63461
63462 2007-05-27  Bruno Haible  <bruno@clisp.org>
63463
63464         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63465
63466 2007-05-27  Bruno Haible  <bruno@clisp.org>
63467
63468         * modules/openmp: New file.
63469         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63470         Noah Misch.
63471
63472 2007-05-26  Bruno Haible  <bruno@clisp.org>
63473
63474         * modules/chdir-long (Depends-on): Add fchdir.
63475         * modules/chdir-safer (Depends-on): Likewise.
63476         * modules/fts (Depends-on): Likewise.
63477         * modules/fts-lgpl (Depends-on): Likewise.
63478         * modules/openat (Depends-on): Likewise.
63479         * modules/savewd (Depends-on): Likewise.
63480
63481 2007-05-24  Eric Blake  <ebb9@byu.net>
63482
63483         Fix lseek on mingw.
63484         * modules/lseek: New module.
63485         * m4/lseek.m4: New file.
63486         * lib/lseek.c: New file.
63487         * modules/lseek-tests: New file.
63488         * tests/test-lseek.c: New file.
63489         * tests/test-lseek.sh: New file.
63490         * MODULES.html.sh: Document lseek module.
63491         * modules/fflush (Depends-on): Add lseek, fseeko.
63492         * modules/fseeko (Depends-on): Likewise.
63493         * modules/ftello (Depends-on): Likewise.
63494         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63495         broken.
63496         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63497         broken.
63498         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63499         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63500         * lib/ftello.c (rpl_ftello): Likewise.
63501         * tests/test-fseeko.c (main): Test this.
63502         * tests/test-fseeko.sh: Likewise.
63503         * tests/test-ftello.c (main): Likewise.
63504         * tests/test-ftello.sh: Likewise.
63505         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63506         implies replacing fseek.
63507         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63508         HAVE_FTELLO.
63509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63510         * modules/unistd (Makefile.am): Likewise.
63511         * lib/unistd_.h (lseek): Declare a replacement.
63512         * doc/functions/lseek.texi (lseek): Document this fix.
63513         * doc/functions/fseek.texi (fseek): Likewise.
63514         * doc/functions/ftell.texi (ftell): Likewise.
63515
63516 2007-05-24  Bruno Haible  <bruno@clisp.org>
63517
63518         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63519         in the printed representation of a NaN.
63520         * tests/test-vasprintf-posix.c (test_function): Likewise.
63521         * tests/test-snprintf-posix.h (test_function): Likewise.
63522         * tests/test-sprintf-posix.h (test_function): Likewise.
63523         Reported by Eric Blake.
63524
63525 2007-05-23  Eric Blake  <ebb9@byu.net>
63526
63527         Fix fseeko/ftello on cygwin 1.5.24.
63528         * doc/functions/fseeko.texi (fseeko): Document the fix.
63529         * doc/functions/ftello.texi (ftello): Document the fix.
63530         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63531         * doc/functions/stdout.text (stdout): New file.
63532         * doc/functions/stderr.text (stderr): New file.
63533         * doc/gnulib.texi (Function Substitutes): Use new files.
63534         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63535         prior to 1.7.0.
63536         * tests/test-ftello.c (main): Likewise for ftello.
63537         * tests/test-fseeko.sh: New file.
63538         * tests/test-ftello.sh: New file.
63539         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63540         with seekable stdin.
63541         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63542         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63543         (gl_REPLACE_FSEEKO): New macro.
63544         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63545         * modules/fseeko (Files): Distribute fseeko.c.
63546         * modules/ftello (Files): Distribute ftello.c.
63547         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63548         mode.
63549         * lib/ftello.c (rpl_ftello): New file.
63550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63551         fseeko, ftello.
63552         (gl_STDIN_LARGE_OFFSET): New macro.
63553         * modules/stdio (Makefile.am): Perform the replacement.
63554         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63555
63556 2007-05-23  Bruno Haible  <bruno@clisp.org>
63557
63558         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63559         GNULIB_POSIXCHECK is defined.
63560
63561 2007-05-21  Bruno Haible  <bruno@clisp.org>
63562
63563         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63564         Check also the output for NaN arguments. When cross-compiling, guess
63565         no on IRIX.
63566         * lib/vasnprintf.c: Update comments.
63567         * tests/test-vasnprintf-posix.c (strisnan): New function.
63568         (test_function): Use it.
63569         * tests/test-vasprintf-posix.c (strisnan): New function.
63570         (test_function): Use it.
63571         * tests/test-snprintf-posix.h (strisnan): New function.
63572         (test_function): Use it.
63573         * tests/test-sprintf-posix.h (strisnan): New function.
63574         (test_function): Use it.
63575         Reported by Eric Blake.
63576
63577 2007-05-20  Bruno Haible  <bruno@clisp.org>
63578
63579         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63580         numbers that fails on BeOS.
63581         * doc/functions/frexpl.texi: Update.
63582
63583 2007-05-20  Jim Meyering  <jim@meyering.net>
63584
63585         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63586         forced upon us by glibc-2.6.
63587
63588 2007-05-20  Bruno Haible  <bruno@clisp.org>
63589
63590         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63591         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63592         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63593         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63594         NEED_PRINTF_INFINITE.
63595         (is_infinitel): New function.
63596         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63598         gl_PREREQ_VASNPRINTF_INFINITE.
63599         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63600         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63601         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63602         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63603         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63604         gl_PREREQ_VASNPRINTF_INFINITE.
63605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63606         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63607         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63609         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63610         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63611         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63612         * doc/functions/fprintf.texi: Update.
63613         * doc/functions/printf.texi: Update.
63614         * doc/functions/snprintf.texi: Update.
63615         * doc/functions/sprintf.texi: Update.
63616         * doc/functions/vfprintf.texi: Update.
63617         * doc/functions/vprintf.texi: Update.
63618         * doc/functions/vsnprintf.texi: Update.
63619         * doc/functions/vsprintf.texi: Update.
63620
63621 2007-05-20  Bruno Haible  <bruno@clisp.org>
63622
63623         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63624         was not found in libc.
63625         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63626
63627 2007-05-20  Bruno Haible  <bruno@clisp.org>
63628
63629         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63630         printed as "-nan" instead of "nan".
63631         * tests/test-vasprintf-posix.c (test_function): Likewise.
63632         * tests/test-snprintf-posix.h (test_function): Likewise.
63633         * tests/test-sprintf-posix.h (test_function): Likewise.
63634         Needed for HP-UX 11.
63635
63636 2007-05-20  Jim Meyering  <jim@meyering.net>
63637
63638         Fix buggy test for the fchownat-deref bug.
63639         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63640         symlink required for the run-test.  Without it, this test would
63641         always declare that fchownat doesn't work, and client code would
63642         unnecessarily use the replacement function with fixed libc.
63643         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63644         Reported by Greg Schafer.
63645
63646 2007-05-19  Bruno Haible  <bruno@clisp.org>
63647
63648         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63649         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63650         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63651         Needed for IRIX 6.5 and Solaris 2.5.1.
63652
63653 2007-05-19  Bruno Haible  <bruno@clisp.org>
63654
63655         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63656         (test_function): Skip tests involving -0.0 on platforms where
63657         -0.0 = 0.0.
63658         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63659         (test_function): Skip tests involving -0.0 on platforms where
63660         -0.0 = 0.0.
63661         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63662         (test_function): Skip tests involving -0.0 on platforms where
63663         -0.0 = 0.0.
63664         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63665         (test_function): Skip tests involving -0.0 on platforms where
63666         -0.0 = 0.0.
63667         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63668         tests.
63669         * tests/test-printf-posix.h (test_function): Likewise.
63670         * tests/test-printf-posix.output: Remove all -0.0 related results.
63671         Needed for IRIX 6.5.
63672
63673 2007-05-19  Bruno Haible  <bruno@clisp.org>
63674
63675         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63676         printed as "nan0x7fffffff" instead of "nan".
63677         * tests/test-vasprintf-posix.c (test_function): Likewise.
63678         * tests/test-snprintf-posix.h (test_function): Likewise.
63679         * tests/test-sprintf-posix.h (test_function): Likewise.
63680         * tests/test-fprintf-posix.h (NaN): Remove macro.
63681         (test_function): Remove all NaN related tests.
63682         * tests/test-printf-posix.h (NaN): Remove macro.
63683         (test_function): Remove all NaN related tests.
63684         * tests/test-printf-posix.output: Remove all NaN related results.
63685         Needed for IRIX 6.5.
63686
63687 2007-05-19  Bruno Haible  <bruno@clisp.org>
63688
63689         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63690         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63691
63692 2007-05-19  Bruno Haible  <bruno@clisp.org>
63693
63694         * lib/float_.h: New file.
63695         * m4/float_h.m4: New file.
63696         * modules/float: New file.
63697         * modules/isnanl (Dependencies): Add float.
63698         * modules/isnanl-nolibm (Dependencies): Likewise.
63699         * modules/mathl (Dependencies): Likewise.
63700         * modules/printf-frexpl (Dependencies): Likewise.
63701         * modules/signbit (Dependencies): Likewise.
63702         * modules/vasnprintf (Dependencies): Likewise.
63703         * doc/headers/float.texi: Update.
63704
63705 2007-05-19  Jim Meyering  <jim@meyering.net>
63706
63707         * lib/utimens.c (gl_futimens): Rename from futimens,
63708         now that glibc-2.6 declares futimens.
63709         * lib/utimens.h: Likewise.
63710
63711 2007-05-19  Bruno Haible  <bruno@clisp.org>
63712
63713         Avoid test failures on mingw.
63714         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63715         * tests/test-printf-posix.sh: Likewise.
63716         * tests/test-vfprintf-posix.sh: Likewise.
63717         * tests/test-vprintf-posix.sh: Likewise.
63718
63719 2007-05-19  Bruno Haible  <bruno@clisp.org>
63720
63721         Fix *printf result for NaN, Inf, -0.0 on mingw.
63722         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63723         * lib/vasnprintf.c: Include math.h and isnan.h.
63724         (is_infinite_or_zero): New function.
63725         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63726         values in the %f, %F, %e, %E, %g, %G directives.
63727         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63728         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63729         gl_PRINTF_INFINITE and test its result. Invoke
63730         gl_PREREQ_VASNPRINTF_INFINITE.
63731         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63732         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63733         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63734         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63735         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63736         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63737         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63738         * doc/functions/fprintf.texi: Update.
63739         * doc/functions/printf.texi: Update.
63740         * doc/functions/snprintf.texi: Update.
63741         * doc/functions/sprintf.texi: Update.
63742         * doc/functions/vfprintf.texi: Update.
63743         * doc/functions/vprintf.texi: Update.
63744         * doc/functions/vsnprintf.texi: Update.
63745         * doc/functions/vsprintf.texi: Update.
63746
63747 2007-05-19  Bruno Haible  <bruno@clisp.org>
63748
63749         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63750         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63751         Instead of multiplying with 10^k, set extra_zeroes to k.
63752         (scale10_round_long_double): Remove function.
63753
63754 2007-05-18  Bruno Haible  <bruno@clisp.org>
63755
63756         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63757         introduced on 2007-05-06.
63758
63759 2007-05-18  Bruno Haible  <bruno@clisp.org>
63760
63761         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63762         %g directives.
63763         * tests/test-vasprintf-posix.c (test_function): Likewise.
63764         * tests/test-snprintf-posix.h (test_function): Likewise.
63765         * tests/test-sprintf-posix.h (test_function): Likewise.
63766
63767 2007-05-18  Bruno Haible  <bruno@clisp.org>
63768
63769         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63770         (strmatch): New function.
63771         (test_function): Test the %f directive on numbers of various exponents.
63772         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63773         (strmatch): New function.
63774         (test_function): Test the %f directive on numbers of various exponents.
63775         * tests/test-snprintf-posix.h (strmatch): New function.
63776         (test_function): Test the %f directive on numbers of various exponents.
63777         * tests/test-sprintf-posix.h (strmatch): New function.
63778         (test_function): Test the %f directive on numbers of various exponents.
63779         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63780         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63781         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63782         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63783
63784 2007-05-18  Bruno Haible  <bruno@clisp.org>
63785
63786         Add support for 'long double' number output.
63787         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63788         * lib/vasnprintf.c: Include math.h and float+.h.
63789         (mp_limb_t): New type.
63790         (GMP_LIMB_BITS): New macro.
63791         (mp_twolimb_t): New type.
63792         (GMP_TWOLIMB_BITS): New macro.
63793         (mpn_t): New type.
63794         (multiply, divide, convert_to_decimal, decode_long_double,
63795         scale10_round_long_double, scale10_round_decimal_long_double,
63796         floorlog10l): New functions.
63797         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63798         for the %f, %F, %e, %E, %g, %G directives.
63799         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63800         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63801         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63802         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63803         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63804         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63805         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63806         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63807         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63808         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63809         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63810         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63811         * modules/snprintf-posix (Depends-on): Likewise.
63812         * modules/sprintf-posix (Depends-on): Likewise.
63813         * modules/vasnprintf-posix (Depends-on): Likewise.
63814         * modules/vasprintf-posix (Depends-on): Likewise.
63815         * modules/vfprintf-posix (Depends-on): Likewise.
63816         * modules/vsnprintf-posix (Depends-on): Likewise.
63817         * modules/vsprintf-posix (Depends-on): Likewise.
63818         * modules/vasnprintf (Files): Add lib/float+.h.
63819         * doc/functions/fprintf.texi: Update.
63820         * doc/functions/printf.texi: Update.
63821         * doc/functions/snprintf.texi: Update.
63822         * doc/functions/sprintf.texi: Update.
63823         * doc/functions/vfprintf.texi: Update.
63824         * doc/functions/vprintf.texi: Update.
63825         * doc/functions/vsnprintf.texi: Update.
63826         * doc/functions/vsprintf.texi: Update.
63827
63828 2007-05-18  Bruno Haible  <bruno@clisp.org>
63829
63830         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63831
63832 2007-05-18  Bruno Haible  <bruno@clisp.org>
63833
63834         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63835         for printing 64-bit integers. Needed for mingw.
63836
63837 2007-05-18  Bruno Haible  <bruno@clisp.org>
63838
63839         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63840         gl_FUNC_FREXPL_WORKS.
63841         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63842
63843 2007-05-18  Bruno Haible  <bruno@clisp.org>
63844
63845         * modules/frexpl-nolibm-tests: New file.
63846
63847         * modules/frexpl-nolibm: New file.
63848         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63849
63850 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63851
63852         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63853         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63854         GCC 4.2, which otherwise issues a lot of warnings.
63855         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63856         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63857         Likewise.
63858         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63859         * modules/iconv_open (iconv.h): Likewise.
63860         * modules/locale (locale.h): Likewise.
63861         * modules/netinet_in (netinet/in.h): Likewise.
63862         * modules/sys_select (sys_select.h): Likewise.
63863         * modules/sys_socket (sys/socket.h): Likewise.
63864         * modules/sys_stat (sys/stat.h): Likewise.
63865         * modules/sysexits (sysexits.h): Likewise.
63866         * modules/unistd (unistd.h): Likewise.
63867
63868 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63869
63870         * modules/closein-tests (Makefile.am): Distribute
63871         `test-closein.sh'.
63872
63873 2007-05-17  Bruno Haible  <bruno@clisp.org>
63874
63875         * tests/test-printf-posix.output: Renamed from
63876         tests/test-fprintf-posix.out.
63877         * modules/fprintf-posix-tests: Update.
63878         * modules/printf-posix-tests: Update.
63879         * modules/vfprintf-posix-tests: Update.
63880         * modules/vprintf-posix-tests: Update.
63881         * tests/test-fprintf-posix.sh: Update.
63882         * tests/test-printf-posix.sh: Update.
63883         * tests/test-vfprintf-posix.sh: Update.
63884         * tests/test-vprintf-posix.sh: Update.
63885         Reported by Ralf Wildenhues.
63886
63887 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63888
63889         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63890         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63891         GCC 4.2, which otherwise issues a lot of warnings.
63892         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63893         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63894         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63895         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63896         it should no longer be needed.
63897         * lib/string_.h: Likewise.
63898         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63899         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63900         * modules/inttypes (inttypes.h): Likewise.
63901         * modules/math (math.h): Likewise.
63902         * modules/search (search.h): Likewise.
63903         * modules/signal (signal.h): Likewise.
63904         * modules/stdint (stdint.h): Likewise.
63905         * modules/stdio (stdio.h): Likewise.
63906         * modules/stdlib (stdlib.h): Likewise.
63907         * modules/string (string.h): Likewise.
63908         * modules/sys_time (sys/time.h): Likewise.
63909         * modules/time (time.h): Likewise.
63910         * modules/wchar (wchar.h): Likewise.
63911         * modules/wctype (wtype.h): Likewise.
63912
63913 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63914
63915         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63916
63917 2007-05-13  Bruno Haible  <bruno@clisp.org>
63918
63919         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63920         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63921         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63922         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63923         (gl_PREREQ_STRTOK_R): Don't require it here.
63924
63925 2007-05-13  Bruno Haible  <bruno@clisp.org>
63926
63927         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63928         when used in C++ mode.
63929
63930 2007-05-12  Bruno Haible  <bruno@clisp.org>
63931
63932         * lib/linebuffer.h: Tweak doc.
63933         * lib/linebuffer.c: Likewise.
63934
63935 2007-05-12  James Youngman  <jay@gnu.org>
63936
63937         * lib/linebuffer.c (readlinebuffer_delim): New function,
63938         like readlinebuffer, but use a caller-specified delimiter.
63939         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63940         as the delimiter.
63941         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63942
63943 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63944
63945         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63946         * modules/openat (Files): Remove openat-die.c.
63947         (Depends-on): Add openat-die.
63948         * modules/openat-die: New module.
63949
63950 2007-05-06  Bruno Haible  <bruno@clisp.org>
63951
63952         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63953         Update with info about Cygwin.
63954         * doc/functions/fprintf.texi: Update.
63955         * doc/functions/printf.texi: Update.
63956         * doc/functions/snprintf.texi: Update.
63957         * doc/functions/sprintf.texi: Update.
63958         * doc/functions/vfprintf.texi: Update.
63959         * doc/functions/vprintf.texi: Update.
63960         * doc/functions/vsnprintf.texi: Update.
63961         * doc/functions/vsprintf.texi: Update.
63962         Reported by Eric Blake.
63963
63964 2007-05-06  Bruno Haible  <bruno@clisp.org>
63965
63966         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63967         padding ourselves for the floating-point directives.
63968         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63970         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63971         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63972         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63973         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63974         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63975         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63976         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63977         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63978         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63979         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63980         * tests/test-snprintf-posix.h (test_function): Also check the width
63981         and some flags in the %f directive.
63982         * tests/test-sprintf-posix.h (test_function): Likewise.
63983         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63984         * tests/test-vasprintf-posix.c (test_function): Likewise.
63985         * doc/functions/fprintf.texi: Update.
63986         * doc/functions/printf.texi: Update.
63987         * doc/functions/snprintf.texi: Update.
63988         * doc/functions/sprintf.texi: Update.
63989         * doc/functions/vfprintf.texi: Update.
63990         * doc/functions/vprintf.texi: Update.
63991         * doc/functions/vsnprintf.texi: Update.
63992         * doc/functions/vsprintf.texi: Update.
63993
63994 2007-05-06  Bruno Haible  <bruno@clisp.org>
63995
63996         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63997         pass the ' flag character to sprintf or snprintf.
63998         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63999         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64000         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64001         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64002         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64003         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64004         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64005         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64006         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64007         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64008         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64009         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64010         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64011         flag.
64012         * tests/test-sprintf-posix.h (test_function): Likewise.
64013         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64014         * tests/test-vasprintf-posix.c (test_function): Likewise.
64015         * doc/functions/fprintf.texi: Update.
64016         * doc/functions/printf.texi: Update.
64017         * doc/functions/snprintf.texi: Update.
64018         * doc/functions/sprintf.texi: Update.
64019         * doc/functions/vfprintf.texi: Update.
64020         * doc/functions/vprintf.texi: Update.
64021         * doc/functions/vsnprintf.texi: Update.
64022         * doc/functions/vsprintf.texi: Update.
64023
64024 2007-05-01  Bruno Haible  <bruno@clisp.org>
64025
64026         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64027
64028 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64029
64030         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64031         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64032
64033 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64034
64035         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64036         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64037         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64038
64039 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64040
64041         * lib/argp-help.c (struct hol_entry): New member `ord'.
64042         (HOL_ENTRY_PTRCMP): Use ord for comparison
64043         (hol_sort): Initialize ord.
64044
64045 2007-05-01  Bruno Haible  <bruno@clisp.org>
64046
64047         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64048         Reported by Eric Blake.
64049         * doc/gnulib.texi (Function Substitutes): Update.
64050
64051 2007-05-01  Bruno Haible  <bruno@clisp.org>
64052
64053         * doc/functions.texi: Remove file, now redundant through
64054         doc/functions/*.texi.
64055
64056 2007-05-01  Bruno Haible  <bruno@clisp.org>
64057
64058         * modules/argp (Depends-on): Add sleep.
64059
64060 2007-05-01  Bruno Haible  <bruno@clisp.org>
64061
64062         * modules/sleep-tests: New file.
64063         * tests/test-sleep.c: New file.
64064
64065         * modules/sleep: New file.
64066         * lib/sleep.c: New file.
64067         * m4/sleep.m4: New file.
64068         * lib/unistd_.h (sleep): New declaration.
64069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64070         HAVE_SLEEP.
64071         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64072         * doc/functions/sleep.texi: Document the sleep module.
64073
64074 2007-05-01  Bruno Haible  <bruno@clisp.org>
64075
64076         * lib/sigprocmask.h: Remove file.
64077         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64078         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64079         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64080         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64081         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64082         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64083         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64084         HAVE_SIGSET_T as a shell variable.
64085         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64086         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64087         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64088         (Depends-on): Add signal. Remove verify.
64089         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64090         (Include): Mention <signal.h> instead of sigprocmask.h.
64091         * NEWS: Mention the change.
64092         * lib/fatal-signal.c: Don't include sigprocmask.h.
64093
64094 2007-05-01  Bruno Haible  <bruno@clisp.org>
64095
64096         * modules/signal: New file.
64097         * lib/signal_.h: New file.
64098         * m4/signal_h.m4: New file.
64099
64100 2007-05-01  Bruno Haible  <bruno@clisp.org>
64101
64102         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64103         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64104         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64105         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64106
64107 2007-05-01  Bruno Haible  <bruno@clisp.org>
64108
64109         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64110         configure time.
64111         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64112         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64113         * modules/sys_stat (Makefile.am): Substitute their values into
64114         sys/stat.h.
64115
64116 2007-05-01  Bruno Haible  <bruno@clisp.org>
64117
64118         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64119         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64120         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64121
64122 2007-05-01  Bruno Haible  <bruno@clisp.org>
64123
64124         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64125         'assert' module here.
64126
64127 2007-05-01  Bruno Haible  <bruno@clisp.org>
64128
64129         * doc/functions/*.texi: New files.
64130         * doc/functions/google-ranking.txt: New file.
64131         * doc/gnulib.texi (Function Substitutes): New chapter.
64132         (ctime, inet_ntoa): Remove sections.
64133         * doc/ctime.texi: Remove file.
64134         * doc/inet_ntoa.texi: Remove file.
64135         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64136         dependencies.
64137         (%.info): New rule, specifying a --reference-limit.
64138
64139 2007-05-01  Bruno Haible  <bruno@clisp.org>
64140
64141         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64142
64143 2007-05-01  Bruno Haible  <bruno@clisp.org>
64144
64145         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64146         the portability of 'mkdir' to mingw systems.
64147
64148 2007-05-01  Bruno Haible  <bruno@clisp.org>
64149
64150         * doc/headers/google-ranking.txt: New file.
64151
64152 2007-04-30  Eric Blake  <ebb9@byu.net>
64153
64154         Prefer fseeko to fseek.
64155         * modules/getpass (Depends-on): Add fseeko.
64156         * lib/getpass.c (getpass): Use fseeko, not fseek.
64157
64158 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64159
64160         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64161         assumes the sorting is stable, while most qsort implementations
64162         are not.  Use argument addresses to ensure they never compare as
64163         equal.
64164
64165         * tests/test-argp-2.sh (usage-indent test): Fix output
64166         (func_compare): Restore diff options
64167         * tests/test-argp.c: Restore #include "progname.h"
64168
64169 2007-04-29  Bruno Haible  <bruno@clisp.org>
64170
64171         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64172         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64173         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64174         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64175         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64176         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64177         (TESTS, check_PROGRAMS): Add test-snprintf.
64178         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64179         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64180         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64181         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64182         assertions that fail on HP-UX, OSF/1, or IRIX.
64183         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64184
64185 2007-04-29  Bruno Haible  <bruno@clisp.org>
64186
64187         * MODULES.html.sh (posix_functions): Remove 'contents'.
64188
64189 2007-04-29  Karl Berry  <karl@gnu.org>
64190
64191         * config/srclist.txt (gendocs_template_min): new entry.
64192
64193 2007-04-29  Bruno Haible  <bruno@clisp.org>
64194
64195         Work around fpurge bug on BSD systems.
64196         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64197         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64198         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64199         fpurge to rpl_fpurge if the system already has this function.
64200         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64201         the case where the system already has this function. Correct invariants
64202         on BSD systems.
64203         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64204         BSD systems.
64205
64206 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64207
64208         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64209         proposed by Sven Verdoolaege.
64210
64211         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64212         options.
64213         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64214         (usage and help tests): Update
64215
64216 2007-04-29  Bruno Haible  <bruno@clisp.org>
64217
64218         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64219         Print more information in case of failure. Disable a test on BeOS.
64220
64221 2007-04-29  Bruno Haible  <bruno@clisp.org>
64222
64223         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64224         This helps debugging on systems on which no gdb is available.
64225
64226 2007-04-29  Bruno Haible  <bruno@clisp.org>
64227
64228         * lib/freading.h: Improve comments.
64229         * lib/fwriting.h: Likewise.
64230         * tests/test-freading.c (main): Don't check freading immediately after
64231         repositioning. Needed for glibc.
64232
64233 2007-04-29  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/freading.c (freading): Trivial simplification.
64236
64237 2007-04-28  Bruno Haible  <bruno@clisp.org>
64238
64239         * tests/test-fwriting.c (main): Also test the interaction between
64240         fflush and fwriting.
64241         * modules/fwriting-tests (Depends-on): Add fflush.
64242
64243         * tests/test-freading.c (main): Also test the interaction between
64244         fflush and freading.
64245         * modules/freading-tests (Depends-on): Add fflush.
64246
64247 2007-04-28  Bruno Haible  <bruno@clisp.org>
64248
64249         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64250         fseeko and ftello.
64251         Suggested by Eric Blake.
64252
64253 2007-04-28  Jim Meyering  <jim@meyering.net>
64254
64255         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64256         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64257         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64258
64259 2007-04-27  Eric Blake  <ebb9@byu.net>
64260
64261         * doc/headers/assert.texi (assert.h): Document assert module use.
64262
64263 2007-04-27  Bruno Haible  <bruno@clisp.org>
64264
64265         * doc/headers/*.texi: New files.
64266         * doc/gnulib.texi (Header File Substitutes): New chapter.
64267         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64268         dependencies.
64269         (standards.info ,standards.html, standards.dvi): Update dependencies.
64270         (mostlyclean, clean): New targets.
64271
64272 2007-04-27  Bruno Haible  <bruno@clisp.org>
64273
64274         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64275         * modules/sysexits (Files, Makefile.am): Update.
64276
64277         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64278         * modules/sys_socket (Files, Makefile.am): Update.
64279
64280         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64281         * modules/sys_stat (Files, Makefile.am): Update.
64282
64283 2007-04-27  Eric Blake  <ebb9@byu.net>
64284
64285         * lib/freading.h: Improve comments.
64286         * lib/fwriting.h: Likewise.
64287         * lib/fflush.c: Likewise.
64288
64289         Fix closein for mingw.
64290         * modules/closein-tests: Add tests for closein.
64291         * tests/test-closein.c: New file.
64292         * tests/test-closein.sh: Likewise.
64293         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64294         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64295
64296 2007-04-27  Bruno Haible  <bruno@clisp.org>
64297
64298         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64299         version is < 6.
64300         * lib/math_.h [__DECC]: Likewise.
64301         * lib/stdio_.h [__DECC]: Likewise.
64302         * lib/stdlib_.h [__DECC]: Likewise.
64303         * lib/string_.h [__DECC]: Likewise.
64304         * lib/time_.h [__DECC]: Likewise.
64305         * lib/wchar_.h [__DECC]: Likewise.
64306         * lib/wctype_.h [__DECC]: Likewise.
64307
64308 2007-04-27  Bruno Haible  <bruno@clisp.org>
64309
64310         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64311
64312 2007-04-27  Bruno Haible  <bruno@clisp.org>
64313
64314         * lib/fflush.c: Add comments.
64315         * modules/fpurge-tests (Depends-on): Add fflush.
64316         * modules/freadable-tests (Depends-on): Likewise.
64317         * modules/fwritable-tests (Depends-on): Likewise.
64318
64319 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64320
64321         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64322         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64323         Report by Bruno Haible <bruno@clisp.org>.
64324
64325 2007-04-26  Eric Blake  <ebb9@byu.net>
64326
64327         Fix fflush on mingw.
64328         * modules/fflush (Depends-on): Add freading.
64329         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64330         but unread data.
64331
64332 2007-04-26  Eric Blake  <ebb9@byu.net>
64333         and Bruno Haible  <bruno@clisp.org>
64334
64335         Implement freading and fwriting.
64336         * lib/freading.c: New file.
64337         * lib/freading.h: Likewise.
64338         * m4/freading.m4: Likewise.
64339         * modules/freading: Likewise.
64340         * modules/freading-tests: Likewise.
64341         * tests/test-freading.c: Likewise.
64342         * lib/fwriting.c: New file.
64343         * lib/fwriting.h: Likewise.
64344         * m4/fwriting.m4: Likewise.
64345         * modules/fwriting: Likewise.
64346         * modules/fwriting-tests: Likewise.
64347         * tests/test-fwriting.c: Likewise.
64348         * MODULES.html.sh (File stream based Input/Output): Mention them.
64349
64350 2007-04-26  Bruno Haible  <bruno@clisp.org>
64351
64352         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64353         'long' when we assume it.
64354         Suggested by Eric Blake.
64355
64356 2007-04-26  Bruno Haible  <bruno@clisp.org>
64357
64358         Ensure fseeko, ftello are declared on glibc systems.
64359         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64360         * modules/fseeko (configure.ac-early): Likewise.
64361         * modules/ftello (configure.ac-early): Likewise.
64362         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64363         AC_FUNC_FSEEKO for this.
64364         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64365         (gl_CHECK_FSEEKO): Remove macro.
64366
64367 2007-04-26  Bruno Haible  <bruno@clisp.org>
64368
64369         * tests/test-fflush.c (main): Also check the ftell result after
64370         fflush and fseek/fseeko.
64371         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64372         file descriptor position cache in the stream.
64373         * lib/fseeko.c (rpl_fseeko): Likewise.
64374
64375 2007-04-26  Bruno Haible  <bruno@clisp.org>
64376
64377         * modules/fflush-tests (Depends-on): Add fseeko.
64378
64379 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64380             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64381
64382         * lib/argz_.h: ensure error_t definition is obtained in same
64383         mechanism system argz.h would have.
64384         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64385         argz facilities are known bad.  Err on the side of caution if
64386         cross-compiling.
64387
64388 2007-04-25  Eric Blake  <ebb9@byu.net>
64389
64390         * lib/fpurge.c (includes): Use stdlib.h for free.
64391         * tests/test-fflush.c (main): Also test fflush-fseeko.
64392
64393 2007-04-25  Bruno Haible  <bruno@clisp.org>
64394
64395         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64396         * lib/fseeko.c: New file.
64397         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64398         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64399         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64400         gl_FUNC_FSEEKO.
64401         (gl_FUNC_FSEEKO): Invoke it.
64402         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64403         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64404         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64405
64406 2007-04-25  Bruno Haible  <bruno@clisp.org>
64407
64408         * modules/fflush (Depends-on): Add ftello.
64409
64410 2007-04-25  Bruno Haible  <bruno@clisp.org>
64411
64412         * modules/ftello-tests: New file.
64413         * tests/test-ftello.c: New file.
64414
64415         * modules/ftello: New file.
64416         * m4/ftello.m4: New file.
64417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64418         HAVE_FTELLO.
64419         * lib/stdio_.h (ftello): New declaration.
64420         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64421         HAVE_FTELLO.
64422
64423 2007-04-25  Bruno Haible  <bruno@clisp.org>
64424
64425         * modules/fseeko-tests: New file.
64426         * tests/test-fseeko.c: New file.
64427
64428         * modules/fseeko: New file.
64429         * m4/fseeko.m4: New file.
64430         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64431         HAVE_FSEEKO.
64432         * lib/stdio_.h (fseeko): New declaration.
64433         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64434         HAVE_FSEEKO.
64435
64436 2007-04-25  Bruno Haible  <bruno@clisp.org>
64437
64438         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64439
64440 2007-04-25  Bruno Haible  <bruno@clisp.org>
64441
64442         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64443         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64444         * tests/test-unistd.c: Likewise.
64445         * tests/test-fcntl.c: Likewise.
64446
64447 2007-04-23  Eric Blake  <ebb9@byu.net>
64448
64449         * lib/fflush.c: Fix missing include.
64450         Reported by Bruno Haible.
64451
64452 2007-04-23  Bruno Haible  <bruno@clisp.org>
64453
64454         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64455         Reported by Eric Blake.
64456
64457 2007-04-23  Bruno Haible  <bruno@clisp.org>
64458
64459         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64460
64461 2007-04-23  Bruno Haible  <bruno@clisp.org>
64462
64463         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64464
64465 2007-04-23  Bruno Haible  <bruno@clisp.org>
64466
64467         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64468         Needed on HP-UX 11.
64469
64470 2007-04-16  Eric Blake  <ebb9@byu.net>
64471
64472         Make fflush rely on fpurge.
64473         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64474         open coding all variants.
64475         * modules/fflush (Depends-on): Add fpurge and unistd.
64476         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64477         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64478
64479         Fix --with-tests compilation on cygwin.
64480         * modules/argmatch-tests (Makefile.am): List gnulib library first
64481         in LDADD.
64482         * modules/argp-tests (Makefile.am): Likewise.
64483         * modules/array-list-tests (Makefile.am): Likewise.
64484         * modules/array-oset-tests (Makefile.am): Likewise.
64485         * modules/avltree-list-tests (Makefile.am): Likewise.
64486         * modules/avltree-oset-tests (Makefile.am): Likewise.
64487         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64488         * modules/carray-list-tests (Makefile.am): Likewise.
64489         * modules/dirname-tests (Makefile.am): Likewise.
64490         * modules/frexp-tests (Makefile.am): Likewise.
64491         * modules/isnanl-tests (Makefile.am): Likewise.
64492         * modules/linked-list-tests (Makefile.am): Likewise.
64493         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64494         * modules/lock-tests (Makefile.am): Likewise.
64495         * modules/rbtree-list-tests (Makefile.am): Likewise.
64496         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64497         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64498         * modules/tls-tests (Makefile.am): Likewise.
64499         * modules/tsearch-tests (Makefile.am): Likewise.
64500         * modules/xvasprintf-tests (Makefile.am): Likewise.
64501
64502         Fix fpurge for cygwin.
64503         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64504         value.
64505         * modules/fpurge-tests (Depends-on): Clean up trash.
64506
64507 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64508
64509         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64510
64511         * m4/autobuild.m4: Re-indent.
64512
64513 2007-04-13  Bruno Haible  <bruno@clisp.org>
64514
64515         * modules/fpurge-tests: New file.
64516         * tests/test-fpurge.c: New file.
64517
64518         * modules/fpurge: New file.
64519         * lib/fpurge.h: New file.
64520         * lib/fpurge.c: New file.
64521         * m4/fpurge.m4: New file.
64522
64523 2007-04-13  Bruno Haible  <bruno@clisp.org>
64524
64525         * modules/fbufmode-tests: New file.
64526         * tests/test-fbufmode.c: New file.
64527
64528         * modules/fbufmode: New file.
64529         * lib/fbufmode.h: New file.
64530         * lib/fbufmode.c: New file.
64531         * m4/fbufmode.m4: New file.
64532
64533 2007-04-13  Bruno Haible  <bruno@clisp.org>
64534
64535         * modules/fwritable-tests: New file.
64536         * tests/test-fwritable.c: New file.
64537
64538         * modules/fwritable: New file.
64539         * lib/fwritable.h: New file.
64540         * lib/fwritable.c: New file.
64541         * m4/fwritable.m4: New file.
64542
64543 2007-04-13  Bruno Haible  <bruno@clisp.org>
64544
64545         * modules/freadable-tests: New file.
64546         * tests/test-freadable.c: New file.
64547
64548         * modules/freadable: New file.
64549         * lib/freadable.h: New file.
64550         * lib/freadable.c: New file.
64551         * m4/freadable.m4: New file.
64552
64553 2007-04-13  Bruno Haible  <bruno@clisp.org>
64554
64555         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64556         MOSTLYCLEANFILES.
64557
64558 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64559
64560         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64561         gzip bootstrap.conf to avoid dragging in i18n machinery.
64562         (gnulib_tool_option): Use it.
64563
64564 2007-04-13  Bruno Haible  <bruno@clisp.org>
64565
64566         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64567         %F directives.
64568         * tests/test-vasprintf-posix.c (test_function): Likewise.
64569         * tests/test-snprintf-posix.h (test_function): Likewise.
64570         * tests/test-sprintf-posix.h (test_function): Likewise.
64571         * tests/test-fprintf-posix.h (test_function): Likewise.
64572         * tests/test-printf-posix.h (test_function): Likewise.
64573         * tests/test-fprintf-posix.out: Likewise.
64574
64575 2007-04-13  Bruno Haible  <bruno@clisp.org>
64576
64577         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64578         * modules/tls-tests (configure.ac): Likewise.
64579         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64580
64581 2007-04-13  Bruno Haible  <bruno@clisp.org>
64582
64583         * lib/tls.c (glthread_tls_get): Fix return type.
64584         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64585
64586 2007-04-12  Eric Blake  <ebb9@byu.net>
64587
64588         * modules/gettime (Depends-on): Remove gettime.
64589         Reported by Dmitry V. Levin.
64590
64591 2007-04-12  Bruno Haible  <bruno@clisp.org>
64592
64593         * modules/fflush (Include): Mention <stdio.h>.
64594         * modules/strtoimax (Include): Mention <inttypes.h>.
64595         * modules/strtoumax (Include): Likewise.
64596
64597 2007-04-12  Eric Blake  <ebb9@byu.net>
64598
64599         * .cvsignore: New file.
64600         * .gitignore: Likewise.
64601
64602 2007-04-12  Bruno Haible  <bruno@clisp.org>
64603
64604         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64605         not before, since $(LDADD) often contains libgnu.a.
64606         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64607         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64608         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64609         Needed on Cygwin.
64610
64611 2007-04-12  Eric Blake  <ebb9@byu.net>
64612
64613         Work around glibc's failure to flush stdin on fclose.
64614         * lib/closein.c (close_stdin): Flush stdin before closing.
64615
64616         Work around glibc's failure to reset seekable stdin on exit.
64617         * modules/closein: New module.
64618         * lib/closein.c: New file.
64619         * lib/closein.h: Likewise.
64620         * m4/closein.m4: Likewise.
64621         * MODULES.html.sh (File stream based Input/Output): Document it.
64622
64623 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64624
64625         * gnulib-tool: Rename generated 'autobuild' script to
64626         'do-autobuild' in --create-megatestdir output.
64627
64628         * doc/gnulib.texi (Build robot for gnulib): Fix.
64629
64630 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64631
64632         * modules/sysexits (Depends-on): Add absolute-header.
64633
64634 2007-04-12  Eric Blake  <ebb9@byu.net>
64635
64636         No need to preserve errno on success.
64637         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64638         Reported by Bruno Haible.
64639
64640 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64641
64642         * MODULES.html.sh (Support for maintaining and releasing
64643         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64644
64645 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64646
64647         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64648
64649 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64650
64651         * modules/autobuild: New module.
64652
64653         * m4/autobuild.m4: New file.
64654
64655 2007-04-11  Bruno Haible  <bruno@clisp.org>
64656
64657         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64658         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64659         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64660         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64661         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64662         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64663         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64664         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64665         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64666         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64667         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64668         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64669         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64670         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64671         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64672         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64673         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64674         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64675         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64676         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64677         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64678         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64680         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64681         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64682         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64683         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64684         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64685         Reported by Eric Blake.
64686
64687 2007-04-11  Bruno Haible  <bruno@clisp.org>
64688
64689         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64690
64691 2007-04-10  Bruno Haible  <bruno@clisp.org>
64692
64693         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64694         for NaN and Infinity. Needed on FreeBSD 6.1.
64695         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64696         regarding results for "%010a" of Infinity and NaN.
64697         * tests/test-vasprintf-posix.c (test_function): Likewise.
64698         * tests/test-snprintf-posix.h (test_function): Likewise.
64699         * tests/test-sprintf-posix.h (test_function): Likewise.
64700         * tests/test-fprintf-posix.h (test_function): Likewise.
64701         * tests/test-printf-posix.h (test_function): Likewise.
64702         * tests/test-fprintf-posix.out: Likewise.
64703
64704 2007-04-10  Bruno Haible  <bruno@clisp.org>
64705
64706         * modules/locale-tests: New file.
64707         * tests/test-locale.c: New file.
64708
64709         * modules/locale: New file.
64710         * lib/locale_.h: New file.
64711         * m4/locale_h.m4: New file.
64712
64713 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64714             Bruno Haible  <bruno@clisp.org>
64715
64716         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64717         be determined, test for availability of the copysignf, copysign,
64718         copysignl functions.
64719         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64720         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64721         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64722
64723 2007-04-09  Eric Blake  <ebb9@byu.net>
64724
64725         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64726         * modules/stdio (Makefile.am): Support fflush.
64727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64728         * modules/fflush: New file.
64729         * lib/fflush.c: Likewise.
64730         * m4/fflush.m4: Likewise.
64731         * modules/fflush-tests: New test.
64732         * tests/test-fflush.c: Likewise.
64733         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64734
64735 2007-04-06  Bruno Haible  <bruno@clisp.org>
64736
64737         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64738         (VASNPRINTF): Use signbit for faster determination whether to print a
64739         minus sign.
64740         * modules/vasnprintf (Files): Remove lib/float+.h.
64741         * modules/fprintf-posix (Depends-on): Add signbit.
64742         * modules/snprintf-posix (Depends-on): Likewise.
64743         * modules/sprintf-posix (Depends-on): Likewise.
64744         * modules/vasnprintf-posix (Depends-on): Likewise.
64745         * modules/vasprintf-posix (Depends-on): Likewise.
64746         * modules/vfprintf-posix (Depends-on): Likewise.
64747         * modules/vsnprintf-posix (Depends-on): Likewise.
64748         * modules/vsprintf-posix (Depends-on): Likewise.
64749
64750 2007-04-06  Bruno Haible  <bruno@clisp.org>
64751
64752         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64753         * tests/test-frexpl.c (main): Likewise.
64754         * tests/test-ldexpl.c (main): Likewise.
64755         * modules/frexp-tests (Depends-on): Add signbit.
64756         * modules/frexpl-tests (Depdends-on): Likewise.
64757         * modules/ldexpl-tests (Depdends-on): Likewise.
64758
64759 2007-04-06  Bruno Haible  <bruno@clisp.org>
64760
64761         * modules/signbit-tests: New file.
64762         * tests/test-signbit.c: New file.
64763
64764         * modules/signbit: New file.
64765         * lib/signbitf.c: New file.
64766         * lib/signbitd.c: New file.
64767         * lib/signbitl.c: New file.
64768         * m4/signbit.m4: New file.
64769         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64770         (signbit): New macro.
64771         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64772         REPLACE_SIGNBIT.
64773         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64774         REPLACE_FREXPL into math.h.
64775
64776 2007-04-06  Bruno Haible  <bruno@clisp.org>
64777
64778         * modules/isnanf-nolibm-tests: New file.
64779         * tests/test-isnanf.c: New file.
64780
64781         * modules/isnanf-nolibm: New file.
64782         * lib/isnanf.h: New file.
64783         * lib/isnanf.c: New file.
64784         * lib/isnan.c: Consider the USE_FLOAT macro.
64785         * m4/isnanf.m4: New file.
64786
64787 2007-04-06  Bruno Haible  <bruno@clisp.org>
64788
64789         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64790         (Link): New section.
64791
64792         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64793
64794 2007-04-06  Bruno Haible  <bruno@clisp.org>
64795
64796         Assume the 'long double' type.
64797         * m4/longdouble.m4: Remove file.
64798         * config/srclist.txt: Don't mention longdouble.m4.
64799         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64800         * lib/float+.h: Likewise.
64801         * lib/frexp.c: Likewise.
64802         * lib/printf-args.h: Likewise.
64803         * lib/printf-args.c: Likewise.
64804         * lib/printf-frexp.c: Likewise.
64805         * lib/printf-parse.c: Likewise.
64806         * lib/vasnprintf.c: Likewise.
64807         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64808         * m4/intl.m4: Likewise.
64809         * m4/isnanl.m4: Likewise.
64810         * m4/printf.m4: Likewise.
64811         * m4/printf-frexpl.m4: Likewise.
64812         * m4/vasnprintf.m4: Likewise.
64813         * modules/allocsa (Files): Remove m4/longdouble.m4.
64814         * modules/gettext (Files): Likewise.
64815         * modules/relocatable-prog-wrapper (Files): Likewise.
64816         * modules/vasnprintf (Files): Likewise.
64817         * modules/isnanl (Files): Likewise.
64818         (Include): Simplify.
64819         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64820         (Include): Simplify.
64821         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64822         (Include): Simplify.
64823         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64824         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64825         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64826         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64827         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64828         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64829         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64830         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64831         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64832         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64833         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64834         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64835         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64836         * tests/test-isnanl.c: Likewise.
64837         * tests/test-snprintf-posix.h: Likewise.
64838         * tests/test-sprintf-posix.h: Likewise.
64839         * tests/test-vasnprintf-posix.c: Likewise.
64840         * tests/test-vasnprintf-posix2.c: Likewise.
64841         * tests/test-vasprintf-posix.c: Likewise.
64842
64843 2007-04-06  Bruno Haible  <bruno@clisp.org>
64844
64845         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64846         * lib/math_.h [__DECC]: Include the overridden include file through
64847         #include_next, outside the double-inclusion guard.
64848         * lib/stdio_.h [__DECC]: Likewise.
64849         * lib/stdlib_.h [__DECC]: Likewise.
64850         * lib/string_.h [__DECC]: Likewise.
64851         * lib/time_.h [__DECC]: Likewise.
64852         * lib/wchar_.h [__DECC]: Likewise.
64853         * lib/wctype_.h [__DECC]: Likewise.
64854         * lib/inttypes_.h [__DECC]: Likewise.
64855         Reported by Albert Chin <china@thewrittenword.com> in
64856         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64857
64858 2007-04-04  Eric Blake  <ebb9@byu.net>
64859
64860         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64861         1.5.x.
64862
64863 2007-04-04  Bruno Haible  <bruno@clisp.org>
64864
64865         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64866         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64867
64868 2007-04-04  Bruno Haible  <bruno@clisp.org>
64869
64870         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64871         results for "%010a" of Infinity and NaN.
64872         * tests/test-vasprintf-posix.c (test_function): Likewise.
64873         * tests/test-snprintf-posix.h (test_function): Likewise.
64874         * tests/test-sprintf-posix.h (test_function): Likewise.
64875         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64876         * tests/test-printf-posix.h (test_function): Likewise.
64877         * tests/test-fprintf-posix.out: Update.
64878         Needed for FreeBSD 6.1.
64879
64880 2007-04-04  Bruno Haible  <bruno@clisp.org>
64881
64882         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64883         directly used by the gnulib modules nor by gnulib-tool.
64884
64885 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64886
64887         * DEPENDENCIES: Give overall description of version dependency
64888         desirability.  Use more-typical names for apps.
64889         Add shell, coreutils, diffutils, grep, tar, gzip.
64890
64891 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64892
64893         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64894
64895 2007-04-04  Karl Berry  <karl@gnu.org>
64896
64897         * MODULES.html.sh (func_module): missing '.
64898
64899 2007-04-03  Bruno Haible  <bruno@clisp.org>
64900
64901         * modules/argmatch-tests (Makefile.am): New variable
64902         test_argmatch_LDADD.
64903         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64904         * modules/array-list-tests (Makefile.am): New variable
64905         test_array_list_LDADD.
64906         * modules/array-oset-tests (Makefile.am): New variable
64907         test_array_oset_LDADD.
64908         * modules/avltree-list-tests (Makefile.am): New variable
64909         test_avltree_list_LDADD.
64910         * modules/avltree-oset-tests (Makefile.am): New variable
64911         test_avltree_oset_LDADD.
64912         * modules/avltreehash-list-tests (Makefile.am): New variable
64913         test_avltreehash_list_LDADD.
64914         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64915         test_canonicalize_lgpl_LDADD.
64916         * modules/carray-list-tests (Makefile.am): New variable
64917         test_carray_list_LDADD.
64918         * modules/dirname-tests (Makefile.am): New variable
64919         test_dirname_LDADD.
64920         * modules/linked-list-tests (Makefile.am): New variable
64921         test_linked_list_LDADD.
64922         * modules/linkedhash-list-tests (Makefile.am): New variable
64923         test_linkedhash_list_LDADD.
64924         * modules/rbtree-list-tests (Makefile.am): New variable
64925         test_rbtree_list_LDADD.
64926         * modules/rbtree-oset-tests (Makefile.am): New variable
64927         test_rbtree_oset_LDADD.
64928         * modules/rbtreehash-list-tests (Makefile.am): New variable
64929         test_rbtreehash_list_LDADD.
64930         * modules/xvasprintf-tests (Makefile.am): New variable
64931         test_xvasprintf_LDADD.
64932         Reported by Eric Blake.
64933
64934 2007-04-03  Eric Blake  <ebb9@byu.net>
64935
64936         * DEPENDENCIES: Weaken m4 requirements.
64937
64938 2007-04-03  Bruno Haible  <bruno@clisp.org>
64939
64940         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64941         * modules/isnanl-tests (configure.ac): Likewise.
64942
64943 2007-04-03  Ben Pfaff  <blp@gnu.org>
64944
64945         * modules/iconv_open: Add $(srcdir)/ to source directory
64946         references in Makefile fragments that call gperf, to fix VPATH
64947         builds.
64948
64949 2007-04-03  Bruno Haible  <bruno@clisp.org>
64950
64951         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64952         * lib/ldexpl.c: Undo last change.
64953
64954 2007-04-03  Bruno Haible  <bruno@clisp.org>
64955
64956         * modules/printf-frexpl (Depends-on): Undo last change.
64957         (Files): Add m4/ldexpl.m4.
64958
64959 2007-04-03  Bruno Haible  <bruno@clisp.org>
64960
64961         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64962         * modules/isnanl (Link): New section.
64963
64964         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64965         * modules/frexp (Link): New section.
64966
64967         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64968         * modules/frexpl (Link): New section.
64969
64970         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64971         * modules/ldexpl (Link): New section.
64972
64973 2007-04-03  Bruno Haible  <bruno@clisp.org>
64974
64975         * modules/TEMPLATE-EXTENDED: New file.
64976         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64977
64978 2007-04-03  Bruno Haible  <bruno@clisp.org>
64979
64980         * DEPENDENCIES: New file.
64981         Suggested by Simon Josefsson.
64982
64983 2007-04-03  Bruno Haible  <bruno@clisp.org>
64984
64985         * doc/gnulib.texi: Escape @.
64986
64987 2007-04-03  James Youngman  <jay@gnu.org>
64988         and Paul Eggert  <eggert@cs.ucla.edu>
64989
64990         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64991         birthtime on all systems that have birthtime, not just those which
64992         use st_birthtimensec rather than st_birthtim.  Putting zero in
64993         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64994         that the birth time is not available for files on an NFS mount.
64995
64996 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64997
64998         * modules/memxor: Move back from crypto/, suggested by Bruno.
64999         * modules/crypto/hmac-sha1: Fix memxor dependency.
65000
65001         * modules/crypto/gc: Moved from ../.
65002
65003 2007-04-02  Eric Blake  <ebb9@byu.net>
65004
65005         * lib/ldexpl.c (includes): Avoid libm.
65006
65007         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65008
65009 2007-04-02  Bruno Haible  <bruno@clisp.org>
65010
65011         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65012         on IRIX.
65013
65014 2007-04-02  Bruno Haible  <bruno@clisp.org>
65015
65016         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65017         x86 or x86_64 platforms running MacOS X.
65018         Reported by Ryan Schmidt <@ryandesign.com>.
65019
65020 2007-04-02  Bruno Haible  <bruno@clisp.org>
65021
65022         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65023         i386.
65024
65025 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65026
65027         * modules/crypto/arcfour: Moved from ../.
65028         * modules/crypto/arcfour-tests: Moved from ../.
65029         * modules/crypto/arctwo: Moved from ../.
65030         * modules/crypto/arctwo-tests: Moved from ../.
65031         * modules/crypto/des: Moved from ../.
65032         * modules/crypto/des-tests: Moved from ../.
65033         * modules/crypto/gc-arcfour: Moved from ../.
65034         * modules/crypto/gc-arcfour-tests: Moved from ../.
65035         * modules/crypto/gc-arctwo: Moved from ../.
65036         * modules/crypto/gc-arctwo-tests: Moved from ../.
65037         * modules/crypto/gc-des: Moved from ../.
65038         * modules/crypto/gc-des-tests: Moved from ../.
65039         * modules/crypto/gc-hmac-md5: Moved from ../.
65040         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65041         * modules/crypto/gc-hmac-sha1: Moved from ../.
65042         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65043         * modules/crypto/gc-md2: Moved from ../.
65044         * modules/crypto/gc-md2-tests: Moved from ../.
65045         * modules/crypto/gc-md4: Moved from ../.
65046         * modules/crypto/gc-md4-tests: Moved from ../.
65047         * modules/crypto/gc-md5: Moved from ../.
65048         * modules/crypto/gc-md5-tests: Moved from ../.
65049         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65050         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65051         * modules/crypto/gc-random: Moved from ../.
65052         * modules/crypto/gc-rijndael: Moved from ../.
65053         * modules/crypto/gc-rijndael-tests: Moved from ../.
65054         * modules/crypto/gc-sha1: Moved from ../.
65055         * modules/crypto/gc-sha1-tests: Moved from ../.
65056         * modules/crypto/gc-tests: Moved from ../.
65057         * modules/crypto/hmac-md5: Moved from ../.
65058         * modules/crypto/hmac-md5-tests: Moved from ../.
65059         * modules/crypto/hmac-sha1: Moved from ../.
65060         * modules/crypto/hmac-sha1-tests: Moved from ../.
65061         * modules/crypto/md2: Moved from ../.
65062         * modules/crypto/md2-tests: Moved from ../.
65063         * modules/crypto/md4: Moved from ../.
65064         * modules/crypto/md4-tests: Moved from ../.
65065         * modules/crypto/md5: Moved from ../.
65066         * modules/crypto/md5-tests: Moved from ../.
65067         * modules/crypto/memxor: Moved from ../.
65068         * modules/crypto/rijndael: Moved from ../.
65069         * modules/crypto/rijndael-tests: Moved from ../.
65070         * modules/crypto/sha1: Moved from ../.
65071
65072 2007-03-30  James Youngman  <jay@gnu.org>
65073
65074         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65075         rename() to change the ctime of a file (because ctime is unaffected
65076         by rename on jfs2 on AIX 5.1).
65077         (main): Start by doing cleanup, in case a previous run failed leaving
65078         test files behind.
65079
65080 2007-03-31  Bruno Haible  <bruno@clisp.org>
65081
65082         Support old proprietary implementations of iconv.
65083         * modules/iconv_open: New file.
65084         * lib/iconv_.h: New file.
65085         * m4/iconv_h.m4: New file.
65086         * lib/iconv_open.c: New file.
65087         * lib/iconv_open-aix.gperf: New file.
65088         * lib/iconv_open-hpux.gperf: New file.
65089         * lib/iconv_open-irix.gperf: New file.
65090         * lib/iconv_open-osf.gperf: New file.
65091         * m4/iconv_open.m4: New file.
65092         * modules/linebreak (Depends-on): Add iconv_open.
65093         * modules/striconv (Depends-on): Likewise.
65094         * modules/striconveh (Depends-on): Likewise.
65095         * modules/unicodeio (Depends-on): Likewise.
65096         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65097         (iconv_t)(-1).
65098         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65099         conversion if cd is (iconv_t)(-1).
65100         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65101         is not possible.
65102
65103 2007-03-31  Bruno Haible  <bruno@clisp.org>
65104
65105         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65106         work on Solaris either. Protect also second use of "autodetect_jp".
65107
65108 2007-03-31  Bruno Haible  <bruno@clisp.org>
65109
65110         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65111         the function is not present.
65112
65113 2007-03-31  Bruno Haible  <bruno@clisp.org>
65114
65115         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65116         the function is not present.
65117
65118 2007-03-31  Bruno Haible  <bruno@clisp.org>
65119
65120         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65121         a bug in HP-UX iconv_open().
65122
65123 2007-03-31  Bruno Haible  <bruno@clisp.org>
65124
65125         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65126         (Mathematics <math.h>): New section, add fpieee.
65127         (Input/output <stdio.h>): Add fseterr.
65128         (Mathematics <math.h>): New section, add printf-frexp.
65129         (Container data structures): Add sublist.
65130         (Core language properties): Add fpucw, inline.
65131         (Functions for greatest-width integer types <inttypes.h>): Add
65132         imaxabs, imaxdiv, inttypes.
65133         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65134         isnanl-nolibm, ldexp.
65135         (Mathematics <math.h>): New section, add printf-frexpl.
65136         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65137         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65138         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65139         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65140         (Unicode string functions): Add unistr/u*-mbtoucr.
65141         (Java): Add javacomp-script, javaexec-script.
65142         (C#): Add csharpcomp-script, csharpexec-script.
65143         (Support for building libraries and executables): Add havelib,
65144         relocatable-*.
65145         (Support for maintaining and releasing projects): Renamed from
65146         'Support for maintaining and release projects'. Add announce-gen.
65147
65148 2007-03-31  Bruno Haible  <bruno@clisp.org>
65149
65150         * README: Talk primarily about git.
65151         (git and CVS): Renamed from CVS.
65152         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65153         gnulib is available through git.
65154         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65155
65156 2007-03-30  Bruno Haible  <bruno@clisp.org>
65157
65158         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65159         * lib/poll_.h: Likewise.
65160         * lib/stat_.h: Likewise.
65161         * lib/sys_time_.h: Likewise.
65162         * lib/sysexit_.h: Likewise.
65163         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65164         * lib/stdbool_.h: Likewise.
65165         * lib/byteswap_.h: Add double-inclusion guard.
65166
65167 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65168
65169         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65170
65171 2007-03-30  Karl Berry  <karl@gnu.org>
65172
65173         * config/srclist-update: double space after USA in the license
65174         substitution, since that's how it's usually (?) written.
65175
65176 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65177
65178         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65179         reported by Bruno Haible.
65180
65181 2007-03-29  Bruno Haible  <bruno@clisp.org>
65182
65183         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65184         a bug in AIX iconv().
65185
65186 2007-03-29  Bruno Haible  <bruno@clisp.org>
65187
65188         * modules/ldexpl-tests: New file.
65189         * tests/test-ldexpl.c: New file.
65190
65191 2007-03-29  Bruno Haible  <bruno@clisp.org>
65192
65193         * lib/ldexpl.c: Include fpucw.h.
65194         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65195         multiplication.
65196         * modules/ldexpl (Depends-on): Add fpucw.
65197
65198 2007-03-29  Bruno Haible  <bruno@clisp.org>
65199
65200         * modules/ldexpl: New file.
65201         * m4/ldexpl.m4: New file.
65202         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65203         set.
65204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65205         REPLACE_LDEXPL.
65206         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65207         REPLACE_LDEXPL.
65208         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65209         gl_FUNC_LDEXPL_WORKS.
65210         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65211         * modules/mathl (Files): Remove lib/ldexpl.c.
65212         (Depends-on): Add ldexpl.
65213
65214 2007-03-29  Bruno Haible  <bruno@clisp.org>
65215
65216         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65217
65218 2007-03-29  Bruno Haible  <bruno@clisp.org>
65219
65220         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65221         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65222         and possibly also HP-UX.
65223         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65224         work on AIX, IRIX, HP-UX, OSF/1.
65225         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65226         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65227         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65228         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65229         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65230         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65231
65232 2007-03-29  Bruno Haible  <bruno@clisp.org>
65233
65234         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65235
65236 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65237
65238         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65239         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65240
65241 2007-03-29  Eric Blake  <ebb9@byu.net>
65242
65243         * lib/acl-internal.h: Remove redundant include.
65244         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65245         Cygwin when a file is locked.
65246
65247 2007-03-29  Bruno Haible  <bruno@clisp.org>
65248
65249         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65250         file.
65251         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65252
65253 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65256         try to remove a parent directory if the child couldn't be removed
65257         (except for the first rmdir, which could fail because the child
65258         doesn't exist).  Problem reported by Jeff Blaine in
65259         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65260
65261 2007-03-28  Bruno Haible  <bruno@clisp.org>
65262
65263         * lib/striconveh.c (utf8conv_carefully): New function.
65264         (mem_cd_iconveh_internal): Invoke it.
65265
65266 2007-03-28  Bruno Haible  <bruno@clisp.org>
65267
65268         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65269         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65270         input.
65271         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65272         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65273         unistr/u8-uctomb.
65274
65275 2007-03-28  Bruno Haible  <bruno@clisp.org>
65276
65277         * modules/unistr/u8-mbtoucr: New file.
65278         * lib/unistr/u8-mbtoucr.c: New file.
65279         * modules/unistr/u16-mbtoucr: New file.
65280         * lib/unistr/u16-mbtoucr.c: New file.
65281         * modules/unistr/u16-mbtoucr: New file.
65282         * lib/unistr/u16-mbtoucr.c: New file.
65283         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65284
65285 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65286             Bruno Haible  <bruno@clisp.org>
65287
65288         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65289         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65290         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65291
65292         * m4/stdio_h.m4: Add stubs for vasprintf too.
65293
65294         * modules/stdio: Support vasprintf in sed command.
65295
65296         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65297         vasprintf.h.  Add stdio module indicator.
65298
65299         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65300         vasprintf.h.
65301
65302         * lib/vasprintf.h: File removed.
65303
65304         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65305         * lib/vasprintf.c: Ditto.
65306         * lib/xvasprintf.c: Ditto.
65307         * tests/test-vasprintf-posix.c: Ditto.
65308         * tests/test-vasprintf.c: Ditto.
65309
65310 2007-03-27  Bruno Haible  <bruno@clisp.org>
65311
65312         Make vasnprintf multithread-safe.
65313         * lib/vasnprintf.c (decimal_point_char): New function.
65314         (VASNPRINTF): Use it.
65315         Suggested by Simon Josefsson.
65316
65317 2007-03-27  Eric Blake  <ebb9@byu.net>
65318
65319         Support sub-second birthtime on cygwin.
65320         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65321         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65322         (get_stat_birthtime): Also work with st_birthtim.
65323
65324 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65325
65326         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65327         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65328         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65329         (get_stat_birthtime_ns): Simplify compile-time tests.
65330         (get_stat_birthtime): Change the API to look like
65331         get_stat_mtime etc., except return a negative tv_nsec on error.
65332         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65333         Don't check for "spare" fields.
65334         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65335         or for struct stat.st_birthtime, as these tests aren't used.
65336         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65337
65338 2007-03-27  Bruno Haible  <bruno@clisp.org>
65339
65340         * lib/stat-time.h: Include <sys/stat.h>.
65341
65342 2007-03-27  James Youngman  <jay@gnu.org>
65343
65344         * lib/stat-time.h (get_stat_birthtime): New function for
65345           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65346         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65347           and its variants.
65348         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65349         * modules/stat-time-test: New file.
65350         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65351
65352 2007-03-26  Bruno Haible  <bruno@clisp.org>
65353
65354         Better support of signalling NaNs.
65355         * lib/atanl.c: Include isnanl.h.
65356         (atanl): Perform test for NaN at the beginning of the function and
65357         through a call to isnanl.
65358         * lib/cosl.c: Include isnanl.h.
65359         (cosl): Perform test for NaN at the beginning of the function and
65360         through a call to isnanl.
65361         * lib/ldexpl.c: Include isnanl.h.
65362         (ldexpl): Perform test for NaN through a call to isnanl.
65363         * lib/logl.c: Include isnanl.h.
65364         (logl): Perform test for NaN at the beginning of the function and
65365         through a call to isnanl.
65366         * lib/sinl.c: Include isnanl.h.
65367         (sinl): Perform test for NaN at the beginning of the function and
65368         through a call to isnanl.
65369         * lib/sqrtl.c: Include isnanl.h.
65370         (sqrtl): Perform test for NaN at the beginning of the function and
65371         through a call to isnanl.
65372         * lib/tanl.c: Include isnanl.h.
65373         (tanl): Perform test for NaN at the beginning of the function and
65374         through a call to isnanl.
65375         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65376         * modules/mathl (Depends-on): Add isnanl.
65377
65378 2007-03-26  Eric Blake  <ebb9@byu.net>
65379
65380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65381         regression in logic sense of previous patch.
65382
65383 2007-03-26  Bruno Haible  <bruno@clisp.org>
65384
65385         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65386         unportable shell command "if ! ...".
65387         Reported by Ralf Wildenhues.
65388
65389 2007-03-25  Bruno Haible  <bruno@clisp.org>
65390
65391         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65392         <sysexits.h> file, and only add EX_CONFIG.
65393         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65394         absolute file name and whether it is sufficient. Substitute also
65395         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65396         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65397         ABSOLUTE_SYSEXITS_H into sysexits.h.
65398
65399 2007-03-25  Bruno Haible  <bruno@clisp.org>
65400
65401         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65402         hints is NULL.
65403
65404 2007-03-25  Bruno Haible  <bruno@clisp.org>
65405
65406         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65407         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65408
65409 2007-03-25  Bruno Haible  <bruno@clisp.org>
65410
65411         * lib/vasnprintf.c: Include langinfo.h.
65412         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65413         multithread-safe.
65414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65415         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65416         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65417         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65418         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65419         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65420         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65421         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65422         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65423         Reported by Simon Josefsson.
65424
65425 2007-03-25  Bruno Haible  <bruno@clisp.org>
65426
65427         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65428         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65429         * modules/vasnprintf (Depends-on): Add stdint.
65430
65431 2007-03-25  Bruno Haible  <bruno@clisp.org>
65432
65433         * modules/fpieee: New file.
65434         * m4/fpieee.m4: New file.
65435         * modules/isnan-nolibm (Depends-on): Add fpieee.
65436         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65437         * modules/isnanl (Depends-on): Add fpieee.
65438
65439 2007-03-25  Bruno Haible  <bruno@clisp.org>
65440
65441         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65442
65443 2007-03-25  Bruno Haible  <bruno@clisp.org>
65444
65445         Avoid test failures on IRIX 6.5.
65446         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65447         (main): Use it.
65448         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65449         macros.
65450         (main): Use them.
65451
65452 2007-03-25  Bruno Haible  <bruno@clisp.org>
65453
65454         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65455         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65456         exists but doesn't work.
65457         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65458         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65460         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65461         math.h.
65462
65463 2007-03-25  Bruno Haible  <bruno@clisp.org>
65464
65465         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65466         returns inf. Needed on IRIX 6.5.
65467
65468 2007-03-25  Bruno Haible  <bruno@clisp.org>
65469
65470         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65471         (main): Use isnanl instead of x != x idiom.
65472         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65473
65474         * tests/test-frexp.c: Include isnan.h.
65475         (main): Use isnan instead of x != x idiom.
65476         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65477
65478 2007-03-25  Bruno Haible  <bruno@clisp.org>
65479
65480         * tests/test-frexp.c (NaN): New function/macro.
65481         (main): Use it instead of 0.0 / 0.0.
65482         * tests/test-isnan.c (NaN): New function/macro.
65483         (main): Use it instead of 0.0 / 0.0.
65484         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65485         (test_function): Use it instead of 0.0 / 0.0.
65486         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65487         (test_function): Use it instead of 0.0 / 0.0.
65488         * tests/test-snprintf-posix.h (NaN): New function/macro.
65489         (test_function): Use it instead of 0.0 / 0.0.
65490         * tests/test-sprintf-posix.h (NaN): New function/macro.
65491         (test_function): Use it instead of 0.0 / 0.0.
65492         * tests/test-fprintf-posix.h (NaN): New function/macro.
65493         (test_function): Use it instead of 0.0 / 0.0.
65494         * tests/test-printf-posix.h (NaN): New function/macro.
65495         (test_function): Use it instead of 0.0 / 0.0.
65496
65497         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65498
65499 2007-03-25  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65502
65503 2007-03-25  Bruno Haible  <bruno@clisp.org>
65504
65505         * lib/regexec.c (merge_state_with_log): Make static.
65506
65507 2007-03-25  Bruno Haible  <bruno@clisp.org>
65508
65509         * lib/trigl.c (kernel_rem_pio2): Make static.
65510
65511 2007-03-25  Bruno Haible  <bruno@clisp.org>
65512
65513         * lib/sincosl.c (sincosl_table): Make static.
65514
65515 2007-03-25  Bruno Haible  <bruno@clisp.org>
65516
65517         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65518         if the compiler does not support C99.
65519
65520 2007-03-25  Bruno Haible  <bruno@clisp.org>
65521
65522         * modules/time (Makefile.am): Ensure all rule action lines start with a
65523         tab.
65524
65525 2007-03-24  Bruno Haible  <bruno@clisp.org>
65526
65527         * modules/tsearch-tests: New file.
65528         * tests/test-tsearch.sh: New file.
65529         * tests/test-tsearch.c: New file, mostly copied from glibc.
65530
65531         * modules/search-tests: New file.
65532         * tests/test-search.c: New file.
65533
65534         * modules/search: New file.
65535         * lib/search_.h: New file, incorporating lib/tsearch.h.
65536         * m4/search_h.m4: New file.
65537         * lib/tsearch.h: Remove file.
65538         * lib/tsearch.c: Include search.h instead of tsearch.h.
65539         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65540         HAVE_TSEARCH.
65541         * modules/tsearch (Files): Remove lib/tsearch.h.
65542         (Depends-on): Add search.
65543         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65544         (Include): Change tsearch.h into search.h.
65545
65546 2007-03-24  Bruno Haible  <bruno@clisp.org>
65547
65548         * modules/fpucw: New file.
65549         * lib/fpucw.h: New file.
65550         * lib/frexp.c: Include fpucw.h.
65551         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65552         (FUNC): Use them.
65553         * lib/printf-frexp.c: Include fpucw.h.
65554         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65555         (FUNC): Use them.
65556         * lib/vasnprintf.c: Include fpucw.h.
65557         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65558         'long double' calculations.
65559         * tests/test-frexpl.c: Include fpucw.h.
65560         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65561         * tests/test-printf-frexpl.c: Include fpucw.h.
65562         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65563         * modules/frexpl (Depends-on): Add fpucw.
65564         * modules/printf-frexpl (Depends-on): Likewise.
65565         * modules/fprintf-posix (Depends-on): Likewise.
65566         * modules/snprintf-posix (Depends-on): Likewise.
65567         * modules/sprintf-posix (Depends-on): Likewise.
65568         * modules/vasnprintf-posix (Depends-on): Likewise.
65569         * modules/vasprintf-posix (Depends-on): Likewise.
65570         * modules/vfprintf-posix (Depends-on): Likewise.
65571         * modules/vsnprintf-posix (Depends-on): Likewise.
65572         * modules/vsprintf-posix (Depends-on): Likewise.
65573         * modules/frexpl-tests (Depends-on): Likewise.
65574         * modules/printf-frexpl-tests (Depends-on): Likewise.
65575
65576 2007-03-24  Bruno Haible  <bruno@clisp.org>
65577
65578         * lib/float+.h: New file.
65579         * lib/isnan.c: Include float+.h.
65580         (SIZE): New macro.
65581         (FUNC): Compare only SIZE bytes of the value.
65582         * lib/vasnprintf.c: Include float+.h.
65583         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65584         SIZEOF_LDBL or SIZEOF_DBL bytes.
65585         * modules/isnan-nolibm (Files): Add lib/float+.h.
65586         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65587         * modules/isnanl (Files): Add lib/float+.h.
65588         * modules/vasnprintf (Files): Add lib/float+.h.
65589
65590 2007-03-24  Bruno Haible  <bruno@clisp.org>
65591
65592         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65593         include isnanl-nolibm.h.
65594
65595 2007-03-24  Bruno Haible  <bruno@clisp.org>
65596
65597         * tests/test-read-file.c (main): Don't produce spurious output for
65598         expected situations. Make the test fail if it encountered unexpected
65599         results.
65600
65601 2007-03-24  Bruno Haible  <bruno@clisp.org>
65602
65603         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65604         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65605
65606 2007-03-24  Bruno Haible  <bruno@clisp.org>
65607
65608         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65609
65610 2007-03-24  Bruno Haible  <bruno@clisp.org>
65611
65612         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65613         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65614
65615         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65616         * modules/utf8-ucs4: Turn into a symbolic link to module
65617         unistr/u8-mbtouc.
65618
65619         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65620         utf8-ucs4-unsafe.
65621         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65622         unistr/u8-mbtouc-unsafe.
65623
65624         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65625         * modules/utf16-ucs4: Turn into a symbolic link to module
65626         unistr/u16-mbtouc.
65627
65628         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65629         utf16-ucs4-unsafe.
65630         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65631         unistr/u16-mbtouc-unsafe.
65632
65633         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65634         * modules/ucs4-utf8: Turn into a symbolic link to module
65635         unistr/u8-ubtomb.
65636
65637         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65638         * modules/ucs4-utf16: Turn into a symbolic link to module
65639         unistr/u16-ubtomb.
65640
65641 2007-03-24  Bruno Haible  <bruno@clisp.org>
65642
65643         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65644         Enable the function only if HAVE_INLINE.
65645         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65646         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65647         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65648         Enable the function only if HAVE_INLINE.
65649         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65650         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65651         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65652         Enable the function only if HAVE_INLINE.
65653         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65654         Enable the function only if HAVE_INLINE.
65655         * modules/utf8-ucs4: Update.
65656         * modules/utf8-ucs4-unsafe: Update.
65657         * modules/utf16-ucs4: Update.
65658         * modules/utf16-ucs4-unsafe: Update.
65659         * modules/ucs4-utf8: Update.
65660         * modules/ucs4-utf16: Update.
65661
65662 2007-03-24  Bruno Haible  <bruno@clisp.org>
65663
65664         * lib/utf8-ucs4.h: Remove file.
65665         * lib/utf8-ucs4-unsafe.h: Remove file.
65666         * lib/utf16-ucs4.h: Remove file.
65667         * lib/utf16-ucs4-unsafe.h: Remove file.
65668         * lib/ucs4-utf8.h: Remove file.
65669         * lib/ucs4-utf16.h: Remove file.
65670         * lib/unistr.h: Include their previous contents.
65671         * m4/utf-ucs4.m4: Remove file.
65672         * m4/ucs4-utf.m4: Remove file.
65673         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65674         (Depends-on): Add unistr/base.
65675         (configure.ac): Remove gl_UTF_UCS4.
65676         (Makefile.am): Update.
65677         (Include): Change to unistr.h.
65678         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65679         (Depends-on): Add unistr/base.
65680         (configure.ac): Remove gl_UTF_UCS4.
65681         (Makefile.am): Update.
65682         (Include): Change to unistr.h.
65683         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65684         (Depends-on): Add unistr/base.
65685         (configure.ac): Remove gl_UTF_UCS4.
65686         (Makefile.am): Update.
65687         (Include): Change to unistr.h.
65688         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65689         (Depends-on): Add unistr/base.
65690         (configure.ac): Remove gl_UTF_UCS4.
65691         (Makefile.am): Update.
65692         (Include): Change to unistr.h.
65693         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65694         (Depends-on): Add unistr/base.
65695         (configure.ac): Remove gl_UCS4_UTF.
65696         (Makefile.am): Update.
65697         (Include): Change to unistr.h.
65698         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65699         (Depends-on): Add unistr/base.
65700         (configure.ac): Remove gl_UCS4_UTF.
65701         (Makefile.am): Update.
65702         (Include): Change to unistr.h.
65703         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65704         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65705         utf8-ucs4-unsafe.h.
65706         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65707         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65708         utf16-ucs4-unsafe.h.
65709         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65710         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65711         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65712         * lib/unistr/u8-strchr.c: Likewise.
65713         * lib/unistr/u8-strrchr.c: Likewise.
65714         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65715         * lib/unistr/u16-strchr.c: Likewise.
65716         * lib/unistr/u16-strrchr.c: Likewise.
65717         * lib/striconveh.c: Update.
65718         * lib/linebreak.c: Update.
65719
65720 2007-03-24  Bruno Haible  <bruno@clisp.org>
65721
65722         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65723         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65724
65725 2007-03-22  Bruno Haible  <bruno@clisp.org>
65726
65727         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65728
65729 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65730
65731         * MODULES.html.sh (File system functions): New module write-any-file.
65732         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65733         * m4/write-any-file.m4: New files.
65734
65735 2007-03-23  Eric Blake  <ebb9@byu.net>
65736
65737         * gnulib-tool: Rearrange space-tab sequences, since some editors
65738         like to eat them.
65739
65740 2007-03-23  Eric Blake  <ebb9@byu.net>
65741
65742         * lib/version-etc.c (version_etc_va): Update license wording to
65743         be more concise.  Recommended by Richard Stallman.
65744
65745 2007-03-22  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/poll.c (MSG_PEEK): New fallback definition.
65748
65749 2007-03-22  Bruno Haible  <bruno@clisp.org>
65750
65751         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65752         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65753         (main): Update.
65754         Fixes a compilation error on BeOS.
65755
65756 2007-03-22  Bruno Haible  <bruno@clisp.org>
65757
65758         * modules/frexpl-tests: New file.
65759         * tests/test-frexpl.c: New file.
65760
65761         * modules/frexpl: New file.
65762         * m4/frexpl.m4: New file.
65763         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65764         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65766         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65767         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65768         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65769
65770 2007-03-22  Bruno Haible  <bruno@clisp.org>
65771
65772         * lib/frexpl.c: Share code with lib/frexp.c.
65773         * modules/mathl (Files): Add lib/frexp.c.
65774         (Depends-on): Add isnanl-nolibm.
65775
65776 2007-03-22  Bruno Haible  <bruno@clisp.org>
65777
65778         * modules/printf-frexp (Files): Add m4/frexp.m4.
65779         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65780         only if the found frexp function actually works.
65781
65782 2007-03-22  Bruno Haible  <bruno@clisp.org>
65783
65784         * lib/frexp.c: Remove older implementation that uses divisions.
65785
65786 2007-03-21  Bruno Haible  <bruno@clisp.org>
65787
65788         * modules/frexp-tests: New file.
65789         * tests/test-frexp.c: New file.
65790
65791         * modules/frexp: New file.
65792         * lib/frexp.c: New file.
65793         * m4/frexp.m4: New file.
65794         * lib/math_.h (frexp): New declaration.
65795         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65796         REPLACE_FREXP.
65797         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65798
65799 2007-03-21  Bruno Haible  <bruno@clisp.org>
65800
65801         * modules/isnanl-tests: New file.
65802         * tests/test-isnanl.c: New file.
65803
65804         * modules/isnanl: New file.
65805         * lib/isnanl.h: New file.
65806         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65807         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65808         gl_FUNC_ISNANL_WORKS.
65809         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65810         New macros.
65811
65812 2007-03-21  Bruno Haible  <bruno@clisp.org>
65813
65814         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65815         lib/isnanl.h.
65816         (Include): Update.
65817         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65818         * lib/vasnprintf.c: Update.
65819         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65820         tests/test-isnanl.h, remove tests/test-isnanl.c.
65821         (Makefile.am): Update.
65822         * tests/test-isnanl-nolibm.c: New file.
65823         * tests/test-isnanl.h: New file.
65824         * tests/test-isnanl.c: Remove file.
65825
65826 2007-03-21  Jim Meyering  <jim@meyering.net>
65827
65828         When trying to open ".", treat ESTALE like EACCES.
65829         * lib/savewd.c (savewd_save): Resort to forking not just upon
65830         failure with EACCES, but also when errno is ESTALE.
65831
65832 2007-03-20  Bruno Haible  <bruno@clisp.org>
65833
65834         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65835         Needed on AIX 5.1. Reported by Matthew Woehlke.
65836
65837 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65838
65839         Suggestions by Bruno Haible:
65840         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65841         our own.
65842         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65843         * modules/acl (Depends-on): Add gettext.
65844
65845 2007-03-19  Bruno Haible  <bruno@clisp.org>
65846
65847         * modules/iconvme: Remove file.
65848         * lib/iconvme.h: Remove file.
65849         * lib/iconvme.c: Remove file.
65850         * m4/iconvme.m4: Remove file.
65851
65852 2007-03-19  Bruno Haible  <bruno@clisp.org>
65853
65854         * doc/relocatable-maint.texi: Break long shell script line.
65855         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65856
65857 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65858
65859         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65860         handle file_has_acl.
65861         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65862         * lib/acl.c: Move header inclusions and related macro defns into
65863         lib/acl-internal.h.
65864         (S_ISLNK): Remove defn, since that's now done for us.
65865         (file_has_acl): Move to lib/file-has-acl.c.
65866         Call acl_trivial if available.  This is the crucial part of the fix.
65867         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65868         shared within the library.  Rewrite a bit, partly to make it compatible
65869         with the GNU coding style.
65870         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65871         Remove unnecessary double-quotes.
65872         Don't test for acl_to_text; the build will catch that.
65873         Replace acl_entries if it doesn't exist and it is needed.
65874         Check for -lsec and acl_trivial (as used on Solaris 10).
65875         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65876         lib/file-has-acl.c.
65877         (Depends-on): Add sys_stat, for S_ISLNK.
65878
65879 2007-03-19  Ben Pfaff  <blp@gnu.org>
65880
65881         * doc/gnulib.texi: Fix typos.
65882         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65883
65884 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65885
65886         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65887         If size is zero here, buf must be zero.
65888
65889 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65890
65891         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65892         <bruno@clisp.org>.
65893
65894 2007-03-18  Bruno Haible  <bruno@clisp.org>
65895
65896         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65897         Suggested by Eric Blake.
65898
65899 2007-03-18  Ben Pfaff  <blp@gnu.org>
65900
65901         * doc/relocatable.texi: Recommend using as prefix a directory
65902         that does not exist and will never be created.  Based on
65903         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65904         and others.
65905
65906 2007-03-17  Bruno Haible  <bruno@clisp.org>
65907
65908         * lib/fchownat.c: Include lchown.h.
65909
65910 2007-03-17  Bruno Haible  <bruno@clisp.org>
65911
65912         Fix endless loop when the given allocated size was > INT_MAX.
65913         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65914         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65915         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65916         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65917         * lib/sprintf.c (sprintf): Likewise.
65918
65919 2007-03-17  Bruno Haible  <bruno@clisp.org>
65920
65921         * tests/test-argp-2.sh (func_compare): Output a context diff.
65922
65923 2007-03-17  Bruno Haible  <bruno@clisp.org>
65924
65925         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65926         locale's decimal-point character.
65927
65928 2007-03-17  Bruno Haible  <bruno@clisp.org>
65929
65930         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65931         before comparing it. Needed because on some platforms (e.g. x86) a
65932         'long double' occupies less bytes than sizeof (long double).
65933
65934 2007-03-17  Bruno Haible  <bruno@clisp.org>
65935
65936         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65937         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65938         * tests/test-getaddrinfo.c (simple): Likewise.
65939         * tests/test-read-file.c (main): Likewise.
65940
65941 2007-03-17  Bruno Haible  <bruno@clisp.org>
65942
65943         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65944
65945 2007-03-17  Bruno Haible  <bruno@clisp.org>
65946
65947         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65948         unused variable.
65949
65950 2007-03-17  Bruno Haible  <bruno@clisp.org>
65951
65952         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65953         * tests/test-c-strncasecmp.c: Likewise.
65954
65955 2007-03-17  Bruno Haible  <bruno@clisp.org>
65956
65957         * modules/stdlib (Depends-on): Add unistd.
65958         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65959         Needed for MacOS X 10.3.
65960
65961 2007-03-17  Bruno Haible  <bruno@clisp.org>
65962
65963         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65964
65965 2007-03-17  Bruno Haible  <bruno@clisp.org>
65966
65967         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65968
65969 2007-03-17  Bruno Haible  <bruno@clisp.org>
65970
65971         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65972         to reflect files copied from gnulib (with or without modifications).
65973         Suggested by Jim Meyering.
65974
65975 2007-03-17  Eric Blake  <ebb9@byu.net>
65976
65977         * NEWS: Document stdlib change from 2007-02-18.
65978
65979 2007-03-17  Jim Meyering  <jim@meyering.net>
65980
65981         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65982         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65983         someone uses a name containing shell meta-characters.
65984         Reported by Alfred M. Szmidt.
65985
65986         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65987
65988 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65989
65990         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65991         and copy gettext configuration files only if configure.ac contains
65992         a use of AM_GNU_GETTEXT_VERSION.
65993
65994 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65995
65996         * build-aux/bootstrap (gnulib_name): New variable.
65997         (gnulib_tool_options): Use it.
65998
65999 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66000
66001         * tests/test-des.c: Use new namespace.
66002
66003 2007-03-15  Bruno Haible  <bruno@clisp.org>
66004
66005         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66006         Reported by James Youngman <jay@gnu.org>.
66007
66008 2007-03-15  Bruno Haible  <bruno@clisp.org>
66009
66010         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66011         declared prototype. Needed with cc on OSF/1 5.1.
66012
66013 2007-03-15  Bruno Haible  <bruno@clisp.org>
66014
66015         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66016         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66017         (struct gl_list_implementation): Add dispose_fn argument to the
66018         'create_empty', 'create' methods.
66019         (struct gl_list_impl_base): Add field 'dispose_fn'.
66020         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66021         argument.
66022         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66023         dispose_fn argument.
66024         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66025         dispose_fn on the dropped values.
66026         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66027         dispose_fn argument.
66028         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66029         dropped values.
66030         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66031         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66032         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66033         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66034         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66035         argument.
66036         (gl_tree_list_free): Call dispose_fn on the dropped values.
66037         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66038         the dropped values.
66039         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66040         Add dispose_fn argument.
66041         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66042         Call dispose_fn on the dropped values.
66043         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66044         Add dispose_fn argument.
66045         (gl_sublist_create): Initialize the 'dispose_fn' field.
66046         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66047         * tests/test-array_list.c (main): Update.
66048         * tests/test-carray_list.c (main): Update.
66049         * tests/test-avltree_list.c (main): Update.
66050         * tests/test-rbtree_list.c (main): Update.
66051         * tests/test-avltreehash_list.c (main): Update.
66052         * tests/test-rbtreehash_list.c (main): Update.
66053         * tests/test-linked_list.c (main): Update.
66054         * tests/test-linkedhash_list.c (main): Update.
66055         * tests/test-array_oset.c (main): Update.
66056
66057 2007-03-15  Bruno Haible  <bruno@clisp.org>
66058
66059         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66060         (gl_oset_create_empty): Add dispose_fn argument.
66061         (struct gl_oset_implementation): Add dispose_fn argument to
66062         'create_empty' method.
66063         (struct gl_oset_impl_base): Add dispose_fn field.
66064         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66065         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66066         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66067         values.
66068         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66069         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66070         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66071         dropped value.
66072         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66073         dropped value.
66074         * tests/test-array_oset.c (main): Update.
66075         * tests/test-avltree_oset.c (main): Update.
66076         * tests/test-rbtree_oset.c (main): Update.
66077         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66078
66079 2007-03-13  Bruno Haible  <bruno@clisp.org>
66080
66081         * tests/test-stdbool.c (i): Update after last patch.
66082
66083 2007-03-12  Bruno Haible  <bruno@clisp.org>
66084
66085         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66086         the iswprint macro. Needed on Solaris 2.5.1.
66087
66088 2007-03-12  Bruno Haible  <bruno@clisp.org>
66089
66090         * tests/test-printf-frexp.c (main): Declare x as volatile.
66091
66092 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66093
66094         * doc/gnulib.texi (Build robot for gnulib): New section.
66095
66096 2007-03-12  Jim Meyering  <jim@meyering.net>
66097
66098         * build-aux/bootstrap: New file.
66099         * build-aux/bootstrap.conf: New file, from coreutils.
66100
66101 2007-03-11  Bruno Haible  <bruno@clisp.org>
66102
66103         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66104
66105 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66106
66107         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66108         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66109         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66110
66111 2007-03-11  Bruno Haible  <bruno@clisp.org>
66112
66113         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66114         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66115
66116 2007-03-11  Bruno Haible  <bruno@clisp.org>
66117
66118         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66119         formula. Needed for SunPRO C 5.0.
66120
66121 2007-03-11  Bruno Haible  <bruno@clisp.org>
66122
66123         * modules/long-options (Depends-on): Add getopt.
66124
66125 2007-03-11  Bruno Haible  <bruno@clisp.org>
66126
66127         * modules/modechange (Depends-on): Add stdbool.
66128
66129 2007-03-11  Bruno Haible  <bruno@clisp.org>
66130
66131         * modules/i-ring (Depends-on): Add stdbool.
66132
66133 2007-03-11  Bruno Haible  <bruno@clisp.org>
66134
66135         * modules/gc-des (Depends-on): Add stdbool.
66136
66137 2007-03-11  Bruno Haible  <bruno@clisp.org>
66138
66139         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66140
66141 2007-03-11  Bruno Haible  <bruno@clisp.org>
66142
66143         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66144
66145 2007-03-11  Bruno Haible  <bruno@clisp.org>
66146
66147         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66148
66149 2007-03-11  Bruno Haible  <bruno@clisp.org>
66150
66151         * lib/vasnprintf.c (sprintf): Undefine.
66152
66153 2007-03-11  Bruno Haible  <bruno@clisp.org>
66154
66155         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66156         initializers in SunPRO C and Compaq C compilers.
66157
66158 2007-03-11  Bruno Haible  <bruno@clisp.org>
66159
66160         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66161         decrementing code ANSI C compliant.
66162
66163 2007-03-11  Bruno Haible  <bruno@clisp.org>
66164
66165         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66166         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66167
66168 2007-03-11  Bruno Haible  <bruno@clisp.org>
66169
66170         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66171         <stdbool.h> substitute doesn't pass.
66172
66173 2007-03-11  Bruno Haible  <bruno@clisp.org>
66174
66175         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66176
66177 2007-03-11  Bruno Haible  <bruno@clisp.org>
66178
66179         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66180         script, for submission to autobuild.josefsson.org.
66181
66182 2007-03-10  Bruno Haible  <bruno@clisp.org>
66183
66184         * modules/canonicalize-lgpl-tests: New file.
66185         * tests/test-canonicalize-lgpl.sh: New file.
66186         * tests/test-canonicalize-lgpl.c: New file.
66187
66188         * modules/c-strcase-tests: New file.
66189         * tests/test-c-strcase.sh: New file.
66190         * tests/test-c-strcasecmp.c: New file.
66191         * tests/test-c-strncasecmp.c: New file.
66192
66193         * modules/atexit-tests: New file.
66194         * tests/test-atexit.sh: New file.
66195         * tests/test-atexit.c: New file.
66196
66197 2007-03-10  Bruno Haible  <bruno@clisp.org>
66198
66199         * tests/test-binary-io.sh: Use temporary filenames that are not so
66200         likely to clash with those of other tests (in a parallel make).
66201         * tests/test-binary-io.c: Likewise.
66202
66203 2007-03-10  Bruno Haible  <bruno@clisp.org>
66204
66205         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66206         fallback; use #error instead.
66207         Suggested by Simon Josefsson.
66208
66209 2007-03-10  Bruno Haible  <bruno@clisp.org>
66210
66211         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66212         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66213         first and the last.
66214
66215 2007-03-10  Bruno Haible  <bruno@clisp.org>
66216
66217         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66218
66219 2007-03-10  Bruno Haible  <bruno@clisp.org>
66220
66221         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66222         "make distcheck".
66223         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66224         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66225         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66226
66227 2007-03-10  Bruno Haible  <bruno@clisp.org>
66228
66229         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66230         variable.
66231         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66232         variable.
66233
66234 2007-03-09  Eric Blake  <ebb9@byu.net>
66235         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66236
66237         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66238         types are not being provided by gnulib.
66239         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66240         types are supported.
66241
66242 2007-03-10  Bruno Haible  <bruno@clisp.org>
66243
66244         * lib/stdio_.h (__attribute__): New macro.
66245         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66246         vsprintf): Specify __attribute__ __format__ for GCC.
66247         Suggested by Eric Blake.
66248
66249 2007-03-09  Bruno Haible  <bruno@clisp.org>
66250
66251         * modules/printf-posix-tests: New file.
66252         * tests/test-printf-posix.sh: New file.
66253         * tests/test-printf-posix.c: New file.
66254
66255         * modules/printf-posix: New file.
66256         * lib/printf.c: New file.
66257         * m4/printf-posix-rpl.m4: New file.
66258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66259         REPLACE_PRINTF.
66260         * lib/stdio_.h (printf): New declaration.
66261         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66262         ____strfmon____): New macros.
66263         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66264         REPLACE_PRINTF.
66265
66266 2007-03-09  Bruno Haible  <bruno@clisp.org>
66267
66268         * tests/test-vasnprintf-posix2.sh: New file.
66269         * tests/test-vasnprintf-posix2.c: New file.
66270         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66271         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66272         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66273
66274         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66275         a locale dependent decimal point, rather than always '.'.
66276
66277 2007-03-09  Eric Blake  <ebb9@byu.net>
66278
66279         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66280         spite of platforms like Tandem/NSK that define it to -1.
66281
66282 2007-03-08  Bruno Haible  <bruno@clisp.org>
66283
66284         * modules/vprintf-posix-tests: New file.
66285         * tests/test-vprintf-posix.sh: New file.
66286         * tests/test-vprintf-posix.c: New file.
66287         * tests/test-printf-posix.h: New file.
66288
66289         * modules/vprintf-posix: New file.
66290         * lib/vprintf.c: New file.
66291         * m4/vprintf-posix.m4: New file.
66292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66293         REPLACE_VPRINTF.
66294         * lib/stdio_.h (vprintf): New declaration.
66295         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66296         REPLACE_VPRINTF.
66297
66298 2007-03-08  Bruno Haible  <bruno@clisp.org>
66299
66300         * modules/fprintf-posix-tests: New file.
66301         * tests/test-fprintf-posix.sh: New file.
66302         * tests/test-fprintf-posix.c: New file.
66303
66304         * modules/fprintf-posix: New file.
66305         * lib/fprintf.c: New file.
66306         * m4/fprintf-posix.m4: New file.
66307         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66308         REPLACE_FPRINTF.
66309         * lib/stdio_.h (fprintf): New declaration.
66310         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66311         REPLACE_FPRINTF.
66312
66313 2007-03-08  Bruno Haible  <bruno@clisp.org>
66314
66315         * modules/vfprintf-posix-tests: New file.
66316         * tests/test-vfprintf-posix.sh: New file.
66317         * tests/test-vfprintf-posix.c: New file.
66318         * tests/test-fprintf-posix.h: New file.
66319         * tests/test-fprintf-posix.out: New file.
66320
66321         * modules/vfprintf-posix: New file.
66322         * lib/vfprintf.c: New file.
66323         * m4/vfprintf-posix.m4: New file.
66324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66325         REPLACE_VFPRINTF.
66326         * lib/stdio_.h (vfprintf): New declaration.
66327         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66328         REPLACE_VFPRINTF.
66329
66330 2007-03-08  Bruno Haible  <bruno@clisp.org>
66331
66332         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66333
66334 2007-03-08  Bruno Haible  <bruno@clisp.org>
66335
66336         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66337         instead of 'expr' invocations.
66338         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66339         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66340         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66341         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66342         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66343         Suggested by Paul Eggert.
66344
66345 2007-03-08  Bruno Haible  <bruno@clisp.org>
66346
66347         * modules/fseterr-tests: New file.
66348         * tests/test-fseterr.c: New file.
66349
66350         * modules/fseterr: New file.
66351         * lib/fseterr.h: New file.
66352         * lib/fseterr.c: New file.
66353
66354 2007-03-08  Bruno Haible  <bruno@clisp.org>
66355
66356         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66357         * lib/getopt_.h: Likewise.
66358         * lib/mbswidth.h: Likewise.
66359         * lib/setenv.h: Likewise.
66360         * lib/vasnprintf.h: Likewise.
66361         * lib/vasprintf.h: Likewise.
66362         * lib/verror.h: Likewise.
66363         * lib/xsetenv.h: Likewise.
66364         * lib/xvasprintf.h: Likewise.
66365
66366 2007-03-08  Jim Meyering  <jim@meyering.net>
66367
66368         * users.txt: Add parted.
66369
66370         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66371
66372 2007-03-07  Bruno Haible  <bruno@clisp.org>
66373
66374         * m4/printf.m4: Make the shell script snippets copy&pastable.
66375
66376 2007-03-02  Bruno Haible  <bruno@clisp.org>
66377
66378         * lib/netinet_in_.h: New file.
66379         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66380         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66381         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66382         (Depends-on): Add absolute-header.
66383         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66384         into netinet/in.h.
66385
66386 2007-03-03  Bruno Haible  <bruno@clisp.org>
66387
66388         * lib/sys_select_.h: New file.
66389         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66390         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66391         * modules/sys_select (Files): Add lib/sys_select_.h.
66392         (Depends-on): Add absolute-header.
66393         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66394         into sys/select.h.
66395
66396 2007-03-02  Bruno Haible  <bruno@clisp.org>
66397
66398         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66399         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66400         values.
66401         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66402         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66403         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66404         * modules/sys_socket (Depends-on): Add absolute-header.
66405         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66406         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66407         (Include): Remove requirement of inclusion of <sys/types.h>.
66408
66409 2007-03-02  Bruno Haible  <bruno@clisp.org>
66410
66411         * lib/byteswap_.h (bswap_32): Fix formula.
66412
66413 2007-03-06  Bruno Haible  <bruno@clisp.org>
66414
66415         * modules/sprintf-posix-tests: New file.
66416         * tests/test-sprintf-posix.c: New file.
66417
66418         * modules/sprintf-posix: New file.
66419         * lib/sprintf.c: New file.
66420         * m4/sprintf-posix.m4: New file.
66421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66422         REPLACE_SPRINTF.
66423         * lib/stdio_.h (sprintf): New declaration.
66424         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66425         REPLACE_SPRINTF.
66426
66427 2007-03-06  Bruno Haible  <bruno@clisp.org>
66428
66429         * modules/vsprintf-posix-tests: New file.
66430         * tests/test-vsprintf-posix.c: New file.
66431         * tests/test-sprintf-posix.h: New file.
66432
66433         * modules/vsprintf-posix: New file.
66434         * lib/vsprintf.c: New file.
66435         * m4/vsprintf-posix.m4: New file.
66436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66437         REPLACE_VSPRINTF.
66438         * lib/stdio_.h (vsprintf): New declaration.
66439         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66440         REPLACE_VSPRINTF.
66441
66442 2007-03-06  Bruno Haible  <bruno@clisp.org>
66443
66444         * modules/vsnprintf (Depend-on): Remove minmax.
66445
66446 2007-03-06  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/snprintf-posix-tests: New file.
66449         * tests/test-snprintf-posix.c: New file.
66450
66451         * modules/snprintf-posix: New file.
66452         * m4/snprintf-posix.m4: New file.
66453         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66454         gl_FUNC_SNPRINTF.
66455         (gl_FUNC_SNPRINTF): Invoke it.
66456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66457         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66458         is set.
66459         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66460
66461 2007-03-06  Bruno Haible  <bruno@clisp.org>
66462
66463         * modules/vsnprintf-posix-tests: New file.
66464         * tests/test-vsnprintf-posix.c: New file.
66465         * tests/test-snprintf-posix.h: New file.
66466
66467         * modules/vsnprintf-posix: New file.
66468         * m4/vsnprintf-posix.m4: New file.
66469         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66470         gl_FUNC_VSNPRINTF.
66471         (gl_FUNC_VSNPRINTF): Invoke it.
66472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66473         * lib/stdio_.h (vsnprintf): Define as a replacement if
66474         REPLACE_VSNPRINTF is set.
66475         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66476
66477 2007-03-06  Bruno Haible  <bruno@clisp.org>
66478
66479         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66480         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66481
66482 2007-03-06  Bruno Haible  <bruno@clisp.org>
66483
66484         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66485         (asinl): Declare also if HAVE_DECL_ASINL is set.
66486         (atanl): Declare also if HAVE_DECL_ATANL is set.
66487         (ceill): Declare also if HAVE_DECL_CEILL is set.
66488         (cosl): Declare also if HAVE_DECL_COSL is set.
66489         (expl): Declare also if HAVE_DECL_EXPL is set.
66490         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66491         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66492         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66493         (logl): Declare also if HAVE_DECL_LOGL is set.
66494         (sinl): Declare also if HAVE_DECL_SINL is set.
66495         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66496         (tanl): Declare also if HAVE_DECL_TANL is set.
66497         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66498         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66499         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66500         declaration of frexpl, ldexpl.
66501         * modules/printf-frexpl (Depends-on): Add math.
66502         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66503
66504 2007-03-05  Bruno Haible  <bruno@clisp.org>
66505
66506         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66507         frexpl and ldexpl are declared.
66508         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66509
66510 2007-03-05  Bruno Haible  <bruno@clisp.org>
66511
66512         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66513         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66514
66515 2007-03-05  Bruno Haible  <bruno@clisp.org>
66516
66517         * lib/stdio_.h: Include <stddef.h>.
66518
66519 2007-03-05  Bruno Haible  <bruno@clisp.org>
66520
66521         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66522
66523 2007-03-05  Bruno Haible  <bruno@clisp.org>
66524
66525         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66526         NetBSD 4, from Ralf Wildenhues.
66527
66528 2007-03-04  Bruno Haible  <bruno@clisp.org>
66529
66530         * lib/vasprintf.h: Update #if logic for the case when the functions
66531         exist but are overridden.
66532
66533 2007-03-04  Bruno Haible  <bruno@clisp.org>
66534
66535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66536         implementations: glibc-2.4 and MacOS X 10.3.
66537         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66538         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66539         * tests/test-vasprintf-posix.c (test_function): Likewise.
66540
66541 2007-03-04  Bruno Haible  <bruno@clisp.org>
66542
66543         * modules/vasprintf-posix-tests: New file.
66544         * tests/test-vasprintf-posix.c: New file.
66545
66546         * modules/vasprintf-posix: New file.
66547         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66548         defined.
66549         * m4/vasprintf-posix.m4: New file.
66550         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66551         gl_FUNC_VASPRINTF.
66552         (gl_FUNC_VASPRINTF): Invoke it.
66553         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66554         here.
66555         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66556
66557 2007-03-04  Bruno Haible  <bruno@clisp.org>
66558
66559         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66560         REPLACE_GETTIMEOFDAY.
66561         * modules/sys_time (Makefile.am): Likewise.
66562         * m4/sys_time_h.m4: Likewise.
66563         * m4/gettimeofday.m4: Likewise.
66564
66565 2007-03-04  Bruno Haible  <bruno@clisp.org>
66566
66567         * modules/vasnprintf-posix-tests: New file.
66568         * tests/test-vasnprintf-posix.c: New file.
66569
66570         * modules/vasnprintf-posix: New file.
66571         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66572         printf-frexpl.h.
66573         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66574         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66575         REPLACE_VASNPRINTF is defined.
66576         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66577         gl_FUNC_VASNPRINTF.
66578         (gl_FUNC_VASNPRINTF): Invoke it.
66579         * m4/vasnprintf-posix.m4: New file.
66580         * m4/printf.m4: New file.
66581
66582 2007-03-04  Bruno Haible  <bruno@clisp.org>
66583
66584         Compile progreloc.c only if --enable-relocatable is specified.
66585         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66586         if --enable-relocatable was specified.
66587         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66588         lib_SOURCES.
66589
66590 2007-03-04  Jim Meyering  <jim@meyering.net>
66591
66592         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66593         Use it consistently, rather than enumerating errno constants.
66594
66595 2007-03-04  Bruno Haible  <bruno@clisp.org>
66596
66597         * modules/xvasprintf-tests: New file.
66598         * tests/test-xvasprintf.c: New file.
66599
66600         * modules/vasprintf-tests: New file.
66601         * tests/test-vasprintf.c: New file.
66602
66603         * modules/vasnprintf-tests: New file.
66604         * tests/test-vasnprintf.c: New file.
66605
66606         * modules/vsnprintf-tests: New file.
66607         * tests/test-vsnprintf.c: New file.
66608
66609         * modules/snprintf-tests: New file.
66610         * tests/test-snprintf.c: New file.
66611
66612 2007-03-04  Bruno Haible  <bruno@clisp.org>
66613
66614         Compile relocatable.c only if --enable-relocatable is specified.
66615         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66616         gl_RELOCATABLE_LIBRARY.
66617         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66618         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66619         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66620         gl_RELOCATABLE_LIBRARY.
66621         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66622         (Makefile.am): Remove lib_SOURCES.
66623         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66624         gl_RELOCATABLE_LIBRARY.
66625         (Makefile.am): Remove lib_SOURCES.
66626         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66627         always.
66628         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66629         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66630
66631 2007-03-04  Bruno Haible  <bruno@clisp.org>
66632
66633         * modules/argmatch-tests: New file.
66634         * tests/test-argmatch.c: New file.
66635
66636         * tests/test-allocsa.c (main): Halve the number of loop runs.
66637
66638         * modules/alloca-opt-tests: New file.
66639         * tests/test-alloca-opt.c: New file.
66640
66641 2007-03-04  Jim Meyering  <jim@meyering.net>
66642
66643         Work around difference between Linux ACLs and Solaris 10 ZFS.
66644         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66645         for EINVAL.
66646
66647 2007-03-03  Bruno Haible  <bruno@clisp.org>
66648
66649         * modules/relocatable-prog (Depends-on): Add back progreloc's
66650         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66651
66652 2007-03-03  Bruno Haible  <bruno@clisp.org>
66653
66654         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66655         * modules/relocatable-lib: New file.
66656
66657 2007-03-03  Bruno Haible  <bruno@clisp.org>
66658
66659         * modules/relocatable-prog: Renamed from modules/relocatable.
66660         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66661
66662 2007-03-03  Bruno Haible  <bruno@clisp.org>
66663
66664         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66665         m4/relocatable-lib.m4.
66666         (Depends-on): Remove 'relocatable'.
66667         (configure.ac): Add gl_RELOCATABLE_NOP.
66668
66669 2007-03-03  Bruno Haible  <bruno@clisp.org>
66670
66671         * modules/relocatable-prog-wrapper: New file.
66672         * modules/relocatable (Depends-on): Add it. Remove all other
66673         dependencies except progname.
66674         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66675
66676         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66677         (gl_FUNC_STRERROR): Nop.
66678         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66679
66680         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66681         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66682
66683         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66684         (gl_FUNC_READLINK): Update.
66685
66686         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66687
66688 2007-03-03  Bruno Haible  <bruno@clisp.org>
66689
66690         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66691         * modules/xreadlink (Depends-on): Add unistd.
66692         * modules/xreadlink-with-size (Depends-on): Likewise.
66693
66694 2007-03-03  Bruno Haible  <bruno@clisp.org>
66695
66696         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66697         extracted from gt_FUNC_SETENV.
66698         (gt_FUNC_SETENV): Remove macro.
66699         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66700         remove gt_FUNC_SETENV.
66701
66702 2007-03-03  Bruno Haible  <bruno@clisp.org>
66703
66704         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66705         ENABLE_RELOCATABLE here.
66706         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66707
66708 2007-03-03  Bruno Haible  <bruno@clisp.org>
66709
66710         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66711         * tests/test-rbtreehash_list.c: Include progname.h.
66712         (main): Call set_program_name.
66713
66714         * modules/rbtree-oset-tests (Depends-on): Add progname.
66715         * tests/test-rbtree_oset.c: Include progname.h.
66716         (main): Call set_program_name.
66717
66718         * modules/rbtree-list-tests (Depends-on): Add progname.
66719         * tests/test-rbtree_list.c: Include progname.h.
66720         (main): Call set_program_name.
66721
66722         * modules/linked-list-tests (Depends-on): Add progname.
66723         * tests/test-linked_list.c: Include progname.h.
66724         (main): Call set_program_name.
66725
66726 2007-03-03  Bruno Haible  <bruno@clisp.org>
66727
66728         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66729         All uses of __restrict changed to _Restrict_.
66730         * lib/glob_.h (__restrict): Remove macro.
66731
66732 2007-03-02  Bruno Haible  <bruno@clisp.org>
66733
66734         * modules/gettext (configure.ac): Require gettext infrastructure
66735         from version 0.16.1.
66736
66737 2007-03-02  Bruno Haible  <bruno@clisp.org>
66738
66739         * modules/linkedhash-list-tests (Depends-on): Add progname.
66740         * tests/test-linkedhash_list.c: Include progname.h.
66741         (main): Call set_program_name.
66742
66743         * modules/carray-list-tests (Depends-on): Add progname.
66744         * tests/test-carray_list.c: Include progname.h.
66745         (main): Call set_program_name.
66746
66747         * modules/avltreehash-list-tests (Depends-on): Add progname.
66748         * tests/test-avltreehash_list.c: Include progname.h.
66749         (main): Call set_program_name.
66750
66751         * modules/avltree-oset-tests (Depends-on): Add progname.
66752         * tests/test-avltree_oset.c: Include progname.h.
66753         (main): Call set_program_name.
66754
66755         * modules/avltree-list-tests (Depends-on): Add progname.
66756         * tests/test-avltree_list.c: Include progname.h.
66757         (main): Call set_program_name.
66758
66759         * modules/array-oset-tests (Depends-on): Add progname.
66760         * tests/test-array_oset.c: Include progname.h.
66761         (main): Call set_program_name.
66762
66763         * modules/array-list-tests (Depends-on): Add progname.
66764         * tests/test-array_list.c: Include progname.h.
66765         (main): Call set_program_name.
66766
66767         * modules/argp-tests (Depends-on): Add progname.
66768         * tests/test-argp.c: Include argp.h first. Include progname.h.
66769         (main): Call set_program_name.
66770
66771 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66772
66773         * doc/gnulib-tool.texi (Initial import): Reword description of
66774         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66775         limited effect even if defined after the first system include.
66776
66777 2007-03-01  Bruno Haible  <bruno@clisp.org>
66778
66779         * build-aux/config.libpath: Update to libtool-1.5.22.
66780         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66781
66782 2007-03-01  Bruno Haible  <bruno@clisp.org>
66783
66784         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66785         foo_CFLAGS.
66786         Reported by Ralf Wildenhues.
66787
66788 2007-03-01  Bruno Haible  <bruno@clisp.org>
66789
66790         * build-aux/install-reloc: Remove object files left over by some
66791         compilers.
66792         Reported by Ralf Wildenhues.
66793
66794 2007-03-01  Bruno Haible  <bruno@clisp.org>
66795
66796         * build-aux/install-reloc: Break long lines.
66797
66798 2007-03-01  Bruno Haible  <bruno@clisp.org>
66799
66800         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66801         Reported by Ralf Wildenhues.
66802
66803 2007-03-01  Bruno Haible  <bruno@clisp.org>
66804
66805         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66806         include ordering constraints.
66807
66808 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66809
66810         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66811         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66812         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66813         as another example.
66814         * lib/time_.h: Fix misspelling.
66815         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66816         Require gl_HEADER_TIME_H_DEFAULTS.
66817         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66818         * m4/time_r.m4 (gl_TIME_R): Likewise.
66819         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66820
66821 2007-03-01  Bruno Haible  <bruno@clisp.org>
66822
66823         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66824         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66825
66826 2007-03-01  Jim Meyering  <jim@meyering.net>
66827
66828         * modules/xreadlink (Maintainer): Add my name.
66829         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66830
66831 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66832             Bruno Haible  <bruno@clisp.org>
66833
66834         * build-aux/install-reloc: Compile also c-ctype.c.
66835         * build-aux/relocatable.sh.in: New file.
66836         * doc/relocatable.texi: New file.
66837         * doc/relocatable-maint.texi: New file.
66838         * doc/gnulib.texi: Include relocatable-maint.texi.
66839         * lib/progreloc.c: Include unistd.h unconditionally.
66840         * lib/relocwrapper.c: Include unistd.h unconditionally.
66841         Include c-ctype.h.
66842         (add_dotbin): Use c_tolower.
66843         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66844         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66845         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66846         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66847         to m4/relocatable-lib.m4.
66848         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66849         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66850         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66851         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66852         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66853         * modules/relocatable: New file.
66854         * modules/relocatable-lib: New file.
66855         * modules/relocatable-script: New file.
66856
66857 2007-02-28  Bruno Haible  <bruno@clisp.org>
66858
66859         Import --enable-relocatable infrastructure.
66860         * build-aux/config.libpath: New file, from GNU gettext.
66861         * build-aux/install-reloc: New file, from GNU gettext.
66862         * build-aux/reloc-ldflags: New file, from GNU gettext.
66863         * lib/relocatable.h: New file, from GNU gettext.
66864         * lib/relocatable.c: New file, from GNU gettext.
66865         * lib/relocwrapper.c: New file, from GNU gettext.
66866         * m4/relocatable.m4: New file, from GNU gettext.
66867
66868 2007-02-28  Bruno Haible  <bruno@clisp.org>
66869
66870         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66871
66872         * modules/xreadlink: New file, from GNU gettext with modifications.
66873         * lib/xreadlink.c: New file, from GNU gettext.
66874         * lib/xreadlink.h: Add comments.
66875         (xreadlink): New declaration.
66876
66877         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66878         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66879         lib/xreadlink-with-size.c.
66880         (configure.ac): Remove gl_XREADLINK invocation.
66881         (Makefile.am): Augment lib_SOURCES.
66882         * m4/xreadlink.m4: Remove file.
66883         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66884         (xreadlink_with_size): Renamed from xreadink.
66885         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66886         * modules/canonicalize (Depends-on): Replace xreadlink with
66887         xreadlink-with-size.
66888         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66889
66890 2007-02-25  Jim Meyering  <jim@meyering.net>
66891
66892         * build-aux/announce-gen: When complaining about excess arguments,
66893         list them.
66894
66895 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66896
66897         * README: Document signed integer overflow situation more
66898         accurately.
66899
66900 2007-02-25  Bruno Haible  <bruno@clisp.org>
66901
66902         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66903         'a' or 'A' conversion.
66904
66905 2007-02-25  Bruno Haible  <bruno@clisp.org>
66906
66907         * modules/filename: Renamed from modules/pathname.
66908         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66909         lib/concatpath.c with lib/concat-filename.c.
66910         (Makefile.am): Update.
66911         (Include): Replace pathname.h with filename.h.
66912         * lib/filename.h: Renamed from lib/pathname.h.
66913         (concatenated_filename): Renamed from concatenated_pathname.
66914         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66915         (concatenated_filename): Renamed from concatenated_pathname.
66916         * lib/findprog.c: Include filename.h instead of pathname.h.
66917         (find_in_path): Update.
66918         * lib/javacomp.c: Include filename.h instead of pathname.h.
66919         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66920         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66921         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66922         is_oldgcj_14_13_usable, is_javac_usable): Update.
66923         * lib/javaexec.c: Include filename.h instead of pathname.h.
66924         (execute_java_class): Update.
66925         * modules/findprog: Update.
66926         * modules/javacomp: Update.
66927         * modules/javaexec: Update.
66928         * MODULES.html.sh (File system functions): Add 'filename', remove
66929         'pathname'.
66930
66931 2007-02-25  Bruno Haible  <bruno@clisp.org>
66932
66933         * modules/printf-frexpl-tests: New file.
66934         * tests/test-printf-frexpl.c: New file.
66935
66936         * modules/printf-frexpl: New file.
66937         * lib/printf-frexpl.h: New file.
66938         * lib/printf-frexpl.c: New file.
66939         * m4/printf-frexpl.m4: New file.
66940
66941 2007-02-25  Bruno Haible  <bruno@clisp.org>
66942
66943         * modules/printf-frexp-tests: New file.
66944         * tests/test-printf-frexp.c: New file.
66945
66946         * modules/printf-frexp: New file.
66947         * lib/printf-frexp.h: New file.
66948         * lib/printf-frexp.c: New file.
66949         * m4/printf-frexp.m4: New file.
66950
66951 2007-02-25  Bruno Haible  <bruno@clisp.org>
66952
66953         Assume automake >= 1.10 for the tests.
66954         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66955         * modules/arctwo-tests: Likewise.
66956         * modules/argp-tests: Likewise.
66957         * modules/avltree-list-tests: Likewise.
66958         * modules/avltree-oset-tests: Likewise.
66959         * modules/avltreehash-list-tests: Likewise.
66960         * modules/carray-list-tests: Likewise.
66961         * modules/crc-tests: Likewise.
66962         * modules/des-tests: Likewise.
66963         * modules/gc-arcfour-tests: Likewise.
66964         * modules/gc-arctwo-tests: Likewise.
66965         * modules/gc-des-tests: Likewise.
66966         * modules/gc-hmac-md5-tests: Likewise.
66967         * modules/gc-hmac-sha1-tests: Likewise.
66968         * modules/gc-md2-tests: Likewise.
66969         * modules/gc-md4-tests: Likewise.
66970         * modules/gc-md5-tests: Likewise.
66971         * modules/gc-pbkdf2-sha1-tests: Likewise.
66972         * modules/gc-rijndael-tests: Likewise.
66973         * modules/gc-sha1-tests: Likewise.
66974         * modules/gc-tests: Likewise.
66975         * modules/getaddrinfo-tests: Likewise.
66976         * modules/hmac-md5-tests: Likewise.
66977         * modules/hmac-sha1-tests: Likewise.
66978         * modules/linked-list-tests: Likewise.
66979         * modules/linkedhash-list-tests: Likewise.
66980         * modules/lock-tests: Likewise.
66981         * modules/md2-tests: Likewise.
66982         * modules/md4-tests: Likewise.
66983         * modules/md5-tests: Likewise.
66984         * modules/rbtree-list-tests: Likewise.
66985         * modules/rbtree-oset-tests: Likewise.
66986         * modules/rbtreehash-list-tests: Likewise.
66987         * modules/read-file-tests: Likewise.
66988         * modules/rijndael-tests: Likewise.
66989         * modules/stdint-tests: Likewise.
66990         * modules/tls-tests: Likewise.
66991
66992 2007-02-24  Bruno Haible  <bruno@clisp.org>
66993
66994         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66995         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66996         function; instead check whether isnan with a double argument links.
66997         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66998         function; instead check whether isnan with a 'long double' argument
66999         links.
67000         Reported by Eric Blake <ebb9@byu.net>.
67001
67002 2007-02-24  Bruno Haible  <bruno@clisp.org>
67003
67004         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67005         defined.
67006         * lib/isnanl.c: Remove all code. Just include isnan.c.
67007         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67008
67009 2007-02-25  Jim Meyering  <jim@meyering.net>
67010
67011         Avoid conflicting types for 'unsetenv' on FreeBSD.
67012         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67013         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67014         in stdlib.h.
67015
67016 2007-02-24  Bruno Haible  <bruno@clisp.org>
67017
67018         * modules/isnanl-nolibm-tests: New file.
67019         * tests/test-isnanl.c: New file.
67020
67021         * modules/isnanl-nolibm: New file.
67022         * lib/isnanl.h: New file.
67023         * lib/isnanl.c: New file.
67024         * m4/isnanl.m4: New file.
67025
67026 2007-02-24  Bruno Haible  <bruno@clisp.org>
67027
67028         * modules/isnan-nolibm-tests: New file.
67029         * tests/test-isnan.c: New file.
67030
67031         * modules/isnan-nolibm: New file.
67032         * lib/isnan.h: New file.
67033         * lib/isnan.c: New file.
67034         * m4/isnan.m4: New file.
67035
67036 2007-02-24  Bruno Haible  <bruno@clisp.org>
67037
67038         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67039         assume that an exponent fits in 20 bits.
67040
67041 2007-02-24  Jim Meyering  <jim@meyering.net>
67042
67043         * m4/regex.m4: Update the description of the configure-time option,
67044         --without-included-regex, to state accurately what the defaults are,
67045         and perhaps to give people an idea why using this option is risky.
67046
67047 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67048
67049         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67050         loops on small arguments.  This attempts to avoid the problem
67051         Bruno Haible reported for AIX 4.3.2 in
67052         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67053
67054 2007-02-23  Bruno Haible  <bruno@clisp.org>
67055
67056         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67057         Needed for help2man.
67058
67059 2007-02-23  Karl Berry  <karl@gnu.org>
67060
67061         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67062         exists, foo.h should be cvs-ignored, not committed.
67063
67064 2007-02-23  Eric Blake  <ebb9@byu.net>
67065
67066         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67067         * lib/stat-time.h (includes): Likewise.
67068         * lib/utimecmp.c (includes): Likewise.
67069         * lib/utimens.h (includes): Likewise.
67070         * lib/getdate.y (includes): Also include "timespec.h" for use
67071         internal to the module.
67072         * modules/utimens (Depends-on): Revert yesterday's patch.
67073         * modules/nanosleep (Depends-on): Add missing dependency.
67074
67075 2007-02-22  Bruno Haible  <bruno@clisp.org>
67076
67077         * lib/glob.c: Don't include getlogin_r.h.
67078
67079 2007-02-22  Jim Meyering  <jim@meyering.net>
67080
67081         * modules/utimens (Depends-on): Add timespec, required for
67082         utimens.h's inclusion of timespec.h.
67083
67084 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67085
67086         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67087         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67088         Schwab in
67089         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67090         I'll try to think of a better way to fix the Solaris problem.
67091
67092         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67093         like glibc; on Solaris 10, it fails with errno == EINVAL.
67094         POSIX says the behavior is unspecified if the first argument is NULL,
67095         so play it safe and never pass NULL to the system getcwd.
67096
67097 2007-02-21  Jim Meyering  <jim@meyering.net>
67098
67099         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67100         of gettimeofday.  It would conflict with the one now always
67101         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67102         an IRIX 6.5 build failure.
67103
67104 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67105
67106         Minor fixups to port to Solaris 10 with Sun C 5.8.
67107         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67108         * modules/getcwd (Depends-on): Add dirfd.
67109         * lib/putenv.c (putenv): #undef it.
67110         (rpl_putenv): New decl.
67111         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67112
67113 2007-02-20  Bruno Haible  <bruno@clisp.org>
67114
67115         * modules/stdio-tests: New file.
67116         * tests/test-stdio.c: New file.
67117
67118         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67119         (Depends-on): Add stdio.
67120         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67121         (Include): Use <stdio.h> instead of vsnprintf.h.
67122         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67123         HAVE_DECL_VSNPRINTF.
67124         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67125
67126         * modules/snprintf (Files): Remove lib/snprintf.h.
67127         (Depends-on): Add stdio.
67128         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67129         (Include): Use <stdio.h> instead of snprintf.h.
67130         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67131         HAVE_DECL_SNPRINTF.
67132         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67133         * lib/getaddrinfo.c: Likewise.
67134
67135         * modules/stdio: New file.
67136         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67137         * lib/snprintf.h: Remove file.
67138         * lib/vsnprintf.h: Remove file.
67139         * lib/.cppi-disable: Remove snprintf.h.
67140         * m4/stdio_h.m4: New file.
67141         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67142
67143 2007-02-20  Jim Meyering  <jim@meyering.net>
67144
67145         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67146         used by e.g., mingw.  From Bruno Haible.
67147
67148 2007-02-19  Bruno Haible  <bruno@clisp.org>
67149
67150         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67151         warnings.
67152         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67153
67154 2007-02-19  Bruno Haible  <bruno@clisp.org>
67155
67156         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67157         from mingw users.
67158
67159 2007-02-19  Bruno Haible  <bruno@clisp.org>
67160
67161         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67162         warnings.
67163         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67164
67165 2007-02-19  Jim Meyering  <jim@meyering.net>
67166
67167         Don't use FD after a successful "fdopendir (fd)".
67168         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67169         Reset it by calling dirfd on the just-obtained DIR*.
67170
67171         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67172         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67173
67174 2007-02-18  Bruno Haible  <bruno@clisp.org>
67175
67176         * lib/readlink.c: Include <unistd.h>.
67177         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67178         HAVE_READLINK.
67179         * modules/readlink (Depends-on): Add unistd.
67180         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67181         (Include): Add <unistd.h>.
67182
67183         * lib/getlogin_r.h: Remove file.
67184         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67185         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67186         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67187         HAVE_DECL_GETLOGIN_R.
67188         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67189         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67190         (Include): Use <unistd.h> instead of getlogin_r.h.
67191
67192         * lib/getcwd.h: Remove file.
67193         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67194         * lib/xgetcwd.c: Likewise.
67195         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67196         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67197         * modules/getcwd (Files): Remove lib/getcwd.h.
67198         (Depends-on): Add unistd.
67199         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67200         (Include): Use <unistd.h> instad of getcwd.h.
67201
67202         * lib/ftruncate.c: Include <unistd.h> first.
67203         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67204         Set HAVE_FTRUNCATE.
67205         * modules/ftruncate (Depends-on): Add unistd.
67206         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67207
67208         * lib/fchdir.c: Include <unistd.h> first.
67209         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67211         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67212         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67213         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67214
67215         * lib/dup2.c: Include <unistd.h> first.
67216         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67217         HAVE_DUP2.
67218         * modules/dup2 (Depends-on): Add unistd.
67219         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67220
67221         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67222         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67223         REPLACE_CHOWN. Don't define chown as a macro here.
67224         * modules/chown (Depends-on): Add unistd.
67225         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67226
67227         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67228         Add definition for GL_LINK_WARNING.
67229         (chown, dup2): New declarations.
67230         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67231         link warning.
67232         (ftruncate): New declaration.
67233         (getcwd): New declaration, taken from old getcwd.h.
67234         (getlogin_r): New declaration, taken from old getlogin_r.h.
67235         (readlink): New declaration.
67236         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67237         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67238         (gl_PREREQ_UNISTD): Remove macro.
67239         (gl_UNISTD_MODULE_INDICATOR): New macro.
67240         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67241         many new variables. Don't set UNISTD_H.
67242         * modules/unistd (Description): Change.
67243         (Depends-on): Add link-warning.
67244         (configure.ac): Update.
67245         (Makefile.am): Create unistd.h always. Substitute many new variables
67246         into it.
67247
67248 2007-02-18  Bruno Haible  <bruno@clisp.org>
67249
67250         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67251         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67252         HAVE_GETSUBOPT.
67253         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67254         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67255         * lib/getsubopt.h: Remove file.
67256         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67257         (Depends-on): Add stdlib.
67258         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67259         (Includes): Use <stdlib.h> instead of getsubopt.h.
67260         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67261         Set HAVE_GETSUBOPT.
67262         * lib/getsubopt.c: Don't include getsubopt.h.
67263
67264 2007-02-18  Bruno Haible  <bruno@clisp.org>
67265
67266         * modules/fchdir (Depends-on): Add dup2.
67267
67268 2007-02-18  Bruno Haible  <bruno@clisp.org>
67269
67270         * lib/stdlib_.h: Handle glibc's special invocation convention
67271         specially.
67272
67273 2007-02-18  Bruno Haible  <bruno@clisp.org>
67274
67275         * modules/stdlib-tests: New file.
67276         * tests/test-stdlib.c: New file.
67277
67278         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67279         (Depends-on): Add stdlib.
67280         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67281         (Includes): Use <stdlib.h> instead of mkstemp.h.
67282         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67283         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67284         * lib/mkstemp.c: Don't include mkstemp.h.
67285         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67286         * lib/stdlib--.h: Don't include mkstemp.h.
67287
67288         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67289         (Depends-on): Add stdlib.
67290         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67291         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67292         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67293         HAVE_MKDTEMP.
67294         * lib/mkdtemp.c: Don't include mkdtemp.h.
67295         * lib/clean-temp.c: Don't include mkdtemp.h.
67296
67297         * modules/exit (Files): Remove lib/exit.h.
67298         (Depends-on): Add stdlib.
67299         (Makefile.am): Remove lib_SOURCES.
67300         (Include): Use <stdlib.h> instead of exit.h.
67301         * lib/argmatch.c: Don't include exit.h.
67302         * lib/execute.c: Likewise.
67303         * lib/pagealign_alloc.c: Likewise.
67304         * lib/pipe.c: Likewise.
67305         * lib/wait-process.c: Likewise.
67306         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67307         * lib/exitfail.c: Likewise.
67308         * lib/savewd.c: Likewise.
67309         * lib/xsetenv.c: Likewise.
67310
67311         * modules/stdlib: New file.
67312         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67313         and extra comments about mkstemp().
67314         * lib/exit.h: Remove file.
67315         * lib/mkdtemp.h: Remove file.
67316         * lib/mkstemp.h: Remove file.
67317         * m4/stdlib_h.m4: New file.
67318         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67319
67320 2007-02-18  Bruno Haible  <bruno@clisp.org>
67321
67322         * modules/math-tests: New file.
67323         * tests/test-math.c: New file.
67324
67325         * modules/math: New file.
67326         * modules/mathl (Files): Remove lib/mathl.h.
67327         (Depends-on): Add math.
67328         (Makefile.am): Don't mention mathl.h.
67329         (Include): Use <math.h> instead of mathl.h.
67330         * lib/math_.h: New file.
67331         * lib/mathl.h: Remove file.
67332         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67333         mathl.h.
67334         * lib/asinl.c: Likewise.
67335         * lib/atanl.c: Likewise.
67336         * lib/ceill.c: Likewise.
67337         * lib/cosl.c: Likewise.
67338         * lib/expl.c: Likewise.
67339         * lib/floorl.c: Likewise.
67340         * lib/frexpl.c: Likewise.
67341         * lib/ldexpl.c: Likewise.
67342         * lib/logl.c: Likewise.
67343         * lib/sincosl.c: Likewise.
67344         * lib/sinl.c: Likewise.
67345         * lib/sqrtl.c: Likewise.
67346         * lib/tanl.c: Likewise.
67347         * lib/trigl.c: Likewise.
67348         * m4/math_h.m4: New file.
67349         * MODULES.html.sh (Mathematics): Add math.
67350
67351 2007-02-17  Bruno Haible  <bruno@clisp.org>
67352
67353         * modules/wctype-tests: New file.
67354         * tests/test-wctype.c: New file.
67355
67356         * modules/wchar-tests: New file.
67357         * tests/test-wchar.c: New file.
67358
67359         * modules/unistd-tests: New file.
67360         * tests/test-unistd.c: New file.
67361
67362         * modules/time-tests: New file.
67363         * tests/test-time.c: New file.
67364
67365         * modules/sysexits-tests: New file.
67366         * tests/test-sysexits.c: New file.
67367
67368         * modules/sys_time-tests: New file.
67369         * tests/test-sys_time.c: New file.
67370
67371         * modules/sys_stat-tests: New file.
67372         * tests/test-sys_stat.c: New file.
67373
67374         * modules/sys_socket-tests: New file.
67375         * tests/test-sys_socket.c: New file.
67376
67377         * modules/sys_select-tests: New file.
67378         * tests/test-sys_select.c: New file.
67379
67380         * modules/string-tests: New file.
67381         * tests/test-string.c: New file.
67382
67383         * modules/stdbool-tests: New file.
67384         * tests/test-stdbool.c: New file.
67385
67386         * modules/netinet_in-tests: New file.
67387         * tests/test-netinet_in.c: New file.
67388
67389         * modules/inttypes-tests: New file.
67390         * tests/test-inttypes.c: New file.
67391
67392         * modules/fcntl-tests: New file.
67393         * tests/test-fcntl.c: New file.
67394
67395         * modules/byteswap-tests: New file.
67396         * tests/test-byteswap.c: New file.
67397
67398         * modules/arpa_inet-tests: New file.
67399         * tests/test-arpa_inet.c: New file.
67400
67401 2007-02-17  Bruno Haible  <bruno@clisp.org>
67402
67403         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67404         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67405         if the corresponding module is not enabled. Emit link warnings if
67406         the function is used nevertheless.
67407         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67408         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67409         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67410         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67411         * modules/inttypes (Depends-on): Add link-warning.
67412         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67413         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67414         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67415         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67416         * modules/imaxdiv (configure.ac): Likewise.
67417         * modules/strtoimax (configure.ac): Likewise.
67418         * modules/strtoumax (configure.ac): Likewise.
67419
67420 2007-02-17  Bruno Haible  <bruno@clisp.org>
67421
67422         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67423         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67424         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67425         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67426
67427 2007-02-17  Bruno Haible  <bruno@clisp.org>
67428
67429         * modules/link-warning: New file.
67430         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67431         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67432         * modules/string (Depends-on): Add link-warning.
67433         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67434         string.h.
67435         * MODULES.html.sh (Support for building libraries and executables): Add
67436         link-warning.
67437
67438 2007-02-17  Bruno Haible  <bruno@clisp.org>
67439
67440         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67441         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67442         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67443         long lines.
67444
67445 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67446             Bruno Haible  <bruno@clisp.org>
67447
67448         * modules/tmpfile: New file.
67449         * lib/tmpfile.c: New file.
67450         * m4/tmpfile.m4: New file.
67451         * MODULES.html.sh (func_all_modules): New section "Input/output".
67452
67453 2007-02-15  Bruno Haible  <bruno@clisp.org>
67454
67455         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67456         (supports_delete_on_close): New function.
67457         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67458
67459 2007-02-14  Bruno Haible  <bruno@clisp.org>
67460
67461         * modules/mbspcasecmp-tests: New file.
67462         * tests/test-mbspcasecmp.sh: New file.
67463         * tests/test-mbspcasecmp.c: New file.
67464
67465         New module mbspcasecmp.
67466         * modules/mbspcasecmp: New file.
67467         * lib/mbspcasecmp.c: New file.
67468         * lib/string_.h (strncasecmp): Change warning message.
67469         (mbspcasecmp): New declaration.
67470         * m4/mbspcasecmp.m4: New file.
67471         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67472         GNULIB_MBSPCASECMP.
67473         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67474         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67475
67476 2007-02-14  Bruno Haible  <bruno@clisp.org>
67477
67478         * modules/mbsncasecmp-tests: New file.
67479         * tests/test-mbsncasecmp.sh: New file.
67480         * tests/test-mbsncasecmp.c: New file.
67481
67482         New module mbsncasecmp.
67483         * modules/mbsncasecmp: New file.
67484         * lib/mbsncasecmp.c: New file.
67485         * lib/string_.h (mbsncasecmp): New declaration.
67486         * m4/mbsncasecmp.m4: New file.
67487         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67488         GNULIB_MBSNCASECMP.
67489         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67490         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67491
67492 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67493
67494         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67495         Verify that it doesn't overlap with our flags.
67496         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67497         do not have the desired effect in multibyte locales; instead, use
67498         mbscasecmp.
67499         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67500         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67501         we don't require GNU fnmatch ourselves (if our users require it, they
67502         should do so explicitly).
67503
67504         Fix regex code so it doesn't rely on strcasecmp.
67505         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67506         Otherwise, include gnulib's langinfo.h.
67507         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67508         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67509         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67510         * modules/regex (FILES): Remove m4/codeset.m4.
67511         (Depends-on): Add localcharset.  Remove strcase.
67512
67513 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67514
67515         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67516         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67517
67518 2007-02-13  Bruno Haible  <bruno@clisp.org>
67519
67520         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67521         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67522
67523 2007-02-12  Bruno Haible  <bruno@clisp.org>
67524
67525         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67526         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67527         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67528         time warning rather than a link error.
67529
67530 2007-02-12  Bruno Haible  <bruno@clisp.org>
67531
67532         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67533         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67534         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67535
67536 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67537
67538         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67539         args, not 2.
67540
67541 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67542
67543         New module 'time', so that apps can include <time.h> as per
67544         POSIX and GNU instead of separate include files like time_r.h
67545         and timegm.h.  This implementation tries out a simpler approach
67546         for replacing decls in standard include files (as compared to
67547         the string module), somewhat as an experiment.
67548
67549         * config/srclist.txt: Comment out mktime.c for now.
67550         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67551         since it doesn't apply any more.  Use generic wording instead.
67552         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67553         'time'.
67554         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67555         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67556         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67557         Don't include <sys/types.h>; no longer needed since we assume C89.
67558         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67559         * lib/strftime.c: Likewise.
67560         * lib/time_r.c: Likewise.
67561         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67562         * lib/nanosleep.c: Include <time.h> first, to check interface.
67563         * lib/strptime.c: Likewise.
67564         * lib/time_r.c: Likewise.
67565         * lib/timegm.c: Likewise.
67566         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67567         needed.
67568         * lib/timegm.c: Don't include timegm.h; no longer needed.
67569         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67570         time.h now handles any problems in that area.
67571         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67572         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67573         that time.h defines struct timespec.
67574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67575         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67576         handles that.
67577         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67578         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67579         needed.  Set REPLACE_LOCALTIME.
67580         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67581         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67582         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67583         nanosleep; time_h.m4 now does that.  Don't require
67584         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67585         module handles this now.
67586         * modules/getdate (Depends-on): Remove timespec.  Add time.
67587         * modules/nanosleep (Depends-on): Likewise.
67588         * modules/stat-time (Depends-on): Likewise.
67589         * modules/nanosleep (Include): Include time.h, not timespec.h.
67590         * modules/strptime (Files): Remove lib/strptime.h.
67591         (Depends-on): Add extensions, time.
67592         (Include): Include time.h, not strptime.h.
67593         * modules/time_r (Files): Remove lib/time_r.h.
67594         (Depends-on): Add time.
67595         (Include): Include time.h, not time_r.h.
67596         * modules/timegm: Likewise.
67597         * modules/timespec (Description): Now does timespec-related decls
67598         of our own, instead of struct timespec itself.
67599         (Depends-on): Add time; remove extensions.
67600         (Maintainer): Add self.
67601         * modules/utimecmp (Depends-on): Add time; remove timespec.
67602         * modules/utimens (Depends-on): Likewise.
67603         * modules/xnanosleep (Depends-on): Likewise.
67604
67605 2007-02-11  Bruno Haible  <bruno@clisp.org>
67606
67607         * lib/c-strstr.c: Include allocsa.h.
67608         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67609         * lib/c-strcasestr.c: Include allocsa.h.
67610         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67611         * lib/strcasestr.c: Include allocsa.h.
67612         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67613         * lib/mbsstr.c: Include allocsa.h.
67614         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67615         allocsa/freesa instead of malloc/free.
67616         * lib/mbscasestr.c: Include allocsa.h.
67617         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67618         allocsa/freesa instead of malloc/free.
67619         * modules/c-strstr (Depends-on): Add allocsa.
67620         * modules/c-strcasestr (Depends-on): Likewise.
67621         * modules/strcasestr (Depends-on): Likewise.
67622         * modules/mbsstr (Depends-on): Likewise.
67623         * modules/mbscasestr (Depends-on): Likewise.
67624
67625 2007-02-11  Bruno Haible  <bruno@clisp.org>
67626
67627         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67628
67629         * modules/mbsspn-tests: New file.
67630         * tests/test-mbsspn.sh: New file.
67631         * tests/test-mbsspn.c: New file.
67632
67633 2007-02-11  Bruno Haible  <bruno@clisp.org>
67634
67635         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67636
67637         * modules/mbspbrk-tests: New file.
67638         * tests/test-mbspbrk.sh: New file.
67639         * tests/test-mbspbrk.c: New file.
67640
67641 2007-02-11  Bruno Haible  <bruno@clisp.org>
67642
67643         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67644         unneeded cast.
67645
67646         * modules/mbscspn-tests: New file.
67647         * tests/test-mbscspn.sh: New file.
67648         * tests/test-mbscspn.c: New file.
67649
67650 2007-02-11  Bruno Haible  <bruno@clisp.org>
67651
67652         * modules/mbscasecmp-tests: New file.
67653         * tests/test-mbscasecmp.sh: New file.
67654         * tests/test-mbscasecmp.c: New file.
67655
67656 2007-02-11  Bruno Haible  <bruno@clisp.org>
67657
67658         Ensure O(n) worst-case complexity of mbscasestr.
67659         * lib/mbscasestr.c: Include stdbool.h.
67660         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67661         functions.
67662         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67663         the bookkeeping indicates that it's worth it.
67664         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67665
67666         * modules/mbscasestr-tests: New file.
67667         * tests/test-mbscasestr1.c: New file.
67668         * tests/test-mbscasestr2.sh: New file.
67669         * tests/test-mbscasestr2.c: New file.
67670         * tests/test-mbscasestr3.sh: New file.
67671         * tests/test-mbscasestr3.c: New file.
67672         * tests/test-mbscasestr4.sh: New file.
67673         * tests/test-mbscasestr4.c: New file.
67674         * m4/locale-tr.m4: New file.
67675
67676 2007-02-11  Bruno Haible  <bruno@clisp.org>
67677
67678         Ensure O(n) worst-case complexity of mbsstr.
67679         * lib/mbsstr.c: Include stdbool.h.
67680         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67681         functions.
67682         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67683         bookkeeping indicates that it's worth it.
67684         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67685
67686         * modules/mbsstr-tests: New file.
67687         * tests/test-mbsstr1.c: New file.
67688         * tests/test-mbsstr2.sh: New file.
67689         * tests/test-mbsstr2.c: New file.
67690         * tests/test-mbsstr3.sh: New file.
67691         * tests/test-mbsstr3.c: New file.
67692         * m4/locale-fr.m4: New file.
67693
67694 2007-02-11  Bruno Haible  <bruno@clisp.org>
67695
67696         * lib/mbsrchr.c (mbsrchr): Fix bug.
67697
67698         * modules/mbsrchr-tests: New file.
67699         * tests/test-mbsrchr.sh: New file.
67700         * tests/test-mbsrchr.c: New file.
67701
67702 2007-02-11  Bruno Haible  <bruno@clisp.org>
67703
67704         * lib/mbschr.c (mbschr): Fix bug.
67705
67706         * modules/mbschr-tests: New file.
67707         * tests/test-mbschr.sh: New file.
67708         * tests/test-mbschr.c: New file.
67709         * m4/locale-zh.m4: New file.
67710
67711 2007-02-11  Bruno Haible  <bruno@clisp.org>
67712
67713         Support for copying multibyte string iterators.
67714         * lib/mbiter.h: Include <string.h>.
67715         (mbiter_multi_copy): New function.
67716         (mbi_copy): New macro.
67717         * lib/mbuiter.h: Include <string.h>.
67718         (mbuiter_multi_copy): New function.
67719         (mbui_copy): New macro.
67720
67721 2007-02-11  Bruno Haible  <bruno@clisp.org>
67722
67723         New module mbslen.
67724         * modules/mbslen: New file.
67725         * lib/mbslen.c: New file.
67726         * lib/string_.h (mbslen): New declaration.
67727         * m4/mbslen.m4: New file.
67728         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67729         GNULIB_MBSLEN.
67730         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67731         * MODULES.html.sh (Internationalization functions): Add mbslen.
67732
67733 2007-02-11  Bruno Haible  <bruno@clisp.org>
67734
67735         Ensure O(n) worst-case complexity of strcasestr substitute.
67736         * lib/strcasestr.c: Include stdbool.h.
67737         (knuth_morris_pratt): New function.
67738         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67739         bookkeeping indicates that it's worth it.
67740         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67741
67742         * modules/strcasestr-tests: New file.
67743         * tests/test-strcasestr.c: New file.
67744
67745 2007-02-11  Bruno Haible  <bruno@clisp.org>
67746
67747         Ensure O(n) worst-case complexity of c_strcasestr.
67748         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67749         (knuth_morris_pratt): New function.
67750         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67751         the bookkeeping indicates that it's worth it.
67752         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67753
67754         * modules/c-strcasestr-tests: New file.
67755         * tests/test-c-strcasestr.c: New file.
67756
67757 2007-02-11  Bruno Haible  <bruno@clisp.org>
67758
67759         Ensure O(n) worst-case complexity of c_strstr.
67760         * lib/c-strstr.c: Include stdbool.h, string.h.
67761         (knuth_morris_pratt): New function.
67762         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67763         bookkeeping indicates that it's worth it.
67764         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67765
67766         * lib/c-strstr.c: Complete rewrite for maintainability.
67767
67768         * modules/c-strstr-tests: New file.
67769         * tests/test-c-strstr.c: New file.
67770
67771 2007-02-11  Bruno Haible  <bruno@clisp.org>
67772
67773         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67774         5.2.1 and earlier, whereby \055 was treated just like the range
67775         delimiter '-'.
67776         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67777
67778 2007-02-08  Bruno Haible  <bruno@clisp.org>
67779
67780         * modules/regex (Depends-on): Add stdbool.
67781         Reported by Dalibor Topic <robilad@kaffe.org>.
67782
67783 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67784
67785         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67786         Prefer returning from main to exiting from it.
67787         Remove unnecessary parens after sizeof.
67788
67789 2007-02-05  Bruno Haible  <bruno@clisp.org>
67790
67791         New module mbssep.
67792         * modules/mbssep: New file.
67793         * lib/mbssep.c: New file.
67794         * lib/string_.h (strsep): Add a conditional link warning.
67795         (mbssep): New declaration.
67796         * m4/mbssep.m4: New file.
67797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67798         GNULIB_MBSSEP.
67799         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67800         * MODULES.html.sh (Internationalization functions): Add mbssep.
67801
67802 2007-02-05  Bruno Haible  <bruno@clisp.org>
67803
67804         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67805         Optimize search in case of 1 delimiter.
67806
67807 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67808
67809         * lib/acl.h: Include sys/types.h before sys/acl.h.
67810
67811 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67812
67813         Merge upstream fix for glibc bugzilla #3957:
67814
67815         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67816
67817         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67818         bit for RE_HAT_LISTS_NOT_NEWLINE.
67819         (build_charclass_op): Remove bogus comment.
67820
67821 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67822
67823         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67824
67825 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67826
67827         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67828         * lib/memmem.c [!defined _LIBC]: Include config.h.
67829
67830 2007-02-04  Bruno Haible  <bruno@clisp.org>
67831
67832         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67833         warning message.
67834
67835 2007-02-04  Bruno Haible  <bruno@clisp.org>
67836
67837         New module mbstok_r.
67838         * modules/mbstok_r: New file.
67839         * lib/mbstok_r.c: New file.
67840         * lib/string_.h (strtok_r): Change argument names to match the
67841         comments. Add a conditional link warning.
67842         (mbstok_r): New declaration.
67843         * m4/mbstok_r.m4: New file.
67844         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67845         GNULIB_MBSTOK_R.
67846         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67847         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67848
67849 2007-02-04  Bruno Haible  <bruno@clisp.org>
67850
67851         New module mbsspn.
67852         * modules/mbsspn: New file.
67853         * lib/mbsspn.c: New file.
67854         * lib/string_.h (strspn): Add a conditional link warning.
67855         (mbsspn): New declaration.
67856         * m4/mbsspn.m4: New file.
67857         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67858         GNULIB_MBSSPN.
67859         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67860         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67861
67862 2007-02-04  Bruno Haible  <bruno@clisp.org>
67863
67864         New module mbspbrk.
67865         * modules/mbspbrk: New file.
67866         * lib/mbspbrk.c: New file.
67867         * lib/string_.h (strpbrk): Add a conditional link warning.
67868         (mbspbrk): New declaration.
67869         * m4/mbspbrk.m4: New file.
67870         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67871         GNULIB_MBSPBRK.
67872         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67873         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67874
67875 2007-02-04  Bruno Haible  <bruno@clisp.org>
67876
67877         New module mbscspn.
67878         * modules/mbscspn: New file.
67879         * lib/mbscspn.c: New file.
67880         * lib/string_.h (strcspn): Add a conditional link warning.
67881         (mbscspn): New declaration.
67882         * m4/mbscspn.m4: New file.
67883         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67884         GNULIB_MBSCSPN.
67885         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67886         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67887
67888 2007-02-04  Bruno Haible  <bruno@clisp.org>
67889
67890         New module mbscasestr, reduced goal of strcasestr.
67891         * modules/mbscasestr: New file.
67892         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67893         (mbscasestr): Renamed from strcasestr.
67894         * lib/strcasestr.c: Don't include mbuiter.h.
67895         (strcasestr): Remove support for multibyte locales.
67896         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67897         Change the conditional link warning.
67898         (mbscasestr): New declaration.
67899         * m4/mbscasestr.m4: New file.
67900         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67901         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67902         REPLACE_STRCASESTR.
67903         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67904         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67905         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67906         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67907         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67908         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67909         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67910         (Depends-on): Remove mbuiter.
67911         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67912
67913 2007-02-04  Bruno Haible  <bruno@clisp.org>
67914
67915         Simplify handling of strncasecmp.
67916         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67917         the conditional link warning.
67918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67919         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67920         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67921         * modules/strcase (configure.ac): Don't invoke
67922         gl_STRING_MODULE_INDICATOR.
67923         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67924
67925 2007-02-04  Bruno Haible  <bruno@clisp.org>
67926
67927         New module mbscasecmp, reduced goal of strcasecmp.
67928         * modules/mbscasecmp: New file.
67929         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67930         (mbscasecmp): Renamed from strcasecmp.
67931         * lib/strcasecmp.c: Don't include mbuiter.h.
67932         (strcasecmp): Remove support for multibyte locales.
67933         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67934         Change the conditional link warning.
67935         (mbscasecmp): New declaration.
67936         * m4/mbscasecmp.m4: New file.
67937         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67938         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67939         REPLACE_STRCASECMP.
67940         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67942         GNULIB_MBSCASECMP.
67943         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67944         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67945         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67946         (Depends-on): Remove mbuiter.
67947         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67948
67949 2007-02-04  Bruno Haible  <bruno@clisp.org>
67950
67951         New module mbsstr. Remove module strstr.
67952         * modules/mbsstr: New file.
67953         * modules/strstr: Remove file.
67954         * lib/mbsstr.c: Renamed from lib/strstr.c.
67955         (mbsstr): Renamed from strstr.
67956         * lib/string_.h (strstr): Remove declaration. Change the conditional
67957         link warning.
67958         (mbsstr): New declaration.
67959         * m4/mbsstr.m4: New file.
67960         * m4/strstr.m4: Remove file.
67961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67962         REPLACE_STRSTR.
67963         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67964         Don't initialize GNULIB_STRSTR.
67965         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67966         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67967         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67968         (Support for systems lacking ANSI C 89): Remove strstr.
67969
67970 2007-02-04  Bruno Haible  <bruno@clisp.org>
67971
67972         New module mbsrchr.
67973         * modules/mbsrchr: New file.
67974         * lib/mbsrchr.c: New file.
67975         * lib/string_.h (strrchr): Add a conditional link warning.
67976         (mbsrchr): New declaration.
67977         * m4/mbsrchr.m4: New file.
67978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67979         GNULIB_MBSRCHR.
67980         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67981         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67982
67983 2007-02-04  Bruno Haible  <bruno@clisp.org>
67984
67985         New module mbschr.
67986         * modules/mbschr: New file.
67987         * lib/mbschr.c: New file.
67988         * lib/string_.h (strchr): Add a conditional link warning.
67989         (mbschr): New declaration.
67990         * m4/mbschr.m4: New file.
67991         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67992         GNULIB_MBSCHR.
67993         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67994         * MODULES.html.sh (Internationalization functions): Add mbschr.
67995
67996 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67997
67998         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67999
68000         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68001
68002 2007-02-04  Bruno Haible  <bruno@clisp.org>
68003
68004         New module description section 'configure.ac-early'.
68005         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68006         (func_get_autoconf_early_snippet): New function.
68007         (func_import, func_create_testdir): Use it. Remove special cases for
68008         modules 'extensions' and 'lock'.
68009         * modules/extensions (configure.ac-early): Require
68010         gl_USE_SYSTEM_EXTENSIONS.
68011         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68012
68013 2007-02-04  Bruno Haible  <bruno@clisp.org>
68014
68015         Make use of gcj-4.3's -fsource and -ftarget option.
68016         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68017         and if so try the options -fsource and -ftarget.
68018         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68019         source_version, ftarget_option, target_version arguments.
68020         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68021         (is_envjavac_oldgcj_14_14_usable): Renamed from
68022         is_envjavac_gcj_14_14_usable.
68023         (is_envjavac_oldgcj_14_13_usable): Renamed from
68024         is_envjavac_gcj_14_13_usable.
68025         (is_gcj_present): Update.
68026         (is_gcj_43, is_gcj43_usable): New functions.
68027         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68028         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68029         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68030         try the options -fsource and -ftarget.
68031
68032 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68033
68034         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68035         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68036         larger value.
68037
68038 2007-02-03  Jim Meyering  <jim@meyering.net>
68039
68040         Give tools a better chance to allocate space for very large buffers.
68041         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68042
68043         Make pwd and readlink work also when run with an unreadable parent dir
68044         on systems with openat support.
68045         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68046         provided getcwd function, even when we have openat support.
68047         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68048
68049 2007-02-02  Bruno Haible  <bruno@clisp.org>
68050
68051         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68052         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68053         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68054         portability problems if one of these functions is only used on specific
68055         platforms.
68056         Reported by Paul Eggert.
68057
68058 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68059
68060         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68061         is causing more trouble than it's curing.
68062         * lib/regex_internal.h (__mempcpy): Remove.
68063         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68064         (and make the code a tad smaller to boot).
68065         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68066
68067 2007-02-02  Jim Meyering  <jim@meyering.net>
68068
68069         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68070         section, not in the Makefile.am: one.
68071
68072 2007-02-02  Eric Blake  <ebb9@byu.net>
68073
68074         * lib/strchrnul.c: Always include config.h first.
68075
68076         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68077         gnulib strstr is not necessary here.
68078
68079 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68080
68081         * m4/socklen.m4: Fix typo.
68082
68083 2007-02-02  Eric Blake  <ebb9@byu.net>
68084
68085         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68086         * modules/netinet_in (Makefile.am): Likewise.
68087
68088 2007-02-01  Bruno Haible  <bruno@clisp.org>
68089
68090         * lib/string_.h (GL_LINK_WARNING): New macro.
68091         (strcasecmp, strstr, strcasestr): If provided by the system,
68092         conditionally define as a macro that leads to a warning instead of to
68093         an error.
68094         (strncasecmp): Conditionally define as a macro that leads to a warning.
68095
68096 2007-02-01  Karl Berry  <karl@gnu.org>
68097
68098         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68099
68100 2007-02-01  Bruno Haible  <bruno@clisp.org>
68101
68102         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68103         renamings.
68104
68105 2007-02-01  Eric Blake  <ebb9@byu.net>
68106
68107         * modules/regex (Depends-on): Revert dependence on mempcpy.
68108         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68109         module's definition of mempcpy.
68110         Reported by Paul Eggert.
68111
68112 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68113
68114         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68115         the symbol XYZ before redefining it.  This fixes a problem with
68116         programs that don't use XYZ, when compiled on systems that define
68117         XYZ to something else.
68118
68119 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68120
68121         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68122         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68123         writeable to group or other and (2) is intended to have a special
68124         mode bit that is set or cleared.  In such a case, the directory
68125         should be neither group- nor other-writeable until the special
68126         mode bits are right.
68127
68128 2007-01-31  Eric Blake  <ebb9@byu.net>
68129
68130         * modules/mountlist (Depends-on): Add strstr.
68131
68132         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68133         bug.
68134         * modules/string (Makefile.am): Remove redundant replacement.
68135         * modules/regex (Depends-on): Add mempcpy.
68136
68137 2007-01-31  Bruno Haible  <bruno@clisp.org>
68138
68139         New module description field 'Link'.
68140         * gnulib-tool (func_usage): Document --extract-link-directive.
68141         (sed_extract_prog): Recognize 'Link' directive.
68142         (func_get_link_directive): New function.
68143         (func_import): Show summary of link directives.
68144         Handle --extract-link-directive option.
68145         * modules/acl (Link): New section.
68146         * modules/clock-time (Link): New section.
68147         * modules/euidaccess (Link): New section.
68148         * modules/gettext (Link): New section.
68149         * modules/iconv (Link): New section.
68150         * modules/lock (Link): New section.
68151         * modules/nanosleep (Link): New section.
68152         * modules/readline (Link): New section.
68153
68154 2007-01-27  Bruno Haible  <bruno@clisp.org>
68155
68156         Enforce the use of gnulib modules for unportable <string.h> functions.
68157         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68158         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68159         (gl_HEADER_STRING_H_BODY): Require it.
68160         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68161         the symbol XYZ to one that gives a link error.
68162         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68163         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68164         * modules/mempcpy (configure.ac): Likewise.
68165         * modules/memrchr (configure.ac): Likewise.
68166         * modules/stpcpy (configure.ac): Likewise.
68167         * modules/stpncpy (configure.ac): Likewise.
68168         * modules/strcase (configure.ac): Likewise.
68169         * modules/strcasestr (configure.ac): Likewise.
68170         * modules/strchrnul (configure.ac): Likewise.
68171         * modules/strdup (configure.ac): Likewise.
68172         * modules/strndup (configure.ac): Likewise.
68173         * modules/strnlen (configure.ac): Likewise.
68174         * modules/strpbrk (configure.ac): Likewise.
68175         * modules/strsep (configure.ac): Likewise.
68176         * modules/strstr (configure.ac): Likewise.
68177         * modules/strtok_r (configure.ac): Likewise.
68178
68179 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68180
68181         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68182
68183 2007-01-30  Jim Meyering  <jim@meyering.net>
68184
68185         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68186
68187 2007-01-29  Bruno Haible  <bruno@clisp.org>
68188
68189         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68190         * lib/execute.c: Likewise.
68191         * lib/pipe.c: Likewise.
68192         * lib/printf-args.h: Likewise.
68193         * lib/printf-args.c: Likewise.
68194         * lib/printf-parse.c: Likewise.
68195         * lib/vasnprintf.c: Likewise.
68196
68197 2007-01-29  Eric Blake  <ebb9@byu.net>
68198
68199         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68200         declaration.
68201
68202 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68203
68204         * lib/strptime.h (strptime): Use 'restrict' for args where
68205         POSIX requires this.
68206         * lib/strptime.c (strptime): Likewise.
68207         Change license notice from LGPL to GPL, since gnulib-tool will
68208         change this as needed.
68209         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68210         defined.
68211         Include "strptime.h" first, to check interface.
68212         Do not #undef _LIBC and _NL_CURRENT.
68213         Do not include <stdlib.h>; no longer needed.
68214         Include "time_r.h" and declare ptime_locale_status
68215         only if _LIBC is not defined.
68216         (__P): Remove unused macro.
68217         (match_string): Bring back glibc version, but use it only if _LIBC
68218         is defined.
68219         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68220         Remove unnecessary assertion and abort() call.
68221         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68222         * m4/strptime.m4: Fix serial number comment.
68223         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68224         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68225         (Depends-on): Add time_r.
68226
68227 2007-01-29  Bruno Haible  <bruno@clisp.org>
68228
68229         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68230         strptime.
68231         * modules/strptime (Depends-on): Add stdbool.
68232         * lib/strptime.h: Include <time.h> always. Add comments.
68233
68234 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68235
68236         * modules/strptime: New file.
68237         * lib/strptime.h: New file.
68238         * lib/strptime.c: New file.
68239         * m4/strptime.m4: New file.
68240
68241 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68242
68243         * MODULES.html.sh: New module mpsort.
68244         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68245
68246         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68247         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68248         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68249         All uses changed.
68250         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68251         All uses changed.
68252         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68253         to _Restrict_.
68254         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68255         the parameter matches the prototype.
68256
68257 2007-01-28  Jim Meyering  <jim@meyering.net>
68258
68259         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68260         sys/time.h here, reverting that part of the previous patch:
68261         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68262
68263 2007-01-28  Bruno Haible  <bruno@clisp.org>
68264
68265         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68266         value of $(SYS_TIME_H).
68267         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68268         remove it conditionally, too. [added by Jim Meyering]
68269         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68270         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68271         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68272         GETTIMEOFDAY_REPLACEMENT to 1.
68273
68274 2007-01-28  Bruno Haible  <bruno@clisp.org>
68275
68276         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68277         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68278         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68279         Set UNISTD_H instead of UNISTD_H2.
68280         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68281
68282 2007-01-28  Bruno Haible  <bruno@clisp.org>
68283
68284         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68285         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68286
68287 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68288
68289         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68290         (func_create_testdir): Ensure C locale for `grep' and `tr'
68291         character ranges.
68292         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68293         ACLOCAL_AMFLAGS parsing state machine.
68294
68295 2007-01-27  Bruno Haible  <bruno@clisp.org>
68296
68297         * modules/unistr/base: Update.
68298
68299 2007-01-27  Bruno Haible  <bruno@clisp.org>
68300
68301         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68302         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68303         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68304         modules/unistr/u32-mbtouc.
68305         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68306         * lib/unistr.h: Update.
68307         * lib/linebreak.c: Update.
68308         * modules/unistr/u32-mbtouc: Renamed from
68309         modules/unistr/u32-mbtouc-safe.
68310         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68311         * lib/unistr.h: Update.
68312         * lib/unistr/u32-to-u8.c: Update.
68313         * lib/unistr/u32-to-u16.c: Update.
68314
68315 2007-01-27  Bruno Haible  <bruno@clisp.org>
68316
68317         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68318         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68319         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68320         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68321         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68322         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68323         modules/unistr/u16-mbtouc.
68324         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68325         * lib/unistr.h: Update.
68326         * lib/linebreak.c: Update.
68327         * modules/linebreak: Update.
68328         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68329         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68330         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68331         * modules/unistr/u16-mbtouc: Renamed from
68332         modules/unistr/u16-mbtouc-safe.
68333         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68334         * lib/unistr.h: Update.
68335         * lib/unistr/u16-to-u8.c: Update.
68336         * modules/unistr/u16-to-u8: Update.
68337         * lib/unistr/u16-to-u32.c: Update.
68338         * modules/unistr/u16-to-u32: Update.
68339
68340 2007-01-27  Bruno Haible  <bruno@clisp.org>
68341
68342         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68343         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68344         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68345         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68346         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68347         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68348         modules/unistr/u8-mbtouc.
68349         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68350         * lib/unistr.h: Update.
68351         * lib/striconveh.c: Update.
68352         * modules/striconveh: Update.
68353         * lib/linebreak.c: Update.
68354         * modules/linebreak: Update.
68355         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68356         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68357         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68358         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68359         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68360         * lib/unistr.h: Update.
68361         * lib/striconveh.c: Update.
68362         * modules/striconveh: Update.
68363         * lib/unistr/u8-to-u16.c: Update.
68364         * modules/unistr/u8-to-u16: Update.
68365         * lib/unistr/u8-to-u32.c: Update.
68366         * modules/unistr/u8-to-u32: Update.
68367
68368 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68369
68370         Sync from Libtool.
68371         * lib/argz.c: Do not include strings.h nor memory.h, include
68372         string.h unconditionally.  Patch by Simon Josefsson.
68373
68374 2007-01-27  Bruno Haible  <bruno@clisp.org>
68375
68376         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68377         from gl_HEADER_STRING_H_BODY.
68378         (gl_HEADER_STRING_H_BODY): Require it.
68379         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68380         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68381         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68382         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68383         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68384         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68385         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68386         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68387         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68388         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68389         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68390         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68391         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68392         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68393         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68394
68395 2007-01-27  Bruno Haible  <bruno@clisp.org>
68396
68397         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68398         check_PROGRAMS into noinst_PROGRAMS.
68399         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68400         check_PROGRAMS in this case.
68401         (func_import): Set for_test to false.
68402         (func_create_testdir): Set for_test to true.
68403
68404 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68405             Bruno Haible  <bruno@clisp.org>
68406
68407         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68408         (Depends-on): Add string.
68409         (Includes): Use <string.h> instead of strcasestr.h.
68410         * modules/string (Makefile.am): Also substitute the value of
68411         REPLACE_STRCASESTR.
68412         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68413         assume strcasestr is declared in <string.h> not <strings.h>. Also
68414         set REPLACE_STRCASESTR.
68415         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68416         REPLACE_STRCASESTR.
68417         * lib/strcasestr.h: Remove file.
68418         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68419         * lib/string_.h (strcasestr): New declaration.
68420
68421 2007-01-27  Bruno Haible  <bruno@clisp.org>
68422
68423         * lib/string_.h: Use 'extern'.
68424
68425 2007-01-27  Jim Meyering  <jim@meyering.net>
68426
68427         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68428         of set-but-not-used local, "q".
68429
68430         * lib/mempcpy.c: Include <config.h> before <string.h>.
68431         This fixes a compilation error on HP-UX, due to the system's
68432         "restrict"-using mempcpy prototype.
68433
68434 2007-01-26  Bruno Haible  <bruno@clisp.org>
68435
68436         Small optimization.
68437         * lib/javacomp.c: Include c-strstr.h.
68438          (is_envjavac_gcj): Use c_strstr instead of strstr.
68439         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68440
68441 2007-01-26  Bruno Haible  <bruno@clisp.org>
68442
68443         * MODULES.html.sh (Unicode string functions): Add the new modules.
68444
68445         * modules/uniconv/u32-strconv-to-locale: New file.
68446         * lib/uniconv/u32-strconv-to-locale.c: New file.
68447
68448         * modules/uniconv/u16-strconv-to-locale: New file.
68449         * lib/uniconv/u16-strconv-to-locale.c: New file.
68450
68451         * modules/uniconv/u8-strconv-to-locale: New file.
68452         * lib/uniconv/u8-strconv-to-locale.c: New file.
68453
68454         * modules/uniconv/u32-strconv-from-locale: New file.
68455         * lib/uniconv/u32-strconv-from-locale.c: New file.
68456
68457         * modules/uniconv/u16-strconv-from-locale: New file.
68458         * lib/uniconv/u16-strconv-from-locale.c: New file.
68459
68460         * modules/uniconv/u8-strconv-from-locale: New file.
68461         * lib/uniconv/u8-strconv-from-locale.c: New file.
68462
68463         * modules/uniconv/u32-strconv-to-enc: New file.
68464         * lib/uniconv/u32-strconv-to-enc.c: New file.
68465         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68466         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68467
68468         * modules/uniconv/u16-strconv-to-enc: New file.
68469         * lib/uniconv/u16-strconv-to-enc.c: New file.
68470         * lib/uniconv/u-strconv-to-enc.h: New file.
68471         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68472         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68473
68474         * modules/uniconv/u8-strconv-to-enc: New file.
68475         * lib/uniconv/u8-strconv-to-enc.c: New file.
68476         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68477         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68478
68479         * modules/uniconv/u32-strconv-from-enc: New file.
68480         * lib/uniconv/u32-strconv-from-enc.c: New file.
68481         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68482         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68483
68484         * modules/uniconv/u16-strconv-from-enc: New file.
68485         * lib/uniconv/u16-strconv-from-enc.c: New file.
68486         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68487         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68488
68489         * modules/uniconv/u8-strconv-from-enc: New file.
68490         * lib/uniconv/u8-strconv-from-enc.c: New file.
68491         * lib/uniconv/u-strconv-from-enc.h: New file.
68492         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68493         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68494
68495         * modules/uniconv/u32-conv-from-enc: New file.
68496         * lib/uniconv/u32-conv-from-enc.c: New file.
68497         * modules/uniconv/u32-conv-from-enc-tests: New file.
68498         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68499
68500         * modules/uniconv/u16-conv-from-enc: New file.
68501         * lib/uniconv/u16-conv-from-enc.c: New file.
68502         * lib/uniconv/u-conv-from-enc.h: New file.
68503         * modules/uniconv/u16-conv-from-enc-tests: New file.
68504         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68505
68506         * modules/uniconv/u8-conv-from-enc: New file.
68507         * lib/uniconv/u8-conv-from-enc.c: New file.
68508         * modules/uniconv/u8-conv-from-enc-tests: New file.
68509         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68510
68511         * modules/uniconv/base: New file.
68512         * lib/uniconv.h: New file.
68513
68514 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68515
68516         * doc/gnulib-tool.texi (Initial import): Update to match current
68517         behavior with strdup module.
68518         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68519         * lib/memmem.h: Remove; all uses removed.  This is now done
68520         by <string.h>.
68521         * lib/mempcpy.h: Likewise.
68522         * lib/memrchr.h: Likewise.
68523         * lib/stpcpy.h: Likewise.
68524         * lib/stpncpy.h: Likewise.
68525         * lib/strcase.h: Likewise.
68526         * lib/strchrnul.h: Likewise.
68527         * lib/strdup.h: Likewise.
68528         * lib/strndup.h: Likewise.
68529         * lib/strnlen.h: Likewise.
68530         * lib/strpbrk.h: Likewise.
68531         * lib/strsep.h: Likewise.
68532         * lib/strstr.h: Likewise.
68533         * lib/strtok_r.h: Likewise.
68534         * lib/string_.h: New file.
68535         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68536         Rely on <string.h> instead.
68537         * lib/canon-host.c: Likewise.
68538         * lib/chdir-long.c: Likewise.
68539         * lib/concatpath.c: Likewise.
68540         * lib/exclude.c: Likewise.
68541         * lib/fchdir.c: Likewise.
68542         * lib/getaddrinfo.c: Likewise.
68543         * lib/getcwd.c: Likewise.
68544         * lib/getsubopt.c: Likewise.
68545         * lib/glob.c: Likewise.
68546         * lib/hard-locale.c: Likewise.
68547         * lib/iconvme.c: Likewise.
68548         * lib/javacomp.c: Likewise.
68549         * lib/mempcpy.c: Likewise.
68550         * lib/memrchr.c: Likewise.
68551         * lib/regex_internal.h: Likewise.
68552         * lib/stpncpy.c: Likewise.
68553         * lib/strcasecmp.c: Likewise.
68554         * lib/strchrnul.c: Likewise.
68555         * lib/strdup.c: Likewise.
68556         * lib/striconv.c: Likewise.
68557         * lib/striconveh.c: Likewise.
68558         * lib/striconveha.c: Likewise.
68559         * lib/strncasecmp.c: Likewise.
68560         * lib/strndup.c: Likewise.
68561         * lib/strnlen.c: Likewise.
68562         * lib/strsep.c: Likewise.
68563         * lib/strstr.c: Likewise.
68564         * lib/strtok_r.c: Likewise.
68565         * lib/userspec.c: Likewise.
68566         * lib/w32spawn.h: Likewise.
68567         * lib/xstrndup.c: Likewise.
68568         * lib/mountlist.c (strstr): Remove decl.
68569         * m4/string_h.m4: New file.
68570         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68571         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68572         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68573         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68574         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68575         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68576         Set REPLACE_STRCASECMP if necessary.
68577         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68578         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68579         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68580         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68581         HAVE_DECL_STRDUP if necessary.
68582         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68583         since gl_FUNC_STRNDUP does that now.
68584         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68585         Check for decl here...
68586         (gl_PREREQ_STRNLEN): ... not here.
68587         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68588         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68589         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68590         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68591         necessary.
68592         * modules/string: New file.
68593         * modules/memmem (Files): Remove special-purpose include file.
68594         (Depends-on): Add string.
68595         (Include): Include <string.h>, not the removed file.
68596         * modules/mempcpy: Likewise.
68597         * modules/memrchr: Likewise.
68598         * modules/stpcpy: Likewise.
68599         * modules/stpncpy: Likewise.
68600         * modules/strcase: Likewise.
68601         * modules/strchrnul: Likewise.
68602         * modules/strdup: Likewise.
68603         * modules/strndup: Likewise.
68604         * modules/strnlen: Likewise.
68605         * modules/strpbrk: Likewise.
68606         * modules/strsep: Likewise.
68607         * modules/strstr: Likewise.
68608         * modules/strtok_r: Likewise.
68609         * tests/test-dirname.c: Don't include "strdup.h", since
68610         <string.h> now suffices.
68611         * tests/test-memmem.c: Don't include "memmem.h", since
68612         <string.h> now suffices.
68613
68614 2007-01-25  Bruno Haible  <bruno@clisp.org>
68615
68616         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68617         *resultp is 0.
68618
68619         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68620         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68621         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68622         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68623
68624         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68625         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68626         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68627         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68628         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68629         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68630
68631 2007-01-24  Bruno Haible  <bruno@clisp.org>
68632
68633         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68634         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68635         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68636         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68637         gl_FUNC_FTS_CORE.
68638         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68639         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68640         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68641         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68642         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68643         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68644         gl_FUNC_FCHOWNAT.
68645         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68646         gl_FUNC_STRFTIME.
68647         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68648         Reported by Ralf Wildenhues.
68649
68650 2007-01-24  Bruno Haible  <bruno@clisp.org>
68651
68652         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68653         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68654         gl_GETADDRINFO.
68655         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68656         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68657         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68658
68659 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68662         Don't use 'exit'; just return from 'main'.
68663         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68664
68665         * lib/fnmatch_.h: Readjust white space and comments to match
68666         glibc, to avoid spurious diffs.
68667
68668 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68669
68670         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68671         2004-12-01 change by Jakub Jelinek, since this code won't compile
68672         if !LIBC.  Problem reported by Bob Proulx.
68673
68674 2007-01-23  Bruno Haible  <bruno@clisp.org>
68675
68676         * lib/striconveh.c: Include c-strcaseeq.h.
68677         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68678         * modules/striconveh (Depends-on): Add c-strcaseeq.
68679
68680 2007-01-23  Bruno Haible  <bruno@clisp.org>
68681
68682         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68683
68684         * modules/c-strcaseeq: New file.
68685         * lib/c-strcaseeq.h: New file.
68686
68687         * modules/streq: New file.
68688         * lib/streq.h: New file.
68689
68690 2007-01-23  Bruno Haible  <bruno@clisp.org>
68691
68692         * modules/striconveha-tests: New file.
68693         * tests/test-striconveha.c: New file.
68694
68695         * lib/striconveha.h: Include <stdbool.h>.
68696         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68697         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68698         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68699         (mem_iconveha): New function.
68700         (str_iconveha_notranslit): Renamed from str_iconveha.
68701         (str_iconveha): New function.
68702         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68703         c-strcase.
68704
68705 2007-01-23  Bruno Haible  <bruno@clisp.org>
68706
68707         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68708         encodings without forgiving before trying any encoding with handler.
68709         (str_iconveha): Try all encodings without forgiving before trying any
68710         encoding with handler.
68711
68712 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68713
68714         Import the following changes from libc.
68715
68716         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68717
68718         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68719
68720         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68721
68722         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68723         normal_bracket label.
68724
68725         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68726
68727         [BZ #361]
68728         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68729         to normal_bracket after fetching the next character.
68730
68731 2007-01-22  Bruno Haible  <bruno@clisp.org>
68732
68733         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68734         argument.
68735         * lib/striconveh.c (iconv_carefully_1): New function.
68736         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68737         argument.
68738         (str_cd_iconveh): Update.
68739         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68740         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68741         * tests/test-striconveh.c (MAGIC): New macro.
68742         (new_offsets): New function.
68743         (main): Test call with and without offsets.
68744
68745 2007-01-22  Bruno Haible  <bruno@clisp.org>
68746
68747         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68748         * modules/sys_select (Makefile.am): Likewise.
68749         * modules/sys_socket (Makefile.am): Likewise.
68750         * modules/sys_time (Makefile.am): Likewise.
68751
68752 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68753
68754         * modules/gettimeofday (License): Change from GPL to LGPL, since
68755         gettimeofday is a library function.
68756
68757 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68758
68759         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68760
68761 2007-01-21  Bruno Haible  <bruno@clisp.org>
68762
68763         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68764
68765 2007-01-21  Bruno Haible  <bruno@clisp.org>
68766
68767         * modules/striconveha: New file.
68768         * lib/striconveha.h: New file.
68769         * lib/striconveha.c: New file.
68770         * MODULES.html.sh (Internationalization functions): Add striconveha.
68771         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68772         string.
68773         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68774
68775 2007-01-21  Bruno Haible  <bruno@clisp.org>
68776
68777         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68778         * lib/striconveh.c (str_iconveh): Likewise.
68779
68780 2007-01-21  Bruno Haible  <bruno@clisp.org>
68781
68782         * lib/striconveh.h (mem_iconveh): New declaration.
68783         * lib/striconveh.c (mem_iconveh): New function.
68784         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68785
68786 2007-01-21  Bruno Haible  <bruno@clisp.org>
68787
68788         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68789
68790         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68791         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68792         original result buffer.
68793         (str_cd_iconveh): Update.
68794         * tests/test-striconveh.c (main): Update.
68795
68796         * lib/striconv.h (mem_cd_iconv): Change specification.
68797         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68798         result buffer.
68799         (str_cd_iconv): Update.
68800         * tests/test-striconv.c (main): Update.
68801
68802 2007-01-21  Bruno Haible  <bruno@clisp.org>
68803
68804         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68805
68806 2007-01-20  Jim Meyering  <jim@meyering.net>
68807
68808         * lib/userspec.c (parse_with_separator): If a user or group string
68809         starts with "+", skip the corresponding name-to-ID look-up, since
68810         such a look-up must fail: user and group names may not include "+".
68811
68812 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68813
68814         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68815         since we now assume the sys_time module.
68816         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68817         check for sys/time.h; no longer needed.
68818         * modules/poll (Depends-on): Depend on sys_time.
68819
68820 2007-01-18  Bruno Haible  <bruno@clisp.org>
68821
68822         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68823         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68824
68825         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68826         gettimeofday.
68827
68828         * tests/test-gettimeofday.c: Include <time.h>.
68829         (dummy): Remove variable.
68830
68831         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68832         gl_HEADER_SYS_TIME_H.
68833         (gl_HEADER_SYS_TIME_H): New macro.
68834
68835         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68836         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68837         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68838         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68839         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68840         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68841         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68842         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68843         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68844         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68845         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68846
68847         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68848         last change; it caused a compilation error when cross-compiling to
68849         Cygwin.
68850
68851 2007-01-18  Jim Meyering  <jim@meyering.net>
68852
68853         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68854         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68855         than the race-prone "test -d sys || mkdir sys".
68856         (configure.ac): Use AC_PROG_MKDIR_P.
68857         * modules/sys_select: Likewise.
68858         * modules/sys_socket: Likewise.
68859         * modules/sys_time: Likewise.
68860
68861 2007-01-18  Eric Blake  <ebb9@byu.net>
68862
68863         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68864         replace gettimeofday.
68865         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68866         name, to avoid infinite recursion.
68867
68868 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68869
68870         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68871         module sys_time.
68872         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68873         assume timespec.h defines struct timeval.
68874         * lib/settime.c: Likewise.
68875         * lib/utimens.c: Likewise.
68876         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68877         since we now assume the gettimeofday module.
68878         * lib/tempname.c (__gen_tempname): Likewise.
68879         * lib/gettimeofday.h: Remove.
68880         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68881         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68882         Include <time.h>, for 'time()'.
68883         (localtime_buffer_addr): Also use this workaround if
68884         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68885         to simplify the uses.  All uses changed.
68886         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68887         that #undef is inside {}, and 'const' follows type name consistently.
68888         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68889         (gettimeofday): Do not use the maximum possible value for
68890         tv->tv_usec, since that might break usages other than ls.c.
68891         Instead, we'll leave ls.c alone.  This undoes today's patch
68892         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68893         we've never observed the problem but might as well keep the
68894         canary.
68895         * lib/nanosleep.c: Include timespec.h first, for interface check.
68896         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68897         now assume the sys_time module.
68898         * lib/tempname.c: Likewise.
68899         * lib/timespec.h: Likewise.
68900         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68901         needed.
68902         * lib/strftime.c: Likewise.
68903         * lib/timespec.h: Likewise.
68904         * lib/posixtm.c: Include posixtm.h first, for interface check.
68905         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68906         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68907         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68908         * lib/sys_time_.h: New file.
68909         * lib/timespec.h (struct timespec): Use long int, not long.
68910         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68911         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68912         Remove obsolescent call to AC_HEADER_TIME.
68913         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68914         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68915         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68916         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68917         Likewise.
68918         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68919         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68920         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68921         into the sys_time module.  Check for gettimeofday just once.
68922         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68923         for gettimeofday signature to just check the signature.  Merely
68924         compile it, since linking doesn't test signature.  Improve test for
68925         whether gettimeofday.o is actually needed.
68926         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68927         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68928         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68929         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68930         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68931         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68932         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68933         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68934         than worrying about sys/time.h.
68935         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68936         Don't bother worrying about TIME_WITH_SYS_TIME.
68937         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68938         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68939         * m4/sys_time_h.m4: New file.
68940         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68941         Don't include sys/time.h.  Return from main rather than exiting.
68942         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68943         all uses changed.
68944         * modules/gethrxtime (Depends-on): Add sys_time.
68945         * modules/gettime (Depends-on): Likewise.
68946         * modules/gettimeofday (Depends-on): Likewise.
68947         * modules/nanosleep (Depends-on): Likewise.
68948         * modules/settime (Depends-on): Likewise.
68949         * modules/tempname (Depends-on): Likewise.
68950         * modules/utimens (Depends-on): Likewise.
68951         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68952         (Include): Change back to <sys/time.h>.
68953         (Maintainer): Add self.
68954         * modules/sys_time: New file.
68955         * modules/tempname (Depends-on): Add gettimeofday.
68956         * tests/test-gettimeofday.c: Include <sys/time.h>
68957         rather than gettimeofday.h.
68958
68959 2007-01-17  Bruno Haible  <bruno@clisp.org>
68960
68961         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68962         the license default to GPL.
68963         (func_create_testdir): Don't complain if a module is LGPL and its
68964         tests module depends on GPLed modules.
68965
68966 2007-01-17  Bruno Haible  <bruno@clisp.org>
68967
68968         * lib/gettimeofday.c (gettimeofday): Add code for the case
68969         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68970         maximum possible value for tv->tv_usec, rather than the minimum one.
68971
68972 2005-10-08  Martin Lambers  <marlam@marlam.de>
68973 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68974 2007-01-16  Bruno Haible  <bruno@clisp.org>
68975
68976         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68977         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68978         gl_FUNC_GETTIMEOFDAY.
68979         (Include): Add gettimeofday.h.
68980         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68981         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68982         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68983         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68984         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68985         * lib/gettimeofday.h: New file.
68986         * lib/gettimeofday.c: Include <sys/timeb.h>.
68987         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68988         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68989         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68990         fall back on time().
68991
68992         * tests/test-gettimeofday.c: New file.
68993         * modules/gettimeofday-tests: New file.
68994
68995 2007-01-16  Eric Blake  <ebb9@byu.net>
68996
68997         * modules/fnmatch (Depends-on): Depend on wchar.
68998         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68999         * m4/fnmatch.m4: Likewise.
69000         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69001         * m4/mbchar.m4: Likewise.
69002         * modules/mbswidth (Depends-on): Depend on wchar.
69003         * lib/mbswidth.c: Assume <wchar.h>.
69004         * m4/mbswidth.m4: Likewise.
69005         * modules/quotearg (Depends-on): Depend on wchar.
69006         * lib/quotearg.c: Assume <wchar.h>.
69007         * m4/quotearg.m4: Likewise.
69008         * modules/regex (Depends-on): Depend on wchar.
69009         * lib/regex_internal.h: Assume <wchar.h>.
69010         * m4/regex.m4: Likewise.
69011         * modules/stdint (Depends-on): Depend on wchar.
69012         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69013         * m4/stdint.m4: Likewise.
69014         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69015         * modules/strftime (Depends-on): Depend on wchar.
69016         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69017         * modules/strtol (Depends-on): Depend on wchar.
69018         * lib/strtol.c: Assume <wchar.h>.
69019         * modules/wcwidth (Depends-on): Depend on wchar.
69020         * lib/wcwidth.h: Assume <wchar.h>.
69021         * m4/wcwidth.m4: Likewise.
69022
69023 2007-01-16  Bruno Haible  <bruno@clisp.org>
69024
69025         * modules/csharpexec-script: New, created from...
69026         * modules/csharpexec: ... this.
69027
69028 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69029
69030         * modules/javaexec-script: New, created from...
69031         * modules/javaexec: ... this.
69032
69033 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69034
69035         * modules/poll (Dependencies): Add sys_select.
69036
69037 2007-01-15  Jim Meyering  <jim@meyering.net>
69038
69039         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69040         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69041         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69042         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69043
69044 2007-01-15  Bruno Haible  <bruno@clisp.org>
69045
69046         * modules/striconveh: New file.
69047         * lib/striconveh.h: New file.
69048         * lib/striconveh.c: New file.
69049         * MODULES.html.sh (Internationalization functions): Add striconveh.
69050
69051         * modules/striconveh-tests: New file.
69052         * tests/test-striconveh.c: New file.
69053
69054 2007-01-15  Bruno Haible  <bruno@clisp.org>
69055
69056         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69057         not from GNU libiconv or GNU libc.
69058
69059 2007-01-15  Bruno Haible  <bruno@clisp.org>
69060
69061         * doc/gnulib-intro.texi (Copyright): Explain the different license
69062         terms for module descriptions, autoconf macros, tests, documentation.
69063
69064 2007-01-14  Bruno Haible  <bruno@clisp.org>
69065
69066         * modules/striconv-tests: New file.
69067         * tests/test-striconv.c: New file.
69068
69069 2007-01-14  Bruno Haible  <bruno@clisp.org>
69070
69071         * modules/iconv-tests: New file.
69072         * tests/test-iconv.c: New file.
69073
69074 2007-01-14  Bruno Haible  <bruno@clisp.org>
69075
69076         * gnulib-tool (func_get_license): For test modules, use the license of
69077         the main module.
69078
69079 2007-01-14  Bruno Haible  <bruno@clisp.org>
69080
69081         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69082         if iconv is found to exist.
69083
69084 2007-01-14  Bruno Haible  <bruno@clisp.org>
69085
69086         * modules/c-ctype-tests: New file.
69087         * tests/test-c-ctype.c: New file.
69088
69089 2007-01-14  Bruno Haible  <bruno@clisp.org>
69090
69091         * modules/binary-io-tests: New file.
69092         * tests/test-binary-io.sh: New file.
69093         * tests/test-binary-io.c: New file.
69094
69095 2007-01-14  Bruno Haible  <bruno@clisp.org>
69096
69097         * modules/array-oset-tests: New file.
69098         * tests/test-array_oset.c: New file.
69099
69100 2007-01-14  Bruno Haible  <bruno@clisp.org>
69101
69102         * modules/array-list-tests: New file.
69103         * tests/test-array_list.c: New file.
69104
69105 2007-01-14  Bruno Haible  <bruno@clisp.org>
69106
69107         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69108         and make.
69109         Reported by Simon Josefsson in
69110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69111
69112 2007-01-14  Bruno Haible  <bruno@clisp.org>
69113
69114         * modules/allocsa-tests: New file.
69115         * tests/test-allocsa.c: New file.
69116
69117 2007-01-14  Bruno Haible  <bruno@clisp.org>
69118
69119         * modules/fchdir (Depends-on): Add absolute-header.
69120         * modules/unistd (Depends-on): Likewise.
69121
69122 2006-12-30  Bruno Haible  <bruno@clisp.org>
69123
69124         * modules/fchdir: New file.
69125         * modules/unistd (Files): Add lib/unistd_.h.
69126         (Makefile.am): Generate unistd.h from unistd_.h.
69127         * lib/fchdir.c: New file.
69128         * lib/dirent_.h: New file.
69129         * lib/unistd_.h: New file.
69130         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69131         * m4/fchdir.m4: New file.
69132         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69133         (gl_HEADER_UNISTD): Invoke it.
69134         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69135         function.
69136         * lib/backupfile.c (opendir, closedir): Undefine.
69137         * lib/chown.c (open, close): Undefine.
69138         * lib/clean-temp.c (open, close): Undefine.
69139         * lib/copy-file.c (open, close): Undefine.
69140         * lib/execute.c (open, close): Undefine.
69141         * lib/fsusage.c (open, close): Undefine.
69142         * lib/gc-gnulib.c (open, close): Undefine.
69143         * lib/getcwd.c (opendir, closedir): Undefine.
69144         * lib/glob.c (opendir, closedir): Undefine.
69145         * lib/javacomp.c (open, close): Undefine.
69146         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69147         * lib/openat-proc.c (open, close): Undefine.
69148         * lib/pagealign_alloc.c (open, close): Undefine.
69149         * lib/pipe.c (open, close): Undefine.
69150         * lib/progreloc.c (open, close): Undefine.
69151         * lib/savedir.c (opendir, closedir): Undefine.
69152         * lib/utime.c (open, close): Undefine.
69153         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69154
69155 2007-01-10  Bruno Haible  <bruno@clisp.org>
69156
69157         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69158
69159 2007-01-12  Eric Blake  <ebb9@byu.net>
69160
69161         Provide a robust <wchar.h>.  Further simplifications are now
69162         possible in other modules, but not included here.
69163         * modules/wchar: New module.
69164         * m4/wchar.m4: New file.
69165         * lib/wchar_.h: Likewise.
69166         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69167         of the new module.
69168         * MODULES.html.sh (Extended multibyte and wide character utilities):
69169         New section.
69170
69171 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69172
69173         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69174         to a reasonable default for memory allocation.
69175         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69176         file system that reports garbage st_size values for symlinks.
69177         Problem reported by Liyang Hu.
69178
69179 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69180
69181         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69182         Emacs .#* auto-save files).
69183
69184 2007-01-11  Bruno Haible  <bruno@clisp.org>
69185
69186         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69187         directory.
69188
69189 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69190
69191         Use @...@ consistently in lib/wctype_.h.
69192         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69193         on it being set to 1 or 0.
69194         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69195         go back to AC_SUBSTing it.
69196         * modules/wctype (Makefile.am): Undo previous change.
69197
69198 2007-01-10  Eric Blake  <ebb9@byu.net>
69199
69200         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69201         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69202         * modules/wctype (Makefile.am): Likewise.
69203         Reported by Chris McGuire.
69204
69205 2007-01-10  Jim Meyering  <jim@meyering.net>
69206
69207         fts.c: a small readability/maintainability improvement
69208         * lib/fts.c (fts_read): Make this code slightly more readable and
69209         maintainable by hoisting the "sp->fts_cur = p" assignments to
69210         immediately follow the statements that set P.  Derived from
69211         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69212
69213 2007-01-10  Eric Blake  <ebb9@byu.net>
69214
69215         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69216         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69218         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69219         Reported by Chris McGuire.
69220
69221 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69222
69223         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69224         in sed script.
69225
69226 2007-01-09  Bruno Haible  <bruno@clisp.org>
69227
69228         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69229         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69230         variables.
69231         (func_module): Use them.
69232
69233 2007-01-09  Bruno Haible  <bruno@clisp.org>
69234
69235         * modules/unistr/base: New file.
69236         * lib/unistr.h: New file.
69237
69238         * modules/unistr/u8-to-u16: New file.
69239         * lib/unistr/u8-to-u16.c: New file.
69240
69241         * modules/unistr/u8-to-u32: New file.
69242         * lib/unistr/u8-to-u32.c: New file.
69243
69244         * modules/unistr/u16-to-u8: New file.
69245         * lib/unistr/u16-to-u8.c: New file.
69246
69247         * modules/unistr/u16-to-u32: New file.
69248         * lib/unistr/u16-to-u32.c: New file.
69249
69250         * modules/unistr/u32-to-u8: New file.
69251         * lib/unistr/u32-to-u8.c: New file.
69252
69253         * modules/unistr/u32-to-u16: New file.
69254         * lib/unistr/u32-to-u16.c: New file.
69255
69256         * modules/unistr/u8-check: New file.
69257         * modules/unistr/u16-check: New file.
69258         * modules/unistr/u32-check: New file.
69259         * lib/unistr/u8-check.c: New file.
69260         * lib/unistr/u16-check.c: New file.
69261         * lib/unistr/u32-check.c: New file.
69262
69263         * modules/unistr/u8-chr: New file.
69264         * modules/unistr/u16-chr: New file.
69265         * modules/unistr/u32-chr: New file.
69266         * lib/unistr/u8-chr.c: New file.
69267         * lib/unistr/u16-chr.c: New file.
69268         * lib/unistr/u32-chr.c: New file.
69269
69270         * modules/unistr/u8-cmp: New file.
69271         * modules/unistr/u16-cmp: New file.
69272         * modules/unistr/u32-cmp: New file.
69273         * lib/unistr/u8-cmp.c: New file.
69274         * lib/unistr/u16-cmp.c: New file.
69275         * lib/unistr/u32-cmp.c: New file.
69276
69277         * modules/unistr/u8-cpy: New file.
69278         * modules/unistr/u16-cpy: New file.
69279         * modules/unistr/u32-cpy: New file.
69280         * lib/unistr/u8-cpy.c: New file.
69281         * lib/unistr/u16-cpy.c: New file.
69282         * lib/unistr/u32-cpy.c: New file.
69283         * lib/unistr/u-cpy.h: New file.
69284
69285         * modules/unistr/u8-cpy-alloc: New file.
69286         * modules/unistr/u16-cpy-alloc: New file.
69287         * modules/unistr/u32-cpy-alloc: New file.
69288         * lib/unistr/u8-cpy-alloc.c: New file.
69289         * lib/unistr/u16-cpy-alloc.c: New file.
69290         * lib/unistr/u32-cpy-alloc.c: New file.
69291         * lib/unistr/u-cpy-alloc.h: New file.
69292
69293         * modules/unistr/u8-endswith: New file.
69294         * modules/unistr/u16-endswith: New file.
69295         * modules/unistr/u32-endswith: New file.
69296         * lib/unistr/u8-endswith.c: New file.
69297         * lib/unistr/u16-endswith.c: New file.
69298         * lib/unistr/u32-endswith.c: New file.
69299         * lib/unistr/u-endswith.h: New file.
69300
69301         * modules/unistr/u8-mblen: New file.
69302         * modules/unistr/u16-mblen: New file.
69303         * modules/unistr/u32-mblen: New file.
69304         * lib/unistr/u8-mblen.c: New file.
69305         * lib/unistr/u16-mblen.c: New file.
69306         * lib/unistr/u32-mblen.c: New file.
69307
69308         * modules/unistr/u8-mbtouc: New file.
69309         * modules/unistr/u16-mbtouc: New file.
69310         * modules/unistr/u32-mbtouc: New file.
69311         * lib/unistr/u8-mbtouc.c: New file.
69312         * lib/unistr/u16-mbtouc.c: New file.
69313         * lib/unistr/u32-mbtouc.c: New file.
69314
69315         * modules/unistr/u8-mbtouc-safe: New file.
69316         * modules/unistr/u16-mbtouc-safe: New file.
69317         * modules/unistr/u32-mbtouc-safe: New file.
69318         * lib/unistr/u8-mbtouc-safe.c: New file.
69319         * lib/unistr/u16-mbtouc-safe.c: New file.
69320         * lib/unistr/u32-mbtouc-safe.c: New file.
69321
69322         * modules/unistr/u8-move: New file.
69323         * modules/unistr/u16-move: New file.
69324         * modules/unistr/u32-move: New file.
69325         * lib/unistr/u8-move.c: New file.
69326         * lib/unistr/u16-move.c: New file.
69327         * lib/unistr/u32-move.c: New file.
69328         * lib/unistr/u-move.h: New file.
69329
69330         * modules/unistr/u8-next: New file.
69331         * modules/unistr/u16-next: New file.
69332         * modules/unistr/u32-next: New file.
69333         * lib/unistr/u8-next.c: New file.
69334         * lib/unistr/u16-next.c: New file.
69335         * lib/unistr/u32-next.c: New file.
69336
69337         * modules/unistr/u8-prev: New file.
69338         * modules/unistr/u16-prev: New file.
69339         * modules/unistr/u32-prev: New file.
69340         * lib/unistr/u8-prev.c: New file.
69341         * lib/unistr/u16-prev.c: New file.
69342         * lib/unistr/u32-prev.c: New file.
69343
69344         * modules/unistr/u8-set: New file.
69345         * modules/unistr/u16-set: New file.
69346         * modules/unistr/u32-set: New file.
69347         * lib/unistr/u8-set.c: New file.
69348         * lib/unistr/u16-set.c: New file.
69349         * lib/unistr/u32-set.c: New file.
69350         * lib/unistr/u-set.h: New file.
69351
69352         * modules/unistr/u8-startswith: New file.
69353         * modules/unistr/u16-startswith: New file.
69354         * modules/unistr/u32-startswith: New file.
69355         * lib/unistr/u8-startswith.c: New file.
69356         * lib/unistr/u16-startswith.c: New file.
69357         * lib/unistr/u32-startswith.c: New file.
69358         * lib/unistr/u-startswith.h: New file.
69359
69360         * modules/unistr/u8-stpcpy: New file.
69361         * modules/unistr/u16-stpcpy: New file.
69362         * modules/unistr/u32-stpcpy: New file.
69363         * lib/unistr/u8-stpcpy.c: New file.
69364         * lib/unistr/u16-stpcpy.c: New file.
69365         * lib/unistr/u32-stpcpy.c: New file.
69366         * lib/unistr/u-stpcpy.h: New file.
69367
69368         * modules/unistr/u8-stpncpy: New file.
69369         * modules/unistr/u16-stpncpy: New file.
69370         * modules/unistr/u32-stpncpy: New file.
69371         * lib/unistr/u8-stpncpy.c: New file.
69372         * lib/unistr/u16-stpncpy.c: New file.
69373         * lib/unistr/u32-stpncpy.c: New file.
69374         * lib/unistr/u-stpncpy.h: New file.
69375
69376         * modules/unistr/u8-strcat: New file.
69377         * modules/unistr/u16-strcat: New file.
69378         * modules/unistr/u32-strcat: New file.
69379         * lib/unistr/u8-strcat.c: New file.
69380         * lib/unistr/u16-strcat.c: New file.
69381         * lib/unistr/u32-strcat.c: New file.
69382         * lib/unistr/u-strcat.h: New file.
69383
69384         * modules/unistr/u8-strchr: New file.
69385         * modules/unistr/u16-strchr: New file.
69386         * modules/unistr/u32-strchr: New file.
69387         * lib/unistr/u8-strchr.c: New file.
69388         * lib/unistr/u16-strchr.c: New file.
69389         * lib/unistr/u32-strchr.c: New file.
69390
69391         * modules/unistr/u8-strcmp: New file.
69392         * modules/unistr/u16-strcmp: New file.
69393         * modules/unistr/u32-strcmp: New file.
69394         * lib/unistr/u8-strcmp.c: New file.
69395         * lib/unistr/u16-strcmp.c: New file.
69396         * lib/unistr/u32-strcmp.c: New file.
69397
69398         * modules/unistr/u8-strcpy: New file.
69399         * modules/unistr/u16-strcpy: New file.
69400         * modules/unistr/u32-strcpy: New file.
69401         * lib/unistr/u8-strcpy.c: New file.
69402         * lib/unistr/u16-strcpy.c: New file.
69403         * lib/unistr/u32-strcpy.c: New file.
69404         * lib/unistr/u-strcpy.h: New file.
69405
69406         * modules/unistr/u8-strcspn: New file.
69407         * modules/unistr/u16-strcspn: New file.
69408         * modules/unistr/u32-strcspn: New file.
69409         * lib/unistr/u8-strcspn.c: New file.
69410         * lib/unistr/u16-strcspn.c: New file.
69411         * lib/unistr/u32-strcspn.c: New file.
69412         * lib/unistr/u-strcspn.h: New file.
69413
69414         * modules/unistr/u8-strdup: New file.
69415         * modules/unistr/u16-strdup: New file.
69416         * modules/unistr/u32-strdup: New file.
69417         * lib/unistr/u8-strdup.c: New file.
69418         * lib/unistr/u16-strdup.c: New file.
69419         * lib/unistr/u32-strdup.c: New file.
69420         * lib/unistr/u-strdup.h: New file.
69421
69422         * modules/unistr/u8-strlen: New file.
69423         * modules/unistr/u16-strlen: New file.
69424         * modules/unistr/u32-strlen: New file.
69425         * lib/unistr/u8-strlen.c: New file.
69426         * lib/unistr/u16-strlen.c: New file.
69427         * lib/unistr/u32-strlen.c: New file.
69428         * lib/unistr/u-strlen.h: New file.
69429
69430         * modules/unistr/u8-strmblen: New file.
69431         * modules/unistr/u16-strmblen: New file.
69432         * modules/unistr/u32-strmblen: New file.
69433         * lib/unistr/u8-strmblen.c: New file.
69434         * lib/unistr/u16-strmblen.c: New file.
69435         * lib/unistr/u32-strmblen.c: New file.
69436
69437         * modules/unistr/u8-strmbtouc: New file.
69438         * modules/unistr/u16-strmbtouc: New file.
69439         * modules/unistr/u32-strmbtouc: New file.
69440         * lib/unistr/u8-strmbtouc.c: New file.
69441         * lib/unistr/u16-strmbtouc.c: New file.
69442         * lib/unistr/u32-strmbtouc.c: New file.
69443
69444         * modules/unistr/u8-strncat: New file.
69445         * modules/unistr/u16-strncat: New file.
69446         * modules/unistr/u32-strncat: New file.
69447         * lib/unistr/u8-strncat.c: New file.
69448         * lib/unistr/u16-strncat.c: New file.
69449         * lib/unistr/u32-strncat.c: New file.
69450         * lib/unistr/u-strncat.h: New file.
69451
69452         * modules/unistr/u8-strncmp: New file.
69453         * modules/unistr/u16-strncmp: New file.
69454         * modules/unistr/u32-strncmp: New file.
69455         * lib/unistr/u8-strncmp.c: New file.
69456         * lib/unistr/u16-strncmp.c: New file.
69457         * lib/unistr/u32-strncmp.c: New file.
69458
69459         * modules/unistr/u8-strncpy: New file.
69460         * modules/unistr/u16-strncpy: New file.
69461         * modules/unistr/u32-strncpy: New file.
69462         * lib/unistr/u8-strncpy.c: New file.
69463         * lib/unistr/u16-strncpy.c: New file.
69464         * lib/unistr/u32-strncpy.c: New file.
69465         * lib/unistr/u-strncpy.h: New file.
69466
69467         * modules/unistr/u8-strnlen: New file.
69468         * modules/unistr/u16-strnlen: New file.
69469         * modules/unistr/u32-strnlen: New file.
69470         * lib/unistr/u8-strnlen.c: New file.
69471         * lib/unistr/u16-strnlen.c: New file.
69472         * lib/unistr/u32-strnlen.c: New file.
69473         * lib/unistr/u-strnlen.h: New file.
69474
69475         * modules/unistr/u8-strpbrk: New file.
69476         * modules/unistr/u16-strpbrk: New file.
69477         * modules/unistr/u32-strpbrk: New file.
69478         * lib/unistr/u8-strpbrk.c: New file.
69479         * lib/unistr/u16-strpbrk.c: New file.
69480         * lib/unistr/u32-strpbrk.c: New file.
69481         * lib/unistr/u-strpbrk.h: New file.
69482
69483         * modules/unistr/u8-strrchr: New file.
69484         * modules/unistr/u16-strrchr: New file.
69485         * modules/unistr/u32-strrchr: New file.
69486         * lib/unistr/u8-strrchr.c: New file.
69487         * lib/unistr/u16-strrchr.c: New file.
69488         * lib/unistr/u32-strrchr.c: New file.
69489
69490         * modules/unistr/u8-strspn: New file.
69491         * modules/unistr/u16-strspn: New file.
69492         * modules/unistr/u32-strspn: New file.
69493         * lib/unistr/u8-strspn.c: New file.
69494         * lib/unistr/u16-strspn.c: New file.
69495         * lib/unistr/u32-strspn.c: New file.
69496         * lib/unistr/u-strspn.h: New file.
69497
69498         * modules/unistr/u8-strstr: New file.
69499         * modules/unistr/u16-strstr: New file.
69500         * modules/unistr/u32-strstr: New file.
69501         * lib/unistr/u8-strstr.c: New file.
69502         * lib/unistr/u16-strstr.c: New file.
69503         * lib/unistr/u32-strstr.c: New file.
69504         * lib/unistr/u-strstr.h: New file.
69505
69506         * modules/unistr/u8-strtok: New file.
69507         * modules/unistr/u16-strtok: New file.
69508         * modules/unistr/u32-strtok: New file.
69509         * lib/unistr/u8-strtok.c: New file.
69510         * lib/unistr/u16-strtok.c: New file.
69511         * lib/unistr/u32-strtok.c: New file.
69512         * lib/unistr/u-strtok.h: New file.
69513
69514         * modules/unistr/u8-uctomb: New file.
69515         * modules/unistr/u16-uctomb: New file.
69516         * modules/unistr/u32-uctomb: New file.
69517         * lib/unistr/u8-uctomb.c: New file.
69518         * lib/unistr/u16-uctomb.c: New file.
69519         * lib/unistr/u32-uctomb.c: New file.
69520
69521         * MODULES.html.sh (Unicode string functions): Add the new modules.
69522
69523 2007-01-08  Bruno Haible  <bruno@clisp.org>
69524
69525         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69526         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69527         subdirectories.
69528
69529 2007-01-08  Karl Berry  <karl@gnu.org>
69530
69531         * doc/error.texi: mention that main() fns must set program_name
69532         when progname is used.
69533
69534 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69535
69536         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69537         WCTYPE_H is empty, for the benefit of builds from non-distclean
69538         directories.  Problem reported by Eric Blake in
69539         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69540
69541 2007-01-08  Bruno Haible  <bruno@clisp.org>
69542
69543         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69544         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69545         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69546         PROVIDE_CANONICALIZE_FILENAME_MODE.
69547         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69548
69549 2007-01-08  Bruno Haible  <bruno@clisp.org>
69550
69551         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69552         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69553         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69554         * lib/fts.c: Likewise.
69555         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69556
69557 2006-12-25  Bruno Haible  <bruno@clisp.org>
69558
69559         * modules/utf8-ucs4-safe: New file.
69560         * lib/utf8-ucs4-safe.h: New file.
69561         * lib/unistr/utf8-ucs4-safe.c: New file.
69562
69563         * modules/utf16-ucs4-safe: New file.
69564         * lib/utf16-ucs4-safe.h: New file.
69565         * lib/unistr/utf16-ucs4-safe.c: New file.
69566
69567         * MODULES.html.sh (Unicode string functions): Add the new modules.
69568
69569 2007-01-08  Bruno Haible  <bruno@clisp.org>
69570
69571         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69572         (Depends-on): Add unitypes.
69573         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69574         (u8_mbtouc_aux): Move out to separate file.
69575         (u8_mbtouc): Use ucs4_t, uint8_t types.
69576         * lib/unistr/utf8-ucs4.c: New file.
69577
69578         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69579         (Depends-on): Add unitypes.
69580         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69581         (u16_mbtouc_aux): Move out to separate file.
69582         (u16_mbtouc): Use ucs4_t, uint16_t types.
69583         * lib/unistr/utf16-ucs4.c: New file.
69584
69585         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69586         (Depends-on): Add unitypes.
69587         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69588         (u8_uctomb_aux): Move out to separate file.
69589         (u8_uctomb): Use ucs4_t, uint8_t types.
69590         * lib/unistr/ucs4-utf8.c: New file.
69591
69592         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69593         (Depends-on): Add unitypes.
69594         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69595         (u16_uctomb_aux): Move out to separate file.
69596         (u16_uctomb): Use ucs4_t, uint16_t types.
69597         * lib/unistr/ucs4-utf16.c: New file.
69598
69599 2006-12-25  Bruno Haible  <bruno@clisp.org>
69600
69601         * modules/unitypes: New file.
69602         * lib/unitypes.h: New file.
69603         * MODULES.html.sh (func_all_modules): New section "Unicode string
69604         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69605         this section. Add unitypes.
69606
69607 2007-01-08  Bruno Haible  <bruno@clisp.org>
69608
69609         Avoid variable names that conflict with those from libtool.
69610         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69611         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69612         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69613         library_names_spec to acl_library_names_spec, hardcode_* to
69614         acl_hardcode_*.
69615         Reported by Ralf Wildenhues.
69616
69617 2007-01-08  Bruno Haible  <bruno@clisp.org>
69618
69619         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69620         definition.
69621         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69622         definition.
69623         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69624         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69625         definition.
69626         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69627         definition.
69628         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69629         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69630         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69631         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69632         definition.
69633         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69634         definition.
69635         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69636         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69637         GC_USE_<algorithm>.
69638         * lib/gc-libgcrypt.c: Likewise.
69639         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69640         * modules/gc-arctwo (configure.ac): Likewise.
69641         * modules/gc-des (configure.ac): Likewise.
69642         * modules/gc-hmac-md5 (configure.ac): Likewise.
69643         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69644         * modules/gc-md2 (configure.ac): Likewise.
69645         * modules/gc-md4 (configure.ac): Likewise.
69646         * modules/gc-md5 (configure.ac): Likewise.
69647         * modules/gc-random (configure.ac): Likewise.
69648         * modules/gc-rijndael (configure.ac): Likewise.
69649         * modules/gc-sha1 (configure.ac): Likewise.
69650
69651 2007-01-08  Bruno Haible  <bruno@clisp.org>
69652
69653         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69654         macro definition.
69655         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69656         definition.
69657         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69658         definition.
69659         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69660         * modules/fcntl-safer (configure.ac): Likewise.
69661         * modules/fopen-safer (configure.ac): Likewise.
69662         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69663         GNULIB_FWRITEERROR macro definition.
69664
69665 2007-01-08  Bruno Haible  <bruno@clisp.org>
69666
69667         * m4/gnulib-common.m4: New file.
69668         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69669         (func_get_filelist): Add m4/gnulib-common.m4.
69670
69671 2007-01-08  Bruno Haible  <bruno@clisp.org>
69672
69673         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69674         command.
69675
69676 2007-01-08  Jim Meyering  <jim@meyering.net>
69677
69678         Use a more robust test for a "can't happen" condition.
69679         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69680         narrowed the st_size value.  Presuming the "can't happen" condition
69681         is true, that narrowing could conceivably convert an invalid st_size
69682         value into a valid one.  Instead, use a change based on Matthew
69683         Woehlke's original patch.
69684
69685         Slight readability improvement: use an assert-like macro
69686         in place of literal "abort ()" uses.
69687         * lib/fts.c (fts_assert): Define.
69688         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69689         Use this macro instead of a bare 'abort'.
69690
69691 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69692
69693         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69694         simply work around them.
69695         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69696         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69697         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69698         declaring.
69699         Don't bother to define as macros, since the standard doesn't require it.
69700         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69701         longer worry about IRIX 5.3.
69702         (HAVE_WCTYPE_CTMP_BUG): Remove.
69703
69704 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69705
69706         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69707         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69708         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69709         Problems reported by Georg Schwarz for IRIX 5.3.
69710
69711         * gnulib-tool (autoconf_minversion): Take the maximum version number
69712         found, not the minimum.  Problem reported by James Youngman.
69713
69714 2007-01-03  Karl Berry  <karl@gnu.org>
69715
69716         * doc/error.texi: new file, explaining interaction with progname.
69717         * doc/gnulib.texi: include it.  Update copyright.
69718
69719 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69720
69721         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69722         AC_CANONICAL_HOST, to improve autobuild outputs.
69723
69724 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69725             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69726
69727         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69728         sockets, server sockets, and other file descriptors.  Count errors
69729         to compute the return value.  Reorder the code a bit to be easier
69730         to follow.  Don't set event bits that were not requested (except
69731         POLLERR and POLLHUP).
69732
69733 2007-01-01  Bruno Haible  <bruno@clisp.org>
69734
69735         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69736
69737 2007-01-03  Jim Meyering  <jim@meyering.net>
69738
69739         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69740
69741 2007-01-02  Bruno Haible  <bruno@clisp.org>
69742
69743         * modules/settime (Include): Require timespec.h.
69744         * modules/nanosleep (Include): Likewise.
69745
69746 2007-01-01  Bruno Haible  <bruno@clisp.org>
69747
69748         * gnulib-tool (func_emit_copyright_notice): Bump year.
69749         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69750
69751 2007-01-01  Bruno Haible  <bruno@clisp.org>
69752
69753         Improve support for OpenBSD.
69754         * build-aux/config.rpath (libname_spec): Export.
69755         (library_names_spec): New variable. Export.
69756         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69757         library_names_spec from the config.rpath output. Locate shared library
69758         through the name pattern in library_names_spec.
69759
69760 2007-01-01  Eric Blake  <ebb9@byu.net>
69761
69762         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69763
69764 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69765
69766         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69767         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69768         assume the C locale, and avoid an "eval" that could cause trouble.
69769         Problem with SORT reported by Bob Proulx.
69770
69771         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69772         Define.  Trivial patch from Henning Nielsen Lund, originally
69773         sent to bug-grep@gnu.org today.
69774
69775 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69776
69777         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69778         struct stat.  Problem reported by Henning Nielsen Lund.
69779         * lib/acl.c: Include acl.h first, to check interface.  Don't
69780         bother to include sys/types.h and sys/stat.h again.
69781
69782 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69783
69784         Import the following change from libc; problem reported by
69785         Sven Verdoolaege.
69786
69787         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69788
69789         [BZ #1373]
69790         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69791
69792 2006-12-28  Jim Meyering  <jim@meyering.net>
69793
69794         * build-aux/announce-gen: Do not assume that the package
69795         builds any of tar.gz, tar.bz2, and .xdelta files.
69796         Suggestion from Simon Josefsson.
69797
69798 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69799
69800         * modules/announce-gen: New file.
69801
69802 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69803
69804         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69805         handles its gotchas now.
69806         * lib/mbswidth.c: Likewise.
69807         * lib/wcwidth.h: Likewise.
69808         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69809         and iswcntrl; the wctype module does this stuff now.
69810         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69811         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69812         * modules/mbchar (Depends-on): Add wctype.
69813         * modules/mbswidth (Depends-on): Likewise.
69814         * modules/wcwidth (Depends-on): Likewise.
69815
69816 2006-12-27  Eric Blake  <ebb9@byu.net>
69817
69818         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69819         module uses more than what <wctype.h> is required to provide.
69820
69821 2006-12-26  Eric Blake  <ebb9@byu.net>
69822
69823         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69824
69825 2006-12-26  Eric Blake  <ebb9@byu.net>
69826
69827         * modules/absolute-header: New module.
69828         * modules/fcntl (Depends-on): Depend on it.
69829         * modules/inttypes (Depends-on): Likewise.
69830         * modules/stdint (Depends-on): Likewise.
69831         * modules/sys_stat (Depends-on): Likewise.
69832         * modules/wctype (Depends-on): Likewise.
69833         * MODULES.html.sh (Support for building libraries and
69834         executables): Document it.
69835
69836 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69837
69838         * gnulib-tool (SED): Remove, undoing previous change.
69839         The problem was that it broke coreutils on Solaris, because
69840         "sed --posix" leaked into a makefile.
69841         (sed): New alias, if 'alias' and GNU sed.
69842
69843 2006-12-24  Jim Meyering  <jim@meyering.net>
69844
69845         Work around an fchownat bug in glibc-2.4:
69846         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69847         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69848         in spite of the -P option.
69849         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69850         New macros.
69851         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69852         * modules/openat (Files): Add lib/fchownat.c.
69853         * lib/openat.c (fchownat): Don't define here.  Move to...
69854         * lib/fchownat.c: ...this new file.
69855
69856 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69857
69858         Fix bug reported by Bruno Haible in
69859         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69860         where quotearg.c didn't compile on Mac OS X 10.2 because it
69861         lacks <wchar.h> and wint_t.
69862         * lib/wctype_.h (__wctype_wint_t): New type.
69863         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69864         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69865         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69866         Arg is now of type __wctype_wint_t, not wint_t.
69867         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69868         substitute HAVE_WINT_T.
69869         * modules/wctype (Files): Add m4/wint_t.m4.
69870         (wctype.h): Substitute HAVE_WINT_T.
69871
69872 2006-12-23  Bruno Haible  <bruno@clisp.org>
69873
69874         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69875
69876 2006-12-23  Bruno Haible  <bruno@clisp.org>
69877
69878         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69879         S_ISLNK.
69880         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69881         mingw.
69882
69883 2006-12-22  Bruno Haible  <bruno@clisp.org>
69884
69885         * lib/copy-file.c: Include acl.h.
69886         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69887         Close the file descriptors only after being done with copy_acl.
69888         * modules/copy-file (Depends-on): Add acl.
69889
69890 2006-12-22  Bruno Haible  <bruno@clisp.org>
69891
69892         * gnulib-tool (SED): New variable.
69893         Use $SED instead of sed everywhere.
69894
69895 2006-12-22  Bruno Haible  <bruno@clisp.org>
69896
69897         * modules/no-c++: New file.
69898         * m4/no-c++.m4: New file.
69899         * MODULES.html.sh (Support for building libraries and executables):
69900         Add no-c++.
69901
69902 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69903
69904         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69905         Include <limits.h>, and use its INT_MAX to rewrite the
69906         j loop so that it does not overflow 'int'.  Problem reported by
69907         Ralf Wildenhues in
69908         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69909         Play it safe by shifting left by 1 rather than multiplying by 2,
69910         as GCC is less likely to optimize this away when the value
69911         is signed (when it assumes overflow leads to undefined behavior).
69912         Also, don't assume time_t uses two's complement.
69913
69914 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69915
69916         * MODULES.html.sh: New module wctype.
69917         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69918         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69919         <wctype.h>, since the new wctype module should fix this.
69920         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69921         the wctype module should arrange for it.
69922         * lib/regex_internal.h: Likewise.
69923         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69924         since the wctype module should handle this now.
69925         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69926         * modules/fnmatch (Depends-on): Add wctype.
69927         * modules/quotearg (Depends-on): Likewise.
69928         * modules/regex (Depends-on): Likewise.
69929
69930 2006-12-19  Bruno Haible  <bruno@clisp.org>
69931
69932         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69933         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69934
69935 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69936
69937         * modules/savewd (Depends-on): Fix dependency on fcntl.
69938
69939 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69940
69941         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69942         conforms to C99, rather than relying on the user's environment
69943         setting of STDINT_H.
69944
69945 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69946         and Eric Blake  <ebb9@byu.net>
69947
69948         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69949         This is more consistent with the other defines here.
69950         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69951         Port to z/OS.  Problem reported by Paul Gilmartin.
69952         Change local vars to use gl_ prefix rather than ac_.
69953         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69954         with other defines.
69955         * modules/double-slash-root: New module.
69956         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69957         (Depends-on): Add double-slash-root.
69958         * MODULES.html.sh (File system functions): Mention new module.
69959
69960 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69963         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69964         This is for the benefit of gzip, which doesn't do i18n.
69965
69966 2006-12-12  Jim Meyering  <jim@meyering.net>
69967
69968         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69969         Reported by Andreas Schwab <schwab@suse.de>.
69970
69971 2006-12-12  Bruno Haible  <bruno@clisp.org>
69972
69973         Merge these changes.
69974         2006-09-05  Bruno Haible  <bruno@clisp.org>
69975         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69976         iconv_alloc succeeded.
69977         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69978         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69979         test for " && dest " at the end - dest is always != NULL there. Call
69980         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69981         with 2xNULL arguments, also to flush the state storage. Handle the
69982         IRIX iconv behaviour. Realloc the final result, to throw away unused
69983         memory.
69984
69985 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69986
69987         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69988         and fchmodat unconditionally, since glibc 2.4 has them.
69989         Problem reported by Arkadiusz Miskiewicz.
69990
69991 2006-12-10  Bruno Haible  <bruno@clisp.org>
69992
69993         * gnulib-tool (func_import): Show the include files only for those
69994         modules that are copied and specified.
69995         Reported by Karl Berry.
69996
69997 2006-12-08  Jim Meyering  <jim@meyering.net>
69998
69999         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70000         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70001
70002         * build-aux/announce-gen: Add two new options, both optional:
70003         --bootstrap-tools=TOOL_LIST
70004               a comma-separated list of tools, e.g.,
70005               autoconf,automake,bison,gnulib
70006         --gnulib-snapshot-date=DATE
70007               if gnulib is in the bootstrap tool list,
70008               then report this as the snapshot date.
70009               If not specified, use the current date/time.
70010               If you specify a date here, be sure it's UTC.
70011
70012 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70013
70014         * tests/test-argp-2.sh: Fix test to match actual output.
70015         (func_compare): Fix sed script to be portable.
70016
70017 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70018
70019         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70020         workaround for this case.  It is not autoconfigured now; offhand
70021         it's hard to see how to autoconfigure it.
70022
70023 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70024
70025         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70026         a directory that is about to be chowned.  Such a directory's
70027         initial file permissions should permit the owner only and this
70028         should not be changed until after the chown, since the group and
70029         other bits would be incorrect if they granted permission before
70030         the chown.
70031
70032         Fix porting problem for iswctype reported by Georg Schwarz in:
70033         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70034         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70035         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70036         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70037         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70038
70039 2006-12-03  Jim Meyering  <jim@meyering.net>
70040
70041         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70042         p->fts_statp may not yet be defined.
70043         (fts_read): Instead, set it in the caller, once p->fts_statp is
70044         sure to be defined, and corresponds to a top-level directory.
70045         This bug made du -x fail.  Here's the coreutils test case:
70046         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70047         Reported by Mike Frysinger.
70048
70049 2006-12-01  Jim Meyering  <jim@meyering.net>
70050
70051         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70052         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70053         Reported by Simon Josefsson.
70054
70055 2006-11-30  Jim Meyering  <jim@meyering.net>
70056
70057         * m4/warning.m4: Use the all-permissive copyright notice
70058         recommended by RMS (rather than LGPL).
70059         * m4/vararrays.m4: Likewise.
70060         * m4/flexmember.m4: Likewise.
70061
70062 2006-11-29  Bruno Haible  <bruno@clisp.org>
70063
70064         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70065         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70066         using +=.
70067         Reported by Simon Josefsson <simon@josefsson.org>.
70068
70069 2006-11-28  James Youngman <jay@gnu.org>
70070
70071         * README: Advise users that they might find the bug-gnulib@gnu.org
70072         and autotools-announce@gnu.org mailing lists useful.
70073
70074 2006-11-28  Bruno Haible  <bruno@clisp.org>
70075
70076         * m4/ptrdiff_max.m4: Remove file.
70077
70078 2006-11-21  Bruno Haible  <bruno@clisp.org>
70079
70080         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70081         _AC_COMPUTE_INT.
70082         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70083         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70084         _AC_COMPUTE_INT.
70085         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70086         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70087         _AC_COMPUTE_INT.
70088         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70089
70090 2006-11-28  Jim Meyering  <jim@meyering.net>
70091
70092         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70093         warning from "gcc -Wshadow" about shadowing the builtin.
70094
70095 2006-11-27  Bruno Haible  <bruno@clisp.org>
70096
70097         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70098         _AC_COMPUTE_INT.
70099         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70100
70101 2006-11-27  Bruno Haible  <bruno@clisp.org>
70102             Paul Eggert  <eggert@cs.ucla.edu>
70103
70104         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70105
70106 2006-11-26  Bruno Haible  <bruno@clisp.org>
70107
70108         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70109         noinst_LTLIBRARIES.
70110
70111 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70112             Bruno Haible  <bruno@clisp.org>
70113
70114         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70115         if compiling with "gcc -ansi".
70116
70117 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70118
70119         Fix some incompatibilities with gcc -ansi -pedantic.
70120         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70121         if compiling pedantically with GCC, unless it's C99 or later.
70122         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70123         it mishandles gcc -ansi -pedantic as well.
70124         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70125         if gcc -pedantic.
70126         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70127         initializers for struct if -pedantic, unless it's C99 or later.
70128
70129 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70130
70131         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70132         Don't close an fd more than once. Identical atimes indicate
70133         success, not failure.
70134
70135 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70136
70137         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70138
70139 2006-11-23  Jim Meyering  <jim@meyering.net>
70140
70141         * build-aux/announce-gen: New file.  From coreutils.
70142
70143 2006-11-22  Jim Meyering  <jim@meyering.net>
70144
70145         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70146         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70147         (fts_read): Use a temporary to narrow the overused st_size member
70148         before using it in a switch statement.  Reported by Matthew Woehlke.
70149
70150         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70151         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70152
70153 2006-11-20  Bruno Haible  <bruno@clisp.org>
70154
70155         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70156         changequote instead of pairs of brackets.
70157         Reported by Andreas Schwab <schwab@suse.de>.
70158
70159 2006-11-21  Jim Meyering  <jim@meyering.net>
70160
70161         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70162         so as to remain compatible with older compilers.
70163         Patch from Michael Deutschmann.
70164
70165 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70166
70167         * MODULES.html.sh (File system functions): Add openat.
70168
70169         * lib/openat.h (rpl_fstatat): New macro, if
70170         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70171         (fstatat): Define to rpl_fstatat under the same conditions,
70172         unless COMPILING_FSTATAT.
70173         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70174         seems to have the bug.
70175         * lib/fstatat.c: New file.
70176         * modules/openat (Files): Add it.
70177
70178 2006-11-20  Bruno Haible  <bruno@clisp.org>
70179
70180         * Makefile: New file.
70181
70182 2006-11-20  Jim Meyering  <jim@meyering.net>
70183
70184         The beginnings of syntax-related checks for gnulib.
70185         * lib/Makefile: New file.
70186         * lib/t-idcache: New script.  Ensure that the two halves of
70187         idcache.c stay in sync.
70188
70189         * lib/idcache.c: Adjust comments in user- and group- portions to
70190         be more accurate, and to be consistent with one another.
70191
70192 2006-11-20  Jim Meyering  <jim@meyering.net>
70193
70194         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70195         continue using the flexible array member (thus, this module performs
70196         half as many malloc calls), with the addition that...
70197         (getgroup, getuser): Consistently record a non-match via an empty
70198         "name" string, and map an empty string match to a NULL return value.
70199         * modules/idcache (Depends-on): Re-add flexmember.
70200
70201         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70202         (getuidbyname, getgroup, getgidbyname): Likewise.
70203
70204         Use cleaner syntax: NULL rather than 0.
70205         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70206
70207 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70208
70209         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70210         It mishandled the case where the group was missing.
70211         Problem reported by Greg Schafer.
70212         * modules/idcache: Likewise.
70213
70214 2006-11-18  Jim Meyering  <jim@meyering.net>
70215
70216         * check-module (%exempt_header): Add exception for some
70217         conditionally-included headers.
70218
70219         * modules/i-ring (Depends-on): Add verify.
70220         (License): Change to LGPL.
70221
70222 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70223
70224         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70225         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70226         and inttostr.h.  Use snprintf rather than uinttostr, so that
70227         LGPLed code doesn't depend on GPLed.
70228
70229 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70230
70231         * modules/inline (License): Change from GPL to LGPL.
70232
70233 2006-11-17  Jim Meyering  <jim@meyering.net>
70234
70235         * modules/d-type (License): Switch to LGPL.
70236
70237 2006-11-15  Bruno Haible  <bruno@clisp.org>
70238
70239         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70240
70241 2006-11-15  Eric Blake  <ebb9@byu.net>
70242
70243         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70244         the module dependency.
70245
70246 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70247             Bruno Haible  <bruno@clisp.org>
70248
70249         * gnulib-tool (func_create_testdir): Add license consistency check.
70250
70251 2006-11-15  Eric Blake  <ebb9@byu.net>
70252
70253         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70254         random "(cached)" in configure output.
70255
70256 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70257
70258         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70259         test for conforming inttypes.h is both announced and cached.
70260
70261         * MODULES.html.sh (seen_modules, seen_files): New variables.
70262         (func_module): Rewrite to use a few less gnulib-tool and sed
70263         invocations.  Avoid a couple of quadratic algorithms for ...
70264         (missed_modules, missed_files): ... these, with ...
70265         (func_append, func_tmpdir): ... these new functions, from
70266         gnulib-tool.  Analogously, install traps for cleanup.
70267
70268         * tests/test-gc.c (main): Remove unused variables.
70269         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70270
70271 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70272
70273         * modules/inttostr (License): Change to LGPL.
70274
70275 2006-11-14  Eric Blake  <ebb9@byu.net>
70276
70277         * modules/tempname (License): Change to LGPL.
70278
70279 2006-11-14  Eric Blake  <ebb9@byu.net>
70280
70281         * doc/functions.texi (Function Portability): *printf functions on
70282         Cygwin now understand all POSIX size specifiers.
70283
70284 2006-11-14  Bruno Haible  <bruno@clisp.org>
70285
70286         * modules/c-ctype (License): Change to LGPL.
70287
70288 2006-11-12  Bruno Haible  <bruno@clisp.org>
70289
70290         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70291         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70292         for GNOME libraries, for which the include files are installed in
70293         subdirectories of $prefix/include.
70294
70295 2006-11-12  Bruno Haible  <bruno@clisp.org>
70296
70297         * m4/lib-link.m4: Require at least autoconf-2.54.
70298         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70299         name to underscores for the --with option.
70300
70301 2006-11-13  Bruno Haible  <bruno@clisp.org>
70302
70303         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70304         the tests directory.
70305         Reported by Ralf Wildenhues.
70306
70307 2006-11-13  Bruno Haible  <bruno@clisp.org>
70308
70309         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70310         (func_emit_initmacro_end): Undo the override here.
70311         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70312         Works around the famous automake error in coreutils.
70313
70314 2006-11-13  Eric Blake  <ebb9@byu.net>
70315
70316         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70317         element, not its node.
70318
70319 2006-11-12  Bruno Haible  <bruno@clisp.org>
70320
70321         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70322         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70323
70324 2006-11-12  Bruno Haible  <bruno@clisp.org>
70325
70326         * gnulib-tool: New option --local-symlink.
70327         (func_usage): Document it.
70328         (lsymbolic): New variable.
70329         (func_import, func_create_testdir): If --symlink was not specified,
70330         test whether --local-symlink was specified and the file comes from
70331         the local_gnulib_dir.
70332
70333 2006-11-12  Bruno Haible  <bruno@clisp.org>
70334
70335         * gnulib-tool (func_ln): New function.
70336         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70337
70338 2006-11-12  Bruno Haible  <bruno@clisp.org>
70339
70340         Finish support for source files in subdirectories.
70341         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70342         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70343         AUTOMAKE_OPTIONS.
70344         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70345
70346 2006-11-12  Bruno Haible  <bruno@clisp.org>
70347
70348         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70349         EXTRA_lib_SOURCES augmentation.
70350         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70351
70352 2006-11-12  Jim Meyering  <jim@meyering.net>
70353
70354         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70355         file descriptors.  This also averts a failure on systems with
70356         native openat support when a traversed directory lacks "x" access.
70357         * lib/fts_.h: Include "i-ring.h"
70358         (struct FTS) [fts_fd_ring]: New member.
70359         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70360         (FCHDIR): Add parentheses.
70361         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70362         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70363         When descending, rather than simply closing the previous
70364         fts_cwd_fd value, push that file descriptor onto the ring.
70365         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70366         (fts_open): Initialize the new fd_ring member.
70367         (fts_close): Clear the ring.
70368         (fts_safe_changedir): When possible, use our new fd_ring to skip
70369         the diropen and fstat and dev/ino comparison that would normally
70370         accompany a virtual `chdir ("..")'.
70371
70372         * modules/fts (Depends-on): Add i-ring.
70373         * modules/i-ring: New module.
70374         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70375         * m4/i-ring.m4: New file.
70376
70377 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70378
70379         * gnulib-tool (func_create_testdir): Fix replacement of
70380         `build-aux' in configure.ac.  Run autotools in gltests
70381         subdirectory.
70382         (func_create_testdir, func_create_megatestdir, test): There is
70383         no need for '--force' in most autotool invocations in a new
70384         tree.  Actually fail the whole test if any of the tools, or the
70385         configure or make stages fail.
70386
70387         Sync from Automake.
70388         * build-aux/gnupload: Revert last change.  Add pointer to upload
70389         instructions of the GNU Maintenance Instructions.
70390         Suggestion by Karl Berry.
70391
70392 2006-11-10  Jim Meyering  <jim@meyering.net>
70393
70394         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70395
70396 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70397
70398         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70399         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70400         (bind_textdomain_codeset) [! ENABLE_NLS]:
70401         Evaluate all the arguments.  That way, callers get compatible behavior
70402         if the arguments have side effects.  Also, it avoids some GCC
70403         diagnostics in some cases; Joel E. Denny reported problems when Bison
70404         was configured with --enable-gcc-warnigs.
70405
70406 2006-11-10  Jim Meyering  <jim@meyering.net>
70407
70408         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70409         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70410         account.
70411
70412 2006-11-10  Jim Meyering  <jim@meyering.net>
70413
70414         * modules/inline: New file/module.
70415         * modules/xalloc (Files): Remove m4/inline.m4.
70416         (Depends-on): Add inline, instead.
70417         * modules/oset: Likewise.
70418         * modules/list: Likewise.
70419
70420 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70423         Problem reported by Matthew Woehlke.
70424
70425 2006-11-09  Bruno Haible  <bruno@clisp.org>
70426
70427         * lib/tempname.c (gen_tempname): Remove variant that invokes
70428         __gen_tempname.
70429         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70430         __gen_tempname.
70431
70432 2006-11-08  Bruno Haible  <bruno@clisp.org>
70433
70434         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70435         to 'yes' instead of 'cross-compiling'.
70436
70437 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70438
70439         * lib/quotearg.h (quotearg_free): New decl.
70440         * lib/quotearg.c (quotearg_free): New function.
70441         (slot0, nslots, slotvec0, slotvec):
70442         Now file-scope so that quotearg_free can get at them.
70443
70444 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70445
70446         Sync from Automake.
70447         * build-aux/gnupload: Add missing 'gnu' to example URL.
70448         Report by Karl Berry.
70449
70450 2006-11-08  Bruno Haible  <bruno@clisp.org>
70451
70452         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70453         Suggested by Paul Eggert.
70454
70455 2006-11-08  Jim Meyering  <jim@meyering.net>
70456
70457         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70458         It's already included if !_LIBC.
70459         (fts_safe_changedir): Add a comment.
70460
70461 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70462
70463         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70464         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70465         Matthew Woehlke.
70466
70467         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70468         definitions up, to avoid colliding with change below.
70469         (static_inline) [HAVE_INLINE]: New macro.
70470         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70471         Provide extern decls when !HAVE_INLINE.  Do not define unless
70472         static_inline is defined, either by us or by xmalloc.c.  Use
70473         static_inline rather than static inline.
70474         (XCALLOC): Optimize sizeof(T) = 1 case.
70475         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70476
70477 2006-11-07  Bruno Haible  <bruno@clisp.org>
70478
70479         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70480         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70481         AC_C_INLINE.
70482         * modules/xalloc (Files): Add m4/inline.m4.
70483
70484 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70485
70486         * README: Fix typo.
70487         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70488         (Miscellanous Notes): ...from this.
70489
70490 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70491
70492         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70493         Mention that offsetof should be used instead of sizeof.
70494         From Bruno Haible.
70495
70496 2006-11-07  Bruno Haible  <bruno@clisp.org>
70497
70498         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70499
70500 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70501
70502         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70503         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70504         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70505         (gl_tree_add_before, gl_tree_add_after):
70506         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70507         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70508         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70509         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70510         (gl_linked_add_after, gl_linked_add_at): Likewise.
70511         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70512         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70513         (gl_tree_add_before, gl_tree_add_after): Likewise.
70514         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70515         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70516         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70517
70518 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70519
70520         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70521
70522 2006-11-06  Bruno Haible  <bruno@clisp.org>
70523
70524         * m4/inline.m4: New file.
70525         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70526         * modules/list (Files): Add m4/inline.m4.
70527         * modules/oset (Files): Likewise.
70528
70529 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70530
70531         * lib/idcache.c: Include <stddef.h>, for offsetof.
70532         (struct userid.name): Change from char * to a flexible array member.
70533         All uses changed.
70534         * modules/idcache (Depends-on): Add flexmember.
70535
70536         * MODULES.html.sh (Core language properties): New module flexmember.
70537         * modules/flexmember, m4/flexmember.m4: New files.
70538
70539         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70540         inline functions that are identical with the old xnmalloc_inline,
70541         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70542         that we can avoid some unnecessary integer multiplications and
70543         divisions in the common case where the element size is known at
70544         compile time.
70545         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70546         needed.
70547         (xnboundedmalloc): Remove.
70548         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70549         arguments, for consistency with rest of this header.
70550         (xcharalloc): Rewrite using XNMALLOC.
70551         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70552         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70553         versions have been moved to lib/xalloc.h and renamed to be the
70554         non-*_inline versions.
70555         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70556         and xnrealloc functions, since those functions are now inline and
70557         now call us.
70558         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70559         renaming described above.
70560         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70561         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70562         captures the dependency in AC_C_INLINE.
70563
70564         New module canonicalize-lgpl, proposed by Charles Wilson in
70565         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70566         with a few small changes afterwards.
70567         * MODULES.html.sh (File system functions): New module
70568         canonicalize-lgpl.
70569         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70570         and canonicalize_file_name.
70571         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70572         * modules/canonicalize-lgpl: New files.
70573
70574 2006-11-05  Bruno Haible  <bruno@clisp.org>
70575
70576         * gnulib-tool (func_import, func_create_testdir): Create directories
70577         also for files in subdirectories of lib/.
70578
70579 2006-11-05  Bruno Haible  <bruno@clisp.org>
70580
70581         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70582         ANSI C compliant.
70583
70584 2006-11-03  Bruno Haible  <bruno@clisp.org>
70585
70586         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70587         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70588         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70589         (xnboundedmalloc): New inline function.
70590         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70591         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70592         xmalloc.
70593         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70594         xmalloc.
70595         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70596         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70597         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70598         xmalloc.
70599         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70600         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70601         xmalloc.
70602         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70603         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70604         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70605         xmalloc.
70606         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70607         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70608         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70609         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70610         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70611         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70612         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70613
70614 2006-11-03  Bruno Haible  <bruno@clisp.org>
70615
70616         * lib/c-ctype.h [C++]: Define functions without name mangling.
70617         * lib/fwriteerror.h [C++]: Likewise.
70618         * lib/gcd.h [C++]: Likewise.
70619         * lib/linebreak.h [C++]: Likewise.
70620
70621 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70622
70623         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70624         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70625         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70626         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70627         Check for functions and headers just once.
70628         Check for declaration of canonicalize_file_name.
70629         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70630
70631 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70632
70633         * gnulib-tool (func_import): Fix typo in actioncmd.
70634
70635 2006-11-02  Bruno Haible  <bruno@clisp.org>
70636
70637         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70638         newline sequence in the Makefile.am snippet as a space, like "make"
70639         does.
70640         Reported by Roger Persson <perrog@gmail.com>.
70641
70642 2006-11-01  Bruno Haible  <bruno@clisp.org>
70643
70644         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70645         already declared in <string.h>.
70646         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70647
70648 2006-11-01  Bruno Haible  <bruno@clisp.org>
70649
70650         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70651         * lib/strcase.h: Include <string.h>.
70652         (strcasecmp): Define to rpl_strcasecmp here.
70653
70654 2006-11-01  Bruno Haible  <bruno@clisp.org>
70655
70656         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70657
70658 2006-11-01  Eric Blake  <ebb9@byu.net>
70659
70660         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70661
70662         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70663
70664 2006-10-29  Bruno Haible  <bruno@clisp.org>
70665
70666         Make it compile in C++ mode.
70667         * lib/full-write.c (full_rw): Add a cast.
70668
70669 2006-11-01  Bruno Haible  <bruno@clisp.org>
70670
70671         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70672         be POSIX compliant.
70673         Reported by Roger Persson <perrog@gmail.com>.
70674
70675 2006-11-01  Eric Blake  <ebb9@byu.net>
70676
70677         * lib/getopt_.h: Fix comments.
70678
70679 2006-10-31  Eric Blake  <ebb9@byu.net>
70680
70681         * modules/tmpdir (Depends-on): Add sys_stat.
70682         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70683         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70684         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70685         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70686         tempname.
70687
70688 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         Avoid some C++ diagnostics reported by Bruno Haible.
70691         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70692         xmalloc.
70693         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70694         (struct slotvec): Move to top level.
70695         (quotearg_n_options): Rewrite to avoid xmalloc.
70696         * lib/xalloc.h (xcharalloc): New function.
70697         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70698         [defined __cplusplus]: Add function template that provides result
70699         type propagation.  This part of the change is from Bruno Haible.
70700
70701 2006-10-29  Bruno Haible  <bruno@clisp.org>
70702
70703         Make it compile in C++ mode.
70704         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70705         * lib/strnlen1.c (strnlen1): Cast memchr result.
70706         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70707         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70708         (create_temp_dir): Rename local variable 'template'.
70709         (compile_csharp_using_sscli): Add cast.
70710         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70711         * lib/findprog.c (find_in_path): Likewise.
70712         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70713         * lib/wait-process.c (register_slave_subprocess): Likewise.
70714
70715 2006-10-22  Bruno Haible  <bruno@clisp.org>
70716
70717         * modules/tsearch: New file.
70718         * lib/tsearch.h: New file.
70719         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70720         * m4/tsearch.m4: New file.
70721         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70722
70723 2006-10-29  Eric Blake  <ebb9@byu.net>
70724
70725         * lib/arcfour.c: Assume config.h.
70726         * lib/arctwo.c: Likewise.
70727         * lib/base64.c: Likewise.
70728         * lib/check-version.c: Likewise.
70729         * lib/crc.c: Likewise.
70730         * lib/des.c: Likewise.
70731         * lib/gc-gnulib.c: Likewise.
70732         * lib/gc-libgcrypt.c: Likewise.
70733         * lib/gc-pbkdf2-sha1.c: Likewise.
70734         * lib/getaddrinfo.c: Likewise.
70735         * lib/getdelim.c: Likewise.
70736         * lib/getline.c: Likewise.
70737         * lib/hmac-md5.c: Likewise.
70738         * lib/hmac-sha1.c: Likewise.
70739         * lib/iconvme.c: Likewise.
70740         * lib/md2.c: Likewise.
70741         * lib/md4.c: Likewise.
70742         * lib/memxor.c: Likewise.
70743         * lib/read-file.c: Likewise.
70744         * lib/readline.c: Likewise.
70745         * lib/rijndael-alg-fst.c: Likewise.
70746         * lib/rijndael-api-fst.c: Likewise.
70747         * lib/xgetdomainname.c: Likewise.
70748
70749 2006-10-28  Eric Blake  <ebb9@byu.net>
70750
70751         * lib/xstrndup.c: Assume config.h.
70752
70753 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70754
70755         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70756         stat-macros.h is now for our own macros, whereas stat_h is for
70757         macros in the <sys/stat.h> name space.
70758         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70759         (STAT_MACROS_H): Remove.
70760         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70761         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70762         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70763         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70764         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70765         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70766         Move these macros to ...
70767         * lib/stat_.h: here.  Don't include stat-macros.h.
70768         * lib/canonicalize.c: Don't include stat-macros.h.
70769         * lib/chown.c: Likewise.
70770         * lib/euidaccess.c: Likewise.
70771         * lib/file-type.c: Likewise.
70772         * lib/filemode.c: Likewise.
70773         * lib/glob.c: Likewise.
70774         * lib/isapipe.c: Likewise.
70775         * lib/lchown.c: Likewise.
70776         * lib/lstat.c: Likewise.
70777         * lib/mkdir-p.c: Likewise.
70778         * lib/rmdir.c: Likewise.
70779         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70780         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70781         unless mkdir isn't declared, to speed up 'configure'.
70782         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70783         would define all the S_* symbols.
70784         * modules/canonicalize (Depends-on):
70785         Depend on sys_stat, not stat-macros.
70786         * modules/chown: Likewise.
70787         * modules/euidaccess: Likewise.
70788         * modules/filemode: Likewise.
70789         * modules/file-type: Likewise.
70790         * modules/glob: Likewise.
70791         * modules/isapipe: Likewise.
70792         * modules/lchown: Likewise.
70793         * modules/lstat: Likewise.
70794         * modules/mkancesdirs: Likewise.
70795         * modules/rmdir: Likewise.
70796         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70797         * modules/modechange: Likewise.
70798         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70799         (configure.ac): Remove gl_STAT_MACROS.
70800         * modules/sys_stat (Depends-on): Remove stat-macros.
70801
70802 2006-10-27  Bruno Haible  <bruno@clisp.org>
70803
70804         * m4/signed.m4: Remove file.
70805         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70806         invocation.
70807         * modules/vasnprintf (Files): Remove m4/signed.m4.
70808
70809 2006-10-27  Bruno Haible  <bruno@clisp.org>
70810
70811         Update to GNU gettext 0.16.
70812         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70813         m4/inttypes-h.m4, m4/signed.m4.
70814         * m4/gettext.m4: Update to GNU gettext 0.16.
70815         * m4/intl.m4: New file, from GNU gettext.
70816         * m4/intldir.m4: New file, from GNU gettext.
70817         * config/srclist.txt: Update
70818
70819 2006-10-27  Eric Blake  <ebb9@byu.net>
70820
70821         * MODULES.html.sh: Document tempname.
70822         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70823         dependencies.
70824         (Files): Move lib/tempname.c...
70825         * modules/tempname: ...to this new module.
70826         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70827         (gl_PREREQ_TEMPNAME): Move...
70828         * m4/tempname.m4: ...to this new file.
70829         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70830         * modules/sys_stat (Depends-on): Add stat-macros.
70831         * lib/stat_.h (includes): Pick up stat macros.
70832         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70833         if stat macros are broken.
70834         * lib/tempname.c (includes): No need to include "stat-macros.h".
70835         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70836         (direxists, __path_search) [!_LIBC]: Don't compile these in
70837         gnulib; the tmpdir module covers that.
70838         * lib/tempname.h: New file.
70839
70840 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70841
70842         * COPYING: Explain how gnulib-tool converts licence headers.
70843         Almost all wording by Eric Blake.
70844
70845 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70846
70847         * lib/mbchar.h (is_basic_table): Make read-only.
70848         * lib/mbchar.c (is_basic_table): Likewise.
70849         Reported by John Darrington.
70850
70851 2006-10-25  Bruno Haible  <bruno@clisp.org>
70852
70853         * lib/progname.h (set_program_name): Undefine before defining.
70854
70855 2006-10-25  Bruno Haible  <bruno@clisp.org>
70856
70857         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70858         false for non-gcc C++ compilers.
70859         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70860
70861 2006-10-24  Bruno Haible  <bruno@clisp.org>
70862
70863         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70864         iconv implementations like Irix iconv.
70865
70866 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70867
70868         * modules/vararrays: New file.
70869         * m4/vararrays.m4: New file, taken from diffutils.
70870         * MODULES.html.sh: New module vararrays.
70871
70872 2006-10-24  Karl Berry  <karl@gnu.org>
70873
70874         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70875         Don't call GNU Unix.
70876
70877 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70878
70879         * users.txt: Add Libtool.
70880
70881         Sync from Libtool:
70882
70883         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70884
70885         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70886         to gnulib's policy of including config.h unconditionally.
70887
70888 2006-10-24  Bruno Haible  <bruno@clisp.org>
70889
70890         * modules/wcwidth (Files): Add m4/wint_t.m4.
70891         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70892         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70893
70894 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70895
70896         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70897         to pacify GCC with some -W flags enabled.  Problem reported by
70898         Bruno Haible.
70899
70900 2006-10-24  Jim Meyering  <jim@meyering.net>
70901
70902         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70903         Reported by Karl Berry.
70904
70905 2006-10-23  Bruno Haible  <bruno@clisp.org>
70906
70907         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70908
70909 2006-10-24  Bruno Haible  <bruno@clisp.org>
70910
70911         * lib/gl_list.h: Use C comment style, not C++ comment style.
70912
70913 2006-10-23  Eric Blake  <ebb9@byu.net>
70914
70915         * lib/getaddrinfo.c (includes): Add missing include.
70916
70917 2006-10-23  Bruno Haible  <bruno@clisp.org>
70918             Paul Eggert  <eggert@cs.ucla.edu>
70919
70920         Ability to rename obstack_free.
70921         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70922         obstack_free.
70923         (obstack_free): Invoke the __obstack_free macro.
70924         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70925
70926 2006-10-23  Bruno Haible  <bruno@clisp.org>
70927             Paul Eggert  <eggert@cs.ucla.edu>
70928
70929         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70930         __argc, __argv from the declaration. (They are defined as macros on
70931         mingw.)
70932
70933 2006-10-22  Bruno Haible  <bruno@clisp.org>
70934
70935         * doc/gnulib-intro.texi: New file.
70936         * doc/gnulib.texi: Include it.
70937
70938 2006-10-21  Bruno Haible  <bruno@clisp.org>
70939
70940         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70941         "Introduction", "Miscellanous Notes", "Particular Modules".
70942
70943 2006-10-21  Bruno Haible  <bruno@clisp.org>
70944
70945         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70946         Change mostlyclean-local rule to avoid sh syntax error from bash
70947         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70948
70949 2006-10-23  Jim Meyering  <jim@meyering.net>
70950
70951         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70952         in place of snprintf.
70953
70954         * modules/inttostr (Files): Add lib/uinttostr.c.
70955         * lib/uinttostr.c (inttostr): New file/function.
70956         * lib/inttostr.h (uinttostr): Declare.
70957         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70958         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70959         Add uinttostr.
70960         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70961
70962 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70963
70964         * lib/canonicalize.c (ELOOP): Define if not already defined.
70965         Problem reported by Bruno Haible in
70966         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70967
70968 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70969
70970         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70971         Problem reported by Perry Smith and Ville Laurikari.
70972
70973         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70974         uses.
70975
70976 2006-10-19  Bruno Haible  <bruno@clisp.org>
70977
70978         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70979         for mingw.
70980
70981 2006-10-19  Bruno Haible  <bruno@clisp.org>
70982
70983         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70984         Needed for mingw.
70985
70986 2006-10-19  Bruno Haible  <bruno@clisp.org>
70987
70988         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70989
70990 2006-10-19  Bruno Haible  <bruno@clisp.org>
70991
70992         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70993         it.
70994
70995 2006-10-19  Bruno Haible  <bruno@clisp.org>
70996
70997         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70998         invocation.
70999
71000 2006-10-19  Bruno Haible  <bruno@clisp.org>
71001
71002         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71003         mountlist by default.
71004
71005 2006-10-16  Bruno Haible  <bruno@clisp.org>
71006
71007         * lib/c-strstr.c: Include c-strstr.h.
71008
71009 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71010
71011         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71012         in a slash.
71013
71014 2006-10-18  Bruno Haible  <bruno@clisp.org>
71015
71016         * lib/lock.h [C++]: Wrap definitions in extern "C".
71017
71018 2006-10-18  Bruno Haible  <bruno@clisp.org>
71019
71020         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71021         gl_LIBOBJS list.
71022
71023 2006-10-18  Bruno Haible  <bruno@clisp.org>
71024
71025         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71026
71027 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71028
71029         * lib/xstrtol.h: Include gettext.h.
71030         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71031         Problem reported by Eric Blake.
71032         * modules/xstrtol (Depends-on): Add gettext-h.
71033
71034 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71035
71036         * lib/strftime.c (advance): New macro.
71037         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71038         incomplete type, so you can't add 0 to it.  Problem and patch
71039         reported by Eelco Dolstra for dietlibc.
71040
71041 2006-10-18  Jim Meyering  <jim@meyering.net>
71042
71043         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71044         type for a local, and rename it: s/up/user_proc/.
71045
71046 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71047
71048         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71049         READ_UTMP_USER_PROCESS.
71050         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71051
71052 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71053
71054         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71055         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71056
71057 2006-10-17  Eric Blake  <ebb9@byu.net>
71058
71059         * lib/sigprocmask.c (sigprocmask): Fix typo.
71060
71061         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71062
71063         * modules/clean-temp (Makefile.am): Don't add to make output...
71064         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71065         config.h.
71066
71067 2006-10-17  Bruno Haible  <bruno@clisp.org>
71068
71069         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71070         differently if DEFAULT_TEXT_DOMAIN is set.
71071
71072 2006-10-16  Bruno Haible  <bruno@clisp.org>
71073
71074         * lib/clean-temp.c: Include fwriteerror.h.
71075
71076 2006-10-16  Bruno Haible  <bruno@clisp.org>
71077
71078         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71079
71080 2006-10-16  Bruno Haible  <bruno@clisp.org>
71081
71082         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71083         * lib/sigprocmask.h: Include <sys/types.h>.
71084         (sigset_t): Use the system's definition if present.
71085
71086 2006-10-17  Eric Blake  <ebb9@byu.net>
71087
71088         * lib/xvasprintf.c (includes): Assume config.h.
71089         * lib/xasprintf.c (includes): Likewise.
71090
71091 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71092
71093         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71094         at least as wide as intmax_t.
71095
71096 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71097
71098         (Imported from Automake.)
71099         * build-aux/gnupload: Update to version 1.1 of directive file.
71100
71101 2006-10-16  Eric Blake  <ebb9@byu.net>
71102
71103         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71104         match Automake 1.10a.
71105
71106 2006-10-14  Bruno Haible  <bruno@clisp.org>
71107
71108         * modules/sigprocmask: New file.
71109         * lib/sigprocmask.h: New file.
71110         * lib/sigprocmask.c: New file.
71111         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71112         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71113         request sigprocmask.o.
71114         (gl_PREREQ_SIGPROCMASK): New macro.
71115         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71116         (Depends-on): Add sigprocmask.
71117         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71118         gt_SIGNALBLOCKING. Test for 'raise' only once.
71119         * lib/fatal-signal.c: Include sigprocmask.h.
71120         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71121         unblock_fatal_signals): Define always.
71122         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71123         sigprocmask.
71124
71125 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71126
71127         Sync from Automake.
71128         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71129         which incorrectly sets the mode of an existing destination
71130         directory.  In some cases the unpatched install-sh could do the
71131         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71132         system.  We hope this is rare in practice, but it's clearly worth
71133         fixing.  Problem reported by Alex Unleashed in
71134         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71135         Also, don't bother to check for -m bugs unless we're using -m;
71136         suggested by Stepan Kasal.
71137
71138 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71139
71140         Sync from Automake.
71141         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71142         `-c' flag, so they appear at the same position as in %FASTDEP%
71143         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71144         which ignores unknown options only after the first non-option.
71145         Bug report against M4 by Nelson H. F. Beebe.
71146
71147 2006-10-13  Jim Meyering  <jim@meyering.net>
71148
71149         Fix a bug in yesterday's change.
71150         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71151         p->fts_statp->st_dev would be used uninitialized.
71152         Ensures that we always call fts_stat on the very first entry.
71153         Miklos Szeredi reported that find -xdev stopped working.
71154
71155 2006-10-12  Bruno Haible  <bruno@clisp.org>
71156
71157         * gnulib-tool (func_get_automake_snippet): Append an automatically
71158         computed EXTRA_DIST augmentation.
71159         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71160         * modules/alloca-opt (Makefile.am): Likewise.
71161         * modules/allocsa (Makefile.am): Likewise.
71162         * modules/arcfour (Makefile.am): Likewise.
71163         * modules/arctwo (Makefile.am): Likewise.
71164         * modules/argmatch (Makefile.am): Likewise.
71165         * modules/argz (Makefile.am): Likewise.
71166         * modules/atexit (Makefile.am): Likewise.
71167         * modules/backupfile (Makefile.am): Likewise.
71168         * modules/byteswap (Makefile.am): Likewise.
71169         * modules/c-strtod (Makefile.am): Likewise.
71170         * modules/c-strtold (Makefile.am): Likewise.
71171         * modules/calloc (Makefile.am): Likewise.
71172         * modules/canon-host (Makefile.am): Likewise.
71173         * modules/canonicalize (Makefile.am): Likewise.
71174         * modules/chdir-long (Makefile.am): Likewise.
71175         * modules/chdir-safer (Makefile.am): Likewise.
71176         * modules/check-version (Makefile.am): Likewise.
71177         * modules/chown (Makefile.am): Likewise.
71178         * modules/cloexec (Makefile.am): Likewise.
71179         * modules/close-stream (Makefile.am): Likewise.
71180         * modules/closeout (Makefile.am): Likewise.
71181         * modules/crc (Makefile.am): Likewise.
71182         * modules/csharpexec (Makefile.am): Likewise.
71183         * modules/cycle-check (Makefile.am): Likewise.
71184         * modules/des (Makefile.am): Likewise.
71185         * modules/dev-ino (Makefile.am): Likewise.
71186         * modules/dirfd (Makefile.am): Likewise.
71187         * modules/dirname (Makefile.am): Likewise.
71188         * modules/dup2 (Makefile.am): Likewise.
71189         * modules/eealloc (Makefile.am): Likewise.
71190         * modules/error (Makefile.am): Likewise.
71191         * modules/euidaccess (Makefile.am): Likewise.
71192         * modules/exclude (Makefile.am): Likewise.
71193         * modules/exitfail (Makefile.am): Likewise.
71194         * modules/fcntl-safer (Makefile.am): Likewise.
71195         * modules/fcntl (Makefile.am): Likewise.
71196         * modules/file-type (Makefile.am): Likewise.
71197         * modules/fileblocks (Makefile.am): Likewise.
71198         * modules/filemode (Makefile.am): Likewise.
71199         * modules/filenamecat (Makefile.am): Likewise.
71200         * modules/fnmatch (Makefile.am): Likewise.
71201         * modules/fopen-safer (Makefile.am): Likewise.
71202         * modules/fpending (Makefile.am): Likewise.
71203         * modules/fprintftime (Makefile.am): Likewise.
71204         * modules/free (Makefile.am): Likewise.
71205         * modules/fsusage (Makefile.am): Likewise.
71206         * modules/ftruncate (Makefile.am): Likewise.
71207         * modules/fts (Makefile.am): Likewise.
71208         * modules/gc-arcfour (Makefile.am): Likewise.
71209         * modules/gc-des (Makefile.am): Likewise.
71210         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71211         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71212         * modules/gc-md4 (Makefile.am): Likewise.
71213         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71214         * modules/gc-sha1 (Makefile.am): Likewise.
71215         * modules/gc (Makefile.am): Likewise.
71216         * modules/getaddrinfo (Makefile.am): Likewise.
71217         * modules/getcwd (Makefile.am): Likewise.
71218         * modules/getdelim (Makefile.am): Likewise.
71219         * modules/getdomainname (Makefile.am): Likewise.
71220         * modules/getgroups (Makefile.am): Likewise.
71221         * modules/gethostname (Makefile.am): Likewise.
71222         * modules/gethrxtime (Makefile.am): Likewise.
71223         * modules/getline (Makefile.am): Likewise.
71224         * modules/getloadavg (Makefile.am): Likewise.
71225         * modules/getlogin_r (Makefile.am): Likewise.
71226         * modules/getndelim2 (Makefile.am): Likewise.
71227         * modules/getopt (Makefile.am): Likewise.
71228         * modules/getpagesize (Makefile.am): Likewise.
71229         * modules/getpass-gnu (Makefile.am): Likewise.
71230         * modules/getpass (Makefile.am): Likewise.
71231         * modules/getsubopt (Makefile.am): Likewise.
71232         * modules/gettime (Makefile.am): Likewise.
71233         * modules/gettimeofday (Makefile.am): Likewise.
71234         * modules/getugroups (Makefile.am): Likewise.
71235         * modules/getusershell (Makefile.am): Likewise.
71236         * modules/glob (Makefile.am): Likewise.
71237         * modules/group-member (Makefile.am): Likewise.
71238         * modules/hard-locale (Makefile.am): Likewise.
71239         * modules/hash (Makefile.am): Likewise.
71240         * modules/hmac-md5 (Makefile.am): Likewise.
71241         * modules/hmac-sha1 (Makefile.am): Likewise.
71242         * modules/human (Makefile.am): Likewise.
71243         * modules/idcache (Makefile.am): Likewise.
71244         * modules/imaxabs (Makefile.am): Likewise.
71245         * modules/imaxdiv (Makefile.am): Likewise.
71246         * modules/inet_ntop (Makefile.am): Likewise.
71247         * modules/inet_pton (Makefile.am): Likewise.
71248         * modules/intprops (Makefile.am): Likewise.
71249         * modules/inttostr (Makefile.am): Likewise.
71250         * modules/inttypes (Makefile.am): Likewise.
71251         * modules/isapipe (Makefile.am): Likewise.
71252         * modules/javaversion (Makefile.am): Likewise.
71253         * modules/lchmod (Makefile.am): Likewise.
71254         * modules/lchown (Makefile.am): Likewise.
71255         * modules/localcharset (Makefile.am): Likewise.
71256         * modules/long-options (Makefile.am): Likewise.
71257         * modules/lstat (Makefile.am): Likewise.
71258         * modules/malloc (Makefile.am): Likewise.
71259         * modules/mathl (Makefile.am): Likewise.
71260         * modules/mbchar (Makefile.am): Likewise.
71261         * modules/md2 (Makefile.am): Likewise.
71262         * modules/md4 (Makefile.am): Likewise.
71263         * modules/md5 (Makefile.am): Likewise.
71264         * modules/memcasecmp (Makefile.am): Likewise.
71265         * modules/memchr (Makefile.am): Likewise.
71266         * modules/memcmp (Makefile.am): Likewise.
71267         * modules/memcoll (Makefile.am): Likewise.
71268         * modules/memcpy (Makefile.am): Likewise.
71269         * modules/memmem (Makefile.am): Likewise.
71270         * modules/memmove (Makefile.am): Likewise.
71271         * modules/mempcpy (Makefile.am): Likewise.
71272         * modules/memrchr (Makefile.am): Likewise.
71273         * modules/memset (Makefile.am): Likewise.
71274         * modules/memxor (Makefile.am): Likewise.
71275         * modules/mkancesdirs (Makefile.am): Likewise.
71276         * modules/mkdir-p (Makefile.am): Likewise.
71277         * modules/mkdir (Makefile.am): Likewise.
71278         * modules/mkdtemp (Makefile.am): Likewise.
71279         * modules/mkstemp (Makefile.am): Likewise.
71280         * modules/mktime (Makefile.am): Likewise.
71281         * modules/modechange (Makefile.am): Likewise.
71282         * modules/mountlist (Makefile.am): Likewise.
71283         * modules/nanosleep (Makefile.am): Likewise.
71284         * modules/obstack (Makefile.am): Likewise.
71285         * modules/openat (Makefile.am): Likewise.
71286         * modules/pagealign_alloc (Makefile.am): Likewise.
71287         * modules/pathmax (Makefile.am): Likewise.
71288         * modules/physmem (Makefile.am): Likewise.
71289         * modules/poll (Makefile.am): Likewise.
71290         * modules/posixtm (Makefile.am): Likewise.
71291         * modules/posixver (Makefile.am): Likewise.
71292         * modules/putenv (Makefile.am): Likewise.
71293         * modules/quote (Makefile.am): Likewise.
71294         * modules/quotearg (Makefile.am): Likewise.
71295         * modules/raise (Makefile.am): Likewise.
71296         * modules/read-file (Makefile.am): Likewise.
71297         * modules/readline (Makefile.am): Likewise.
71298         * modules/readlink (Makefile.am): Likewise.
71299         * modules/readtokens (Makefile.am): Likewise.
71300         * modules/readutmp (Makefile.am): Likewise.
71301         * modules/realloc (Makefile.am): Likewise.
71302         * modules/regex (Makefile.am): Likewise.
71303         * modules/rename-dest-slash (Makefile.am): Likewise.
71304         * modules/rename (Makefile.am): Likewise.
71305         * modules/rijndael (Makefile.am): Likewise.
71306         * modules/rmdir (Makefile.am): Likewise.
71307         * modules/rpmatch (Makefile.am): Likewise.
71308         * modules/safe-read (Makefile.am): Likewise.
71309         * modules/safe-write (Makefile.am): Likewise.
71310         * modules/same-inode (Makefile.am): Likewise.
71311         * modules/same (Makefile.am): Likewise.
71312         * modules/save-cwd (Makefile.am): Likewise.
71313         * modules/savedir (Makefile.am): Likewise.
71314         * modules/setenv (Makefile.am): Likewise.
71315         * modules/settime (Makefile.am): Likewise.
71316         * modules/sha1 (Makefile.am): Likewise.
71317         * modules/sig2str (Makefile.am): Likewise.
71318         * modules/snprintf (Makefile.am): Likewise.
71319         * modules/stat-macros (Makefile.am): Likewise.
71320         * modules/stat-time (Makefile.am): Likewise.
71321         * modules/stdbool (Makefile.am): Likewise.
71322         * modules/stdint (Makefile.am): Likewise.
71323         * modules/stdlib-safer (Makefile.am): Likewise.
71324         * modules/stpcpy (Makefile.am): Likewise.
71325         * modules/stpncpy (Makefile.am): Likewise.
71326         * modules/strcase (Makefile.am): Likewise.
71327         * modules/strcasestr (Makefile.am): Likewise.
71328         * modules/strchrnul (Makefile.am): Likewise.
71329         * modules/strcspn (Makefile.am): Likewise.
71330         * modules/strdup (Makefile.am): Likewise.
71331         * modules/strerror (Makefile.am): Likewise.
71332         * modules/strftime (Makefile.am): Likewise.
71333         * modules/strndup (Makefile.am): Likewise.
71334         * modules/strnlen (Makefile.am): Likewise.
71335         * modules/strpbrk (Makefile.am): Likewise.
71336         * modules/strsep (Makefile.am): Likewise.
71337         * modules/strstr (Makefile.am): Likewise.
71338         * modules/strtod (Makefile.am): Likewise.
71339         * modules/strtoimax (Makefile.am): Likewise.
71340         * modules/strtok_r (Makefile.am): Likewise.
71341         * modules/strtol (Makefile.am): Likewise.
71342         * modules/strtoll (Makefile.am): Likewise.
71343         * modules/strtoul (Makefile.am): Likewise.
71344         * modules/strtoull (Makefile.am): Likewise.
71345         * modules/strtoumax (Makefile.am): Likewise.
71346         * modules/strverscmp (Makefile.am): Likewise.
71347         * modules/sys_socket (Makefile.am): Likewise.
71348         * modules/sys_stat (Makefile.am): Likewise.
71349         * modules/sysexits (Makefile.am): Likewise.
71350         * modules/time_r (Makefile.am): Likewise.
71351         * modules/timegm (Makefile.am): Likewise.
71352         * modules/timespec (Makefile.am): Likewise.
71353         * modules/tmpfile-safer (Makefile.am): Likewise.
71354         * modules/trim (Makefile.am): Likewise.
71355         * modules/unistd-safer (Makefile.am): Likewise.
71356         * modules/unlinkdir (Makefile.am): Likewise.
71357         * modules/unlocked-io (Makefile.am): Likewise.
71358         * modules/userspec (Makefile.am): Likewise.
71359         * modules/utime (Makefile.am): Likewise.
71360         * modules/utimecmp (Makefile.am): Likewise.
71361         * modules/utimens (Makefile.am): Likewise.
71362         * modules/vasnprintf (Makefile.am): Likewise.
71363         * modules/vasprintf (Makefile.am): Likewise.
71364         * modules/vsnprintf (Makefile.am): Likewise.
71365         * modules/xalloc (Makefile.am): Likewise.
71366         * modules/xgetcwd (Makefile.am): Likewise.
71367         * modules/xnanosleep (Makefile.am): Likewise.
71368         * modules/xreadlink (Makefile.am): Likewise.
71369         * modules/xstrtod (Makefile.am): Likewise.
71370         * modules/xstrtol (Makefile.am): Likewise.
71371         * modules/xstrtold (Makefile.am): Likewise.
71372         * modules/yesno (Makefile.am): Likewise.
71373         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71374
71375 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71376
71377         * modules/error (Makefile.am): Distribute files through
71378         EXTRA_DIST, not lib_SOURCES.
71379
71380 2006-10-12  Eric Blake  <ebb9@byu.net>
71381
71382         * modules/error (Makefile.am): Distribute files in /lib.
71383         * modules/obstack (Makefile.am): Likewise.
71384
71385 2006-10-12  Bruno Haible  <bruno@clisp.org>
71386
71387         * modules/acl (Makefile.am): Distribute all files in lib/ through
71388         EXTRA_DIST.
71389         * modules/arcfour (Makefile.am): Likewise.
71390         * modules/arctwo (Makefile.am): Likewise.
71391         * modules/argmatch (Makefile.am): Likewise.
71392         * modules/argz (Makefile.am): Likewise.
71393         * modules/atexit (Makefile.am): Likewise.
71394         * modules/backupfile (Makefile.am): Likewise.
71395         * modules/c-strtod (Makefile.am): Likewise.
71396         * modules/c-strtold (Makefile.am): Likewise.
71397         * modules/calloc (Makefile.am): Likewise.
71398         * modules/canon-host (Makefile.am): Likewise.
71399         * modules/canonicalize (Makefile.am): Likewise.
71400         * modules/chdir-long (Makefile.am): Likewise.
71401         * modules/chdir-safer (Makefile.am): Likewise.
71402         * modules/check-version (Makefile.am): Likewise.
71403         * modules/chown (Makefile.am): Likewise.
71404         * modules/cloexec (Makefile.am): Likewise.
71405         * modules/close-stream (Makefile.am): Likewise.
71406         * modules/closeout (Makefile.am): Likewise.
71407         * modules/crc (Makefile.am): Likewise.
71408         * modules/cycle-check (Makefile.am): Likewise.
71409         * modules/des (Makefile.am): Likewise.
71410         * modules/dirfd (Makefile.am): Likewise.
71411         * modules/dirname (Makefile.am): Likewise.
71412         * modules/dup2 (Makefile.am): Likewise.
71413         * modules/euidaccess (Makefile.am): Likewise.
71414         * modules/exclude (Makefile.am): Likewise.
71415         * modules/exitfail (Makefile.am): Likewise.
71416         * modules/fcntl-safer (Makefile.am): Likewise.
71417         * modules/file-type (Makefile.am): Likewise.
71418         * modules/fileblocks (Makefile.am): Likewise.
71419         * modules/filemode (Makefile.am): Likewise.
71420         * modules/filenamecat (Makefile.am): Likewise.
71421         * modules/fnmatch (Makefile.am): Likewise.
71422         * modules/fopen-safer (Makefile.am): Likewise.
71423         * modules/fpending (Makefile.am): Likewise.
71424         * modules/fprintftime (Makefile.am): Likewise.
71425         * modules/free (Makefile.am): Likewise.
71426         * modules/fsusage (Makefile.am): Likewise.
71427         * modules/ftruncate (Makefile.am): Likewise.
71428         * modules/fts (Makefile.am): Likewise.
71429         * modules/gc (Makefile.am): Likewise.
71430         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71431         * modules/getaddrinfo (Makefile.am): Likewise.
71432         * modules/getcwd (Makefile.am): Likewise.
71433         * modules/getdelim (Makefile.am): Likewise.
71434         * modules/getdomainname (Makefile.am): Likewise.
71435         * modules/getgroups (Makefile.am): Likewise.
71436         * modules/gethostname (Makefile.am): Likewise.
71437         * modules/gethrxtime (Makefile.am): Likewise.
71438         * modules/getline (Makefile.am): Likewise.
71439         * modules/getloadavg (Makefile.am): Likewise.
71440         * modules/getlogin_r (Makefile.am): Likewise.
71441         * modules/getopt (Makefile.am): Likewise.
71442         * modules/getpass (Makefile.am): Likewise.
71443         * modules/getpass-gnu (Makefile.am): Likewise.
71444         * modules/getsubopt (Makefile.am): Likewise.
71445         * modules/gettime (Makefile.am): Likewise.
71446         * modules/gettimeofday (Makefile.am): Likewise.
71447         * modules/getugroups (Makefile.am): Likewise.
71448         * modules/getusershell (Makefile.am): Likewise.
71449         * modules/glob (Makefile.am): Likewise.
71450         * modules/group-member (Makefile.am): Likewise.
71451         * modules/hard-locale (Makefile.am): Likewise.
71452         * modules/hash (Makefile.am): Likewise.
71453         * modules/hmac-md5 (Makefile.am): Likewise.
71454         * modules/hmac-sha1 (Makefile.am): Likewise.
71455         * modules/human (Makefile.am): Likewise.
71456         * modules/idcache (Makefile.am): Likewise.
71457         * modules/imaxabs (Makefile.am): Likewise.
71458         * modules/imaxdiv (Makefile.am): Likewise.
71459         * modules/inet_ntop (Makefile.am): Likewise.
71460         * modules/inet_pton (Makefile.am): Likewise.
71461         * modules/inttostr (Makefile.am): Likewise.
71462         * modules/isapipe (Makefile.am): Likewise.
71463         * modules/lchown (Makefile.am): Likewise.
71464         * modules/long-options (Makefile.am): Likewise.
71465         * modules/lstat (Makefile.am): Likewise.
71466         * modules/malloc (Makefile.am): Likewise.
71467         * modules/mathl (Makefile.am): Likewise.
71468         * modules/mbchar (Makefile.am): Likewise.
71469         * modules/md2 (Makefile.am): Likewise.
71470         * modules/md4 (Makefile.am): Likewise.
71471         * modules/md5 (Makefile.am): Likewise.
71472         * modules/memcasecmp (Makefile.am): Likewise.
71473         * modules/memchr (Makefile.am): Likewise.
71474         * modules/memcmp (Makefile.am): Likewise.
71475         * modules/memcoll (Makefile.am): Likewise.
71476         * modules/memcpy (Makefile.am): Likewise.
71477         * modules/memmem (Makefile.am): Likewise.
71478         * modules/memmove (Makefile.am): Likewise.
71479         * modules/mempcpy (Makefile.am): Likewise.
71480         * modules/memrchr (Makefile.am): Likewise.
71481         * modules/memset (Makefile.am): Likewise.
71482         * modules/memxor (Makefile.am): Likewise.
71483         * modules/mkancesdirs (Makefile.am): Likewise.
71484         * modules/mkdir (Makefile.am): Likewise.
71485         * modules/mkdir-p (Makefile.am): Likewise.
71486         * modules/mkdtemp (Makefile.am): Likewise.
71487         * modules/mkstemp (Makefile.am): Likewise.
71488         * modules/mktime (Makefile.am): Likewise.
71489         * modules/modechange (Makefile.am): Likewise.
71490         * modules/mountlist (Makefile.am): Likewise.
71491         * modules/nanosleep (Makefile.am): Likewise.
71492         * modules/openat (Makefile.am): Likewise.
71493         * modules/pagealign_alloc (Makefile.am): Likewise.
71494         * modules/physmem (Makefile.am): Likewise.
71495         * modules/poll (Makefile.am): Likewise.
71496         * modules/posixtm (Makefile.am): Likewise.
71497         * modules/posixver (Makefile.am): Likewise.
71498         * modules/putenv (Makefile.am): Likewise.
71499         * modules/quote (Makefile.am): Likewise.
71500         * modules/quotearg (Makefile.am): Likewise.
71501         * modules/raise (Makefile.am): Likewise.
71502         * modules/read-file (Makefile.am): Likewise.
71503         * modules/readline (Makefile.am): Likewise.
71504         * modules/readlink (Makefile.am): Likewise.
71505         * modules/readtokens (Makefile.am): Likewise.
71506         * modules/readutmp (Makefile.am): Likewise.
71507         * modules/realloc (Makefile.am): Likewise.
71508         * modules/regex (Makefile.am): Likewise.
71509         * modules/rename (Makefile.am): Likewise.
71510         * modules/rename-dest-slash (Makefile.am): Likewise.
71511         * modules/rijndael (Makefile.am): Likewise.
71512         * modules/rmdir (Makefile.am): Likewise.
71513         * modules/rpmatch (Makefile.am): Likewise.
71514         * modules/safe-read (Makefile.am): Likewise.
71515         * modules/safe-write (Makefile.am): Likewise.
71516         * modules/same (Makefile.am): Likewise.
71517         * modules/save-cwd (Makefile.am): Likewise.
71518         * modules/savedir (Makefile.am): Likewise.
71519         * modules/setenv (Makefile.am): Likewise.
71520         * modules/settime (Makefile.am): Likewise.
71521         * modules/sha1 (Makefile.am): Likewise.
71522         * modules/sig2str (Makefile.am): Likewise.
71523         * modules/snprintf (Makefile.am): Likewise.
71524         * modules/stdlib-safer (Makefile.am): Likewise.
71525         * modules/stpcpy (Makefile.am): Likewise.
71526         * modules/stpncpy (Makefile.am): Likewise.
71527         * modules/strcase (Makefile.am): Likewise.
71528         * modules/strcasestr (Makefile.am): Likewise.
71529         * modules/strchrnul (Makefile.am): Likewise.
71530         * modules/strcspn (Makefile.am): Likewise.
71531         * modules/strdup (Makefile.am): Likewise.
71532         * modules/strerror (Makefile.am): Likewise.
71533         * modules/strftime (Makefile.am): Likewise.
71534         * modules/strndup (Makefile.am): Likewise.
71535         * modules/strnlen (Makefile.am): Likewise.
71536         * modules/strpbrk (Makefile.am): Likewise.
71537         * modules/strsep (Makefile.am): Likewise.
71538         * modules/strstr (Makefile.am): Likewise.
71539         * modules/strtod (Makefile.am): Likewise.
71540         * modules/strtoimax (Makefile.am): Likewise.
71541         * modules/strtok_r (Makefile.am): Likewise.
71542         * modules/strtol (Makefile.am): Likewise.
71543         * modules/strtoll (Makefile.am): Likewise.
71544         * modules/strtoul (Makefile.am): Likewise.
71545         * modules/strtoull (Makefile.am): Likewise.
71546         * modules/strtoumax (Makefile.am): Likewise.
71547         * modules/strverscmp (Makefile.am): Likewise.
71548         * modules/time_r (Makefile.am): Likewise.
71549         * modules/timegm (Makefile.am): Likewise.
71550         * modules/tmpfile-safer (Makefile.am): Likewise.
71551         * modules/unistd-safer (Makefile.am): Likewise.
71552         * modules/unlinkdir (Makefile.am): Likewise.
71553         * modules/userspec (Makefile.am): Likewise.
71554         * modules/utime (Makefile.am): Likewise.
71555         * modules/utimecmp (Makefile.am): Likewise.
71556         * modules/utimens (Makefile.am): Likewise.
71557         * modules/vasnprintf (Makefile.am): Likewise.
71558         * modules/vasprintf (Makefile.am): Likewise.
71559         * modules/vsnprintf (Makefile.am): Likewise.
71560         * modules/xalloc (Makefile.am): Likewise.
71561         * modules/xgetcwd (Makefile.am): Likewise.
71562         * modules/xnanosleep (Makefile.am): Likewise.
71563         * modules/xreadlink (Makefile.am): Likewise.
71564         * modules/xstrtod (Makefile.am): Likewise.
71565         * modules/xstrtol (Makefile.am): Likewise.
71566         * modules/xstrtold (Makefile.am): Likewise.
71567         * modules/yesno (Makefile.am): Likewise.
71568
71569 2006-10-12  Jim Meyering  <jim@meyering.net>
71570
71571         * m4/getloadavg.m4: Revert the change below.
71572
71573         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71574         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71575         fail with a symlink, which is what coreutils' ./bootstrap now
71576         creates by default.
71577
71578 2006-10-12  Bruno Haible  <bruno@clisp.org>
71579
71580         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71581         mingw.
71582         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71583         MSVC and mingw explicitly.
71584
71585 2006-10-11  Simon Josefsson  <jas@extundo.com>
71586             Bruno Haible  <bruno@clisp.org>
71587
71588         Add support for multiple gnulib-tool invocations in the scope of a
71589         single configure.ac file.
71590         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71591         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71592         with the same contents as the _LIBADD variable.
71593         (func_emit_initmacro_start, func_emit_initmacro_end,
71594         func_emit_initmacro_done): New functions.
71595         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71596         gl_LIBOBJS and gl_LTLIBOBJS.
71597
71598 2006-10-11  Bruno Haible  <bruno@clisp.org>
71599
71600         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71601         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71602         autoreconf. Instead, invoke autopoint explicitly but move back the
71603         *.m4 files from gnulib.
71604
71605 2006-10-11  Bruno Haible  <bruno@clisp.org>
71606
71607         * gnulib-tool (func_usage): Make module names after --create-testdir
71608         optional.
71609         (func_create_testdir): If no module was specified, use nearly all
71610         modules.
71611
71612 2006-10-12  Jim Meyering  <jim@meyering.net>
71613
71614         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71615         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71616         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71617         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71618         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71619         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71620         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71621         (fts_set_stat_required): New function.
71622         (fts_open): Defer the calls to fts_stat, if possible or requested.
71623         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71624         into fts_stat itself.
71625         (fts_read): Perform any required (deferred) fts_stat call.
71626         (fts_build): Likewise, for the directory we're about to open and read.
71627         In the readdir loop, carefully decide whether each entry will require
71628         an eventual call to fts_stat, using dirent.d_type info if available.
71629         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71630         a command line argument into this function.  Update all callers.
71631         Map a return value of FTS_DOT to FTS_D for a command line argument.
71632         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71633         Thanks to Miklos Szeredi for his tenacity and for the initial
71634         bug report about "find" failing on a FUSE-based file system.
71635
71636         * lib/fts.c (fts_open): Use consistent indentation.
71637
71638 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71639
71640         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71641         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71642         reported by Jim Meyering.  All uses of cache variables renamed
71643         to match Autoconf's.
71644         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71645         the other one.
71646
71647         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71648         Fix misspelling in diagnostic.
71649
71650 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71651
71652         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71653         defined.  Problem reported by Matthew Woehlke.
71654
71655         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71656         Add support for Tandem NonStop R series.
71657         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71658         Use new macro.
71659
71660         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71661         (has_trailing_slash): Omit size arg; all callers changed.
71662         Omit 'inline', since it doesn't help performance and we'd
71663         need to configure it.
71664         Don't count //, ///, etc. as having a trailing slash.
71665         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71666         (rpl_rename_dest_slash): On failure, use rename's errno rather
71667         than (in some cases) an incorrect or junk errno.
71668         Simplify code by removing need to compute length; this does
71669         cause it to make two passes instead of one over the file name,
71670         but it's worth it.
71671
71672         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71673         change, since Autoconf's version may no longer be appropriate now
71674         that we are using CVS Autoconf's version.  Add support for Tandem.
71675
71676 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71677             Bruno Haible  <bruno@clisp.org>
71678
71679         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71680         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71681         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71682         gl_AC_TYPE_LONG_LONG.
71683
71684         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71685         instead of HAVE_LONG_LONG.
71686         * lib/printf-args.c (printf_fetchargs): Likewise.
71687         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71688         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71689         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71690         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71691         gl_AC_TYPE_LONG_LONG.
71692
71693 2006-10-11  Bruno Haible  <bruno@clisp.org>
71694
71695         * m4/longlong.m4: Add comments.
71696         * m4/ulonglong.m4: Likewise.
71697
71698 2006-10-10  Bruno Haible  <bruno@clisp.org>
71699
71700         Make it possible to #define stpcpy, strdup to aliases.
71701         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71702         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71703
71704 2006-10-10  Bruno Haible  <bruno@clisp.org>
71705
71706         Make it possible to #define gcd to an alias.
71707         * lib/gcd.c: Include config.h.
71708
71709 2006-10-10  Bruno Haible  <bruno@clisp.org>
71710
71711         Make it possible to #define c_isascii to an alias.
71712         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71713         defined. Undefine the macros before defining them, to avoid gcc
71714         warnings.
71715         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71716         define NO_C_CTYPE_MACROS early.
71717
71718 2006-10-10  Bruno Haible  <bruno@clisp.org>
71719
71720         Make it possible to #define set_program_name to an alias.
71721         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71722         ENABLE_RELOCATABLE early.
71723
71724 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71725
71726         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71727         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71728         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71729         More generally, don't assume that 64-bit signed int is available
71730         if unsigned int is, and vice versa.
71731         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71732         unsigned symbols, not on their signed counterparts.
71733         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71734         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71735         (UINT64_C, UINTMAX_C):
71736         Likewise.
71737         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71738         unsigned counterparts.
71739         (Have_long_long, Unsigned): New macros.
71740         (Int): Renamed from INT.
71741         (strtoimax): Use the new macros.
71742         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71743         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71744         * modules/inttypes (inttypes.h): Substitute
71745         HAVE_UNSIGNED_LONG_LONG_INT.
71746         * modules/stdint (stdint.h): Likewise.
71747         (Files): Add m4/ulonglong.m4.
71748
71749 2006-10-10  Bruno Haible  <bruno@clisp.org>
71750
71751         Fix a gcc -Wshadow warning.
71752         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71753         to 'bucket'.
71754         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71755         gl_linked_indexof_from_to): Likewise.
71756         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71757         Likewise.
71758         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71759         Likewise.
71760         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71761         Reported by Eric Blake.
71762
71763 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71764
71765         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71766         for NetBSD.  Problem reported by Bruno Haible.
71767
71768 2006-10-09  Jim Meyering  <jim@meyering.net>
71769
71770         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71771         Patch from Bruno Haible.
71772
71773 2006-10-09  Jim Meyering  <jim@meyering.net>
71774
71775         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71776         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71777         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71778
71779 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         Don't include <config.h> twice; this doesn't work in some cases,
71782         e.g., when config.h has "#define intmax_t long long int" and
71783         we include <config.h>, <inttypes.h>, <config.h> in that order.
71784         Problem reported by Matthew Woehlke in:
71785         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71786         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71787         * lib/fts-cycle.c: Don't include config.h.
71788         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71789         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71790         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71791         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71792         inttypes.h.
71793         * lib/xstrtoumax.c: Likewise.
71794         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71795         __strtol and the like, so that this module is more like its siblings.
71796         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71797         Remove; no longer needed now that we assume gnulib inttypes.h.
71798
71799 2006-10-08  Bruno Haible  <bruno@clisp.org>
71800
71801         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71802         option.
71803
71804 2006-10-07  Jim Meyering  <jim@meyering.net>
71805
71806         * modules/inttypes (inttypes.h): Revert what seems to have been
71807         an inadvertent part of today's change: use "|", not "/" in the
71808         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71809
71810 2006-10-07  Bruno Haible  <bruno@clisp.org>
71811
71812         * modules/sublist: New file.
71813
71814 2006-10-07  Bruno Haible  <bruno@clisp.org>
71815
71816         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71817         * modules/argz (argz.h): Likewise.
71818         * modules/arpa_inet (arpa/inet.h): Likewise.
71819         * modules/byteswap (byteswap.h): Likewise.
71820         * modules/configmake (configmake.h): Likewise.
71821         * modules/fcntl (fcntl.h): Likewise.
71822         * modules/fnmatch (fnmatch.h): Likewise.
71823         * modules/getopt (getopt.h): Likewise.
71824         * modules/glob (glob.h): Likewise.
71825         * modules/inttypes (inttypes.h): Likewise.
71826         * modules/netinet_in (netinet/in.h): Likewise.
71827         * modules/poll (poll.h): Likewise.
71828         * modules/stdbool (stdbool.h): Likewise.
71829         * modules/stdint (stdint.h): Likewise.
71830         * modules/sys_select (sys/select.h): Likewise.
71831         * modules/sys_socket (sys/socket.h): Likewise.
71832         * modules/sys_stat (sys/stat.h): Likewise.
71833         * modules/sysexits (sysexits.h): Likewise.
71834         * modules/unistd (unistd.h): Likewise.
71835         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71836         Add a "DO NOT EDIT" comment to the generated file.
71837         (func_import): Likewise for gnulib-comp.m4.
71838
71839 2006-10-07  Bruno Haible  <bruno@clisp.org>
71840
71841         * lib/gl_sublist.h: New file.
71842         * lib/gl_sublist.c: New file.
71843
71844 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71845
71846         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71847         name (relative to the original working directory) and the file
71848         name component (relative to the temporary working directory).  All
71849         callers changed.
71850         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71851         * lib/mkdir-p.c (make_dir_parents): Likewise.
71852         * lib/mkdir-p.h (make_dir_parents): Likewise.
71853
71854 2006-10-06  Eric Blake  <ebb9@byu.net>
71855
71856         Define several macros for use by the clean-temp module.
71857         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71858         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71859         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71860
71861         * lib/clean-temp.h (close_stream_temp): New declaration.
71862         * lib/clean-temp.c (includes): Pull in headers according to what
71863         other modules are in use.
71864         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71865
71866 2006-10-06  Bruno Haible  <bruno@clisp.org>
71867
71868         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71869         instead of fopen, fwriteerror.
71870
71871 2006-10-06  Bruno Haible  <bruno@clisp.org>
71872
71873         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71874         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71875         int.
71876         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71877         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71878         Return an error indicator.
71879         Suggested by Eric Blake.
71880
71881 2006-10-06  Bruno Haible  <bruno@clisp.org>
71882
71883         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71884         Reported by Eric Blake.
71885
71886 2006-10-06  Bruno Haible  <bruno@clisp.org>
71887
71888         * modules/closeout (Description): Mention stderr too.
71889
71890 2006-10-06  Bruno Haible  <bruno@clisp.org>
71891         and Paul Eggert  <eggert@cs.ucla.edu>
71892
71893         * lib/closeout.c (close_stdout): Also close stderr.
71894         * lib/closeout.h: Update comment.
71895
71896 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71897
71898         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71899         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71900         * lib/dirchownmod.c: Include lchown.h.
71901         * lib/lchown.c: Don't include files that lchown.h now includes.
71902         Don't declare chown, since lchown.h now does that.
71903         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71904         (lchown): Define to rpl_chown if lchown is declared but
71905         does not exist.  Declare using a prototype if lchown is not
71906         declared.  Add a copyright notice.
71907         * lib/mkstemp.h: Include <unistd.h>.
71908         * lib/openat.c: Include lchown.h.
71909
71910         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71911         we now test for that separately.
71912         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71913         rather than O_NOFOLLOW, when testing whether it's possible to
71914         avoid a race condition reliably.
71915         * lib/savewd.c (savewd_chdir): Likewise.
71916
71917         Remove macros that are no longer needed now that stdint.h is
71918         reliable.
71919         * lib/fsusage.c (UINTMAX_MAX): Remove.
71920         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71921         * lib/utimecmp.c (SIZE_MAX): Remove.
71922
71923         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71924
71925         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71926         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71927         O_NOATIME works.
71928
71929 2006-10-05  Bruno Haible  <bruno@clisp.org>
71930
71931         * lib/gl_list.h (gl_sortedlist_search_from_to,
71932         gl_sortedlist_indexof_from_to): New declarations.
71933         (gl_list_implementation): New fields sortedlist_search_from_to,
71934         sortedlist_indexof_from_to.
71935         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71936         inline functions.
71937         * lib/gl_list.c (gl_sortedlist_search_from_to,
71938         gl_sortedlist_indexof_from_to): New functions.
71939         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71940         function.
71941         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71942         (gl_array_sortedlist_search_from_to): New function.
71943         (gl_array_list_implementation): Update.
71944         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71945         function.
71946         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71947         (gl_carray_sortedlist_search_from_to): New function.
71948         (gl_carray_list_implementation): Update.
71949         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71950         gl_linked_sortedlist_indexof_from_to): New functions.
71951         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71952         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71953         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71954         gl_tree_sortedlist_indexof_from_to): New functions.
71955         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71956         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71957         Update.
71958         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71959         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71960         Update.
71961
71962 2006-10-05  Bruno Haible  <bruno@clisp.org>
71963
71964         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71965         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71966         (struct gl_list_implementation): Add fields search_from_to,
71967         indexof_from_to. Remove fields search, indexof.
71968         (gl_list_search): Use the search_from_to method.
71969         (gl_list_search_from, gl_list_search_from_to): New functions.
71970         (gl_list_indexof): Use the indexof_from_to method.
71971         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71972         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71973         (gl_list_search_from, gl_list_search_from_to): New functions.
71974         (gl_list_indexof): Use the indexof_from_to method.
71975         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71976         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71977         gl_array_indexof. Add start_index, end_index arguments.
71978         (gl_array_search_from_to): Renamed from gl_array_search. Add
71979         start_index, end_index arguments.
71980         (gl_array_remove, gl_array_list_implementation): Update.
71981         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71982         gl_carray_indexof. Add start_index, end_index arguments.
71983         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71984         start_index, end_index arguments.
71985         (gl_carray_remove, gl_carray_list_implementation): Update.
71986         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71987         gl_linked_search. Add start_index, end_index arguments.
71988         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71989         start_index, end_index arguments.
71990         (gl_linked_remove): Update.
71991         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71992         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71993         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71994         field to 'size_t'.
71995         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71996         gl_tree_search. Add start_index, end_index arguments.
71997         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71998         start_index, end_index arguments.
71999         (gl_tree_remove): Update.
72000         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72001         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72002         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72003         function.
72004         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72005         gl_tree_search. Add start_index, end_index arguments.
72006         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72007         start_index, end_index arguments.
72008         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72009         Update.
72010         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72011
72012 2006-10-05  Bruno Haible  <bruno@clisp.org>
72013
72014         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72015
72016         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72017         fwriteerror_temp): New declarations.
72018         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72019         (descriptors): New variable.
72020         (cleanup): First, close the descriptors.
72021         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72022         fclose_temp, fwriteerror_temp): New functions.
72023
72024 2006-10-04  Jim Meyering  <jim@meyering.net>
72025
72026         * lib/fts.c (fts_open): Tiny comment change.
72027
72028 2006-10-04  Bruno Haible  <bruno@clisp.org>
72029
72030         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72031         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72032         gl_LOCK_BODY.
72033         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72034         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72035         gl_LOCK_EARLY_BODY.
72036         (gl_LOCK): Require gl_LOCK_BODY.
72037
72038 2006-10-04  Bruno Haible  <bruno@clisp.org>
72039
72040         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72041         (gl_oset_search_atleast): New declaration.
72042         (struct gl_oset_implementation): Add field 'search_atleast'.
72043         (gl_oset_search_atleast): New inline function.
72044         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72045         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72046         (gl_array_oset_implementation): Update.
72047         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72048         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72049         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72050
72051 2006-10-04  Bruno Haible  <bruno@clisp.org>
72052
72053         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72054
72055 2006-10-03  Bruno Haible  <bruno@clisp.org>
72056
72057         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72058         from gl_avltreehash_list_implementation.
72059
72060 2006-10-03  Bruno Haible  <bruno@clisp.org>
72061
72062         * lib/gl_oset.c (gl_oset_add): Fix return type.
72063
72064 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72065
72066         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72067
72068 2006-10-02  Eric Blake  <ebb9@byu.net>
72069
72070         * modules/strnlen (Depends-on): Add extensions.
72071
72072 2006-10-02  Eric Blake  <ebb9@byu.net>
72073
72074         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72075         definition in 2.60+.
72076
72077 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72078
72079         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72080         checks.
72081
72082 2006-10-02  Bruno Haible  <bruno@clisp.org>
72083
72084         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72085         to the AUTOMAKE_OPTIONS.
72086         Reported by Jim Meyering.
72087
72088 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72089
72090         Work around bug in Solaris 10 /proc file system:
72091         /proc/self/fd/NNN/.. isn't the parent directory of
72092         the directory whose file descriptor is NNN.  This needs to
72093         be worked around at run time, not compile time, since a
72094         program might be built on Solaris 8, where things work, and
72095         run on Solaris 10.
72096         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72097         to use the following interface instead:
72098         (OPENAT_BUFFER_SIZE): New macro.
72099         (openat_proc_name): New function.
72100         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72101         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72102         Likewise.
72103         * lib/openat-proc.c: New file.
72104         * modules/openat (Files): Add lib/openat-proc.c.
72105         (Depends-on): Add same-inode, stdbool.
72106         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72107
72108 2006-09-29  Bruno Haible  <bruno@clisp.org>
72109
72110         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72111         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72112         argument. Set stdout_closed before testing for ferror, not after.
72113         (fwriteerror, fwriteerror_no_ebadf): New functions.
72114
72115 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72116
72117         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72118
72119 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72120
72121         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72122         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72123
72124 2006-09-28  Jim Meyering  <jim@meyering.net>
72125
72126         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72127         Include <unistd.h>.
72128
72129 2006-09-28  Bruno Haible  <bruno@clisp.org>
72130
72131         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72132         * modules/linkedhash-list (Depends-on): Likewise.
72133         * modules/rbtreehash-list (Depends-on): Likewise.
72134
72135 2006-09-28  Bruno Haible  <bruno@clisp.org>
72136
72137         * lib/strndup.h: Simplify the redefinition of strndup.
72138         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72139         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72140
72141 2006-09-28  Bruno Haible  <bruno@clisp.org>
72142
72143         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72144         * lib/gl_linkedhash_list.c: Likewise.
72145         * lib/gl_rbtreehash_list.c: Likewise.
72146
72147 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72148
72149         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72150         getaddrinfo.
72151
72152         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72153         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72154         it causes <stdio_ext.h> to cause a compile-time error.
72155         Problem reported by Nelson H. F. Beebe.
72156         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72157         of HAVE_DECL___PENDING.
72158
72159         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72160         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72161         declaration.
72162
72163 2006-09-27  Jim Meyering  <jim@meyering.net>
72164
72165         This file could end up with a definition for a function
72166         named __strndup, rather than rpl_strndup on a system with
72167         incomplete weak_alias support.
72168         * lib/strndup.c (strndup): Rename from __strndup.
72169         Remove #defines that used to map __strndup to strndup.
72170         Don't use K&R prototypes.
72171         Remove LIBC-related code, since this file is not sync'd with glibc.
72172         * lib/strndup.h: Revamp, accordingly.
72173         * m4/strndup.m4: Modernize.
72174
72175 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72176
72177         * modules/savewd (Depends-on): Add 'raise'.
72178         * lib/savewd.c: Include <signal.h>, for 'raise'.
72179
72180 2006-09-26  Jim Meyering  <jim@meyering.net>
72181
72182         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72183         when we detect Darwin 8.7.0's acl_get_file bug.
72184         Rearrange to perform the new (below) run-test while $LIBS
72185         contains any acl-related library.  Set USE_ACL at the end.
72186         (gl_ACL_GET_FILE): New function.
72187
72188 2006-09-26  Eric Blake  <ebb9@byu.net>
72189
72190         * lib/verror.c: Include <config.h> unconditionally.
72191
72192 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72193
72194         * modules/clock-time (Maintainer): Add self.
72195         * modules/getlogin_r (Depends-on): Add extensions.
72196
72197 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72198
72199         * modules/clock-time: New module.
72200         * modules/nanosleep (Depends-on): Add clock-time.
72201         * modules/gethrxtime (Depends-on): Likewise.
72202         * modules/gettime (Depends-on): Likewise.
72203         * modules/settime (Depends-on): Likewise.
72204
72205         * modules/fts-lgpl: Depend on openat.
72206         * modules/mkancesdirs: Depend on savewd.
72207         * modules/mkdir-p: Likewise.
72208
72209 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72210
72211         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72212
72213         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72214         `gl_have_arbitrary_file_name_length_limit' to
72215         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72216         actually works between configure runs.
72217
72218 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72219             Bruno Haible  <bruno@clisp.org>
72220
72221         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72222
72223 2006-09-25  Jim Meyering  <jim@meyering.net>
72224
72225         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72226         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72227
72228 2006-09-25  Eric Blake  <ebb9@byu.net>
72229
72230         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72231         exec's in 2006-09-18 patch when shuffling fds.
72232
72233 2006-09-25  Bruno Haible  <bruno@clisp.org>
72234
72235         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72236         Reported by Jim Meyering.
72237
72238 2006-09-24  Jim Meyering  <jim@meyering.net>
72239
72240         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72241         compare a pointer against a literal "0".  That caused failures with
72242         at least HP-UX's hpcc.
72243
72244 2006-09-22  Simon Josefsson  <jas@extundo.com>
72245
72246         * modules/gc-sha1:
72247         * modules/gc-md4:
72248         * modules/gc-hmac-sha1:
72249         * modules/gc-hmac-md5:
72250         * modules/gc-des:
72251         * modules/gc-arcfour: Distribute more files.
72252
72253 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72254
72255         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72256         (gl_linked_iterator_from_to): Initialize struct completely.
72257         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72258         (gl_tree_iterator_from_to): Likewise
72259         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72260         * lib/gl_array_list.c [lint] (gl_array_iterator)
72261         (gl_array_iterator_from_to): Likewise.
72262         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72263         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72264         (gl_carray_iterator_from_to): Likewise.
72265
72266         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72267         * lib/md4.c (md4_process_block): Remove unused variable.
72268         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72269         parentheses for clarity.
72270
72271 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72272
72273         * modules/bison-i18n (Depends-on): Add gettext.
72274
72275 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72276
72277         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72278         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72279         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72280         also add missing comma that caused broken test.
72281         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72282         stdlib.h, for `abort'.
72283         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72284         variables.
72285         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72286         include unistd.h if present, for `rmdir'.
72287         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72288         variables.
72289         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72290         in the process include standard headers for prototypes.
72291         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72292         gets declared on GNU/Linux.
72293         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72294         unistd.h, for `rmdir'.
72295         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72296
72297         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72298         always true.
72299         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72300
72301         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72302
72303 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72304
72305         * gnulib-tool (func_version): Create output all at once.  This
72306         may help avoid triggering unnecessary SIGPIPEs, and at any
72307         rate it doesn't hurt.
72308
72309 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72310             Bruno Haible  <bruno@clisp.org>
72311
72312         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72313         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72314         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72315
72316         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72317         (gl_FUNC_VASPRINTF): Invoke it.
72318
72319 2006-09-22  Bruno Haible  <bruno@clisp.org>
72320
72321         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72322         getloadavg.c as first argument.
72323
72324 2006-09-22  Bruno Haible  <bruno@clisp.org>
72325
72326         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72327         at the beginning of the gl_INIT macro.
72328         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72329         gl_GETLOADAVG.
72330
72331 2006-09-22  Bruno Haible  <bruno@clisp.org>
72332
72333         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72334         module.
72335         Suggested by Ralf Wildenhues.
72336
72337 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72338
72339         Import this patch from libc:
72340
72341         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72342
72343         * lib/regex_internal.c (re_string_reconstruct): Handle
72344         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72345         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72346         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72347         re_string_context_at.
72348
72349         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72350         now requires it.
72351         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72352         gl_REGEX now does it for us.
72353         (gl_REGEX): Add test taken from
72354         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72355
72356         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72357         Check that large offsets work.  Modernize Autoconf usages.
72358         Prefer "yes" to mean a good thing rather than a bad.
72359         Don't put "#define mkstemp" in config.h, as this might interfere
72360         with standard system headers that "#define mkstemp mkstemp64".
72361
72362         * modules/mkstemp (Depends-on): Add extensions, so that
72363         mkstemp is visible on some platforms.
72364         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72365         (Include): Change to "mkstemp.h" from <stdlib.h>.
72366         (Files): Add mkstemp.h.
72367
72368         * lib/mkstemp.h: New file, since some standard headers
72369         #define mkstemp.
72370         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72371         Include "mkstemp.h".
72372         Make the _LIBC code resemble glibc original more,
72373         e.g., use K&R style.
72374         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72375         (mkstemp): Remove, since mkstemp.h does this for us.
72376         * lib/stdlib--.h: Include mkstemp.h.
72377
72378         Import this patch from libc:
72379
72380         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72381
72382         * lib/tempname.c (__gen_tempname): Change attempts_min
72383         into a macro.  Use preprocessor to decide how to initialize
72384         attempts [Coverity CID 67].
72385
72386 2006-09-20  Bruno Haible  <bruno@clisp.org>
72387
72388         * lib/mkdtemp.c: Import from libc.
72389         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72390                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72391                 attempts_min into a macro.  Use preprocessor to decide how to
72392                 initialize attempts [Coverity CID 67].
72393         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72394                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72395                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72396
72397 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72398
72399         * gnulib-tool (func_exit): New function, to allow to pass the
72400         exit status portably through the trap.  Use everywhere.
72401         (--help, --version): Signal a write error.
72402         (trap): catch SIGPIPE, for write errors.
72403         Exit at the end of the trap, with the correct exit status.
72404
72405 2006-09-19  Karl Berry  <karl@gnu.org>
72406
72407         * doc/gnulib.texi: note about the license texinfo files.
72408
72409 2006-09-19  Eric Blake  <ebb9@byu.net>
72410
72411         * gnulib-tool: Avoid space-tab.
72412
72413 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72414
72415         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72416         that prevented coreutils 6.1 from building.  Problem reported
72417         by Petter Reinholdtsen.
72418
72419 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72420
72421         * gnulib-tool (avoidlist): Fix typo that broke options like
72422         --avoid=lock that are used by coreutils bootstrap.
72423
72424 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72425
72426         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72427         more systematically.
72428
72429 2006-09-18  Jim Meyering  <jim@meyering.net>
72430
72431         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72432
72433 2006-09-18  Bruno Haible  <bruno@clisp.org>
72434
72435         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72436
72437 2006-09-18  Bruno Haible  <bruno@clisp.org>
72438
72439         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72440         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72441         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72442         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72443         * m4/gettext.m4: Require autoconf >= 2.52.
72444         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72445         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72446         of gl_cv_header_inttypes_h.
72447
72448 2006-09-18  Bruno Haible  <bruno@clisp.org>
72449
72450         * lib/javaversion.c: Include configmake.h.
72451
72452 2006-09-18  Bruno Haible  <bruno@clisp.org>
72453
72454         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72455         avoid that the while loops be executed in a subshell.
72456
72457 2006-09-18  Bruno Haible  <bruno@clisp.org>
72458
72459         * MODULES.html.sh (func_module): Break long lines.
72460         Suggested by Bruce Korb <bkorb@gnu.org>.
72461
72462 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72463
72464         Speed up by a factor of 1.12.
72465         * gnulib-tool (nl): New variable.
72466         (func_import): Rewrite include directive extraction to only read each
72467         directive once.
72468
72469 2006-09-17  Bruno Haible  <bruno@clisp.org>
72470
72471         * modules/javaversion (Makefile.am): Remove DEFS setting.
72472         (Depends-on): Add configmake, for PKGDATADIR definition.
72473
72474 2006-09-17  Bruno Haible  <bruno@clisp.org>
72475
72476         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72477
72478 2006-09-17  Bruno Haible  <bruno@clisp.org>
72479
72480         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72481         (func_modules_transitive_closure, func_modules_add_dummy,
72482         func_modules_to_filelist, func_import, func_create_testdir,
72483         func_create_megatestdir, ...): Use it wherever possible.
72484         Suggested by Ralf Wildenhues.
72485
72486 2006-09-16  Karl Berry  <karl@gnu.org>
72487
72488         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72489         to avoid sectioning errors.
72490         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72491         [ifinfo]: blank line after @center-ed titles.
72492         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72493         Spell FSF address consistently with others.
72494         (These changes approved by rms.)
72495
72496 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72497
72498         Speed up by a factor of 1.61.
72499         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72500         already checked module names again.
72501
72502 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72503
72504         Speed up by a factor of 1.13.
72505         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72506         for new_files, and the input to func_add_or_update.
72507
72508 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72509
72510         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72511         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72512
72513 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72514
72515         * modules/mkancesdirs (Depends-on): Add fcntl.
72516         * modules/savewd: New file.
72517         * MODULES.html.sh (File system functions): Add savewd.
72518
72519         * modules/configmake (Makefile.am): Add support for the
72520         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72521
72522 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72523
72524         * m4/savewd.m4: New file.
72525
72526 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72527
72528         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72529         (dirchownmod): New arg FD.  All callers changed.
72530         Use FD rather than opening the directory ourself, as opening is
72531         now the caller's responsibility.
72532         * lib/dirchownmod.h: Likewise.
72533         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72534         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72535         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72536         (test_dir): Remove.
72537         (mkancesdirs): Return length of prefix of FILE that has already
72538         been made, or -2 if there is a child doing the work.  Redo
72539         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72540         ".", and treat ".." specially since it might stray back into
72541         already-created areas.  Use a subprocess if necessary.  New arg
72542         WD; all users changed.  MAKE_DIR function should now return 1
72543         if it creates a directory that is not readable.  Return -2 if
72544         a child process is spun off.
72545         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72546         Adjust signature to match code.
72547         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72548         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72549         all users changed.
72550         * lib/savewd.c, lib/savewd.h: New files.
72551
72552 2006-09-15  Jim Meyering  <jim@meyering.net>
72553
72554         * modules/rename-dest-slash: New module.
72555         * MODULES.html.sh (posix_compat): Add it here.
72556
72557         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72558
72559 2006-09-15  Jim Meyering  <jim@meyering.net>
72560
72561         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72562         file.
72563
72564         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72565
72566 2006-09-15  Jim Meyering  <jim@meyering.net>
72567
72568         * lib/rename-dest-slash.c (has_trailing_slash): Use
72569         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72570         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72571         test before testing whether SRC is a directory.
72572         Suggestions from Bruno Haible.
72573
72574         Avoid a warning about an unused variable.
72575         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72576         into the #ifdef block where it's used.
72577
72578         * lib/rename-dest-slash.c: New file.
72579
72580 2006-09-14  Bruno Haible  <bruno@clisp.org>
72581
72582         * lib/allocsa.c: Include <config.h> unconditionally.
72583         * lib/asnprintf.c: Likewise.
72584         * lib/asprintf.c: Likewise.
72585         * lib/c-strcasecmp.c: Likewise.
72586         * lib/c-strcasestr.c: Likewise.
72587         * lib/c-strncasecmp.c: Likewise.
72588         * lib/c-strstr.c: Likewise.
72589         * lib/classpath.c: Likewise.
72590         * lib/clean-temp.c: Likewise.
72591         * lib/concatpath.c: Likewise.
72592         * lib/copy-file.c: Likewise.
72593         * lib/csharpcomp.c: Likewise.
72594         * lib/csharpexec.c: Likewise.
72595         * lib/execute.c: Likewise.
72596         * lib/fatal-signal.c: Likewise.
72597         * lib/findprog.c: Likewise.
72598         * lib/fwriteerror.c: Likewise.
72599         * lib/gl_array_list.c: Likewise.
72600         * lib/gl_array_oset.c: Likewise.
72601         * lib/gl_avltree_list.c: Likewise.
72602         * lib/gl_avltree_oset.c: Likewise.
72603         * lib/gl_avltreehash_list.c: Likewise.
72604         * lib/gl_carray_list.c: Likewise.
72605         * lib/gl_linked_list.c: Likewise.
72606         * lib/gl_linkedhash_list.c: Likewise.
72607         * lib/gl_list.c: Likewise.
72608         * lib/gl_oset.c: Likewise.
72609         * lib/gl_rbtree_list.c: Likewise.
72610         * lib/gl_rbtree_oset.c: Likewise.
72611         * lib/gl_rbtreehash_list.c: Likewise.
72612         * lib/imaxabs.c: Likewise.
72613         * lib/imaxdiv.c: Likewise.
72614         * lib/javacomp.c: Likewise.
72615         * lib/javaexec.c: Likewise.
72616         * lib/javaversion.c: Likewise.
72617         * lib/linebreak.c: Likewise.
72618         * lib/localcharset.c: Likewise.
72619         * lib/lock.c: Likewise.
72620         * lib/mbchar.c: Likewise.
72621         * lib/mbswidth.c: Likewise.
72622         * lib/mkdtemp.c: Likewise.
72623         * lib/pipe.c: Likewise.
72624         * lib/printf-args.c: Likewise.
72625         * lib/printf-parse.c: Likewise.
72626         * lib/progname.c: Likewise.
72627         * lib/progreloc.c: Likewise.
72628         * lib/readlink.c: Likewise.
72629         * lib/sh-quote.c: Likewise.
72630         * lib/stpcpy.c: Likewise.
72631         * lib/stpncpy.c: Likewise.
72632         * lib/strcasecmp.c: Likewise.
72633         * lib/strcasestr.c: Likewise.
72634         * lib/strcspn.c: Likewise.
72635         * lib/striconv.c: Likewise.
72636         * lib/strncasecmp.c: Likewise.
72637         * lib/strnlen1.c: Likewise.
72638         * lib/strstr.c: Likewise.
72639         * lib/strtok_r.c: Likewise.
72640         * lib/tls.c: Likewise.
72641         * lib/tmpdir.c: Likewise.
72642         * lib/unicodeio.c: Likewise.
72643         * lib/unsetenv.c: Likewise.
72644         * lib/vasnprintf.c: Likewise.
72645         * lib/vasprintf.c: Likewise.
72646         * lib/wait-process.c: Likewise.
72647         * lib/xallocsa.c: Likewise.
72648         * lib/xsetenv.c: Likewise.
72649         * lib/xstriconv.c: Likewise.
72650
72651 2006-09-13  Simon Josefsson  <jas@extundo.com>
72652
72653         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72654         that internally, suggested by Ralf Wildenhues
72655         <Ralf.Wildenhues@gmx.de>.
72656
72657 2006-09-13  Simon Josefsson  <jas@extundo.com>
72658
72659         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72660         @LIBOBJS@.
72661         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72662
72663 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72664
72665         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72666         longer worry about uses that don't define HAVE_CONFIG_H.
72667         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72668         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72669         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72670         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72671         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72672         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72673         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72674         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72675         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72676         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72677         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72678         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72679         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72680         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72681         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72682         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72683         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72684         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72685         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72686         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72687         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72688         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72689         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72690         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72691         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72692         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72693         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72694         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72695         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72696         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72697         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72698         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72699         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72700         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72701         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72702         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72703         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72704         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72705         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72706         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72707         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72708         Likewise.
72709
72710 2006-09-13  Eric Blake  <ebb9@byu.net>
72711
72712         * lib/getopt.c: Fix typo in last commit.
72713
72714 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72715
72716         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72717         dgettext.
72718
72719 2006-09-12  Jim Meyering  <jim@meyering.net>
72720
72721         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72722         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72723         Reported by Nelson H. F. Beebe.
72724
72725 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72726
72727         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72728         program_invocation_name and program_invocation_short_name are
72729         initialized.
72730         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72731         and program_invocation_short_name to argp.h, so they are visible
72732         to user programs.
72733         * lib/argp.h: Likewise
72734
72735 2006-09-10  Bruno Haible  <bruno@clisp.org>
72736
72737         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72738         m4/inttypes_h.m4, m4/uintmax_t.m4.
72739
72740 2006-09-10  Bruno Haible  <bruno@clisp.org>
72741
72742         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72743         gl_AC_TYPE_UINTMAX_T.
72744
72745 2006-09-10  Bruno Haible  <bruno@clisp.org>
72746
72747         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72748
72749 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72750
72751         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72752         convention.  Text proposed by Bruno Haible.
72753         (struct argp_option): Document the use of N_() wrappers.
72754
72755         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72756         '\v', and translate the two parts separately, instead of feeding
72757         the whole string to gettext.  This allows to exclude
72758         '\v' from the strings visible to the translator by writing doc
72759         strings as N_("..") "\v" N_("..").
72760
72761 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72762
72763         * config/srclist.txt: Undo latest change; the bug was fixed.
72764
72765 2006-09-09  Bruno Haible  <bruno@clisp.org>
72766
72767         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72768         assignments if building a library without libtool.
72769         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72770         in func_emit_lib_Makefile_am.
72771         (func_import): When building a static library libfoo.a, arrange to
72772         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72773         (func_create_testdir): Likewise.
72774         * modules/gc (configure.ac, Makefile.am): If building statically,
72775         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72776         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72777         * modules/striconv (configure.ac, Makefile.am): Likewise.
72778         Based on a suggestion by Ralf Wildenhues.
72779
72780 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72781
72782         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72783         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72784         Also:
72785
72786         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72787         Add year_2050_test to catch glibc bug 2821
72788         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72789
72790         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72791         Prefer #ifdef to #if.
72792
72793         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72794         Return from 'main' instead of calling 'exit'.
72795
72796 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72797
72798         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72799         returned the maximum time_t value rather than (time_t) -1.
72800         Problem originally reported by William Bardwell
72801         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72802
72803         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72804         Moved to here ...
72805         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72806         ... from here.
72807
72808 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72809
72810         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72811         2821 is fixed.
72812
72813 2006-09-08  Jim Meyering  <jim@meyering.net>
72814
72815         Don't make generated files read-only.  That would bother too many
72816         people.  However, do retain the ability to work when targets are
72817         read-only: remove the destination and temporary files before writing
72818         them (when generated via sed or echo), or by using the -f option for
72819         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72820         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72821         * modules/byteswap, modules/configmake, modules/fcntl:
72822         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72823         * modules/localcharset, modules/netinet_in, modules/poll:
72824         * modules/stdbool, modules/stdint, modules/sys_select:
72825         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72826
72827 2006-09-08  Jim Meyering  <jim@meyering.net>
72828
72829         Avoid new build failure on FreeBSD 6.0.
72830         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72831         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72832         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72833
72834 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72835
72836         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72837
72838 2006-09-07  Jim Meyering  <jim@meyering.net>
72839
72840         Fix global typo in last change: use chmod u-w, not chmod u-x.
72841         Spotted by Paul Eggert and Bruce Korb.
72842         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72843         * modules/byteswap, modules/configmake, modules/fcntl:
72844         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72845         * modules/localcharset, modules/netinet_in, modules/poll:
72846         * modules/stdbool, modules/stdint, modules/sys_select:
72847         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72848
72849 2006-09-06  Jim Meyering  <jim@meyering.net>
72850
72851         Make generated files be read-only.
72852         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72853         Ensure that each generated file is now read-only.
72854         * modules/argz: Likewise.
72855         * modules/arpa_inet: Likewise.
72856         * modules/byteswap: Likewise.
72857         * modules/configmake: Likewise.
72858         * modules/fcntl: Likewise.
72859         * modules/fnmatch: Likewise.
72860         * modules/getopt: Likewise.
72861         * modules/glob: Likewise.
72862         * modules/inttypes: Likewise.
72863         * modules/netinet_in: Likewise.
72864         * modules/poll: Likewise.
72865         * modules/stdbool: Likewise.
72866         * modules/stdint: Likewise.
72867         * modules/sys_select: Likewise.
72868         * modules/sys_socket: Likewise.
72869         * modules/sys_stat: Likewise.
72870         * modules/sysexits: Likewise.
72871         * modules/localcharset: Same as above, but continue using temporary
72872         file named "t-$@" (why different?) rather than the "$@-t" used
72873         everywhere else.
72874
72875         * modules/sysexits (Makefile.am): Replace literal occurrences
72876         of "sysexit.h" more readable, and more consistent, "$@".
72877
72878 2006-09-06  Bruno Haible  <bruno@clisp.org>
72879
72880         * modules/striconv: New file.
72881         * modules/xstriconv: New file.
72882         * MODULES.html.sh (Internationalization functions): Add striconv,
72883         xstriconv.
72884
72885 2006-09-06  Bruno Haible  <bruno@clisp.org>
72886
72887         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72888         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72889         not using libtool correctly.
72890
72891 2006-09-06  Bruno Haible  <bruno@clisp.org>
72892
72893         * lib/striconv.h: New file.
72894         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72895         iconvstring.c.
72896         * lib/xstriconv.h: New file.
72897         * lib/xstriconv.c: New file.
72898
72899 2006-09-06  Bruno Haible  <bruno@clisp.org>
72900
72901         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72902         lib_..._LDFLAGS.
72903
72904 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72905
72906         * lib/argz_.h: Sync from Libtool.
72907
72908         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72909                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72910
72911         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72912
72913 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72914
72915         * modules/trim: New file.
72916
72917 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72918
72919         * lib/trim.h: New file.
72920         * lib/trim.c: New file.
72921
72922 2006-09-05  Bruno Haible  <bruno@clisp.org>
72923
72924         * MODULES.html.sh (String handling): Add trim.
72925
72926 2006-09-04  Karl Berry  <karl@gnu.org>
72927
72928         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72929         until next release.
72930
72931 2006-09-03  Bruno Haible  <bruno@clisp.org>
72932
72933         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72934         correctly.
72935
72936 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72937
72938         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72939         not gl_GETLOADAVG.  Omit unneeded semicolons.
72940         Problems reported by Ralf Wildenhues in
72941         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72942         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72943         at the end, which is the usual gnulib style.
72944
72945         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72946         of doing all the work ourselves.
72947         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72948         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72949
72950 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72951
72952         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72953         Problem reported by Ralf Wildenhues in
72954         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72955
72956         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72957         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72958
72959 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72960
72961         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72962         yesterday's patch by changing test -n to test -z.
72963
72964 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72965
72966         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72967         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72968         the former is now obsolescent.
72969
72970         * modules/chdir-long (Depends-on): Add fcntl.
72971
72972 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72973
72974         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72975         obsolescent, and programs should use gnulib instead.
72976         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72977         but with prefixes changed.
72978
72979 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72980
72981         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72982         or stdbool.h, because they might not exist while configuring.
72983
72984         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72985         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72986         does that for us.
72987         (O_DIRECTORY): Remove.
72988
72989 2006-08-31  Eric Blake  <ebb9@byu.net>
72990
72991         * gnulib-tool: Don't let emacs change spaces to TAB.
72992
72993 2006-08-31  Bruno Haible  <bruno@clisp.org>
72994
72995         * gnulib-tool: When calling func_import more than once, do it in a
72996         subshell.
72997         Reported by Eric Blake <ebb9@byu.net>.
72998
72999 2006-08-31  Bruno Haible  <bruno@clisp.org>
73000
73001         * gnulib-tool (nl): Remove variable.
73002         (sed_transform_lib_file): Use more robust test for config-h module.
73003         (func_import): Fix typo in 2006-08-25 patch.
73004
73005 2006-08-31  Bruno Haible  <bruno@clisp.org>
73006
73007         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73008         specified, augment Makefile.am variables instead of assigning them.
73009
73010 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         Work around a bug in both the Linux and SunOS 64-bit kernels:
73013         nanosleep mishandles sleeps for longer than 2**31 seconds.
73014         Problem reported by Frank v Waveren in
73015         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73016         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73017         Check for nanosleep bug.
73018         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73019
73020 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73021
73022         Work around a bug in both the Linux and SunOS 64-bit kernels:
73023         nanosleep mishandles sleeps for longer than 2**31 seconds.
73024         Problem reported by Frank v Waveren in
73025         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73026         * lib/nanosleep.c (BILLION): New constant.
73027         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73028         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73029         implementation.
73030
73031 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73032
73033         * modules/nanosleep (Depends-on): Add gettime.
73034
73035 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73036         and Simon Josefsson  <jas@extundo.com>
73037         and Oskar Liljeblad  <oskar@osk.mine.nu>
73038
73039         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73040         * gnulib-tool (func_import): New license type 'unmodifiable license
73041         text'.
73042         * modules/fdl: Use it.  Longer description.
73043         * module/gpl, module/lgpl: New files.
73044
73045 2006-08-30  Jim Meyering  <jim@meyering.net>
73046
73047         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73048         shadowing the parameter.
73049
73050 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73051
73052         Sync from Libtool:
73053
73054         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73055
73056         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73057         sharing with gnulib.  Report by Eric Blake.
73058
73059 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73060
73061         * modules/isapipe: New file.
73062         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73063
73064 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73065
73066         * modules/configmake (Makefile.am): Add a comment, and omit
73067         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73068         by Bruno Haible.
73069
73070 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73071
73072         * m4/isapipe.m4: New file.
73073
73074 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73075
73076         * lib/isapipe.c, lib/isapipe.h: New files.
73077
73078 2006-08-29  Jim Meyering  <jim@meyering.net>
73079
73080         * modules/configmake (Makefile.am): Make configmake.h depend on
73081         Makefile.  Otherwise, a stale configmake.h could hang around.
73082
73083 2006-08-29  Eric Blake  <ebb9@byu.net>
73084
73085         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73086         resolution of upstream bug 3044.
73087
73088 2006-08-29  Bruno Haible  <bruno@clisp.org>
73089
73090         * modules/localcharset (Depends-on): Add configmake.
73091         (Makefile.am): Remove setting of LIBDIR through DEFS.
73092
73093 2006-08-29  Bruno Haible  <bruno@clisp.org>
73094
73095         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73096         defined.
73097
73098 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73099
73100         * modules/fcntl: New file.
73101         * modules/chdir-safer (Depends-on): Add fcntl.
73102         * modules/fts: Likewise.
73103         * modules/mkdir-p: Likewise.
73104
73105         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73106         This undoes the most recent change, since we're now addressing the
73107         problem in a different way.
73108
73109         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73110         into output, since the output might be called Makefile.am even
73111         if $makefile_name is something different.
73112         (func_import): Use $makefile_am rather than
73113         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73114         empty.
73115
73116         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73117
73118 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73119
73120         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73121         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73122         recent change to stdint.m4, since we're now addressing the problem in a
73123         different way.
73124
73125 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73126
73127         * m4/fcntl_h.m4: New file.
73128
73129 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73130
73131         * lib/fcntl_.h: New file.
73132         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73133         the fcntl module.
73134         * lib/dirchownmod.c: Likewise.
73135         * lib/fts.c: Likewise.
73136
73137         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73138         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73139         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73140         just before including <inttypes.h>, to avoid circular inclusion.
73141
73142 2006-08-28  Jim Meyering  <jim@meyering.net>
73143
73144         * doc/visibility.texi: Actually read and correct the grammar of the
73145         sentence affected by yesterday's change.
73146
73147 2006-08-28  Eric Blake  <ebb9@byu.net>
73148
73149         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73150         needs wrapper.
73151
73152 2006-08-28  Eric Blake  <ebb9@byu.net>
73153
73154         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73155
73156 2006-08-28  Eric Blake  <ebb9@byu.net>
73157
73158         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73159
73160 2006-08-28  Bruno Haible  <bruno@clisp.org>
73161
73162         * modules/c-strstr: New file, from GNU gettext.
73163         * MODULES.html.sh (String handling): Add c-strstr.
73164
73165 2006-08-28  Bruno Haible  <bruno@clisp.org>
73166
73167         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73168         macros.
73169         Reported by Eric Blake.
73170
73171 2006-08-28  Bruno Haible  <bruno@clisp.org>
73172
73173         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73174         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73175         * lib/vasprintf.c: Include errno.h, limits.h.
73176         (EOVERFLOW): New fallback definition.
73177         (vasprintf): Test here whether the string length is > INT_MAX.
73178         * lib/vsnprintf.c: Include errno.h, limits.h.
73179         (EOVERFLOW): New fallback definition.
73180         (vsnprintf): Fix bug when generated string was too long for the buffer.
73181         Test here whether the string length is > INT_MAX.
73182
73183 2006-08-28  Bruno Haible  <bruno@clisp.org>
73184
73185         * lib/inttypes_.h (SCNX*): Remove definitions.
73186         Reported by Eric Blake.
73187
73188 2006-08-28  Bruno Haible  <bruno@clisp.org>
73189
73190         * lib/c-strstr.h: New file, from GNU gettext.
73191         * lib/c-strstr.c: New file, from GNU gettext.
73192
73193 2006-08-28  Bruno Haible  <bruno@clisp.org>
73194
73195         * gnulib-tool: Reorder some statements.
73196
73197 2006-08-28  Bruno Haible  <bruno@clisp.org>
73198
73199         * gnulib-tool: New option --makefile-name.
73200         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73201         $makefile_name.
73202         (func_import): Write $makefile_name to the cache file, and read it from
73203         there unless explicitly specified. Use $makefile_name as file name
73204         instead of Makefile.am. Adjust the recommendations accordingly.
73205
73206 2006-08-28  Bruno Haible  <bruno@clisp.org>
73207
73208         * gnulib-tool (func_verify_module): Check against misapplying patch.
73209
73210 2006-08-28  Bruno Haible  <bruno@clisp.org>
73211
73212         * gnulib-tool (func_relativize, func_relconcat): New functions.
73213         Give an error if --local-dir is given with --update.
73214         Remove trailing slashes from $local_gnulib_dir.
73215         (func_import): Store the relativized $local_gnulib_dir in
73216         gnulib-cache.m4, and read it from there if not specified explicitly.
73217
73218 2006-08-28  Bruno Haible  <bruno@clisp.org>
73219
73220         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73221         is the current directory. Respect also $local_gnulib_dir.
73222
73223 2006-08-28  Bruno Haible  <bruno@clisp.org>
73224             Simon Josefsson  <jas@extundo.com>
73225
73226         BeOS portability.
73227         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73228
73229 2006-08-27  Jim Meyering  <jim@meyering.net>
73230
73231         * doc/visibility.texi: Remove duplicate word: "pointer".
73232
73233 2006-08-26  Bruno Haible  <bruno@clisp.org>
73234
73235         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73236         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73237         (Makefile.am): Create inttypes.h from inttypes_.h.
73238         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73239
73240         * modules/imaxabs: New file.
73241
73242         * modules/imaxdiv: New file.
73243
73244 2006-08-26  Bruno Haible  <bruno@clisp.org>
73245
73246         * m4/inttypes.m4: New file.
73247         * m4/_inttypes_h.m4: Remove file.
73248         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73249         PRI_MACROS_BROKEN.
73250         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73251
73252         * m4/imaxabs.m4: New file.
73253
73254         * m4/imaxdiv.m4: New file.
73255
73256 2006-08-26  Bruno Haible  <bruno@clisp.org>
73257
73258         * lib/inttypes_.h: New file.
73259         * lib/inttypes.h: Remove file.
73260         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73261
73262         * lib/imaxabs.c: New file.
73263
73264         * lib/imaxdiv.c: New file.
73265
73266 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73267
73268         New config-h module, so that "make" output needn't be cluttered
73269         by -DHAVE_CONFIG_H.
73270         * MODULES.html.sh (Support for building libraries and executables):
73271         Add config-h.
73272         * modules/config-h: New file.
73273         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73274         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73275         the config-h module is used.
73276
73277         New configmake module, so that "make" output needn't be cluttered
73278         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73279         * MODULES.html.sh (Support for building libraries and executables):
73280         Add configmake.
73281         * modules/configmake: New file.
73282
73283 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73284
73285         * m4/config-h.m4: New file.
73286
73287 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73288
73289         * config/srclist.txt: Add elisp-comp.
73290
73291 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73292
73293         * MODULES.html.sh (Support for building libraries and executables):
73294         Add elisp-comp.
73295         * build-aux/elisp-comp: New file.
73296         * modules/elisp-comp: New file.
73297
73298 2006-08-24  Bruno Haible  <bruno@clisp.org>
73299
73300         * gnulib-tool (func_create_testdir): Use non-default values of
73301         sourcebase and m4base.
73302
73303 2006-08-24  Bruno Haible  <bruno@clisp.org>
73304
73305         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73306         HTML structure.
73307
73308 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73309
73310         * modules/openat (Depends-on): Add lchown.
73311
73312 2006-08-23  Bruno Haible  <bruno@clisp.org>
73313
73314         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73315         of gl_LOCK_EARLY instead of gl_LOCK.
73316
73317 2006-08-23  Bruno Haible  <bruno@clisp.org>
73318
73319         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73320         on OSF/1 to no.
73321         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73322
73323 2006-08-23  Bruno Haible  <bruno@clisp.org>
73324
73325         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73326         as unusable.
73327
73328         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73329         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73330         (gl_LOCK): New macro.
73331
73332 2006-08-22  Simon Josefsson  <jas@extundo.com>
73333
73334         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73335         to md5 module.
73336
73337 2006-08-22  Simon Josefsson  <jas@extundo.com>
73338
73339         * MODULES.html.sh: Add "Support for maintaining and release
73340         projects".
73341
73342         * build-aux/gnupload: New file, from coreutils.
73343
73344 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73345
73346         Avoid the need for AC_LIBSOURCES in m4 macros.
73347         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73348         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73349         * modules/check-version (EXTRA_DIST): Add check-version.h.
73350         * modules/crc (EXTRA_DIST): Add crc.h.
73351         * modules/des (EXTRA_DIST): Add des.h.
73352         * modules/gc (EXTRA_DIST): Add gc.h.
73353         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73354         * modules/getline (EXTRA_DIST): Add getline.h.
73355         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73356         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73357         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73358         * modules/md2 (EXTRA_DIST): Add md2.h.
73359         * modules/md4 (EXTRA_DIST): Add md4.h.
73360         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73361         * modules/read-file (EXTRA_DIST): Add read-file.h.
73362         * modules/readline (EXTRA_DIST): Add readline.h.
73363         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73364         rijndael-api-fst.h.
73365
73366 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73367
73368         * m4/rijndael.m4 (gl_ARCFOUR):
73369         * m4/arctwo.m4 (gl_ARCTWO):
73370         * m4/check-version.m4 (gl_CHECK_VERSION):
73371         * m4/crc.m4 (gl_CRC):
73372         * m4/des.m4 (gl_DES):
73373         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73374         * m4/gc.m4 (gl_GC):
73375         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73376         * m4/getline.m4 (gl_FUNC_GETLINE):
73377         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73378         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73379         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73380         * m4/md2.m4 (gl_MD2):
73381         * m4/md4.m4 (gl_MD4):
73382         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73383         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73384         * m4/readline.m4 (gl_FUNC_READLINE):
73385         * m4/rijndael.m4 (gl_RIJNDAEL):
73386         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73387         to get the necessary .h files and whatnot.
73388
73389 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73390
73391         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73392         gnulib rather than the other way around.
73393         * config/srclistvars.sh (COREUTILS): Remove.
73394
73395 2006-08-22  Jim Meyering  <jim@meyering.net>
73396
73397         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73398
73399         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73400
73401 2006-08-22  Eric Blake  <ebb9@byu.net>
73402
73403         * modules/regexprops-generic: New file.
73404         * MODULES.html.sh (Support for building documentation): List it.
73405
73406 2006-08-22  Eric Blake  <ebb9@byu.net>
73407
73408         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73409         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73410         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73411         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73412
73413 2006-08-22  Bruno Haible  <bruno@clisp.org>
73414
73415         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73416         and lib_LTLIBRARIES like the other lib_* variables.
73417
73418 2006-08-22  Bruno Haible  <bruno@clisp.org>
73419
73420         * build-aux/x-to-1.in: New file, from GNU gettext.
73421
73422 2006-08-22  Bruno Haible  <bruno@clisp.org>
73423
73424         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73425         <utmpx.h> exists.
73426
73427 2006-08-22  Bruno Haible  <bruno@clisp.org>
73428
73429         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73430         <utmpx.h> exists.
73431
73432 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73433
73434         BeOS portability.
73435         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73436         exist.
73437         Problem reported by Bruno Haible.
73438
73439 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73440
73441         Avoid the need for AC_LIBSOURCES in m4 macros.
73442         * modules/acl (EXTRA_DIST): Add acl.h.
73443         * modules/argmatch (Files): Add m4/argmatch.m4.
73444         (configure.ac): Add gl_ARGMATCH.
73445         (EXTRA_DIST): Renamed from lib_SOURCES, for
73446         consistency with the other modules.  Remove argmatch.c.
73447         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73448         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73449         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73450         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73451         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73452         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73453         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73454         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73455         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73456         * modules/closeout (EXTRA_DIST): Add closeout.h.
73457         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73458         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73459         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73460         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73461         dirname.h; remove basename.c and stripslash.c.
73462         * modules/exclude (EXTRA_DIST): Add exclude.h.
73463         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73464         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73465         * modules/file-type (EXTRA_DIST): Add file-type.h.
73466         * modules/filemode (EXTRA_DIST): Add filemode.h.
73467         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73468         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73469         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73470         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73471         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73472         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73473         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73474         * modules/getdate (EXTRA_DIST): Add getdate.c.
73475         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73476         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73477         * modules/getpass (EXTRA_DIST): Add getpass.h.
73478         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73479         * modules/group-member (EXTRA_DIST): Add group-member.h.
73480         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73481         * modules/hash (EXTRA_DIST): Add hash.h.
73482         * modules/human (EXTRA_DIST): Add human.h.
73483         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73484         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73485         * modules/lchown (EXTRA_DIST): Add lchown.h.
73486         * modules/long-options (EXTRA_DIST): Add long-options.h.
73487         * modules/lstat (EXTRA_DIST): Add lstat.h.
73488         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73489         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73490         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73491         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73492         * modules/memxor (EXTRA_DIST): Add memxor.h.
73493         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73494         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73495         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73496         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73497         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73498         * modules/physmem (EXTRA_DIST): Add physmem.h.
73499         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73500         * modules/posixver (EXTRA_DIST): Add posixver.h.
73501         * modules/quote (EXTRA_DIST): Add quote.h.
73502         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73503         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73504         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73505         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73506         regex_internal.h regexec.c.
73507         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73508         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73509         * modules/same (EXTRA_DIST): Add same.h.
73510         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73511         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73512         * modules/savedir (EXTRA_DIST): Add savedir.h.
73513         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73514         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73515         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73516         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73517         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73518         * modules/strdup (EXTRA_DIST): Add strdup.h.
73519         * modules/strftime (EXTRA_DIST): Add strftime.h.
73520         * modules/strndup (EXTRA_DIST): Add strndup.h.
73521         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73522         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73523         * modules/time_r (EXTRA_DIST): Add time_r.h.
73524         * modules/timespec (EXTRA_DIST): Add timespec.h.
73525         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73526         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73527         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73528         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73529         * modules/userspec (EXTRA_DIST): Add userspec.h.
73530         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73531         * modules/utimens (EXTRA_DIST): Add utimens.h.
73532         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73533         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73534         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73535         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73536         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73537         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73538         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73539         * modules/yesno (EXTRA_DIST): Add yesno.h.
73540
73541 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73542
73543         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73544
73545         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73546         * m4/dev-ino.m4, same-inode.m4: Remove.
73547
73548         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73549         * m4/acl.m4 (AC_FUNC_ACL):
73550         * m4/backupfile.m4 (gl_BACKUPFILE):
73551         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73552         * m4/canon-host.m4 (gl_CANON_HOST):
73553         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73554         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73555         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73556         * m4/cloexec.m4 (gl_CLOEXEC):
73557         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73558         * m4/closeout.m4 (gl_CLOSEOUT):
73559         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73560         * m4/dirname.m4 (gl_DIRNAME):
73561         * m4/exclude.m4 (gl_EXCLUDE):
73562         * m4/exitfail.m4 (gl_EXITFAIL):
73563         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73564         * m4/file-type.m4 (gl_FILE_TYPE):
73565         * m4/filemode.m4 (gl_FILEMODE):
73566         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73567         * m4/fpending.m4 (gl_FUNC_FPENDING):
73568         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73569         * m4/fts.m4 (gl_FUNC_FTS):
73570         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73571         * m4/getdate.m4 (gl_GETDATE):
73572         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73573         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73574         * m4/getpass.m4 (gl_FUNC_GETPASS):
73575         * m4/gettime.m4 (gl_GETTIME):
73576         * m4/getugroups.m4 (gl_GETUGROUPS):
73577         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73578         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73579         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73580         * m4/hash.m4 (gl_HASH):
73581         * m4/idcache.m4 (gl_IDCACHE):
73582         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73583         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73584         * m4/long-options.m4 (gl_LONG_OPTIONS):
73585         * m4/lstat.m4 (gl_FUNC_LSTAT):
73586         * m4/md5.m4 (gl_MD5):
73587         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73588         * m4/memcoll.m4 (gl_MEMCOLL):
73589         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73590         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73591         * m4/memxor.m4 (gl_MEMXOR):
73592         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73593         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73594         * m4/modechange.m4 (gl_MODECHANGE):
73595         * m4/mountlist.m4 (gl_MOUNTLIST):
73596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73597         * m4/openat.m4 (gl_FUNC_OPENAT):
73598         * m4/pathmax.m4 (gl_PATHMAX):
73599         * m4/physmem.m4 (gl_PHYSMEM):
73600         * m4/posixtm.m4 (gl_POSIXTM):
73601         * m4/posixver.m4 (gl_POSIXVER):
73602         * m4/quote.m4 (gl_QUOTE):
73603         * m4/quotearg.m4 (gl_QUOTEARG):
73604         * m4/readtokens.m4 (gl_READTOKENS):
73605         * m4/readutmp.m4 (gl_READUTMP):
73606         * m4/regex.m4 (gl_REGEX):
73607         * m4/safe-read.m4 (gl_SAFE_READ):
73608         * m4/safe-write.m4 (gl_SAFE_WRITE):
73609         * m4/same.m4 (gl_SAME):
73610         * m4/save-cwd.m4 (gl_SAVE_CWD):
73611         * m4/savedir.m4 (gl_SAVEDIR):
73612         * m4/settime.m4 (gl_SETTIME):
73613         * m4/sha1.m4 (gl_SHA1):
73614         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73615         * m4/stat-macros.m4 (gl_STAT_MACROS):
73616         * m4/stat-time.m4 (gl_STAT_TIME):
73617         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73618         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73619         * m4/strdup.m4 (gl_FUNC_STRDUP):
73620         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73621         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73622         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73623         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73624         * m4/time_r.m4 (gl_TIME_R):
73625         * m4/timespec.m4 (gl_TIMESPEC):
73626         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73627         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73628         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73629         * m4/userspec.m4 (gl_USERSPEC):
73630         * m4/utimecmp.m4 (gl_UTIMECMP):
73631         * m4/utimens.m4 (gl_UTIMENS):
73632         * m4/xalloc.m4 (gl_XALLOC):
73633         * m4/xgetcwd.m4 (gl_XGETCWD):
73634         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73635         * m4/xreadlink.m4 (gl_XREADLINK):
73636         * m4/xstrtod.m4 (gl_XSTRTOD):
73637         * m4/yesno.m4 (gl_YESNO):
73638         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73639         to get the necessary .h files and whatnot.
73640
73641 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73642             Bruno Haible  <bruno@clisp.org>
73643
73644         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73645         /bin/sh understanding of '!' conditional negation.
73646
73647 2006-08-21  Jim Meyering  <jim@meyering.net>
73648
73649         * modules/openat (Depends-on): Really alphabetize.
73650
73651         * modules/acl (Depends-on): Add error and quote.
73652
73653         * check-module (find_included_lib_files): Add at-func.c to the
73654         ok-to-include-more-than-once white list.
73655
73656         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73657
73658 2006-08-21  Bruno Haible  <bruno@clisp.org>
73659
73660         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73661         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73662         Reported by Martin Lambers <marlam@marlam.de>.
73663
73664 2006-08-21  Bruno Haible  <bruno@clisp.org>
73665
73666         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73667         specify an installation location, don't emit a noinst_LIBRARIES or
73668         noinst_LTLIBRARIES assignment.
73669
73670 2006-08-21  Bruno Haible  <bruno@clisp.org>
73671
73672         BeOS portability.
73673         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73674         BeOS has mbrtowc() but no <wctype.h>.
73675
73676 2006-08-21  Bruno Haible  <bruno@clisp.org>
73677
73678         BeOS portability.
73679         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73680         exist.
73681
73682 2006-08-21  Bruno Haible  <bruno@clisp.org>
73683
73684         BeOS portability.
73685         * lib/mbchar.h: Include <wctype.h> only if it exists.
73686
73687 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73688
73689         Remove files that are no longer needed by their respective modules.
73690         * m4/obstack.m4: Remove.
73691         * m4/strerror_r.m4: Remove.
73692         * m4/uint32_t.m4: Remove.
73693         * m4/uintptr_t.m4: Remove.
73694         * m4/ullong_max.m4: Remove.
73695         * m4/xstrtoimax.m4: Remove.
73696         * m4/xstrtoumax.m4: Remove.
73697
73698         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73699         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73700         dependencies now capture this.
73701
73702         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73703         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73704         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73705         * m4/human.m4 (gl_HUMAN): Likewise.
73706         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73707         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73708
73709         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73710
73711         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73712         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73713         stdint.
73714         * m4/human.m4 (gl_HUMAN): Likewise.
73715         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73716         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73717         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73718         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73719         * m4/xstrtol (gl_XSTRTOL): Likewise.
73720
73721         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73722         AC_TYPE_LONG_LONG_INT.
73723         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73724         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73725         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73726         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73727
73728         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73729         on stdbool.
73730
73731         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73732         (gl_PREREQ_XSTRTOUL): Remove.
73733
73734         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73735
73736         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73737         mode.
73738
73739 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73740
73741         Add and change modules to make it easier for coreutils to use
73742         gnulib-tool.
73743         * modules/backupfile (Files): Remove m4/d-ino.m4.
73744         (Depends-on): Add d-ino.
73745         * modules/cycle-check (Depends-on): Add stdint.
73746         (lib_SOURCES): Add cycle-check.h.
73747         * modules/d-ino: New module.
73748         * modules/d-type: New module.
73749         * modules/error (Files): Remove m4/strerror_r.m4.
73750         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73751         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73752         m4/inttypes_h.m4, m4/uintmax_t.m4.
73753         (Depends-on): Add stdint.
73754         (lib_SOURCES): Add fsusage.h.
73755         * modules/getcwd (Files): Remove d-ino.m4.
73756         (Depends-on): Add d-ino.
73757         * modules/getndelim2 (Depends-on): Add stdint.
73758         * modules/glob (Files): Remove m4/d-type.m4.
73759         (Depends-on): Add d-type.
73760         * modules/host-os: New module.
73761         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73762         m4/inttypes_h.m4, m4/uintmax_t.m4.
73763         * Depends-on: Add stdint.
73764         (lib_SOURCES): Add human.h.
73765         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73766         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73767         m4/uintmax_t.m4, m4/ulonglong.m4.
73768         (Depends-on): Add stdint.
73769         (EXTRA_DIST): Add inttostr.h.
73770         * modules/lchmod: New module.
73771         * modules/link-follow: New module.
73772         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73773         (Depends-on): Add lchmod.
73774         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73775         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73776         (Depends-on): Add stdint.
73777         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73778         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73779         (Depends-on): Add stdint.
73780         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73781         * modules/perl: New module.
73782         * modules/regex (Depends-on): Add stdint.
73783         * modules/rmdir-errno: New module.
73784         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73785         m4/intmax_t.m4.
73786         (Depends-on): Add stdint.
73787         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73788         m4/uintmax_t.m4.
73789         (Depends-on): Add stdint.
73790         * modules/unlink-busy: New module.
73791         * modules/utimecmp (Depends-on): Add stdint.
73792         * modules/uptime: New module.
73793         * modules/winsz-ioctl: New module.
73794         * modules/winsz-termios: New module.
73795         * modules/xnanosleep (Depends-on): Add nanosleep.
73796         * modules/ullong_max: Remove.
73797         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73798         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73799         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73800         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73801         (Depends-on): Add inttypes.
73802         (lib_SOURCES): Add xstrtol.h.
73803         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73804         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73805         * MODULES.html.sh: Move 'assert' into the assert section.
73806         Move 'dummy' into the linking section.
73807         Remove ullong_max.
73808         Add section for compatibility checks for POSIX:2001 functions,
73809         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73810         winsz-ioctl, and winsz-termios into it.
73811         Add lchmod.
73812         Add top-level Misc section and put host-os, perl, and uptime
73813         into it.
73814
73815 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73816
73817         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73818         now assume the stdint module.  Do not include inttypes.h.
73819         * lib/fsusage.h: Likewise.
73820         * lib/getndelim2.c: Likewise.
73821         * lib/human.h: Likewise.
73822         * lib/inttostr.h: Likewise.
73823         * lib/obstack.c: Likewise.
73824         * lib/regex_internal.h: Likewise.
73825         * lib/tempname.c: Likewise.
73826         * lib/utimecmp.c: Likewise.
73827         * lib/xstrtol.h: Likewise.
73828
73829         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73830
73831         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73832         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73833         * lib/xtime.h: Likewise.
73834
73835 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73836
73837         * modules/openat (Files): Add lib/fchmodat.c.
73838         Fixes problem reported by Jay Youngman.
73839
73840 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73841
73842         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73843         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73844
73845 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73846             Bruno Haible  <bruno@clisp.org>
73847
73848         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73849         and is a script that invokes bison. Tighten the code. Add comments.
73850
73851 2006-08-18  Jim Meyering  <jim@meyering.net>
73852
73853         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73854         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73855         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73856         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73857
73858 2006-08-18  Bruno Haible  <bruno@clisp.org>
73859
73860         * modules/bison-i18n: New file.
73861         * MODULES.html.sh (Internationalization functions): Add it.
73862
73863 2006-08-18  Bruno Haible  <bruno@clisp.org>
73864
73865         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73866         sys/statvfs.h. When getmntinfo was found, check its declaration and
73867         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73868
73869 2006-08-18  Bruno Haible  <bruno@clisp.org>
73870
73871         * m4/bison-i18n.m4: New file, from bison.
73872
73873 2006-08-18  Bruno Haible  <bruno@clisp.org>
73874
73875         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73876         (ME_DUMMY): Treat "kernfs" as a dummy.
73877         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73878
73879 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73880
73881         Update from coreutils.
73882
73883         2006-08-15  Jim Meyering  <jim@meyering.net>
73884
73885         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73886
73887         2006-01-17  Jim Meyering  <jim@meyering.net>
73888
73889         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73890
73891         2006-01-11  Jim Meyering  <jim@meyering.net>
73892
73893         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73894         Check for the lchmod function.
73895
73896 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73897
73898         Update from coreutils.
73899
73900         * lib/__fpending.h: Add copyright notice.
73901         * lib/fprintftime.h: Likewise.
73902         * lib/savedir.c: Use (C) in copyright notice.
73903         * lib/savedir.h: Likewise.
73904
73905         2006-08-15  Jim Meyering  <jim@meyering.net>
73906
73907         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73908         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73909         in support of the EXPECTED_ERRNO macro.
73910         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73911         definitions.  Instead, define the appropriate symbols and include
73912         "at-func.c".
73913         * lib/mkdirat.c (mkdirat): Likewise.
73914         * lib/fchmodat.c (fchmodat): Likewise.
73915         (ENOSYS): Remove definition.
73916         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73917         it.  Don't include "unistd--.h" -- it wasn't ever used.
73918
73919         2006-01-17  Jim Meyering  <jim@meyering.net>
73920
73921         Rewrite fts.c not to change the current working directory,
73922         by using openat, fstatat, fdopendir, etc..
73923
73924         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73925         (HAVE_OPENAT_SUPPORT): Define.
73926         [_LIBC] (fchdir): Don't undef or define; no longer used.
73927         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73928         Now, this `function' always succeeds, and consumes its file descriptor
73929         parameter -- so callers must not close such FDs.  Update callers.
73930         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73931         (diropen): Add parameter, SP.  Adjust all callers.
73932         Implement using diropen_fd, rather than open.
73933         (fts_open): Initialize new member, fts_cwd_fd.
73934         Remove fts_rft-setting code.
73935         (fts_close): Close fts_cwd_fd, if necessary.
73936         (__opendir2): Define in terms of opendir or opendirat,
73937         depending on whether the FST_NOCHDIR flag is set.
73938         (fts_build): Since fts_safe_changedir consumes its FD, and since
73939         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73940         and close the dup'd file descriptor upon failure.
73941         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73942         (fts_safe_changedir): Tweak semantics to reflect that this function
73943         now calls cwd_advance_fd and hence consumes its FD argument.
73944         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73945         [struct FTS] (fts_rft): Remove now-unused member.
73946         [struct FTS] (fts_cycle.state): Improve comment.
73947
73948         * lib/openat.c (openat_needs_fchdir): New function.
73949         * lib/openat.h (openat_needs_fchdir): Declare it.
73950
73951 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73952
73953         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73954         Problem and fix reported by Pádraig Brady in
73955         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73956
73957 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73958
73959         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73960
73961 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73962
73963         * lib/memcoll.c (memcoll): Optimize for the common case where the
73964         arguments are bytewise equal.
73965
73966 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73967
73968         * doc/regexprops-generic.texi: Add a copyright notice.
73969
73970 2006-08-15  Bruno Haible  <bruno@clisp.org>
73971
73972         * modules/tmpdir (License): Change to LGPL.
73973
73974 2006-08-15  Bruno Haible  <bruno@clisp.org>
73975
73976         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73977         module.
73978
73979 2006-08-14  Simon Josefsson  <jas@extundo.com>
73980
73981         * config/srclist.txt: Add gnupload.
73982
73983 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73984
73985         Change copyright notice from LGPL 2 to GPL 2, since that's the
73986         standard form used in the gnulib repository.
73987         * tests/test-lock.c: Likewise.
73988         * tests/test-stdint.c: Likewise.
73989         * tests/test-tls.c: Likewise.
73990
73991         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73992         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73993         Add copyright notice.
73994
73995         * check-module: Add copyright notice.  Output a copyright
73996         notice if "--version" is specified.
73997         * modules/COPYING: New file.
73998         * tests/test-getaddrinfo.c: Add copyright notice.
73999         * tests/test-verify.c: Likewise.
74000
74001 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         Change copyright notice from LGPL 2 to GPL 2, since that's the
74004         standard form used in the gnulib repository.
74005         * lib/lock.c: LGPL -> GPL.
74006         * lib/lock.h: Likewise.
74007         * lib/strnlen1.c: Likewise.
74008         * lib/strnlen1.h: Likewise.
74009         * lib/tls.c: Likewise.
74010         * lib/tls.h: Likewise.
74011         * lib/tmpdir.c: Likewise.
74012
74013         * lib/TODO: Remove; this belongs only in coreutils.
74014
74015 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74016
74017         Add copyright notices to long-enough files that lack them, since
74018         otherwise the files aren't clearly free.  Use the same notice that
74019         getdate.texi already uses.
74020         * doc/alloca-opt.texi: Add copyright notice.
74021         * doc/alloca.texi: Likewise.
74022         * doc/ctime.texi: Likewise.
74023         * doc/functions.texi: Likewise.
74024         * doc/gcd.texi: Likewise.
74025         * doc/gnulib-tool.texi: Likewise.
74026         * doc/inet_ntoa.texi: Likewise.
74027         * doc/visibility.texi: Likewise.
74028
74029         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74030         * doc/quote.texi: Add copyright notice.
74031
74032         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74033         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74034         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74035         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74036         is now obsolete, and give a pointer to the Sun list.
74037         Add copyright notice.
74038
74039 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74040
74041         * config/srclistvars.sh: Add copyright notice.
74042
74043 2006-08-14  Eric Blake  <ebb9@byu.net>
74044
74045         Import the following change from libc:
74046
74047         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74048
74049         Upstream bug 2997.
74050         * lib/misc/error.c: Add space between program name and message if file
74051         name is missing.
74052
74053 2006-08-12  Karl Berry  <karl@gnu.org>
74054
74055         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74056         remove, these originate in gnulib now.
74057
74058 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74059
74060         * doc/Makefile (standards.info standards.html standards.dvi):
74061         Also depend on make-stds.texi.
74062
74063 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74064
74065         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74066         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74067
74068         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74069         in wchar_t.  Problem reported by Eric Blake.
74070
74071         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74072         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74073         Also, help the compiler to keep LEN in a register.
74074
74075 2006-08-11  Eric Blake  <ebb9@byu.net>
74076
74077         * users.txt: Sort.  Add tar.
74078
74079 2006-08-11  Bruno Haible  <bruno@clisp.org>
74080
74081         * users.txt: New file.
74082
74083 2006-08-11  Bruno Haible  <bruno@clisp.org>
74084
74085         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74086         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74087
74088 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74089
74090         * modules/snprintf (Depends-on): Remove minmax.
74091         (Maintainer): Add self and Bruno.
74092
74093 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74094
74095         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74096         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74097         (EOVERFLOW): Define if the system does not.
74098         Do not include "minmax.h"; it wasn't used.
74099         (snprintf): Don't assume size_t promotes to an unsigned type.
74100         Fix bug when generated string was too long for the buffer: the
74101         buffer's contents are supposed to be the initial prefix of the
74102         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74103         exceeds INT_MAX; do the check ourselves.
74104
74105         Import the following changes from libc:
74106
74107         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74108
74109         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74110         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74111         set wc to the byte which couldn't be converted.
74112         (re_string_reconstruct): Don't clear valid_raw_len before calling
74113         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74114         tip_context using re_string_context_at.
74115
74116         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74117
74118         * lib/posix/regex.h: g++ still cannot handled [restrict].
74119
74120         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74121
74122         * lib/posix/regex.h: Remove special handling for VMS.
74123
74124 2006-08-10  Jim Meyering  <jim@meyering.net>
74125
74126         * modules/same-inode: New module.
74127         * modules/dev-ino: New module.
74128         * modules/cycle-check: Depend on these modules, rather than simply
74129         including their .h files.
74130         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74131         required via m4/cycle-check.m4.
74132         * modules/same: Depend on new same-inode module, rather than
74133         including same-inode.h.
74134         * modules/chdir-safer: New file.
74135
74136         * modules/chown (Depends-on): Add stat-macros.
74137
74138 2006-08-10  Jim Meyering  <jim@meyering.net>
74139
74140         * m4/cycle-check.m4: New file.
74141         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74142         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74143
74144 2006-08-10  Eric Blake  <ebb9@byu.net>
74145
74146         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74147         in from original proposal.
74148
74149 2006-08-10  Eric Blake  <ebb9@byu.net>
74150         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74151
74152         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74153         namespace.
74154
74155 2006-08-10  Bruno Haible  <bruno@clisp.org>
74156
74157         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74158         as well.
74159
74160 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         Sync from coreutils.
74163
74164         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74165
74166         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74167         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74168
74169 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74170
74171         * modules/restrict: Remove; no longer needed now that we assume
74172         Autoconf 2.59 or later.
74173         * MODULES.html.sh: Remove 'restrict'.
74174         * modules/argp (Depends-on): Remove 'restrict'.
74175         * modules/base64 (Depends-on): Likewise.
74176         * modules/gc (Depends-on): Likewise.
74177         * modules/getaddrinfo (Depends-on): Likewise.
74178         * modules/glob (Depends-on): Likewise.
74179         * modules/inet_ntop (Depends-on): Likewise.
74180         * modules/inet_pton (Depends-on): Likewise.
74181         * modules/memxor (Depends-on): Likewise.
74182         * modules/regex (Depends-on): Likewise.
74183         * modules/strtok_r (Depends-on): Likewise.
74184         * modules/time_r (Depends-on): Likewise.
74185
74186 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74187
74188         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74189         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74190         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74191         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74192         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74193         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74194         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74195         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74196
74197         Merge from coreutils.
74198         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74199         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74200         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74201         * m4/time_r.m4 (gl_TIME_R): Likewise.
74202
74203 2006-08-09  Karl Berry  <karl@gnu.org>
74204
74205         * config/srclist.txt: no more gettext-tools, per Bruno.
74206
74207 2006-08-08  Eric Blake  <ebb9@byu.net>
74208
74209         * modules/verror: New module.
74210         * MODULES.html.sh: Document it.
74211
74212 2006-08-08  Eric Blake  <ebb9@byu.net>
74213
74214         * lib/verror.h, lib/verror.c: New files.
74215
74216 2006-08-08  Eric Blake  <ebb9@byu.net>
74217
74218         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74219         verror_at_line output complies with GNU Coding Standards even when
74220         file is NULL.
74221
74222 2006-08-07  Bruno Haible  <bruno@clisp.org>
74223
74224         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74225         versions of AIX.
74226         Reported by Ralf Wildenhues.
74227
74228 2006-08-07  Bruno Haible  <bruno@clisp.org>
74229
74230         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74231         in an AC_DEFUN. Needed so that the autoconf snippets can use
74232         AC_REQUIRE.
74233
74234 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74235
74236         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74237         Initialize pkgdata_DATA.
74238         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74239         overriding it.
74240
74241 2006-08-06  Eric Blake  <ebb9@byu.net>
74242
74243         * lib/error.h: Fold in some upstream changes from glibc.
74244         * lib/error.c: Likewise.
74245
74246 2006-08-04  Bruno Haible  <bruno@clisp.org>
74247
74248         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74249         Make the mostlyclean-local rule depend on mostlyclean-generic.
74250         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74251
74252 2006-07-31  Bruno Haible  <bruno@clisp.org>
74253
74254         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74255         <stdlib.h>, <string.h>.
74256
74257 2006-07-30  Bruno Haible  <bruno@clisp.org>
74258
74259         * modules/readlink (License): Change to LGPL.
74260
74261 2006-07-30  Bruno Haible  <bruno@clisp.org>
74262
74263         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74264         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74265         set PKGDATADIR to point to it.
74266
74267 2006-07-30  Bruno Haible  <bruno@clisp.org>
74268
74269         * modules/csharpexec (configure.ac): Comment out macro invocation.
74270         * modules/javaexec (configure.ac): Likewise.
74271         * modules/javacomp-script (configure.ac): Likewise.
74272
74273         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74274
74275 2006-07-30  Bruno Haible  <bruno@clisp.org>
74276
74277         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74278         linked-list.
74279
74280 2006-07-30  Bruno Haible  <bruno@clisp.org>
74281
74282         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74283
74284 2006-07-30  Bruno Haible  <bruno@clisp.org>
74285
74286         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74287         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74288         get removed.
74289
74290 2006-07-29  Bruno Haible  <bruno@clisp.org>
74291
74292         Make it possible for gnulib-tool to work with locally modified or
74293         augmented gnulib repositories.
74294         * gnulib-tool (func_usage): Document --local-dir option.
74295         (local_gnulib_dir): New variable.
74296         Handle --local-dir option.
74297         (func_lookup_file): New function.
74298         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74299         (func_get_description, func_get_filelist, func_get_description,
74300         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74301         func_get_automake_snippet, func_get_include_directive,
74302         func_get_license, func_get_maintainer): Use func_lookup_file.
74303         (func_import, func_create_testdir): Use func_lookup_file.
74304
74305 2006-07-29  Bruno Haible  <bruno@clisp.org>
74306
74307         * modules/setenv (Depends-on): Add unistd.
74308
74309 2006-07-29  Bruno Haible  <bruno@clisp.org>
74310
74311         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74312
74313 2006-07-29  Bruno Haible  <bruno@clisp.org>
74314
74315         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74316
74317 2006-07-29  Bruno Haible  <bruno@clisp.org>
74318
74319         * gnulib-tool (import, update): If there is no Makefile.am, look at
74320         aclocal.m4, instead of bailing out.
74321
74322 2006-07-29  Bruno Haible  <bruno@clisp.org>
74323
74324         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74325         Categorize the options by when they are useful.
74326
74327 2006-07-29  Bruno Haible  <bruno@clisp.org>
74328
74329         * gnulib-tool (func_usage): Document option --no-libtool.
74330         Handle option --no-libtool.
74331         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74332         for changed semantics of $libtool variable.
74333         (func_import): Likewise. If libtool is not used, show this through
74334         an option --no-libtool.
74335         (func_create_testdir): Update.
74336
74337 2006-07-29  Bruno Haible  <bruno@clisp.org>
74338
74339         * gnulib-tool (func_import): Extend error message about missing
74340         --doc-base.
74341
74342 2006-07-29  Bruno Haible  <bruno@clisp.org>
74343
74344         * gnulib-tool (func_import): Don't create the $docbase directory if
74345         there is no file to store there.
74346
74347 2006-07-29  Bruno Haible  <bruno@clisp.org>
74348
74349         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74350         relevant, look for configure.ac there, not in the current directory.
74351         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74352
74353 2006-07-29  Bruno Haible  <bruno@clisp.org>
74354
74355         * gnulib-tool (SORT): New variable.
74356         (func_usage): Undocument --assume-autoconf option.
74357         Remove --assume-autoconf option handling.
74358         (autoconf_minversion): Determine from the contents of configure.ac.
74359         (func_import): Remove autoconf_minversion handling.
74360         Suggested by Eric Blake.
74361
74362 2006-07-29  Bruno Haible  <bruno@clisp.org>
74363
74364         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74365
74366 2006-07-29  Bruno Haible  <bruno@clisp.org>
74367
74368         * config/srclist.txt (*setenv.[ch]): Remove rules.
74369
74370 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74371
74372         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74373
74374 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74375
74376         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74377         arpa/inet.h.
74378
74379 2006-07-28  Simon Josefsson  <jas@extundo.com>
74380
74381         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74382         * modules/inet_pton (Depends-on): Likewise.
74383
74384 2006-07-28  Simon Josefsson  <jas@extundo.com>
74385
74386         * m4/netinet_in_h.m4: New file.
74387
74388 2006-07-28  Simon Josefsson  <jas@extundo.com>
74389
74390         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74391         #include's.
74392
74393 2006-07-28  Simon Josefsson  <jas@extundo.com>
74394
74395         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74396         #include's.
74397
74398 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74399
74400         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74401         setgid on directories only if they set these bits.
74402         * lib/modechange.h: Remove obsolete comment about masks.
74403
74404 2006-07-28  Eric Blake  <ebb9@byu.net>
74405
74406         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74407         macro expansion.
74408
74409 2006-07-28  Bruno Haible  <bruno@clisp.org>
74410
74411         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74412
74413 2006-07-28  Bruno Haible  <bruno@clisp.org>
74414
74415         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74416
74417 2006-07-28  Bruno Haible  <bruno@clisp.org>
74418
74419         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74420         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74421         Define fallbacks.
74422         Avoids link error on FreeBSD 4.x.
74423         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74424
74425         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74426         encoding.
74427         * lib/mbswidth.c (iswcntrl): Likewise.
74428
74429 2006-07-27  Bruno Haible  <bruno@clisp.org>
74430
74431         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74432         test.
74433
74434 2006-07-27  Bruno Haible  <bruno@clisp.org>
74435
74436         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74437         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74438         defined.
74439
74440 2006-07-26  Eric Blake  <ebb9@byu.net>
74441
74442         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74443
74444 2006-07-26  Eric Blake  <ebb9@byu.net>
74445
74446         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74447         like mingw that lack mkstemp.
74448         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74449         avoid compilation warning on mingw.
74450
74451 2006-07-26  Bruno Haible  <bruno@clisp.org>
74452
74453         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74454         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74455         INT_FAST*_MIN, INTPTR_MIN.
74456
74457 2006-07-25  Bruno Haible  <bruno@clisp.org>
74458
74459         * modules/version-etc (Depends-on): Add stdarg.
74460
74461 2006-07-25  Bruno Haible  <bruno@clisp.org>
74462
74463         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74464         complex commands.
74465
74466 2006-07-25  Bruno Haible  <bruno@clisp.org>
74467
74468         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74469         defined in <stdarg.h> or config.h.
74470
74471 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74472
74473         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74474         (gl_STDIO_SAFER): Remove.
74475
74476 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74477
74478         * MODULES.html.sh (File stream based Input/Output):
74479         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74480         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74481         * modules/fopen-safer, modules/tmpfile-safer: New files.
74482         * modules/stdio-safer: Remove.
74483
74484 2006-07-24  Bruno Haible  <bruno@clisp.org>
74485
74486         * modules/tmpdir: New file.
74487         * MODULES.html.sh (File system functions): Add it.
74488
74489 2006-07-24  Bruno Haible  <bruno@clisp.org>
74490
74491         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74492         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74493
74494 2006-07-24  Bruno Haible  <bruno@clisp.org>
74495
74496         * modules/clean-temp: New file.
74497
74498 2006-07-24  Bruno Haible  <bruno@clisp.org>
74499
74500         * m4/tmpdir.m4: New file, from GNU gettext.
74501
74502 2006-07-24  Bruno Haible  <bruno@clisp.org>
74503
74504         * lib/tmpdir.h: New file, from GNU gettext.
74505         * lib/tmpdir.c: New file, from GNU gettext.
74506
74507 2006-07-24  Bruno Haible  <bruno@clisp.org>
74508
74509         * lib/clean-temp.h: New file, from GNU gettext.
74510         * lib/clean-temp.c: New file, from GNU gettext.
74511
74512 2006-07-23  Eric Blake  <ebb9@byu.net>
74513
74514         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74515         (Depends-on): Add binary-io.
74516
74517 2006-07-23  Eric Blake  <ebb9@byu.net>
74518
74519         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74520
74521 2006-07-23  Eric Blake  <ebb9@byu.net>
74522
74523         * lib/tmpfile-safer.c: New file.
74524         * lib/stdio-safer.h (fopen_safer): Add prototype.
74525         * lib/stdio--.h (tmpfile): Make safer.
74526
74527 2006-07-23  Bruno Haible  <bruno@clisp.org>
74528
74529         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74530         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74531         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74532         gl_linked_remove_at): Use it.
74533
74534 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74535         and Simon Josefsson <jas@extundo.com>
74536
74537         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74538
74539         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74540
74541 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74542
74543         * modules/close-stream: New file.
74544         * modules/closeout (Description): Make it clear that it exits
74545         with a diagnostic on error.
74546         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74547         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74548
74549 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74550
74551         * m4/close-stream.m4: New file.
74552
74553 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74554
74555         * lib/close-stream.c, lib/close-stream.h: New files.
74556
74557 2006-07-22  Bruno Haible  <bruno@clisp.org>
74558
74559         Merge from GNU gettext 0.15.
74560
74561         2006-05-01  Bruno Haible  <bruno@clisp.org>
74562
74563                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74564
74565         2006-07-22  Bruno Haible  <bruno@clisp.org>
74566
74567                 * modules/javaversion: New file.
74568                 * MODULES.html.sh (Java): Add javaversion.
74569
74570         2006-03-12  Bruno Haible  <bruno@clisp.org>
74571
74572                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74573
74574         2005-12-04  Bruno Haible  <bruno@clisp.org>
74575
74576                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74577                 (untested).
74578
74579         2006-06-21  Bruno Haible  <bruno@clisp.org>
74580
74581                 Avoid warnings from recent versions of mcs.
74582                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74583                 -o, -L, -r any more. Use options documented since mcs-1.0
74584                 instead. Similarly for -g.
74585
74586         2005-12-04  Bruno Haible  <bruno@clisp.org>
74587
74588                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74589                 .resources, not .resource.
74590
74591         2005-07-09  Bruno Haible  <bruno@clisp.org>
74592
74593                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74594                 add a .dll suffix.
74595                 Reported by Mark Junker <mjscod@gmx.de>.
74596
74597         2006-07-22  Bruno Haible  <bruno@clisp.org>
74598
74599                 * modules/gettext: Upgrade to gettext-0.15.
74600                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74601                 m4/visibility.m4.
74602                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74603
74604 2006-07-22  Bruno Haible  <bruno@clisp.org>
74605
74606         Merge from GNU gettext 0.15.
74607
74608         2006-03-25  Bruno Haible  <bruno@clisp.org>
74609
74610                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74611
74612         2006-07-21  Bruno Haible  <bruno@clisp.org>
74613
74614                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74615                 "1.1".
74616
74617         2006-05-09  Bruno Haible  <bruno@clisp.org>
74618
74619                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74620                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74621                 for the conftestver execution.
74622
74623         2006-05-01  Bruno Haible  <bruno@clisp.org>
74624
74625                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74626                 optional target-version argument. Verify that the compiler
74627                 groks source of the specified source-version, or add -source
74628                 option as necessary. Verify that the compiler produces
74629                 bytecode in the specified target-version, or add -target and
74630                 -source options as necessary. Make the result of the test
74631                 available as variable CONF_JAVAC. Also log error output in
74632                 config.log.
74633
74634         2006-03-11  Bruno Haible  <bruno@clisp.org>
74635
74636                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74637
74638         2006-05-09  Bruno Haible  <bruno@clisp.org>
74639
74640                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74641                 CLASSPATH_SEPARATOR to a semicolon.
74642
74643         2006-03-12  Bruno Haible  <bruno@clisp.org>
74644
74645                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74646                 available as variable CONF_JAVA, for subsequent autoconf
74647                 tests. Also log error output in config.log.
74648
74649         2006-07-19  Bruno Haible  <bruno@clisp.org>
74650
74651                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74652                 that getline works on glibc2 systems. Needed to avoid trouble
74653                 in relocatable.c.
74654                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74655
74656         2005-12-04  Bruno Haible  <bruno@clisp.org>
74657
74658                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74659                 launcher (untested).
74660
74661         2005-12-04  Bruno Haible  <bruno@clisp.org>
74662
74663                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74664
74665         2006-07-22  Bruno Haible  <bruno@clisp.org>
74666
74667                 * gettext.m4: Update from GNU gettext-0.15.
74668                 * nls.m4: Likewise.
74669                 * po.m4: Likewise.
74670                 * inttypes-pri.m4: Likewise.
74671                 * inttypes-h.m4: Renamed from inttypes.m4.
74672                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74673
74674 2006-07-22  Bruno Haible  <bruno@clisp.org>
74675
74676         Merge from GNU gettext 0.15.
74677
74678         2005-07-05  Bruno Haible  <bruno@clisp.org>
74679
74680                 * printf-args.c (printf_fetchargs): Work around broken
74681                 definition of wint_t on mingw.
74682
74683         2005-02-12  Bruno Haible  <bruno@clisp.org>
74684
74685                 * xallocsa.h: Add extern "C" for C++.
74686
74687         2006-05-17  Bruno Haible  <bruno@clisp.org>
74688
74689                 Cygwin portability.
74690                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74691
74692         2006-04-30  Bruno Haible  <bruno@clisp.org>
74693
74694                 * progreloc.c: Include <mach-o/dyld.h> if available.
74695                 (find_executable): Use _NSGetExecutablePath when possible.
74696
74697         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74698
74699                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74700                 function.
74701
74702         2005-12-29  Bruno Haible  <bruno@clisp.org>
74703
74704                 * progreloc.c (set_program_name_and_installdir): Fix
74705                 compilation error.
74706
74707         2005-12-04  Bruno Haible  <bruno@clisp.org>
74708
74709                 Cygwin portability.
74710                 * progreloc.c: Include <windows.h> also on Cygwin.
74711                 (find_executable): Add support for Cygwin.
74712                 (set_program_name_and_installdir): Handle also platforms with
74713                 nonempty EXEEXT.
74714
74715         2006-07-11  Bruno Haible  <bruno@clisp.org>
74716
74717                 * javacomp.c: Fix a comment.
74718                 Reported by Jim Meyering.
74719
74720         2006-04-30  Bruno Haible  <bruno@clisp.org>
74721
74722                 * javacomp.h (compile_java_class): Add source_version,
74723                 target_version arguments.
74724                 * javacomp.c: Rewritten to choose only a compiler that
74725                 respects the specified source_version and target_version.
74726
74727         2006-06-27  Bruno Haible  <bruno@clisp.org>
74728
74729                 Assume correct S_ISDIR macro.
74730                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74731
74732         2006-07-22  Bruno Haible  <bruno@clisp.org>
74733
74734                 * javaversion.h: New file, from GNU gettext.
74735                 * javaversion.c: New file, from GNU gettext.
74736                 * javaversion.java: New file, from GNU gettext.
74737                 * javaversion.class: New file, from GNU gettext.
74738
74739         2006-05-17  Bruno Haible  <bruno@clisp.org>
74740
74741                 Cygwin portability.
74742                 * javaexec.c (execute_java_class): Test for jview program
74743                 also on Cygwin.
74744
74745         2006-04-09  Bruno Haible  <bruno@clisp.org>
74746
74747                 * fatal-signal.c: Don't include string.h.
74748                 (at_fatal_signal): Use a copying loop instead of memcpy.
74749
74750         2005-12-04  Bruno Haible  <bruno@clisp.org>
74751
74752                 * csharpexec.c: Add support for 'clix' launcher (untested).
74753                 (execute_csharp_using_sscli): New function.
74754                 (execute_csharp_program): Call it.
74755
74756         2006-06-21  Bruno Haible  <bruno@clisp.org>
74757
74758                 Avoid warnings from recent versions of mcs.
74759                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74760                 -o, -L, -r any more. Use options documented since mcs-1.0
74761                 instead. Similarly for -g.
74762
74763         2005-07-09  Bruno Haible  <bruno@clisp.org>
74764
74765                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74766                 add a .dll suffix.
74767                 Reported by Mark Junker <mjscod@gmx.de>.
74768
74769         2006-06-17  Bruno Haible  <bruno@clisp.org>
74770
74771                 * config.charset: Update for NetBSD 3.0.
74772
74773         2006-05-17  Bruno Haible  <bruno@clisp.org>
74774
74775                 Cygwin portability.
74776                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74777
74778         2006-05-16  Bruno Haible  <bruno@clisp.org>
74779
74780                 * localcharset.c [CYGWIN]: Include <windows.h>.
74781                 (get_charset_aliases): For Cygwin, return the same CPxxx
74782                 aliases list as under WIN32.
74783                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74784                 the environment variables. Fall back to GetACP().
74785
74786         2006-04-05  Bruno Haible  <bruno@clisp.org>
74787
74788                 * config.charset: Update Juan Manuel Guerrero's address.
74789
74790         2005-02-12  Bruno Haible  <bruno@clisp.org>
74791
74792                 * allocsa.h: Add extern "C" for C++.
74793
74794         2005-02-10  Bruno Haible  <bruno@clisp.org>
74795
74796                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74797                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74798
74799         2006-07-22  Bruno Haible  <bruno@clisp.org>
74800
74801                 * gettext.h: Update to GNU gettext-0.15.
74802
74803 2006-07-22  Bruno Haible  <bruno@clisp.org>
74804
74805         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74806         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74807         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74808
74809 2006-07-21  Eric Blake  <ebb9@byu.net>
74810
74811         * modules/stdlib-safer: New file.
74812         * MODULES.html.sh (File stream based Input/Output): Add
74813         stdlib-safer.
74814
74815 2006-07-21  Eric Blake  <ebb9@byu.net>
74816
74817         * lib/stdlib-safer.h: New file from coreutils, required by
74818         stdlib--.h.
74819
74820 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74821
74822         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74823
74824 2006-07-20  Bruno Haible  <bruno@clisp.org>
74825
74826         * gnulib-tool: Recognize new option --assume-autoconf.
74827         (autoconf_minversion): New variable.
74828         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74829
74830 2006-07-20  Bruno Haible  <bruno@clisp.org>
74831
74832         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74833
74834 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74835
74836         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74837         Reindent and repaginate.
74838
74839 2006-07-19  Derek Price  <derek@ximbiot.com>
74840
74841         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74842         Correct grammar.
74843
74844 2006-07-17  Bruno Haible  <bruno@clisp.org>
74845
74846         * modules/list: New file.
74847         * modules/array-list: New file.
74848         * modules/carray-list, modules/carray-list-tests: New files.
74849         * modules/linked-list, modules/linked-list-tests: New files.
74850         * modules/avltree-list, modules/avltree-list-tests: New files.
74851         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74852         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74853         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74854         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74855         * modules/oset: New file.
74856         * modules/array-oset: New file.
74857         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74858         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74859         * tests/test-carray_list.c: New file.
74860         * tests/test-linked_list.c: New file.
74861         * tests/test-avltree_list.c: New file.
74862         * tests/test-rbtree_list.c: New file.
74863         * tests/test-linkedhash_list.c: New file.
74864         * tests/test-avltreehash_list.c: New file.
74865         * tests/test-rbtreehash_list.c: New file.
74866         * tests/test-avltree_oset.c: New file.
74867         * tests/test-rbtree_oset.c: New file.
74868         * MODULES.html.sh (Container data structures): New section.
74869
74870 2006-07-17  Bruno Haible  <bruno@clisp.org>
74871
74872         * m4/gl_list.m4: New file.
74873
74874 2006-07-17  Bruno Haible  <bruno@clisp.org>
74875
74876         * lib/gl_list.h: New file.
74877         * lib/gl_list.c: New file.
74878         * lib/gl_array_list.h: New file.
74879         * lib/gl_array_list.c: New file.
74880         * lib/gl_carray_list.h: New file.
74881         * lib/gl_carray_list.c: New file.
74882         * lib/gl_linked_list.h: New file.
74883         * lib/gl_linked_list.c: New file.
74884         * lib/gl_anylinked_list1.h: New file.
74885         * lib/gl_anylinked_list2.h: New file.
74886         * lib/gl_avltree_list.h: New file.
74887         * lib/gl_avltree_list.c: New file.
74888         * lib/gl_anyavltree_list1.h: New file.
74889         * lib/gl_anyavltree_list2.h: New file.
74890         * lib/gl_rbtree_list.h: New file.
74891         * lib/gl_rbtree_list.c: New file.
74892         * lib/gl_anyrbtree_list1.h: New file.
74893         * lib/gl_anyrbtree_list2.h: New file.
74894         * lib/gl_anytree_list1.h: New file.
74895         * lib/gl_anytree_list2.h: New file.
74896         * lib/gl_linkedhash_list.h: New file.
74897         * lib/gl_linkedhash_list.c: New file.
74898         * lib/gl_anyhash_list1.h: New file.
74899         * lib/gl_anyhash_list2.h: New file.
74900         * lib/gl_avltreehash_list.h: New file.
74901         * lib/gl_avltreehash_list.c: New file.
74902         * lib/gl_rbtreehash_list.h: New file.
74903         * lib/gl_rbtreehash_list.c: New file.
74904         * lib/gl_anytreehash_list1.h: New file.
74905         * lib/gl_anytreehash_list2.h: New file.
74906
74907         * lib/gl_oset.h: New file.
74908         * lib/gl_oset.c: New file.
74909         * lib/gl_array_oset.h: New file.
74910         * lib/gl_array_oset.c: New file.
74911         * lib/gl_avltree_oset.h: New file.
74912         * lib/gl_avltree_oset.c: New file.
74913         * lib/gl_rbtree_oset.h: New file.
74914         * lib/gl_rbtree_oset.c: New file.
74915         * lib/gl_anytree_oset.h: New file.
74916
74917 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74918
74919         * m4/mkancesdirs.m4: New file.
74920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74921         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74922         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74923         it.
74924
74925 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74926
74927         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74928         * lib/mkancesdirs.h: New files.
74929         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74930         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74931         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74932         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74933         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74934         callers changed.  Revamp internals significantly, by not
74935         attempting to create directories that are temporarily more
74936         permissive than the final results.  Do not attempt to use
74937         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74938         This removes some race conditions, fixes some bugs, and simplifies
74939         things.  Use new dirchownmod function to do owner and mode changes.
74940         * lib/mkdir-p.h: Likewise.
74941         * lib/modechange.c (octal_to_mode): New function.
74942         (struct mode_change): New member mentioned.
74943         (make_node_op_equals): New arg mentioned.  All callers changed.
74944         (mode_compile): Keep track of which mode bits the user has explicitly
74945         mentioned.
74946         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74947         New arg PMODE_BITS, to keep track of which mode bits the user
74948         mentioned; it treats S_ISUID and S_ISGID speciall.
74949         All callers changed.
74950         * lib/modechange.h: Likewise.
74951
74952 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74953
74954         * MODULES.html.sh: Add mkancestors.
74955         * modules/mkancesdirs: New module.
74956         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74957         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74958         The chdir-safer and afs files are now orphans; I'll remove them
74959         unless someone speaks up.
74960         Add lib/dirchownmod.c, lib/dirchownmod.h.
74961         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74962         Add lchown, mkancesdirs.
74963         (Maintainer): Add self.
74964
74965 2006-07-15  Karl Berry  <karl@gnu.org>
74966
74967         * gnulib-tool: help message wording/arrangement.
74968
74969 2006-07-14  Simon Josefsson  <jas@extundo.com>
74970
74971         * doc/gnulib.texi (Libtool and Windows): New section.
74972
74973 2006-07-12  Simon Josefsson  <jas@extundo.com>
74974
74975         * modules/gendocs (License): Fix license, approved by Karl.
74976
74977 2006-07-12  Eric Blake  <ebb9@byu.net>
74978
74979         * MODULES.html.sh: Add gendocs.
74980
74981 2006-07-11  Eric Blake  <ebb9@byu.net>
74982
74983         * modules/fdl: New module, to install doc/fdl.texi.
74984         * MODULES.html.sh: Add new section for documentation modules.
74985         * gnulib-tool: Avoid space-tab.
74986         (--doc-base): New option, to manage files from doc.
74987
74988 2006-07-11  Eric Blake  <ebb9@byu.net>
74989
74990         * m4/absolute-header.m4: Fix comments to match recent change.
74991
74992 2006-07-11  Eric Blake  <ebb9@byu.net>
74993
74994         * gnulib-tool: List --doc-base before --tests-base.
74995
74996 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74997
74998         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74999
75000 2006-07-11  Bruno Haible  <bruno@clisp.org>
75001
75002         * README: Mention where to put documentation.
75003
75004 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75005
75006         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75007
75008 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75009
75010         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75011         to stdint.m4.
75012
75013 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75014
75015         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75016         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75017         "no/such/file/stdint.h" when there is no such file, so that
75018         the resulting C code can be parsed by dodgy compilers.
75019         Problems reported by Bob Proulx.
75020
75021 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75022
75023         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75024         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75025         macros into the GNU _D_EXACT_NAMLEN.
75026         * lib/savedir.c:  Likewise.
75027         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75028
75029 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75030         and Paul Eggert  <eggert@cs.ucla.edu>
75031
75032         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75033         * m4/savedir.m4:
75034         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75035         macros into the GNU _D_EXACT_NAMLEN.
75036
75037 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75038
75039         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75040         around the absolute name, to work around a problem with the HP-UX
75041         11.23 native C compiler, reported by Bob Proulx.
75042
75043 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75044
75045         * doc/maintain.texi, make-stds.texi: Sync from
75046         <http://savannah.gnu.org/projects/gnustandards>.
75047
75048 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75049
75050         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75051
75052 2006-07-09  Jim Meyering  <jim@meyering.net>
75053
75054         * m4/glob.m4: Remove a doubled word in a comment.
75055
75056 2006-07-09  Jim Meyering  <jim@meyering.net>
75057
75058         * lib/argp-pv.c: Remove a doubled word in a comment.
75059         * lib/check-version.c (check_version): Likewise.
75060         * lib/javacomp.c (compile_java_class): Likewise.
75061
75062 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75063
75064         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75065         for the benefit of people using Autoconf 2.60.  If you want to
75066         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75067         (or m4/onceonly.m4, if pre-2.57) manually.
75068
75069 2006-07-08  Jim Meyering  <jim@meyering.net>
75070
75071         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75072         comment.
75073         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75074         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75075         comment.
75076
75077 2006-07-08  Jim Meyering  <jim@meyering.net>
75078
75079         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75080
75081 2006-07-07  Simon Josefsson  <jas@extundo.com>
75082
75083         * tests/test-crc.c: Change expected crc value, the test vector
75084         were probably computed using the old broken crc.c?
75085
75086 2006-07-06  Simon Josefsson  <jas@extundo.com>
75087
75088         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75089         now the canonical place for the M4 file).
75090
75091         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75092         from the sys_socket dependency now.
75093
75094         * modules/inet_pton (Files): Ditto.
75095
75096         * modules/inet_ntop (Files): Ditto.
75097
75098 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75099
75100         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75101         not gl_PREREQ_GETUSERSHELL.
75102
75103 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75104
75105         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75106         with only one argument, for Autoconf 2.60.
75107         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75108         expand to nothing, so add a shell command to avoid syntax error.
75109         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75110
75111 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75112
75113         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75114
75115 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75116
75117         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75118         no longer needed.  Check for isblank decl.
75119         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75120         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75121         of existence.
75122
75123 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75124
75125         * lib/getloadavg.c: Use __VMS, not VMS.
75126         * lib/getopt.c: Likewise.
75127         * lib/getpagesize.h: Likewise.
75128         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75129         and probably does not work.
75130
75131 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75132
75133         * lib/.cppi-disable: Add wcwidth.
75134         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75135         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75136         (ISGRAPH): Remove.  All uses changed to isgraph.
75137         (FOLD) [!defined _LIBC]: Remove special case.
75138         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75139         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75140         HAVE_ISBLANK.
75141         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75142         case.
75143
75144 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75145
75146         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75147         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75148         brackets.  Other minor changes to suppress some compiler
75149         warnings.
75150
75151 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75152         and Paul Eggert  <eggert@cs.ucla.edu>
75153
75154         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75155         of invoking obsolescent AC_HEADER_DIRENT macro.
75156         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75157         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75158         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75159         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75160         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75161         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75162         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75163         * m4/readdir.m4: Remove; no longer needed.
75164
75165 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75166         and Paul Eggert  <eggert@cs.ucla.edu>
75167
75168         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75169         Don't worry about this obsolete case any more.
75170         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75171         directories.
75172         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75173         worry about this obsolete case any more.
75174         * lib/fts.c: Likewise.
75175         * lib/getcwd.c: Likewise.
75176         * lib/glob.h: Likewise.
75177         * lib/savedir.c: Likewise.
75178
75179 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75180
75181         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75182         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75183         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75184         needed.
75185         All uses removed.
75186         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75187         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75188         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75189         needed.
75190         * m4/getdate.m4 (gl_GETDATE): Likewise.
75191         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75192         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75193         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75194         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75195         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75196         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75197         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75198         needed.
75199
75200 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75201
75202         * lib/memcasecmp.c: Include <limits.h>.
75203         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75204         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75205         Don't assume isdigit succeeds only on '0' through '9'.
75206
75207 2006-07-05  Eric Blake  <ebb9@byu.net>
75208
75209         * modules/getaddrinfo (Depends-on): Add snprintf.
75210
75211 2006-07-05  Eric Blake  <ebb9@byu.net>
75212
75213         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75214         to avoid 'header present but could not be compiled' on cygwin.
75215
75216 2006-07-05  Eric Blake  <ebb9@byu.net>
75217
75218         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75219         missing from netdb.h.
75220         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75221
75222 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75223
75224         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75225         no longer needed.
75226         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75227         * m4/getdate.m4 (gl_GETDATE): Likewise.
75228         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75229         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75230         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75231         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75232         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75233
75234 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75235
75236         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75237         All uses of is_space replaced by isspace.
75238         * lib/exit.h: Don't talk about STDC_HEADERS.
75239         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75240         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75241         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75242         replaced by isprint etc.
75243         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75244         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75245         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75246         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75247         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75248         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75249
75250 2006-07-05  Bruno Haible  <bruno@clisp.org>
75251
75252         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75253         the function exists, before testing against AIX.
75254         Reported by Martin Lambers <marlam@marlam.de>.
75255
75256 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75259         From Mark D. Baushke.
75260
75261 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75262
75263         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75264         to the absolute name, not just one, to bypass Sun C 5.8's
75265         "warning: #include of /usr/include/... may be non-portable".
75266
75267 2006-07-04  Eric Blake  <ebb9@byu.net>
75268
75269         * modules/dirname-tests: New test module.
75270         * tests/test-dirname.c: New file, replacing dirname.c
75271         TEST_DIRNAME section that was recently deleted.
75272
75273 2006-07-04  Bruno Haible  <bruno@clisp.org>
75274
75275         Assume ANSI C header files and <ctype.h> functions.
75276         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75277         (mbsnwidth): Use isprint, iscntrl instead.
75278
75279 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75280
75281         Merge from coreutils.
75282         * MODULES.html.sh: Add xstrtold.
75283         * modules/xstrtold: New file.
75284         * modules/cycle-check (Files): Add lib/same-inode.h.
75285         * modules/dirname (Files): Add m4/double-slash-root.m4.
75286         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75287         * modules/mkdir-p (Files): Add lib/same-inode.h.
75288         * modules/same (Files): Add lib/same-inode.h.
75289
75290 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75291
75292         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75293         This is to keep the terminology clean; POSIX talks about
75294         "absolute pathnames", not "full pathnames", but the GNU
75295         Coding Standards say to use "path" for something else;
75296         so use "absolute" to keep both sides happy.
75297         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75298         Set gl_absolute_header, not gl_full_header_path.
75299         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75300         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75301         All uses changed.
75302
75303         Merge from coreutils.
75304
75305         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75306
75307         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75308         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75309         want to require the building of c-strtod.o.
75310         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75311         needs -lm directly.
75312         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75313
75314         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75317         --as-needed option if available.  Problem reported by Albert Chin in
75318         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75319         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75320         cc merely issues a bunch of annoying warnings for --as-needed
75321         (this problem was reported by Bob Proulx).  Also, try linking with
75322         -lm to detect a bug in binutils 2.16 (this problem was reported
75323         by Ralf Wildenhues).
75324
75325         2006-06-18  Jim Meyering  <jim@meyering.net>
75326
75327         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75328         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75329         macro.
75330         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75331         also check for glibc-2.4's abort-inducing bug.
75332
75333         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75334         Low-probability clean-up should be to use rmdir to get rid of
75335         the just-created directory, not unlink.
75336
75337         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75338         configure fail, and request a bug report to inform us about it.
75339         Add a comment that, barring reports to the contrary, in 2007 we'll
75340         assume ftruncate is universally available.
75341
75342         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75343
75344         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75345
75346         2006-03-12  Jim Meyering  <jim@meyering.net>
75347
75348         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75349         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75350         * m4/same.m4 (gl_SAME): Likewise.
75351         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75352
75353         2006-03-11  Eric Blake  <ebb9@byu.net>
75354
75355         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75356         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75357         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75358         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75359
75360 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75361
75362         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75363         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75364         reported by Mark D. Baushke, one in
75365         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75366
75367         Merge from coreutils.
75368
75369         * lib/.cppi-disable: Add stdint_.h.
75370         * lib/.cvsignore: Add stdint.h.
75371
75372         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75373
75374         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75375         both double and long double versions.
75376         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75377         * lib/xstrtold.c: New file.
75378         * lib/xstrtod.h (xstrtold): New decl.
75379
75380         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75381
75382         * lib/filemode.c (setst): Remove.
75383         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75384         (arguably) clearer, and the generated code is a bit smaller on my
75385         Debian GNU/Linux stable x86 host.
75386
75387         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75390         Assume that filemode.h includes sys/types.h and sys/stat.h.
75391         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75392         (ftypelet): Reorder to put common cases first, for efficiency.
75393         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75394         to do 'M'.
75395         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75396         of 10, for compatibility with FreeBSD.  All callers changed.
75397         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75398         types that can't be deduced solely from st_mode.  First arg is now a
75399         const pointer.
75400         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75401         (strmode): Renamed from mode_string.
75402         (filemodestring): New decl.
75403         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75404         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75405         needed.
75406         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75407
75408         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75409
75410         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75411         fsusage.h now does that.  Include fsusage.h first, to test interface.
75412         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75413         at most one method (the old code could have generated decls that
75414         didn't conform to C89, not that this was ever exercised).
75415         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75416
75417         2006-03-19  Jim Meyering  <jim@meyering.net>
75418
75419         Work even in a chroot where d_ino values for entries in "/"
75420         don't match the stat.st_ino values for the same names.
75421         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75422         number, iterate through all entries again, using lstat instead.
75423         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75424         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75425
75426         * lib/getcwd.c (__getcwd): Clarify a comment.
75427         Use memcpy in place of a call to strcpy.
75428
75429         2006-03-12  Jim Meyering  <jim@meyering.net>
75430
75431         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75432         matches that of the current directory (which we're about to chdir ".."
75433         out of), then save the dev-ino of the parent, instead.
75434
75435         * lib/same-inode.h (SAME_INODE): New file/macro.
75436         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75437         Include "same-inode.h", instead.
75438         * lib/same.c: Likewise.
75439         * lib/cycle-check.h: Include "same-inode.h".
75440         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75441         * lib/cycle-check.c (SAME_INODE): Remove definition.
75442         * lib/root-dev-ino.h: Include "same-inode.h".
75443
75444         2006-03-11  Eric Blake  <ebb9@byu.net>
75445
75446         * lib/same.c (same_name): s/base_name/last_component/
75447         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75448         * lib/filenamecat.c (file_name_concat): Likewise.
75449
75450         2006-03-11  Eric Blake  <ebb9@byu.net>,
75451                     Paul Eggert  <eggert@cs.ucla.edu>
75452
75453         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75454         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75455         drive prefix.
75456         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75457         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75458         (last_component): New method.
75459         * lib/dirname.c (dir_len): Determine when drive letters need a
75460         subsequent slash.  Preserve // when it is special.
75461         (dir_name): Don't append dot when drive letter is absolute.
75462         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75463         * lib/basename.c (base_name): New semantics - malloc the result.
75464         Preserve // when it is special.  Preserve relative files that look
75465         like drive letters.
75466         (base_len): Preserve // when it is special.
75467         (last_component): New method, similar to old base_name semantics.
75468         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75469         base_name.  Strip redundant slashes from ///.
75470
75471 2006-07-03  Jim Meyering  <jim@meyering.net>
75472
75473         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75474         macro is used before the first cycle_check call.
75475
75476 2006-07-03  Eric Blake  <ebb9@byu.net>
75477
75478         * modules/dirname (Depends-on): Add xstrndup.
75479
75480 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75481
75482         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75483         test cases, so that config.log is a bit easier to follow.
75484
75485 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75486
75487         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75488         both are 64 bits, since this seems to be the tradition, and this
75489         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75490         we ever run into a host that prefers long long to long in this
75491         case, we'll need another configure-time test.  Problem reported by
75492         Jim Meyering.
75493
75494 2006-07-02  Eric Blake  <ebb9@byu.net>
75495
75496         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75497
75498 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75499
75500         * modules/inttypes (Depends-on): No longer depends on stdint.
75501         * modules/stdint (Description): Say more about assumptions.
75502         Say that the fast types might differ.  Say macros are used.
75503         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75504         (Makefile.am): Revise list of substituted symbols to match
75505         new stdint.m4.
75506         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75507         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75508         * tests/test-stdint.c (verify_same_types)
75509         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75510         the code conforms to C99/C89.
75511         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75512         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75513
75514 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75515
75516         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75517         but fix a bug, by requiring at least 64 bits.
75518         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75519         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75520         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75521         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75522
75523         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75524         changes.  Make 2.59 a prerequisite.  Check and substitute for
75525         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75526         inttypes.h.  Do not use special include files; just use the
75527         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75528         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75529         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75530         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75531         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75532         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75533         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75534         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75535         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75536         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75537         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75538         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75539         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75540         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75541         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75542         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75543         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75544         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75545         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75546         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75547         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75548         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75549         not check for things that C99 does not require, e.g., int8_t.  If
75550         a test isn't needed unless <stdint.h> isn't working, and is
75551         unlikely to be needed for any other reason, then don't do it
75552         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75553         size_t, since we assume C89 freestanding at least.  Do not check
75554         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75555         the right thing even if the types are not defined.  Instead use:
75556         (gl_STDINT_TYPE_PROPERTIES): New macro.
75557         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75558         testing whether <sys/types.h> clashes, as Autoconf does this for
75559         us now.  All uses removed.
75560         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75561         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75562         (gl_CHECK_TYPE_SAME):
75563         Remove; no longer needed.
75564         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75565         exists, since we'll return 0 anyway in that case.
75566         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75567
75568 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75569
75570         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75571         possible collision with system files.
75572         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75573         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75574         WCHAR_MIN and WCHAR_MAX in this case.
75575         (<stddef.h>): Do not include; no longer needed.
75576         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75577         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75578         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75579         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75580         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75581         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75582         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75583         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75584         !defined(__c99))]: Include in this case too, since it's harmless
75585         now.
75586         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75587         dangerous to do so.
75588         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75589         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75590         (_STDINT_MIN, _STDINT_MAX): New macros.
75591         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75592         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75593         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75594         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75595         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75596         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75597         macros, not typedefs; this simplifies things quite a bit.
75598         Use long int for all types narrower than int64_t.
75599         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75600         Define in terms of long long int or int64_t or long int,
75601         not int64_t or int32_t.  This saves some compile-time testing.
75602         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75603         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75604         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75605         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75606         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75607         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75608         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75609         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75610         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75611         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75612         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75613         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75614         undef any previous version and define our own version, for
75615         simplicity and consistency with the new macros for types.
75616         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75617         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75618         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75619         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75620         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75621         @WINT_T_SUFFIX@ to keep things simple here.
75622         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75623         Simplify by assuming typical 8/16/32/64 host, since we're
75624         already doing that elsewhere anyway.
75625         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75626         and assume long long int is 64 bits if available.  This
75627         speeds up 'configure'.
75628
75629 2006-07-01  Eric Blake  <ebb9@byu.net>
75630
75631         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75632         Reported by Andreas Buening.
75633
75634 2006-07-01  Eric Blake  <ebb9@byu.net>
75635
75636         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75637
75638 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75639
75640         * lib/getaddrinfo.c: fixed typo
75641
75642 2006-06-29  Jim Meyering  <jim@meyering.net>
75643
75644         * modules/strftime (Maintainer): Add my name, since with the
75645         FPRINTFTIME changes strftime.c has forked from glibc.
75646
75647 2006-06-29  Eric Blake  <ebb9@byu.net>
75648
75649         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75650
75651 2006-06-29  Eric Blake  <ebb9@byu.net>
75652
75653         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75654
75655 2006-06-29  Eric Blake  <ebb9@byu.net>
75656
75657         * lib/stat_.h: New file.
75658
75659 2006-06-29  Eric Blake  <ebb9@byu.net>
75660
75661         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75662         unused static function.
75663
75664 2006-06-29  Eric Blake  <ebb9@byu.net>
75665
75666         * doc/functions.texi (Function Portability): Document missing lstat
75667         on mingw.
75668
75669 2006-06-29  Eric Blake  <ebb9@byu.net>
75670
75671         * MODULES.html.sh: Add sys_stat.
75672         * modules/sys_stat: New module.
75673         * modules/mkstemp (Depends-on): Add sys_stat.
75674
75675 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75676
75677         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75678
75679 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75680
75681         * m4/c-bs-a.m4: Removed.
75682
75683 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75684
75685         * lib/strftime.c: Assume strftime() exists.
75686
75687 2006-06-29  Derek Price  <derek@ximbiot.com>
75688
75689         * modules/c-bs-a: Removed - \a is C89.
75690         * MODULES.html.sh: Remove c-bs-a.
75691
75692 2006-06-29  Bruno Haible  <bruno@clisp.org>
75693
75694         * modules/wcwidth (License): Change to LGPL.
75695
75696 2006-06-28  Simon Josefsson  <jas@extundo.com>
75697
75698         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75699         on _WIN32.
75700
75701         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75702         getnameinfo.
75703
75704 2006-06-28  Simon Josefsson  <jas@extundo.com>
75705
75706         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75707
75708 2006-06-28  Simon Josefsson  <jas@extundo.com>
75709
75710         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75711         functions there.  It will succeed on Windows XP, but on Windows
75712         2000 and (presumably) earlier, it will fail, and use the internal
75713         re-implementation.
75714         (use_win32_p): New function.
75715         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75716         Support AI_NUMERICSERV to disable getservbyname.
75717         (getnameinfo): New function, only supports
75718         NI_NUMERICHOST|NI_NUMERICSERV for now.
75719
75720         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75721         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75722         getnameinfo.
75723
75724 2006-06-28  Eric Blake  <ebb9@byu.net>
75725
75726         * modules/wcwidth: New file.
75727         * modules/mbchar (Depends-on): Add wcwidth.
75728         * modules/mbswidth (Depends-on): Add wcwidth.
75729         * MODULES.html.sh: Add wcwidth.
75730
75731 2006-06-28  Eric Blake  <ebb9@byu.net>
75732
75733         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75735
75736 2006-06-28  Eric Blake  <ebb9@byu.net>
75737
75738         * lib/xvasprintf.h: Fix comments.
75739
75740 2006-06-28  Eric Blake  <ebb9@byu.net>
75741
75742         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75743         * lib/mbswidth.c (wcwidth): Move from here...
75744         * lib/wcwidth.h: ...to this new file.
75745
75746 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75747
75748         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75749
75750         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75751         it's obsolete.
75752         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75753
75754 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75755
75756         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75757         Autoconf 2.60 says this stuff was obsolete.
75758
75759 2006-06-28  Bruno Haible  <bruno@clisp.org>
75760
75761         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75762
75763 2006-06-28  Bruno Haible  <bruno@clisp.org>
75764
75765         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75766         gt_TYPE_WCHAR_T.
75767
75768 2006-06-28  Bruno Haible  <bruno@clisp.org>
75769
75770         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75771         declaration for wcwidth.
75772         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75773
75774 2006-06-28  Bruno Haible  <bruno@clisp.org>
75775
75776         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75777         (mkdir): Define using _mkdir.
75778
75779 2006-06-28  Bruno Haible  <bruno@clisp.org>
75780
75781         * lib/getaddrinfo.h: Fix POSIX URL.
75782         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75783         _WIN32.
75784         (use_win32_p): Make static.
75785         (getaddrinfo): Reject service name if it is empty or does not consist
75786         solely of decimal digits, or if its value is > 65535.
75787         (getnameinfo): Remove useless casts.
75788
75789 2006-06-27  Simon Josefsson  <jas@extundo.com>
75790
75791         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75792         Eggert and Martin Lambers.
75793
75794 2006-06-27  Simon Josefsson  <jas@extundo.com>
75795
75796         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75797         Eggert and Martin Lambers.
75798
75799 2006-06-27  Bruno Haible  <bruno@clisp.org>
75800
75801         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75802         result to 0, not to empty.
75803         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75804
75805 2006-06-27  Bruno Haible  <bruno@clisp.org>
75806
75807         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75808
75809 2006-06-26  Simon Josefsson  <jas@extundo.com>
75810
75811         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75812         present.
75813
75814 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75815
75816         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75817         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75818         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75819
75820 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75821
75822         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75823
75824 2006-06-26  Bruno Haible  <bruno@clisp.org>
75825
75826         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75827
75828 2006-06-26  Bruno Haible  <bruno@clisp.org>
75829
75830         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75831
75832 2006-06-26  Bruno Haible  <bruno@clisp.org>
75833
75834         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75835         SGI C compiler in pre-C99 mode.
75836         Suggested by Mark D. Baushke and Larry Jones.
75837
75838 2006-06-26  Bruno Haible  <bruno@clisp.org>
75839
75840         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75841         WCHAR_MAX.
75842         Reported by Mark D. Baushke and Larry Jones.
75843
75844 2006-06-26  Bruno Haible  <bruno@clisp.org>
75845
75846         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75847         in pre-C99 mode.
75848         Suggested by Mark D. Baushke and Larry Jones.
75849
75850 2006-06-23  Simon Josefsson  <jas@extundo.com>
75851             Bruno Haible  <bruno@clisp.org>
75852
75853         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75854         Emit mostlyclean-local rule.
75855         (func_emit_tests_Makefile_am): Likewise.
75856         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75857
75858 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75859
75860         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75861
75862 2006-06-23  Bruno Haible  <bruno@clisp.org>
75863
75864         * tests/test-stdint.c: Update to match ISO C 99 Technical
75865         Corrigendum 1.
75866
75867 2006-06-23  Bruno Haible  <bruno@clisp.org>
75868
75869         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75870
75871 2006-06-23  Bruno Haible  <bruno@clisp.org>
75872
75873         * lib/stdint_.h: Treat IRIX like OpenBSD.
75874
75875 2006-06-23  Bruno Haible  <bruno@clisp.org>
75876
75877         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75878         ISO C 99 Technical Corrigendum 1.
75879
75880 2006-06-22  Simon Josefsson  <jas@extundo.com>
75881
75882         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75883         MinGW.
75884
75885 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75886
75887         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75888         needed.  Some compiler complained about some of them.  Problem reported
75889         by Larry Jones in
75890         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75891
75892 2006-06-21  Simon Josefsson  <jas@extundo.com>
75893
75894         * tests/test-getaddrinfo.c: New file.
75895
75896         * modules/getaddrinfo-tests: New file.
75897
75898         * MODULES.html.sh: Add inet_pton.
75899
75900         * modules/inet_pton: New file.
75901
75902 2006-06-21  Simon Josefsson  <jas@extundo.com>
75903
75904         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75905         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75906         of using the (limited) gnulib implementation on Windows XP.
75907
75908         * m4/inet_pton.m4: New file.
75909
75910 2006-06-21  Simon Josefsson  <jas@extundo.com>
75911
75912         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75913         variable.
75914
75915         * lib/socket_.h: Don't define WINVER.
75916
75917         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75918         slightly modified to work in gnulib.
75919
75920 2006-06-21  Simon Josefsson  <jas@extundo.com>
75921
75922         * doc/gnulib.texi (Windows sockets): Add.
75923
75924 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75925
75926         * lib/read-file.c (fread_file): Start with buffer allocation of
75927         0 bytes rather than 1 byte; this simplifies the code.
75928         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75929         code to free buffer and save/restore errno.
75930         (internal_read_file): Remove unused local.
75931
75932 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75933
75934         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75935         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75936         Problem reported by Denis Excoffier in
75937         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75938
75939 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75940
75941         * modules/sys_socket, modules/socklen: Include sys/types since
75942         FreeBSD 4.x's sys/socket.h needs it.
75943
75944 2006-06-19  Simon Josefsson  <jas@extundo.com>
75945
75946         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75947
75948 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75949
75950         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75951
75952 2006-06-19  Bruno Haible  <bruno@clisp.org>
75953
75954         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75955         and FULL_PATH_INTTYPES_H in angle brackets.
75956         Reported by Mark D. Baushke <mdb@gnu.org>.
75957
75958 2006-06-17  Eric Blake  <ebb9@byu.net>
75959
75960         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75961         errno.
75962
75963 2006-06-17  Bruno Haible  <bruno@clisp.org>
75964
75965         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75966         <sys/inttypes.h>.
75967
75968 2006-06-17  Bruno Haible  <bruno@clisp.org>
75969
75970         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75971         whether errno is declared. Assume <errno.h> declares errno.
75972
75973 2006-06-17  Bruno Haible  <bruno@clisp.org>
75974
75975         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75976
75977 2006-06-17  Bruno Haible  <bruno@clisp.org>
75978
75979         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75980         problem on Solaris 2.5.1.
75981
75982 2006-06-16  Eric Blake  <ebb9@byu.net>
75983
75984         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75985         * lib/unicodeio.c [!defined errno]: Likewise.
75986         * lib/strtol.c [!defined errno]: Likewise.
75987         * lib/strtod.c [!defined errno]: Likewise.
75988
75989 2006-06-15  Eric Blake  <ebb9@byu.net>
75990
75991         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75992
75993 2006-06-15  Eric Blake  <ebb9@byu.net>
75994
75995         * config/srclist.txt (ssize_t.m4): Lose sync.
75996
75997 2006-06-15  Bruno Haible  <bruno@clisp.org>
75998
75999         * modules/stdint (Files): Include m4/full-header-path.m4,
76000         m4/size_max.m4, m4/wchar_t.m4.
76001         (Makefile.am): Many more substitutions.
76002         * modules/stdint-tests: New file.
76003         * tests/test-stdint.c: New file.
76004
76005 2006-06-15  Bruno Haible  <bruno@clisp.org>
76006
76007         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76008         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76009         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76010         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76011         gl_CHECK_TYPE_SAME): New macros.
76012
76013 2006-06-15  Bruno Haible  <bruno@clisp.org>
76014
76015         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76016
76017 2006-06-15  Bruno Haible  <bruno@clisp.org>
76018
76019         * lib/stdint_.h: Rewritten to be fully auto-configured.
76020         Fixes bug on HP-UX/IA64.
76021
76022 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * lib/getdate.y (__attribute__): Don't define if already defined.
76025         Problem reported by Larry Jones.
76026         * lib/utimens.c (__attribute__): Likewise.
76027
76028 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76029
76030         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76031         reported by Andreas Schwab.
76032
76033 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76034             Bruno Haible  <bruno@clisp.org>
76035
76036         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76037         check for the declaration of strnlen and a run test that exposes the
76038         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76039         rpl_strndup.
76040
76041 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76042             Bruno Haible  <bruno@clisp.org>
76043
76044         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76045
76046 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76047
76048         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76049         compile test, for Tru64 4.0D.
76050
76051 2006-05-28  Karl Berry  <karl@gnu.org>
76052
76053         * config/srclist.txt (printf-args.c): lose sync.
76054
76055 2006-05-26  Martin Lambers  <marlam@marlam.de>
76056
76057         * lib/getpass.c: Updates the test for the native W32 API, and adds
76058         missing includes, thus fixing compilation warnings.
76059
76060 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76061
76062         * lib/exclude.c (exclude_fnmatch): New function.
76063         (excluded_file_name): Call exclude_fnmatch.
76064         * lib/exclude.h (excluded_file_name): New prototype
76065
76066 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76067
76068         * lib/tempname.c (small_open, large_open): New macros.
76069         (__open, __open64) [!_LIBC]: Remove.
76070         (__gen_tempname): Use small_open and large_open instead of __open
76071         and __open64.  This fixes a portability bug on HP-UX 11.11i
76072         reported by Simon Wing-Tang in
76073         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76074
76075 2006-05-24  Bruno Haible  <bruno@clisp.org>
76076
76077         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76078         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76079         Reported by Thorsten Maerz <torte@netztorte.de> via
76080         Aaron Stone <aaron@serendipity.cx>.
76081
76082 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76083
76084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76085         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76086         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76087         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76088         not really conditional on the cache.
76089         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76090
76091 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76092
76093         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76094         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76095         (my_usleep): Don't mishandle maximum value.
76096
76097 2006-05-19  Jim Meyering  <jim@meyering.net>
76098
76099         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76100
76101 2006-05-17  Bruno Haible  <bruno@clisp.org>
76102
76103         Cygwin portability.
76104         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76105
76106 2006-05-17  Bruno Haible  <bruno@clisp.org>
76107
76108         * lib/stdint_.h: Fix recognition of Cygwin.
76109
76110 2006-05-15  Bruno Haible  <bruno@clisp.org>
76111
76112         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76113         on libtool patch by Ralf Wildenhues.
76114
76115 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76116
76117         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76118         test for C99 conformance; (bool) 0.5 is an integer constant
76119         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76120         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76121
76122 2006-05-11  Simon Josefsson  <jas@extundo.com>
76123
76124         * m4/xvasprintf.m4: Fix obvious typo.
76125
76126 2006-05-11  Jim Meyering  <jim@meyering.net>
76127
76128         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76129         James Lemley.
76130
76131 2006-05-10  Simon Josefsson  <jas@extundo.com>
76132
76133         * lib/md4.c: Typo fix, update copyright years.
76134         (K1, K2): Don't use L because it turn computations into 64-bit on
76135         64-bit platforms.
76136
76137 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76138
76139         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76140         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76141         unwanted sign propagation, e.g., on hosts with 64-bit int.
76142         There still are some problems with reeelly weird theoretical hosts
76143         (e.g., 33-bit int) but it's not worth worrying about now.
76144         * lib/sha1.c (rol): Likewise.
76145         (K1, K2, K3, K4): Remove unnecessary L suffix.
76146
76147 2006-05-10  Bruno Haible  <bruno@clisp.org>
76148
76149         * lib/des.c: Cast to avoid warnings.
76150
76151 2006-05-09  Bruno Haible  <bruno@clisp.org>
76152
76153         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76154         (Depends-on): Depend also on xsize, stdarg.
76155         (configure.ac): Add gl_XVASPRINTF.
76156
76157 2006-05-09  Bruno Haible  <bruno@clisp.org>
76158
76159         * m4/xvasprintf.m4: New file.
76160
76161 2006-05-09  Bruno Haible  <bruno@clisp.org>
76162
76163         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76164         (EOVERFLOW): Define fallback value.
76165         (xstrcat): New function.
76166         (xvasprintf): Recognize the special case of a string concatenation.
76167
76168 2006-05-08  Eric Blake  <ebb9@byu.net>
76169
76170         * gnulib-tool (func_version): Base copyright year on CVS date.
76171         (func_emit_copyright_notice): New function.
76172         (func_emit_lib_Makefile_am): Use it.
76173         (func_emit_tests_Makefile_am): Likewise.
76174         (func_import): Likewise.
76175
76176 2006-05-08  Bruno Haible  <bruno@clisp.org>
76177
76178         * modules/stdarg: New file.
76179         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76180
76181 2006-05-08  Bruno Haible  <bruno@clisp.org>
76182
76183         * m4/stdarg.m4: New file, from GNU gettext.
76184
76185 2006-05-08  Bruno Haible  <bruno@clisp.org>
76186
76187         * config/srclist.txt (build-aux/config.rpath): different from latest
76188         release.
76189
76190 2006-05-08  Bruno Haible  <bruno@clisp.org>
76191
76192         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76193
76194 2006-05-05  Jim Meyering  <jim@meyering.net>
76195
76196         * m4/warning.m4: New file, derived from bison's file by the same name.
76197
76198 2006-05-03  Bruno Haible  <bruno@clisp.org>
76199
76200         * lib/stdint_.h: Shorter URL.
76201         * lib/inttypes.h: Likewise.
76202
76203 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76204
76205         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76206
76207 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76208
76209         * lib/verify.h: Document the internals better.  Most of this change
76210         was written by Bruno Haible.
76211
76212 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76213
76214         * doc/verify.texi: New file, partly based on a proposal by
76215         Bruno Haible.
76216
76217 2006-05-02  Bruno Haible  <bruno@clisp.org>
76218
76219         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76220         test from here...
76221         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76222
76223 2006-04-29  Bruno Haible  <bruno@clisp.org>
76224
76225         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76226         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76227
76228 2006-04-29  Bruno Haible  <bruno@clisp.org>
76229
76230         * gnulib-tool: Make --update option actually work.
76231
76232 2006-04-29  Bruno Haible  <bruno@clisp.org>
76233
76234         * doc/gcd.texi: New file.
76235         * doc/gnulib.texi: Include it.
76236
76237 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76238
76239         * lib/getdate.y (get_date): When adding relative date, start with the
76240         initial time, not with the result of the first mktime call.
76241
76242 2006-04-25  Bruno Haible  <bruno@clisp.org>
76243
76244         * gnulib-tool (func_import): Output the include directives in three
76245         blocks, sorted separately.
76246         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76247
76248 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76249
76250         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76251         to define main with arguments, for C++.  Reported by Eric Blake.
76252         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76253         Prefer 'int main ()' to 'int main (void)', for C++.
76254         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76255         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76256         for 'main', for C99 and C++.
76257
76258 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76261         Don't assume that exit status -1 is valid.
76262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76263         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76264         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76265         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76266         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76267         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76268         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76269         functions can be used without declaring them, or that you can
76270         exit with status -1.
76271         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76272
76273 2006-04-24  Karl Berry  <karl@gnu.org>
76274
76275         * config/srclist.txt (longdouble.m4): sync lost.
76276
76277 2006-04-24  Eric Blake  <ebb9@byu.net>
76278
76279         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76280
76281 2006-04-24  Bruno Haible  <bruno@clisp.org>
76282
76283         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76284         poll() implementation in AIX.
76285         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76286
76287 2006-04-24  Bruno Haible  <bruno@clisp.org>
76288
76289         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76290         assigned exactly once.
76291
76292 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76293             Bruno Haible  <bruno@clisp.org>
76294
76295         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76296         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76297         for AM_CPPFLAGS.
76298
76299 2006-04-23  Bruno Haible  <bruno@clisp.org>
76300
76301         * modules/copy-file: Depend on unistd.
76302         * modules/execute: Likewise.
76303         * modules/fatal-signal: Likewise.
76304         * modules/findprog: Likewise.
76305         * modules/mkdtemp : Likewise.
76306         * modules/pipe: Likewise.
76307         * modules/wait-process: Likewise.
76308
76309 2006-04-23  Bruno Haible  <bruno@clisp.org>
76310
76311         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76312         condition was already detected.
76313         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76314
76315 2006-04-23  Bruno Haible  <bruno@clisp.org>
76316
76317         * lib/copy-file.c: Include <unistd.h> unconditionally.
76318         * lib/execute.c: Likewise.
76319         * lib/fatal-signal.c: Likewise.
76320         * lib/findprog.c: Likewise.
76321         * lib/mkdtemp.c: Likewise.
76322         * lib/pipe.h: Likewise.
76323         * lib/pipe.c: Likewise.
76324         * lib/wait-process.h: Likewise.
76325
76326 2006-04-23  Bruno Haible  <bruno@clisp.org>
76327
76328         * gnulib-tool (func_usage): Fix --import description. Document
76329         --update.
76330         (func_import): Create temporary file in a temporary directory, if
76331         --dry-run is specified. Silence errors from 'grep' when there are no
76332         m4 files in $m4dir.
76333         (func_create_testdir): Silence errors from 'grep' when there are no
76334         m4 files in $m4dir.
76335         Reported by Karl Berry <karl@freefriends.org>.
76336
76337 2006-04-20  Bruno Haible  <bruno@clisp.org>
76338
76339         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76340         one argument, so that the code will be portable to Autoconf 2.60.
76341         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76342         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76343         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76344
76345 2006-04-19  Derek Price  <derek@ximbiot.com>
76346             Eric Blake  <ebb9@byu.net>
76347
76348         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76349         rather than "/full/path.h".  Update comment to match.  Shorten &
76350         generalize m4_translit call via AS_TR_CPP.
76351
76352 2006-04-19  Derek Price  <derek@ximbiot.com>
76353             Eric Blake  <ebb9@byu.net>
76354
76355         * lib/inttypes.h: Correct grammar in comment.
76356
76357 2006-04-18  Derek Price  <derek@ximbiot.com>
76358             Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * modules/inttypes: New file.
76361         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76362
76363 2006-04-18  Derek Price  <derek@ximbiot.com>
76364             Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76367         New files.
76368
76369 2006-04-18  Derek Price  <derek@ximbiot.com>
76370             Paul Eggert  <eggert@cs.ucla.edu>
76371
76372         * lib/inttypes.h: New file.
76373         * lib/strtoimax.c: Assume <inttypes.h>.
76374
76375 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76376
76377         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76378         isn't mounted.  Problem reported by Kir Kolyshkin.
76379
76380 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76381
76382         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76383         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76384         Derek R. Price.
76385         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76386         implementation.
76387
76388 2006-04-12  Eric Blake  <ebb9@byu.net>
76389
76390         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76391         is now done automatically by the corresponding Autoconf macro.
76392
76393 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76394
76395         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76396         time_r.h.
76397
76398 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76399
76400         Merge regex changes from libc, removing some of our
76401         POSIX-conformance changes that were rejected and redoing them in a
76402         less-intrusive way.
76403
76404         * lib/regcomp.c (re_compile_internal, init_dfa):
76405         Length arg is now size_t, not Idx.  All uses changed.
76406         (peek_token): Forward decl now says internal_function.
76407         (__re_error_msgid, __re_error_msgid_idx):
76408         Now static rather than extern with attribute_hidden.
76409         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76410         For some reason libc prefers K&R style defns for external functions.
76411         (regerror) [!defined _LIBC]: Likewise.
76412         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76413         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76414         (build_range_exp, build_collating_symbol):
76415         Use K&R-style defn.
76416         (re_compile_fastmap): Use '\0' to memset, not 0.
76417         (utf8_sb_map): Make the calculations more obvious.
76418         (init_dfa, parse_bracket_exp, build_charclass_op):
76419         Call calloc and cast result, as glibc does.
76420         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76421         (build_range_exp, build_collating_symbol):
76422         Now internal functions.
76423
76424         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76425
76426         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76427         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76428         Don't depend on VMS; depend on __VMS instead, for POSIX
76429         namespace cleanness.
76430         (regoff_t): Define to ssize_t, not long int.
76431
76432         Remove the REG_ macros named below.  Instead, make the old names
76433         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76434         __USE_GNU_REGEX.
76435         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76436         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76437         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76438         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76439         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76440         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76441         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76442         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76443         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76444         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76445         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76446         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76447         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76448         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76449         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76450         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76451         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76452         (REG_NREGS):
76453         Remove.  All uses replaced by the old RE_* names.
76454         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76455         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76456         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76457         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76458         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76459         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76460         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76461         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76462         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76463         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76464         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76465         Don't bother having these macros be independent of each others'
76466         values, since they no longer exist in the POSIX name space.
76467
76468         Rename the following member names back to their old names,
76469         unless !__USE_GNU_REGEX.  All uses changed back.
76470         (buffer): Renamed from re_buffer.
76471         (allocated): Renamed from re_allocated.
76472         (used): Renamed from re_used.
76473         (syntax): Renamed from re_syntax.
76474         (fastmap): Renamed from re_fastmap.
76475         (translate): Renamed from re_translate.
76476         (can_be_null): Renamed from re_can_be_null.
76477         (regs_allocated): Renamed from re_regs_allocated.
76478         (fastmap_accurate): Renamed from re_fastmap_accurate.
76479         (no_sub): Renamed from re_no_sub.
76480         (not_bol): Renamed from re_not_bol.
76481         (not_eol): Renamed from re_not_eol.
76482         (newline_anchor): Renamed from re_newline_anchor.
76483         (num_regs): Renamed from rm_num_regs.
76484         (start): Renamed from rm_start.
76485         (end): Renamed from rm_end.
76486
76487         (free_state): Move up a bit.
76488
76489         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76490         #define to be empty.
76491         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76492         when that is what is intended.
76493         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76494         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76495         (MAX): New macro.
76496         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76497         All uses changed back to re_malloc, etc.  It's now the caller's
76498         responsibility to check for overflow; all callers changed.
76499         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76500         (re_x2nrealloc): Remove.
76501         (free_state): Remove decl.
76502
76503         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76504         (re_set_registers, re_exec):
76505         Use K&R-style defn.
76506
76507         2006-01-31  Roland McGrath  <roland@redhat.com>
76508
76509         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76510         Reported by Mike Frysinger <vapier@gentoo.org>.
76511
76512         2006-01-15  Andreas Jaeger  <aj@suse.de>
76513
76514         [BZ #1950]
76515         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76516         build_wcs_upper_buffer change.
76517         (build_wcs_upper_buffer): Change return type.
76518
76519         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76520
76521         * lib/regex_internal.h: Include <stdint.h> if available.
76522
76523         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76524
76525         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76526
76527         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76528
76529         * lib/regcomp.c: Adjust for changed secondary hash function.
76530
76531         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76532
76533         * lib/regex.h: Pretty printing.
76534         Clean up namespace a bit.
76535
76536         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76537
76538         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76539         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76540
76541         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76542                     Ulrich Drepper  <drepper@redhat.com>
76543
76544         [BZ #1302]
76545         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76546         changed.
76547         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76548
76549         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76550
76551         [BZ #281]
76552         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76553         * lib/regcomp.c: Remove unnecessary uses of
76554         unsigned RE_TRANSLATE_TYPE.
76555         * lib/regex_internal.h: Likewise.
76556         * lib/regex_internal.c: Likewise.
76557         * lib/regexec.c: Likewise.
76558         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76559
76560         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76561
76562         * lib/regexec.c (find_recover_state): Remove unnecessary
76563         initialization.
76564         (transit_state_bkref): Make DFA a const pointer.
76565         (get_subexp): Likewise.
76566         (check_arrival): Likewise.
76567         (update_cur_sifted_state): Likewise.
76568         (re_search_internal): Likewise.
76569         (prune_impossible_nodes): Likewise.
76570         (acquire_init_state_context): Likewise.
76571         (proceed_next_node): Likewise.
76572         (set_regs): Likewise.
76573         (free_fail_stack_return): Likewise.
76574         (check_arrival_expand_ecl): Mark DFA parameter as const.
76575         (check_arrival_expand_ecl_sub): Likewise.
76576         (check_subexp_limits): Likewise.
76577         (sub_epsilon_src_nodes):  Likewise.
76578         (add_epsilon_src_nodes):  Likewise.
76579         (merge_state_array): Likewise.
76580         (update_regs): Likewise.
76581         (build_trtable): Likewise.
76582         (sift_states_backward): Mark MCTX parameter as const.
76583         (build_sifted_states): Likewise.
76584         (update_cur_sifted_state): Likewise.
76585         (sift_states_mkref): Likewise.
76586         (check_arrival_expand_ecl): Mark eclosure as const.
76587         (check_dst_limits_calc_pos_1): Likewise.
76588         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76589         pointer.
76590
76591         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76592
76593         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76594         (transit_state_sb): Likewise.
76595         (transit_state_mb): Likewise.
76596         (sift_states_iter_mb): Likewise.
76597         (check_arrival_add_next_nodes): Likewise.
76598         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76599         [_LIBC] (re_search_2_stub): Use mempcpy.
76600
76601         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76602         mbrtowc for very simple UTF-8 case.
76603
76604         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76605         a pointer-to-const.
76606         (re_acquire_state_context): Likewise.
76607         * lib/regex_internal.h: Adjust prototypes.
76608
76609         * lib/regex.c: Prevent using C++ compilers.
76610
76611         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76612         (re_acquire_state_context): Likewise.
76613
76614 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76615
76616         * modules/regex (Depends-on): Add ssize_t.
76617
76618 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76619
76620         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76621         translation table.
76622
76623 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76624
76625         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76626
76627 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76628             Bruno Haible  <bruno@clisp.org>
76629
76630         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76631         <sys/types.h> and <inttypes.h>.
76632
76633 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76634
76635         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76636         `__error_t_defined', so argp.h will not typedef the former.
76637
76638 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76639
76640         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76641         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76642         glibc names.  Even if glibc is changed to conform to POSIX, the
76643         traditional names will be available anyway, since regex depends on
76644         the extensions module.  Also, fix a longstanding typo in the
76645         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76646         reported by Emanuele Giaquinta.  Also, change sense of cached
76647         variable, so that the message makes sense.
76648
76649 2006-03-24  Simon Josefsson  <jas@extundo.com>
76650
76651         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76652         including some doc fixes.
76653         (base64_encode_alloc): Fix +1 bug on allocation failures.
76654
76655 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76656
76657         * lib/base64.c (base64_encode): Do not read past end of array with
76658         unsanitized input on systems with CHAR_BIT > 8.
76659
76660 2006-03-24  Eric Blake  <ebb9@byu.net>
76661
76662         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76663
76664 2006-03-22  Karl Berry  <karl@gnu.org>
76665
76666         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76667         * config/srclistvars.sh (COREUTILS): new var.
76668
76669 2006-03-17  Jim Meyering  <jim@meyering.net>
76670
76671         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76672         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76673
76674 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76675
76676         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76677         no longer needs it.  Instead, check that regoff_t is as least
76678         as wide as ptrdiff_t.
76679
76680         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76681         so that our regex.h stays compatible with the installed regex.
76682         This is helpful for installers who configure --without-included-regex.
76683         Problem reported by Emanuele Giaquinta.
76684
76685 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76686
76687         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76688         Typedef to long int, not to off_, as POSIX will likely change
76689         in that direction.
76690
76691 2006-03-15  Eric Blake  <ebb9@byu.net>
76692
76693         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76694
76695 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76696
76697         * lib/argp-help.c (validate_uparams): Fix typo
76698         * lib/argp-parse.c (argp_default_options): Consistently begin help
76699         messages with a lowercase letter.
76700
76701 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76702
76703         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76704         overrun buffers and shouldn't be used (much as gets shouldn't be
76705         used).
76706         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76707
76708 2006-03-08  Simon Josefsson  <jas@extundo.com>
76709
76710         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76711         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76712
76713 2006-03-08  Simon Josefsson  <jas@extundo.com>
76714
76715         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76716         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76717
76718 2006-03-08  Simon Josefsson  <jas@extundo.com>
76719
76720         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76721         signal that configure disabled the device.
76722
76723 2006-03-08  Simon Josefsson  <jas@extundo.com>
76724
76725         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76726         languages.
76727
76728 2006-03-07  Simon Josefsson  <jas@extundo.com>
76729
76730         * modules/getopt (Depends-on): Add unistd.
76731
76732         * modules/unistd: New file.
76733
76734 2006-03-07  Simon Josefsson  <jas@extundo.com>
76735
76736         * modules/gc-random: New file.
76737
76738 2006-03-07  Simon Josefsson  <jas@extundo.com>
76739
76740         * m4/unistd_h.m4: New file.
76741
76742 2006-03-07  Simon Josefsson  <jas@extundo.com>
76743
76744         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76745         test to be side-effect free by storing the result in the cache
76746         variable gl_cv_lib_readline, and moving the assignment of
76747         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76748         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76749
76750 2006-03-07  Simon Josefsson  <jas@extundo.com>
76751
76752         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76753         error on missing devices (the functions will return an error).
76754
76755         * m4/gc.m4: Move random stuff to gc-random.m4
76756
76757 2006-03-07  Simon Josefsson  <jas@extundo.com>
76758
76759         * lib/unistd_.h: New file.
76760
76761 2006-03-07  Simon Josefsson  <jas@extundo.com>
76762
76763         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76764
76765 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76766
76767         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76768         Problem reported by Juan Manuel Guerrero.
76769
76770 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76771
76772         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76773         the unistd module.
76774         * lib/getlogin_r.c: Likewise.
76775         * lib/getlogin_r.h: Likewise.
76776         * lib/glob.c: Likewise.
76777         * lib/pagealign_alloc.c: Likewise.
76778         * lib/unistd_.h: Remove; no longer needed.
76779
76780 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76781
76782         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76783         Add unistd.
76784         * modules/c-stack (Depends-on): Add unistd.
76785         * modules/getlogin_r: Likewise.
76786         * modules/glob: Likewise.
76787         * modules/pagealign_alloc: Likewise.
76788         * modules/unistd (Files): Remove lib/unistd_.h.
76789         (EXTRA_DIST): Remove.
76790         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76791         need unistd_.h.
76792         (MOSTLYCLEANFILES): Remove unistd.h-t.
76793
76794 2006-03-03  Simon Josefsson  <jas@extundo.com>
76795
76796         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76797
76798 2006-03-03  Simon Josefsson  <jas@extundo.com>
76799
76800         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76801         libidn and bison.
76802
76803 2006-03-03  Simon Josefsson  <jas@extundo.com>
76804
76805         * build-aux/maint.mk: Add indent target.
76806
76807 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76808
76809         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76810         our replacement poll.h in any case, to avoid a differing
76811         declaration from a system header.  Seen on AIX.
76812
76813 2006-03-01  Simon Josefsson  <jas@extundo.com>
76814
76815         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76816         <kasal@ucw.cz>.
76817
76818 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76819
76820         * modules/gettime (Depends-on): Add extensions module.
76821         * modules/nanosleep (Depends-on): Likewise.
76822         * modules/settime (Depends-on): Likewise.
76823
76824 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76825
76826         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76827         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76828         pedantically.
76829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76830         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76831
76832         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76833         not "==".  Reported by Ralf Wildenhues.
76834
76835 2006-03-01  Karl Berry  <karl@gnu.org>
76836
76837         * doc/Copyright/request-*: new files, synced from gnuorg.
76838
76839 2006-03-01  Karl Berry  <karl@gnu.org>
76840
76841         * config/srclist.txt (Copyright/*): new entries.
76842
76843 2006-02-28  Simon Josefsson  <jas@extundo.com>
76844
76845         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76846
76847 2006-02-27  Simon Josefsson  <jas@extundo.com>
76848
76849         * lib/base64.h: Indent #define's.  From Jim Meyering
76850         <jim@meyering.net>.
76851
76852 2006-02-27  Jim Meyering  <jim@meyering.net>
76853
76854         Revert the change of 2006-02-24, so these files can continue
76855         to be sync'd from gettext.
76856         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76857         of `config.h'.
76858
76859 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * modules/intprops: New file.
76862         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76863         Add intprops.
76864         * modules/getloadavg (Files): Remove lib/intprops.h.
76865         (Depends-on): Add intprops.
76866         * modules/human: Likewise.
76867         * modules/inttostr: Likewise.
76868         * modules/openat: Likewise.
76869         * modules/sig2str: Likewise.
76870         * modules/userspec: Likewise.
76871         * modules/utimecmp: Likewise.
76872         * modules/xnanosleep: Likewise.
76873         * modules/xstrtol: Likewise.
76874
76875 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76876
76877         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76878         * modules/lock-tests (TESTS): Use $(EXEEXT).
76879         * modules/tls-tests: Likewise.
76880         * modules/argp-tests: Likewise.
76881         (check_PROGRAMS): New var, replacing...
76882         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76883
76884 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76885
76886         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76887         `config.h'.
76888
76889 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76890
76891         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76892
76893 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76894
76895         Sync from coreutils.
76896         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76897         gl_CHDIR_SAFER.
76898
76899 2006-02-22  Jim Meyering  <jim@meyering.net>
76900
76901         Sync from coreutils.
76902         * m4/chdir-safer.m4: New file.
76903
76904 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76905
76906         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76907         AT_FDCWD exceeds INT_MAX.
76908         * lib/openat.h (AT_FDCWD): Likewise.
76909
76910 2006-02-17  Eric Blake  <address@hidden>
76911
76912         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76913
76914 2006-02-16  Simon Josefsson  <jas@extundo.com>
76915
76916         * modules/getaddrinfo (Depends-on): Add sys_socket.
76917
76918 2006-02-15  Simon Josefsson  <jas@extundo.com>
76919
76920         * build-aux/maint.mk: Add dsyntax-check rule.
76921
76922 2006-02-15  Eric Blake  <ebb9@byu.net>
76923
76924         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76925         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76926         'present but cannot compile' warnings on cygwin.
76927         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76928         use ws2tcpip.h if sys/socket.h works.
76929         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76930         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76931
76932 2006-02-14  Simon Josefsson  <jas@extundo.com>
76933
76934         * modules/maintainer-makefile (Files): Rename.
76935
76936         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76937         and (the local) Makefile.cfg to maint-cfg.mk.
76938
76939         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76940         to the latter.
76941
76942         * modules/maintainer-makefile: New module.
76943
76944         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76945         severaly stripped to make it possible to build it up from scratch
76946         with reliable tests.
76947
76948         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76949         fixes to permit overriding the default actions when configure and
76950         makefile are not available.
76951
76952 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76953
76954         Sync from coreutils.
76955         * modules/lstat (Depends-on): Don't depend on xalloc.
76956         (License): Change from GPL to LGPL, since this is now simply a
76957         replacement for a libc function.
76958
76959 2006-02-14  Jim Meyering  <jim@meyering.net>
76960
76961         Sync from coreutils.
76962
76963         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76964         failure on deficient systems, and simplify gnulib lgpl dependencies.
76965         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76966         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76967
76968         * lib/xalloc-die.c: Remove unused definition of N_.
76969
76970 2006-02-14  Jim Meyering  <jim@meyering.net>
76971
76972         Sync from coreutils.
76973         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76974         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76975         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76976         double-quote uses of that variable, to accommodate the rare case in
76977         which getmntent is available in none of the libraries checked.  This
76978         happens at least on FreeBSD 5.0.
76979
76980 2006-02-13  Simon Josefsson  <jas@extundo.com>
76981
76982         * gnulib-tool (Usage): Fix --import, from
76983         karl@freefriends.org (Karl Berry).
76984
76985 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76986
76987         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76988
76989 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76990
76991         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76992         "autoupdate" on 2005-12-12.
76993
76994 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76995
76996         * modules/closeout (Depends-on): Remove atexit.
76997
76998 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76999
77000         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77001         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77002
77003 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77004
77005         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77006         __EXTENSIONS__ if this causes compilation to fail.  Problem
77007         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77008         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77009
77010 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77011
77012         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77013         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77014         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77015         All uses changed.
77016
77017 2006-01-26  Simon Josefsson  <jas@extundo.com>
77018
77019         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77020         prototype is visible on mingw32.
77021
77022         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77023         for mingw32.
77024
77025         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77026         mingw32).
77027
77028 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77029
77030         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77031         attempt to open for write; this always fails, at least on POSIX
77032         hosts.  This reinstates the 2006-01-09 change, which was
77033         inadvertently removed.
77034
77035 2006-01-26  Bruno Haible  <bruno@clisp.org>
77036
77037         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77038         Reported by Paul Eggert.
77039
77040 2006-01-26  Bruno Haible  <bruno@clisp.org>
77041             Paul Eggert  <eggert@cs.ucla.edu>
77042
77043         * lib/stdbool_.h (_Bool)
77044         [(! (defined __cplusplus || defined __BEOS__)
77045           && !defined __GNUC__
77046           && !(defined __HP_cc || defined __xlc__
77047                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77048                || defined __sgi))]:
77049         #define to signed char in these cases too; this simplifies
77050         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77051         etc., separately) and makes it more conservative.
77052
77053 2006-01-25  Simon Josefsson  <jas@extundo.com>
77054
77055         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77056         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77057         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77058
77059 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77060
77061         * lib/argp-namefrob.h: Bugfix. Remove stray #
77062
77063 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77064
77065         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77066         so that we test the test.
77067         Check for yet another HP-UX cc bug involving *bool |= bool.
77068
77069 2006-01-25  Karl Berry  <karl@gnu.org>
77070
77071         * config/srclist.txt (vasnprintf.c): sync lost.
77072
77073 2006-01-25  Jim Meyering  <jim@meyering.net>
77074
77075         Sync from the stable (b5) branch of coreutils:
77076
77077         * lib/fts.c (fts_children): Don't let close() clobber errno from
77078         failed fchdir().
77079
77080         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77081         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77082         a dangling symlink.  That can also happen at least for ELOOP.
77083         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77084         FYI, this bug predates the inclusion of fts.c in coreutils.
77085
77086         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77087         in their own block, so pre-c99 compilers don't object.
77088
77089         Avoid the double-free (first in fts_read, second in fts_close) that
77090         would occur when an `active' directory is made inaccessible (e.g.,
77091         via chmod a-x) during a traversal.
77092         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77093         before returning.  Reproduce this failure by
77094         mkdir -p a/b; cd a; chmod a-x . b
77095         Reported by Stavros Passas.
77096
77097 2006-01-25  Jim Meyering  <jim@meyering.net>
77098
77099         * lib/fileblocks.c: Remove more useless parentheses.
77100         * lib/readutmp.h: Likewise.
77101
77102 2006-01-25  Bruno Haible  <bruno@clisp.org>
77103
77104         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77105         warnings.
77106         Reported by Paul Eggert.
77107
77108 2006-01-25  Bruno Haible  <bruno@clisp.org>
77109
77110         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77111         rid of a trap command. For Solaris sh.
77112         Reported by Mark D. Baushke <mdb@gnu.org>.
77113
77114 2006-01-24  Simon Josefsson  <jas@extundo.com>
77115
77116         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77117         Bruno.
77118
77119 2006-01-24  Karl Berry  <karl@gnu.org>
77120
77121         * config/srclist.txt (argp-namefrob.h): sync lost.
77122
77123 2006-01-24  Jim Meyering  <jim@meyering.net>
77124
77125         * modules/openat (Files): Add lib/intprops.h.
77126         From Mark D. Baushke.
77127
77128 2006-01-24  Jim Meyering  <jim@meyering.net>
77129
77130         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77131         Reported by Mark D. Baushke.
77132
77133 2006-01-24  Jim Meyering  <jim@meyering.net>
77134
77135         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77136
77137 2006-01-24  Bruno Haible  <bruno@clisp.org>
77138
77139         * modules/strnlen (Maintainer): Change from glibc to all.
77140
77141 2006-01-24  Bruno Haible  <bruno@clisp.org>
77142
77143         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77144         Patch by Paul Eggert.
77145
77146 2006-01-24  Bruno Haible  <bruno@clisp.org>
77147
77148         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77149         already has it.
77150         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77151         2005-11-26.
77152
77153         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77154         'signed char' to avoid problems with the built-in _Bool type.
77155         Reported by Paul Eggert on 2005-11-26.
77156
77157 2006-01-24  Bruno Haible  <bruno@clisp.org>
77158
77159         * gnulib-tool (func_import): Avoid constructing complicated sed
77160         expressions inside backquote.
77161         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77162
77163 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77164
77165         These changes imported from libc.
77166         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77167         test and two separate function calls.
77168         * lib/strndup.c (__strndup): Add libc_hidden_def.
77169
77170 2006-01-23  Simon Josefsson  <jas@extundo.com>
77171
77172         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77173         Remove the test_*_SOURCES variable: automake infers it by default.
77174         * modules/tls-tests: Likewise.
77175
77176 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77177
77178         Work around porting bugs reported by Dieter in
77179         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77180         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77181         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77182         Include "getopt.h" first, to check interface.
77183         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77184         !HAVE_DECL_GETENV.
77185         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77186         (__strndup): Revert to K&R-style function dfns, the glibc style.
77187         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77188         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77189         Include strnlen.h first, to get prototype properly.
77190         (strnlen): Renamed from __strnlen.
77191         Remove weak alias.
77192
77193 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77194
77195         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77196
77197 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77198
77199         * config/srclist.txt: Adjust to reflect glibc reorganization.
77200         This affects only comments.
77201
77202 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77203
77204          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77205          Reported by Bruce Korb <bkorb@gnu.org>.
77206
77207 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77208
77209         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77210         to pacify gcc -Wswitch-default.
77211
77212 2006-01-22  Bruno Haible  <bruno@clisp.org>
77213
77214         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77215         temporary buffer for sprintf, take into account the precision also
77216         for 'd', 'i', 'u', 'o', 'x', 'X'.
77217
77218 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77219
77220         * modules/argp-tests: New module
77221         * tests/test-argp.c: New file
77222         * tests/test-argp-2.sh: New file
77223
77224 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77225
77226         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77227         (__argp_base_name): Removed
77228         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77229         typo.
77230         (__argp_base_name): Provide macro definition or extern declaration
77231         depending on the configuration
77232
77233 2006-01-20  Simon Josefsson  <jas@extundo.com>
77234
77235         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77236
77237 2006-01-20  Simon Josefsson  <jas@extundo.com>
77238
77239         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77240
77241 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77242
77243         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77244         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77245         Suggested by Bruno Haible.
77246
77247 2006-01-20  Karl Berry  <karl@gnu.org>
77248
77249         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77250         until changes propagate, I guess.
77251
77252 2006-01-19  Simon Josefsson  <jas@extundo.com>
77253
77254         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77255
77256 2006-01-19  Simon Josefsson  <jas@extundo.com>
77257
77258         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77259
77260 2006-01-19  Simon Josefsson  <jas@extundo.com>
77261
77262         * gnulib-tool: Set check_PROGRAMS.
77263
77264         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77265         modules/des-tests, modules/gc-arcfour-tests,
77266         modules/gc-arctwo-tests, modules/gc-des-tests,
77267         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77268         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77269         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77270         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77271         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77272         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77273         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77274         test_*_SOURCES.
77275
77276 2006-01-18  Simon Josefsson  <jas@extundo.com>
77277
77278         * modules/socklen (Depends-on): Depend on sys_socket.
77279
77280 2006-01-18  Simon Josefsson  <jas@extundo.com>
77281
77282         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77283         modules/des-tests, modules/gc-arcfour-tests,
77284         modules/gc-arctwo-tests, modules/gc-des-tests,
77285         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77286         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77287         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77288         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77289         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77290         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77291         $(EXEEXT) to automake TESTS variable, for mingw32.
77292
77293 2006-01-17  Simon Josefsson  <jas@extundo.com>
77294
77295         * modules/socklen (Include): Need sys/socket.h.
77296
77297 2006-01-17  Bruno Haible  <bruno@clisp.org>
77298
77299         * modules/ssize_t (Include): Add <sys/types.h>.
77300
77301 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77302
77303         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77304         it's not portable and it doesn't work with cross-compiles.
77305         Problem reported by Bruno Haible.  Fix missing-$ typo in
77306         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77307         -zignore from being used with Sun's C compiler.
77308
77309 2006-01-12  Simon Josefsson  <jas@extundo.com>
77310
77311         * lib/base64.c: Fix warning, reported by Bruno Haible
77312         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77313
77314 2006-01-12  Bruno Haible  <bruno@clisp.org>
77315
77316         * modules/ldd: New file.
77317         * build-aux/ldd.sh.in: New file.
77318         * MODULES.html.sh (Support for building libraries and executables): Add
77319         ldd.
77320
77321 2006-01-12  Bruno Haible  <bruno@clisp.org>
77322
77323         * m4/ldd.m4: New file.
77324
77325 2006-01-12  Bruno Haible  <bruno@clisp.org>
77326
77327         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77328         endless loop while replacing $auxdir with build-aux.
77329
77330 2006-01-11  Simon Josefsson  <jas@extundo.com>
77331
77332         * lib/stdint_.h (SIZE_MAX): Add missing (.
77333
77334 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77335
77336         Sync from coreutils.
77337         * lib/md5.c: Fix commentary typos.
77338         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77339         * lib/md5.h (__attribute__): Remove; unused.
77340         * lib/sha1.c: Fix commentary to match md5 better.
77341         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77342         so that we don't need to worry about alignment.  All uses changed.
77343         This merges the 2005-10-28 md5 change into sha1.
77344
77345 2006-01-11  Jim Meyering  <jim@meyering.net>
77346
77347         Sync from coreutils.
77348         * lib/md5.c (OP): Fix spacing.
77349
77350 2006-01-11  Bruno Haible  <bruno@clisp.org>
77351
77352         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77353         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77354         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77355
77356 2006-01-11  Bruno Haible  <bruno@clisp.org>
77357
77358         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77359         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77360         the "early" section as well.
77361
77362 2006-01-11  Bruno Haible  <bruno@clisp.org>
77363
77364         Avoid "ar: no archive members specified" error on MacOS X.
77365         * gnulib-tool (func_modules_add_dummy): New function.
77366         (func_import, func_create_testdir): Invoke it.
77367
77368 2006-01-11  Bruno Haible  <bruno@clisp.org>
77369
77370         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77371         with $auxdir in AC_CONFIG_FILES statements.
77372
77373 2006-01-11  Bruno Haible  <bruno@clisp.org>
77374
77375         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77376         Initialize also noinst_HEADERS to empty.
77377
77378 2006-01-11  Bruno Haible  <bruno@clisp.org>
77379
77380         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77381         variables.
77382         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77383         autoreconf.
77384
77385 2006-01-11  Bruno Haible  <bruno@clisp.org>
77386
77387         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77388         overridable by the user.
77389         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77390
77391 2006-01-10  Simon Josefsson  <jas@extundo.com>
77392
77393         * modules/sys_socket: New file.
77394
77395 2006-01-10  Simon Josefsson  <jas@extundo.com>
77396
77397         * m4/sys_socket_h.m4: New file.
77398
77399 2006-01-10  Simon Josefsson  <jas@extundo.com>
77400
77401         * lib/socket_.h: New file.
77402
77403 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77404
77405         * modules/readutmp (Maintainer): Add myself.
77406
77407 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77408
77409         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77410         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77411         People who are still concerned with buggy memcmp implementations
77412         can invoke gl_FUNC_MEMCMP themselves.
77413
77414 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77415
77416         * lib/regex_internal.h (BITSET_WORD_BITS):
77417         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77418         preprocessor mishandles large unsigned values as if they were signed.
77419         Problem reported by Claudio Fontana in
77420         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77421
77422 2006-01-10  Jim Meyering  <jim@meyering.net>
77423
77424         Avoid the double-free (first in fts_read, second in fts_close) that
77425         would occur when an `active' directory is made inaccessible (e.g.,
77426         via chmod a-x) during a traversal.
77427         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77428         before returning.  Reproduce this failure by
77429         mkdir -p a/b; cd a; chmod a-x . b
77430         Reported by Stavros Passas.
77431
77432         Sync from coreutils.
77433         * lib/sha1.c: Tweak grammar in a comment.
77434
77435 2006-01-10  Jim Meyering  <jim@meyering.net>
77436
77437         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77438         Patch by Joerg Sonnenberger.
77439
77440 2006-01-10  Bruno Haible  <bruno@clisp.org>
77441
77442         * modules/readutmp: Depend on module free.
77443         * modules/strtok_r: Depend on module restrict.
77444
77445 2006-01-10  Bruno Haible  <bruno@clisp.org>
77446
77447         * modules/gettext (configure.ac): Add an invocation of
77448         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77449
77450 2006-01-10  Bruno Haible  <bruno@clisp.org>
77451
77452         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77453         Reported by Werner Lemberg <wl@gnu.org>.
77454
77455 2006-01-10  Bruno Haible  <bruno@clisp.org>
77456
77457         * lib/localcharset.c: Update from GNU gettext.
77458
77459 2006-01-10  Bruno Haible  <bruno@clisp.org>
77460
77461         * lib/argp.h (__const): Remove macro. Use const instead.
77462         * lib/argp-fmtstream.h (__const): Likewise.
77463         * lib/glob_.h (__const): Remove macro.
77464         * lib/glob-libc.h: Use const instead of __const.
77465
77466 2006-01-10  Bruno Haible  <bruno@clisp.org>
77467
77468         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77469         variable.
77470         Needed to avoid an automake error regarding the 'gettext' module.
77471
77472 2006-01-09  Simon Josefsson  <jas@extundo.com>
77473
77474         * modules/inet_ntop (Depends-on): Add restrict.
77475
77476 2006-01-09  Simon Josefsson  <jas@extundo.com>
77477
77478         * modules/gc-rijndael-tests (License): Put under LGPL.
77479
77480         * modules/gc-des-tests (License): Likewise.
77481
77482         * modules/gc-arcfour-tests (License): Likewise.
77483
77484         * modules/gc-arctwo-tests (License): Likewise.
77485
77486         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77487
77488         * modules/gc-hmac-sha1-tests (Files): Likewise.
77489
77490         * modules/gc-hmac-md5-tests (License): Likewise.
77491
77492         * modules/gc-sha1-tests (License): Likewise.
77493
77494         * modules/gc-md5-tests (License): Likewise.
77495
77496         * modules/gc-md4-tests (License): Likewise.
77497
77498         * modules/gc-md2-tests (License): Likewise.
77499
77500         * modules/gc-tests (License): Likewise.
77501
77502         * modules/des-tests (License): Likewise.
77503
77504         * modules/md4-tests (License): Likewise.
77505
77506         * modules/md2-tests (License): Likewise.
77507
77508 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77509
77510         Sync from coreutils:
77511
77512         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77513         * modules/lib-ignore: New file.
77514         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77515         chdir-safer.m4, lchmod.m4.
77516         * modules/openat: Add mkdirat.c, openat-priv.h.
77517
77518 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77519
77520         Sync from coreutils.
77521         * m4/lib-ignore.m4: New file.
77522         * m4/lchmod.m4: New file.
77523
77524 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77525
77526         Sync from coreutils.
77527         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77528         for write access: POSIX says that must fail.
77529         * lib/fts.c (diropen): Likewise.
77530         * lib/save-cwd.c (save_cwd): Likewise.
77531         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77532         well, for minor improvements on hosts that lack O_DIRECTORY.
77533         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77534         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77535         Fall back on chown if open failed with EACCES.
77536
77537         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77538         Report an error at compile-time if only a 1-second nominal clock
77539         resolution is found.
77540
77541         * lib/lchmod.h: New file.
77542         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77543         (make_dir_parents): Use lchown rather than chown, and
77544         lchmod rather than chmod.
77545
77546         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77547         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77548         "proc" reported by n0dalus.
77549
77550         * lib/mountlist.c: Include <limits.h>.
77551         (dev_from_mount_options)
77552         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77553         New function.  It no longer assumes "dev=" has the System V meaning
77554         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77555         (read_file_system_list)
77556         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77557         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77558         dev= in that case.
77559
77560         * lib/posixtm.h (PDS_PRE_2000): New macro.
77561         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77562         allow_century.  All usages changed.  Reject dates outside the range
77563         1969-1999 if PDS_PRE_2000 is used.
77564
77565 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77566
77567         Sync from coreutils.
77568         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77569         (Time of day items): Mention the possibility of leap seconds.
77570         Problem reported by Dr. David Alan Gilbert.
77571
77572 2006-01-09  Jim Meyering  <jim@meyering.net>
77573
77574         Sync from coreutils.
77575
77576         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77577
77578         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77579
77580         * lib/modechange.c (mode_compile): Reject an invalid mode string
77581         that starts with an octal digit.  From Andreas Gruenbacher.
77582
77583         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77584         and dup to open_safer and dup_safer, respectively.
77585         (openat_permissive): Fix typo in comment.
77586
77587         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77588         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77589         (_): Remove; no longer needed.
77590         (openat): Renamed from rpl_openat; no need for rpl_openat
77591         since openat.h renames openat for us.
77592         Replace most of the body with a call to openat_permissive,
77593         to avoid duplicate code.
77594         Port to (probably hypothetical) environments were mode_t is
77595         wider than int.
77596         (openat_permissive): Require mode arg, so that we can check
77597         types better.  Put it just after flags.  Change cwd failure
77598         indicator from pointer-to-bool to pointer-to-errno-value.
77599         All callers changed.
77600         Invoke openat_save_fail and/or openat_restore_fail if
77601         cwd_errno is null, so that openat can call us.
77602         (openat_permissive, fdopendir, fstatat, unlinkat):
77603         Simplify errno handling to avoid some duplicate code,
77604         as it's OK to set errno on success.
77605         * lib/openat.h: Revamp code so that function macros depend on
77606         __OPENAT_PREFIX only, not also on AT_FDCWD.
77607         (openat_ro): Remove.  Caller changed to use openat_permissive.
77608         (openat_permissive): Now a macro, if not a function.
77609         (openat_restore_fail, openat_save_fail): Now always functions,
77610         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77611
77612         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77613         and openat.c.
77614         * lib/mkdirat.c: Include openat-priv.h.
77615         Remove definitions of macros defined therein.
77616         * lib/openat.c: Likewise.
77617
77618         * lib/mkdirat.c (mkdirat): New file and function.
77619         * lib/openat.h (mkdirat): Declare.
77620
77621         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77622
77623         * lib/openat.h (openat_permissive): Declare.
77624         (openat_ro): Define.
77625
77626         * lib/openat.c (EXPECTED_ERRNO): New macro.
77627         (openat_permissive): New function -- used in remove.c rewrite.
77628         (all functions): Set errno just before returning, only if there
77629         was an actual failure.
77630         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77631
77632         Emulate openat-family functions using Linux's procfs, if possible.
77633         Idea and some code based on Ulrich Drepper's glibc changes.
77634
77635         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77636         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77637         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77638         before falling back on save_cwd and restore_cwd.
77639         (fdopendir, fstatat, unlinkat): Likewise.
77640
77641         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77642         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77643
77644         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77645         as second argument to va_arg.  Otherwise, some versions of gcc
77646         warn that `if this code is reached, the program will abort'.
77647
77648 2006-01-09  Jim Meyering  <jim@meyering.net>
77649
77650         Sync from coreutils.
77651         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77652         Require openat-priv.h.
77653
77654 2006-01-09  Bruno Haible  <bruno@clisp.org>
77655
77656         * modules/strnlen (Include): Use strnlen.h.
77657
77658 2006-01-09  Bruno Haible  <bruno@clisp.org>
77659
77660         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77661
77662 2006-01-09  Bruno Haible  <bruno@clisp.org>
77663
77664         * lib/sysexit_.h (EX_OK): New macro.
77665         Suggested by Martin Lambers <marlam@marlam.de>.
77666
77667 2006-01-09  Bruno Haible  <bruno@clisp.org>
77668
77669         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77670         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77671
77672 2006-01-09  Bruno Haible  <bruno@clisp.org>
77673
77674         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77675         numbers.
77676
77677 2006-01-09  Bruno Haible  <bruno@clisp.org>
77678
77679         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77680         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77681         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77682         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77683
77684 2006-01-09  Bruno Haible  <bruno@clisp.org>
77685
77686         * build-aux/javacomp.sh.in: New file, moved from lib/.
77687         * modules/javacomp-script (Files): Update.
77688         (configure.ac): Add AC_CONFIG_FILES invocation.
77689         (EXTRA_DIST): Remove variable.
77690
77691         * build-aux/javaexec.sh.in: New file, moved from lib/.
77692         * modules/javaexec (Files): Update.
77693         (configure.ac): Add AC_CONFIG_FILES invocation.
77694         (EXTRA_DIST): Remove javaexec.sh.in.
77695
77696         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77697         * modules/csharpcomp-script (Files): Update.
77698         (configure.ac): Add AC_CONFIG_FILES invocation.
77699         (EXTRA_DIST): Remove variable.
77700
77701         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77702         * modules/csharpexec (Files): Update.
77703         (configure.ac): Add AC_CONFIG_FILES invocation.
77704         (EXTRA_DIST): Remove csharpexec.sh.in.
77705
77706 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77707
77708         Sync from coreutils.
77709
77710         Add POSIX ACL support
77711         * lib/acl.h (copy_acl, set_acl): Add declarations.
77712         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77713         systems other than Linux.
77714         (chmod_or_fchmod): New function: use fchmod when possible,
77715         and chmod otherwise.
77716         (file_has_acl): Add a POSIX ACL implementation, with a
77717         Linux-specific subcase.
77718         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77719         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77720         acls are unsupported.
77721         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77722         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77723         are unsupported.
77724
77725 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77726
77727         Sync from coreutils.
77728         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77729
77730 2006-01-07  Bruno Haible  <bruno@clisp.org>
77731
77732         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77733         gl_EARLY.
77734
77735 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77736
77737         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77738         Problem reported for Mingw by Mark Junker.
77739
77740 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77741
77742         * README: Gnulib normally doesn't generate a tarball.
77743
77744 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77745
77746         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77747         long int, not int, for nanosecond counts, so that people who are
77748         used to POSIX struct timespec won't be surprised.  Reported by Jim
77749         Meyering.
77750
77751 2005-12-28  Bruno Haible  <bruno@clisp.org>
77752
77753         * build-aux/config.rpath: Update from GNU gettext.
77754
77755 2005-12-16  Jim Meyering  <jim@meyering.net>
77756
77757         * modules/fprintftime: New module.
77758         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77759
77760 2005-12-16  Jim Meyering  <jim@meyering.net>
77761
77762         * m4/fprintftime.m4: New file.
77763
77764 2005-12-16  Jim Meyering  <jim@meyering.net>
77765
77766         * lib/fprintftime.c, lib/fprintftime.h: New files.
77767
77768 2005-12-15  Simon Josefsson  <jas@extundo.com>
77769
77770         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77771         new m4/socklen.m4.
77772
77773 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77774
77775         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77776         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77777
77778 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77779
77780         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77781         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77782         struct uparams is valid. Fall back to the default values if it is
77783         not.
77784
77785 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77786
77787         * modules/argp (Files): Add argp-pin.c
77788         (Depends-on): dirname
77789         (lib_SOURCES): Add argp-pin.c
77790
77791 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77792
77793         * m4/argp.m4:  Check if program_invocation_name and
77794         program_invocation_short_name are declared and define appropriate
77795         macros if they are not.
77796
77797 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77798
77799         * lib/argp-help.c (__argp_base_name): New function
77800         (__argp_short_program_name): Rewrite using __argp_base_name
77801         * lib/argp-namefrob.h: Define program_invocation_name and
77802         program_invocation_short_name if requested
77803         (__argp_base_name): Add prototype
77804         * lib/argp-parse.c (argp_def): Use gettext wrappers
77805         (argp_default_parser): Use __argp_base_name
77806         * lib/argp-pin.c: New file. Defines program_invocation_name and
77807         program_invocation_short_name on systems that lack them.
77808
77809 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77810
77811         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77812         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77813         porting problem reported by Georg Schwarz in
77814         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77815
77816 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77817
77818         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77819         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77820         porting problem reported by Georg Schwarz in
77821         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77822
77823 2005-12-05  Bruno Haible  <bruno@clisp.org>
77824
77825         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77826         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77827         Reported by Mark Junker <mjscod@gmx.de>.
77828
77829 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77830
77831         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77832         Use implementation from Albert Chin, with some
77833         comments/corrections by Stepan Kasal and myself.
77834
77835 2005-12-02  Bruno Haible  <bruno@clisp.org>
77836
77837         * gnulib-tool (func_import): Accept GPLed build tool modules when
77838         --lgpl is given.
77839         * modules/csharpcomp-script: New file.
77840         * modules/csharpcomp: Depend on it.
77841         * modules/javacomp-script: New file.
77842         * modules/javacomp: Depend on it.
77843         Suggested by Simon Josefsson.
77844
77845 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77846
77847         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77848         statement, to work around an HP-UX 10.20 compiler bug reported by
77849         Peter O'Gorman.
77850
77851 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77852
77853         * modules/savedir (Depends-on): Add openat.
77854
77855 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77856
77857         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77858         (uintmax_t) [defined uintmax_t]: Do not declare.
77859         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77860         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77861         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77862         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77863         sake of portability to weird hosts that C allows (though we don't
77864         know of any practical examples).
77865
77866         * lib/savedir.h (fdsavedir): New decl.
77867         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77868         contains most of the former guts of savedir.
77869         (savedir): Use savedirstream.
77870         Include "openat.h".
77871
77872 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77873
77874         * modules/obstack (Files): Add m4/ulonglong.m4.
77875         Problem reported by Davide Angelocola.
77876
77877 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77878
77879         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77880         coreutils no longer futzes with rounding modes.
77881
77882 2005-11-14  Jim Meyering  <jim@meyering.net>
77883
77884         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77885         replacement of mkstemp.
77886
77887 2005-11-10  Simon Josefsson  <jas@extundo.com>
77888
77889         * lib/readline.c: Remove EOL.
77890
77891 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77892
77893         * modules/gethrxtime (Depends-on): Add gettime.
77894
77895 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77896
77897         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77898         or gettimeofday; no longer needed.
77899
77900 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77901
77902         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77903         time business.
77904         (gethrxtime) [! (HAVE_NANOUPTIME
77905         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77906         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77907         our own approximation.
77908
77909 2005-11-08  Eric Blake  <ebb9@byu.net>
77910
77911         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77912
77913 2005-11-08  Eric Blake  <ebb9@byu.net>
77914
77915         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77916
77917 2005-11-04  Bruno Haible  <bruno@clisp.org>
77918
77919         * gnulib-tool: Implement --update mode.
77920
77921 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77922
77923         Fix porting problem reported by Theodoros V. Kalamatianos.
77924         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77925         Don't assume that futimes failing means we must fail.
77926
77927 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77928
77929         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77930         variables to suggest the intended function of the PATH_MAX check.
77931
77932 2005-10-30  Kean Johnston  <jkj@sco.com>
77933
77934         Trivial changes to support SCO systems.
77935         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77936         as PATH_MAX.
77937         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77938         where __ptr is null when no I/O is pending.
77939
77940 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77941
77942         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77943         leave errno alone.  Problem reported by Dmitry V. Levin.
77944
77945 2005-10-28  Simon Josefsson  <jas@extundo.com>
77946
77947         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77948         Test more.
77949
77950         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77951
77952         * modules/md2, modules/md2-tests: New files.
77953
77954 2005-10-28  Simon Josefsson  <jas@extundo.com>
77955
77956         * m4/inet_ntop.m4: More tests.
77957
77958         * m4/gc-md2.m4, md2.m4: New file.
77959
77960 2005-10-28  Simon Josefsson  <jas@extundo.com>
77961
77962         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77963         "restrict" keywords, as per POSIX.  Protect the function
77964         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77965         Don't use K&R prototypes.  Check the sprintf return values.
77966         Re-define EAFNOSUPPORT if not present.  Indent.
77967
77968         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77969         suggested by Bruno Haible <bruno@clisp.org>.
77970
77971         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77972
77973         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77974
77975         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77976         libgcrypt).
77977
77978         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77979
77980         * lib/md2.h, lib/md2.c: New files.
77981
77982 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77983
77984         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77985         errno alone.  Problem reported by Frederic Jolliton.
77986
77987 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77988
77989         * modules/verify (License): Change from GPL to LGPL.  This is a
77990         tiny module and there are apparently near-equivalents that are
77991         under the BSD license.
77992
77993 2005-10-24  Simon Josefsson  <jas@extundo.com>
77994
77995         * modules/sha1: Relicense to LGPL.
77996
77997 2005-10-24  Simon Josefsson  <jas@extundo.com>
77998
77999         * lib/md4.h: Shrink buffer size, now that we changed the type.
78000
78001 2005-10-23  Simon Josefsson  <jas@extundo.com>
78002
78003         * gnulib-tool (func_import): Fix --tests-base.
78004
78005 2005-10-22  Simon Josefsson  <jas@extundo.com>
78006
78007         * modules/arcfour (Depends-on): Need stdint.
78008
78009 2005-10-22  Simon Josefsson  <jas@extundo.com>
78010
78011         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78012         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78013
78014 2005-10-22  Simon Josefsson  <jas@extundo.com>
78015
78016         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78017         suggested by Bruno Haible <bruno@clisp.org>.
78018
78019 2005-10-22  Simon Josefsson  <jas@extundo.com>
78020
78021         * lib/crc.h: Include stddef.h, for size_t.
78022
78023 2005-10-22  Simon Josefsson  <jas@extundo.com>
78024
78025         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78026         arcfour_context struct (simplify test vector testing in GNU
78027         Shishi).
78028
78029 2005-10-21  Simon Josefsson  <jas@extundo.com>
78030
78031         * modules/des, modules/des-tests: New files.
78032
78033         * modules/gc-des, modules/gc-des-tests: New files.
78034
78035         * tests/test-des.c, tests/test-gc-des.c: New file.
78036
78037 2005-10-21  Simon Josefsson  <jas@extundo.com>
78038
78039         * modules/arctwo, modules/arctwo-tests: New files.
78040
78041         * tests/test-arctwo.c: New file.
78042
78043         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78044
78045         * tests/test-gc-arctwo.c: New file.
78046
78047 2005-10-21  Simon Josefsson  <jas@extundo.com>
78048
78049         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78050         Bruno Haible <bruno@clisp.org>.
78051
78052         * m4/gc-des.m4: New file.
78053
78054 2005-10-21  Simon Josefsson  <jas@extundo.com>
78055
78056         * m4/arctwo.m4: New file.
78057
78058         * m4/gc-arctwo.m4: New file.
78059
78060 2005-10-21  Simon Josefsson  <jas@extundo.com>
78061
78062         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78063         block.
78064
78065 2005-10-21  Simon Josefsson  <jas@extundo.com>
78066
78067         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78068         <bruno@clisp.org>.
78069
78070         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78071
78072         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78073         Bruno Haible <bruno@clisp.org>.
78074
78075         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78076         <bruno@clisp.org>.
78077
78078 2005-10-21  Simon Josefsson  <jas@extundo.com>
78079
78080         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78081
78082 2005-10-21  Simon Josefsson  <jas@extundo.com>
78083
78084         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78085
78086 2005-10-21  Simon Josefsson  <jas@extundo.com>
78087
78088         * lib/des.h, lib/des.c: New files.
78089
78090         * lib/gc-gnulib.c: Support DES.c
78091
78092 2005-10-21  Simon Josefsson  <jas@extundo.com>
78093
78094         * lib/arctwo.h, lib/arctwo.c: New files.
78095
78096         * lib/gc-gnulib.c: Support ARCTWO.
78097
78098 2005-10-21  Simon Josefsson  <jas@extundo.com>
78099
78100         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78101         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78102
78103 2005-10-21  Simon Josefsson  <jas@extundo.com>
78104
78105         * gnulib-tool (func_import, func_create_testdir): Define automake
78106         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78107         Makefile.am snippet),
78108         suggested by Bruno Haible <bruno@clisp.org>.
78109
78110         * modules/gc (Makefile.am): Use it.
78111
78112 2005-10-21  Bruno Haible  <bruno@clisp.org>
78113
78114         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78115         patch.
78116
78117 2005-10-19  Simon Josefsson  <jas@extundo.com>
78118
78119         * tests/test-gc-rijndael.c: New file.
78120
78121         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78122
78123 2005-10-19  Simon Josefsson  <jas@extundo.com>
78124
78125         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78126         interface too.
78127
78128 2005-10-19  Simon Josefsson  <jas@extundo.com>
78129
78130         * tests/test-gc-arcfour.c: New file.
78131
78132         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78133
78134 2005-10-19  Simon Josefsson  <jas@extundo.com>
78135
78136         * modules/gc-md4, modules/gc-md4-tests: New file.
78137
78138         * tests/test-gc-md4.c: New file.
78139
78140 2005-10-19  Simon Josefsson  <jas@extundo.com>
78141
78142         * m4/gc-md4.m4: New file.
78143
78144 2005-10-19  Simon Josefsson  <jas@extundo.com>
78145
78146         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78147         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78148         <kasal@ucw.cz>.
78149
78150 2005-10-19  Simon Josefsson  <jas@extundo.com>
78151
78152         * m4/gc-arcfour.m4: New file.
78153
78154         * m4/gc-rijndael.m4: New file.
78155
78156 2005-10-19  Simon Josefsson  <jas@extundo.com>
78157
78158         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78159
78160 2005-10-19  Simon Josefsson  <jas@extundo.com>
78161
78162         * lib/gc-gnulib.c: Support ARCFOUR.
78163
78164 2005-10-19  Simon Josefsson  <jas@extundo.com>
78165
78166         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78167         support.
78168
78169         * lib/gc.h: Add ECB enum type.
78170
78171         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78172
78173 2005-10-18  Simon Josefsson  <jas@extundo.com>
78174
78175         * tests/test-md5.c: New file.
78176
78177         * modules/md5-tests: New file.
78178
78179 2005-10-18  Simon Josefsson  <jas@extundo.com>
78180
78181         * tests/test-md4.c: New file.
78182
78183         * modules/md4, modules/md4-tests: New files.
78184
78185 2005-10-18  Simon Josefsson  <jas@extundo.com>
78186
78187         * m4/md4.m4: New file.
78188
78189 2005-10-18  Simon Josefsson  <jas@extundo.com>
78190
78191         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78192
78193 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78194
78195         * gnulib-tool (func_create_testdir): Omit the second check whether
78196         BUILT_SOURCES in nonempty.
78197
78198 2005-10-17  Simon Josefsson  <jas@extundo.com>
78199
78200         * tests/test-rijndael.c: New file.
78201
78202 2005-10-17  Simon Josefsson  <jas@extundo.com>
78203
78204         * modules/sha1: Depend on stdint instead of md5.
78205
78206         * modules/md5: Depend on stdint, remove uint32_t.
78207
78208 2005-10-17  Simon Josefsson  <jas@extundo.com>
78209
78210         * modules/gc-sha1-tests: New file.
78211
78212         * tests/test-gc-sha1.c: New file.
78213
78214 2005-10-17  Simon Josefsson  <jas@extundo.com>
78215
78216         * m4/md5.m4: Remove call to uint32_t.m4.
78217
78218 2005-10-17  Simon Josefsson  <jas@extundo.com>
78219
78220         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78221
78222         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78223         md5.h.
78224
78225         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78226
78227         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78228
78229 2005-10-17  Simon Josefsson  <jas@extundo.com>
78230
78231         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78232
78233 2005-10-17  Simon Josefsson  <jas@extundo.com>
78234
78235         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78236
78237 2005-10-17  Simon Josefsson  <jas@extundo.com>
78238
78239         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78240
78241         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78242
78243 2005-10-17  Bruno Haible  <bruno@clisp.org>
78244
78245         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78246         that it can also be used in a test.
78247
78248 2005-10-16  Bruno Haible  <bruno@clisp.org>
78249
78250         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78251         TESTS_ENVIRONMENT, so that individual tests can augment it.
78252
78253         * gnulib-tool (func_create_testdir): Use an intermediate target for
78254         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78255         macros, like $(ALLOCA_H), which cannot be passed through the command
78256         line.
78257
78258 2005-10-15  Simon Josefsson  <jas@extundo.com>
78259
78260         * modules/rijndael-tests: New file.
78261
78262         * modules/rijndael: New file.
78263
78264 2005-10-15  Simon Josefsson  <jas@extundo.com>
78265
78266         * m4/rijndael.m4: New file.
78267
78268 2005-10-15  Simon Josefsson  <jas@extundo.com>
78269
78270         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78271
78272         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78273
78274 2005-10-14  Simon Josefsson  <jas@extundo.com>
78275
78276         * tests/test-arcfour.c: New file.
78277
78278         * modules/arcfour, modules/arcfour-tests: New files.
78279
78280 2005-10-14  Simon Josefsson  <jas@extundo.com>
78281
78282         * m4/arcfour.m4: New file.
78283
78284 2005-10-14  Simon Josefsson  <jas@extundo.com>
78285
78286         * lib/arcfour.h, lib/arcfour.c: New files.
78287
78288 2005-10-14  Roland McGrath  <roland@redhat.com>
78289
78290         Import from libc.  [BZ #1331]
78291         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78292         macro argument.
78293         Reported by Matej Vela <vela@debian.org>.
78294
78295 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78296
78297         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78298         include <wchar.h>; no longer needed.
78299
78300 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78303
78304 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78305         and  Ulrich Drepper  <drepper@redhat.com>
78306
78307         Import from libc.
78308         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78309         instead of inline stream orientation test and two separate
78310         function calls.  Pay no attention to USE_IN_LIBIO.
78311
78312 2005-10-13  Simon Josefsson  <jas@extundo.com>
78313
78314         * modules/gc-hmac-md5-tests: New file.
78315
78316         * tests/test-gc-hmac-sha1.c: New file.
78317
78318         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78319
78320         * modules/gc-hmac-md5-tests: New file.
78321
78322         * tests/test-gc-md5.c: New file.
78323
78324         * modules/gc-md5-tests: New file.
78325
78326 2005-10-13  Simon Josefsson  <jas@extundo.com>
78327
78328         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78329         Move memory allocation outside of loop.
78330
78331 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78332
78333         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78334         intermediate directory is in a read-only file system.  Problem
78335         reported by Eric Blake.
78336
78337 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78338
78339         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78340
78341 2005-10-12  Simon Josefsson  <jas@extundo.com>
78342
78343         * tests/test-hmac-sha1.c: New file.
78344
78345         * modules/hmac-sha1-tests: New file.
78346
78347         * modules/hmac-sha1: New file.
78348
78349 2005-10-12  Simon Josefsson  <jas@extundo.com>
78350
78351         * modules/gc-sha1: New file.
78352
78353 2005-10-12  Simon Josefsson  <jas@extundo.com>
78354
78355         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78356
78357         * tests/test-gc-pbkdf2-sha1.c: New file.
78358
78359 2005-10-12  Simon Josefsson  <jas@extundo.com>
78360
78361         * modules/gc-md5, modules/gc-hmac-md5: New files.
78362
78363         * modules/gc (Files): Remove md5, memxor and hmac files.
78364
78365 2005-10-12  Simon Josefsson  <jas@extundo.com>
78366
78367         * m4/gc-pbkdf2-sha1.m4: New file.
78368
78369         * m4/gc-hmac-sha1.m4: New file.
78370
78371         * m4/gc-sha1: New file.
78372
78373         * m4/hmac-sha1.m4: New file.
78374
78375 2005-10-12  Simon Josefsson  <jas@extundo.com>
78376
78377         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78378
78379         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78380
78381 2005-10-12  Simon Josefsson  <jas@extundo.com>
78382
78383         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78384         suggested by Bruno Haible <bruno@clisp.org>.
78385
78386 2005-10-12  Simon Josefsson  <jas@extundo.com>
78387
78388         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78389
78390 2005-10-12  Simon Josefsson  <jas@extundo.com>
78391
78392         * lib/gc-pbkdf2-sha1.c: New file.
78393
78394         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78395
78396 2005-10-12  Simon Josefsson  <jas@extundo.com>
78397
78398         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78399
78400         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78401
78402 2005-10-12  Simon Josefsson  <jas@extundo.com>
78403
78404         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78405         GC_USE_HMAC_MD5, respectively.
78406
78407         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78408         (gc_md5): Fix typo.
78409
78410         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78411
78412         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78413
78414         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78415
78416 2005-10-12  Bruno Haible  <bruno@clisp.org>
78417
78418         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78419         Reported by Stepan Kasal <kasal@ucw.cz>.
78420
78421 2005-10-11  Simon Josefsson  <jas@extundo.com>
78422
78423         * tests/test-crc.c: New file.
78424
78425         * modules/crc, modules/crc-tests: New files.
78426
78427 2005-10-11  Simon Josefsson  <jas@extundo.com>
78428
78429         * m4/crc.m4: New file.
78430
78431 2005-10-11  Simon Josefsson  <jas@extundo.com>
78432
78433         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78434
78435         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78436
78437         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78438
78439 2005-10-11  Simon Josefsson  <jas@extundo.com>
78440
78441         * lib/crc.h, lib/crc.c: New files.
78442
78443         * lib/gc.h (gc_hash_buffer): Add doc.
78444
78445 2005-10-11  Bruno Haible  <bruno@clisp.org>
78446
78447         * modules/c-strcasestr: New file.
78448         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78449
78450 2005-10-11  Bruno Haible  <bruno@clisp.org>
78451
78452         * modules/c-strcase: New file.
78453         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78454
78455 2005-10-11  Bruno Haible  <bruno@clisp.org>
78456
78457         * lib/strcasecmp.c: Include limits.h.
78458         (strcasecmp): Avoid integer overflow on exotic platforms.
78459         * lib/strncasecmp.c: Include limits.h.
78460         (strncasecmp): Avoid integer overflow on exotic platforms.
78461         Reported by Paul Eggert.
78462
78463 2005-10-11  Bruno Haible  <bruno@clisp.org>
78464
78465         * lib/c-strcasestr.h: New file, from GNU gettext.
78466         * lib/c-strcasestr.c: New file, from GNU gettext.
78467
78468 2005-10-11  Bruno Haible  <bruno@clisp.org>
78469
78470         * lib/c-strcase.h: New file, from GNU gettext.
78471         * lib/c-strcasecmp.c: New file, from GNU gettext.
78472         * lib/c-strncasecmp.c: New file, from GNU gettext.
78473
78474 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78475
78476         * modules/mempcpy (License): GPL -> LGPL.
78477         * modules/strchrnul (License): Likewise.
78478         * modules/sysexits (License): Likewise.
78479
78480 2005-10-08  Simon Josefsson  <jas@extundo.com>
78481
78482         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78483
78484 2005-10-07  Simon Josefsson  <jas@extundo.com>
78485
78486         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78487
78488 2005-10-06  Simon Josefsson  <jas@extundo.com>
78489
78490         * tests/test-hmac-md5.c: New file.
78491
78492         * modules/hmac-md5-tests: New file.
78493
78494         * modules/hmac-md5: New file.
78495
78496 2005-10-06  Simon Josefsson  <jas@extundo.com>
78497
78498         * m4/hmac-md5.m4: New file.
78499
78500         * m4/memxor.m4: Require gl_C_RESTRICT.
78501
78502 2005-10-06  Simon Josefsson  <jas@extundo.com>
78503
78504         * lib/memxor.c (memxor): Avoid casts and warnings.
78505
78506 2005-10-06  Simon Josefsson  <jas@extundo.com>
78507
78508         * lib/hmac-md5.c: New file.
78509
78510         * lib/hmac.h: New file.
78511
78512 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78513
78514         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78515         promotes to int, not unsigned int, to catch the AIX 5.3
78516         compiler bug.
78517
78518 2005-10-05  Simon Josefsson  <jas@extundo.com>
78519
78520         * modules/memxor: New file.
78521
78522         * modules/iconv (Files): Move config.rpath to havelib, it is used
78523         there.
78524
78525         * modules/havelib (Files): Add config.rpath.
78526
78527 2005-10-05  Simon Josefsson  <jas@extundo.com>
78528
78529         * m4/memxor.m4: New file.
78530
78531 2005-10-05  Simon Josefsson  <jas@extundo.com>
78532
78533         * lib/memxor.c (memxor): Fix compiler error.
78534
78535         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78536         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78537
78538         * lib/memxor.h, lib/memxor.c: New files.
78539
78540         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78541         we assume all systems have it, suggested by Jim Meyering
78542         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78543         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78544         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78545         same reasons.
78546
78547 2005-10-05  Simon Josefsson  <jas@extundo.com>
78548
78549         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78550
78551 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78552
78553         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78554         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78555         needed, since the source code now assumes these .h files.
78556
78557 2005-10-05  Derek Price  <derek@ximbiot.com>
78558
78559         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78560
78561 2005-10-05  Bruno Haible  <bruno@clisp.org>
78562
78563         * modules/stdint (License): Change to LGPL.
78564
78565 2005-10-04  Simon Josefsson  <jas@extundo.com>
78566
78567         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78568         D. Baushke" <mdb@gnu.org>.
78569
78570 2005-10-04  Bruno Haible  <bruno@clisp.org>
78571
78572         * lib/verify.h (verify_true): Provide alternative definition for C++.
78573
78574 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78577         (SSIZE_MAX): New macro, if not already defined.
78578         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78579         than 2 GiB.
78580
78581 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78582
78583         Sync from coreutils.
78584         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78585         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78586         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78587         ULLONG_MAX doesn't work with 2.7.2.1.
78588
78589 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78590
78591         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78592         From Ben Pfaff.
78593
78594         * modules/exclude (Depends-on): Depend on verify.
78595         * modules/strtoimax (Depends-on): Likewise.
78596         * modules/utimecmp (Depends-on): Likewise.
78597
78598 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78599
78600         * lib/exclude.c: Include verify.h.
78601         (verify): Remove.  All callers changed to use verify.h's version.
78602         * lib/strtoimax.c: Likewise.
78603         * lib/utimecmp.c: Likewis.e
78604
78605         Sync from coreutils.
78606         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78607         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78608         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78609         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78610         bother returning ENOSYS if settimeofday or stime fails; just let
78611         them return whatever errno they want to return.
78612         * lib/utimens.c: Include unistd.h, for dup2.
78613         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78614         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78615
78616 2005-10-02  Jim Meyering  <jim@meyering.net>
78617
78618         Sync from coreutils.
78619         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78620         from glibc-2.2.5 that fails for read-only files.
78621
78622 2005-10-02  Jim Meyering  <jim@meyering.net>
78623
78624         Sync from coreutils.
78625         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78626         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78627         `#if HAVE_CONFIG_H'.
78628         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78629         Remove AT_FDCWD test.
78630         Do not consume the fd unless successful.
78631         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78632         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78633         block, so that we don't even try to compile it if settimeofday is
78634         available.  This works around a compilation failure on OSF1 V5.1,
78635         due to stime requiring a `long int*' while tv_sec is `int'.
78636
78637 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78638
78639         Sync from coreutils.
78640         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78641         against `yes', rather than just testing for nonempty.
78642
78643 2005-10-01  Simon Josefsson  <jas@extundo.com>
78644
78645         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78646         and Darwin.
78647
78648         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78649         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78650         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78651         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78652         Check if struct addrinfo is declared.
78653
78654 2005-10-01  Simon Josefsson  <jas@extundo.com>
78655
78656         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78657         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78658         AI_* and EAI_* definitions.  Protect function declarations.
78659
78660 2005-10-01  Jim Meyering  <jim@meyering.net>
78661
78662         Sync from coreutils.
78663
78664         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78665         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78666         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78667         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78668         in the inet and nsl libraries.  Required on Solaris 5.7.
78669
78670 2005-10-01  Jim Meyering  <jim@meyering.net>
78671
78672         Sync from coreutils.
78673         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78674         in the inet and nsl libraries.  Required on Solaris 5.7.
78675
78676 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78677
78678         * lib/getdelim.c (getdelim): Remove unused variables.
78679
78680 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78681
78682         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78683         so that the code works even with ancient cpp.  Portability problem
78684         with GCC 2.7.2.1 reported by Thomas M.Ott.
78685
78686 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * modules/regex (Depends-on): Add strcase.
78689
78690         * modules/gethostname (Licence): Change from GPL to LGPL, since
78691         gethostname.c is a trivial implementation of a standard library
78692         function.
78693         * modules/poll (License): Change from GPL to LGPL, since it's
78694         derived from LGPL code.
78695
78696 2005-09-27  Jim Meyering  <jim@meyering.net>
78697
78698         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78699         HAVE_CONFIG_H.
78700
78701         * lib/intprops.h (signed_type_or_expr__): Define.
78702         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78703         for unsigned types.
78704
78705 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78706
78707         * lib/verify.h (verify_expr): Remove, replacing with:
78708         (verify_true): New macro that returns true instead of void.
78709         (verify_type__): Remove.
78710         (verify): Use verify_true rather than verify_type__.
78711
78712 2005-09-26  Bruno Haible  <bruno@clisp.org>
78713
78714         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78715         is necessary.
78716         (lib_SOURCES): Remove mbchar.c.
78717         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78718         (Files): Add m4/mbrtowc.m4.
78719         * modules/mbiter: Likewise.
78720         * modules/mbuiter: Likewise.
78721
78722 2005-09-26  Bruno Haible  <bruno@clisp.org>
78723
78724         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78725         compile mbchar.c if they are not both present.
78726         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78727         * m4/mbiter.m4 (gl_MBITER): Likewise.
78728         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78729         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78730         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78731
78732 2005-09-25  Jim Meyering  <jim@meyering.net>
78733
78734         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78735         also uses socklen_t.
78736
78737 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78738
78739         * lib/utimens.c (ENOSYS): Define if not already defined.
78740         (futimens): Support having a null PATH if the file descriptor
78741         is nonnegative.
78742
78743         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78744         Remove.
78745         (__attribute): Define to empty unless GCC 3.1 or later.
78746         This works around a core dump on OpenBSD 3.4, which has GCC
78747         2.95.3, which dumps core when given __attribute__(()).  It also
78748         simplifies other tests, since we really don't want to bother with
78749         worrying about which ancient version of GCC supported what.
78750         Original problem reported by Yoann Vandoorselaere, with part of
78751         the fix suggested by Derek Price.
78752
78753 2005-09-24  Jim Meyering  <jim@meyering.net>
78754
78755         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78756         so we can once again use a positive bitfield width of 1 -- now we
78757         don't have to explain why we were using a bitfield width of 2.
78758
78759 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78760
78761         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78762         and similarly for the other external symbols.  Problem reported
78763         by James Gallager.
78764
78765         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78766         bug reported by Jim Meyering.
78767
78768         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78769         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78770         not needed, since socklen is a prerequisite module.
78771
78772 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78775         Problem reported by Eric Blake.
78776         (getaddrinfo): Initialize se so that it's not garbage.
78777         Redo internal storage allocation so that it doesn't make unportable
78778         assumptions about alignment.
78779         Fix a memory leak.
78780
78781         * lib/utimens.c (futimens): Use futimesat if available.
78782         Prefer it to futimes since it doesn't have the futimes bug.
78783
78784         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78785         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78786         Instead, declare a function that returns a pointer to an array,
78787         and use verify_type__ to declare the size of the array.
78788         Problem and germ of a solution reported by Bruno Haible.
78789         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78790         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78791
78792 2005-09-23  Jim Meyering  <jim@meyering.net>
78793
78794         Sync from coreutils.
78795         Correct build failure (socklen_t not defined) on at least
78796         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78797         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78798
78799 2005-09-23  Jim Meyering  <jim@meyering.net>
78800
78801         * modules/getaddrinfo (Depends-on): Add socklen.
78802
78803 2005-09-23  Bruno Haible  <bruno@clisp.org>
78804
78805         * tests/test-verify.c: New file.
78806
78807 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78808
78809         Sync from coreutils.
78810
78811         * modules/argmatch (Depends-on): Add verify.
78812         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78813         unistd-safer.
78814         * modules/save-cwd (Depends-on): Likewise.
78815
78816         * modules/openat (Files): Add lib/openat-die.c.
78817         (Depends-on): Remove error, exitfail.
78818         Add dirname.
78819
78820         * modules/verify: New file.
78821         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78822         with "verify" module.
78823
78824 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78825
78826         Sync from coreutils.
78827
78828         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78829         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78830         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78831         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78832         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78833         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78834         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78835         Don't bother checking for string.h, stdlib.h, unistd.h.
78836         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78837         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78838         module's job.
78839         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78840         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78841
78842         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78843         (gl_GETDATE): Use it.
78844
78845         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78846
78847 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78848
78849         Sync from coreutils.
78850
78851         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78852         stat-time.h.
78853         * lib/argmatch.h: Include verify.h
78854         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78855         (ARGMATCH_ASSERT): Remove; unused.
78856         * lib/canonicalize.c: Assume STDC_HEADERS.
78857         * lib/exclude.c: Include "strcase.h".
78858         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78859         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78860         and stdio-safer.h.
78861         (getusershell): Call fopen, not fopen_safer.
78862         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78863         Do not include unistd-safer.h.
78864         (save_cwd): Don't call fd_safer; no longer needed
78865         now that we include fcntl--.h.
78866
78867         * lib/getdate.y (relative_time): New type.
78868         (RELATIVE_TIME_0): New constant.
78869         (parser_control): Use relative_time instead of doing it ourselves.
78870         (%union): Add new relative_time rel member.
78871         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78872         Now typeless.
78873         (relunit, relunit_snumber): Now of type rel.
78874         (zone, rel, relunit, get_date): Adjust to above changes.
78875
78876         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78877         Do not include unistd-safer.h.
78878         (getloadavg): Don't call fd_safer; no longer needed
78879         now that we include fcntl--.h.
78880
78881         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78882         (make_dir_parents): Treat ENOSYS like EEXIST.
78883
78884         Improve quality of diagnostics on restore_cwd failure.
78885         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78886         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78887         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78888         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78889         each time through the loop.  Do not diagnose restore_cwd failure;
78890         that is the caller's job (and perhaps the caller does not care).
78891
78892         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78893         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78894         If the file already exists but is not a directory, don't bother
78895         to try to make its parents.
78896         Close potential file descriptor leak if we can't chdir("/") (!).
78897         Don't always return true if chdir($PWD) fails; return true only
78898         if the requested action was done successfully (except for the
78899         chdir($PWD)).
78900         Don't log final directory unless we actually made it.
78901         Refactor to avoid duplicate code to fix up permissions.
78902         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78903
78904         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78905         to make it a bit faster and (I hope) clearer.
78906         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78907         Fix bug in formats like %2N.
78908
78909         * lib/verify.h: New file.
78910
78911 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78912
78913         Sync from coreutils.
78914         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78915
78916 2005-09-22  Jim Meyering  <jim@meyering.net>
78917
78918         Sync from coreutils.
78919
78920         * m4/lstat.m4 (gl_FUNC_LSTAT):
78921         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78922         Remove obsolete comment.
78923         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78924         * m4/xstrtod.m4: Likewise.
78925
78926         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78927
78928 2005-09-22  Jim Meyering  <jim@meyering.net>
78929
78930         Sync from coreutils.
78931
78932         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78933
78934         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78935         the .tm_year member, since otherwise gcc-4.0 would now warn about
78936         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78937
78938         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78939         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78940
78941         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78942         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78943         when run in a time zone for which daylight savings time is in effect
78944         for the starting date.
78945
78946         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78947         stop us from restricting permissions of just-created absolute-named
78948         directories.
78949         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78950         to restore initial working directory.
78951         * lib/mkdir-p.c (make_dir_parents): New parameter:
78952         different_working_dir, to tell caller if/when we change the working
78953         directory and are unable to return to the initial one.
78954         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78955         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78956         `return false'.  This fixes a bug introduced on 2004-07-30.
78957
78958         * lib/openat.c (fdopendir): Be sure to close the supplied
78959         file descriptor before returning.  This makes our replacement
78960         implementation a little closer to Solaris's, where fdopendir
78961         ties the file descriptor to the returned DIR* pointer.
78962         * lib/openat.c (unlinkat): New function.
78963         * lib/openat.h (unlinkat): Add prototype.
78964         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78965         (openat_restore_fail): Rename from openat_restore_die.
78966         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78967
78968         Provide an alternative to exiting immediately upon save_cwd or
78969         restore_cwd failure.  Now, an application can arrange e.g.,
78970         to perform a longjump in that case.
78971         * lib/openat.c: Include dirname.h.
78972         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78973         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78974         and openat_restore_die rather than calling error directly.
78975         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78976
78977         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78978         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78979         define.
78980
78981         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78982         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78983                             int utc, int nanoseconds);
78984         Background:
78985         date should not have to allocate a megabyte of virtual memory to
78986         handle a format argument like +%1048575T.  When implemented with
78987         strftime, it must allocate such a buffer, use strftime to fill it
78988         in, print it, then free it.
78989         With fprintftime, it simply prints everything and exits.
78990         With no need for memory allocation, that's one fewer way to fail.
78991         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78992         optional field width, not before, so we accept %9:z, not %:9z.
78993         (my_strftime): Be sure to use L_('x') for literals.
78994
78995         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78996         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78997         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78998         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78999         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79000         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79001         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79002         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79003         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79004         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79005         * lib/xgethostname.c, lib/xreadlink.c:
79006         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79007
79008         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79009         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79010         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79011         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79012         and don't include <sys/file.h>).
79013
79014 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79015
79016         Sync from coreutils.
79017
79018         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79019         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79020         [!LDAV_DONE]: Avoid unused variable warning.
79021
79022 2005-09-21  Bruno Haible  <bruno@clisp.org>
79023
79024         * lib/unicodeio.h (unicode_to_mb): New declaration.
79025
79026 2005-09-20  Derek Price  <derek@ximbiot.com>
79027
79028         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79029         getaddrinfo.h.
79030
79031 2005-09-20  Bruno Haible  <bruno@clisp.org>
79032
79033         * gnulib-tool: Remove trailing slashes from the values specified for
79034         --source-base, --m4-base, --tests-base, --aux-dir.
79035         Suggested by Simon Josefsson <jas@extundo.com>.
79036
79037 2005-09-20  Bruno Haible  <bruno@clisp.org>
79038
79039         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79040         func_modules_to_filelist, func_import, func_create_testdir): Make all
79041         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79042         change when gnulib-tool is invoked in a different locale.
79043
79044 2005-09-19  Simon Josefsson  <jas@extundo.com>
79045
79046         * m4/socklen.m4: Fix typo.
79047
79048 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79049
79050         Use a consistent style for including <config.h>.
79051         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79052         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79053         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79054         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79055         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79056         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79057         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79058         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79059         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79060         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79061         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79062         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79063         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79064         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79065         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79066         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79067         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79068         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79069         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79070         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79071         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79072         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79073         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79074         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79075         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79076         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79077         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79078         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79079         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79080         lib/xstrtoumax.c, lib/yesno.c:
79081         Standardize inclusion of config.h.
79082         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79083         lib/inttostr.h:  Removed inclusion of config.h from header files.
79084         * lib/inttostr.c:  Adjusted in-tree users.
79085         * lib/timespec.h: Remove superfluous warning to include config.h.
79086         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79087         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79088         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79089         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79090         config.h with HAVE_CONFIG_H.
79091
79092 2005-09-19  Jim Meyering  <jim@meyering.net>
79093
79094         * modules/pathmax (License): Change to LGPL.
79095
79096 2005-09-19  Derek Price  <derek@ximbiot.com>
79097
79098         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79099
79100 2005-09-19  Bruno Haible  <bruno@clisp.org>
79101
79102         * gnulib-tool (import): Provide default for --tests-base.
79103
79104 2005-09-19  Bruno Haible  <bruno@clisp.org>
79105
79106         * doc/quote.texi: New file, extracted from gnulib.texi.
79107         * doc/ctime.texi: New file, extracted from gnulib.texi.
79108         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79109         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79110         * doc/gnulib.texi: Include them.
79111
79112 2005-09-18  Bruno Haible  <bruno@clisp.org>
79113
79114         Portability fix.
79115         * gnulib-tool (func_readlink): New function.
79116         (func_ln_if_changed): Use it.
79117
79118 2005-09-18  Bruno Haible  <bruno@clisp.org>
79119
79120         * gnulib-tool: Support --with-tests also with --import.
79121         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79122         (func_import): Use variables $testsbase and $inctests. Emit a
79123         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79124         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79125         SUBDIRS += $testsdir.
79126         (func_create_testdir): Update.
79127
79128 2005-09-18  Bruno Haible  <bruno@clisp.org>
79129
79130         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79131         instead of $dry_run.
79132         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79133         (func_ln_if_changed): Don't handle dry-run here.
79134         (func_import): In dry-run mode, detect more precisely which actions
79135         would be performed, and don't use "...ing" verbs.
79136
79137 2005-09-18  Bruno Haible  <bruno@clisp.org>
79138
79139         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79140         (func_import): Use join on two temporary files instead of three nested
79141         loops, in order to determine which files are new or old.
79142
79143 2005-09-18  Bruno Haible  <bruno@clisp.org>
79144
79145         * gnulib-tool (func_import): Comment out code that spits out the
79146         new files with --dry-run.
79147
79148 2005-09-18  Bruno Haible  <bruno@clisp.org>
79149
79150         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79151
79152 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79153
79154         * lib/stat-time.h: New file.
79155         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79156         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79157         in a different way.
79158         (timespec_cmp): New function.
79159         * lib/utimecmp.c: Include stat-time.h.
79160         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79161         members exist, not on the obsolescent ST_MTIM_NSEC.
79162         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79163
79164 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79165
79166         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79167
79168 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79169
79170         * MODULES.html.sh (File system functions): Add stat-time.
79171         * modules/stat-time: New file.
79172         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79173         is now done in a different way, by the stat-time module.
79174         * modules/utimecmp (Depends-on): Add stat-time.
79175
79176 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79177
79178         * m4/st_mtim.m4: Remove.  Superseded by...
79179         * m4/stat-time.m4: New file.
79180         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79181         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79182
79183 2005-09-15  Derek Price  <derek@ximbiot.com>
79184
79185         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79186
79187 2005-09-15  Derek Price  <derek@ximbiot.com>
79188
79189         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79190         * lib/regex_internal.c: Ditto, using this...
79191         (__GNUC_PREREQ): ...new macro.
79192         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79193         using...
79194         (__GNUC_PREREQ): ...this new macro.
79195
79196         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79197
79198 2005-09-15  Derek Price  <derek@ximbiot.com>
79199             Paul Eggert  <eggert@cs.ucla.edu>
79200
79201         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79202         changes, consolidating in...
79203         * lib/regex_internal.h: ...this file.
79204
79205 2005-09-13  Jim Meyering  <jim@meyering.net>
79206
79207         * lib/canon-host.c: Filter through gnu indent and reword comments
79208         slightly.
79209         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79210
79211 2005-09-13  Derek Price  <derek@ximbiot.com>
79212
79213         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79214         failure.
79215         Reported by Jim Meyering  <jim@meyering.net>.
79216
79217 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79218
79219         * lib/base64.c: Typo.
79220         (base64_encode): Put b64str in initialized data section.
79221
79222 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79223
79224         Merge glibc and coreutils changes into gnulib, plus a few
79225         extra fixes.
79226         * lib/md5.c: Use #error rather than a string.
79227         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79228         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79229         (__attribute__): Define to empty for non recent-GCC.
79230         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79231         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79232         Renamed from their non-__ counterparts, with new macros replacing
79233         them if not _LIBC.  Add __THROW attribute.
79234         (rol): Remove.
79235         (struct md5_ctx): Align buffer if using GCC.
79236         * lib/sha1.h (struct sha1_ctx): Likewise.
79237         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79238         The old name was backwards.
79239         (NOTSWAP): Remove; not used.
79240         (rol): New macro, moved here from md5.h.
79241         (sha1_process_block): Remove a FIXME that doesn't make sense.
79242
79243 2005-09-12  Derek Price  <derek@ximbiot.com>
79244
79245         Return usable errors from canon-host.
79246         * lib/canon-host.h: New file.
79247         * lib/canon-host.c (canon_host): Wrap...
79248         (canon_host_r): ...this new function, which now relies exclusively on
79249         getaddrinfo.
79250         (ch_strerror): New function.
79251         (last_cherror): New global.
79252         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79253         interface.
79254         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79255         void *.
79256         (freeaddrinfo): Free ai->ai_canonname when set.
79257
79258 2005-09-12  Derek Price  <derek@ximbiot.com>
79259
79260         Make canon-host require getaddrinfo.
79261         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79262         AC_LIBSOURCE canon-host.h.  Call...
79263         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79264         gl_GETADDRINFO.
79265         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79266
79267 2005-09-12  Derek Price  <derek@ximbiot.com>
79268
79269         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79270         LGPL.
79271         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79272
79273 2005-09-12  Derek Price  <derek@ximbiot.com>
79274
79275         * lib/gai_strerror.c: Include config.h when available.  Include
79276         getaddrinfo.h before other headers to test interface.
79277         Reported by Larry Jones <lawrence.jones@ugs.com>.
79278
79279 2005-09-12  Derek Price  <derek@ximbiot.com>
79280             Paul Eggert  <eggert@cs.ucla.edu>
79281
79282         * modules/glob (Files): Add glob-libc.h.
79283
79284 2005-09-12  Derek Price  <derek@ximbiot.com>
79285             Paul Eggert  <eggert@cs.ucla.edu>
79286
79287         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79288         glob_.h, glob-libc.h.
79289         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79290
79291 2005-09-12  Derek Price  <derek@ximbiot.com>
79292             Paul Eggert  <eggert@cs.ucla.edu>
79293
79294         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79295         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79296         protecting things that should be done only in gnulib contexts.
79297         * lib/glob_.h: New file, containing only the glob things needed for
79298         gnulib.
79299         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79300         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79301         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79302         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79303         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79304         and to respect the namespace rules better.
79305
79306 2005-09-08  Simon Josefsson  <jas@extundo.com>
79307
79308         * modules/socklen: New file.
79309
79310 2005-09-08  Simon Josefsson  <jas@extundo.com>
79311
79312         * m4/socklen.m4: New file.
79313
79314 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79315
79316         * modules/utimens (Files): Add m4/utimbuf.m4, since
79317         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79318         Reported by Sergey Poznyakoff.
79319
79320 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79321
79322         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79323         definitions, since that's the preferred style in glibc.
79324         Fix a minor spacing issue, and update copyright notice to match
79325         glibc's.
79326
79327 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79328
79329         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79330
79331 2005-09-06  Simon Josefsson  <jas@extundo.com>
79332
79333         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79334         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79335
79336 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79339         warning.
79340
79341 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79342
79343         * config/srclist.txt: Add glibc bug 1302.
79344
79345 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79346
79347         Change bitset word type from unsigned int to unsigned long int,
79348         as this has better performance on typical 64-bit hosts.
79349         Port bitset code to hosts with unusual word sizes.
79350         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79351         (build_collating_symbol):
79352         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79353         argument is a bitset.  This is merely a style issue, but it makes
79354         it clearer that an entire array is expected.
79355         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79356         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79357         Port to the case where bitset_word is not the same as unsigned int.
79358         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79359         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79360         Likewise.
79361         * lib/regexec.c (check_dst_limits_calc_pos_1,
79362         check_subexp_matching_top):
79363         (build_trtable, group_nodes_into_DFAstates):
79364         Likewise.
79365         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79366         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79367         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79368         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79369         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79370         * lib/regcomp.c (optimize_subexps, lower_subexp):
79371         Work even if bitset_word has holes in its bitwise representation.
79372         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79373         * lib/regexec.c (check_dst_limits_calc_pos_1,
79374         check_subexp_matching_top):
79375         Likewise.
79376         * lib/regex_internal.c (re_string_reconstruct):
79377         Don't assume UCHAR_MAX == 255.
79378         * lib/regex_internal.h (bitset_set_all): Likewise.
79379         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79380         All uses changed.
79381         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79382         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79383         All uses changed.
79384         (BITSET_WORD_MAX): New macro.
79385         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79386         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79387         (bitset_empty, bitset_copy):
79388         Prefer sizeof (bitset) to multiplying it out ourselves.
79389         (bitset_not_merge): Remove; unused.
79390         (bitset_contain): Return bool, not unsigned int with one bit on.
79391         All callers changed.
79392         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79393         alignment than re_node_set; do this by defining a new internal
79394         type struct dests_alloc and using it to allocate memory.
79395
79396 2005-09-05  Bruno Haible  <bruno@clisp.org>
79397
79398         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79399         links.
79400
79401 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79402
79403         * modules/size_max (Makefile.am): Add size_max.h
79404
79405 2005-09-04  Derek Price  <derek@ximbiot.com>
79406
79407         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79408
79409 2005-09-03  Simon Josefsson  <jas@extundo.com>
79410
79411         * gnulib-tool: Fix typo.
79412
79413 2005-09-03  Simon Josefsson  <jas@extundo.com>
79414
79415         * config/srclist.txt: Add glibc bug 1293.
79416
79417 2005-09-03  Derek Price  <derek@ximbiot.com>
79418
79419         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79420         From Larry Jones <lawrence.jones@ugs.com>.
79421
79422 2005-09-02  Simon Josefsson  <jas@extundo.com>
79423
79424         * modules/socklen: New file.
79425
79426 2005-09-02  Simon Josefsson  <jas@extundo.com>
79427
79428         * modules/havelib: New module.
79429
79430         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79431         Use havelib.
79432
79433 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79434
79435         Check for arithmetic overflow when calculating sizes, to prevent
79436         some buffer-overflow issues.  These patches are conservative, in the
79437         sense that when I couldn't determine whether an overflow was possible,
79438         I inserted a run-time check.
79439         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79440         macros.
79441         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79442         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79443         (re_xnrealloc, re_x2nrealloc): New inline functions.
79444         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79445         parse_bracket_exp):
79446         (build_equiv_class, build_charclass): Check for arithmetic overflow
79447         in size expression calculations.
79448         * lib/regex_internal.c (re_string_realloc_buffers):
79449         (build_wcs_upper_buffer, re_node_set_add_intersect):
79450         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79451         (re_dfa_add_node, register_state): Likewise.
79452         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79453         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79454         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79455         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79456
79457 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79458
79459         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79460         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79461
79462 2005-09-02  Bruno Haible  <bruno@clisp.org>
79463
79464         Support for lib vs. lib64 distinction on biarch platforms.
79465         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79466         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79467         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79468
79469 2005-09-02  Bruno Haible  <bruno@clisp.org>
79470
79471         * gnulib-tool (import): In the other first-use case, provide defaults
79472         as well.
79473
79474 2005-09-02  Bruno Haible  <bruno@clisp.org>
79475
79476         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79477         patches not yet found in the latest gettext release.
79478
79479 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79480
79481         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79482         to avoid a collision with bits/local_lim.h in glibc.
79483         All uses changed.  Problem reported by Dmitry V. Levin in
79484         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79485
79486         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79487         bugs in int versus size_t comparisons.
79488         (re_string_context_at): Fix bug where the code assumed that
79489         Idx is signed.
79490
79491         Use bool where appropriate.
79492         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79493         All callers changed.
79494         (calc_eclosure_iter): Likewise, for ROOT arg.
79495         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79496         (build_charclass_op): Likewise, for NON_MATCH arg.
79497         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79498         (re_string_construct_common): Likewise, for ICASE arg.
79499         * lib/regexec.c (re_search_2_stub, re_search_stub):
79500         Likewise, for RET_LEN arg.
79501         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79502         (set_regs): Likewise, for FL_BACKTRACK arg.
79503         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79504         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79505         (calc_eclosure_iter, parse_bracket_exp):
79506         Use bool for internal variables that are booleans.
79507         * lib/regexec.c (re_search_internal, check_matching,
79508         proceed_next_node):
79509         (set_regs, build_sifted_states, sift_states_bkref):
79510         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79511         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79512         (find_collation_sequence_value):
79513         Likewise.
79514         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79515         (re_node_set_compare):
79516         Return bool, not int. All callers changed.
79517         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79518         (build_trtable, check_node_accept): Likewise.
79519         * lib/regex_internal.h: Include stdbool.h.
79520
79521         Fix bugs uncovered when converting to bool.
79522         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79523         failure instead of charging ahead blindly.
79524         * lib/regex_internal.c (register_state): Likewise.
79525         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79526         for freeing internal storage.
79527         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79528         bitset pieces used as boolean, to avoid undefined behavior
79529         on hosts that do int overflow checking.
79530
79531 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         * config/srclist.txt: Add glibc bugs 1285-1287.
79534
79535 2005-09-01  Jim Meyering  <jim@meyering.net>
79536
79537         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79538         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79539         Require gl_STAT_MACROS, too.
79540
79541 2005-09-01  Bruno Haible  <bruno@clisp.org>
79542
79543         * gnulib-tool (import): In the first-use case, provide defaults.
79544
79545 2005-09-01  Bruno Haible  <bruno@clisp.org>
79546
79547         * gnulib-tool (func_import): Remove the .tmp files.
79548
79549 2005-09-01  Bruno Haible  <bruno@clisp.org>
79550
79551         * gnulib-tool (func_import): Fix handling of symbolic links.
79552
79553 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79554
79555         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79556         old glibc regex code mishandles strings longer than 2**31 bytes.
79557         This patch fixes this when the regex code is used in gnulib
79558         (i.e., outside glibc).
79559
79560         This patch should not affect the use of the regex code inside
79561         glibc.  No doubt this problem also needs to be handled for glibc
79562         as well, but the result will be an incompatible change to the
79563         glibc ABI, and the old ABI will have to be supported too.  That
79564         can be the the subject for another patch.
79565
79566         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79567         governing whether the rest of this patch is active.  By default,
79568         the macro is disabled and the patch has no effect.
79569         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79570         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79571         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79572         (re_match_2, re_set_registers): Use the new types.
79573         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79574         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79575         New macros.
79576         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79577         (re_string_context_at, bin_tree_t, re_dfastate_t):
79578         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79579         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79580         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79581         (re_string_char_size_at, re_string_wchar_at):
79582         (re_string_elem_size_at):
79583         Use the new types and macros to port to 64-bit hosts.
79584         Use unsigned types for internal values, so that the code
79585         mostly works even for arrays larger than SSIZE_MAX.
79586         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79587         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79588         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79589         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79590         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79591         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79592         (calc_inveclosure, parse_dup_op, build_range_exp):
79593         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79594         (fetch_number, create_token_tree, mark_opt_subexp):
79595         Likewise.
79596         * lib/regex_internal.c (re_string_construct_common,
79597         create_ci_newstate):
79598         (create_cd_newstate, re_string_allocate, re_string_construct):
79599         (re_string_realloc_buffers, build_wcs_upper_buffer):
79600         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79601         (re_string_reconstruct, re_string_peek_byte_case):
79602         (re_string_fetch_byte_case, re_string_context_at):
79603         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79604         (re_node_set_init_copy, re_node_set_add_intersect):
79605         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79606         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79607         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79608         (re_acquire_state, re_acquire_state_context, register_state):
79609         Likewise.
79610         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79611         search_cur_bkref_entry):
79612         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79613         (re_search_internal, re_search_2_stub, re_search_stub)
79614         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79615         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79616         (update_cur_sifted_state, check_dst_limits):
79617         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79618         (check_subexp_limits, sift_states_bkref, merge_state_array):
79619         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79620         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79621         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79622         (expand_bkref_cache, check_node_accept_bytes):
79623         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79624         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79625         (acquire_init_state_context, check_halt_node_context):
79626         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79627         (sift_states_backward, clean_state_log_if_needed):
79628         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79629         (find_recover_state, transit_state_sb, transit_state_mb):
79630         (transit_state_bkref, build_trtable, match_ctx_clean):
79631         Likewise.
79632         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79633         to work around an assumption that REG_MISSING is negative.
79634
79635         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79636         (seek_collating_symbol_entry) [defined _LIBC]:
79637         (lookup_collation_sequence_value) [defined _LIBC]:
79638         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79639         Use prototypes rather than old-style function definitions.
79640         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79641         (transit_state_sb) [0]:
79642         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79643
79644         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79645         rm_eo.
79646
79647         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79648         (optimize_subexps, lower_subexp):
79649         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79650         since the signed shift might overflow.  Use 1u<<31 instead.
79651         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79652         Likewise.
79653         * lib/regexec.c (check_dst_limits_calc_pos_1,
79654         check_subexp_matching_top): Likewise.
79655
79656         * lib/regcomp.c (optimize_subexps, lower_subexp):
79657         Use CHAR_BIT rather than 8, for clarity.
79658         * lib/regexec.c (check_dst_limits_calc_pos_1):
79659         (check_subexp_matching_top): Likewise.
79660         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79661         have to worry about portability issues when shifting it left.
79662         Remove no-longer-needed test for table_size > 0.
79663         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79664         in a word, as the resulting behavior is undefined.
79665         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79666         in one case, a <= should have been an <, and in another case the
79667         whole test was missing.
79668         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79669         the standard name CHAR_BIT.
79670         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79671         this is not true on one's complement and signed-magnitude hosts.
79672
79673         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79674         next_last_offset.
79675         (struct re_dfa_t): Remove unused member states_alloc.
79676         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79677
79678 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79679
79680         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79681         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79682         and large-file glibc and in 32-bit large-file Solaris.
79683
79684 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79685
79686         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79687         lengths fit in regoff_t; this isn't true if regoff_t is the same
79688         width as size_t.
79689         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79690         (= START + RANGE) instead of RANGE.  This avoids overflow
79691         problems when regoff_t is the same width as size_t.
79692         All callers changed.
79693         (re_search_2_stub): Check for overflow when adding the
79694         sizes of the two strings.
79695         (re_search_stub): Check for overflow when adding START
79696         to RANGE; if it occurs, substitute the extreme value.
79697
79698 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79699
79700         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79701
79702 2005-08-31  Jim Meyering  <jim@meyering.net>
79703
79704         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79705         a pointer-to-const.
79706         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79707         (register_state): Likewise.
79708         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79709         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79710         (group_nodes_into_DFAstates): Likewise.
79711
79712 2005-08-31  Jim Meyering  <jim@meyering.net>
79713
79714         * check-module: Add a FIXME comment.
79715
79716 2005-08-31  Eric Blake  <ebb9@byu.net>
79717
79718         * modules/unistd-safer (Files): Add unistd--.h.
79719         * modules/stdio-safer (Files): Add stdio--.h.
79720
79721 2005-08-31  Derek Price  <derek@ximbiot.com>
79722
79723         * lib/getdelim.c (getdelim): Return EOF on EOF.
79724         Reported by Larry Jones <lawrence.jones@ugs.com>.
79725
79726 2005-08-31  Bruno Haible  <bruno@clisp.org>
79727
79728         Avoid unnecessary diffs in the generated lib/Makefile.am.
79729         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79730         the generated files.
79731         (func_import): Don't set cmd.
79732
79733 2005-08-31  Bruno Haible  <bruno@clisp.org>
79734
79735         * lib/strstr.c: Include <stddef.h>, for NULL.
79736         * lib/strcasestr.c: Likewise.
79737         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79738
79739 2005-08-31  Bruno Haible  <bruno@clisp.org>
79740
79741         * gnulib-tool: New option --macro-prefix.
79742         (func_import): Use macro_prefix.
79743         (import): Handle option --macro-prefix.
79744
79745 2005-08-31  Bruno Haible  <bruno@clisp.org>
79746
79747         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79748         Also use new variables cached_lgpl, cached_libtool.
79749
79750 2005-08-31  Bruno Haible  <bruno@clisp.org>
79751
79752         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79753         always instantiating them.
79754
79755 2005-08-31  Bruno Haible  <bruno@clisp.org>
79756
79757         * gnulib-tool (func_import): Read the previous cached settings
79758         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79759         earlier added by gnulib but are now dropped. Warn when a gnulib file
79760         overwrites a non-gnulib file.
79761
79762 2005-08-31  Bruno Haible  <bruno@clisp.org>
79763
79764         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79765         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79766         projects that don't keep autogenerated files in CVS. Put into
79767         actioncmd only the specified modules, not the transitive closure.
79768
79769 2005-08-31  Bruno Haible  <bruno@clisp.org>
79770
79771         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79772         Create directories that shall be filled.
79773         (import): Don't look for gl_* macros in configure.ac. Recurse across
79774         all directories containing a gnulib-cache.m4 files, if meaningful.
79775
79776 2005-08-31  Bruno Haible  <bruno@clisp.org>
79777
79778         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79779         (import): Set seen_libtool when we see gl_LIBTOOL.
79780
79781 2005-08-31  Bruno Haible  <bruno@clisp.org>
79782
79783         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79784         declaration macro definitions from generated gnulib.m4.
79785
79786 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79787
79788         * lib/iconvme.h: Add prototype for iconv_alloc.
79789
79790 2005-08-29  Simon Josefsson  <jas@extundo.com>
79791
79792         * lib/iconvme.c: Fix errno.
79793
79794 2005-08-29  Bruno Haible  <bruno@clisp.org>
79795
79796         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79797         that it works when the directory contains spaces.
79798
79799 2005-08-29  Bruno Haible  <bruno@clisp.org>
79800
79801         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79802
79803 2005-08-29  Bruno Haible  <bruno@clisp.org>
79804
79805         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79806         Emit more advice.
79807
79808 2005-08-29  Bruno Haible  <bruno@clisp.org>
79809         and Stepan Kasal  <kasal@ucw.cz>
79810
79811         * check-module: If more parameters are given, check each of them
79812         separately; add more exceptions, as noted by Jim Meyering.
79813         (check_module): New procedure.
79814         (%exempt_header): Now contains all exceptions.
79815
79816 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79817
79818         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79819
79820 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79821
79822         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79823
79824 2005-08-28  Bruno Haible  <bruno@clisp.org>
79825
79826         * m4/gnulib-tool.m4: New file.
79827
79828 2005-08-27  Jim Meyering  <jim@meyering.net>
79829
79830         * modules/unistd-safer (Files): Add pipe-safer.c.
79831         * modules/fcntl-safer (Files): Add creat-safer.c.
79832
79833 2005-08-27  Jim Meyering  <jim@meyering.net>
79834
79835         * m4/stdlib-safer.m4: New file.  From coreutils.
79836         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79837         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79838         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79839         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79840         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79841
79842 2005-08-27  Jim Meyering  <jim@meyering.net>
79843
79844         * lib/fopen-safer.c: Merge minor changes from coreutils.
79845         * lib/dup-safer.c: Likewise.
79846         * lib/fd-safer.c: Likewise.
79847
79848         Merge from coreutils.
79849         * lib/stdio--.h: New file.
79850         * lib/stdlib--.h: New file.
79851         * lib/mkstemp-safer.c: New file.
79852
79853         GNU tar needs these.
79854         * lib/pipe-safer.c: New file.
79855         * lib/creat-safer.c: New file.
79856         * lib/fcntl--.h (creat): Define to creat_safer.
79857         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79858         * lib/unistd--.h (pipe): Define to pipe_safer.
79859         * lib/unistd-safer.h: Declare pipe_safer.
79860
79861 2005-08-26  Simon Josefsson  <jas@extundo.com>
79862
79863         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79864         Haible <bruno@clisp.org>.
79865
79866 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79867
79868         * lib/regex_internal.h: Remove all references to
79869         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79870         or better.
79871         (bitset_not, bitset_merge, bitset_not_merge):
79872         (bitset_mask, re_string_allocate, re_string_construct):
79873         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79874         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79875         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79876         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79877         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79878         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79879         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79880         (re_acquire_state_context):
79881         Remove unnecessary forward decls.
79882         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79883         Put __attribute at function definition,
79884         now that the function decl has been removed.
79885         * lib/regex_internal.c (re_string_peek_byte_case):
79886         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79887         Likewise.
79888
79889 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79890
79891         * m4/regex.m4: Add AC_PREREQ(2.50).
79892         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79893
79894 2005-08-25  Simon Josefsson  <jas@extundo.com>
79895
79896         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79897         __fsetlocking.
79898
79899 2005-08-25  Simon Josefsson  <jas@extundo.com>
79900
79901         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79902         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79903         GLIBC specific code.
79904
79905 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79906
79907         Make regex safe for g++.  This fixes one real bug (an "err"
79908         that should have been "*err").  g++ problem reported by
79909         Sam Steingold.
79910         * lib/regex_internal.h (re_calloc): New macro, consistent with
79911         re_malloc etc.  All callers of calloc changed to use re_calloc.
79912         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79913         not int.  All callers changed.
79914         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79915         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79916         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79917         (find_recover_state): Change "err" to "*err"; this fixes what
79918         appears to be a real bug.
79919         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79920         versus int.
79921
79922 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79923
79924         * modules/regex (Depends-on): Add malloc, since the code
79925         assumes that !malloc(0) means failure.
79926
79927 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79928
79929         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79930
79931         alloca modernization/simplification for regex.
79932         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79933         needs to be at the start of the file, and can be moved into
79934         regex_internal.h and simplified.
79935         * lib/regex_internal.h: Include <alloca.h>.
79936         (__libc_use_alloca) [!defined _LIBC]: New macro.
79937         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79938         now works outside glibc.
79939
79940 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * config/srclist.txt: Add glibc bugs 1241, 1245.
79943
79944 2005-08-25  Jim Meyering  <jim@meyering.net>
79945
79946         * lib/open-safer.c: Include <config.h>.
79947         Otherwise, we'd lose LARGEFILE support in any file using
79948         e.g. "fcntl--.h"
79949
79950 2005-08-25  Bruno Haible  <bruno@clisp.org>
79951
79952         * m4/minmax.m4: Require autoconf 2.52.
79953         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79954         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79955         alternatives of translit over the alphabet.
79956         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79957
79958 2005-08-24  Simon Josefsson  <jas@extundo.com>
79959
79960         * tests/test-getpass.c: New file.
79961
79962 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79963
79964         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79965         for GNU regex features.
79966
79967 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79968
79969         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79970         * lib/regex.h (regerror): Likewise.
79971
79972         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79973         requires this.  (The code never needed it.)
79974
79975         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79976         All uses of recently-renamed identifiers changed to use the new,
79977         POSIX-compliant names.  The code will build and run just fine
79978         without these changes, but it's better to eat our own dog food
79979         and use the standard-conforming names.
79980
79981         * lib/regex.h: Fix a multitude of POSIX name space violations.
79982         These changes have an effect only for programs that define
79983         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79984         do not change anything for programs compiled in the normal way.
79985         Also, there is no effect on the ABI.
79986
79987         (_REGEX_SOURCE): New macro.
79988         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79989         defined and _GNU_SOURCE is not; this fixes a name space violation.
79990
79991         Rename the following macros to obey POSIX requirements.
79992         The old names are still visible as macros if _REGEX_SOURCE is defined.
79993         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79994         RE_BACKSLASH_ESCAPE_IN_LISTS.
79995         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79996         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79997         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79998         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79999         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80000         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80001         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80002         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80003         (REG_INTERVALS): renamed from RE_INTERVALS.
80004         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80005         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80006         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80007         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80008         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80009         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80010         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80011         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80012         RE_UNMATCHED_RIGHT_PAREN_ORD.
80013         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80014         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80015         (REG_DEBUG): renamed from RE_DEBUG.
80016         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80017         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80018         unusual, since we can't clash with the POSIX REG_ICASE.
80019         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80020         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80021         (REG_NO_SUB): renamed from RE_NO_SUB.
80022         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80023         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80024         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80025         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80026         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80027         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80028         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80029         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80030         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80031         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80032         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80033         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80034         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80035         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80036         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80037         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80038         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80039         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80040         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80041         (REG_FIXED): Renamed from REGS_FIXED.
80042         (REG_NREGS): Renamed from RE_NREGS.
80043
80044         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80045         of other REG_* macros, since POSIX says the user is allowed to
80046         #undef these macros selectively.
80047
80048         (reg_errcode_t): Update comment stating what other tables need
80049         to be consistent.
80050
80051         Rename the following enum values to obey POSIX requirements.
80052         The old names are still visible as macros.
80053         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80054         is not defined, since GNU is supposed to be a superset of POSIX as
80055         much as possible, and since we want reg_errcode_t to be a signed
80056         type for implementation consistency.
80057         (_REG_NOERROR): Renamed from REG_NOERROR.
80058         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80059         (_REG_BADPAT): Renamed from REG_BADPAT.
80060         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80061         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80062         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80063         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80064         (_REG_EBRACK): Renamed from REG_EBRACK.
80065         (_REG_EPAREN): Renamed from REG_EPAREN.
80066         (_REG_EBRACE): Renamed from REG_EBRACE.
80067         (_REG_BADBR): Renamed from REG_BADBR.
80068         (_REG_ERANGE): Renamed from REG_ERANGE.
80069         (_REG_ESPACE): Renamed from REG_ESPACE.
80070         (_REG_BADRPT): Renamed from REG_BADRPT.
80071         (_REG_EEND): Renamed from REG_EEND.
80072         (_REG_ESIZE): Renamed from REG_ESIZE.
80073         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80074         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80075         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80076         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80077         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80078
80079         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80080         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80081         changed.  But support the old name if the new one is not defined
80082         and if _REGEX_SOURCE.
80083
80084         Change the following member names in struct re_pattern_buffer.
80085         The old names are still supported if !_REGEX_SOURCE.
80086         The new names are always supported, regardless of _REGEX_SOURCE.
80087         (re_buffer): Renamed from buffer.
80088         (re_allocated): Renamed from allocated.
80089         (re_used): Renamed from used.
80090         (re_syntax): Renamed from syntax.
80091         (re_fastmap): Renamed from fastmap.
80092         (re_translate): Renamed from translate.
80093         (re_can_be_null): Renamed from can_be_null.
80094         (re_regs_allocated): Renamed from regs_allocated.
80095         (re_fastmap_accurate): Renamed from fastmap_accurate.
80096         (re_no_sub): Renamed from no_sub.
80097         (re_not_bol): Renamed from not_bol.
80098         (re_not_eol): Renamed from not_eol.
80099         (re_newline_anchor): Renamed from newline_anchor.
80100
80101         Change the following member names in struct re_registers.
80102         The old names are still supported if !_REGEX_SOURCE.
80103         The new names are always supported, regardless of _REGEX_SOURCE.
80104         (rm_num_regs): Renamed from num_regs.
80105         (rm_start): Renamed from start.
80106         (rm_end): Renamed from end.
80107
80108         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80109         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80110         Prepend __ to parameter names.
80111
80112         Undo yesterday's changes.
80113
80114 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80115
80116         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80117         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80118         lib/regex.c.
80119
80120 2005-08-24  Jim Meyering  <jim@meyering.net>
80121
80122         Sync from coreutils.
80123         * m4/fcntl-safer.m4: New file.
80124
80125         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80126         and object files for this module.
80127
80128 2005-08-24  Jim Meyering  <jim@meyering.net>
80129
80130         Sync from coreutils.
80131         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80132
80133 2005-08-24  Jim Meyering  <jim@meyering.net>
80134
80135         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80136         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80137
80138 2005-08-24  Jim Meyering  <jim@meyering.net>
80139
80140         * modules/fcntl-safer: New module.
80141         * modules/fts (Depends-on): Add fcntl-safer.
80142         * MODULES.html.sh (File descriptor based Input/Output):
80143         Add fcntl-safer.
80144
80145 2005-08-24  Bruno Haible  <bruno@clisp.org>
80146
80147         Support for unit test modules.
80148         * modules/README: Mention tests modules.
80149         * modules/TEMPLATE-TESTS: New file.
80150         * gnulib-tool: New options --extract-tests-module, --with-tests and
80151         --tests-base (unused for the moment).
80152         (testsbase, inctests): New variables.
80153         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80154         (func_verify_module): Exclude TEMPLATE-TESTS.
80155         (func_verify_nontests_module, func_verify_tests_module): New functions.
80156         (func_get_dependencies): Add implicit dependency for tests modules.
80157         (func_get_tests_module): New function.
80158         (func_modules_transitive_closure): When --with-tests was specified,
80159         include the unit tests as well, unless explicitly avoided.
80160         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80161         (func_emit_tests_Makefile_am): New function.
80162         (func_create_testdir): When --with-tests was specified, emit a
80163         tests/ directory.
80164         * MODULES.html.sh (Future developments): Update.
80165
80166 2005-08-24  Bruno Haible  <bruno@clisp.org>
80167
80168         * modules/tls-tests: New file.
80169         * tests/test-tls.c: New file, from GNU gettext.
80170
80171 2005-08-24  Bruno Haible  <bruno@clisp.org>
80172
80173         * modules/lock-tests: New file.
80174         * tests/test-lock.c: New file, from GNU gettext.
80175
80176 2005-08-24  Bruno Haible  <bruno@clisp.org>
80177
80178         * lib/lock.h: Add multiple inclusion guard.
80179         * lib/tls.h: Add multiple inclusion guard.
80180
80181 2005-08-24  Bruno Haible  <bruno@clisp.org>
80182
80183         * gnulib-tool: Add support for the --aux-dir option to
80184         --create-testdir, --create-megatestdir, --test, --megatest.
80185         (func_create_testdir, func_create_megatestdir): Optionally emit a
80186         AC_CONFIG_AUX_DIR directive.
80187         (create-testdir, create-megatestdir, test, megatest): Provide a
80188         default value for $auxdir.
80189
80190 2005-08-24  Bruno Haible  <bruno@clisp.org>
80191
80192         * gnulib-tool (import): Use compound statement instead of subshell
80193         where possible.
80194
80195 2005-08-24  Bruno Haible  <bruno@clisp.org>
80196
80197         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80198
80199 2005-08-24  Bruno Haible  <bruno@clisp.org>
80200
80201         * gnulib-tool (func_version): Update.
80202
80203 2005-08-24  Bruno Haible  <bruno@clisp.org>
80204
80205         * gnulib-tool (func_import, func_create_testdir,
80206         func_create_megatestdir): Quote all autoconf macro arguments.
80207
80208 2005-08-24  Bruno Haible  <bruno@clisp.org>
80209
80210         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80211         option --force, because --force causes the aclocal.m4 of each
80212         subdirectory to be newer than the corresponding config.h.in.
80213
80214 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80215
80216         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80217         All contents moved to gl_REGEX.
80218         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80219         assume that it does.
80220
80221 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80222
80223         * lib/regex.h (REG_NOSYS)
80224         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80225         Define, since POSIX requires it as of 2001.
80226         (_REG_ENOSYS)
80227         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80228         New private symbol, used to keep the enum signed in all cases.
80229         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80230         Youngman in
80231         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80232
80233         * lib/regex_internal.c (re_string_skip_chars, register_state):
80234         (calc_state_hash):
80235         Remove forward decls; no longer needed now that we use prototypes.
80236         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80237         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80238         (clean_state_log_if_needed): Likewise.
80239
80240 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80241
80242         * config/srclist.txt: Add glibc bugs 1231-1233.
80243
80244 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80245
80246         Fix problems reported by Sam Steingold in
80247         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80248         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80249         assumed that reg_errcode_t is a signed type, which is not
80250         necessarily true if _XOPEN_SOURCE is not defined.
80251         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80252         since some compilers warn about it otherwise.
80253
80254 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80257         (init_word_char, create_initial_state, duplicate_node_closure):
80258         (fetch_token, peek_token_bracket, build_range_exp):
80259         (build_collating_symbol): Remove forward decls; no longer needed
80260         now that we use prototypes.
80261
80262         * lib/regcomp.c:
80263         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80264         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80265         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80266         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80267         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80268         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80269         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80270         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80271         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80272         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80273         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80274         (build_charclass, build_charclass_op, fetch_number, create_tree):
80275         (create_token_tree, mark_opt_subexp, duplicate_tree):
80276         Use prototypes rather than old-style definitions.
80277
80278         * lib/regex_internal.c:
80279         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80280         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80281         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80282         (re_string_reconstruct, re_string_peek_byte_case):
80283         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80284         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80285         (re_node_set_init_copy, re_node_set_add_intersect):
80286         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80287         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80288         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80289         (re_acquire_state, re_acquire_state_context, register_state):
80290         (create_ci_newstate, create_cd_newstate, free_state):
80291         Likewise.
80292         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80293         re_search_2):
80294         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80295         (re_search_internal, prune_impossible_nodes):
80296         (acquire_init_state_context, check_matching, static):
80297         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80298         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80299         (update_regs, sift_states_backward, build_sifted_states):
80300         (clean_state_log_if_needed, merge_state_array):
80301         (update_cur_sifted_state, add_epsilon_src_nodes):
80302         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80303         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80304         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80305         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80306         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80307         (check_arrival, check_arrival_add_next_nodes):
80308         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80309         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80310         (check_node_accept_bytes, check_node_accept, extend_buffers):
80311         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80312         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80313         (sift_ctx_init):
80314         Likewise.
80315
80316         * lib/regex_internal.h:
80317         (re_string_allocate, re_string_construct, re_string_reconstruct):
80318         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80319         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80320         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80321         (re_string_context_at, re_string_peek_byte_case):
80322         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80323         is defined, since we now use prototypes always.
80324
80325         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80326         C89 or better.  All uses removed.
80327
80328 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80329
80330         * config/srclist.txt: Add glibc bugs 1220-1227.
80331
80332 2005-08-20  Jim Meyering  <jim@meyering.net>
80333
80334         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80335         of unused local, dfa.
80336
80337 2005-08-20  Bruno Haible  <bruno@clisp.org>
80338
80339         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80340
80341 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80342
80343         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80344         (re_node_set_insert_last, re_dfa_add_node):
80345         Rename local variables to avoid GCC shadowing warnings.
80346
80347 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80348
80349         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80350         [defined lint]: Suppress bogus uninitialized-variable warnings.
80351
80352         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80353         and let the caller return REG_ESPACE if out of space.  This
80354         removes an uninitialied-variable warning with GCC 4.0.1, and also
80355         avoids taking the address of a local variable.  All callers
80356         changed.
80357
80358 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80359
80360         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80361         $LIBCSRC/posix/regexec.c.
80362         Add glibc bug 1217 for regcomp.c.
80363
80364 2005-08-19  Jim Meyering  <jim@meyering.net>
80365
80366         * lib/regexec.c (proceed_next_node): Redo local variables to
80367         avoid GCC shadowing warnings.
80368
80369 2005-08-18  Bruno Haible  <bruno@clisp.org>
80370
80371         * lib/strstr.c (strstr): Fix return value in multibyte case.
80372         * lib/strcasestr.c (strcasestr): Likewise.
80373
80374 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80375
80376         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80377
80378 2005-08-17  Jim Meyering  <jim@meyering.net>
80379
80380         Make the %s format (seconds since the epoch) work for a negative
80381         number and when used with a zero-padded field width, e.g. %015s.
80382
80383         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80384         label so that it precedes the code to set `digits'.  Otherwise,
80385         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80386         print `00-22'.  Now, it prints `-0022', as it should.
80387
80388 2005-08-17  Bruno Haible  <bruno@clisp.org>
80389
80390         * modules/strstr (Files): Add m4/mbrtowc.m4.
80391         (Depends-on): Add mbuiter.
80392
80393 2005-08-17  Bruno Haible  <bruno@clisp.org>
80394
80395         * modules/strcasestr: New file.
80396         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80397         strcasestr.
80398
80399 2005-08-17  Bruno Haible  <bruno@clisp.org>
80400
80401         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80402
80403 2005-08-17  Bruno Haible  <bruno@clisp.org>
80404
80405         * modules/mbuiter: New file.
80406         * MODULES.html.sh (Extended multibyte and wide character utilities):
80407         Add mbuiter.
80408
80409 2005-08-17  Bruno Haible  <bruno@clisp.org>
80410
80411         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80412         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80413
80414 2005-08-17  Bruno Haible  <bruno@clisp.org>
80415
80416         * m4/strcasestr.m4: New file.
80417
80418 2005-08-17  Bruno Haible  <bruno@clisp.org>
80419
80420         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80421         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80422
80423 2005-08-17  Bruno Haible  <bruno@clisp.org>
80424
80425         * lib/strcasestr.h: New file.
80426         * lib/strcasestr.c: New file.
80427
80428 2005-08-17  Bruno Haible  <bruno@clisp.org>
80429
80430         * lib/strcasecmp.c: Use mbuiter.h.
80431
80432 2005-08-17  Bruno Haible  <bruno@clisp.org>
80433
80434         * lib/mbuiter.h: New file.
80435
80436 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80437
80438         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80439         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80440         and gl_GETOPT are both invoked via different paths (as happens
80441         with GNU tar CVS because it uses both argp and getopt), the former
80442         wins.
80443
80444 2005-08-16  Bruno Haible  <bruno@clisp.org>
80445
80446         * modules/tls: New file.
80447         * MODULES.html.sh (Multithreading): Add tls.
80448
80449 2005-08-16  Bruno Haible  <bruno@clisp.org>
80450
80451         * modules/strnlen1: New file.
80452         * MODULES.html.sh (String handling): Add strnlen1.
80453
80454 2005-08-16  Bruno Haible  <bruno@clisp.org>
80455
80456         * modules/strcase (Files): Add m4/mbrtowc.m4.
80457         (Depends-on): Add strnlen1, mbchar.
80458
80459 2005-08-16  Bruno Haible  <bruno@clisp.org>
80460
80461         * modules/mbiter: New file.
80462         * MODULES.html.sh (Extended multibyte and wide character utilities):
80463         Add mbiter.
80464
80465 2005-08-16  Bruno Haible  <bruno@clisp.org>
80466
80467         * modules/mbfile: New file.
80468         * MODULES.html.sh (Extended multibyte and wide character utilities):
80469         Add mbfile.
80470
80471 2005-08-16  Bruno Haible  <bruno@clisp.org>
80472
80473         * modules/mbchar: New file.
80474         * MODULES.html.sh (Extended multibyte and wide character utilities):
80475         New section.
80476
80477 2005-08-16  Bruno Haible  <bruno@clisp.org>
80478
80479         * m4/tls.m4: New file, from GNU gettext.
80480
80481 2005-08-16  Bruno Haible  <bruno@clisp.org>
80482
80483         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80484         always.
80485         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80486
80487 2005-08-16  Bruno Haible  <bruno@clisp.org>
80488
80489         * m4/mbiter.m4: New file.
80490
80491 2005-08-16  Bruno Haible  <bruno@clisp.org>
80492
80493         * m4/mbfile.m4: New file.
80494
80495 2005-08-16  Bruno Haible  <bruno@clisp.org>
80496
80497         * m4/mbchar.m4: New file.
80498
80499 2005-08-16  Bruno Haible  <bruno@clisp.org>
80500
80501         * lib/tls.h: New file, from GNU gettext.
80502         * lib/tls.c: New file, from GNU gettext.
80503
80504 2005-08-16  Bruno Haible  <bruno@clisp.org>
80505
80506         * lib/strnlen1.h: New file.
80507         * lib/strnlen1.c: New file.
80508
80509 2005-08-16  Bruno Haible  <bruno@clisp.org>
80510
80511         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80512         (mbi_init): Update.
80513         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80514         NUL byte, not after it.
80515
80516 2005-08-16  Bruno Haible  <bruno@clisp.org>
80517
80518         * lib/strcase.h (strcasecmp): Add note in comments.
80519         * lib/strncasecmp.c: Use code from strcasecmp.c.
80520         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80521         (strcasecmp): Work correctly in multibyte locales.
80522
80523 2005-08-16  Bruno Haible  <bruno@clisp.org>
80524
80525         * lib/mbiter.h: New file.
80526
80527 2005-08-16  Bruno Haible  <bruno@clisp.org>
80528
80529         * lib/mbfile.h: New file.
80530
80531 2005-08-16  Bruno Haible  <bruno@clisp.org>
80532
80533         * lib/mbchar.h: New file.
80534         * lib/mbchar.c: New file.
80535
80536 2005-08-16  Bruno Haible  <bruno@clisp.org>
80537
80538         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80539         the valid ones. Makes the comparison operations transitive:
80540         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80541         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80542
80543 2005-08-15  Simon Josefsson  <jas@extundo.com>
80544
80545         * modules/ssize_t (License): Change to 'unlimited'.
80546
80547         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80548
80549 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80550
80551         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80552         Add comments for each pending glibc patch.
80553
80554 2005-08-15  Bruno Haible  <bruno@clisp.org>
80555
80556         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80557         __cplusplus is defined.
80558
80559 2005-08-14  Jim Meyering  <jim@meyering.net>
80560
80561         Sync from coreutils.
80562
80563         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80564         Use the hash-table-based cycle-detection code not just when
80565         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80566         Reported by James Youngman in
80567         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80568         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80569         FTS_TIGHT_CYCLE_CHECK.
80570         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80571         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80572         once again.
80573         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80574         * lib/fts.c (fd_safer): Remove decl.
80575         Include fcntl--.h rather than unistd-safer.h
80576         (fts_safe_changedir): Don't call fd_safer; no longer needed
80577         now that we include fcntl--.h.
80578
80579 2005-08-12  Simon Josefsson  <jas@extundo.com>
80580
80581         * modules/getndelim2: Use ssize_t module.
80582         * modules/getnline: Likewise.
80583         * modules/safe-read: Likewise.
80584         * modules/xreadlink: Likewise.
80585
80586         * modules/ssize_t: New file.
80587
80588 2005-08-12  Simon Josefsson  <jas@extundo.com>
80589
80590         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80591
80592 2005-08-12  Simon Josefsson  <jas@extundo.com>
80593
80594         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80595         ssize_t.
80596
80597 2005-08-12  Simon Josefsson  <jas@extundo.com>
80598
80599         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80600         readline, getdelim and check_version.
80601         (Support for systems lacking ISO C 99: Sizes of integer types):
80602         Add size_max.
80603
80604 2005-08-12  Bruno Haible  <bruno@clisp.org>
80605
80606         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80607
80608 2005-08-11  Simon Josefsson  <jas@extundo.com>
80609
80610         * modules/readline: New file.
80611
80612         * modules/strnlen (Files): Add strnlen.h.
80613
80614 2005-08-11  Simon Josefsson  <jas@extundo.com>
80615
80616         * m4/readline.m4: New file.
80617
80618 2005-08-11  Simon Josefsson  <jas@extundo.com>
80619
80620         * lib/readline.h, readline.c: New file.
80621
80622 2005-08-11  Simon Josefsson  <jas@extundo.com>
80623
80624         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80625         gl_AVOID.
80626
80627 2005-08-11  Bruno Haible  <bruno@clisp.org>
80628
80629         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80630
80631 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80632
80633         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80634
80635 2005-08-10  Simon Josefsson  <jas@extundo.com>
80636
80637         * tests/test-iconvme.c: New file.
80638
80639 2005-08-10  Simon Josefsson  <jas@extundo.com>
80640
80641         * m4/strnlen.m4: New file.
80642
80643         * m4/strndup.m4: Don't check for strnlen declaration, done in
80644         strnlen.m4.
80645
80646 2005-08-10  Simon Josefsson  <jas@extundo.com>
80647
80648         * lib/strndup.c: Use strnlen.h.
80649
80650         * lib/strnlen.h: New file.
80651
80652 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80653
80654         * README: Typos.
80655
80656 2005-08-02  Simon Josefsson  <jas@extundo.com>
80657
80658         * modules/readline: New file.
80659
80660 2005-08-02  Simon Josefsson  <jas@extundo.com>
80661
80662         * modules/getdelim: New file.
80663
80664         * modules/getline: Rewrite, don't use getndelim2.
80665
80666 2005-08-02  Simon Josefsson  <jas@extundo.com>
80667
80668         * m4/getline.m4: Separate out getdelim stuff into separate module.
80669
80670         * m4/getdelim.m4: New file.
80671
80672 2005-08-02  Simon Josefsson  <jas@extundo.com>
80673
80674         * lib/getline.h, getline.c: Rewrite.
80675
80676         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80677
80678 2005-07-31  Bruno Haible  <bruno@clisp.org>
80679
80680         * lib/lock.h (gl_lock_initializer): New macro.
80681         (gl_lock_define_initialized): Use it.
80682         (gl_rwlock_initializer): New macro.
80683         (gl_rwlock_define_initialized): Use it.
80684         (gl_recursive_lock_initializer): New macro.
80685         (gl_recursive_lock_define_initialized): Use it.
80686
80687 2005-07-30  Karl Berry  <karl@gnu.org>
80688
80689         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80690         Report from Ben Pfaff, regarding getopt.
80691
80692 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80693
80694         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80695         normal way.
80696         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80697         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80698         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80699         (gl_GETOPT): Use the new macros.  Most of the implementation
80700         is moved to the new macros.  This is for programs like Emacs
80701         that don't want all the functionality of gl_GETOPT.
80702
80703 2005-07-26  Bruno Haible  <bruno@clisp.org>
80704
80705         * m4/lock.m4: Update from GNU gettext.
80706
80707 2005-07-26  Bruno Haible  <bruno@clisp.org>
80708
80709         * lib/lock.h: Update from GNU gettext.
80710         * lib/lock.c: Update from GNU gettext.
80711
80712 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80713
80714         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80715         obsolescent AC_TRY_RUN.  Include the default includes files, for
80716         'exit'.
80717
80718 2005-07-24  Bruno Haible  <bruno@clisp.org>
80719
80720         * modules/visibility: New file.
80721         * MODULES.html.sh (Misc): Add visibility.
80722
80723 2005-07-24  Bruno Haible  <bruno@clisp.org>
80724
80725         * m4/visibility.m4: New file.
80726
80727 2005-07-24  Bruno Haible  <bruno@clisp.org>
80728
80729         * doc/visibility.texi: New file.
80730
80731 2005-07-22  Bruno Haible  <bruno@clisp.org>
80732
80733         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80734         $(ALLOCA_H), redundant through BUILT_SOURCES.
80735         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80736         redundant through BUILT_SOURCES.
80737         * modules/byteswap (Makefile.am): Remove explicit dependency on
80738         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80739         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80740         $(FNMATCH_H), redundant through BUILT_SOURCES.
80741         * modules/getopt (Makefile.am): Remove explicit dependency on
80742         $(GETOPT_H), redundant through BUILT_SOURCES.
80743         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80744         redundant through BUILT_SOURCES.
80745         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80746         redundant through BUILT_SOURCES.
80747         * modules/stdbool (Makefile.am): Remove explicit dependency on
80748         $(STDBOOL_H), redundant through BUILT_SOURCES.
80749         * modules/stdint (Makefile.am): Remove explicit dependency on
80750         $(STDINT_H), redundant through BUILT_SOURCES.
80751         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80752         Remove explicit dependency on $(SYSEXITS_H).
80753         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80754
80755 2005-07-18  Simon Josefsson  <jas@extundo.com>
80756
80757         * lib/check-version.c (check_version): Accept identical versions too.
80758
80759 2005-07-18  Bruno Haible  <bruno@clisp.org>
80760
80761         * modules/lock: New file.
80762         * MODULES.html.sh (Multithreading): New section.
80763
80764 2005-07-18  Bruno Haible  <bruno@clisp.org>
80765
80766         * m4/lock.m4: New file, from GNU gettext.
80767
80768 2005-07-18  Bruno Haible  <bruno@clisp.org>
80769
80770         * lib/lock.h: New file, from GNU gettext.
80771         * lib/lock.c: New file, from GNU gettext.
80772
80773 2005-07-18  Bruno Haible  <bruno@clisp.org>
80774
80775         * lib/lock.h (gl_once_t): New type.
80776         (gl_once_define, gl_once): New macros.
80777         * lib/lock.c (fresh_once): New variable.
80778         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80779         functions.
80780
80781 2005-07-16  Simon Josefsson  <jas@extundo.com>
80782
80783         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80784         workaround, suggested by Bruno.
80785
80786 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80787
80788         * modules/xalloc (Depends-on): Add xalloc-die.
80789         * modules/xvasprintf (Depends-on): Add xalloc-die.
80790
80791 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80792
80793         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80794         with a minor change.
80795
80796 2005-07-15  Bruno Haible  <bruno@clisp.org>
80797
80798         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80799         When using lib/poll.c, define poll as rpl_poll.
80800
80801 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80802
80803         * modules/argp (Depends-on): Remove unlocked-io.
80804
80805 2005-07-14  Derek Price  <derek@ximbiot.com>
80806
80807         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80808         for glob symlink bug.
80809
80810 2005-07-14  Bruno Haible  <bruno@clisp.org>
80811
80812         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80813         Instead, test for *_unlocked function declarations directly.
80814
80815 2005-07-11  Simon Josefsson  <jas@extundo.com>
80816
80817         * modules/size_max: New file.
80818
80819         * modules/xsize: Depend on size_max module for size_max.m4.
80820
80821 2005-07-11  Simon Josefsson  <jas@extundo.com>
80822
80823         * lib/size_max.h: New file.
80824
80825 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80828         copyright symbol and the year.
80829         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80830         (version_etc_va): Use parameterized copyright notice.
80831         Reword to conform to the current GNU coding standards.
80832
80833 2005-07-11  Karl Berry  <karl@gnu.org>
80834
80835         * doc/gnulib.texi (Quoting): new node.
80836         (Initial import): more info, from Patrice.
80837
80838 2005-07-11  Bruno Haible  <bruno@clisp.org>
80839
80840         * gnulib-tool (func_usage): Document option --avoid.
80841         (Command line options): Handle --avoid.
80842         (func_acceptable): New function.
80843         (func_modules_transitive_closure): Use it.
80844
80845 2005-07-11  Bruno Haible  <bruno@clisp.org>
80846
80847         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80848         Reported by Jim Meyering.
80849
80850 2005-07-10  Bruno Haible  <bruno@clisp.org>
80851
80852         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80853         Needed when size_t is smaller than 'unsigned int'.
80854         Reported by Paul Eggert.
80855
80856 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80857
80858         * modules/argp (Depends-on): Add unlocked-io
80859
80860 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80861
80862         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80863         block of defines.
80864
80865 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80866
80867         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80868         fix now.
80869
80870 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80871         and Paul Eggert  <eggert@cs.ucla.edu>
80872
80873         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80874         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80875
80876 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80877
80878         * modules/regex (Files): Add lib/regex_internal.c,
80879         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80880         (Depends-on): Add extensions.
80881         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80882
80883 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80884
80885         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80886         pathconf.
80887         * m4/same.m4 (gl_SAME): Likewise.
80888         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80889
80890         * m4/regex.m4: Adjust to new libc regex implementation.
80891         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80892         all the .c and .h parts of (the new) regex.
80893         Quote the m4 stuff better.
80894         Check for RE_ICASE bug of old gnulib.
80895         Check for REG_STARTEND of recent libc.
80896         Rename local variables from jm_* to gl_*.
80897         Quote operand of "test -f".
80898         Say "recent enough" version of libc, not "version 2".
80899         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80900         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80901         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80902         Remove check for btowc, isascii.
80903         Require AM_LANGINFO_CODESET.
80904
80905 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         * lib/regex.c, regex.h: Sync from libc.
80908         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80909         * lib/regexec.c:
80910         New files, synced from libc, except that regex_internal.h
80911         currently has a small porting fix.
80912
80913 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80914
80915         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80916         regex_internal.c, regexec.c.
80917         Add regex_internal.h too, but as a comment, since the libc version
80918         is currently broken in gnulib mode.
80919
80920 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80921
80922         Support programs like Emacs that use gnulib but not gettext.
80923         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80924         * modules/gettext-h: New file.
80925         * modules/gettext (Files): Remove lib/gettext.h.
80926         (Depends-on): Add gettext-h.
80927         (Makefile.am): Remove lib_SOURCES.
80928         * modules/argmatch, modules/c-stack, modules/closeout:
80929         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80930         * modules/execute, modules/file-type, modules/getaddrinfo:
80931         * modules/getopt, modules/human, modules/javacomp:
80932         * modules/javaexec, modules/mkdir-p, modules/obstack:
80933         * modules/openat, modules/pagealign_alloc, modules/pipe:
80934         * modules/quotearg, modules/regex, modules/rpmatch:
80935         * modules/unicodeio, modules/userspec, modules/version-etc:
80936         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80937         * modules/xsetenv:
80938         Depend on gettext-h, not gettext.
80939
80940 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80941
80942         * gnulib-tool (func_import): Add support for 'public domain' license.
80943         * modules/alloca, modules/atexit, modules/memmove:
80944         Now public domain, not GPL.
80945         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80946         * modules/realloc, modules/strerror, modules/strtod:
80947         Now LGPL, not GPL.
80948
80949 2005-07-05  Bruno Haible  <bruno@clisp.org>
80950
80951         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80952         autoconf CVS. Needed for mingw.
80953
80954 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80955
80956         Remove the dependency of the strftime module on the tzset module.
80957         * modules/strftime (Depends-on): Remove dependency on tzset.
80958
80959 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80960
80961         Remove the dependency of the strftime module on the tzset module.
80962         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80963         gl_FUNC_TZSET_CLOBBER.
80964
80965 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         Remove the dependency of the strftime module on the tzset module.
80968         * lib/strftime.c (my_strftime)
80969         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80970         Copy the input structure, to work around some of the bug with
80971         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80972         Solaris releases, you should also use the tzset module, but we won't
80973         require it as a dependency any more since we don't want LGPLed code
80974         to depend on GPLed code.
80975
80976 2005-07-02  Jim Meyering  <jim@meyering.net>
80977
80978         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80979         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80980         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80981         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80982
80983 2005-07-02  Jim Meyering  <jim@meyering.net>
80984
80985         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80986
80987 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80990         declares only 'struct timespec;' (!).
80991
80992 2005-07-01  Jim Meyering  <jim@meyering.net>
80993
80994         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80995         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80996         * lib/save-cwd.c, tempname.c:
80997         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80998         and don't include <sys/file.h>).
80999
81000 2005-06-29  Jim Meyering  <jim@meyering.net>
81001
81002         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81003         type name.  Use the variable name instead.
81004         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81005         Likewise.
81006
81007 2005-06-28  Simon Josefsson  <jas@extundo.com>
81008
81009         * modules/check-version (Files): Add check-version.m4.
81010
81011 2005-06-28  Simon Josefsson  <jas@extundo.com>
81012
81013         * m4/check-version.m4: New file, suggested by Jim Meyering
81014         <jim@meyering.net>.
81015
81016 2005-06-28  Simon Josefsson  <jas@extundo.com>
81017
81018         * lib/check-version.h, lib/check-version.c: New files.
81019
81020 2005-06-28  Simon Josefsson  <jas@extundo.com>
81021
81022         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81023         collision with global variable.  Better indentation.  Don't
81024         increment buffer pointer beyond buffer end.  Based on comments
81025         from Paul Eggert <eggert@cs.ucla.edu>.
81026
81027         * lib/base64.h: Indent.
81028
81029 2005-06-28  Simon Josefsson  <jas@extundo.com>
81030
81031         * doc/gnulib.texi (Library version handling): New section.
81032
81033 2005-06-28  Jim Meyering  <jim@meyering.net>
81034
81035         * check-module (find_included_lib_files): Hard-code another
81036         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81037         but modules/fts-lgpl (correctly) does not list those files.
81038
81039         * modules/canonicalize (Files): Add lib/pathmax.h.
81040
81041 2005-06-25  Simon Josefsson  <jas@extundo.com>
81042
81043         * modules/check-version: New file.
81044
81045 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81046
81047         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81048         initializer of struct addrinfo, as an indication that we don't
81049         care how many members the structure has.
81050
81051 2005-06-24  Derek Price  <derek@ximbiot.com>
81052         and Bruno Haible  <bruno@clisp.org>
81053
81054         Remove stat module & update lstat.
81055         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81056         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81057         * m4/stat.m4: Remove this file.
81058
81059 2005-06-24  Derek Price  <derek@ximbiot.com>
81060         and Bruno Haible  <bruno@clisp.org>
81061
81062         Remove stat module & update lstat.
81063         * lib/stat.c: Remove this file...
81064         (slash_aware_lstat): ...moving this content and its support...
81065         * lib/lstat.c (rpl_lstat): ...into here.
81066         * lib/lstat.h: New file.
81067
81068 2005-06-24  Derek Price  <derek@ximbiot.com>
81069         and Bruno Haible  <bruno@clisp.org>
81070
81071         Remove stat module & update lstat.
81072         * config/srclist.txt (libc sources): Remove stat.
81073
81074 2005-06-24  Derek Price  <derek@ximbiot.com>
81075         and Bruno Haible  <bruno@clisp.org>
81076
81077         Remove stat module & update lstat.
81078         * MODULES.html.sh (stat): Remove.
81079         * MODULES.html: Regenerated.
81080         * modules/lstat (Description): Correct function name.
81081         (Files): Add "lstat.h".
81082         (Depends-on): Remove stat, add xalloc, stat-macros.
81083         * modules/stat: Remove this file.
81084         (Include): Add "lstat.h", remove <sys/stat.h>.
81085
81086 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81087
81088         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81089         (ranged_convert): Don't save conversion in a temporary struct.
81090         This causes a warning with GCC 4.0.0, and anyway in the typical
81091         case it's not worth the extra 100 bytes or so of code.
81092         (ranged_convert, __mktime_internal): When calling a function via a
81093         pointer P, use P () rather than (*P) (), as we now assume C89 or
81094         better.
81095
81096 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81097
81098         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81099         "who -r" failed to give output.  Problem reported by Tim Waugh.
81100
81101         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81102         (xcalloc): Use it to avoid needless tests.
81103         Problem reported by Jim Meyering.
81104
81105 2005-06-20  Derek Price  <derek@ximbiot.com>
81106
81107         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81108         unnecessary for Autoconfs > 2.59c.
81109
81110 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81111
81112         * lib/argp.h (__option_is_short): Check upper limit of
81113         __key. Isprint() requires its argument to have the value
81114         of an unsigned char or EOF.
81115
81116 2005-06-16  Jim Meyering  <jim@meyering.net>
81117
81118         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81119         when either N or S is zero.
81120
81121 2005-06-16  Derek Price  <derek@ximbiot.com>
81122
81123         * m4/bison.m4: Declare YACC & YFLAGS precious.
81124
81125 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81126
81127         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81128         multibyte string or pattern, fall back on unibyte matching.
81129         Problem reported by James Youngman.
81130
81131 2005-06-08  Bruno Haible  <bruno@clisp.org>
81132
81133         * modules/csharpcomp: New file.
81134         * MODULES.html.sh (C#): Add csharpcomp.
81135
81136 2005-06-08  Bruno Haible  <bruno@clisp.org>
81137
81138         * m4/csharpcomp.m4: New file, from GNU gettext.
81139
81140 2005-06-08  Bruno Haible  <bruno@clisp.org>
81141
81142         * lib/csharpcomp.h: New file, from GNU gettext.
81143         * lib/csharpcomp.c: New file, from GNU gettext.
81144         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81145
81146 2005-06-08  Bruno Haible  <bruno@clisp.org>
81147
81148         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81149         warning on mingw.
81150
81151 2005-06-07  Derek Price  <derek@ximbiot.com>
81152
81153         Sync from CVS.
81154         * lib/glob_.h: Indent nested #ifdef.
81155
81156 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81157
81158         Sync from coreutils.
81159         Use "file name" when talking about file names, instead of "filename"
81160         or "path", as per the GNU coding standards.
81161         * lib/mkdir-p.c: Renamed from makepath.c.
81162         (make_dir_parents): Renamed from make_path.  All callers changed.
81163         * lib/mkdir-p.h: Likewise.  All includers changed.
81164         * lib/filenamecat.c: Renamed from path-concat.c.
81165         (file_name_concat): Renamed from path_concat.  All callers changed.
81166         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81167         * lib/filenamecat.h: Likewise.  All includers changed.
81168         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81169         in comments or local variable names.
81170         * lib/basename.c: Likewise.
81171         * lib/canonicalize.c, canonicalize.h: Likewise.
81172         * lib/dirname.c, dirname.h: Likewise.
81173         * lib/euidaccess.c: Likewise.
81174         * lib/exclude.c: Likewise
81175         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81176         * lib/fsusage.c, fsuage.h: Likewise.
81177         * lib/fts.c, fts_.h: Likewise.
81178         * lib/getcwd.c: Likewise.
81179         * lib/getloadavg.c: Likewise.
81180         * lib/mkstemp.c: Likewise.
81181         * lib/mountlist.c, mountlist.h: Likewise.
81182         * lib/openat.c, openat.h: Likewise.
81183         * lib/readlink-stub.c: Likewise.
81184         * lib/readutmp.c, readutmp.h: Likewise.
81185         * lib/rename.c: Likewise.
81186         * lib/rmdir.c: Likewise.
81187         * lib/same.c: Likewise.
81188         * lib/savedir.c: Likewise.
81189         * lib/stripslash.c: Likewise.
81190         * lib/tempname.c: Likewise.
81191         * lib/xreadlink.c: Likewise.
81192         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81193         All uses changed.
81194         * lib/exclude.h: Likewise.
81195
81196         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81197         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81198         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81199         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81200         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81201         files have been getting away with it for years (MORE/BSD 4.3
81202         is extinct now).
81203         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81204         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81205
81206         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81207         Define to 256, not 255, as per modern POSIX.
81208
81209 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81210
81211         Sync from coreutils.
81212         Use "file name" when talking about file names, instead of "filename"
81213         or "path", as per the GNU coding standards.
81214         * MODULES.html.sh: mkdir-p renamed from makepath.
81215         filenamecat renamed from path-concat.
81216         * modules/filenamecat: Renamed from modules/path-concat.
81217         (Files): filenamecat.h and filenamecat.c renamed from
81218         path-concat.h and path-concat.c.
81219         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81220         (Include): filenamecat.h, not path-concat.h.
81221         * modules/mkdir-p: Renamed from modules/makepath.
81222         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81223         makepath.c.
81224         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81225         (Include): mkdir-p.h, not makepath.h.
81226
81227 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81228
81229         Sync from coreutils.
81230         * m4/mkdir-p.m4: Renamed from makepath.m4.
81231         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81232         Rename files from makepath.c to mkdir-p.c, and from
81233         makepath.h to mkdir-p.h.
81234         * m4/filenamecat.m4: Renamed from path-concat.m4.
81235         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81236         Rename files from path-concat.c to filenamecat.c,
81237         and from path-concat.h to filenamecat.h.
81238         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81239         "file name" in local variables or comments.
81240         * m4/rename.m4: Likewise.
81241
81242 2005-06-01  Bruno Haible  <bruno@clisp.org>
81243
81244         * modules/csharpexec: New file.
81245         * MODULES.html.sh (C#): New section.
81246
81247 2005-06-01  Bruno Haible  <bruno@clisp.org>
81248
81249         * m4/csharp.m4: New file, from GNU gettext.
81250         * m4/csharpexec.m4: New file, from GNU gettext.
81251
81252 2005-06-01  Bruno Haible  <bruno@clisp.org>
81253
81254         * lib/csharpexec.h: New file, from GNU gettext.
81255         * lib/csharpexec.c: New file, from GNU gettext.
81256         * lib/csharpexec.sh.in: New file, from GNU gettext.
81257
81258 2005-05-31  Derek Price  <derek@ximbiot.com>
81259             Paul Eggert  <eggert@cs.ucla.edu>
81260
81261         Sync from cvs.
81262         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81263
81264 2005-05-31  Derek Price  <derek@ximbiot.com>
81265             Paul Eggert  <eggert@cs.ucla.edu>
81266
81267         Sync from cvs.
81268         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81269
81270 2005-05-29  Derek Price  <derek@ximbiot.com>
81271
81272         * config/srclist.txt (glob_.h, glob.c): Add these files.
81273
81274 2005-05-29  Derek Price  <derek@ximbiot.com>
81275
81276         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81277         * modules/glob: New file.
81278         * modules/getlogin_r: Add link to POSIX spec in description.
81279
81280 2005-05-29  Derek Price  <derek@ximbiot.com>
81281             Paul Eggert  <eggert@cs.ucla.edu>
81282
81283         * m4/glob.m4: New file.
81284
81285 2005-05-29  Derek Price  <derek@ximbiot.com>
81286             Paul Eggert  <eggert@cs.ucla.edu>
81287
81288         * lib/glob_.h, lib/glob.c: New files.
81289
81290 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81291
81292         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81293         * modules/fts-lgpl (Depends-on): Remove gettext.
81294
81295 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81296
81297         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81298         and don't require gt_INTTYPES_PRI.
81299
81300 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81301
81302         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81303
81304         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81305         the configuration hassle isn't worth it.
81306         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81307         (LONGEST_MODIFIER, PRIuMAX): Remove.
81308
81309 2005-05-27  Bruno Haible  <bruno@clisp.org>
81310
81311         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81312
81313 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81314
81315         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81316         _POSIX_PTHREAD_SEMANTICS for Solaris.
81317
81318 2005-05-25  Derek Price  <derek@ximbiot.com>
81319
81320         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81321
81322 2005-05-25  Derek Price  <derek@ximbiot.com>
81323             Paul Eggert  <eggert@cs.ucla.edu>
81324
81325         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81326         * lib/getlogin_r.c, getlogin_r.h: New files.
81327
81328 2005-05-25  Bruno Haible  <bruno@clisp.org>
81329             Derek Price  <derek@ximbiot.com>
81330
81331         * lib/getlogin_r.h: Simplify API documentation.
81332
81333 2005-05-23  Derek Price  <derek@ximbiot.com>
81334
81335         * modules/minmax (Files): Add m4/minmax.m4.
81336         (configure.ac): Add gl_MINMAX.
81337
81338 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81341         so that unistd-safer.h (GPL'ed code) need not be included.
81342
81343 2005-05-22  Bruno Haible  <bruno@clisp.org>
81344
81345         * m4/minmax.m4: New file.
81346         Based on a patch by Derek Price <derek@ximbiot.com>.
81347
81348 2005-05-22  Bruno Haible  <bruno@clisp.org>
81349
81350         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81351         (INT64_MIN): Fix definition.
81352         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81353
81354         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81355         NEED_SIGNED_INT_TYPES.
81356
81357         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81358         HAVE_SYSTEM_INTTYPES.
81359
81360 2005-05-22  Bruno Haible  <bruno@clisp.org>
81361
81362         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81363         Also include <sys/param.h> if it defines MIN, MAX.
81364         Based on a patch by Derek Price <derek@ximbiot.com>.
81365
81366 2005-05-21  Jim Meyering  <jim@meyering.net>
81367
81368         * modules/fts (Files): Add m4/inttypes-pri.m4.
81369         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81370
81371 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         New fts module.
81374         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81375         (setup_dir, free_dir): New functions.
81376         (enter_dir, leave_dir): Define trivial
81377         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81378         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81379         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81380         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81381         Move to fts-cycle.c.
81382         (fts_open): Use setup_dir.
81383         (fts_close): Use free_dir.
81384         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81385         This adds a label and some gotos, but the alternatives were messier.
81386         Check for memory allocation failure when entering a dir.
81387         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81388         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81389         (FTS): New member fts_cycle, that is a union that contains the
81390         old active_dir_ht and cycle_state.  All uses changed to mention
81391         fts_cycle.ht and fts_cycle.state.
81392         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81393         fts.c, with the following changes:
81394         (setup_dir, free_dir): New functions.
81395         (enter_dir): Now returns bool.  Return true if successful, false
81396         if memory exhausted.  All callers changed.
81397         Do not bother partly cleaning up on
81398         memory allocation failure; that is free_dir's job.
81399         However, free ad if hash_insert fails, to avoid memory leak.
81400         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81401         fts->fts_options to see which union member to use.
81402
81403 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81404
81405         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81406         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81407
81408 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81409
81410         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81411
81412 2005-05-20  Jim Meyering  <jim@meyering.net>
81413
81414         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81415         Now a macro, to pacify GCC.
81416
81417 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81418
81419         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81420         of -1.
81421
81422 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81423
81424         * lib/chown.c (rpl_chown): Return -1 on failure.
81425
81426 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81427
81428         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81429         Don't check for stddef.h.
81430         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81431         don't use its results.
81432         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81433         since we include them unconditionally.  Don't require
81434         AM_STDBOOL_H, since stdbool is a prerequisite.
81435         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81436         since we assume C89 or better.
81437         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81438         as we don't use their results.
81439         Don't check for fchdir, memmove, memset, strrchr, as we use
81440         them unconditionally.
81441         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81442         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81443
81444 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81445
81446         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81447         Include <stddef.h> unconditionally, since we assume C89 now.
81448         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81449         * lib/fts.c: Include fts_.h first, to check interface.
81450         Do not include intprops.h; no longer needed.
81451         Include cycle-check.h and hash.h, since fts_.h no longer does.
81452         Remove unnecessary casts of closedir to void.
81453         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81454         decide whether to decrement nlinks.
81455         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81456         (FTS): Use struct hash_table * instead of Hash_table, so that
81457         we no longer need to include hash.h here.
81458
81459 2005-05-18  Jim Meyering  <jim@meyering.net>
81460
81461         * modules/dirfd (License): Change to LGPL.  Most of the code
81462         is already in the public domain.
81463
81464 2005-05-18  Jim Meyering  <jim@meyering.net>
81465
81466         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81467         Reported by Yoann Vandoorselaere.
81468
81469 2005-05-17  Jim Meyering  <jim@meyering.net>
81470
81471         * m4/fts.m4: New file, from coreutils.
81472
81473 2005-05-17  Jim Meyering  <jim@meyering.net>
81474
81475         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81476
81477 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81478
81479         Sync from coreutils.
81480         * m4/unlinkdir.m4: New file.
81481
81482 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81483
81484         Sync from coreutils.
81485         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81486         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81487         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81488         White space changes only.
81489         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81490         special.
81491         * lib/yesno.c: Include getline.h, not ctype.h.
81492         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81493         Use getline to remove arbitrary restriction on response length.
81494
81495 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81496
81497         * config/srclist-update: Spell out "Street" in FSF postal
81498         mail address; this is the style the FSF seems to prefer.
81499
81500         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81501         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81502         this updates FSF postal mail address.
81503
81504         Sync from coreutils.
81505         * modules/unlinkdir: New file.
81506         * modules/yesno (Depends-on): Add getline.
81507         * MODULES.html.sh (File system functions): Add unlinkdir.
81508
81509 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81510
81511         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81512         lib/strsep.h:
81513         Change the initial comment to refer to GPL, not LGPL.
81514         gnulib-tool will change it to LGPL as needed.
81515
81516         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81517         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81518         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81519         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81520         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81521         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81522         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81523         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81524         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81525         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81526         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81527         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81528         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81529         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81530         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81531         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81532         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81533         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81534         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81535         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81536         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81537         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81538         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81539         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81540         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81541         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81542         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81543         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81544         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81545         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81546         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81547         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81548         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81549         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81550         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81551         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81552         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81553         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81554         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81555         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81556         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81557         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81558         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81559         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81560         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81561         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81562         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81563         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81564         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81565         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81566         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81567         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81568         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81569         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81570         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81571         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81572         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81573         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81574         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81575         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81576         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81577         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81578         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81579         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81580         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81581         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81582         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81583         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81584         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81585         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81586         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81587         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81588         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81589         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81590         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81591         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81592         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81593         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81594         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81595         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81596         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81597         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81598         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81599         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81600         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81601         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81602         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81603         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81604         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81605         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81606         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81607         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81608         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81609         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81610         lib/yesno.c, lib/yesno.h:
81611         Update FSF postal mail address.
81612
81613 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81614
81615         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81616         tests/test-memmem.c, tests/test-stpncpy.c:
81617         Update FSF postal mail address.
81618
81619 2005-05-13  Bruno Haible  <bruno@clisp.org>
81620
81621         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81622         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81623         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81624         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81625         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81626         Add support for 64-bit integers in the MSVC compiler.
81627
81628 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81629
81630         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81631
81632 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81633
81634         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81635
81636 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81637
81638         * doc/getdate.texi (General date syntax): Don't say that date
81639         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81640         Problem reported by Nic Ferrier.
81641
81642 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81643
81644         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81645         specified in ai_socktype. Fix invalid ai_protocol
81646         check. ai_protocol is usually set to 0 or depending on
81647         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81648         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81649         ai_socktype / ai_protocol in the returned addrinfo structure.
81650
81651 2005-05-10  Simon Josefsson  <jas@extundo.com>
81652
81653         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81654         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81655
81656 2005-05-10  Karl Berry  <karl@gnu.org>
81657
81658         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81659         (from http://www.gnu.org/licenses).
81660         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81661         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81662         fdl.texi suffices.
81663
81664 2005-05-10  Karl Berry  <karl@gnu.org>
81665
81666         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81667         (COPYING.DOC): remove.
81668
81669         * config/srclist-update: new FSF address.
81670
81671 2005-05-10  Derek Price  <derek@ximbiot.com>
81672
81673         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81674         possible.
81675
81676 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81677             Bruno Haible  <bruno@clisp.org>
81678
81679         * modules/inet_ntop: New file.
81680         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81681         inet_ntop.
81682
81683 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81684             Bruno Haible  <bruno@clisp.org>
81685
81686         * m4/inet_ntop.m4: New file.
81687
81688 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81689             Bruno Haible  <bruno@clisp.org>
81690
81691         * lib/inet_ntop.h: New file.
81692         * lib/inet_ntop.c: New file, from glibc with modifications.
81693
81694 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81695
81696         * modules/time_r (License): Change to LGPL.
81697         * modules/extensions (License): Change to LGPL.  Actually,
81698         the license is more permissive than that, but currently gnulib-tool
81699         doesn't know how to handle more-permissive licenses.
81700
81701         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81702         Problem reported by Dave Love.
81703
81704 2005-05-08  Jim Meyering  <jim@meyering.net>
81705
81706         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81707         blank.
81708
81709 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81710
81711         * modules/argmatch (Depends-on): Add stdbool.
81712         * modules/backupfile (Depends-on): Likewise.
81713         * modules/chdir-long (Depends-on): Likewise.
81714         * modules/closeout (Depends-on): Likewise.
81715         * modules/cycle-check (Depends-on): Likewise.
81716         * modules/dirname (Depends-on): Likewise.
81717         * modules/fnmatch (Depends-on): Likewise.
81718         * modules/fsusage (Depends-on): Likewise.
81719         * modules/fwriteerror (Depends-on): Likewise.
81720         * modules/getcwd (Depends-on): Likewise.
81721         * modules/getloadavg (Depends-on): Likewise.
81722         * modules/hard-locale (Depends-on): Likewise.
81723         * modules/makepath (Depends-on): Likewise.
81724         * modules/mountlist (Depends-on): Likewise.
81725         * modules/nanosleep (Depends-on): Likewise.
81726         * modules/posixtm (Depends-on): Likewise.
81727         * modules/quotearg (Depends-on): Likewise.
81728         * modules/readtokens (Depends-on): Likewise.
81729         * modules/readtokens0 (Depends-on): Likewise.
81730         * modules/readutmp (Depends-on): Likewise.
81731         * modules/save-cwd (Depends-on): Likewise.
81732         * modules/strftime (Depends-on): Likewise.
81733         * modules/userspec (Depends-on): Likewise.
81734         * modules/utimecmp (Depends-on): Likewise.
81735         * modules/xgetcwd (Depends-on): Likewise.
81736         * modules/xnanosleep (Depends-on): Likewise.
81737         * modules/xstrtod (Depends-on): Likewise.
81738         * modules/yesno (Depends-on): Likewise.
81739
81740 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81741
81742         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81743         needless checks.
81744
81745 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81746
81747         Merge from coreutils.  Among other things,
81748         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81749         * lib/fd-safer.c: New file.
81750         * lib/fcntl-safer.h, open-safer.c: Remove.
81751         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81752         * lib/dup-safer.c: Include unistd-safer.h first.
81753         Don't include errno.h.
81754         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81755         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81756         * lib/file-type.c: Rely on file-type.h change.
81757         * lib/getloadavg.c: Include unistd-safer.h.
81758         (getloadavg): Use safer open.
81759         * lib/getusershell.c: Include "stdio-safer.h".
81760         (getusershell): Use safer fopen.
81761         * lib/long-options.c (long_options): Use NULL rather than 0.
81762         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81763         'free'.
81764         * lib/modechange.c: Likewise.
81765         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81766         (MODE_DONE): New constant.
81767         (struct mode_change): Remove 'next' member.
81768         (make_node_op_equals): New function; like the old one of the
81769         same name, except it allocates an array.
81770         (mode_compile, mode_create_from_ref): Use it.
81771         (mode_compile): Allocate result as an array, not a linked list.
81772         Parse octal string ourself, so that we catch mistakes like "+0".
81773         (mode_adjust): Arg is an array, not a linked list.
81774         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81775         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81776         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81777         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81778         Remove.  This is now stat-macros.h's job.
81779         (talloc): Remove.  All callers replaced by xalloc, so that
81780         our invokers don't have to worry about reporting memory failures.
81781         (make_node_op_equals): Remove.
81782         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81783         New constants.
81784         (struct mode_change): Moved here from modechange.h.
81785         (mode_append_entry): Remove.
81786         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81787         apps to have incorrect behavior.  Use simpler algorithm for head
81788         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81789         Detect more invalid usages rather than having somewhat-random behavior.
81790         Don't insert an "a=" action, as that leads to incorrect behavior.
81791         (mode_compile, mode_create_from_ref): Return NULL on error instead
81792         of an enum, since now there's only one way to have an error.  All
81793         callers changed.
81794         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81795         at the correct time.  Simplify calculation of "+u" and its ilk.
81796         Don't mishandle "+X".
81797         (mode_free): Remove "register" and localize decls.
81798         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81799         (struct mode_change): Move to modechange.c; callers don't
81800         need to see this stuff.
81801         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81802         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81803         (mode_change, mode_adjust): Reflect the new signatures noted above.
81804         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81805         that might redefine system include files.
81806         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81807         (my_usleep): Use NULL rather than (void *) 0.
81808         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81809         Use siginterrupt to specify that system calls should be interrupted.
81810         (rpl_nanosleep): Move initialization of suspended closer to call of
81811         my_usleep.
81812         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81813         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81814         (desirable_utmp_entry): New function.
81815         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81816         using x2nrealloc, to simplify logic.
81817         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81818         size calculation.  Do not assume utmp file is a regular file.
81819         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81820         (READ_UTMP_CHECK_PIDS): New constant.
81821         * lib/save-cwd.c: Include unistd-safer.h.
81822         (save_cwd): Use fd_safer.
81823         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81824         [!_LIBC] Include "stat-macros.h" instead.
81825         * lib/unistd-safer.h (fd_safer): New decl.
81826
81827 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81828
81829         * modules/getloadavg (Depends-on): Add unistd-safer.
81830         * modules/getusershell (Depends-on): Add stdio-safer.
81831         * modules/lstat (Depends-on): Remove xalloc.
81832         * modules/mkstemp (Depends-on): Add stat-macros.
81833         * modules/modechange (Depends-on): Remove xstrtol.
81834         Add stat-macros, xalloc.
81835         * modules/save-cwd (Depends-on): Add unistd-safer.
81836         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81837         * modules/unistd-safer (Files): Add lib/fd-safer.c
81838         (Makefile.am): Remove lib_SOURCES.
81839
81840         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81841         Remove fcntl-safer; unistd-safer supersedes it.
81842
81843 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81844
81845         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81846         AC_HEADER_STAT.
81847         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81848         (gl_PREREQ_CHOWN): Remove.
81849         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81850         it.  Don't require AC_HEADER_STAT.
81851         (gl_PREREQ_LSTAT): Remove.
81852         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81853         Don't require AC_HEADER_STAT.
81854         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81855         (gl_PREREQ_RMDIR): Remove.
81856         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81857         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81858         the stat-macros module a prerequisite.
81859         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81860         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81861         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81862         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81863         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81864         variable names.
81865         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81866         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81867         variable prefixes.
81868         * m4/fcntl-safer.m4: Remove.
81869         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81870         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81871         Invoke gl_PREREQ_FD_SAFER.
81872         (gl_PREREQ_FD_SAFER): New macro.
81873         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81874         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81875         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81876         Remove duplicate call to AC_LIBOBJ(readutmp).
81877         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81878
81879         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81880         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81881
81882 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81883
81884         * MODULES.html.sh (Misc): Add byteswap.
81885
81886 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81887
81888         * modules/getcwd (Depends-on): Add extensions.
81889         * modules/openat (Depends-on): Likewise.
81890
81891 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81892
81893         * modules/byteswap: New file.
81894
81895 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81896
81897         * m4/byteswap.m4: New file.
81898
81899 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81900
81901         * lib/byteswap_.h: New file.
81902
81903 2005-04-25  Karl Berry  <karl@gnu.org>
81904
81905         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81906
81907 2005-04-25  Albert Chin  <china@thewrittenword.com>
81908
81909         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81910         Toolkit C bug.
81911
81912 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81913
81914         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81915         (func_ln_if_changed): Remove forcibly for no error message
81916         in case file does not exist.
81917
81918 2005-04-19  Simon Josefsson  <jas@extundo.com>
81919
81920         * gnulib-tool (Options): Make --symlink mean --symbolic.
81921
81922 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81923
81924         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81925
81926 2005-04-16  Simon Josefsson  <jas@extundo.com>
81927
81928         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81929
81930 2005-04-15  Simon Josefsson  <jas@extundo.com>
81931
81932         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81933
81934 2005-04-15  Simon Josefsson  <jas@extundo.com>
81935
81936         * gnulib-tool: Rename --symlink to --symbolic.
81937
81938 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81939
81940         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81941         symbolic links to files instead of copying/moving.  Add --aux-dir,
81942         specifying directory relative --dir where auxiliary build tools
81943         are placed.
81944
81945 2005-04-14  Bruno Haible  <bruno@clisp.org>
81946
81947         * modules/allocsa (License): Change to LGPL.
81948         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81949
81950 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81951
81952         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81953         that "UTC +1 second" continues to work.  Problem reported
81954         by Dmitry V. Levin.
81955         (relunit_snumber): New rule.
81956         (relunit): Use it.
81957
81958 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81959
81960         * lib/getdate.y (universal_time_zone_table): New constant.
81961         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81962         universal_time_zone_table.
81963         (lookup_zone): Prefer universal_time_zone_table to
81964         local_time_zone_table, so that "GMT" time stamps are allowed in
81965         London during the summer.  Problem reported by Ian Abbott.
81966
81967 2005-04-12  Jim Meyering  <jim@meyering.net>
81968
81969         * lib/human.c (humblock): Set *options even when returning due to
81970         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81971         warning from gcc-4.
81972
81973 2005-04-09  Jim Meyering  <jim@meyering.net>
81974
81975         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81976         -Wuninitialized: initialize tm0.tm_year.
81977
81978 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81979
81980         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81981         count, since there's no maximum.  All uses changed.
81982         Add member dsts_seen.
81983         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81984         not being INT_MAX.
81985         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81986         Use pc_rels_seen to decide whther a date is absolute.
81987
81988         * lib/getdate.y (number): Don't overwrite year.
81989         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81990         check.
81991
81992 2005-04-02  Simon Josefsson  <jas@extundo.com>
81993
81994         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81995         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81996
81997 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81998
81999         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82000         where no absolute path name can be longer than PATH_MAX.
82001
82002 2005-03-27  Jim Meyering  <jim@meyering.net>
82003
82004         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82005
82006 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82007
82008         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82009         "one's complement" -> "ones' complement" in comment, as per Knuth.
82010         "value of type" -> "type or expression" in comment.
82011         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82012
82013 2005-03-26  Jim Meyering  <jim@meyering.net>
82014
82015         Comment nits.
82016         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82017         Correct typos: s/or/of/.
82018
82019 2005-03-26  Jim Meyering  <jim@meyering.net>
82020
82021         * modules/check-include-files: Move to ../ and rename to...
82022         * check-module: ...this.
82023
82024 2005-03-25  Jim Meyering  <jim@meyering.net>
82025
82026         * modules/xvasprintf (Files): Add xalloc.h.
82027
82028 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82029
82030         * modules/gettext (Files): config/config.rpath ->
82031         build-aux/config.rpath
82032         * modules/iconv (Files): Likewise.
82033         Problem reported by Oskar Liljeblad.
82034
82035 2005-03-23  Jim Meyering  <jim@meyering.net>
82036
82037         * modules/check-include-files: New script to check for
82038         missing dependencies, multiple includes, etc.
82039
82040         * modules/c-strtold (Depends-on): Add xalloc.
82041         * modules/c-strtod (Depends-on): Add xalloc.
82042         * modules/hash (Depends-on): Add xalloc.
82043         (Files): Remove lib/xalloc.h.
82044
82045         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82046         * modules/userspec (Files): Add lib/inttostr.h.
82047
82048 2005-03-23  Jim Meyering  <jim@meyering.net>
82049
82050         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82051
82052 2005-03-22  Jim Meyering  <jim@meyering.net>
82053
82054         * modules/stat-macros: New module.
82055         * modules/canonicalize, modules/euidaccess, modules/file-type,
82056         * modules/filemode, modules/lchown, modules/makepath,
82057         * modules/rmdir, modules/stat: Depend on new stat-macros module
82058         rather than listing lib/stat-macros.h manually.
82059         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82060
82061 2005-03-22  Jim Meyering  <jim@meyering.net>
82062
82063         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82064
82065 2005-03-22  Bruno Haible  <bruno@clisp.org>
82066
82067         * config/srclist.txt: Replace target directory 'config' with
82068         'build-aux'.
82069         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82070         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82071         ../build-aux/.
82072
82073 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82074
82075         * modules/chdir-long (Depends-on): Add mempcpy.
82076
82077         * modules/acl, modules/backupfile, modules/c-strtod,
82078         modules/c-strtold, modules/canon-host, modules/canonicalize,
82079         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82080         modules/exclude, modules/exitfail, modules/file-type,
82081         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82082         modules/getdate, modules/getline, modules/getpagesize,
82083         modules/getpass, modules/getugroups, modules/group-member,
82084         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82085         modules/inttostr, modules/long-options, modules/makepath,
82086         modules/md5, modules/memcasecmp, modules/memcoll,
82087         modules/modechange, modules/mountlist, modules/path-concat,
82088         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82089         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82090         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82091         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82092         modules/strftime, modules/strndup, modules/strverscmp,
82093         modules/timespec, modules/unlocked-io, modules/userspec,
82094         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82095         modules/yesno:
82096         Remove lib_SOURCES line from Makefile.am section, as this is now
82097         done automatically by the corresponding Autoconf macro.
82098
82099 2005-03-21  Jim Meyering  <jim@meyering.net>
82100
82101         Changes imported from coreutils.
82102
82103         * lib/cycle-check.c: Don't include xalloc.h.
82104
82105         * lib/path-concat.c: Don't include assert.h.
82106         (path_concat): Remove assertion that would have triggered
82107         for ABASE starting with more than one slash.
82108         Reported by Andreas Schwab.
82109
82110         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82111         properly when ABASE is an absolute file name.
82112         Correct the description of this function.
82113         Include <assert.h>.
82114         Add an assertion and a test driver.
82115         This fixes a bug introduced on 2004-07-02.
82116         Andreas Schwab reported the resulting failure of cp --parents:
82117         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82118
82119 2005-03-21  Jim Meyering  <jim@meyering.net>
82120
82121         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82122         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82123
82124 2005-03-21  Jim Meyering  <jim@meyering.net>
82125         and  Paul Eggert  <eggert@cs.ucla.edu>
82126
82127         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82128         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82129         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82130         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82131         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82132         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82133         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82134         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82135         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82136         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82137         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82138         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82139         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82140         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82141         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82142         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82143         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82144         for these modules.
82145
82146 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82147
82148         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82149         (which shouldn't happen), generate nothing instead of returning 0
82150         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82151
82152 2005-03-16  Bruno Haible  <bruno@clisp.org>
82153
82154         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82155         HAVE_LONGLONG_64BIT.
82156
82157 2005-03-16  Bruno Haible  <bruno@clisp.org>
82158
82159         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82160         HAVE_LONGLONG_64BIT.
82161
82162 2005-03-16  Bruno Haible  <bruno@clisp.org>
82163
82164         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82165         HAVE_LONGLONG_64BIT.
82166
82167 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82168
82169         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82170         reliably distinguish strftime failure from empty output on POSIX
82171         hosts.
82172
82173 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82174
82175         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82176         (iconv_string): Don't guess a size-zero buffer, as that might cause
82177         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82178         result would be 'too large', where 'too large' is (heuristically)
82179         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82180         overflow concerns.  This will prevent some unwanted malloc failures
82181         when the inputs are very large.
82182
82183 2005-03-15  Karl Berry  <karl@gnu.org>
82184
82185         * config/srclist.txt (config.rpath): from gettext.
82186         * config/config.rpath: update.
82187
82188 2005-03-15  Bruno Haible  <bruno@clisp.org>
82189
82190         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82191         to 'negate'.
82192
82193         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82194         variable.
82195
82196         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82197         results.
82198
82199 2005-03-14  Simon Josefsson  <jas@extundo.com>
82200
82201         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82202         <fx@gnu.org>.
82203
82204 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82205
82206         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82207         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82208         intprops.h.
82209         * lib/strtol.c: Likewise.
82210
82211 2005-03-14  Jim Meyering  <jim@meyering.net>
82212
82213         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82214         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82215         to be nonzero so that we (and caller) can detect the difference
82216         between a valid zero-length expansion and an error return, even
82217         when the underlying strftime fails before writing anything into
82218         that location.
82219
82220 2005-03-14  Bruno Haible  <bruno@clisp.org>
82221
82222         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82223         Update from GNU gettext 0.14.3.
82224
82225 2005-03-10  Jim Meyering  <jim@meyering.net>
82226
82227         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82228
82229 2005-03-10  Jim Meyering  <jim@meyering.net>
82230
82231         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82232         so that this module works on systems without fchdir.
82233
82234 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         Factor int-properties macros into a single file, except for
82237         glibc-related files.
82238         * lib/intprops.h: New file.
82239         * lib/getloadavg.c: Include it instead of limits.h.
82240         (INT_STRLEN_BOUND): Remove.
82241         * lib/human.c: Include intprops.h.
82242         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82243         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82244         302/1000.
82245         * lib/inttostr.h: Include intprops.h instead of limits.h.
82246         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82247         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82248         for consistency with intprops.h.
82249         (time_t_is_integer, twos_complement_arithmetic): Use them.
82250         * lib/sig2str.h: Include <signal.h>, intprops.h.
82251         (INT_STRLEN_BOUND): Remove.
82252         * lib/strftime.c (TYPE_SIGNED): Remove.
82253         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82254         * lib/strtol.c: Adjust comments to match intprops.h.
82255         * lib/userspec.c: Include intprops.h.
82256         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82257         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82258         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82259         instead of rolling our own expressions.
82260         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82261
82262         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82263         instead of int.
82264         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82265         the right thing even if adding 1900 would overflow.  Similarly
82266         for tm_mon + 1 and tm_yday + 1.
82267         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82268         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82269         (DO_SIGNED_NUMBER): New macro.
82270         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82271
82272 2005-03-07  Bruno Haible  <bruno@clisp.org>
82273
82274         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82275
82276 2005-03-07  Bruno Haible  <bruno@clisp.org>
82277
82278         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82279
82280 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82281
82282         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82283         (func_import): Only replace files via --import when they have actually
82284         changed.
82285
82286 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82287
82288         * m4/mmap-anon.m4: New file.
82289         * m4/pagealign_alloc.m4: New file.
82290
82291 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82292             Bruno Haible  <bruno@clisp.org>
82293
82294         * modules/pagealign_alloc: New file.
82295         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82296
82297 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82298             Bruno Haible  <bruno@clisp.org>
82299
82300         * lib/pagealign_alloc.h: New file.
82301         * lib/pagealign_alloc.c: New file.
82302
82303 2005-03-03  Bruno Haible  <bruno@clisp.org>
82304
82305         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82306         Use an all-permissive copyright notice, recommended by RMS.
82307
82308 2005-03-02  Bruno Haible  <bruno@clisp.org>
82309
82310         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82311         of AIX, the replacement has to be done only after <string.h> is
82312         included, therefore not in config.h. stpncpy.h does the replacement,
82313         and stpncpy.c uses it.
82314
82315 2005-03-02  Bruno Haible  <bruno@clisp.org>
82316
82317         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82318         stpncpy.c uses it.
82319
82320 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82321
82322         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82323         The workaround isn't strictly needed for POSIX conformance, and
82324         it's too much of a pain to configure and maintain.  We'll ask
82325         people to fix their kernels instead.
82326         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82327         (NANOSLEEP_BUG_WORKAROUND): Remove.
82328         (xnanosleep): Remove the workaround.
82329
82330 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82331
82332         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82333         Reported by Derek Price.
82334         (Include): Add "timespec.h".
82335
82336         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82337
82338 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82341         to detect nanosleep bug.
82342
82343 2005-03-01  Bruno Haible  <bruno@clisp.org>
82344
82345         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82346
82347 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82348
82349         * modules/gethrxtime: New file.
82350         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82351         (Depends-on): Add gethrxtime.
82352         (configure.ac): Add gl_XNANOSLEEP.
82353         (Makefile.am): Remove lib_SOURCES line.
82354
82355 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82356
82357         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82358         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82359
82360 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82361
82362         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82363         * lib/timespec.h (gettime): Return void, since it always
82364         succeeds now.  All uses changed.
82365         * lib/gettime.c (gettime): Likewise.
82366         [HAVE_NANOTIME]: Prefer nanotime.
82367         Assume gettimeofday succeeds, as POSIX requires.
82368         Assime time () succeeds, since other code already does.
82369         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82370         (timespec_subtract): Remove.
82371         (NANOSLEEP_BUG_WORKAROUND): New constant.
82372         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82373         things considerably.  Use it only on GNU/Linux hosts, since the
82374         workaround shouldn't be needed elsewhere.
82375
82376 2005-02-24  Bruno Haible  <bruno@clisp.org>
82377
82378         * modules/gettext (Files): Add m4/glibc2.m4.
82379
82380 2005-02-24  Bruno Haible  <bruno@clisp.org>
82381
82382         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82383         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82384         * m4/progtest.m4:
82385         Update from GNU gettext 0.14.2.
82386         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82387
82388 2005-02-24  Bruno Haible  <bruno@clisp.org>
82389
82390         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82391         * lib/config.charset: Update from GNU gettext 0.14.2.
82392
82393 2005-02-24  Bruno Haible  <bruno@clisp.org>
82394
82395         * lib/gettext.h: Update from GNU gettext 0.14.2.
82396
82397 2005-02-23  Simon Josefsson  <jas@extundo.com>
82398
82399         * m4/iconvme.m4: New file.
82400
82401 2005-02-23  Jim Meyering  <jim@meyering.net>
82402
82403         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82404         change.
82405         Thanks to Bruno Haible for catching it.
82406
82407 2005-02-22  Simon Josefsson  <jas@extundo.com>
82408
82409         * modules/iconvme: New file.
82410
82411         * MODULES.html.sh: Add iconvme.
82412
82413 2005-02-22  Simon Josefsson  <jas@extundo.com>
82414
82415         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82416
82417 2005-02-22  Simon Josefsson  <jas@extundo.com>
82418
82419         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82420
82421 2005-02-22  Jim Meyering  <jim@meyering.net>
82422
82423         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82424         s/ifndef/ifdef/.
82425
82426 2005-02-20  Neil Conway  <neilc@samurai.com>
82427
82428         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82429         returned by OSX/Darwin if the specified buffer is not large
82430         enough for the hostname.
82431
82432 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82433
82434         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82435         pass it to _help, otherwise the latter coredumps trying to
82436         dereference state.root_argp.
82437
82438 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82439
82440         * modules/chdir-long (Depends-on): Add memrchr.
82441         * modules/memrchr (Files): Add lib/memrchr.h.
82442         (Include): "memrchr.h".
82443
82444 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82445
82446         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82447
82448 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82449
82450         * lib/memrchr.h: New file.
82451         * lib/chdir-long.c: Include it.
82452         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82453         Don't bother including stddef.h.
82454
82455 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82456
82457         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82458         inclusion.
82459         Include <sys/types.h>, for dev_t.
82460         (ME_DUMMY, ME_REMOTE): Move from here....
82461         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82462         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82463         Dmitry V. Levin.
82464         Include mountlist.h first, to test the interface.
82465
82466 2005-01-29  Bruno Haible  <bruno@clisp.org>
82467
82468         * lib/progname.c (program_name): Initialize.
82469         Needed when linking statically on MacOS X.
82470
82471 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82472
82473         Sync from coreutils.
82474         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82475         (Depends-on): Add c-strtod.
82476         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82477
82478 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82479
82480         Sync from coreutils.
82481         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82482
82483         Remove files that are specific to coreutils.
82484         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82485
82486 2005-01-28  Bruno Haible  <bruno@clisp.org>
82487
82488         * modules/javacomp: New file.
82489         * MODULES.html.sh (Java): Add javacomp.
82490
82491 2005-01-28  Bruno Haible  <bruno@clisp.org>
82492
82493         * m4/javacomp.m4: New file, from GNU gettext.
82494
82495 2005-01-28  Bruno Haible  <bruno@clisp.org>
82496
82497         * lib/javacomp.sh.in: New file, from GNU gettext.
82498         * lib/javacomp.h: New file, from GNU gettext.
82499         * lib/javacomp.c: New file, from GNU gettext.
82500
82501 2005-01-26  Simon Josefsson  <jas@extundo.com>
82502
82503         * lib/gai_strerror.c: Use GPL in header.
82504
82505 2005-01-26  Bruno Haible  <bruno@clisp.org>
82506
82507         * modules/javaexec: New file.
82508         * MODULES.html.sh (Java): Add javaexec.
82509
82510 2005-01-26  Bruno Haible  <bruno@clisp.org>
82511
82512         * m4/javaexec.m4: New file, from GNU gettext.
82513
82514 2005-01-26  Bruno Haible  <bruno@clisp.org>
82515
82516         * lib/javaexec.sh.in: New file, from GNU gettext.
82517         * lib/javaexec.h: New file, from GNU gettext.
82518         * lib/javaexec.c: New file, from GNU gettext.
82519
82520 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82521
82522         * modules/lchown (Depends-on): Remove lchown.h
82523
82524 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82525
82526         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82527         must be defined if the header file was not found, in order
82528         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82529
82530 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82531
82532         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82533         initializers for struct pentry_state.
82534         (__argp_error): Check return value of __asprintf
82535         (__argp_failure): Translate error message
82536
82537         * lib/argp-parse.c: Removed braces around the expansion of N_()
82538
82539 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82540
82541         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82542         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82543         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82544         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82545         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82546         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82547         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82548         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82549         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82550         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82551         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82552         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82553         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82554         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82555         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82556         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82557         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82558         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82559         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82560         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82561         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82562         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82563         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82564         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82565         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82566         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82567         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82568         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82569         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82570         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82571         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82572         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82573         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82574         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82575         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82576         Use an all-permissive copyright notice, recommended by RMS.
82577
82578 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82579
82580         * modules/chdir-long (Depends-on): Remove mempcpy.
82581
82582 2005-01-21  Jim Meyering  <jim@meyering.net>
82583
82584         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82585         same value as for Solaris 9.
82586
82587         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82588         component length.  This included changing the parameter to be
82589         of type `char *' rather than `char const *'.
82590         * lib/chdir-long.h (chdir_long): Update prototype.
82591
82592         * lib/openat.c (fdopendir, fstatat): New functions.
82593         * lib/openat.h: Include headers required for use of DIR and struct
82594         stat.
82595         [AT_SYMLINK_NOFOLLOW]: Define.
82596         (fdopendir, fstatat): Add prototypes.
82597
82598 2005-01-21  Bruno Haible  <bruno@clisp.org>
82599
82600         * modules/classpath: New file.
82601         * MODULES.html.sh (Java): Add classpath.
82602
82603 2005-01-21  Bruno Haible  <bruno@clisp.org>
82604
82605         * lib/classpath.h: New file, from GNU gettext.
82606         * lib/classpath.c: New file, from GNU gettext.
82607
82608 2005-01-20  Simon Josefsson  <jas@extundo.com>
82609
82610         * modules/version-etc-fsf: New file.
82611
82612 2005-01-20  Simon Josefsson  <jas@extundo.com>
82613
82614         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82615         * lib/version-etc.c: Remove version_etc_copyright.
82616         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82617         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82618
82619 2005-01-20  Simon Josefsson  <jas@extundo.com>
82620
82621         * lib/base64.h (isbase64): Add.
82622
82623         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82624         using a unsigned prototype, don't inline.
82625         (base64_decode): Use it.
82626
82627 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82628
82629         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82630         it.
82631
82632 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * lib/save-cwd.c (save_cwd): Remove code to support the case
82635         where fchdir is missing or flaky.
82636
82637 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82638
82639         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82640
82641 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82642
82643         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82644         AC_LIBSOURCES now does this.
82645         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82646         with new ullong_max module.
82647
82648 2005-01-19  Bruno Haible  <bruno@clisp.org>
82649
82650         * modules/sh-quote: New file.
82651         * MODULES.html.sh (Executing programs): Add sh-quote.
82652
82653 2005-01-19  Bruno Haible  <bruno@clisp.org>
82654
82655         * lib/sh-quote.h: New file, from GNU gettext.
82656         * lib/sh-quote.c: New file, from GNU gettext.
82657
82658 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82659
82660         Merge from coreutils.
82661         * m4/ullong_max.m4: New file.
82662         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82663         (gl_MACROS): Assume localeconv exists.
82664
82665 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82666
82667         Merge changes from coreutils, as described below in several
82668         changelogs dated today.
82669
82670         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82671         (O_DIRECTORY): Remove; not needed here, since "." must be
82672         a directory.  All uses removed.
82673         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82674         universal on Suns, and we also need to test for IRIX.
82675         Revamp code to use 'if' rather than '#if'.
82676         Avoid unnecessary comparison of cwd->desc to 0.
82677
82678         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82679         for known valid error numbers rather than observed invalid ones.
82680
82681 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82682
82683         * modules/ullong_max: New file.
82684
82685         * modules/chdir-long, modules/openat: New files.
82686         * modules/save-cwd (Depends-on): Depend on chdir-long.
82687         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82688
82689 2005-01-18  Jim Meyering  <jim@meyering.net>
82690
82691         Merge from coreutils.
82692         * m4/chdir-long.m4, m4/openat.m4: New files.
82693         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82694         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82695         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82696         is sane and DOES follow symlinks.  Besides, testing 20 different
82697         systems found no broken chown implementations.
82698         Prompted by a change in rsync's copy of this macro.
82699         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82700
82701         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82702
82703         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82704         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82705         NULL-means-set-to-current-time semantics.
82706         Remove temporary file immediately, rather than waiting
82707         for configure's at-exit trap code to do it.
82708
82709 2005-01-18  Jim Meyering  <jim@meyering.net>
82710
82711         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82712
82713         * lib/utimens.c (futimens): Account for the fact that futimes
82714         can also fail with errno == ENOSYS or errno == ENOENT.
82715         Patch from Dmitry V. Levin.
82716
82717         Change the name of the robust chdir function from chdir to chdir_long.
82718         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82719         (restore_cwd): Use chdir_long, not chdir.
82720         * lib/chdir-long.c: Renamed from chdir.c.
82721         * lib/chdir-long.h: Renamed from chdir.h.
82722         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82723         Hurd.
82724
82725 2005-01-18  Bruno Haible  <bruno@clisp.org>
82726
82727         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82728         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82729         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82730         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82731         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82732         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82733         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82734         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82735         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82736         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82737         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82738         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82739         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82740         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82741         Use an all-permissive copyright notice, recommended by RMS.
82742
82743 2005-01-18  Bob Proulx  <bob@proulx.com>
82744
82745         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82746         simplify offsetof() macro construct to avoid compile failure with
82747         native HP-UX 11.0 ANSI C compiler.
82748
82749 2005-01-17  Bruno Haible  <bruno@clisp.org>
82750
82751         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82752         redundant because stpncpy.m4 takes care of it.
82753
82754 2005-01-17  Bruno Haible  <bruno@clisp.org>
82755
82756         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82757
82758 2005-01-17  Bruno Haible  <bruno@clisp.org>
82759
82760         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82761         used.
82762
82763 2005-01-17  Bruno Haible  <bruno@clisp.org>
82764
82765         * lib/fwriteerror.h (fwriteerror): Change specification to include
82766         fclose.
82767         * lib/fwriteerror.c: Include <stdbool.h>.
82768         (fwriteerror): At the end, close the file stream. Record whether
82769         stdout was already closed.
82770
82771 2005-01-17  Bruno Haible  <bruno@clisp.org>
82772
82773         * lib/execute.c (environ): Declare if needed.
82774         * lib/pipe.c (environ): Likewise.
82775         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82776
82777 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82778
82779         * modules/argp: Depend on vsnprintf
82780
82781 2005-01-10  Jim Meyering  <jim@meyering.net>
82782
82783         * modules/closeout (Depends-on): Add atexit.
82784
82785 2005-01-06  Bruno Haible  <bruno@clisp.org>
82786
82787         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82788
82789 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82790
82791         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82792         definitions to be after all include files, to avoid collisions.
82793         Problem reported by Bob Proulx.
82794
82795 2005-01-04  Jim Meyering  <jim@meyering.net>
82796
82797         Changes imported from coreutils.
82798         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82799         as the mkstemp template, use a temporary directory and an
82800         8.3-friendly template to avoid trouble on systems like DJGPP.
82801         Reported by Juan M. Guerrero via Stepan Kasal.
82802         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82803         close. Remove the temporary directory right away, rather than waiting
82804         for configure's at-exit trap code to do it.
82805         Suggestion from Stepan Kasal.
82806
82807 2005-01-01  Simon Josefsson  <jas@extundo.com>
82808
82809         * gnulib-tool: Print #include directives when --import'ing.
82810
82811 2004-12-28  Simon Josefsson  <jas@extundo.com>
82812
82813         * tests/test-base64.c: Include required header files.  Remove
82814         unused variables.
82815
82816 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82817
82818         * modules/error (Depends-on): Remove gettext.
82819
82820 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82821
82822         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82823         not needed.  This removes a dependency on the gettext module.
82824         [defined _LIBC]: Do not include <libintl.h>; not needed.
82825
82826 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82827
82828         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82829         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82830
82831 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82832
82833         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82834         HAVE_DECL_STRTOLD.
82835
82836 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82837
82838         * modules/getdate (Depends-on): Remove alloca-opt.
82839
82840 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82841
82842         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82843
82844 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82845
82846         * lib/argp-parse.c: Include <stddef.h>.
82847         (alignof, alignto): New macros.
82848         (parser_init): Don't assume that void * is aligned sufficiently
82849         for struct option.
82850
82851         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82852         need to extend the stack.
82853         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82854         large.
82855
82856 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82857
82858         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82859
82860 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82861
82862         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82863         (2004-10-24) change.  Apparently this was a false alarm.
82864
82865         * modules/getdate: Depend on alloca-opt, not alloca.
82866
82867 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82870         Remove now-obsolete comment about AIX.
82871         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82872         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82873         (YYMAXDEPTH): New macro.
82874
82875 2004-12-18  Simon Josefsson  <jas@extundo.com>
82876
82877         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82878
82879 2004-12-18  Bruno Haible  <bruno@clisp.org>
82880
82881         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82882
82883 2004-12-18  Bruno Haible  <bruno@clisp.org>
82884
82885         * lib/fatal-signal.c (fatal_signals): Make non-const.
82886         (init_fatal_signals): New function.
82887         (uninstall_handlers, install_handlers): Ignore signals that were set to
82888         SIG_IGN.
82889         (at_fatal_signal): Call init_fatal_signals.
82890         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82891         SIG_IGN.
82892         Reported by Paul Eggert.
82893
82894 2004-12-18  Bruno Haible  <bruno@clisp.org>
82895
82896         * doc/alloca.texi: New file.
82897         * doc/alloca-opt.texi: New file.
82898
82899 2004-12-17  Jim Meyering  <jim@meyering.net>
82900
82901         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82902         Otherwise, install-sh could exit with improper exit status when
82903         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82904
82905 2004-12-16  Simon Josefsson  <jas@extundo.com>
82906
82907         * tests/test-base64.c: Add license.
82908
82909 2004-12-15  Stepan Kasal  <address@hidden>
82910
82911         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82912
82913 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         * modules/getcwd (Files): Add m4/d-ino.m4.
82916         Suggested by Mark D. Baushke.
82917
82918 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82919
82920         * lib/getdate.y (textint): New member "negative".
82921         (time_zone_hhmm): New function.
82922         Expect 14 shift-reduce conflicts, not 13.
82923         (o_colon_minutes): New rule.
82924         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82925         (yylex): Set the "negative" member of signed numbers.
82926
82927 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82928
82929         * doc/getdate.texi (Time of day items, Time zone items):
82930         Describe new formats +00:00, UTC+00:00.
82931
82932 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82933
82934         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82935         spurious "-l"s.  Problem reported by Stepan Kasal.
82936
82937 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82938
82939         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82940         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82941
82942 2004-12-04  Simon Josefsson  <jas@extundo.com>
82943
82944         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82945         Vandoorselaere <yoann@prelude-ids.org>.
82946
82947 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82948
82949         Changes imported from coreutils.
82950         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82951         exist.
82952         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82953
82954 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82955
82956         Changes imported from coreutils.
82957         * lib/hard-locale.c: Assume <locale.h> exists.
82958         Include "strdup.h".
82959         (GLIBC_VERSION): New macro.
82960         (hard_locale): Assume setlocale exists.
82961         Rewrite to avoid #ifdef.
82962         Use strdup rather than malloc + strcpy.
82963         * lib/human.c: Assume <locale.h> exists.
82964         (human_readable): Assume localeconv exists.
82965
82966 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82967
82968         * modules/hard-locale (Depends-on): Add strdup.
82969
82970 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82971
82972         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82973         convert T2, not T.  (Imported from libc.)
82974
82975 2004-11-30  Simon Josefsson  <jas@extundo.com>
82976
82977         * modules/restrict (License): Change to LGPL.
82978
82979 2004-11-30  Simon Josefsson  <jas@extundo.com>
82980
82981         * m4/restrict.m4: Add copyright and copying conditions.
82982
82983 2004-11-30  Simon Josefsson  <jas@extundo.com>
82984
82985         * m4/base64.m4: New file.
82986
82987 2004-11-30  Simon Josefsson  <jas@extundo.com>
82988
82989         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82990         base64.
82991
82992         * tests/test-base64.c: New file.
82993
82994         * modules/base64: New file.
82995
82996 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82997
82998         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82999         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83000
83001         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83002
83003 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83004
83005         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83006         (__getcwd.c): Don't restore errno; glibc doesn't.
83007         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83008         first, falling back to our code only if its results look suspicious.
83009         Ensure that the resulting buffer is only as large as necessary.
83010
83011         * lib/readutmp.c: Include readutmp.h first.
83012         Include <errno.h>, since readutmp.h no longer does that.
83013         * lib/readutmp.h: Don't include <errno.h>,
83014         <sys/param.h>, <time.h>; not needed to establish interface.
83015         (errno): Remove decl.
83016         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83017         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83018         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83019
83020 2004-11-28  Simon Josefsson  <jas@extundo.com>
83021
83022         * lib/base64.h, base64.c: New file.
83023
83024 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83025
83026         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83027
83028 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83031         (Depends-on): Remove pathmax, same.  Add mempcpy.
83032         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83033         (Makefile.am): Append getcwd.h to lib_SOURCES.
83034         (Include): Add getcwd.h.
83035         (Maintainer): Change from Jim Meyering to "all, glibc",
83036         since getdate now uses intended-for-glibc code.
83037         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83038         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83039
83040 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83041
83042         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83043         HP's ANSI C compiler.
83044         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83045         Declaring int functions causes warnings on some modern systems and
83046         shouldn't be needed to compile on ancient ones.
83047         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83048         defined.
83049
83050         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83051         with the following changes.
83052         (__set_errno): Parenthesize properly.
83053         Include <stdbool.h>.
83054         (MIN, MAX, MATCHING_INO): New macros.
83055         (__getcwd): Define with prototype, not K&R form.
83056         Use heuristics to allocate default buffer on stack if possible.
83057         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83058         behavior, and to avoid the PATH_MAX limit when computing
83059         ../../../../...
83060         Use MATCHING_INO to compare inode number to file.
83061         Check for arithmetic overflow in size calculations.
83062         Fix bug in reallocation of dot array that caused getcwd to fail
83063         on directories nested deeper than 75.
83064         Be more careful about saving errno on error.
83065         Do not use realloc; use only free+malloc, as this is a bit
83066         more flexible and avoids a needless copy operation.
83067         Do not inspect st_dev and st_ino for symbolic links; POSIX
83068         doesn't specify the latter.
83069         Check for closedir errors.
83070         Avoid needless casts.
83071         Use "#ifdef weak_alias" around weak_alias, to be like other
83072         glibc code.
83073         The following changes to getcwd.c have effect only when used in
83074         gnulib; they have no effect inside glibc proper.
83075         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83076         as alloca isn't used.
83077         (alloca, __alloca): Likewise.
83078         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83079         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83080         unconditionally, as gnulib assumes C89 or better.
83081         Do not include <sys/param.h>.
83082         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83083         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83084         better.
83085         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83086         Include <dirent.h> in a way that is compatible with modern Autoconf.
83087         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83088         New macros, if not already defined.
83089         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83090         Use "_LIBC", not "defined _LIBC", for consistency.
83091         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83092         a mempcpy module.
83093         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83094         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83095         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83096         credit only to Jim Meyering and adjust the copyright dates.
83097         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83098         <stdlib.h>, <unistd.h>, "pathmax.h".
83099         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83100         (INITIAL_BUFFER_SIZE): Remove.
83101         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83102
83103 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83104
83105         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83106         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83107         Use the _ONCE methods, for efficiency.
83108         Check for fcntl.h.  In test program, include <errno.h>
83109         and <fcntl.h> if available.  Remove old K&R cruft from
83110         test program.  Check for common errors in GNU/Linux,
83111         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83112         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83113         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83114         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83115         name accordingly.
83116         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83117         accommodate new getcwd.c.
83118         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83119         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83120         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83121         that's all we need now.
83122
83123 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83124
83125         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83126         argp-parse.c depends on getopt internals, that means we should
83127         always use our getopt, to be on the safe side.
83128         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83129         order not to spoil the result of an eventual previous invocation
83130         of gl_GETOPT_SUBSTITUTE.
83131
83132 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83133
83134         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83135         redefinition warnings. To avoid them, include the defines
83136         in `#if !defined __need_getopt ... #endif'. The only place
83137         where __getopt_argv_const is used is in definitions
83138         of getopt_long and getopt_long_only below, which are as well
83139         protected by `#ifndef __need_getopt'.
83140         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83141         __need_getopt after including <stdio.h> and <unistd.h> These
83142         headers might have defined it.
83143
83144 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83145
83146         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83147
83148 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83149
83150         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83151         (futimens): New function, which uses futimes if available.
83152         (futimens, utimens): Support timespec==NULL, with same semantics
83153         as utime and utimens.
83154         * lib/utimens.h (futimens): New decl.
83155
83156 2004-11-23  Jim Meyering  <jim@meyering.net>
83157
83158         * lib/getopt_.h: Remove trailing blanks.
83159
83160 2004-11-23  Jim Meyering  <jim@meyering.net>
83161
83162         * lib/__fpending.c: Add comment.
83163
83164 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83165
83166         * modules/canonicalize (Depends-on): Add xreadlink.
83167         Problem reported by James Youngman.
83168
83169 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83170
83171         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83172         New macros.
83173         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83174         optopt): Use them instead of invoking ## directly; otherwise, the
83175         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83176
83177 2004-11-19  Bruno Haible  <bruno@clisp.org>
83178
83179         * lib/strtok_r.c: Move comments from here...
83180         * lib/strtok_r.h: ... to here.
83181
83182 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83183
83184         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83185         implementations that mishandle size_t overflow.
83186
83187 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83188
83189         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83190         might fail.  Problem reported by Yoann Vandoorselaere.
83191         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83192         implementations that mishandle size_t overflow.
83193
83194 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83195
83196         * modules/canon-host (Depends-on): Add strdup.
83197
83198 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83199
83200         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83201
83202 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         * lib/canon-host.c: Include "strdup.h".
83205         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83206         Use strdup instead of malloc/strcpy to duplicate strings.
83207
83208         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83209         (human_space_before_unit): New constant.
83210         * lib/human.c (human_readable): Support it.
83211
83212         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83213         (xgetcwd): Set errno correctly when failing.
83214         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83215         the failure is actually due to a PATH_MAX problem.
83216
83217         Further getopt changes to make it more likely that glibc will
83218         buy the changes back.
83219         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83220         (getopt): Use it, so to preserve glibc semantic
83221         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83222         when compiling for libc.
83223         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83224         (getopt_long, getopt_long_only): Use it.
83225
83226         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83227         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83228         (getopt): Argv is now char * const *, as per standard.
83229         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83230         not char *__getopt_argv_const *.
83231         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83232         _getopt_long_only_r): Likewise.
83233         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83234         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83235         _getopt_long_r, _getopt_long_only_r): Likewise.
83236         * lib/getopt_.h (__getopt_argv_const): Remove.
83237         (getopt): Argv is now char * const *, as per standard.
83238
83239         * lib/getdate.y (tORDINAL): New token.
83240         (day, relunit): Allow it for relative times.
83241         (relative_time_table): Use tORDINAL for ordinals.
83242
83243 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83244
83245         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83246         Document that "second" isn't allowed as an ordinal number.
83247
83248 2004-11-16  Jim Meyering  <jim@meyering.net>
83249
83250         * modules/closeout (Depends-on): Add fpending.
83251
83252 2004-11-15  Jim Meyering  <jim@meyering.net>
83253
83254         * lib/closeout.c: Include "__fpending.h" once again.
83255         Include <stdbool.h>.
83256         (close_stdout): Don't fail just because stdout was closed initially,
83257         since some programs don't write to stdout in the normal course of
83258         operation (other than --version and --help), and we don't want this
83259         function to make e.g. `touch file >&-' fail.
83260         But do fail if it was closed and someone has tried to write to it.
83261         E.g., `printf foo >&-' must fail.
83262
83263 2004-11-13  Jim Meyering  <jim@meyering.net>
83264
83265         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83266
83267 2004-11-12  Simon Josefsson  <jas@extundo.com>
83268
83269         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83270         small doc fix is still pending.
83271
83272 2004-11-11  Simon Josefsson  <jas@extundo.com>
83273
83274         * modules/strtok_r: New file.
83275
83276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83277         strtok_r.
83278
83279 2004-11-11  Simon Josefsson  <jas@extundo.com>
83280
83281         * m4/strtok_r.m4: New file.
83282
83283         * m4/getopt.m4: Replace opterr.
83284
83285 2004-11-11  Simon Josefsson  <jas@extundo.com>
83286
83287         * lib/strtok_r.h, strtok_r.c: New file.
83288
83289 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83290
83291         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83292         of replacing opterr, getopt, etc.  This should handle the
83293         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83294
83295 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83296
83297         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83298         we can stop lying to compilers about the constness of argv when we
83299         are compiled outside glibc.
83300         (getopt, getopt_long, getopt_long_only): Use it.
83301         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83302         _getopt_internal, getopt): Likewise.
83303         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83304         _getopt_long_only_r): Likewise.
83305         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83306         _getopt_long_r, _getopt_long_only_r): Likewise.
83307
83308         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83309         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83310         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83311         the other external symbols.
83312         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83313         declaration, since the above renaming now works around collisions.
83314
83315 2004-11-11  Jim Meyering  <jim@meyering.net>
83316
83317         * lib/linebreak.c: Remove trailing blanks.
83318         * lib/alloca_.h: Likewise.
83319         * lib/acosl.c: Likewise.
83320         * lib/euidaccess.c: Likewise.
83321         * lib/allocsa.h: Likewise.
83322
83323 2004-11-10  Simon Josefsson  <jas@extundo.com>
83324
83325         * m4/getaddrinfo.m4: New file.
83326
83327 2004-11-10  Simon Josefsson  <jas@extundo.com>
83328
83329         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83330
83331 2004-11-10  Simon Josefsson  <jas@extundo.com>
83332
83333         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83334         getaddrinfo.
83335
83336         * modules/getaddrinfo: New file.
83337
83338 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83339
83340         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83341
83342 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83343
83344         * lib/mktime.c (SHR): New macro, which is a portable
83345         substitute for >> that should work even on Crays.
83346         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83347         Problem reported by Mark D. Baushke in
83348         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83349         * lib/getdate.y (SHR): Likewise.
83350         (tm_diff): Use it.
83351         * lib/strftime.c (SHR): Likewise.
83352         (tm_diff): Use it.
83353         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83354         quote_these_too, so that right shifts are well defined.  All uses
83355         changed.
83356
83357 2004-11-10  Jim Meyering  <jim@meyering.net>
83358
83359         Ensure that no close failure goes unreported.
83360         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83361         return early when it seems there's nothing to flush.
83362         Don't include __fpending.h.
83363
83364 2004-11-10  Jim Meyering  <jim@meyering.net>
83365
83366         * modules/closeout (Depends-on): Remove fpending.
83367
83368 2004-11-10  Jim Meyering  <jim@meyering.net>
83369
83370         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83371
83372 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83373
83374         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83375         gl_FUNC_STRFTIME.
83376         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83377         and AC_REQUIRE when possible, to avoid duplicate checks.
83378         Check for <wchar.h>.
83379
83380 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83381
83382         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83383
83384 2004-11-09  Bruno Haible  <bruno@clisp.org>
83385
83386         * m4/sockpfaf.m4: New file.
83387
83388 2004-11-05  Bruno Haible  <bruno@clisp.org>
83389
83390         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83391         Reported by Mark D. Baushke <mdb@cvshome.org>.
83392
83393 2004-11-04  Bruno Haible  <bruno@clisp.org>
83394
83395         2004-09-11  Bruno Haible  <bruno@clisp.org>
83396                 * allocsa.valgrind: New file.
83397         2004-02-06  Bruno Haible  <bruno@clisp.org>
83398                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83399                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83400                 Reported by Christopher Seip <chris.seip@hp.com>.
83401
83402 2004-11-04  Bruno Haible  <bruno@clisp.org>
83403
83404         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83405         (Makefile.am): Distribute it.
83406
83407 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83408
83409         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83410         with errno == ERANGE if the buffer is too small.
83411         Problem reported by Mark D. Baushke.
83412
83413 2004-11-03  Albert Chin  <china@thewrittenword.com>
83414             Paul Eggert  <eggert@cs.ucla.edu>
83415
83416         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83417         equivalent, substitute $ac_type for equivalent type rather than
83418         blindly using uint32_t *always* which won't work if uint32_t is not
83419         available.  Define _UINT32_T to work around typedef of uint32_t if
83420         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83421         2.5.1.
83422
83423 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83424
83425         * m4/jm-macros.m4: Sync from coreutils.
83426         (gl_MACROS): Check for mbrlen, for pathchk.
83427         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83428
83429 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83430
83431         * lib/xreadlink.c (MAXSIZE): New macro.
83432         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83433         size does not exceed MAXSIZE.  Avoid cast.
83434         As suggested by Mark D. Baushke in
83435         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83436         if readlink fails with buffer size just under MAXSIZE, try again
83437         with MAXSIZE.
83438
83439 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83440
83441         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83442
83443 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83444         and  Paul Eggert  <eggert@cs.ucla.edu>
83445
83446         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83447         (get_date): Overparenthesize to avoid GCC warning.
83448
83449 2004-11-02  Bruno Haible  <bruno@clisp.org>
83450
83451         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83452         returns void.
83453
83454 2004-11-02  Bruno Haible  <bruno@clisp.org>
83455
83456         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83457         function returns void.
83458
83459 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83460
83461         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83462         fflush_unlocked, flockfile, funlockfile, funlockfile,
83463         fputs_unlocked, putc_unlocked.
83464
83465 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83466
83467         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83468         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83469         already declared.
83470
83471 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83472
83473         * modules/getdate (Files): Add doc/getdate.texi.
83474         (Depends-on): Add setenv, xalloc.
83475
83476 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         * lib/getdate.y: Add support for TZ="foo" within a date string.
83479         Fix some bugs near time_t boundaries.  Reject dates with
83480         out-of-range components, e.g., "Sept 31".
83481         Include <stdlib.h>, "setenv.h", "xalloc.h".
83482         (ISDIGIT_LOCALE): Remove; unused.
83483         Note that the TZ and time functions used here are not reentrant.
83484         (mktime_ok, get_tz): New functions.
83485         (TZBUFSIZE): New constant.
83486         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83487         This requires that we sometimes generate our own TZ="XXX..." setting.
83488
83489 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83490
83491         * doc/getdate.texi: New file, from coreutils with modifications for
83492         the new TZ parsing.
83493
83494 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83495
83496         * lib/mktime.c (not_equal_tm): Remove redundant check.
83497
83498 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83499
83500         * modules/regex (lib_SOURCES): Add regex.c.
83501         Reported by James Youngman in
83502         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83503
83504 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83505
83506         * lib/getdate.y: Use Bison 1.875 features, and some minor
83507         code cleanups.  This change does not affect semantics.
83508         Don't include <stdlib.h>; no longer needed.
83509         Don't include unlocked-io.h; only the "#if TEST" code uses
83510         stdio, and performance isn't crucial there.
83511         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83512         Bison 1.875 features as described below.
83513         All uses of "PC." replaced by "pc->".
83514         (YYSTYPE): Add a forward declaration.
83515         (yylex, yyerror): Use full prototypes in forward decls.
83516         Use "%pure-parser" rather than obsolescent "%pure_parser".
83517         Use %parse-param and %lex-param instead of obsolescent
83518         YYPARSE_PARAM and YYLEX_PARAM.
83519         (meridian_table, month_and_day_table, time_units_table,
83520         relative_time_table, time_zone_table, military_table,
83521         lookup_zone, lookup_word, get_date):
83522         Use NULL instead of 0 where appropriate.
83523         (to_hour): Avoid abort (), to avoid a dependency on
83524         stdlib.h.
83525         (yyerror, yylex): Now accepts parser_control * arg.
83526         (main) [TEST]: Use '\0' rather than 0 for char.
83527
83528 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83529
83530         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83531
83532 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83535         It's now the caller's responsibility to handle the case where
83536         !HAVE_GETPAGESIZE && !defined getpagesize.
83537
83538         * lib/mktime.c (leapyear): Arg is long int, not int.
83539
83540 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83541
83542         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83543
83544 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83547         missing.  Problem reported by James Youngman.
83548
83549 2004-10-16  Simon Josefsson  <jas@extundo.com>
83550
83551         * gnulib-tool: Fix comments.  Fix parse problem.
83552         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83553
83554 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83555
83556         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83557         implementation of getopt_long.  Problem reported by Alexander Taler in:
83558         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83559
83560 2004-10-15  Bruno Haible  <bruno@clisp.org>
83561
83562         * gnulib-tool: Untabify. Initialize supplied_libname.
83563         (func_usage): More homogenous output.
83564         (func_modules_transitive_closure, func_modules_to_filelist,
83565         func_emit_lib_Makefile_am): New functions.
83566         (func_import): New function, extracted from big case statement. Use
83567         func_get_license, func_modules_transitive_closure,
83568         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83569         opt_lgpl. Don't use test -a, as it's not portable.
83570         (func_create_testdir): Use func_modules_transitive_closure,
83571         func_modules_to_filelist, func_emit_lib_Makefile_am.
83572
83573 2004-10-15  Bruno Haible  <bruno@clisp.org>
83574
83575         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83576
83577 2004-10-15  Bruno Haible  <bruno@clisp.org>
83578
83579         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83580         the portions belonging to each module.
83581         Suggested by Derek Robert Price <derek@ximbiot.com>.
83582
83583 2004-10-12  Simon Josefsson  <jas@extundo.com>
83584
83585         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83586         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83587         to real functions.
83588
83589 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83590
83591         * modules/vsnprintf: New file.
83592
83593 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83594
83595         * m4/vsnprintf.m4: New file.
83596
83597 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83598
83599         * lib/vsnprintf.h: New file.
83600         * lib/vsnprintf.c: New file.
83601
83602 2004-10-11  Bruno Haible  <bruno@clisp.org>
83603
83604         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83605         vsnprintf.
83606
83607 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83608
83609         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83610
83611 2004-10-07  Bruno Haible  <bruno@clisp.org>
83612
83613         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83614         fits into the provided buffer.
83615
83616 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83617
83618         * lib/diacrit.c, diacrit.h: Add GPL notice.
83619
83620         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83621         notice.
83622         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83623         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83624         This avoids a potential constant-folding bug.
83625
83626 2004-10-05  Bruno Haible  <bruno@clisp.org>
83627
83628         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83629         for the declaration of strsep.
83630
83631 2004-10-05  Bruno Haible  <bruno@clisp.org>
83632
83633         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83634
83635 2004-10-04  Simon Josefsson  <jas@extundo.com>
83636
83637         * modules/memmem: New file.
83638         * tests/test-memmem.c: New file.
83639         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83640
83641 2004-10-04  Simon Josefsson  <jas@extundo.com>
83642
83643         * m4/memmem.m4: New file.
83644
83645 2004-10-04  Simon Josefsson  <jas@extundo.com>
83646
83647         * lib/memmem.h: New file.
83648         * lib/memmem.c: New file, taken from glibc.
83649
83650 2004-10-04  Simon Josefsson  <jas@extundo.com>
83651
83652         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83653         '#ifdef USE_UNLOCKED_IO'.
83654
83655 2004-10-04  Simon Josefsson  <jas@extundo.com>
83656
83657         * config/srclist.txt: Add memmem from glibc.
83658
83659 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83660
83661         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83662
83663         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83664         modules/exclude, modules/getdate, modules/getline,
83665         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83666         modules/getusershell, modules/linebuffer, modules/md5,
83667         modules/mountlist, modules/posixtm, modules/readtokens,
83668         modules/readutmp, modules/regex, modules/sha1,
83669         modules/version-etc, modules/yesno:
83670         Remove dependency on unlocked-io.
83671
83672 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83673
83674         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83675
83676         * m4/unlocked-io.m4: Add copyright notice.
83677         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83678
83679 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83680
83681         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83682         * lib/xmalloc.c (xmemdup): Likewise.
83683         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83684         XFREE): Remove these long-obsolescent macros.
83685         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83686         * lib/xstrdup.c: Remove.
83687
83688         * lib/regex.c (re_comp): Cast gettext return value to char *,
83689         Problem reported by Martin Neitzel via Mark D. Baushke.
83690
83691 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83692
83693         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83694         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83695         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83696         regex.c, sha1.c, version-etc.c, yesno.c:
83697         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83698         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83699         the includer's responsibility.
83700
83701         Sync from coreutils.
83702
83703         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83704         points to the start of a string, as the C Standard says the
83705         resulting behavior is undefined.
83706
83707         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83708         simple -> simple_backups, numbered_existing ->
83709         numbered_existing_backups, numbered -> numbered_backups
83710         to avoid shadowing problems.  All uses changed.
83711         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83712         * lib/backupfile.c (check_extension, numbered_backup):
83713         Rename locals to avoid shadowing 'basename'.
83714         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83715         once.
83716
83717         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83718         * lib/.cvsignore: Add getopt.h.
83719
83720 2004-10-04  Bruno Haible  <bruno@clisp.org>
83721
83722         * modules/README: New file.
83723         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83724         not a module.
83725
83726 2004-10-02  Jim Meyering  <jim@meyering.net>
83727
83728         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83729
83730 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83731
83732         * modules/strsep: New file.
83733
83734 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83735
83736         * m4/strsep.m4: New file.
83737
83738 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83739
83740         * lib/strsep.h: New file.
83741         * lib/strsep.c: New file.
83742
83743 2004-10-01  Simon Josefsson  <jas@extundo.com>
83744
83745         * lib/snprintf.c (snprintf): Handle size==0.
83746
83747 2004-10-01  Simon Josefsson  <jas@extundo.com>
83748             Bruno Haible  <bruno@clisp.org>
83749
83750         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83751         (snprintf): Declare 'args'.
83752
83753 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83754
83755         * lib/snprintf.c: Remove comments as to why each header is needed.
83756
83757 2004-10-01  Bruno Haible  <bruno@clisp.org>
83758
83759         * MODULES.html.sh: Add strsep.
83760
83761 2004-09-30  Simon Josefsson  <jas@extundo.com>
83762
83763         * modules/snprintf: New file.
83764
83765 2004-09-30  Simon Josefsson  <jas@extundo.com>
83766
83767         * m4/snprintf.m4: New file.
83768
83769 2004-09-30  Simon Josefsson  <jas@extundo.com>
83770
83771         * lib/snprintf.h, lib/snprintf.c: New files.
83772
83773 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83774
83775         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83776         (hol_entry_help): Never translate an empty string.
83777         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83778         * lib/argp.h (OPTION_NO_TRANS): New option.
83779
83780 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83781
83782         * modules/argp (Maintainer): Replace Simon Josefsson
83783         by Sergey Poznyakoff.
83784
83785 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83786
83787         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83788         changes merged back into glibc.
83789
83790 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83793
83794 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83795
83796         * lib/xvasprintf.c: Include xalloc.h.
83797         (xvasprintf): Use xalloc_die, not xmalloc_die.
83798
83799 2004-09-29  Bruno Haible  <bruno@clisp.org>
83800
83801         * modules/alloca-opt: New file, derived from modules/alloca.
83802         * modules/allocsa: Depend on alloca-opt instead of alloca.
83803         * modules/setenv: Likewise.
83804         * modules/vasnprintf: Likewise.
83805         * MODULES.html.sh: Add alloca-opt.
83806
83807 2004-09-28  Simon Josefsson  <jas@extundo.com>
83808
83809         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83810         LGPL, and to replace license template from GPL to LGPL.
83811
83812 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83813
83814         * modules/dummy: Change license to LGPL.
83815
83816 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83817
83818         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83819
83820 2004-09-24  Simon Josefsson  <jas@extundo.com>
83821
83822         * modules/minmax (License): Change from GPL to LGPL.
83823
83824 2004-09-23  Simon Josefsson  <jas@extundo.com>
83825
83826         * gnulib-tool (--import): Typo.
83827
83828 2004-09-23  Simon Josefsson  <jas@extundo.com>
83829
83830         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83831
83832 2004-09-22  Bruno Haible  <bruno@clisp.org>
83833
83834         * modules/*: Add 'License' field.
83835         * gnulib-tool: Accept --extract-license option.
83836         (func_get_license): New function.
83837
83838 2004-09-21  Bruno Haible  <bruno@clisp.org>
83839
83840         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83841         Reported by Simon Josefsson.
83842
83843 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83844
83845         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83846         gl_AC_TYPE_LONG_LONG.
83847
83848 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83851
83852 2004-09-18  Simon Josefsson  <jas@extundo.com>
83853         and  Paul Eggert  <eggert@cs.ucla.edu>
83854
83855         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83856         calls with autoreconf.  Define GL_LIB.
83857
83858 2004-09-14  Karl Berry  <karl@gnu.org>
83859
83860         * config/srclist.txt: unsync setenv.c, sigh.
83861
83862 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83863
83864         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83865         Problem reported by Bruno Haible in:
83866         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83867
83868 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83869
83870         * config/srclist.txt: Comment out argp-pvh.c.
83871
83872 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83873
83874         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83875         in case some system header has #define'd it.  Problem reported by
83876         Soeren D. Schulze in
83877         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83878
83879 2004-09-09  Karl Berry  <karl@gnu.org>
83880
83881         * regex.[ch]: delete from the root.  These were supposed to be
83882                 synced with emacs cvs, but this has not happened for about
83883                 a year, and anyway nothing else uses emacs regex.[ch].
83884                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83885                 lib/regex[.ch] is untouched.
83886
83887 2004-09-09  Bruno Haible  <bruno@clisp.org>
83888
83889         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83890
83891 2004-09-09  Bruno Haible  <bruno@clisp.org>
83892
83893         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83894         modifications.
83895         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83896
83897 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83898
83899         * modules/xvasprintf: New file.
83900         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83901
83902 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83903
83904         * lib/xvasprintf.h: New file.
83905         * lib/xvasprintf.c: New file.
83906         * lib/xasprintf.c: New file.
83907
83908 2004-09-08  Bruno Haible  <bruno@clisp.org>
83909
83910         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83911
83912 2004-09-08  Bruno Haible  <bruno@clisp.org>
83913
83914         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83915         length is > INT_MAX.
83916         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83917         more.
83918
83919 2004-09-08  Bruno Haible  <bruno@clisp.org>
83920
83921         * lib/stdint_.h: New file, taken from GNU clisp.
83922
83923 2004-09-08  Bruno Haible  <bruno@clisp.org>
83924             Oskar Liljeblad  <oskar@osk.mine.nu>
83925
83926         * modules/stdint: New file.
83927         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83928
83929 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83930
83931         Import from coreutils.
83932         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83933         strings on unbounded length.  alloca's performance benefits aren't
83934         that important here.
83935         (V_STRDUP): Remove.
83936         (parse_with_separator): New function, with most of the internals
83937         of the old parse_user_spec.  Allow user to omit both user and group,
83938         for compatibility with FreeBSD.
83939         Clone only the user name, not the entire spec.
83940         Do not set *uid, *gid unless entirely successful.
83941         Avoid memory leak in some failing cases.
83942         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83943         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83944         (parse_user_spec): Rewrite to use parse_with_separator.
83945
83946 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83947
83948         * modules/userspec: Don't depend on alloca.
83949
83950 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83951
83952         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83953
83954 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83955
83956         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83957         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83958         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83959
83960 2004-08-16  Simon Josefsson  <jas@extundo.com>
83961
83962         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83963         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83964         Add --dry-run for --import.
83965         Let user provided command line parameters override configure.ac
83966         settings.
83967
83968 2004-08-12  Simon Josefsson  <jas@extundo.com>
83969
83970         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83971         as discussed with Paul Eggert in threads rooted at
83972         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83973         and
83974         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83975         Before, the test was empty, and relied on ELIDE_CODE in source
83976         code.)
83977         (gl_PREREQ_GETOPT): New macro.
83978         (gl_GETOPT): Use them.
83979
83980 2004-08-12  Simon Josefsson  <jas@extundo.com>
83981
83982         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83983         * lib/getopt_.h: Renamed from getopt.h.
83984
83985 2004-08-12  Simon Josefsson  <jas@extundo.com>
83986
83987         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83988         Change default library name from libfoo to libgnu.
83989         Now, if you have a configure.ac that says:
83990                 gl_SOURCE_BASE(gl)
83991                 gl_M4_BASE(gl/m4)
83992                 gl_MODULES(error getopt etcetera)
83993                 gl_INIT
83994         you can import all you need by running:
83995                 ../gnulib/gnulib-tool --import
83996
83997         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83998         (Makefile.am): Rewrite, use logic from argz.
83999         (Include): Use <getopt.h> instead of "getopt.h".
84000
84001 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84002
84003         * modules/argp (Files): Add m4/unlocked-io.m4.
84004         (Depends-on): Add extensions.
84005
84006 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84007
84008         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84009         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84010         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84011         Check for program_invocation_name, program_invocation_short_name,
84012         flockfile, funlockfile, features.h, _getopt_long_only_r.
84013
84014 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84017         its complicated substitute.
84018         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84019         and program_invocation_name.
84020         (__argp_basename) [!_LIBC]: Remove; the only use was
84021         replaced by its body.
84022         (__argp_short_program_name): Change condition from
84023         !defined __argp_short_program_name to
84024         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84025         to match argp-namefrob.h.
84026         (__argp_failure): Don't assume strerror_r returns char *.
84027         * lib/argp-parse.c (N_): Define unconditionally.
84028         (argp_default_options): Fill out initializers with 0 to avoid
84029         gcc warnings.
84030
84031 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84032
84033         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84034         getopt1.c.
84035
84036 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84037
84038         Merge from coreutils.
84039
84040         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84041
84042         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84043         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84044
84045 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84046
84047         Merge from coreutils.
84048
84049         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84050         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84051         for Reliant Unix 5.43.
84052
84053         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84054         (union fooround): Use uintmax_t, not long int.
84055         The rest is a merge from libc:
84056         [defined _LIBC]: Include <shlib-compat.h>.
84057         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84058
84059         * lib/settime.c (settime): Recode to avoid warning with
84060         Sun Forte C 6U2.
84061
84062         * lib/strverscmp.c: Convert to UTF-8.
84063
84064 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84065
84066         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84067         m4/uintmax_t.m4.
84068
84069 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84070
84071         * modules/xalloc-die: New file.
84072         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84073
84074         * modules/md5 (Files): Add m4/uint32_t.m4.
84075         * modules/sha1: Renamed from modules/sha.
84076         (Files):
84077         Rename lib/sha.h to lib/sha1.h.
84078         Rename lib/sha.c to lib/sha1.c.
84079         Rename m4/sha.m4 to m4/sha1.m4.
84080         (lib_SOURCES): Likewise.
84081         (configure.ac): Rename gl_SHA to gl_SHA1.
84082         (Include): sha.h -> sha1.h.
84083
84084 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84087         * m4/sha1.m4: Renamed from sha.m4.
84088         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84089
84090 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84091
84092         * lib/obstack.h (obstack_empty_p):
84093         Don't assume that chunk->contents is suitably aligned.
84094         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84095         Likewise. Problem reported by Benno in
84096         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84097
84098         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84099         readable.  This could be improved further but it'd take some work.
84100
84101 2004-08-08  Simon Josefsson  <jas@extundo.com>
84102
84103         * modules/xgethostname (Depends-on): Remove exit and error (not
84104         used).
84105
84106         * modules/getpass-gnu: Add getpass.h.
84107         (Depends-on): Add stdbool.
84108         * modules/getpass: Add getpass.h.
84109
84110 2004-08-08  Simon Josefsson  <jas@extundo.com>
84111
84112         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84113         Check getpass declaration.
84114
84115 2004-08-08  Simon Josefsson  <jas@extundo.com>
84116
84117         * lib/xgethostname.c: Don't include error.h (not used).
84118
84119         * lib/getpass.h: Add.
84120         * lib/getpass.c: Include getpass.h first.
84121
84122 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84123
84124         * lib/xalloc-die.c: New file.
84125         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84126         All uses removed.
84127         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84128         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84129         xalloc-die.c.
84130         (_, N_, xalloc_die): Move to xalloc-die.c.
84131         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84132         so that we needn't mess with xalloc_msg_memory_exhausted.
84133
84134         * lib/sha1.h: Renamed from sha.h.
84135         (SHA1_H): Renamed from _SHA_H.
84136         (sha1_ctx): Renamed from sha_ctx.
84137         (sha1_init_ctx): Renamed from sha_init_ctx.
84138         (sha1_process_block): Renamed from sha_process_block.
84139         (sha1_process_bytes): Renamed from sha_process_bytes.
84140         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84141         (sha1_read_ctx): Renamed from sha_read_ctx.
84142         (sha1_stream): Renamed from sha_stream.
84143         (sha1_buffer): Renamed from sha_buffer.
84144         * lib/sha1.c: Likewise; renamed from sha.c.
84145         Do not include <sys/types.h>.
84146         Include <stddef.h> rather than <stdlib.h>.
84147
84148 2004-08-08  Bruno Haible  <bruno@clisp.org>
84149
84150         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84151         FILESYSTEM_PREFIX_LEN.
84152         * lib/progreloc.c: Likewise.
84153         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84154
84155 2004-08-06  Simon Josefsson  <jas@extundo.com>
84156
84157         * modules/progname (Depends-on): Don't depend on stdbool.
84158
84159 2004-08-06  Simon Josefsson  <jas@extundo.com>
84160
84161         * modules/getsubopt: New file.
84162         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84163         getsubopt.
84164
84165 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84166
84167         More merge from coreutils.
84168
84169         * m4/utimens.m4, m4/utimecmp.m4: New files.
84170         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84171         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84172         prereq.m4, sha.m4: Import changes from coreutils.
84173
84174 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84175
84176         More merge from coreutils.
84177         * modules/raise, modules/readtokens0, modules/utimens:
84178         * modules/utimecmp, module/xnanosleep: New files.
84179         * modules/strftime: Add lib/strftime.h.
84180         Change include from <time.h> to "strftime.h".
84181         * modules/yesno: Add lib/yesno.h.
84182         * modules/backupfile: Remove lib/addext.c.
84183         * modules/euidaccess: Add stat-macros.h.
84184         * modules/canonicalize, modules/euidaccess,
84185         modules/filemode, modules/lchown, modules/makepath,
84186         modules/rmdir, modules/stat: Likewise.
84187
84188 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84189
84190         Merge from tar.
84191         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84192         SIZE_MAX is a valid preprocessor constant.
84193         (__argp_basename): Change from "#ifndef _LIBC"
84194         to "#ifndef __argp_short_program_name", so that
84195         we don't compile these functions for tar.
84196
84197         More merges from coreutils.
84198         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84199         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84200         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84201         * lib/addext.c: Remove; no longer needed.
84202         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84203         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84204         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84205         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84206         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84207         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84208         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84209         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84210         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84211         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84212         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84213         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84214         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84215         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84216         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84217         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84218         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84219         Import changes from coreutils.
84220
84221 2004-08-05  Simon Josefsson  <jas@extundo.com>
84222
84223         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84224
84225 2004-08-05  Simon Josefsson  <jas@extundo.com>
84226
84227         * m4/getsubopt.m4: New file.
84228
84229 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84230
84231         Merge from coreutils.
84232
84233         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84234         * m4/getcwd-path-max.m4: New files.
84235
84236         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84237         FILESYSTEM_PREFIX_LEN ->
84238         FILE_SYSTEM_PREFIX_LEN.
84239         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84240         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84241         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84242         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84243
84244         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84245         prerequisite modules now handle the DOS stuff.
84246         Don't check for unistd.h.
84247
84248 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84249
84250         Merge from coreutils.
84251
84252         * lib/.gdb-history: Remove; this doesn't belong here.
84253
84254         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84255         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84256         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84257         * lib/getcwd.c: New files.
84258
84259         * lib/dirname.h: Include <stdbool.h>.
84260         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84261         for consistency with POSIX terminology.  All uses changed.
84262         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84263         (strip_trailing_slashes): Use bool for booleans.
84264         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84265
84266         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84267         sometimes returns a positive errno value even when it succeeds.
84268         (print_errno_message) [!LIBC]: Fall back on strerror if
84269         __strerror_r fails.
84270
84271         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84272         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84273         (longest_relative_suffix): New function.
84274         (path_concat): Use it.  Assume first argument is not NULL.
84275         Port to DOS.  Omit redundant separators.
84276         Report an error instead of returning NULL.
84277         Use mempcpy instead of memcpy.
84278         (xpath_concat): Remove: not declared or used.
84279
84280         * lib/same.h: Include <stdbool.h>
84281         (same_name): Return bool, not int.
84282         * lib/same.c (same_name): Likewise.
84283         (errno): Don't declare; we assume C89 or better now.
84284
84285         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84286         if not already defined.
84287
84288         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84289         * lib/dup-safer.c (errno): Likewise.
84290
84291 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84292
84293         Merge from coreutils.
84294         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84295         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84296         * modules/path-concat: Don't depend on strdup.
84297
84298 2004-08-03  Simon Josefsson  <jas@extundo.com>
84299
84300         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84301         * lib/progname.h: Don't include stdbool.h.
84302
84303 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84304
84305         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84306         * MODULES.html.sh (func_all_modules): Remove fatal.
84307
84308 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84309
84310         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84311
84312 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84313
84314         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84315         working.
84316
84317 2004-08-02  Simon Josefsson  <jas@extundo.com>
84318
84319         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84320         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84321         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84322
84323 2004-08-01  Simon Josefsson  <jas@extundo.com>
84324
84325         * lib/xgetdomainname.c: Include stdlib.h, for free().
84326
84327 2004-07-19  Bruno Haible  <bruno@clisp.org>
84328
84329         * MODULES.html.sh (func_all_modules): Add dummy.
84330
84331 2004-07-16  Simon Josefsson  <jas@extundo.com>
84332
84333         * modules/dummy: New file.
84334
84335 2004-07-16  Simon Josefsson  <jas@extundo.com>
84336
84337         * lib/dummy.c: New file.
84338
84339 2004-07-16  Bruno Haible  <bruno@clisp.org>
84340
84341         * lib/backupfile.h: Add extern "C" for C++.
84342         * lib/closeout.h: Likewise.
84343         * lib/copy-file.h: Likewise.
84344         * lib/findprog.h: Likewise.
84345         * lib/full-write.h: Likewise.
84346         * lib/pathname.h: Likewise.
84347         * lib/progname.h: Likewise.
84348         * lib/stpcpy.h: Likewise.
84349         * lib/stpncpy.h: Likewise.
84350         * lib/strcase.h: Likewise.
84351         * lib/strstr.h: Likewise.
84352         * lib/xalloc.h: Likewise.
84353
84354         * lib/mbswidth.h: Add extern "C" for C++.
84355         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84356
84357 2004-07-13  Robert Millan  <robertmh@gnu.org>
84358
84359         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84360
84361 2004-07-09  Simon Josefsson  <jas@extundo.com>
84362
84363         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84364         failed without this.)
84365
84366 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84367
84368         * modules/chown (Files): Add lib/fchown-stub.c, since
84369         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84370
84371 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84372
84373         * lib/fchown-stub.c: New file.
84374
84375 2004-06-24  Jim Meyering  <jim@meyering.net>
84376
84377         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84378
84379 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84380
84381         * modules/argz: Omit "#include".
84382
84383         * MODULES.html.sh (func_all_modules): Add calloc, to match
84384         2004-06-01 addition of calloc module.
84385
84386 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84387
84388         * m4/argz.m4: New file, which is autoupdated from libtool.
84389
84390 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84391
84392         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84393         libtool.
84394
84395 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84396
84397         * config/srclist-update: Don't insist on "USA." before the
84398         close-comment, as libtool omits the period and puts the */ on a
84399         separate line.
84400         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84401         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84402
84403 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84404
84405         * modules/argz: New file.
84406         * MODULES.html.sh (func_all_modules): Add argz.
84407
84408 2004-06-12  Jim Meyering  <jim@meyering.net>
84409         and  Paul Eggert  <eggert@cs.ucla.edu>
84410
84411         * modules/hash (Files): Add lib/xalloc.h.
84412         * modules/pipe (Depends-on): Add wait-process.
84413         * modules/stat (Depends-on): Add xalloc.
84414         * modules/userspec (Files): Add lib/userspec.h.
84415         * modules/xstrto
84416
84417         Upgrade from gettext-0.13.
84418         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84419         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84420         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84421
84422 2004-06-10  Jim Meyering  <jim@meyering.net>
84423
84424         * lib/calloc.c: New file.
84425
84426 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84427
84428         * lib/getdate.y (yylex): Allow space between sign and number.
84429         Problem reported by Dan Jacobson.
84430
84431 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84432
84433         Merge from coreutils CVS.
84434
84435         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84436         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84437         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84438         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84439         xstrtol.m4: Fix copyright date and/or serial number.
84440
84441         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84442         See if we need an fchown replacement.
84443         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84444         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84445         and use the replacement function if we detect either defect.
84446
84447         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84448         gl_UTIMECMP.
84449
84450 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84451         and  Jim Meyering  <jim@meyering.net>
84452
84453         Merge from coreutils CVS.
84454
84455         * lib/stat-macros.h: New file, with contents from file-type.h
84456         and coreutils' system.h.
84457         * lib/file-type.c: Include "stat-macros.h".
84458         * lib/file-type.h (file_type): Move all macro definitions to new file,
84459         stat-macros.h.
84460
84461         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84462         Wrap old code with this conditional.
84463         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84464         function that does not dereference symlinks.
84465         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84466
84467         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84468         dependency problems.
84469         (xreadlink): Accept new arg SIZE, for efficiency.
84470         All decls and uses changed.
84471         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84472
84473         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84474         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84475
84476         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84477         sysexits.h.
84478
84479 2004-06-01  Jim Meyering  <jim@meyering.net>
84480
84481         * m4/calloc.m4: New file.
84482
84483 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84484
84485         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84486         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84487         Also, fix a typo in a diagnostic.
84488
84489 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84490
84491         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84492         or AC_FUNC_REALLOC.
84493
84494 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84495
84496         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84497         macros to be defined.
84498         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84499         the allocator returns NULL because the requested size is zero.
84500
84501 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84502
84503         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84504         var.  Add comment explaining why libc still defines it.  This
84505         merges the following patch from glibc:
84506         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84507
84508 2004-05-20  Andreas Schwab  <schwab@suse.de>
84509
84510         * m4/free.m4: Replace free if it not known to work, not the other
84511         way round.
84512
84513 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84514
84515         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84516         present in glibc since revision 1.1 of this file.
84517         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84518         obstack_alignment_mask, obstack_alloc, obstack_base,
84519         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84520         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84521         obstack_grow0, obstack_init, obstack_int_grow,
84522         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84523         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84524         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84525         nonexistent functions.
84526
84527 2004-05-18  Karl Berry  <karl@gnu.org>
84528
84529         * config/srclist.txt: break link for vasnprintf.c.
84530
84531 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84532
84533         Port obstack to the AS/400, where pointers are 16 bytes wide and
84534         you cannot cast an integer to a valid pointer.  This patch is
84535         currently waiting to be integrated into glibc; see
84536         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84537
84538         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84539         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84540         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84541         (struct obstack): temp member is now a union of a pointer and
84542         an integer, instead of an integer.  All integer uses changed.
84543         This does not affect the physical layout of struct obstack,
84544         except on hosts (like the AS/400) where the size or alignment of
84545         void * is greater than that of ptrdiff_t.
84546         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84547         __STDC__)]: Store temporary in pointer member of union, not
84548         integer member.
84549         * lib/obstack.c: Include <stddef.h>, for offsetof.
84550         (struct fooalign): Remove; it doesn't need a name.
84551         (union fooround): Change double to long double, and add void *.
84552         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84553         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84554         not a macro.  Hence the values are always int; so remove all
84555         casts-to-int in uses.
84556
84557 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84560         we can get this patch merged into glibc.
84561
84562 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84563             Paul Eggert  <eggert@cs.ucla.edu>
84564
84565         * m4/argp: Depend on alloca.
84566
84567 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84568             Paul Eggert  <eggert@cs.ucla.edu>
84569
84570         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84571         freecoding.
84572
84573 2004-05-17  Bruno Haible  <bruno@clisp.org>
84574
84575         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84576         precision that consists of a '.' followed by an empty digit string.
84577         Patch by Tor Lillqvist <tml@iki.fi>.
84578
84579 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84580
84581         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84582         for backward compatibility with older code.  We need our own
84583         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84584         it under some other name, and our alloca.h will define it.
84585
84586 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84587             Derek Price  <derek@ximbiot.com>
84588
84589         * lib/alloca.c: Include <alloca.h>, to get our interface.
84590         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84591         include <alloca.h> first.  Use C89 prototype for alloca; this
84592         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84593         Use #elif for simplicity, since we can assume C89 now.
84594         Don't try to source the system alloca.h since it will not be found
84595         and to prevent recursively including its replacement.
84596         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84597         * lib/regex.c: Likewise.
84598
84599 2004-05-16  Derek Price  <derek@ximbiot.com>
84600             Paul Eggert  <eggert@cs.ucla.edu>
84601
84602         getline cleanup.  This changes the getndelim2 API: both order of
84603         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84604         no delimiter).
84605
84606         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84607         interface does that.
84608         (getline): Always use getdelim, so that we don't have two
84609         copies of this code.
84610         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84611         if available.
84612         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84613         (GETNDELIM2_MAXIMUM): New macro.
84614         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84615         instead of the old practice of delim2==0.  All callers changed.
84616         Return -1 on overflow, instead of returning junk.
84617         Do not set *linesize unless allocation succeeds.
84618         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84619         that we include sys/types.h.
84620         * lib/getnline.h: Likewise.
84621         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84622         (getndelim2): Reorder arguments.
84623         * lib/getnline.c (getnline, getndelim):
84624         Don't discard the NMAX argument.
84625         (getnline): Invoke getndelim, to avoid code duplication.
84626         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84627         of (size_t) -1 by callers of the getnline family.
84628
84629 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84630
84631         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84632         Check for gettimeofday.
84633         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84634         Check for settimeofday, stime.
84635
84636 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84637
84638         * lib/nanosleep.c (suspended): Change its type from int to
84639         sig_atomic_t volatile.
84640         (first_call): Make it private to rpl_nanosleep, and have it
84641         be zero initially as that's a bit faster.
84642         (my_usleep): Round up fractional times instead of truncating them,
84643         as this is the usual meaning for 'sleep'.
84644
84645         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84646         doesn't work.
84647         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84648         (ENOSYS): Define if not defined.
84649         (settime): Fall back on stime if it exists and settimeofday fails.
84650         But don't bother with fallbacks if a method fails with errno == EPERM.
84651
84652 2004-05-11  Jim Meyering  <jim@meyering.net>
84653
84654         Prior to this change, the save_cwd caller required read access to the
84655         current directory on most systems (ones with the fchdir function).
84656
84657         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84658         fails, try write-only, and finally, resort to using xgetcwd.
84659
84660 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84661
84662         * lib/obstack.c, obstack.h: Import changes from libc.
84663
84664 2004-04-28  Bruno Haible  <bruno@clisp.org>
84665
84666         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84667         also implicitly appends .exe to executables.
84668         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84669         accepts Windows pathnames.
84670         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84671         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84672         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84673         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84674         Reported by Derek Robert Price <derek@ximbiot.com>.
84675
84676 2004-04-21  Karl Berry  <karl@gnu.org>
84677
84678         * config/srclist.txt (localcharset.c): break sync.
84679
84680 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84681
84682         * m4/host-os.m4: Add a copyright notice.
84683
84684 2004-04-20  Jim Meyering  <jim@meyering.net>
84685
84686         Change UTILS_ to gl_ in AC_DEFINE'd names.
84687         Change utils_- and jm_-prefixed variables, too.
84688         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84689         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84690         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84691
84692         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84693         Don't emit trailing blanks.
84694         Also rename jm_-prefixed variables to have gl_ prefix.
84695
84696         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84697         Also rename jm_-prefixed variables to have gl_ prefix.
84698
84699         * m4/jm-macros.m4: Reflect the renamings.
84700         * m4/prereq.m4: Likewise.
84701
84702 2004-04-20  Jim Meyering  <jim@meyering.net>
84703
84704         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84705         memory.
84706
84707 2004-04-20  Jim Meyering  <jim@meyering.net>
84708             Bruno Haible  <bruno@clisp.org>
84709
84710         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84711         memory when realloc fails.
84712
84713 2004-04-19  Jim Meyering  <jim@meyering.net>
84714
84715         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84716         now that readutmp.c may call `free (0)'.
84717
84718 2004-04-19  Bruno Haible  <bruno@clisp.org>
84719
84720         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84721         * m4/inttypes_h.m4: Likewise.
84722         * m4/stdint_h.m4: Likewise.
84723         * m4/intmax_t.m4: Likewise.
84724         * m4/uintmax_t.m4: Likewise.
84725
84726 2004-04-18  Jim Meyering  <jim@meyering.net>
84727
84728         * m4/prereq.m4: Don't forbid jm_ prefix.
84729
84730         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84731         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84732         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84733         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84734         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84735         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84736         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84737         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84738         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84739         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84740         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84741         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84742         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84743         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84744         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84745         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84746         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84747         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84748         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84749
84750 2004-04-18  Jim Meyering  <jim@meyering.net>
84751
84752         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84753         failure, don't leak memory and do call END_UTMP_ENT.
84754
84755 2004-04-16  Jim Meyering  <jim@meyering.net>
84756
84757         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84758         coreutils' stat program.
84759         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84760
84761 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84762
84763         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84764         C89.
84765         (CHAR_BIT): Remove, since we assume C89.
84766         Include <stdint.h> if available, as per current Autoconf CVS advice.
84767
84768 2004-03-31  Jim Meyering  <jim@meyering.net>
84769
84770         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84771         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84772         * m4/xalloc.m4: Likewise.
84773
84774 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84775
84776         Merge from coreutils.
84777
84778         * m4/inttostr.m4: New file.
84779         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84780         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84781         Require gl_CLOCK_TIME.
84782         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84783
84784 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84785
84786         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84787         not bool, to be more consistent with Unix conventions.
84788         Suggested by Bruno Haible.
84789
84790         Merge from coreutils.
84791
84792         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84793         * lib/umaxtostr.c: New files.
84794
84795         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84796         the usual <time.h> dance.
84797         (get_date): Change signature to support fractional time stamps.
84798         All callers changed.
84799         * lib/getdate.y: Include "getdate.h" first, as we can now
84800         assume C89 and don't need to worry about 'const'.
84801         Similarly, include "unlocked-io.h" near start, not in middle.
84802         Include <limits.h>.
84803         (textint.value): Use long int rather than int.
84804         (textint.digits): Use size_t rather than int.
84805         (BILLION, LOG10_BILLION): New constants.
84806         (parser_control): New member rel_ns.  Members day_ordinal,
84807         time_zone, month, day, hour, minutes, rel_year, rel_month,
84808         rel_day, rel_hour, rel_minutes, rel_seconds
84809         are now long int, not int.  Member seconds is now struct timespec,
84810         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84811         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84812         not int.
84813         (%union.intval): Now long int, not int.
84814         New member timespec.
84815         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84816         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84817         (spec): Now is a timespec or an item list.
84818         (timespec, items): New nonterminals.
84819         (time, rel, relunit, number, get_date):
84820         Add support for fractional seconds.
84821         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84822         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84823         (to_hour): First arg is now long int, not int.
84824         (to_year): Returns long int, not int.
84825         Don't treat year -70 like 70.
84826         (tm_diff): Returns long int, not int.
84827         (lookup_word): Use bool instead of int when appropriate.
84828         (yylex): Use size_t for count, not int.
84829         Detect overflow when parsing large integer constants.
84830         Add support for fractions.
84831         (get_date): Make pointers 'const' if possible.
84832         Use more-portable code to detect integer overflow.
84833         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84834         Don't use ctime; it's not reliable if the year has >4 digits.
84835
84836         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84837         This is for compatibility with BSD.
84838
84839         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84840         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84841         From coreutils' system.h.
84842
84843         * lib/userspec.c: Don't include "posixver.h".
84844         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84845         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84846         compatible extension.  Simplify code by removing a boolean int
84847         that was always nonzero if a string was nonnull.
84848
84849 2004-03-30  Jim Meyering  <jim@meyering.net>
84850
84851         Merge from coreutils.
84852
84853         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84854         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84855         on some systems one must include <grp.h> before it.
84856         Reported by Christian Krackowizer.
84857
84858 2004-03-30  Jim Meyering  <jim@meyering.net>
84859
84860         Merge from coreutils.
84861
84862         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84863
84864         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84865         an empty input stream.
84866
84867         * lib/readtokens.c: Include <stdbool.h>.
84868         (readtoken): Use `size_t' rather than int/long.
84869         All callers adjusted.
84870         Use `bool' rather than `int' where appropriate.
84871         Use memset rather than an explicit loop.
84872         Use x2nrealloc rather than xrealloc.
84873         Allow the use of `\0' as a delimiter.
84874         (readtokens): Likewise.
84875         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84876
84877 2004-03-30  Jim Meyering  <jim@meyering.net>
84878
84879         * m4/realloc.m4: Remove file, since now it does no more than
84880         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84881         the `configure.ac' section of module/realloc.
84882         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84883
84884 2004-03-30  Bruno Haible  <bruno@clisp.org>
84885
84886         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84887         nonnull.
84888
84889 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84890
84891         Merge changes to getloadavg.c from coreutils and Emacs.
84892
84893         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84894         Define to an expression, not to the empty string.
84895         Include cloexec.h and xalloc.h.
84896         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84897         Use set_cloexec_flag rather than rolling our own.
84898         * lib/cloexec.c, lib/cloexec.h: New files.
84899
84900 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84901
84902         * m4/cloexec.m4: New file.
84903
84904 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84905
84906         * lib/getopt.h: Sync with libc CVS.
84907
84908 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84909             Bruno Haible  <bruno@clisp.org>
84910
84911         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84912         mbswidth.
84913
84914 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84915             Bruno Haible  <bruno@clisp.org>
84916
84917         * lib/mbswidth.h: Include <wchar.h> only if
84918         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84919         <wchar.h>.
84920         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84921
84922 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84923
84924         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84925         Sync with libc CVS.
84926         * lib/getopt_int.h: New file, also synced from libc.
84927
84928 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84929
84930         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84931         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84932         Bring back getopt.c, getopt.h, getopt1.c.
84933
84934 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84935
84936         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84937         All uses changed.  Check for sa_sigaction member; this fixes
84938         a bug first reported by Jason Andrade in
84939         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84940
84941 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84942
84943         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84944         '#if' expressions.  Unlike the code it replaces, it does not
84945         depend on (defined _SC_PAGESIZE).  However, it does depend on
84946         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84947         first reported by Jason Andrade in
84948         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84949
84950 2004-02-25  Simon Josefsson  <jas@extundo.com>
84951
84952         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84953
84954 2004-02-25  Simon Josefsson  <jas@extundo.com>
84955
84956         * lib/strdup.h: New file.
84957         * lib/strdup.c: Include it.
84958         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84959         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84960
84961 2004-02-23  Karl Berry  <karl@gnu.org>
84962
84963         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84964         (from fencepost.gnu.org:/gd/gnuorg).
84965
84966 2004-02-23  Karl Berry  <karl@gnu.org>
84967
84968         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84969         * config/srclist.txt: add maintain/standards documents.
84970
84971 2004-02-18  Bruno Haible  <bruno@clisp.org>
84972
84973         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84974         Reported by Derek Robert Price <derek@ximbiot.com>.
84975
84976 2004-02-16  Karl Berry  <karl@gnu.org>
84977
84978         * config/mkinstalldirs, install-sh: update from automake.
84979
84980 2004-02-06  Karl Berry  <karl@gnu.org>
84981
84982         * m4/po.m4: update from gettext 0.14.1.
84983
84984 2004-02-06  Karl Berry  <karl@gnu.org>
84985
84986         * lib/config.charset: update from gettext 0.14.1.
84987
84988 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84989
84990         Add comments and code, prompted by suggestions from Bruno Haible
84991         for sh-quote.
84992         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84993         describing the enum quoting_style values.
84994         * lib/quotearg.c (quotearg_alloc): New function.
84995         (quotearg_buffer_restyled): Treat lone { and } as special.
84996         Treat = as special.  Work around bug with older shells
84997         that "see" a '\' that is really the 2nd byte of a multibyte char.
84998         Quote empty string with shell_quoting_style.
84999
85000 2004-02-03  Bruno Haible  <bruno@clisp.org>
85001
85002         * m4/pipe.m4: New file, from GNU gettext.
85003
85004 2004-02-03  Bruno Haible  <bruno@clisp.org>
85005
85006         * lib/pipe.h: New file, from GNU gettext.
85007         * lib/pipe.c: New file, from GNU gettext.
85008
85009 2004-01-27  Bruno Haible  <bruno@clisp.org>
85010
85011         * m4/execute.m4: New file, from GNU gettext.
85012
85013 2004-01-27  Bruno Haible  <bruno@clisp.org>
85014
85015         * lib/execute.h: New file, from GNU gettext.
85016         * lib/execute.c: New file, from GNU gettext.
85017         * lib/w32spawn.h: New file, from GNU gettext.
85018
85019 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85020
85021         Merge from diffutils.
85022
85023         * lib/file-type.c (file_type): Add typed memory objects.
85024         * lib/file-type.h (S_TYPEISTMO): New macro.
85025
85026         * lib/c-stack.h (c_stack_action): Remove argv argument.
85027         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85028         (die): Don't calculate message unless segv_action returns.
85029         (get_stack_location, min_address_from_argv, max_address_from_argv,
85030         volatile stack_base, volatile_stack_size): Remove.
85031         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85032         that every segmentation violation is a stack overflow.  (Ouch!)
85033         See Debian bug 136249 (still outstanding) for more info about why
85034         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85035
85036 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85037
85038         Exit-status fix from coreutils.
85039
85040         Use exit_failure consistently in place of EXIT_FAILURE,
85041         so that program exit statuses are consistent on failure.
85042
85043         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85044         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85045         * lib/argmatch.h: Comment fix to match the above.
85046         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85047         Now a macro referring to exit_failure, instead of a separate
85048         variable.  Include "exitfail.h" to get it.
85049         * lib/xstrtol.h: Include "exitfail.h".
85050         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85051
85052         * lib/long-options.c (parse_long_options): Use prototype
85053         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85054         for clarity.
85055
85056 2004-01-21  Jim Meyering  <jim@meyering.net>
85057
85058         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85059         so as not to conflict with a different-sized __mktime_internal
85060         function in GNU libc.
85061         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85062         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85063
85064 2004-01-20  Karl Berry  <karl@gnu.org>
85065
85066         * config/config.guess: update from config.
85067
85068         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85069
85070 2004-01-20  Bruno Haible  <bruno@clisp.org>
85071
85072         Safer stack allocation.
85073         * lib/setenv.c: Include allocsa.h.
85074         (alloca): Remove fallback definition.
85075         (freea): Remove macro.
85076         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85077         instead of freea.
85078
85079 2004-01-20  Bruno Haible  <bruno@clisp.org>
85080
85081         * m4/eealloc.m4: New file, from GNU gettext.
85082
85083 2004-01-20  Bruno Haible  <bruno@clisp.org>
85084
85085         * m4/allocsa.m4: New file, from GNU gettext.
85086
85087 2004-01-20  Bruno Haible  <bruno@clisp.org>
85088
85089         * lib/xallocsa.h: New file, from GNU gettext.
85090         * lib/xallocsa.c: New file, from GNU gettext.
85091
85092 2004-01-20  Bruno Haible  <bruno@clisp.org>
85093
85094         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85095
85096 2004-01-20  Bruno Haible  <bruno@clisp.org>
85097
85098         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85099         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85100         specially.
85101
85102 2004-01-20  Bruno Haible  <bruno@clisp.org>
85103
85104         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85105         patch.
85106
85107 2004-01-20  Bruno Haible  <bruno@clisp.org>
85108
85109         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85110
85111 2004-01-20  Bruno Haible  <bruno@clisp.org>
85112
85113         * lib/eealloc.h: New file.
85114
85115 2004-01-20  Bruno Haible  <bruno@clisp.org>
85116
85117         * lib/binary-io.h: Avoid warnings on Cygwin.
85118
85119 2004-01-20  Bruno Haible  <bruno@clisp.org>
85120
85121         * lib/allocsa.h: New file, from GNU gettext.
85122         * lib/allocsa.c: New file, from GNU gettext.
85123
85124 2004-01-18  Karl Berry  <karl@gnu.org>
85125
85126         * doc/gpl.texi, doc/lgpl.texi: new files.
85127
85128 2004-01-18  Karl Berry  <karl@gnu.org>
85129
85130         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85131         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85132
85133 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85134
85135         Merge from coreutils.
85136
85137         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85138         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85139         (gl_DEFAULT_POSIX2_VERSION): Move
85140         the documentation from 'configure' into 'config.hin',
85141         so that 'configure --help' isn't burdened by it and
85142         we don't have to worry about its formatting there.
85143         Reword the documentation so that it's more succinct
85144         and can be run together into a single paragraph.
85145         * m4/same.m4 (gl_SAME): Check for pathconf.
85146
85147 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85148
85149         Merge from coreutils.
85150
85151         * lib/posixver.c: Include posixver.h.
85152
85153         * lib/same.c: Include <stdbool.h>, <limits.h>.
85154         (_POSIX_NAME_MAX): Define if not defined.
85155         (MIN): New macro.
85156         (same_name): If file names are silently truncated, report
85157         that the file names are the same if they are the same after
85158         the silent truncation.
85159
85160         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85161         conversion function.
85162         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85163         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85164         longer needed.
85165
85166 2004-01-15  Jim Meyering  <jim@meyering.net>
85167
85168         Merge from coreutils.
85169
85170         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85171         if no library is required.
85172         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85173         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85174         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85175         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85176         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85177         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85178         value, $ac_cv_search_crypt, if it's "none required".
85179         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85180         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85181         not gl_FUNC_GETLOADAVG.
85182         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85183         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85184
85185 2004-01-15  Jim Meyering  <jim@meyering.net>
85186
85187         Merge from coreutils.
85188
85189         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85190         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85191         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85192
85193         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85194         optional configure-time default.
85195
85196         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85197
85198         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85199
85200 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85201
85202         Merge from coreutils.
85203
85204         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85205         value, $ac_cv_search_nanosleep, if it's "none required".
85206
85207 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85208
85209         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85210         with like-named macro in fnmatch.c.
85211         (EXT): Use an internal constant instead.
85212
85213         Merge fnmatch patches from glibc.
85214         * lib/fnmatch.c (mbsinit): Remove define.
85215         Add libc_hidden_ver (__fnmatch, fnmatch).
85216         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85217         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85218
85219 2004-01-14  Karl Berry  <karl@gnu.org>
85220
85221         * config/install-sh: update from automake.
85222
85223 2004-01-13  Karl Berry  <karl@gnu.org>
85224
85225         * config/install-sh: update from automake.
85226
85227 2004-01-09  Karl Berry  <karl@gnu.org>
85228
85229         * config/install-sh: update from automake.
85230
85231 2004-01-05  Karl Berry  <karl@gnu.org>
85232
85233         * config/config.{sub,guess}: update from config.
85234
85235 2003-12-31  Karl Berry  <karl@gnu.org>
85236
85237         * config/depcomp: update from automake.
85238
85239 2003-12-14  Karl Berry  <karl@gnu.org>
85240
85241         * lib/config.charset: update from gettext-runtime.
85242
85243 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85244
85245         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85246         Bug reported by Alfred M. Szmidt.
85247
85248 2003-12-03  Bruno Haible  <bruno@clisp.org>
85249
85250         * m4/gettext.m4: Upgrade from gettext-0.13.
85251         * m4/po.m4: Upgrade from gettext-0.13.
85252         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85253         * m4/intmax.m4: New file, from gettext-0.13.
85254         * m4/printf-posix.m4: New file, from gettext-0.13.
85255
85256 2003-11-29  Karl Berry  <karl@gnu.org>
85257
85258         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85259
85260 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85261             Bruno Haible  <bruno@clisp.org>
85262
85263         * lib/printf-parse.h: Don't include sys/types.h.
85264         (ARG_NONE): New macro.
85265         (char_directive): Change type of *arg_index fields to size_t.
85266         * lib/printf-parse.c: Don't include sys/types.h.
85267         (SSIZE_MAX): Remove macro.
85268         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85269         Remove unnecessary overflow check.
85270         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85271         fields.
85272
85273 2003-11-25  Bruno Haible  <bruno@clisp.org>
85274
85275         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85276
85277 2003-11-25  Bruno Haible  <bruno@clisp.org>
85278
85279         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85280         gt_TYPE_SSIZE_T.
85281
85282 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85283
85284         * modules/alloca: Remove dependency on xalloc.
85285
85286 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85287
85288         * lib/alloca.c: Remove dependency on xalloc module.
85289         (xalloc_die): Remove.
85290         (memory_full) [!defined emacs]: New macro.
85291         [!defined emacs]: Don't include xalloc.h.
85292         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85293         address arithmetic overflows.  Change datatypes a bit to avoid
85294         unnecessary casts.
85295
85296 2003-11-22  Jim Meyering  <jim@meyering.net>
85297
85298         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85299         s/size/size_t/.
85300
85301 2003-11-21  Karl Berry  <karl@gnu.org>
85302
85303         * config/config.{sub,guess}: update from config.
85304
85305 2003-11-18  Karl Berry  <karl@gnu.org>
85306
85307         * config/config.{sub,guess}: update from config.
85308
85309         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85310
85311 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85312
85313         * README: Mention that S+T cannot overflow if S is the size of
85314         an existing object and T is sufficiently small.
85315
85316 2003-11-17  Jim Meyering  <jim@meyering.net>
85317
85318         On systems without utime and without a utimes function capable of
85319         dealing with a NULL struct utimbuf* argument, this utime replacement
85320         could -- in unusual circumstances -- leak a file descriptor.
85321         * lib/utime.c: Include <unistd.h> and <errno.h>.
85322         (utime_null): Be sure to close `fd' and to preserve errno.
85323         Reported by Geoff Collyer via Arnold Robbins.
85324
85325 2003-11-17  Bruno Haible  <bruno@clisp.org>
85326
85327         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85328         (Depends-on): Add xsize.
85329
85330 2003-11-17  Bruno Haible  <bruno@clisp.org>
85331
85332         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85333
85334 2003-11-17  Bruno Haible  <bruno@clisp.org>
85335
85336         * lib/vasnprintf.c (alloca): Remove fallback definition.
85337         (freea): Remove definition.
85338         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85339         Reported by Paul Eggert.
85340
85341 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85342             Bruno Haible  <bruno@clisp.org>
85343
85344         Protect against address arithmetic overflow.
85345         * lib/printf-args.h: Include stddef.h.
85346         (arguments): Change type of field 'count' to size_t.
85347         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85348         'unsigned int' where appropriate.
85349         * lib/printf-parse.h: Include sys/types.h.
85350         (char_directive): Change type of *arg_index fields to ssize_t.
85351         (char_directives): Change type of fields 'count', max_*_length to
85352         size_t.
85353         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85354         (SSIZE_MAX): Define fallback value.
85355         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85356         instead of 'int' where appropriate. Check a_allocated, d_allocated
85357         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85358         * lib/vasnprintf.c: Include xsize.h.
85359         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85360         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85361         overflow. Avoid wraparound when converting a width or precision from
85362         decimal to binary.
85363
85364 2003-11-16  Bruno Haible  <bruno@clisp.org>
85365
85366         Update from GNU gettext.
85367         * lib/printf-parse.c: Generalize to it can be compiled for wide
85368         strings.
85369         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85370         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85371         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85372         SNPRINTF): New macros.
85373         Don't include <alloca.h> if the file is used inside libintl.
85374         (local_wcslen): New function, for Solaris 2.5.1.
85375         (VASNPRINTF): Use it instead of wcslen.
85376
85377 2003-11-16  Bruno Haible  <bruno@clisp.org>
85378
85379         * lib/xsize.h (xmax): New function.
85380         (xsum, xsum3, xsum4): Declare as "pure" functions.
85381
85382 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85383
85384         * modules/xalloc (Files): Undo latest change, since xalloc.h
85385         no longer needs SIZE_MAX or PTRDIFF_MAX.
85386
85387 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85388
85389         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85390         gl_PTRDIFF_MAX.
85391
85392 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85393
85394         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85395         "return", to pacify some unknown compiler.  Problem reported
85396         by Joerg Schilling.
85397
85398 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85399
85400         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85401         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85402         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85403         heuristic is just as accurate as far as we know, and it removes a
85404         dependency on size_max.m4 and ptrdiff_max.m4.
85405
85406 2003-11-11  Bruno Haible  <bruno@clisp.org>
85407
85408         * modules/xsize (Files): Add m4/size_max.m4.
85409         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85410
85411 2003-11-11  Bruno Haible  <bruno@clisp.org>
85412
85413         * m4/size_max.m4: New file.
85414         * m4/ptrdiff_max.m4: New file.
85415         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85416         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85417         (gl_XALLOC): Invoke it.
85418
85419 2003-11-11  Bruno Haible  <bruno@clisp.org>
85420
85421         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85422         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85423         defined.
85424
85425 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85426
85427         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85428         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85429         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85430         From Bruno Haible.
85431         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85432         not (size_t) -1, since it's defined here.
85433
85434 2003-11-09  Karl Berry  <karl@gnu.org>
85435
85436         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85437
85438 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85439
85440         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85441         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85442         Reject sizes of exactly SIZE_MAX bytes.
85443         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85444         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85445
85446 2003-11-05  Bruno Haible  <bruno@clisp.org>
85447
85448         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85449         SIZE_MAX defined in <limits.h> on Solaris.
85450
85451 2003-11-04  Jim Meyering  <jim@meyering.net>
85452
85453         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85454         variable names, rather than @VAR@.
85455         * modules/poll: Likewise.
85456
85457 2003-11-04  Bruno Haible  <bruno@clisp.org>
85458
85459         * modules/xsize: New file.
85460         * modules/linebreak: Depend on xsize.
85461         * MODULES.html.sh (func_all_modules): Add xsize.
85462
85463 2003-11-04  Bruno Haible  <bruno@clisp.org>
85464
85465         * m4/xsize.m4: New file.
85466
85467 2003-11-04  Bruno Haible  <bruno@clisp.org>
85468
85469         * lib/xsize.h: New file.
85470         * lib/linebreak.c: Include xsize.h.
85471         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85472         argument for overflow.
85473         Suggested by Paul Eggert.
85474
85475 2003-11-03  Karl Berry  <karl@gnu.org>
85476
85477         * config/config.{guess,sub}: update from config.
85478
85479 2003-11-03  Jim Meyering  <jim@meyering.net>
85480
85481         * modules/userspec (lib_SOURCES): Add userspec.h.
85482         (Include): Add "userspec.h".
85483         Improve description.
85484
85485 2003-11-03  Jim Meyering  <jim@meyering.net>
85486
85487         * lib/userspec.c: Include "userspec.h".
85488         * lib/userspec.h: New file.
85489
85490 2003-11-03  Bruno Haible  <bruno@clisp.org>
85491
85492         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85493
85494 2003-11-03  Bruno Haible  <bruno@clisp.org>
85495
85496         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85497         available, to avoid (extremely rare) race condition.
85498         Suggested by Paul Eggert.
85499
85500 2003-11-02  Karl Berry  <karl@gnu.org>
85501
85502         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85503
85504 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85505
85506         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85507         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85508         (read_filesystem_list): Set and use me_type_malloced.
85509         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85510         whatever the type happens to be), for brevity and consistency.
85511         Check for size calculation overflow on Alphas running OSF/1.
85512
85513 2003-10-31  Jim Meyering  <jim@meyering.net>
85514
85515         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85516
85517         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85518
85519 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85520             Bruno Haible  <bruno@clisp.org>
85521
85522         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85523         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85524
85525 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85526
85527         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85528         netbsd*-gnu*.  Suggested by Robert Millan.
85529
85530 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85531
85532         * modules/group-member: Depend on stdbool.
85533
85534 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85535
85536         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85537
85538 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85539
85540         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85541         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85542         after the 'gnu' in these cases.  This fixes some bugs in the
85543         previous change, and is based on suggestions by Robert Millan.
85544
85545 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85546
85547         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85548         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85549         no longer needed.
85550         * lib/quotearg.c (quotearg_n_options): Use it.
85551         * lib/group-member.c: Include <stdbool.h>.
85552         (free_group_info): Arg is now const *; don't free arg.
85553         (get_group_info): Now returns bool and accepts struct group_info *,
85554         rather than returning a malloc'ed struct group_info *.
85555         All uses changed.  Check for overflow in internal size calculation.
85556
85557         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85558         rather than xmalloc/xrealloc.
85559         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85560         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85561         conformance bug: the old code used a pointer after freeing the
85562         storage that it addressed.
85563         * lib/hash.c (hash_initialize): Simplify the code by using
85564         xalloc_oversized rather than doing it by hand.
85565         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85566         the buffer preserved.  Use free and xmalloc instead.
85567         * lib/quotearg.c (quotearg_n_options): Likewise.
85568         Use a simpler test for size overflow.  Don't use xalloc_oversized
85569         because unsigned int might be wider than size_t (!); this suggests
85570         that we should switch from unsigned int to size_t for slot numbers.
85571
85572 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85573
85574         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85575         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85576         NetBSD kernels.  Requested by Richard Stallman.
85577
85578 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85579
85580         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85581         to allocate the returned structure.  Do not allocate a subarray,
85582         as x2nrealloc will do that.
85583         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85584         instead of xnrealloc.
85585         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85586
85587 2003-10-27  Bruno Haible  <bruno@clisp.org>
85588
85589         * lib/stdbool_.h: Better support for BeOS.
85590
85591 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85592
85593         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85594         now uses inline.
85595
85596 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85597
85598         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85599         callers that want to do their own size-overflow checking.  Include
85600         <stdbool.h>, since xalloc_oversized returns bool.
85601         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85602         to use xalloc_oversized.
85603
85604         Add two functions x2realloc, x2nrealloc, for programs that grow
85605         arrays dynamically by doubling their sizes.
85606         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85607         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85608         New functions.
85609
85610         Port to C99 semantics for 'inline' of external functions.
85611         Bug reported by Bruno Haible.
85612         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85613         with the old contents of xnmalloc.
85614         (xnmalloc, xmalloc): Use it.
85615         (xnrealloc_inline): New static inline function,
85616         with the old contents of xnrealloc.
85617         (xnrealloc, xrealloc): Use it.
85618
85619         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85620         that.
85621
85622 2003-10-26  Karl Berry  <karl@gnu.org>
85623
85624         * config/srclist.txt (COPYING.DOC): no longer available from
85625         /gd/gnuorg; don't know where the ultimate source is.
85626
85627 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85628
85629         Fix several address-calculation bugs in the hash modules,
85630         plus some minor code cleanup.
85631
85632         * lib/hash.h: Include <stdbool.h>, for bool.
85633         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85634         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85635         hash_get_n_entries, hash_get_max_bucket_length,
85636         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85637         hash_rehash): Use size_t rather than unsigned.
85638         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85639         hash_get_n_buckets_used, hash_get_n_entries,
85640         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85641         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85642         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85643         Likewise.
85644         (SIZE_MAX): Define if not defined.
85645         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85646         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85647         hash_print):
85648         Use const * when possible.
85649         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85650         (check_tuning): Fix bug: if tuning parameters were very close to
85651         0 or 1, rounding errors could have caused subscript violations.
85652         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85653         (hash_initialize): Add 'fail:' label
85654         to free table and return NULL, and use it to simplify code.
85655         Use calloc rather than clearing the storage ourself.
85656         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85657         buffer size calculations.
85658         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85659         Include <stddef.h>, for size_t.
85660         * lib/hash-pjw.c (hash_pjw): Likewise.
85661         Switch to method described by Bruno Haible.
85662         Include <limits.h>, for CHAR_BIT.
85663         (SIZE_BITS): New macro.
85664
85665 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85666
85667         * m4/getline.m4 (AM_FUNC_GETLINE):
85668         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85669         hosts.  Problem reported by Derek Robert Price in
85670         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85671         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85672         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85673
85674 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85675
85676         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85677         ceiling the allocation at NMAX bytes rather than silently
85678         discarding input bytes before NMAX is reached.  This makes
85679         a difference only if NMAX exceeds SIZE_MAX / 2.
85680
85681         * lib/obstack.c: Merge from glibc.
85682         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85683         Add libc_hidden_def (_obstack_newchunk).
85684         (_obstack_free) [! defined _LIBC]: Remove.
85685         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85686         a clone of the function body.
85687         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85688         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85689
85690         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85691         glibc.
85692         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85693         arg to memcpy.
85694
85695         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85696         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85697         Don't use lvalue casts, as GCC plans to remove support for them
85698         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85699         was also present in the non-GCC version, indicating that this
85700         code had always been buggy and had never been widely used.
85701         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85702         Use the fast variant of each macro, rather than copying the
85703         definiens of the fast variant; that way, we'll be more likely to
85704         catch future bugs in the fast variants.
85705
85706 2003-10-20  Bruno Haible  <bruno@clisp.org>
85707
85708         * modules/wait-process: New file.
85709         * MODULES.html.sh (func_all_modules): Add wait-process.
85710
85711 2003-10-20  Bruno Haible  <bruno@clisp.org>
85712
85713         * m4/wait-process.m4: New file.
85714
85715 2003-10-20  Bruno Haible  <bruno@clisp.org>
85716
85717         * lib/wait-process.h: New file, from GNU gettext.
85718         * lib/wait-process.c: New file, from GNU gettext.
85719
85720 2003-10-19  Jim Meyering  <jim@meyering.net>
85721
85722         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85723         HPUX 10.20.
85724
85725 2003-10-18  Karl Berry  <karl@gnu.org>
85726
85727         * config/config.guess: update from config.
85728
85729 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85730
85731         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85732         (getgroups): First arg is int, not size_t.
85733         Don't let 'free' mangle errno.
85734
85735 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85736
85737         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85738
85739 2003-10-16  Karl Berry  <karl@gnu.org>
85740
85741         * config/config.{guess,sub}: update from config.
85742
85743 2003-10-16  Jim Meyering  <jim@meyering.net>
85744
85745         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85746         memcpy.
85747
85748 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85749
85750         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85751         (SIZE_MAX): Remove.
85752         (new_exclude, add_exclude_file): Initial size no longer needs to
85753         be a power of 2.
85754         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85755         our own address arithmetic overflow checking.
85756
85757         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85758         (fnmatch): Do not alloca more than 2000 wide characters;
85759         instead, use malloc for large buffers.
85760         Check for address arithmetic overflow, and return -1
85761         with errno set to ENOMEM in that case.
85762         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85763         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85764         instead, return -1.  Check for address arithmetic overflow.
85765
85766 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85767
85768         Handle invalid suffixes and overflow independently, so that
85769         callers can treat them independently as needed.  Fix some bugs in
85770         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85771         suffix for a human-readable blocksize.  The major caller-visible
85772         change is the addition of a new
85773         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85774         that both overflow and suffix chars were found.
85775
85776         * lib/human.c (humblock): Don't check separately for invalid suffix
85777         char; that is xstrtoumax's job (now that its bug is fixed).
85778         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85779         INTMAX_MAX]: New macros.
85780         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85781         TYPE_MAXIMUM): New macros.
85782         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85783         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85784         if overflow occurs, as it's what __strtol does and it's more useful
85785         in practice.
85786         (__xstrtol): If __strtol reports some error other than ERANGE,
85787         reflect it to the caller as LONGINT_INVALID.  If it reports
85788         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85789         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85790         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85791         value.
85792         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85793         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85794         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85795         [defined UINTMAX_MAX]: New macros.
85796
85797 2003-10-14  Bruno Haible  <bruno@clisp.org>
85798
85799         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85800
85801 2003-10-14  Bruno Haible  <bruno@clisp.org>
85802
85803         * m4/sig_atomic_t: New file, from GNU gettext.
85804         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85805
85806 2003-10-14  Bruno Haible  <bruno@clisp.org>
85807
85808         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85809         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85810         Also use volatile where needed.
85811
85812 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85813
85814         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85815         Change maintainer from Bruno Haible to 'all'.
85816
85817 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85818
85819         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85820
85821 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85822
85823         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85824         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85825         and define in terms of the other primitives.
85826         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85827         (SIZE_MAX): Define if not already defined.
85828         (array_size_overflow): New function.
85829         (xalloc_die): Abort instead of exiting if 'error' returns.
85830         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85831         (xmalloc, xrealloc): Use them.
85832         (xcalloc): Check for address arithmetic overflow.
85833         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85834         a bit faster than strcpy.
85835
85836 2003-10-10  Simon Josefsson  <jas@extundo.com>
85837
85838         * modules/argp (Depends-on): Add restrict and strcase.
85839
85840 2003-10-10  Simon Josefsson  <jas@extundo.com>
85841
85842         * m4/argp.m4: Add AC_C_INLINE.
85843
85844 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85845
85846         Merge getpass from libc, plus a few fixes.
85847
85848         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85849         Include <stdbool.h>.
85850         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85851         __fsetlocking to empty.
85852         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85853         do include <bits/libc-lock.h>.
85854         Do not include <fcntl.h>; not needed.
85855         [_LIBC]: Include <wchar.h>.
85856         (NOTCANCEL_MODE): New macro.
85857         (flockfile, funlockfile) [_LIBC]: New macros.
85858         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85859         [!_LIBC]: New macros.
85860         (call_fclose): New function.
85861         (getpass): Use it.  Save tty stream separately; this simplifies the
85862         code and makes it more reliable if stdin happens to equal stdout.
85863         Invoke __fsetlocking on tty.
85864         Handle thread cancellation if needed.
85865         Namespace cleanup (use __tcgetattr, __getline).
85866         Use bool for Booleans.
85867         [USE_IN_LIBIO]: Handle wide streams.
85868         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85869         stream might go where.
85870
85871         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85872         doesn't have to include <stdio.h> before us.
85873         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85874         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85875         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85876         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85877         if not declared, so that we can use getpass.c code from libc without
85878         rewriting it.
85879         (flockfile, ftrylockfile, funlockfile): New macros.
85880
85881 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85882
85883         * modules/getpass: Depend on stdbool.
85884
85885 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85886
85887         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85888
85889 2003-10-07  Karl Berry  <karl@gnu.org>
85890
85891         * config/config.{guess,sub}: update from config.
85892
85893 2003-10-06  Jim Meyering  <jim@meyering.net>
85894             Bruno Haible  <bruno@clisp.org>
85895
85896         This lets translators provide better translations for the
85897         "Written by ..." part of --version output.
85898         * lib/version-etc.h: Include stdarg.h.
85899         (version_etc_copyright): Declare as readonly.
85900         (version_etc): Make this function variadic with a NULL-terminated list
85901         of author name strings.
85902         (version_etc_va): New declaration.
85903         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85904         (version_etc_copyright): Declare as readonly.
85905         (version_etc_va): New function. Provide a different translatable string
85906         for each possible number of authors < 10. Abbreviate when there are 10
85907         authors or more.
85908         (version_etc): Make this function variadic. Call version_etc_va.
85909         Suggestion from Gary V. Vaughan.
85910
85911         * lib/long-options.h (parse_long_options): Change prototype: the
85912         authors string is moved to the end and becomes variadic.
85913         * lib/long-options.c: Include stdarg.h.
85914         (parse_long_options): Make this function variadic, too.
85915         Call version_etc_va, not version_etc.
85916
85917 2003-10-06  Bruno Haible  <bruno@clisp.org>
85918
85919         * modules/version-etc-2: Remove file.
85920         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85921
85922 2003-10-06  Bruno Haible  <bruno@clisp.org>
85923
85924         * modules/fatal-signal: New file.
85925         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85926
85927 2003-10-06  Bruno Haible  <bruno@clisp.org>
85928
85929         * m4/fatal-signal.m4: New file.
85930         * m4/signalblocking.m4: New file, from GNU gettext.
85931
85932 2003-10-06  Bruno Haible  <bruno@clisp.org>
85933
85934         * lib/version-etc-2.h: Remove file.
85935         * lib/version-etc-2.c: Remove file.
85936
85937 2003-10-06  Bruno Haible  <bruno@clisp.org>
85938
85939         * lib/fatal-signal.h: New file, from GNU gettext.
85940         * lib/fatal-signal.c: New file, from GNU gettext.
85941
85942 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85943
85944         * README: Rework advice for preventing empty .o files.
85945         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85946         not <sys/types.h>.
85947
85948 2003-10-04  Karl Berry  <karl@gnu.org>
85949
85950         * lib/argp*: update from libc.
85951
85952 2003-10-04  Karl Berry  <karl@gnu.org>
85953
85954         * config/config.{guess,sub}: update from config.
85955
85956 2003-10-02  Bruno Haible  <bruno@clisp.org>
85957
85958         * modules/lchown (Include): Add lchown.h.
85959         * modules/time_r (Include): Use "..." syntax.
85960         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85961
85962 2003-10-01  Simon Josefsson  <jas@extundo.com>
85963
85964         * MODULES.html.sh (func_all_modules): Move gethostname from section
85965         'based on' to section 'lacking' POSIX:2001.
85966
85967 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85968
85969         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85970         to output mode on the same stream.
85971
85972 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85973
85974         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85975         Fix arg typo in previous patch.
85976
85977 2003-09-28  Jim Meyering  <jim@meyering.net>
85978
85979         * lib/error.c: Correct cpp indentation.
85980
85981 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85982
85983         * modules/free: New file.
85984
85985 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85986
85987         * m4/free.m4: New file.
85988
85989 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85990
85991         * lib/minmax.h (MIN, MAX)
85992         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85993         Omit the special code that used __typeof__, since we worry that
85994         it could be more trouble than it's worth.  See:
85995         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85996         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85997
85998         * lib/free.c: New file.
85999
86000 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86001
86002         Trivial fixes to Makefile.am parts of module listings.
86003         * modules/strstr: Append strstr.h to lib_SOURCES.
86004         * modules/strcase: Likewise, for strcase.h.
86005
86006 2003-09-27  Karl Berry  <karl@gnu.org>
86007
86008         * config/mkinstalldirs: update from automake.
86009
86010 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86011
86012         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86013         (error_tail): Do not loop, reallocating temporary buffer, since
86014         the output cannot contain more wide characters than the input
86015         contains bytes, the size must be big enough already.  This avoids
86016         one potential size overflow calculation.  Check for size overflow
86017         when calculating temporary buffer size.  Free temporary buffer
86018         when done, if it was allocated with malloc; this plugs a memory
86019         leak.  Remove casts from void * to pointers, that are no longer
86020         needed now that we're assuming C89 or better.
86021
86022         Merge error changes from glibc.
86023
86024         * lib/error.c, error.h: Update copyright notice header to match glibc.
86025         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86026         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86027         Disable cancellation while printing error.
86028         * lib/error.h: Prepend __ to parameter names.
86029
86030 2003-09-26  Jim Meyering  <jim@meyering.net>
86031
86032         * lib/error.c (error_tail): Move some declarations
86033         into inner scope where the local variables are used.
86034
86035 2003-09-26  Bruno Haible  <bruno@clisp.org>
86036
86037         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86038         stpncpy().
86039         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86040
86041 2003-09-26  Bruno Haible  <bruno@clisp.org>
86042
86043         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86044         (stpncpy): Define as alias for gnu_stpncpy.
86045         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86046
86047 2003-09-25  Simon Josefsson  <jas@extundo.com>
86048
86049         * lib/xgetdomainname.h: New file.
86050         * lib/xgetdomainname.c: New file.
86051
86052 2003-09-25  Simon Josefsson  <jas@extundo.com>
86053             Bruno Haible  <bruno@clisp.org>
86054
86055         * modules/getdomainname: New file.
86056         * modules/xgetdomainname: New file.
86057         * MODULES.html.sh (func_all_modules): Add getdomainname,
86058         xgetdomainname.
86059
86060 2003-09-25  Simon Josefsson  <jas@extundo.com>
86061             Bruno Haible  <bruno@clisp.org>
86062
86063         * m4/getdomainname.m4: New file.
86064
86065 2003-09-25  Simon Josefsson  <jas@extundo.com>
86066             Bruno Haible  <bruno@clisp.org>
86067
86068         * lib/getdomainname.h: New file.
86069         * lib/getdomainname.c: New file.
86070
86071 2003-09-25  Karl Berry  <karl@gnu.org>
86072
86073         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86074
86075 2003-09-25  Karl Berry  <karl@gnu.org>
86076
86077         * config/install-sh: update from automake.
86078
86079 2003-09-25  Bruno Haible  <bruno@clisp.org>
86080
86081         * modules/version-etc-2: New file, from modules/version-etc with
86082         modifications.
86083         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86084
86085 2003-09-25  Bruno Haible  <bruno@clisp.org>
86086
86087         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86088         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86089
86090 2003-09-24  Simon Josefsson  <jas@extundo.com>
86091
86092         * modules/xgethostname: Add xgethostname.h.
86093
86094 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86095
86096         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86097         the buffer associated with the argument.  Bug reported by
86098         Simon Josefsson.
86099
86100 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86101
86102         * README: Document assumptions that 'int' is at least 32 bits
86103         wide, that integer arithmetic is 2's complement without overflow,
86104         that there are no holes in integer values, that adding sizes of
86105         two nonoverlapping objects can't overflow, and that all-bits-zero
86106         yields scalar zero.  Fix spelling and capitalization typos.
86107
86108 2003-09-19  Karl Berry  <karl@gnu.org>
86109
86110         * lib/argp.h: update from libc.
86111
86112 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86113
86114         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86115         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86116         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86117
86118 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86119
86120         * gnulib-tool: Use "test -h", not "test -L", for portability
86121         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86122         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86123         (sed_extract_prog): Issue s commands one-by-one, rather than
86124         using \| in one s command.
86125
86126 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86127
86128         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86129         input error, instead of returning NULL the next time we are called
86130         (and therefore losing track of errno).
86131
86132 2003-09-16  Bruno Haible  <bruno@clisp.org>
86133
86134         * gnulib-tool (func_create_testdir): Warn about duplicated
86135         dependencies.
86136
86137 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86138
86139         * modules/argmatch, modules/fatal, modules/obstack,
86140         modules/xalloc, modules/xgethostname: Sort dependencies by
86141         importance, not alphabetically.
86142
86143 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86144
86145         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86146         fails, so that the caller gets the proper errno.
86147
86148         * lib/readutmp.c (read_utmp): Likewise.
86149         Check for fstat error.  Close stream and free storage
86150         when failing.
86151
86152 2003-09-14  Karl Berry  <karl@gnu.org>
86153
86154         * config/srclist.txt (strdup.c): disable for c89 changes.
86155
86156 2003-09-14  Jim Meyering  <jim@meyering.net>
86157
86158         * lib/getloadavg.c: Correct cpp indentation.
86159         * lib/strdup.c: Likewise.
86160         * lib/vasnprintf.c: Likewise.
86161
86162 2003-09-14  Bruno Haible  <bruno@clisp.org>
86163
86164         * modules/fwriteerror: New file.
86165         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86166
86167 2003-09-14  Bruno Haible  <bruno@clisp.org>
86168
86169         * lib/fwriteerror.h: New file.
86170         * lib/fwriteerror.c: New file.
86171
86172 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86173
86174         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86175         modules/xgethostname, modules/xalloc: Depend on exit.
86176
86177 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86178
86179         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86180
86181         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86182         and AC_MINIX, too, so that their extensions are available.
86183
86184         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86185         This macro has been superseded by gl_BACKUPFILE.
86186
86187         More patches to assume C89 or better.
86188
86189         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86190
86191         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86192         unconditionally.
86193         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86194         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86195         Include <string.h>, <stdlib.h> unconditionally.
86196         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86197         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86198         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86199         headers or for string.h.
86200         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86201         or strtoul.
86202
86203         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86204         headers.
86205         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86206         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86207         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86208         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86209         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86210         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86211         memcpy, memset.
86212         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86213         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86214         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86215         strtol.
86216         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86217         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86218         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86219         strtoul.
86220
86221 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86222
86223         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86224         * lib/obstack.c [!defined _LIBC]: Likewise.
86225         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86226         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86227         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86228
86229         More changes to assume C89 or better.
86230
86231         * lib/error.c (error_tail): Assume vprintf.
86232
86233         * lib/argmatch.c (getenv): Remove decl.
86234         * lib/progreloc.c (get_full_program_name): Define via prototype.
86235         * lib/setenv.c (clearenv): Likewise.
86236         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86237         needed.
86238         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86239         (malloc, memcpy): Remove decls.
86240         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86241         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86242         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86243         (memcpy): Remove macro.
86244         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86245         (__P): Remove.  All uses removed.
86246         (PTR): Remove.  All uses changed to void *.
86247         (CHAR_BIT, NULL): Remove.
86248         (spaces, zeros, memset_space, memset_zero)
86249         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86250         Remove.
86251         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86252         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86253         Define with prototype.
86254         Remove now-unnecessary prototype decl.
86255         (extra_args_spec): Assume ANSI C.  All uses changed.
86256         (extra_args_spec_iso): Remove.
86257         (my_strftime, emacs_strftimeu): Define via prototype.
86258         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86259         unconditionally.
86260         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86261         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86262         (strtoul, strtol): Remove decls.
86263         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86264         LONG_MAX): Remove.
86265         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86266         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86267         (LOCALE_PARAM_PROTO): New macro.
86268         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86269         (INTERNAL (strtol), strtol): Define with a prototype.
86270         (PARAMS): Remove.  All uses removed.
86271         * lib/tempname.c: Include <string.h> unconditionally.
86272         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86273         * lib/xgethostname.c (main): Define with a prototype.
86274         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86275         Include <stdlib.h> unconditionally.
86276         (calloc, malloc, realloc, free): Remove decls.
86277         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86278         Include <stdlib.h> unconditionally.  Sort include file names.
86279         (strtod): Remove.
86280         (xstrtod): Define with a prototype.
86281         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86282         (strtol, strtoul): Remove decls.
86283
86284 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86285
86286         More patches to assume C89 or better.
86287         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86288         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86289         string.h, memchr, STDC_HEADERS.
86290
86291 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86292
86293         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86294         Include <stdlib.h>, <string.h> unconditionally.
86295         Remove now-unnecessary cast to char *.
86296         * lib/strnlen.c: Include <string.h> unconditionally.
86297         * lib/yesno.c (yesno): Define with a prototype.
86298
86299 2003-09-11  Bruno Haible  <bruno@clisp.org>
86300
86301         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86302
86303 2003-09-10  Jim Meyering  <jim@meyering.net>
86304
86305         * lib/error.c: Correct indentation of cpp directives.
86306
86307 2003-09-10  Bruno Haible  <bruno@clisp.org>
86308
86309         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86310         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86311         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86312         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86313         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86314         <stdlib.h> and <string.h> checks.
86315         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86316         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86317
86318 2003-09-10  Bruno Haible  <bruno@clisp.org>
86319
86320         * lib/strcspn.c: Include <string.h> unconditionally.
86321         * lib/strpbrk.c: Include <string.h> unconditionally.
86322         * lib/strstr.c: Include <string.h> unconditionally.
86323         * lib/unicodeio.c: Include <string.h> unconditionally.
86324         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86325         * lib/unsetenv.c: Likewise.
86326         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86327         * lib/yesno.c: Include <stdlib.h> unconditionally.
86328         (rpmatch): Add prototype.
86329
86330 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86331
86332         More patches to assume C89 or better.
86333         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86334         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86335         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86336         or for string.h.
86337         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86338         stdlib.h.
86339         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86340         C headers.
86341         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86342         string.h.
86343         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86344         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86345         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86346         or for string.h.
86347         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86348         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86349         C headers.
86350         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86351         memcpy.
86352         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86353         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86354         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86355         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86356         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86357         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86358         string.h, free.
86359         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86360         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86361         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86362         C headers, or for string.h.
86363         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86364         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86365         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86366         headers, memory.h, stdlib.h, string.h, strings.h.
86367         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86368         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86369         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86370         strchr.
86371         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86372         headers, memory.h, string.h.
86373         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86374         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86375         free.
86376         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86377         headers.
86378         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86379         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86380         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86381         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86382         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86383
86384 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86385
86386         More K&R removal.
86387
86388         * lib/acosl.c (main): Use a prototype.
86389         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86390         tanl.c: Likewise.
86391
86392         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86393
86394         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86395         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86396         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86397         with a prototype.
86398         * lib/getopt.c (const): Remove macro.
86399         Include <string.h> unconditionally.
86400         (my_index): Remove; all uses changed to strchr.
86401         (strlen): Remove decl.
86402         (exchange): Remove forward decl; no longer needed.
86403         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86404         Define with prototype.
86405         * lib/getopt1.c (const): Remove macro.
86406         (getopt_long, getopt_long_only, main): Define with prototype.
86407
86408         * lib/getugroups.c: Include <string.h> unconditionally.
86409
86410         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86411         (getusershell, setusershell, endusershell, readname, main):
86412         Define with prototypes.
86413
86414         * lib/group-member.c: Include group-member.h first.
86415         Include <stdlib.h> unconditionally.
86416
86417         * lib/hard-locale.c: Include hard-locale.h first.
86418         Include <stdlib.h>, <string.h> unconditionally.
86419
86420         * lib/hash.c (free, malloc): Remove decls.
86421         Include <stdlib.h> unconditionally.
86422
86423         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86424         (getenv): Do not declare.
86425
86426         * lib/idcache.c: Include <string.h> unconditionally.
86427
86428         * lib/long-options.c: Include long-options.h first, to test interface.
86429         Include <stdlib.h> unconditionally.
86430
86431         * lib/makepath.c: Include makepath.h first, to test interface.
86432         Include <stdlib.h> and <string.h> unconditionally.
86433
86434         * lib/linebuffer.c: Include <stdlib.h>.
86435         (free): Remove decl.
86436
86437         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86438         stddef.h. rpl_malloc returns void *, not char *.
86439         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86440         prototype.
86441
86442         * lib/md5.h: Include <limits.h> unconditionally.
86443         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86444         (__P): Remove; all uses removed.
86445         * lib/md5.c: Include "md5.h" first.
86446         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86447         md5_buffer, md5_process_bytes, md5_process_block):
86448         Define with prototypes.
86449         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86450         * lib/sha.c: Include "sha.h" first.
86451         Include <stdlib.h>, <string.h> unconditionally.
86452
86453         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86454         * lib/memcmp.c (__ptr_t): Likewise.
86455         * lib/memrchr.c (__ptr_t): Likewise.
86456         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86457         Include <string.h> unconditionally.
86458         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86459         * lib/memchr.c: Include <stdlib.h> unconditionally.
86460         * lib/memchr.c (LONG_MAX): Remove.
86461         * lib/memrchr.c (LONG_MAX): Likewise.
86462         * lib/memchr.c (__memchr): Define via a prototype.
86463         * lib/memrchr.c (__memrchr): Likewise.
86464         * lib/memcmp.c (__P): Remove, and remove all uses.
86465         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86466         Remove forward decls; no longer needed.
86467         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86468         Use types required by C89 in prototype.
86469
86470         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86471         * lib/savedir.c: Likewise.
86472         * lib/mkdir.c (free): Remove decl.
86473         * lib/rmdir.c (rmdir): Define with a prototype.
86474         * lib/savedir.c: Include savedir.h first, to test interface.
86475
86476         * lib/mktime.c (STDC_HEADERS): Remove.
86477         Include <stdlib.h>, <string.h> unconditionally.
86478
86479         * lib/modechange.c: Include <stdlib.h> unconditionally.
86480         (malloc): Remove decl.
86481
86482         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86483         (free): Remove decl.
86484
86485         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86486         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86487         (This type really should be intptr_t, but that's a C99ism.)
86488         (_obstack_memcpy): Remove: all uses changed to memcpy.
86489         Include <string.h> unconditionally.
86490         (struct obstack): Assume __STDC__ for types of members
86491         chunkfun, freefun, extra_arg.
86492         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86493         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86494         obstack_begin, obstack_specify_allocation,
86495         obstack_specify_allocation_with_arg, obstack_chunkfun,
86496         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86497         Remove unprototyped decls and the macros that use them.
86498         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86499         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86500         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86501         (defined __STDC__ && __STDC__)]:
86502         Remove nonprototyped code.
86503         Include <stdlib.h> unconditionally.
86504         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86505         _obstack_allocated_p, _obstack_free, obstack_free,
86506         _obstack_memory_used, print_and_abort):
86507         Define using prototypes.
86508         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86509         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86510         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86511         obstack_next_free, obstack_object_size, obstack_room) [0]:
86512         Remove unused, unprototyped code.
86513
86514         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86515
86516         * lib/physmem.c (physmem_total, physmem_available, main): Define
86517         with prototypes.
86518
86519         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86520         (main): Define with a prototype.
86521
86522         * lib/posixver.c (getenv): Remove decl.
86523
86524         * lib/putenv.c (malloc): Returns void *, not char *.
86525         Include <string.h> unconditionally.
86526         (strchr, memcpy, NULL): Do not define.
86527
86528         * lib/readtokens.c: Include readtokens.h first, to test interface.
86529         Include <stdlib.h>, <string.h> unconditionally.
86530         (init_tokenbuffer): Define with a prototype.
86531
86532         * lib/regex.c (PARAMS): Remove.  All uses removed.
86533         All uses of _RE_ARGS removed, too.
86534         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86535         unconditionally.
86536         (bzero): Assume memset exists.
86537         (memcmp, memcpy, NULL): Remove.
86538         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86539         char, or assignments to local vars of type signed char.
86540         (init_syntax_once, PREFIX(extract_number_and_incr),
86541         PREFIX(print_partial_compiled_pattern),
86542         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86543         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86544         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86545         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86546         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86547         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86548         wcs_compile_range, byte_compile_range, truncate_wchar,
86549         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86550         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86551         count_mbs_length, wcs_re_match_2_internal,
86552         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86553         PREFIX(alt_match_null_string_p),
86554         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86555         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86556         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86557         now-unnecessary declaration, if any.
86558         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86559         regcomp, regexec):
86560         Remove now-unnecessary casts among pointer types.
86561         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86562
86563         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86564         (free): Remove decl.
86565
86566         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86567
86568         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86569         (free): Remove decl.
86570
86571         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86572         * lib/xgetcwd.c: Likewise.
86573
86574         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86575         (free): Remove decl.
86576
86577         * lib/strchrnul.c (strchrnul): Define with a prototype.
86578         Fix bug: c_in was not converted to char before searching.
86579
86580         The following changes are not K&R related:
86581
86582         * lib/group-member.h: Include <sys/types.h>, so that this file is
86583         self-contained.
86584         * lib/makepath.h: Likewise.
86585
86586         * lib/getusershell.c (readname, default_index, line_size, readname):
86587         Use size_t, not int, for sizes.
86588         (readname): If the size overflows, report an error instead of
86589         looping forever.
86590
86591 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86592
86593         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86594         libc.
86595
86596 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86597
86598         * README: New section: portability guidelines.
86599
86600 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86601
86602         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86603         C89 spec.
86604
86605 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86606
86607         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86608
86609 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86610
86611         Assume C89 or better; remove K&R cruft.
86612         A few of these changes were first proposed by Derek Robert Price
86613         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86614
86615         * lib/addext.c: Include <string.h> unconditionally.
86616         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86617         Don't declare getenv or malloc.
86618
86619         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86620         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86621         (NULL): Remove.
86622         (find_stack_direction, alloca): Use prototypes.
86623
86624         * lib/atexit.c (atexit): Define using a prototype.
86625
86626         * lib/basename.c, dirname.c, stripslash.c:
86627         Include <string.h> unconditionally.
86628
86629         * lib/bcopy.c: Include <stddef.h>.
86630         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86631
86632         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86633
86634         * lib/error.h (error, error_at_line, error_print_progname)
86635         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86636         * lib/error.c: Include error.h first, to check interface.
86637         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86638         (VA_START): Remove; all uses changeed to va_start.
86639         (exit, strerror): Remove decls.
86640         (error_print_progname): Prototype uncondionally.
86641         Don't include <errno.h>; no longer needed.
86642         (private_strerror): Remove.
86643         (error_tail): Always define.
86644         (error, error_at_line): Assume C89 or better; always use prototypes.
86645         * lib/fatal.c: Include "fatal.h" first, to test interface.
86646         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86647         (VA_START): Remove; all uses changed to va_start.
86648         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86649         this case.
86650         (exit): Remove decl.
86651         (fatal): Prototype unconditionally.  Assume va_start works.
86652         Abort at end, to pacify gcc.
86653
86654         * lib/euidaccess.c (main): Define with a prototype.
86655
86656         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86657
86658         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86659
86660         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86661         prototypes.
86662         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86663         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86664         (getenv): Remove decl.
86665         (fnmatch): Define using a prototype.
86666         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86667         (FCT): Define using a prototype.
86668
86669         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86670
86671         * lib/gethostname.c: Include <stddef.h>.
86672         (gethostname): Define with prototype.  Length is size_t, not int.
86673
86674 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86675
86676         Assume C89 or better; remove K&R cruft.
86677         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86678         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86679         string.h, getenv, malloc.
86680         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86681         headers.
86682         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86683         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86684         do not check for strerror.
86685         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86686         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86687         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86688         do not check for doprnt or vprintf.
86689         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86690         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86691
86692 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86693
86694         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86695         getversion.c should have been removed then, but was accidentally
86696         preserved.
86697
86698         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86699         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86700
86701 2003-09-08  Karl Berry  <karl@gnu.org>
86702
86703         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86704                 config, forget about prep.
86705
86706         * config/depcomp, missing: update from automake.
86707
86708 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86709
86710         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86711         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86712
86713 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86714
86715         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86716         copy_tm_result.  Bug reported by Simon Josefsson in
86717         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86718
86719 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86720
86721         * m4/time_r.m4: New file.
86722         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86723         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86724         is. Check for timegm declaration.
86725         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86726         Do not check for gmtime_r.
86727         Replace mktime if __mktime_internal does not exist and if mktime
86728         hasn't been replaced already.
86729
86730 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86731
86732         * lib/time_r.c, lib/time_r.h: New files.
86733
86734         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86735         __localtime_r.
86736         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86737         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86738
86739         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86740         __gmtime_r.
86741         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86742         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86743         Include <time_r.h>.
86744
86745         * lib/timegm.c: Switch to glibc implementation, with the following
86746         changes:
86747         [defined HAVE_CONFIG_H]: Include <config.h>.
86748         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86749         (__mktime_internal) [!defined _LIBC]: New decl.
86750         (__gmtime_r) [!defined _LIBC]: New macro and function.
86751         (timegm): Use a prototype, since gnulib assumes C89.
86752         Do not bother declaring tmp to be const, as it's not really usefu.
86753         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86754         (timegm): Declare only if HAVE_DECL_TIMEGM.
86755
86756 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86757
86758         * MODULES.html.sh (func_all_modules): Add time_r.
86759         * modules/time_r: New file.
86760         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86761         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86762
86763 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86764
86765         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86766         Bug reported by Lute Kamstra in
86767         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86768
86769         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86770         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86771         course with correspondingly smaller numbers for tomorrow and
86772         yesterday.  From Tadayoshi Funaba.  Originally installed into
86773         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86774         coreutils merge?).
86775
86776 2003-08-31  Simon Josefsson  <jas@extundo.com>
86777
86778         * modules/timegm: New file.
86779         * MODULES.html.sh (func_all_modules): Add timegm.
86780
86781 2003-08-31  Simon Josefsson  <jas@extundo.com>
86782
86783         * m4/timegm.m4: New file.
86784
86785 2003-08-31  Simon Josefsson  <jas@extundo.com>
86786
86787         * lib/timegm.h: New file.
86788         * lib/timegm.c: New file.  Based on
86789         wget-1.8.2/src/http.c:mktime_from_utc.
86790
86791 2003-08-31  Karl Berry  <karl@gnu.org>
86792
86793         * lib/argp.h: update from libc.
86794
86795 2003-08-28  Bruno Haible  <bruno@clisp.org>
86796
86797         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86798         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86799         followed by '#define fnmatch fnmatch_posix' gives an error.
86800
86801 2003-08-28  Bruno Haible  <bruno@clisp.org>
86802
86803         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86804         warning on QNX, which defines O_BINARY to 000000.
86805
86806 2003-08-27  Jim Meyering  <jim@meyering.net>
86807
86808         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86809         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86810         would fail after 32.  Reported by Danny Levinson.  Details here:
86811         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86812
86813 2003-08-24  Bruno Haible  <bruno@clisp.org>
86814
86815         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86816         MSVC7 <stdio.h> is included later.
86817
86818 2003-08-22  Simon Josefsson  <jas@extundo.com>
86819
86820         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86821
86822 2003-08-20  Karl Berry  <karl@gnu.org>
86823
86824         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86825
86826 2003-08-20  Bruno Haible  <bruno@clisp.org>
86827
86828         * modules/progname: New file.
86829         * MODULES.html.sh (func_all_modules): Add progname.
86830
86831 2003-08-20  Bruno Haible  <bruno@clisp.org>
86832
86833         * lib/progname.h: New file, from GNU gettext.
86834         * lib/progname.c: New file, from GNU gettext.
86835         * lib/progreloc.c: New file, from GNU gettext.
86836
86837 2003-08-19  Jim Meyering  <jim@meyering.net>
86838
86839         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86840         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86841
86842 2003-08-19  Bruno Haible  <bruno@clisp.org>
86843
86844         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86845         more.
86846
86847 2003-08-19  Bruno Haible  <bruno@clisp.org>
86848
86849         * lib/xstrdup.c: Assume <string.h> exists.
86850
86851 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86852
86853         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86854         in makefile rules.
86855
86856 2003-08-18  Jim Meyering  <jim@meyering.net>
86857
86858         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86859         * m4/lib-ld.m4: Likewise.
86860
86861 2003-08-18  Jim Meyering  <jim@meyering.net>
86862
86863         * lib/setenv.h: Indent nested cpp directive.
86864         * lib/vasnprintf.c: Remove trailing blanks.
86865
86866 2003-08-17  Simon Josefsson  <jas@extundo.com>
86867
86868         * modules/xstrndup: New file.
86869         * MODULES.html.sh (func_all_modules): Add xstrndup.
86870
86871 2003-08-17  Simon Josefsson  <jas@extundo.com>
86872
86873         * modules/argp: Fix autoconf macro name. Add more dependencies.
86874
86875 2003-08-17  Simon Josefsson  <jas@extundo.com>
86876
86877         * m4/xstrndup.m4: New file.
86878
86879 2003-08-17  Simon Josefsson  <jas@extundo.com>
86880
86881         * m4/argp.m4: New file.
86882
86883 2003-08-17  Simon Josefsson  <jas@extundo.com>
86884             Bruno Haible  <bruno@clisp.org>
86885
86886         * lib/xstrndup.h: New file.
86887         * lib/xstrndup.c: New file.
86888
86889 2003-08-17  Bruno Haible  <bruno@clisp.org>
86890
86891         * modules/strndup (Files, Include): Add lib/strndup.h.
86892
86893 2003-08-17  Bruno Haible  <bruno@clisp.org>
86894
86895         * modules/euidaccess (Files): Add lib/euidaccess.h.
86896
86897 2003-08-17  Bruno Haible  <bruno@clisp.org>
86898
86899         * lib/strndup.h: New file.
86900
86901 2003-08-17  Bruno Haible  <bruno@clisp.org>
86902
86903         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86904         like AC_GNU_SOURCE.
86905         * modules/extensions (configure.ac): Comment out the invocation of
86906         gl_USE_SYSTEM_EXTENSIONS.
86907
86908 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86909
86910         Merges from coreutils, etc.
86911         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86912         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86913         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86914         fixing a typo.
86915         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86916         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86917
86918 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86919
86920         Document merge from coreutils.
86921         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86922         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86923         * modules/utime: Add m4/utimes-null.m4.
86924
86925 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86926
86927         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86928         space, undoing this 2003-08-12 change:
86929         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86930
86931 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86932
86933         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86934         strtoul.c from libc, undoing this 2003-08-12 change:
86935         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86936
86937 2003-08-16  Jim Meyering  <jim@meyering.net>
86938
86939         Merges from coreutils.
86940         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86941         prefix.  Adjust cache variables similarly.  Create 500 rather than
86942         just 300 files, to exercise bug on Darwin6.5, too.
86943         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86944         $missing_dir.
86945         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86946         AM_SYS_POSIX_TERMIOS.
86947         Reported by mkc@mathdogs.com.
86948         Also change use of $am_cv_sys_posix_termios
86949         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86950         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86951         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86952         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86953         in /proc/mounts until it finds one with matching device number.  This
86954         is unnecessary when the FILE argument *is* a mount point.  No stat call
86955         is necessary in that case.  So, disable the statvfs-testing code on
86956         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86957         as RedHat bug# 84846.
86958         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86959         to 1MB, so as not to render systems with no stack size limit (e.g.,
86960         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86961         Include <unistd.h>.  On some systems,
86962         it is required for the definition of _SC_PAGESIZE.
86963
86964 2003-08-16  Jim Meyering  <jim@meyering.net>
86965
86966         Merge from coreutils.
86967         * lib/xstrtoimax.c: #else #if -> #elif.
86968         * lib/xstrtoumax.c: Likewise.
86969
86970 2003-08-16  Jim Meyering  <jim@meyering.net>
86971
86972         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86973         * m4/utimes.m4: Removed.
86974         * m4/utimes-null.m4: Renamed from utimes.m4.
86975
86976         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86977         to 1MB, so as not to render systems with no stack size limit (e.g.,
86978         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86979         Include <unistd.h>.  On some systems,
86980         it is required for the definition of _SC_PAGESIZE.
86981
86982 2003-08-16  Jim Meyering  <jim@meyering.net>
86983         and Paul Eggert  <eggert@cs.ucla.edu>
86984
86985         Merges from coreutils, etc.
86986
86987         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86988         using the latest version from cvs.  This avoids problems with #line
86989         directives using a vendor (Sun) compiler.
86990         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86991         Don't set GETGROUPS_LIB here; now it's
86992         done via getgroups.m4's wrapper function.
86993         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86994         rather than just in sh-util/configure.in, so that the
86995         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86996         same.
86997         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86998         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86999         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87000         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87001         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87002         Remove code that is now done by the newly-required macros.
87003         Append $(EXEEXT) to DF_PROG.
87004         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87005         Do not invoke or require the following here,
87006         since prereq.m4 or some gnulib .m4 now does this for us:
87007         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87008         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87009         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87010         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87011         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87012         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87013         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87014         AC_FUNC_OBSTACK.
87015         Do not replace the following functions, as this is now the job
87016         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87017         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87018         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87019         atexit getpass, strdup, getpagesize.
87020         Replace 'raise'.
87021         Do not check for the following functions, as this is now the job
87022         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87023         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87024         setregid.
87025         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87026         Check for sys/sysctl.h.
87027         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87028         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87029         of checking for ssize_t ourselves.
87030
87031         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87032         Require every macro that gnulib/modules/* suggests for us.
87033         (jm_PREREQ_ADDEXT): New macro.
87034         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87035         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87036
87037         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87038         (gl_PHYSMEM): Use it.
87039         Also check for `table' function.
87040         Check for new headers and functions.
87041         Add check for sys/sysmp.h.
87042         With suggestions from Kaveh Ghazi.
87043         Ignore headers that are present but cannot be compiled.  This
87044         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87045         C 5.4.
87046
87047 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87048
87049         Document merge from coreutils.
87050         * modules/userspec: Depend on posixver.
87051         * modules/strftime: Depend on tzset.
87052
87053 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87054
87055         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87056         rather than tab, after '#' in shell-script copyright notices.
87057         Suggested by Bruno Haible.
87058
87059 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87060
87061         * config/srclist-update: Use three spaces, rather than tab, after '#'
87062         in shell-script copyright notices.  Suggested by Bruno Haible.
87063         Remove unnecessary parenthesization in regular expression.
87064
87065 2003-08-15  Jim Meyering  <jim@meyering.net>
87066
87067         Merge from coreutils.
87068         * lib/xgethostname.c: Include <stdlib.h>.
87069         (xghostname): Don't exit for anything other than memory-related
87070         failure; just return NULL.
87071         * lib/userspec.c: Include "posixver.h".
87072         (parse_user_spec): Accept `.' as a separator only
87073         in pre-POSIX-200112 mode.
87074         * lib/strtoimax.c: Use #elif rather than #else #if.
87075         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87076         Remove function, now that we can rely on a working tzset function.
87077         [!_LIBC]: Ensure that the required autoconf test has been run.
87078         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87079         Use underlying_strftime for %r.
87080         * lib/sha.c: Merge in some clean-up and optimization changes from
87081         glibc.
87082         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87083         Ensure that it is a multiple of 64.
87084         Rearrange loop exit tests so as to avoid performing an
87085         additional fread after encountering an error or EOF.
87086         * lib/realloc.c: Update copyright date.
87087
87088 2003-08-15  Jim Meyering  <jim@meyering.net>
87089         and Paul Eggert  <eggert@twinsun.com>
87090
87091         Merge from coreutils.
87092         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87093         member but strut utmpx does not.  Needed for AIX 4.3.3.
87094         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87095
87096 2003-08-15  Jim Meyering  <jim@meyering.net>
87097         and Paul Eggert  <eggert@cs.ucla.edu>
87098
87099         Merges from coreutils, etc.
87100         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87101         Require gl_FUNC_TZSET_CLOBBER.
87102         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87103         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87104         members.
87105
87106 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87107
87108         Help the merge from coreutils.
87109         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87110         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87111         * m4/tzset.m4: Use it too.
87112
87113 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87114
87115         * modules/tzset: New file.
87116
87117 2003-08-14  Jim Meyering  <jim@meyering.net>
87118
87119         Merges from coreutils.
87120         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87121         variable names, rather than @FNMATCH_H@.
87122         * modules/alloca: Likewise for $(ALLOCA_H).
87123
87124         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87125         the three copies of the literal target, `fnmatch.h'.
87126         * modules/alloca (alloca.h): Likewise.
87127
87128 2003-08-14  Jim Meyering  <jim@meyering.net>
87129
87130         Merge from coreutils.
87131         * m4/tzset.m4: New file.
87132         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87133         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87134         otherwise, AIX 5.1 systems would end up using the latter.
87135         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87136         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87137         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87138         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87139
87140 2003-08-14  Jim Meyering  <jim@meyering.net>
87141
87142         Merge from coreutils.
87143         * lib/obstack.h: Whitespace changes.
87144         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87145         and xcalloc return values.
87146         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87147         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87148         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87149         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87150         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87151         error from mntctl.
87152         Use mntctl's return value to drive the entry-processing loop, since
87153         we can't rely on the value of the vmt_length member in the last
87154         entry.  On some systems doing so could result in exhausting
87155         virtual memory.  Based in part on a patch from Mike Jetzer.
87156
87157 2003-08-14  Jim Meyering  <jim@meyering.net>
87158         and Paul Eggert  <eggert@twinsun.com>
87159
87160         Merges from coreutils, plus other fixes.
87161         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87162         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87163         for credits and details.  Thanks to Kaveh Ghazi for helping
87164         to keep these files in sync.
87165         (ARRAY_SIZE): Define it.
87166         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87167         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87168         (memcasecmp): Don't assume size_t fits in unsigned int.
87169         Remove casts and duplicate code.
87170         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87171         (memcpy): Remove definition.
87172         Merge in some clean-up and optimization changes from glibc.
87173         [BLOCKSIZE]: Move definition to top of file.
87174         Ensure that it is a multiple of 64.
87175         Rearrange loop exit tests so as to avoid performing an
87176         additional fread after encountering an error or EOF.
87177         * lib/md5.h (md5_uintptr): Define.
87178         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87179         return to the initial working directory.  Preserve errno
87180         for caller.
87181         * lib/idcache.c: Include "xalloc.h".
87182         (xmalloc, xrealloc): Remove decls.
87183         (getuser): Remove casts no longer required in C89.
87184         * lib/human.c: Include stdio.h, for sprintf.
87185         * lib/group-member.c: Include "xalloc.h".
87186         (xmalloc, xrealloc): Remove decls.
87187         (get_group_info): Remove casts no longer required in C89.
87188         * lib/getusershell.c (readname): Remove casts no longer required in
87189         C89.
87190         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87191         * lib/getline.c: Whitespace fix, from coreutils.
87192
87193 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87194
87195         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87196         Check for isascii.
87197
87198         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87199         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87200         Undo previous (whitespace-only) change.
87201
87202 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87203
87204         * lib/exclude.c: Include <ctype.h>
87205         (IN_CTYPE_DOMAIN): New macro.
87206         (is_space): New fn.
87207         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87208         and empty lines.
87209
87210         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87211         Undo previous (whitespace-only) change.
87212
87213 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87214
87215         * config/srclist-update: Change update back to the old behavior,
87216         leaving whitespace alone.  Use one 'sed' command rather than a
87217         pipeline.
87218         (fixlicense): Now a variable, not a function.
87219         (remove_trailing_blanks): Remove.
87220         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87221         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87222         Undo previous (whitespace-only) change.
87223
87224 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87225
87226         Merge from coreutils.
87227         * modules/euidaccess: Add lib_SOURCES, include for new
87228         file euidaccess.h
87229
87230 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87231
87232         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87233         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87234         Normalize leading white space and remove trailing white space.
87235
87236         Merge from coreutils
87237         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87238
87239         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87240         0.12.1.  These files are now being upgraded automatically by
87241         ../config/srclist-update.
87242
87243 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87244
87245         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87246         Normalize leading white space and remove trailing white space.
87247         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87248         notice, as per ../config/srclist-update.
87249
87250         Merge from coreutils.
87251         * lib/euidaccess.h: New file.
87252         * lib/euidaccess.c: Include it.
87253         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87254         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87255         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87256
87257 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87258
87259         * config/srclist-update: Add copyright notice.
87260         (remove_id_lines, remove_trailing_blanks): New constants.
87261         (fixfile): Use them to normalize spacing a bit in copied files.
87262         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87263         Normalize leading white space and remove trailing white space.
87264
87265         * config/texinfo.tex: Sync with texinfo.
87266
87267         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87268         strtoul.c from libc, to merge coreutils whitespace changes.
87269
87270         * config/srclist.txt: Get the following m4 files from gettext:
87271         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87272         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87273         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87274         wint_t.m4.
87275
87276 2003-08-12  Karl Berry  <karl@gnu.org>
87277
87278         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87279         been made.
87280
87281 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87282
87283         * modules/gnu-source, m4/gnu-source.m4:
87284         Remove; we're assuming Autoconf 2.54 or later now.
87285         Suggested by Bruno Haible.
87286         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87287
87288 2003-08-11  Bruno Haible  <bruno@clisp.org>
87289
87290         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87291
87292 2003-08-11  Bruno Haible  <bruno@clisp.org>
87293
87294         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87295         (vasnprintf): Use it instead of wcslen.
87296
87297 2003-08-11  Bruno Haible  <bruno@clisp.org>
87298
87299         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87300         value to ensure that _Bool promotes to int. Use #define for _Bool when
87301         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87302
87303 2003-08-10  Karl Berry  <karl@gnu.org>
87304
87305         * lib/regex.h: update from libc (whitespace fix).
87306
87307 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87308
87309         Merge some files from coreutils.  These changes were
87310         originally made by Jim Meyering.
87311         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87312         many older Unixes require this.
87313         * lib/alloca.c (alloca): Remove cast to argument of free;
87314         no longer needed in C89.
87315         * lib/alloca_.h, regex.h: Fix white space to match
87316         what GNU indent does.
87317
87318 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87319
87320         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87321         apparently Emacs's Unicode mode got confused before my 2003-08-05
87322         checkin.
87323
87324 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87325
87326         * m4/extensions.m4: New file.
87327         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87328         Require gl_USE_SYSTEM_EXTENSIONS.
87329         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87330         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87331
87332 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87333
87334         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87335         * modules/extensions, modules/gnu-source: New files.
87336         * modules/timespec, modules/unlocked-io: Depend on extensions.
87337
87338 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87339
87340         * modules/restrict: New file.
87341         * MODULES.html.sh (func_all_modules): Add restrict.
87342         * modules/regex: Depend on restrict.
87343
87344 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87345
87346         * m4/restrict.m4: New file.
87347         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87348
87349 2003-08-07  Bruno Haible  <bruno@clisp.org>
87350
87351         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87352         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87353
87354 2003-08-07  Bruno Haible  <bruno@clisp.org>
87355
87356         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87357         makes the module 'getndelim2' compatible with the module 'getline'.
87358
87359 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87360
87361         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87362         byte with "\201" to avoid glitches when editing that source file
87363         with multi-gnome-terminal.
87364
87365 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87366
87367         * lib/bumpalloc.h: Remove.
87368
87369 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87370
87371         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87372         * modules/bumpalloc: Remove.
87373
87374 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87375
87376         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87377         GNU coding style.
87378
87379         Merge from coreutils.
87380         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87381         1. From glibc.
87382         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87383         from Karl Berry, implemented by Jim Meyering.
87384         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87385         from Dmitry V. Levin.
87386         Remove anachronistic cast of xrealloc.
87387         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87388         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87389         type. Otherwise, it wouldn't compile with at least /bin/cc on
87390         ymp-cray-unicos9.0.2.X.
87391         Combine two mostly-identical uses of alloca into one.
87392         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87393
87394 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87395
87396         [From Emacs.]
87397
87398         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87399         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87400         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87401         obsolete NLIST_NAME_UNION.
87402         [__GNU__]: Undef BSD and FSCALE.
87403         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87404
87405 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87406
87407         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87408         an enum type, so that it's guaranteed to promote to int.  See:
87409         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87410
87411 2003-08-03  Karl Berry  <karl@gnu.org>
87412
87413         * config/depcomp: update from automake.
87414
87415 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87416
87417         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87418         (strerror): Don't assume that a printable int fits in 14 bytes.
87419
87420 2003-07-31  Bruno Haible  <bruno@clisp.org>
87421
87422         * modules/getpass-gnu: New file.
87423         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87424
87425 2003-07-31  Bruno Haible  <bruno@clisp.org>
87426
87427         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87428
87429 2003-07-24  Karl Berry  <karl@gnu.org>
87430
87431         * config/missing: update from automake.
87432
87433 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87434             Bruno Haible  <bruno@clisp.org>
87435
87436         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87437         * lib/getline.c (getline, getdelim): Likewise.
87438         Remove _GNU_SOURCE define; now it's defined in config.h through
87439         m4/getline.m4.
87440
87441 2003-07-23  Karl Berry  <karl@gnu.org>
87442
87443         * config/config.sub: update from prep.
87444
87445 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87446
87447         * modules/xalloc (Depends-on): Add exitfail.
87448         * modules/xmemcoll: Likewise.
87449
87450 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87451
87452         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87453         over-parenthesization in macros.
87454
87455         Sync with coreutils.
87456
87457         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87458         required by C99.
87459
87460         Use `exit_failure' for xalloc and xmemcoll instead of their own
87461         private exit-failure variables.
87462         * lib/xalloc.h (xalloc_exit_failure): Remove.
87463         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87464         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87465         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87466         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87467         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87468
87469 2003-07-20  Jim Meyering  <jim@meyering.net>
87470
87471         * modules/closeout (Depends-on): Add exitfail.
87472         Suggestion from Bruno Haible.
87473
87474 2003-07-19  Karl Berry  <karl@gnu.org>
87475
87476         * config/config.sub: update from prep.
87477
87478 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87479
87480         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87481         Remove.
87482         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87483         to test that it can stand by itself.  Include "exitfail.h".
87484         Clients should set exit_failure instead.
87485         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87486
87487 2003-07-18  Bruno Haible  <bruno@clisp.org>
87488
87489         * modules/getndelim2: New file.
87490         * modules/getline: Share files with module getndelim2.
87491         * modules/getnline: Depend on getndelim2 instead of sharing files with
87492         it. Add getnline.c to lib_SOURCES.
87493         * MODULES.html.sh (func_all_modules): Add getndelim2.
87494
87495 2003-07-18  Bruno Haible  <bruno@clisp.org>
87496
87497         * m4/getndelim2.m4: New file.
87498         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87499         invoke gl_PREREQ_GETNDELIM2.
87500         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87501         gl_PREREQ_GETNDELIM2.
87502         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87503         gl_GETNDELIM2.
87504
87505 2003-07-18  Bruno Haible  <bruno@clisp.org>
87506
87507         * lib/getndelim2.h: New file.
87508         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87509         getndelim2.h.
87510         (getndelim2): Make non-static. Change return type to ssize_t.
87511         * lib/getline.h: Change argument names.
87512         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87513         * lib/getnline.c: Include getndelim2.h.
87514
87515 2003-07-18  Andreas Schwab  <schwab@suse.de>
87516
87517         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87518
87519 2003-07-17  Karl Berry  <karl@gnu.org>
87520
87521         * config/config.sub: update from prep.
87522
87523 2003-07-17  Bruno Haible  <bruno@clisp.org>
87524
87525         * modules/getnline: New file.
87526         * modules/getline: Add lib/getndelim2.c to source file list.
87527         * MODULES.html.sh (func_all_modules): Add getnline.
87528
87529 2003-07-17  Bruno Haible  <bruno@clisp.org>
87530
87531         * m4/getnline.m4: New file.
87532
87533 2003-07-17  Bruno Haible  <bruno@clisp.org>
87534
87535         * m4/Makefile.am.in: Remove file.
87536         * m4/Makefile.am: Remove file.
87537         * m4/Makefile.in: Remove file.
87538
87539 2003-07-17  Bruno Haible  <bruno@clisp.org>
87540
87541         * lib/getnline.h: New file.
87542         * lib/getnline.c: New file.
87543         * lib/getndelim2.c: New file, extracted from getline.c.
87544         (getndelim2): Renamed from getdelim2, with added nmax argument.
87545         * lib/getline.c: Include getndelim2.c.
87546         (getdelim2): Moved out to getndelim2.c.
87547         (getline, getdelim): Update.
87548
87549 2003-07-17  Bruno Haible  <bruno@clisp.org>
87550
87551         * lib/Makefile.am: Remove file.
87552         * lib/Makefile.in: Remove file.
87553
87554 2003-07-17  Bruno Haible  <bruno@clisp.org>
87555
87556         * configure.in: Remove file.
87557         * Makefile.in: Remove file.
87558
87559 2003-07-17  Bruno Haible  <bruno@clisp.org>
87560
87561         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87562
87563 2003-07-16  Karl Berry  <karl@gnu.org>
87564
87565         * config/srclist-update: was running fixlicense twice, which caused
87566                 texinfo.tex to be nullified for some reason.  Simplify,
87567                 $gplsrc is no longer needed as far as I can see?
87568
87569 2003-07-16  Jim Meyering  <jim@meyering.net>
87570
87571         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87572
87573 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87574
87575         * config/srclist.txt: Get the following files from gettext-runtime/intl
87576         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87577         ref-del.sin.  From Bruno Haible.
87578         * config/srclist-update (fixfile): Change grep pattern again, since the
87579         previous fix didn't work (there was another trailing $).  Use
87580         '[$]' to escape the $s.
87581
87582 2003-07-15  Karl Berry  <karl@gnu.org>
87583
87584         * lib/vasnprintf.c: update from gettext.
87585
87586 2003-07-15  Karl Berry  <karl@gnu.org>
87587
87588         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87589         gets expanded when surrounded by '$'.
87590
87591 2003-07-15  Jim Meyering  <jim@meyering.net>
87592
87593         * modules/save-cwd: Don't depend on error.  From Derek Price.
87594
87595 2003-07-15  Jim Meyering  <jim@meyering.net>
87596
87597         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87598
87599 2003-07-14  Simon Josefsson  <jas@extundo.com>
87600
87601         * modules/mempcpy: New file.
87602         * MODULES.html.sh (func_all_modules): Add mempcpy.
87603
87604 2003-07-14  Simon Josefsson  <jas@extundo.com>
87605
87606         * m4/mempcpy.m4: New file.
87607
87608 2003-07-14  Simon Josefsson  <jas@extundo.com>
87609
87610         * lib/mempcpy.h: New file.
87611         * lib/mempcpy.c: New file.
87612
87613 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87614
87615         * modules/getdate, modules/posixtm: Depend on mktime.
87616
87617 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87618
87619         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87620         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87621         unicodeio.c, unicodeio.h, unlocked-io.h:
87622         Switch from LGPL to GPL.
87623
87624 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87625
87626         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87627         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87628         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87629         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87630         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87631         updated automatically by ../config/srclist-update.  This changes
87632         their license from LPGL to GPL.
87633
87634 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87635
87636         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87637         assumed to refer to the root of the most recent stable gettext version.
87638         * config/srclistvars.sh: Add defaults for eggert.
87639         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87640         Match "This program" as well as "The program".  This is needed
87641         for gettext.
87642
87643 2003-07-14  Jim Meyering  <jim@meyering.net>
87644
87645         Don't emit diagnostics.  Let callers do that.
87646         * lib/save-cwd.c: Don't include "error.h".
87647         (save_cwd): Don't call error.  Ensure that errno is valid
87648         when returning nonzero.
87649
87650         * lib/save-cwd.h (restore_cwd): Update prototype.
87651         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87652         Simplify.  Don't call error upon failure.  Let callers do that.
87653         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87654         when auditing is enabled.  But don't bother updating the #if.
87655
87656 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87657
87658         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87659         it breaks C++ compilation.
87660         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87661
87662 2003-07-10  Simon Josefsson  <jas@extundo.com>
87663
87664         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87665
87666 2003-07-10  Jim Meyering  <jim@meyering.net>
87667
87668         * m4/clock_time.m4: Remove trailing blank.
87669         * m4/intmax_t.m4: Likewise.
87670
87671 2003-07-10  Jim Meyering  <jim@meyering.net>
87672
87673         * lib/vasnprintf.c: Remove trailing blanks.
87674         Make cpp indentation consistent.
87675
87676 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87677
87678         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87679         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87680         Switch from LGPL to GPL.
87681
87682 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87683
87684         * config/srclist.txt: Sort sublists.  Add
87685         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87686         that differ from gnulib for one reason or another; we'd like this list
87687         to be smaller but for now let's document what we have.
87688
87689 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87690
87691         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87692         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87693         and sweeter "eval x=$x".
87694         * config/srclist.txt: Get lib/argp* from glibc.
87695
87696 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87697
87698         * lib/mktime.c: Fix some boundary cases and remove need for floating
87699         point.
87700
87701         Issue a compile-time diagnostic if time_t is floating point, or if
87702         two's complement arithmetic is not in effect, or if arithmetic
87703         right shift does not propagate the sign.  These assumptions were
87704         all in the original code but they weren't checked.
87705
87706         (TIME_T_MIDPOINT, verify): New macros.
87707         (__isleap): Remove; it has integer overflow problems.
87708         (leapyear): New function, without those problems.
87709         (ydhms_tm_diff): Remove; splitting into two parts.
87710         (ydhms_diff): New function, containing the arithmetic part of
87711         the old ydhms_tm_diff function.  Issue a compile-time
87712         diagnostic if we are not using C99 integer division.
87713         Avoid casts when possible.
87714         (guess_time_tm): New function, containing the checking part of
87715         the old ydhms_tm_diff function.  Return the new value, rather than
87716         the difference between it and the old.  Accept a new argument T
87717         so that *T specifies the old value.  Check for overflow in the result.
87718
87719         (__mktime_internal): Use a time_t offset, not a long int offset.
87720         This undoes the 2003-06-04 change, which is no longer needed now
87721         that we have better overflow checking.
87722         (localtime_offset): Likewise.
87723
87724         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87725         and long are 64-bit but int is only 32-bit.
87726         (ydhms_diff): Use long int to store year1 and yday1.
87727         Issue a compile-time diagnostic if long int is not wide enough.
87728
87729         (__mktime_internal): Use long int to store adjusted year and yday.
87730         Use plain C rather than preprocessor commands, if that doesn't
87731         affect efficiency.
87732         Check for overflow (and try to repair) after each probe
87733         rather than checking only at the very end.  This avoids some bugs
87734         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87735         does not equal GMT offset at maximum time).
87736         Use integer to check for overflow rather than floating point; this
87737         is more portable to non-IEEE hosts, and is a tad faster.
87738         When we detect that we are oscillating between two values,
87739         don't check whether tm_isdst has the requested value, since
87740         we already know the answer.  When tm_isdst has the wrong value,
87741         use a different heuristic to find the right one, based on the
87742         extreme values actually observed in practice in tz2003a,
87743         rather than the (overly optimistic) "previous 3 calendar quarters".
87744
87745         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87746         "T const" to accommodate glibc style.
87747         (check_result): Use less-confusing report format.  "long" -> "long int.
87748         (main): Likewise.
87749         Don't loop if the iteration overflows time_t.
87750         Allow a negative step in the iteration.
87751
87752 2003-07-06  Karl Berry  <karl@gnu.org>
87753
87754         * config/depcomp: update from automake.
87755         * config/config.sub: update from prep.
87756
87757 2003-07-03  Karl Berry  <karl@gnu.org>
87758
87759         * config/config.guess: update from prep.
87760
87761 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87762
87763         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87764         xreadlink.c now includes it unconditionally.
87765
87766 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87767
87768         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87769         having it depend on HAVE_SYS_TYPES_H.
87770
87771 2003-07-01  Bruno Haible  <bruno@clisp.org>
87772
87773         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87774         <sys/types.h> should be sufficient.
87775         Reported by Paul Eggert.
87776
87777 2003-06-26  Karl Berry  <karl@gnu.org>
87778
87779         * config/depcomp: update from automake.
87780
87781 2003-06-26  Bruno Haible  <bruno@clisp.org>
87782
87783         * modules/human: Depend on module stdbool.
87784
87785 2003-06-25  Bruno Haible  <bruno@clisp.org>
87786
87787         * modules/readlink: New file.
87788         * modules/xreadlink: Depend on it.
87789         * MODULES.html.sh (func_all_modules): Add readlink.
87790
87791 2003-06-25  Bruno Haible  <bruno@clisp.org>
87792
87793         * m4/readlink.m4: New file.
87794
87795 2003-06-25  Bruno Haible  <bruno@clisp.org>
87796
87797         * lib/readlink.c: New file.
87798
87799 2003-06-22  Karl Berry  <karl@gnu.org>
87800
87801         * config/srclist.txt: update mkinstalldirs from automake.
87802         * config/mkinstalldirs: update.
87803
87804 2003-06-22  Bruno Haible  <bruno@clisp.org>
87805
87806         Portability to mingw32.
87807         * m4/ssize_t.m4: New file, from GNU gettext.
87808         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87809         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87810
87811 2003-06-22  Bruno Haible  <bruno@clisp.org>
87812
87813         * modules/safe-read: Add m4/ssize_t.m4.
87814         * modules/xreadlink: Add m4/ssize_t.m4.
87815
87816 2003-06-20  Bruno Haible  <bruno@clisp.org>
87817
87818         Assume C89, so PARAMS isn't needed.
87819         * lib/unicodeio.h (PARAMS): Remove.
87820         * lib/unicodeio.c: Don't use PARAMS.
87821
87822 2003-06-18  Karl Berry  <karl@gnu.org>
87823
87824         * config/config.{guess,sub}: update from prep.
87825
87826 2003-06-18  Jim Meyering  <jim@meyering.net>
87827
87828         Merge changes from coreutils.
87829         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87830         Remove explicit declarations of xmalloc and realloc.
87831         Include xalloc.h.
87832         (read_utmp): Remove anachronistic cast of xmalloc.
87833
87834 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87835
87836         Assume C89, so PARAMS isn't needed.
87837         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87838         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87839         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87840         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87841         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87842         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87843         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87844         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87845         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87846         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87847         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87848         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87849         no longer needed. Anyway, config.h should always be included before any
87850         other file.
87851
87852 2003-06-11  Simon Josefsson  <jas@extundo.com>
87853
87854         * modules/sysexits: New file.
87855         * MODULES.html.sh (func_all_modules): Add sysexits.
87856
87857 2003-06-11  Simon Josefsson  <jas@extundo.com>
87858
87859         * lib/sysexit_.h: New file.
87860
87861 2003-06-11  Derek Price  <derek@ximbiot.com>
87862
87863         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87864         necessary.
87865
87866 2003-06-11  Bruno Haible  <bruno@clisp.org>
87867
87868         * m4/sysexits.m4: New file.
87869
87870 2003-06-10  Simon Josefsson  <jas@extundo.com>
87871
87872         * lib/argp.h: New file, from glibc.
87873         * lib/argp-ba.c: New file, from glibc.
87874         * lib/argp-eexst.c: New file, from glibc.
87875         * lib/argp-fmtstream.c: New file, from glibc.
87876         * lib/argp-fmtstream.h: New file, from glibc.
87877         * lib/argp-fs-xinl.c: New file, from glibc.
87878         * lib/argp-help.c: New file, from glibc.
87879         * lib/argp-namefrob.h: New file, from glibc.
87880         * lib/argp-parse.c: New file, from glibc.
87881         * lib/argp-pv.c: New file, from glibc.
87882         * lib/argp-pvh.c: New file, from glibc.
87883         * lib/argp-xinl.c: New file, from glibc.
87884
87885 2003-06-10  Simon Josefsson  <jas@extundo.com>
87886
87887         * modules/strchrnul: New file.
87888
87889 2003-06-10  Simon Josefsson  <jas@extundo.com>
87890
87891         * modules/argp: New file.
87892
87893 2003-06-10  Simon Josefsson  <jas@extundo.com>
87894
87895         * m4/strchrnul.m4: New file.
87896
87897 2003-06-10  Simon Josefsson  <jas@extundo.com>
87898
87899         * lib/strchrnul.h: New file.
87900         * lib/strchrnul.c: New file.
87901
87902 2003-06-10  Bruno Haible  <bruno@clisp.org>
87903
87904         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87905
87906 2003-06-07  Karl Berry  <karl@gnu.org>
87907
87908         * config/config.{guess,sub}: update from prep.
87909
87910 2003-06-07  Jim Meyering  <jim@meyering.net>
87911
87912         * modules/strtod: Use $(...) notation, not @...@ for
87913         AC_REPLACE'd variables.
87914         * modules/localcharset: Likewise.
87915
87916 2003-06-07  Jim Meyering  <jim@meyering.net>
87917
87918         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87919         in place of my name in the copyright comment.
87920         Remove definition and uses of __P.
87921
87922         From coreutils.
87923         * lib/stat.c: Don't declare xmalloc explicitly.
87924         Instead, include "xalloc.h".
87925         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87926         xrealloc, and xcalloc return values.
87927         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87928         Improve comment.
87929         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87930
87931 2003-06-07  Bruno Haible  <bruno@clisp.org>
87932
87933         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87934         avoid AC_CONFIG_LINKS.
87935         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87936         fnmatch.h, to avoid AC_CONFIG_LINKS.
87937         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87938
87939 2003-06-07  Bruno Haible  <bruno@clisp.org>
87940
87941         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87942         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87943         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87944         directory.
87945         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87946         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87947         directory.
87948
87949 2003-06-06  Jim Meyering  <jim@meyering.net>
87950
87951         Merge from coreutils.
87952         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87953         Consolidate declarations and initializations of *_base* locals.
87954
87955         Merge from coreutils.
87956         This avoids a core dump on systems without GNU putenv,
87957         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87958         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87959         (unsetenv): New static function, from GNU libc.
87960         (rpl_putenv): Use it.
87961
87962         * lib/modechange.c: Remove trailing blanks.
87963
87964         Merge from coreutils.
87965         * lib/fsusage.c: Remove declaration of statfs.
87966         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87967
87968         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87969
87970 2003-06-06  Jim Meyering  <jim@meyering.net>
87971
87972         * lib/stdbool_.h: Renamed from stdbool.h.in.
87973
87974 2003-06-06  Jim Meyering  <jim@meyering.net>
87975             Bruno Haible  <bruno@clisp.org>
87976
87977         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87978         Adjust Makefile.am snippet not to redirect directly to target.
87979         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87980
87981 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87982
87983         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87984         mismatch, look in future quarters as well as past.  This fixes a
87985         bug when processing fall-backwards gaps immediately after a long
87986         period of daylight-saving time.
87987
87988         * lib/mktime.c: Assume freestanding C89 or better.
87989         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87990         (__P): Remove; not used.
87991         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87992         (mktime, not_equal_tm, print_tm, check_result,
87993         main): Use prototypes.  Use const * where appropriate.
87994         (main): Fix typo in testing code that uncovered by above changes.
87995         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87996
87997 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87998
87999         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88000         locale.h, localeconv.  This merges changes from coreutils.
88001
88002         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88003         It can be removed after the next Autoconf is released.
88004         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88005         needed.
88006
88007 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88008
88009         * lib/mktime.c: Fix Debian bug 177940
88010         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88011         (localtime_offset): Now long int, not time_t, because we want it
88012         to be guaranteed to be signed.  All uses changed.
88013         (__mktime_internal): If overflow would occur when adding offset,
88014         don't add it.
88015
88016         Merge 'human' changes from coreutils.  Rewrite to support
88017         locale-specific notations like thousands separators.
88018         * lib/human.c: Simplify authorship notice.
88019         Include human.h immediately after config.h.
88020         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88021         <limits.h>: Do not include, since human.h does.
88022         (SIZE_MAX, UINTMAX_MAX): New macros.
88023         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88024         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88025         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88026         (power_letter): Renamed from suffixes.
88027         (generate_suffix_backwards): Remove.
88028         (adjust_value): Now takes int style (because of human.h changes)
88029         and long double value (for greater precision on some platforms).
88030         (group_number): New function.
88031         (human_readable): Use it.  Use integer options, not enum.
88032         Put the options before the sizes in the arg list.
88033         Support all the new options.
88034         The old human_readable function has been removed;
88035         use inttostr.h instead.
88036         (human_readable, default_block_size, humblock):
88037         Use uintmax_t, not int, for block sizes.
88038         (human_readable_inexact, block_size_types): Remove.
88039         (block_size_opts): New constant.
88040         (human_options): Renamed from human_block_size, with new signature
88041         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88042         * lib/human.h: Add copyright and authorship notice.
88043         Include <limits.h> and <stdbool.h> unconditionally.
88044         (PARAMS): Remove.  All uses removed.
88045         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88046         (enum human_inexact_style): Remove tag; now a nameless enum.
88047         (human_floor, human_ceiling, human_round_to_even): Now have
88048         values 2, 0, 1 rather than -1, 1, 0.
88049         (human_group_digits, human_suppress_point_zero, human_autoscale,
88050         human_base_1024, human_SI, human_B): New constants.
88051         (human_readable_inexact, human_block_size): Remove.
88052         (human_readable): Size args are now uintmax_t, not int.
88053         (human_options): New decl.
88054
88055         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88056         unnecessary now that we assume C89 or better.  This change
88057         imported from coreutils.
88058
88059         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88060         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88061         in the 2003-05-30 sync from glibc.
88062
88063         .h files should stand alone, but we shouldn't include <sys/types.h>
88064         if we can get away with just <stddef.h>.
88065
88066         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88067         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88068         rather than <sys/types.h>, as we merely need size_t.
88069         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88070         to get size_t.
88071         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88072         Include <stdio.h>, to get FILE.
88073         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88074         memcasecmp.h has included <stddef.h> and all we need is size_t.
88075         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88076         our interface, instead of including <sys/types.h>
88077
88078 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88079
88080         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88081         now, as glibc mktime is buggy on non-glibc systems.
88082
88083 2003-06-03  Karl Berry  <karl@gnu.org>
88084
88085         * config/config.sub: update from prep.
88086
88087 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88088
88089         [from coreutils]
88090         Fix some minor time-related bugs with POSIX time arguments.
88091         Some valid time stamps were being rejected (notably -1, and
88092         time stamps before 1900 on 64-bit hosts).  And some invalid
88093         time stamps were being accepted, e.g. September 31.
88094
88095         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88096         that we can return (time_t) -1 successfully.
88097         * lib/posixtm.c: Likewise.
88098         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88099         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88100         (t): Remove static var.
88101         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88102         of static var.  All uses changed.
88103         (year): Do not reject years before 1900; they can occur with
88104         64-bit time_t.
88105         (posix_time_parse): Do not check for out-of-range components;
88106         that is now the caller's responsibility, since our checks were
88107         only approximations.
88108         (posixtime): Use mktime to check for out-of-range components,
88109         since it knows them exactly.
88110         If mktime returns (time_t) -1, check whether an error actually occurred
88111         by invoking localtime on -1.
88112         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88113         posixtime failures better.
88114         Improve the test data (in comments only).
88115
88116 2003-06-02  Karl Berry  <karl@gnu.org>
88117
88118         * config/mkinstalldirs (version): new variable.
88119         (--version): new option.
88120         (usage): improve message.
88121
88122 2003-05-30  Karl Berry  <karl@gnu.org>
88123
88124         * lib/mktime.c: update from libc.
88125
88126 2003-05-30  Bruno Haible  <bruno@clisp.org>
88127
88128         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88129         * config/config.rpath: Upgrade to gettext-0.12.1.
88130
88131 2003-05-30  Bruno Haible  <bruno@clisp.org>
88132
88133         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88134         * m4/nls.m4: New file, from gettext-0.12.1.
88135         * m4/po.m4: New file, from gettext-0.12.1.
88136         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88137
88138 2003-05-30  Bruno Haible  <bruno@clisp.org>
88139
88140         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88141         * lib/localcharset.h: Likewise.
88142         * lib/localcharset.c: Likewise.
88143
88144 2003-05-29  Karl Berry  <karl@gnu.org>
88145
88146         * config/config.rpath: update from gettext.
88147
88148 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88149
88150         Assume the headers required for C89 freestanding compilers.
88151         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88152         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88153         * m4/human.m4 (gl_HUMAN): Likewise.
88154         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88155         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88156         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88157         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88158         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88159         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88160
88161 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88162
88163         Assume the headers required for C89 freestanding compilers.
88164         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88165         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88166         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88167         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88168         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88169         define, since <limits.h> is guaranteed to do that.
88170         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88171         * lib/exclude.c: Include <stdbool.h> unconditionally.
88172         * lib/tempname.c: Include <stddef.h> unconditionally.
88173         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88174         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88175         <stddef.h> does that.
88176         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88177         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88178         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88179         needed.
88180         * lib/xstrtol.c: Likewise.
88181         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88182         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88183
88184         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88185         warnings on some platforms.
88186
88187         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88188         arbitrarily.
88189
88190 2003-05-26  Jim Meyering  <jim@meyering.net>
88191
88192         Merge in a change from coreutils:
88193         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88194         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88195         that condition, rather than `-1' which is slightly misleading.
88196         Change the name of the cache variable to have the gl_ prefix.
88197         Prompted by a patch from Richard Dawe for DJGPP.
88198
88199 2003-05-24  Karl Berry  <karl@gnu.org>
88200
88201         * config/config.guess: update from prep.
88202
88203 2003-05-22  Karl Berry  <karl@gnu.org>
88204
88205         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88206
88207 2003-05-20  Karl Berry  <karl@gnu.org>
88208
88209         * config/config.guess: update from prep.
88210
88211 2003-05-18  Karl Berry  <karl@gnu.org>
88212
88213         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88214         might actually be set by the user.
88215
88216         * config/depcomp, install-sh, mdate-sh: update from automake.
88217
88218 2003-05-17  Bruno Haible  <bruno@clisp.org>
88219
88220         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88221         invalid expansion for AC_EGREP_CPP.
88222         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88223         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88224         Suggested by Akim Demaille <akim@epita.fr> in
88225         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88226
88227 2003-05-12  Jim Meyering  <jim@meyering.net>
88228
88229         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88230         the space-padded-by-default conversion specifiers, %e, %k, %l.
88231
88232 2003-05-12  Bruno Haible  <bruno@clisp.org>
88233
88234         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88235         the string is longer than 4 KB.
88236
88237 2003-05-11  Karl Berry  <karl@gnu.org>
88238
88239         * config/config.{guess,sub}: update from prep.
88240
88241 2003-05-09  Bruno Haible  <bruno@clisp.org>
88242
88243         * modules/error: Add m4/strerror_r.m4 to file list.
88244
88245 2003-05-03  Bruno Haible  <bruno@clisp.org>
88246
88247         Upgrade to Unicode-4.0.
88248         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88249         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88250         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88251         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88252         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88253         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88254         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88255         Change width of U+E0100..U+E01EF from 1 to 0.
88256
88257 2003-04-25  Jim Meyering  <jim@meyering.net>
88258
88259         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88260         of type size_t, not int.
88261
88262 2003-04-25  Bruno Haible  <bruno@clisp.org>
88263
88264         * lib/copy-file.c: Include <stddef.h>, for size_t.
88265
88266 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88267
88268         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88269         code which expansion is under static control.  Patch imported from
88270         Akim Demaille's patch to Bison; see
88271         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88272
88273 2003-04-14  Bruno Haible  <bruno@clisp.org>
88274
88275         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88276
88277 2003-04-11  Jim Meyering  <jim@meyering.net>
88278
88279         Merge changes from Coreutils.
88280
88281         2003-03-22  Jim Meyering  <jim@meyering.net>
88282
88283         * lib/strftime.c (widen): Cast alloca return value to proper type.
88284
88285         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88286
88287         From GNU libc.
88288         * lib/strftime.c (my_strftime): Handle very large width
88289         specifications for numeric values correctly.  Improve checks for
88290         overflow.
88291
88292         2003-01-19  Jim Meyering  <jim@meyering.net>
88293
88294         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88295         definitions.
88296         (nl_get_alt_digit) [! defined my_strftime]: Define.
88297         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88298         _nl_get_alt_digit and _nl_get_walt_digit.
88299
88300         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88301         libc. These changes have no effect outside of _LIBC.
88302
88303 2003-04-10  Bruno Haible  <bruno@clisp.org>
88304
88305         * modules/findprog: New file.
88306         * MODULES.html.sh (func_all_modules): Add it.
88307
88308 2003-04-10  Bruno Haible  <bruno@clisp.org>
88309
88310         * m4/findprog.m4: New file.
88311         * m4/eaccess.m4: New file.
88312
88313 2003-04-10  Bruno Haible  <bruno@clisp.org>
88314
88315         * lib/findprog.h: New file, from GNU gettext.
88316         * lib/findprog.c: New file, from GNU gettext.
88317
88318 2003-04-05  Jim Meyering  <jim@meyering.net>
88319
88320         Merge changes from Coreutils.
88321
88322         * lib/exclude.h (PARAMS): Remove definition and uses.
88323         * lib/exclude.c: Remove uses of `PARAMS'.
88324
88325         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88326         Add test-cases for DOS filenames. Declare program_name.
88327         (main): Set up program_name.  Patch by Rich Dawe.
88328
88329         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88330         error from mntctl.
88331         Use mntctl's return value to drive the entry-processing loop, since
88332         we can't rely on the value of the vmt_length member in the last
88333         entry.  On some systems doing so could result in exhausting
88334         virtual memory.  Based in part on a patch from Mike Jetzer.
88335
88336 2003-04-04  Bruno Haible  <bruno@clisp.org>
88337
88338         * modules/linebreak: New file.
88339         * MODULES.html.sh (func_all_modules): Add it.
88340
88341 2003-04-04  Bruno Haible  <bruno@clisp.org>
88342
88343         * m4/linebreak.m4: New file.
88344
88345 2003-04-04  Bruno Haible  <bruno@clisp.org>
88346
88347         * lib/linebreak.h: New file, from GNU gettext.
88348         * lib/linebreak.c: New file, from GNU gettext with slight
88349         modifications.
88350         * lib/lbrkprop.h: New file, from GNU gettext.
88351
88352 2003-04-03  Bruno Haible  <bruno@clisp.org>
88353
88354         * modules/utf8-ucs4: New file.
88355         * modules/utf16-ucs4: New file.
88356         * modules/ucs4-utf8: New file.
88357         * modules/ucs4-utf16: New file.
88358         * MODULES.html.sh (func_all_modules): Add them.
88359
88360 2003-04-03  Bruno Haible  <bruno@clisp.org>
88361
88362         * m4/utf-ucs4.m4: New file.
88363         * m4/ucs4-utf.m4: New file.
88364
88365 2003-04-03  Bruno Haible  <bruno@clisp.org>
88366
88367         * lib/utf8-ucs4.h: New file, from GNU gettext.
88368         * lib/utf16-ucs4.h: New file, from GNU gettext.
88369         * lib/ucs4-utf8.h: New file, from GNU gettext.
88370         * lib/ucs4-utf16.h: New file, from GNU gettext.
88371
88372 2003-04-02  Bruno Haible  <bruno@clisp.org>
88373
88374         * modules/binary-io: New file.
88375         * MODULES.html.sh (func_all_modules): Add it.
88376
88377 2003-04-02  Bruno Haible  <bruno@clisp.org>
88378
88379         * lib/binary-io.h: New file, from GNU gettext.
88380
88381 2003-04-01  Bruno Haible  <bruno@clisp.org>
88382
88383         * modules/pathname: New file.
88384         * MODULES.html.sh (func_all_modules): Add it.
88385
88386 2003-04-01  Bruno Haible  <bruno@clisp.org>
88387
88388         * lib/pathname.h: New file, from GNU gettext.
88389         * lib/concatpath.c: New file, from GNU gettext.
88390
88391 2003-03-30  Bruno Haible  <bruno@clisp.org>
88392
88393         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88394
88395 2003-03-30  Bruno Haible  <bruno@clisp.org>
88396
88397         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88398         function chown() doesn't exist.
88399
88400 2003-03-28  Bruno Haible  <bruno@clisp.org>
88401
88402         * modules/copy-file: New file.
88403         * MODULES.html.sh (func_all_modules): Add it.
88404
88405 2003-03-28  Bruno Haible  <bruno@clisp.org>
88406
88407         * m4/copy-file.m4: New file.
88408
88409 2003-03-28  Bruno Haible  <bruno@clisp.org>
88410
88411         * lib/copy-file.h: New file, from GNU gettext.
88412         * lib/copy-file.c: New file, from GNU gettext.
88413
88414 2003-03-18  Jim Meyering  <jim@meyering.net>
88415
88416         * lib/quote.c (quote_n): Fix typo in comment.
88417
88418 2003-03-18  Bruno Haible  <bruno@clisp.org>
88419
88420         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88421         checking.
88422         * m4/onceonly_2_57.m4: Likewise.
88423
88424 2003-03-17  Bruno Haible  <bruno@clisp.org>
88425
88426         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88427         (m4_quote): Remove macro.
88428         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88429
88430 2003-03-14  Jim Meyering  <jim@meyering.net>
88431
88432         Merge changes from Coreutils.
88433         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88434         to be const, in order to avoid warnings.
88435         (obstack_room): Likewise.
88436         (obstack_empty_p): Likewise.
88437
88438 2003-03-14  Bruno Haible  <bruno@clisp.org>
88439
88440         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88441         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88442
88443 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88444
88445         Merge changes from Bison.
88446         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88447         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88448         when compiling Bison 1.875's `bitset bset = obstack_alloc
88449         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88450         * lib/hash.c: Include <stdbool.h> unconditionally.
88451
88452 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88453
88454         * m4/onceonly.m4 (m4_quote): New macro.
88455         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88456         Quote AC_FOREACH variable-expansions properly.
88457
88458 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88459
88460         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88461
88462 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88463
88464         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88465         Reported by Bruce Becker; see:
88466         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88467
88468 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88469             Bruno Haible  <bruno@clisp.org>
88470
88471         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88472         Reported by John Hughes, see
88473         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88474
88475 2003-02-20  Bruno Haible  <bruno@clisp.org>
88476
88477         * MODULES.html.sh (func_all_modules): Add poll.
88478
88479 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88480
88481         * modules/poll: New file.
88482
88483 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88484
88485         * lib/poll_.h: New file.
88486         * lib/poll.c: New file.
88487
88488 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88489
88490         * m4/poll.m4: New file.
88491
88492 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88493
88494         * modules/mathl: New file.
88495
88496 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88497
88498         * lib/mathl.h: New file.
88499         * lib/acosl.c: New file.
88500         * lib/asinl.c: New file.
88501         * lib/atanl.c: New file.
88502         * lib/ceill.c: New file.
88503         * lib/cosl.c: New file.
88504         * lib/expl.c: New file.
88505         * lib/floorl.c: New file.
88506         * lib/frexpl.c: New file.
88507         * lib/ldexpl.c: New file.
88508         * lib/logl.c: New file.
88509         * lib/sincosl.c: New file.
88510         * lib/sinl.c: New file.
88511         * lib/sqrtl.c: New file.
88512         * lib/tanl.c: New file.
88513         * lib/trigl.c: New file.
88514         * lib/trigl.h: New file.
88515
88516 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88517
88518         * m4/mathl.m4: New file.
88519
88520 2003-02-18  Bruno Haible  <bruno@clisp.org>
88521
88522         * MODULES.html.sh (func_all_modules): Add mathl.
88523
88524 2003-02-17  Bruno Haible  <bruno@clisp.org>
88525
88526         * modules/mkdtemp: New module.
88527         * MODULES.html.sh (func_all_modules): Add it.
88528
88529 2003-02-17  Bruno Haible  <bruno@clisp.org>
88530
88531         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88532
88533 2003-02-17  Bruno Haible  <bruno@clisp.org>
88534
88535         * lib/mkdtemp.h: New file, from GNU gettext.
88536         * lib/mkdtemp.c: New file, from GNU gettext.
88537
88538 2003-02-02  Jim Meyering  <jim@meyering.net>
88539
88540         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88541         e.g. glibc-2.2.93.
88542
88543 2003-01-31  Bruno Haible  <bruno@clisp.org>
88544
88545         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88546         'rpl_rename'.
88547         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88548         'rpl_strnlen'.
88549         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88550         'rpl_strtod'.
88551         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88552         'rpl_utime'.
88553
88554 2003-01-31  Bruno Haible  <bruno@clisp.org>
88555
88556         * lib/rename.c: #undef rename before defining rpl_rename.
88557         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88558
88559 2003-01-30  Bruno Haible  <bruno@clisp.org>
88560
88561         * modules/vasnprintf, modules/vasprintf: New modules.
88562         * MODULES.html.sh (func_all_modules): Add them.
88563
88564 2003-01-30  Bruno Haible  <bruno@clisp.org>
88565
88566         * m4/signed.m4: New file, from GNU gettext.
88567         * m4/longdouble.m4: New file, from GNU gettext.
88568         * m4/wchar_t.m4: New file, from GNU gettext.
88569         * m4/wint_t.m4: New file, from GNU gettext.
88570         * m4/vasnprintf.m4: New file.
88571         * m4/vasprintf.m4: New file.
88572
88573 2003-01-30  Bruno Haible  <bruno@clisp.org>
88574
88575         * lib/printf-args.h: New file, from GNU gettext.
88576         * lib/printf-args.c: New file, from GNU gettext.
88577         * lib/printf-parse.h: New file, from GNU gettext.
88578         * lib/printf-parse.c: New file, from GNU gettext.
88579         * lib/vasnprintf.h: New file, from GNU gettext.
88580         * lib/vasnprintf.c: New file, from GNU gettext.
88581         * lib/asnprintf.c: New file, from GNU gettext.
88582         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88583         * lib/vasprintf.c: New file, from GNU gettext.
88584         * lib/asprintf.c: New file, from GNU gettext.
88585
88586 2003-01-29  Bruno Haible  <bruno@clisp.org>
88587
88588         * modules/stpncpy: New module.
88589         * MODULES.html.sh (func_all_modules): Add it.
88590
88591 2003-01-29  Bruno Haible  <bruno@clisp.org>
88592
88593         * m4/stpncpy.m4: New file.
88594
88595 2003-01-29  Bruno Haible  <bruno@clisp.org>
88596
88597         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88598         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88599
88600 2003-01-28  Bruno Haible  <bruno@clisp.org>
88601
88602         * modules/c-ctype: New module.
88603         * MODULES.html.sh (func_all_modules): Add it.
88604
88605 2003-01-28  Bruno Haible  <bruno@clisp.org>
88606
88607         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88608         Paul Eggert.
88609         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88610         Paul Eggert.
88611
88612 2003-01-27  Bruno Haible  <bruno@clisp.org>
88613
88614         * modules/xsetenv: New module.
88615         * MODULES.html.sh (func_all_modules): Add it.
88616
88617 2003-01-27  Bruno Haible  <bruno@clisp.org>
88618
88619         * lib/xsetenv.h: New file, from GNU gettext.
88620         * lib/xsetenv.c: New file, from GNU gettext.
88621
88622 2003-01-23  Jim Meyering  <jim@meyering.net>
88623
88624         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88625         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88626
88627 2003-01-23  Bruno Haible  <bruno@clisp.org>
88628
88629         * modules/minmax: New module.
88630         * MODULES.html.sh (func_all_modules): Add it.
88631
88632 2003-01-23  Bruno Haible  <bruno@clisp.org>
88633
88634         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88635         Eggert.
88636
88637 2003-01-22  Bruno Haible  <bruno@clisp.org>
88638
88639         * modules/exit: New module.
88640         * MODULES.html.sh (func_all_modules): Add it.
88641
88642 2003-01-22  Bruno Haible  <bruno@clisp.org>
88643
88644         * lib/exit.h: New file, from GNU gettext.
88645
88646 2003-01-19  Bruno Haible  <bruno@clisp.org>
88647
88648         * gnulib-tool: Recognize option --extract-maintainer.
88649         (func_get_maintainer): New function.
88650         * modules/*: Add Maintainer entry.
88651
88652 2003-01-16  Jim Meyering  <jim@meyering.net>
88653
88654         * m4/regex.m4: The `regex' struct is both input and output.
88655         Initialize it before each use.  Patch by Tim Waugh.
88656
88657 2003-01-16  Bruno Haible  <bruno@clisp.org>
88658
88659         * MODULES.html.sh: Add a table of contents. Add the module name as
88660         leftmost column. Add hyperlinks.
88661
88662 2003-01-15  Bruno Haible  <bruno@clisp.org>
88663
88664         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88665
88666 2003-01-15  Bruno Haible  <bruno@clisp.org>
88667
88668         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88669         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88670         suffix.
88671
88672 2003-01-15  Bruno Haible  <bruno@clisp.org>
88673
88674         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88675
88676 2003-01-15  Bruno Haible  <bruno@clisp.org>
88677
88678         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88679         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88680
88681 2003-01-14  Jim Meyering  <jim@meyering.net>
88682
88683         * lib/same.c (same_name): Tweak a comment.
88684
88685 2003-01-14  Bruno Haible  <bruno@clisp.org>
88686
88687         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88688         when a string comparison is sufficient.
88689
88690 2003-01-14  Bruno Haible  <bruno@clisp.org>
88691
88692         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88693         'unsigned int'.
88694
88695 2003-01-14  Bruno Haible  <bruno@clisp.org>
88696
88697         * lib/hash-pjw.c: Add comment about low quality of this function.
88698
88699 2003-01-13  Bruno Haible  <bruno@clisp.org>
88700
88701         * modules/stpcpy: Distribute lib/stpcpy.h.
88702         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88703
88704 2003-01-13  Bruno Haible  <bruno@clisp.org>
88705
88706         * modules/*: Add a description.
88707         * modules/strpbrk: Fix Makefile.am snippet.
88708         * modules/strtoimax: Fix dependencies.
88709         * modules/strtoumax: Likewise.
88710
88711 2003-01-13  Bruno Haible  <bruno@clisp.org>
88712
88713         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88714         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88715         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88716
88717 2003-01-13  Bruno Haible  <bruno@clisp.org>
88718
88719         * gnulib-tool (func_create_testdir): Store config/* files in the main
88720         directory.
88721         * config.rpath: Move to ...
88722         * config/config.rpath: ... here.
88723         * modules/gettext: Contains config/config.rpath, not config.rpath.
88724         * modules/iconv: Likewise.
88725
88726 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88727
88728         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88729         to avoid collisions with libcurses and libreadline.
88730
88731         * m4/getstr.m4: Remove.
88732         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88733
88734 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88735
88736         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88737         to avoid collisions with libcurses and libreadline.
88738
88739         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88740         * lib/getstr.h, getstr.c: Remove.
88741         * lib/getline.c: Include "getline.h", to check interface.
88742         Move body of old getstr.c here: this defines MIN_CHUNK and
88743         declares getdelim2, which is renamed from getstr.
88744         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88745
88746         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88747         All uses changed.
88748         * lib/linebuffer.h: Likewise.
88749         (readline): Remove backward-compatibility macro.
88750
88751 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88752
88753         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88754         to avoid collisions with libcurses and libreadline.
88755         * getstr: Remove.
88756         * MODULES.html.sh: Remove getstr.
88757         * modules/getline: Depend on unlocked-io, not getstr.
88758
88759 2003-01-12  Jim Meyering  <jim@meyering.net>
88760
88761         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88762
88763 2003-01-10  Bruno Haible  <bruno@clisp.org>
88764
88765         * modules/alloca: Change Makefile.am requirements. Simplify Include
88766         requirements. Add lib/alloca_.h to file list.
88767
88768 2003-01-10  Bruno Haible  <bruno@clisp.org>
88769
88770         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88771
88772 2003-01-10  Bruno Haible  <bruno@clisp.org>
88773
88774         * lib/alloca_.h: New file.
88775         * lib/getdate.y: Unconditionally include alloca.h.
88776         * lib/makepath.c: Likewise.
88777         * lib/setenv.c: Likewise.
88778         * lib/userspec.c: Likewise.
88779
88780 2003-01-09  Karl Berry  <karl@gnu.org>
88781
88782         * MODULES.html.sh: include `dirname $0` in PATH, to find
88783         gnulib-tool.
88784
88785 2003-01-09  Bruno Haible  <bruno@clisp.org>
88786
88787         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88788         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88789
88790 2003-01-09  Bruno Haible  <bruno@clisp.org>
88791
88792         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88793
88794 2003-01-09  Bruno Haible  <bruno@clisp.org>
88795
88796         * lib/stdbool.h.in: New file.
88797
88798 2003-01-09  Bruno Haible  <bruno@clisp.org>
88799
88800         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88801         * MODULES.html.sh: Likewise.
88802
88803 2003-01-08  Jim Meyering  <jim@meyering.net>
88804
88805         * lib/full-write.c: Undefine and define-away `const' after inclusion
88806         of errno.h, not before.  Suggestion from Bruno Haible.
88807
88808 2003-01-08  Bruno Haible  <bruno@clisp.org>
88809
88810         * modules/full-read: Depend on full-write.
88811
88812 2003-01-08  Bruno Haible  <bruno@clisp.org>
88813
88814         * lib/safe-read.c: Include specification header first, to ensure its
88815         selfcontainedness.
88816         * lib/full-write.c: Likewise.
88817
88818 2003-01-07  Jim Meyering  <jim@meyering.net>
88819
88820         * lib/full-write.c: Rework so that it may serve to define full_read,
88821         too.
88822         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88823
88824 2003-01-07  Bruno Haible  <bruno@clisp.org>
88825
88826         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88827         <inttypes.h>.
88828         * lib/xstrtol.h: Likewise.
88829         * lib/xstrtoimax.c: Likewise.
88830         * lib/xstrtoumax.c: Likewise.
88831         * lib/human.h: Likewise.
88832
88833         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88834         on systems that have <inttypes.h> but not <stdint.h>.
88835
88836 2003-01-07  Bruno Haible  <bruno@clisp.org>
88837
88838         * MODULES.html.sh: Add copyright notice.
88839         (missed_files): Omit CVS directory entries.
88840         (func_module): Make it work with sed-3.02.
88841         * MODULES.txt: Remove file.
88842
88843 2003-01-06  Jim Meyering  <jim@meyering.net>
88844
88845         * lib/version-etc.c: Update year in translatable copyright string.
88846
88847 2003-01-03  Karl Berry  <karl@gnu.org>
88848
88849         * config/config.{guess,sub}: update from prep.
88850
88851 2003-01-02  Karl Berry  <karl@gnu.org>
88852
88853         * doc/COPYING.DOC: belatedly updated to 1.2.
88854
88855 2003-01-01  Karl Berry  <karl@gnu.org>
88856
88857         * gnulib-tool (func_verify_module): report module name $module in
88858         error message, not $1.
88859         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88860         be created, only if it doesn't exist.
88861         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88862
88863 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88864
88865         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88866
88867 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88868
88869         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88870         memcmp if strcoll doesn't work.
88871
88872 2002-12-31  Bruno Haible  <bruno@clisp.org>
88873
88874         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88875         nonempty.
88876
88877 2002-12-31  Bruno Haible  <bruno@clisp.org>
88878
88879         * lib/memcoll.c (STRCOLL): New macro.
88880         (memcoll): Use it.
88881
88882 2002-12-31  Bruno Haible  <bruno@clisp.org>
88883
88884         * lib/localcharset.h: New file.
88885         * lib/localcharset.c: Include it.
88886         * lib/unicodeio.c: Likewise.
88887
88888 2002-12-31  Bruno Haible  <bruno@clisp.org>
88889
88890         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88891         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88892
88893 2002-12-31  Bruno Haible  <bruno@clisp.org>
88894
88895         * lib/getline.h: Include <stddef.h>, for size_t.
88896
88897         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88898         * lib/unicodeio.c: Don't include <stddef.h>.
88899
88900 2002-12-31  Bruno Haible  <bruno@clisp.org>
88901
88902         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88903         HAVE_TM_ZONE.
88904
88905 2002-12-24  Karl Berry  <karl@gnu.org>
88906
88907         * config/config.guess: update from prep.
88908
88909 2002-12-24  Bruno Haible  <bruno@clisp.org>
88910
88911         General infrasructure.
88912         * m4/README: Rewritten.
88913         * m4/onceonly.m4: New file.
88914         * m4/onceonly_2_57.m4: New file.
88915
88916         Module atexit.
88917         * m4/atexit.m4: New file.
88918
88919         Module strtod.
88920         * m4/strtod.m4: New file.
88921
88922         Module strtol.
88923         * m4/strtol.m4: New file.
88924
88925         Module strtoul.
88926         * m4/strtoul.m4: New file.
88927
88928         Module memchr.
88929         * m4/memchr.m4: New file.
88930
88931         Module memcmp.
88932         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88933         (jm_FUNC_MEMCMP): Invoke it.
88934
88935         Module memcpy.
88936         * m4/memcpy.m4: New file.
88937
88938         Module memmove.
88939         * m4/memmove.m4: New file.
88940
88941         Module memset.
88942         * m4/memset.m4: New file.
88943
88944         Module strcspn.
88945         * m4/strcspn.m4: New file.
88946
88947         Module strpbrk.
88948         * m4/strpbrk.m4: New file.
88949
88950         Module strstr.
88951         * m4/strstr.m4: New file.
88952
88953         Module strerror.
88954         * m4/strerror.m4: New file.
88955
88956         Module mktime.
88957         * m4/mktime.m4: Renamed from jm-mktime.m4.
88958         (gl_PREREQ_MKTIME): New macro.
88959         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88960
88961         Module malloc.
88962         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88963         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88964         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88965
88966         Module realloc.
88967         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88968         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88969         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88970
88971         Module strftime.
88972         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88973         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88974         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88975         gl_TM_GMTOFF.
88976         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88977
88978         Module xalloc.
88979         * m4/xalloc.m4: New file.
88980
88981         Module alloca.
88982         * m4/alloca.m4: New file.
88983
88984         Module putenv.
88985         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88986         (jm_FUNC_PUTENV): Invoke it.
88987
88988         Module setenv.
88989         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88990         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88991         when invoked twice.
88992         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88993         gt_FUNC_SETENV.
88994
88995         Module memrchr.
88996         * m4/memrchr.m4: New file.
88997
88998         Module stpcpy.
88999         * m4/stpcpy.m4: New file.
89000
89001         Module strcase.
89002         * m4/strcase.m4: New file.
89003
89004         Module strdup.
89005         * m4/strdup.m4: New file.
89006
89007         Module strnlen.
89008         * m4/strnlen.m4: New file.
89009
89010         Module strndup.
89011         * m4/strndup.m4: New file.
89012
89013         Module xstrtod.
89014         * m4/xstrtod.m4: New file.
89015
89016         Module xstrtol.
89017         * m4/xstrtol.m4: New file.
89018
89019         Module getdate.
89020         * m4/getdate.m4: New file.
89021
89022         Module unlocked-io.
89023         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89024         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89025         * m4/jm-glibc-io.m4n: Remove file.
89026
89027         Module long-options.
89028         * m4/long-options.m4: New file.
89029
89030         Module md5.
89031         * m4/md5.m4: New file.
89032
89033         Module sha.
89034         * m4/sha.m4: New file.
89035
89036         Module getstr.
89037         * m4/getstr.m4: New file.
89038
89039         Module getline.
89040         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89041         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89042         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89043         simply getline. Infoke gl_PREREQ_GETLINE.
89044
89045         Module obstack.
89046         * m4/obstack.m4: New file.
89047
89048         Module hash.
89049         * m4/hash.m4: New file.
89050
89051         Module readtokens.
89052         * m4/readtokens.m4: New file.
89053
89054         Module strverscmp.
89055         * m4/strverscmp.m4: New file.
89056
89057         Module stdbool.
89058         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89059         OSF/1.
89060
89061         Module strtoll.
89062         * m4/strtoll.m4: New file.
89063
89064         Module strtoull.
89065         * m4/strtoull.m4: New file.
89066
89067         Module strtoimax.
89068         * m4/strtoimax.m4: New file.
89069
89070         Module strtoumax.
89071         * m4/strtoumax.m4: New file.
89072
89073         Module xstrtoimax.
89074         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89075         jm_AC_PREREQ_XSTRTOIMAX.
89076         Moved the strtol prerequisites to strtol.m4.
89077         Moved the strtoll prerequisites to strtoll.m4.
89078         Moved the strtoimax prerequisites to strtoimax.m4.
89079
89080         Module xstrtoumax.
89081         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89082         jm_AC_PREREQ_XSTRTOUMAX.
89083         Moved the strtoul prerequisites to strtoul.m4.
89084         Moved the strtoull prerequisites to strtoull.m4.
89085         Moved the strtoumax prerequisites to strtoumax.m4.
89086
89087         Module chown.
89088         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89089         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89090
89091         Module dup2.
89092         * m4/dup2.m4: New file.
89093
89094         Module ftruncate.
89095         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89096         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89097
89098         Module getgroups.
89099         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89100         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89101
89102         Module gettimeofday.
89103         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89104         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89105         gl_PREREQ_GETTIMEOFDAY.
89106
89107         Module mkdir.
89108         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89109         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89110
89111         Module mkstemp.
89112         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89113         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89114         jm_AC_TYPE_UINTMAX_T.
89115         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89116
89117         Module stat.
89118         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89119         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89120
89121         Module lstat.
89122         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89123         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89124
89125         Module timespec.
89126         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89127         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89128         * m4/st_mtim.m4: Indentation.
89129
89130         Module nanosleep.
89131         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89132         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89133         gl_PREREQ_NANOSLEEP.
89134
89135         Module regex.
89136         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89137         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89138         (gl_REGEX): New macro.
89139
89140         Module rename.
89141         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89142         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89143
89144         Module rmdir.
89145         * m4/rmdir.m4: New file.
89146
89147         Module utime.
89148         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89149         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89150         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89151
89152         Module dirname.
89153         * m4/dirname.m4: New file.
89154
89155         Module getopt.
89156         * m4/getopt.m4: New file.
89157
89158         Module unistd-safer.
89159         * m4/unistd-safer.m4: New file.
89160
89161         Module fnmatch.
89162         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89163         declaration.
89164         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89165         (gl_FUNC_FNMATCH_POSIX): New macro.
89166         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89167         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89168         simply fnmatch.
89169
89170         Module exclude.
89171         * m4/exclude.m4: New file.
89172
89173         Module human.
89174         * m4/human.m4: New file.
89175
89176         Module acl.
89177         * m4/acl.m4: Nop.
89178
89179         Module backupfile.
89180         * m4/backupfile.m4: New file.
89181         * m4/d-ino.m4: Indentation.
89182
89183         Module fsusage.
89184         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89185         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89186         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89187
89188         Module dirfd.
89189         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89190         requirements.
89191
89192         Module euidaccess.
89193         * m4/euidaccess.m4: New file.
89194
89195         Module file-type.
89196         * m4/file-type.m4: New file.
89197
89198         Module fileblocks.
89199         * m4/fileblocks.m4: New file.
89200
89201         Module filemode.
89202         * m4/filemode.m4: New file.
89203
89204         Module isdir.
89205         * m4/isdir.m4: New file.
89206
89207         Module lchown.
89208         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89209         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89210
89211         Module makepath.
89212         * m4/makepath.m4: New file.
89213
89214         Module modechange.
89215         * m4/modechange.m4: New file.
89216
89217         Module mountlist.
89218         * m4/mountlist.m4: New file.
89219         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89220         Indentation.
89221
89222         Module path-concat.
89223         * m4/path-concat.m4: New file.
89224
89225         Module pathmax.
89226         * m4/pathmax.m4: New file.
89227
89228         Module same.
89229         * m4/same.m4: New file.
89230
89231         Module save-cwd.
89232         * m4/save-cwd.m4: New file.
89233
89234         Module savedir.
89235         * m4/savedir.m4: New file.
89236
89237         Module xgetcwd.
89238         * m4/xgetcwd.m4: New file.
89239         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89240
89241         Module xreadlink.
89242         * m4/xreadlink.m4: New file.
89243
89244         Module safe-read.
89245         * m4/safe-read.m4: New file.
89246
89247         Module safe-write.
89248         * m4/safe-write.m4: New file.
89249
89250         Module closeout.
89251         * m4/closeout.m4: New file.
89252
89253         Module stdio-safer.
89254         * m4/stdio-safer.m4: New file.
89255
89256         Module getpass.
89257         * m4/getpass.m4: New file.
89258
89259         Module getugroups.
89260         * m4/getugroups.m4: New file.
89261
89262         Module group-member.
89263         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89264         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89265
89266         Module idcache.
89267         * m4/idcache.m4: New file.
89268
89269         Module userspec.
89270         * m4/userspec.m4: New file.
89271
89272         Module gettime.
89273         * m4/clock_time.m4: New file.
89274         * m4/gettime.m4: New file.
89275
89276         Module settime.
89277         * m4/settime.m4: New file.
89278
89279         Module posixtm.
89280         * m4/posixtm.m4: New file.
89281
89282         Module gethostname.
89283         * m4/gethostname.m4: New file.
89284
89285         Module canon-host.
89286         * m4/canon-host.m4: New file.
89287
89288         Module gettext.
89289         * m4/codeset.m4: New file, from gettext-0.11.5.
89290         * m4/gettext.m4: New file, from gettext-0.11.5.
89291         * m4/glibc21.m4: New file, from gettext-0.11.5.
89292         * m4/iconv.m4: New file, from gettext-0.11.5.
89293         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89294         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89295         * m4/inttypes.m4: New file, from gettext-0.11.5.
89296         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89297         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89298         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89299         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89300         * m4/lib-link.m4: New file, from gettext-0.11.5.
89301         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89302         * m4/progtest.m4: New file, from gettext-0.11.5.
89303         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89304         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89305         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89306
89307         Module localcharset.
89308         * m4/localcharset.m4: New file.
89309
89310         Module hard-locale.
89311         * m4/hard-locale.m4: New file.
89312
89313         Module mbswidth.
89314         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89315         onceonly macros.
89316         * m4/mbrtowc.m4: Add comment.
89317
89318         Module memcasecmp.
89319         * m4/memcasecmp.m4: New file.
89320
89321         Module memcoll.
89322         * m4/memcoll.m4: New file.
89323
89324         Module unicodeio.
89325         * m4/unicodeio.m4: New file.
89326
89327         Module rpmatch.
89328         * m4/rpmatch.m4: New file.
89329
89330         Module yesno.
89331         * m4/yesno.m4: New file.
89332
89333         Module exitfail.
89334         * m4/exitfail.m4: New file.
89335
89336         Module c-stack.
89337         * m4/c-stack.m4 (gl_C_STACK): New macro.
89338         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89339
89340         Module error.
89341         * m4/error.m4 (gl_ERROR): New macro.
89342         (jm_PREREQ_ERROR): Use onceonly macros.
89343
89344         Module fatal.
89345         * m4/fatal.m4: New file.
89346
89347         Module getloadavg.
89348         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89349         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89350
89351         Module getpagesize.
89352         * m4/getpagesize.m4: New file.
89353
89354         Module getusershell.
89355         * m4/getusershell.m4: New file.
89356
89357         Module physmem.
89358         * m4/physmem.m4: New file.
89359
89360         Module posixver.
89361         * m4/posixver.m4: New file.
89362
89363         Module quotearg.
89364         * m4/quotearg.m4: New file.
89365
89366         Module quote.
89367         * m4/quote.m4: New file.
89368
89369         Module readutmp.
89370         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89371
89372         Module sig2str.
89373         * m4/sig2str.m4: New file.
89374
89375         Other.
89376         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89377         ulonglong.m4.
89378         * m4/intmax_t.m4: New file.
89379         * m4/d-type.m4: Indentation.
89380         * m4/jm-macros.m4: Update.
89381         * m4/prereq.m4 (jm_PREREQ): Update.
89382         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89383         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89384         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89385         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89386         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89387         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89388         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89389         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89390         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89391         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89392         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89393         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89394         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89395         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89396         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89397         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89398         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89399         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89400         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89401
89402 2002-12-24  Bruno Haible  <bruno@clisp.org>
89403
89404         * MODULES.txt: Update according to m4/ changes.
89405
89406         Module gettext.
89407         * config.rpath: New file, from gettext-0.11.5.
89408
89409         * modules/*: New module descriptions.
89410         * gnulib-tool: New file.
89411         * MODULES.html.sh: New file.
89412
89413 2002-12-21  Karl Berry  <karl@gnu.org>
89414
89415         * doc/fdl.texi: update to version 1.2.
89416
89417 2002-12-19  Karl Berry  <karl@gnu.org>
89418
89419         * config/config.guess: update from prep.
89420
89421 2002-12-18  Bruno Haible  <bruno@clisp.org>
89422
89423         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89424         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89425
89426 2002-12-17  Bruno Haible  <bruno@clisp.org>
89427
89428         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89429         stdlib.h, string.h.
89430
89431 2002-12-17  Bruno Haible  <bruno@clisp.org>
89432
89433         * lib/canon-host.c (strdup): Remove unused declaration.
89434
89435         * lib/fsusage.c: Include full_read.h.
89436         (get_fs_usage): Use full_read instead of safe_read.
89437
89438         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89439
89440 2002-12-12  Karl Berry  <karl@gnu.org>
89441
89442         * config/config.guess: update from prep.
89443
89444 2002-12-11  Bruno Haible  <bruno@clisp.org>
89445
89446         * m4/setenv.m4: New file, from gettext-0.11.5.
89447
89448 2002-12-11  Bruno Haible  <bruno@clisp.org>
89449
89450         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89451         not unsetenv().
89452         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89453         modifications:
89454
89455         2002-12-11  Bruno Haible  <bruno@clisp.org>
89456
89457                 * setenv.c (alloca): Fall back to malloc.
89458                 (freea): New macro.
89459                 (setenv): Use freea() to free memory allocated with alloca().
89460
89461         2002-11-13  Bruno Haible  <bruno@clisp.org>
89462
89463                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89464                 function declarations.
89465                 * unsetenv.c (unsetenv): Likewise.
89466
89467         2002-03-04  Bruno Haible  <bruno@clisp.org>
89468
89469                 Portability to AIX 4.3.3.
89470                 * unsetenv.c: New file, extracted from setenv.c.
89471                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89472
89473         2001-12-20  Bruno Haible  <bruno@clisp.org>
89474
89475                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89476                 use malloc instead. For SunOS 4.
89477
89478         2001-12-11  Bruno Haible  <bruno@clisp.org>
89479
89480                 * setenv.c: Declare alloca.
89481                 (compar_fn_t): New typedef.
89482                 (KNOWN_VALUE, STORE_VALUE): Use it.
89483
89484         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89485         setenv.h.
89486
89487 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89488
89489         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89490         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89491         Choose values that are less likely to collide with system fnmatch
89492         options.
89493         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89494         defined (e.g., a pure POSIX system).
89495         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89496         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89497
89498 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89499
89500         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89501         a pain in practice to deal with generated m4 files.  This change
89502         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89503
89504         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89505         and jm-glibc-io.m4, as they are no longer a special case.
89506         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89507         kludge and the auto-generation stuff.  Check only whether the
89508         functions are declared, not whether they exist, since older hosts
89509         that don't declare the functions can't use the optimization anyway.
89510
89511 2002-12-06  Jim Meyering  <jim@meyering.net>
89512
89513         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89514
89515         Merge in changes from libc's misc/error.c, in preparation
89516         for the merge of gnulib's changes back into libc.
89517
89518         * lib/error.c (_): Define only if not already defined.
89519         Move definition to follow all #include directives.
89520         Include unlocked-io.h only if !_LIBC.
89521         [_LIBC]: Include <libio/libioP.h>.
89522         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89523         (fflush): Tweak definition to use INTUSE.
89524         (putc): Define.
89525
89526 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89527
89528         * lib/alloca.c [defined emacs]: Include "lisp.h".
89529         (xalloc_die) [defined emacs]: New macro.
89530         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89531         [! defined emacs]: Include <xalloc.h>.
89532         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89533         (pointer): Typedef to POINTER_TYPE *.
89534         (malloc): Remove decl; we now always use xmalloc.
89535         (alloca): Use old-style definition, since Emacs needs this.
89536         Check for arithmetic overflow when computing combined size.
89537
89538 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89539
89540         Do not generate unlocked-io.h automatically, since it's easier to
89541         maintain it by hand.
89542
89543         * lib/unlocked-io.h: New file, from GNU diffutils,
89544         but with proper copyright notice and attribution.
89545         * lib/gen-uio: Remove.
89546         * lib/Makefile.am: Add copyright notice.
89547         (libfetish_a_SOURCES): Add unlocked-io.h.
89548         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89549         (DISTCLEANFILES, io_functions): Remove macros.
89550         (EXTRA_DIST): Remove gen_uio.
89551         (unlocked-io.h): Remove rule.
89552
89553 2002-12-04  Jim Meyering  <jim@meyering.net>
89554
89555         Reflect the fact that stat.c and lstat.c are no longer generated.
89556         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89557         (DISTCLEANFILES): Likewise.
89558         (EXTRA_DIST): Likewise.
89559         (all_local): Don't depend on stat.c or lstat.c.
89560         (stat.c, lstat.c): Remove rules.
89561         (EXTRA_DIST): Remove xstat.in.
89562
89563         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89564         * lib/stat.c: New file.  Contents mostly from xstat.in.
89565         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89566         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89567
89568         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89569         too.
89570         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89571
89572 2002-12-03  Jim Meyering  <jim@meyering.net>
89573
89574         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89575         but not semantics, to minimize the differences between these two files.
89576         (safe_read): Change comment to mention SAFE_READ_ERROR.
89577
89578         * lib/safe-read.c (IS_EINTR): Define.
89579         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89580
89581 2002-12-02  Jim Meyering  <jim@meyering.net>
89582
89583         * lib/safe-read.c (EINTR): Define.
89584         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89585         (INT_MAX): Provide fallback.
89586         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89587
89588         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89589
89590 2002-12-02  Bruno Haible  <bruno@clisp.org>
89591
89592         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89593         Define, taken from safe-read.c.
89594         (INT_MAX): Provide fallback.
89595         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89596         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89597
89598         * lib/safe-read.c (EINTR): Remove definition.
89599         (safe_read): Don't use EINTR if it is absent.
89600
89601 2002-12-01  Jim Meyering  <jim@meyering.net>
89602
89603         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89604         zero.
89605         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89606
89607 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89608
89609         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89610         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89611         with `if (! (value < limit)) abort ();', for readability.
89612
89613 2002-11-26  Karl Berry  <karl@gnu.org>
89614
89615         * lib/strdup.c: copy from libc again, with jim's ok.
89616         * lib/.cppi-disable: re-add strdup.c
89617
89618 2002-11-25  Karl Berry  <karl@gnu.org>
89619
89620         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89621         instead of "strtol.c".
89622
89623 2002-11-25  Karl Berry  <karl@gnu.org>
89624
89625         * config/install-sh: update from automake for variable quoting, $0 in
89626         error msgs, etc.
89627
89628         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89629         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89630         entry.
89631
89632 2002-11-25  Jim Meyering  <jim@meyering.net>
89633
89634         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89635
89636 2002-11-24  Karl Berry  <karl@gnu.org>
89637
89638         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89639         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89640
89641 2002-11-24  Jim Meyering  <jim@meyering.net>
89642
89643         Update from coreutils:
89644
89645         * lib/mktime.c: Merge in changes from libc.
89646
89647         Avoid a link-time failure on some Linux systems.
89648         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89649         (otherwise).
89650         (__mon_yday): Declare with the STATIC attribute.
89651         (__mktime_internal): Likewise.
89652         Based on a report from Greg Schafer.
89653
89654 2002-11-23  Jim Meyering  <jim@meyering.net>
89655
89656         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89657         Use `unsigned', not `int', as type of index.
89658
89659         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89660
89661         * lib/fsusage.c: Remove unneeded parentheses around operands of
89662         `defined'.
89663
89664 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89665
89666         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89667         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89668         so that we can be included first.
89669         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89670         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89671         No need to include stddef.h or sys/types.h any more.
89672         Surround local include files with "", not "<>".
89673         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89674         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89675         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89676         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89677         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89678         (ISPRINT): Remove; no longer needed now that we assume C89.
89679
89680         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89681         Preserve errno.
89682
89683         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89684         quotearg_char): Use SIZE_MAX rather than
89685         (size_t) -1 when we are talking about "infinity".
89686
89687         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89688
89689 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89690
89691         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89692         hint that one should use `if (! x) abort ();' rather than `assert
89693         (x);', and anyway it's one less thing to worry about configuring.
89694         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89695         hash_rehash, hash_insert): Use abort rather than assert.
89696
89697 2002-11-22  Bruno Haible  <bruno@clisp.org>
89698
89699         * lib/safe-read.h: Assume C89. Add comments.
89700         (safe_read): Change return type to size_t.
89701         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89702         byte counts > SSIZE_MAX correctly.
89703         * lib/safe-write.h: New file.
89704         * lib/safe-write.c: New file.
89705         * lib/full-read.h: New file.
89706         * lib/full-read.c: New file.
89707         * lib/full-write.h: Assume C89. Add comments.
89708         * lib/full-write.c: Include safe-write.h.
89709         (full_write): Rewritten to use safe_write.
89710         Suggested by Jim Meyering and Paul Eggert.
89711
89712 2002-11-21  Jim Meyering  <jim@meyering.net>
89713
89714         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89715
89716         Merge in changes from the coreutils.
89717
89718         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89719         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89720         <stdint.h>.
89721         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89722         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89723         int.  Work more efficiently if X is the same width as uintmax_t.
89724         Do not compare X to -1, to avoid bogus compiler warning.
89725         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89726         Don't assume that f_frsize and f_bsize are the same type.
89727
89728         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89729         warning on FreeBSD.
89730
89731         * lib/makepath.c (make_path): Restore umask *before* creating the final
89732         component.
89733         (make_path): Minor reformatting.
89734
89735         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89736         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89737         HAVE_MALLOC/HAVE_REALLOC.
89738
89739         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89740         dummy ones.  At least on GNU/Linux systems, `auto' means something
89741         else.
89742         From Michael Stone.
89743
89744 2002-11-21  Bruno Haible  <bruno@clisp.org>
89745
89746         Remove case insensitive option matching.
89747         * lib/argmatch.h (argcasematch): Remove declaration.
89748         (ARGCASEMATCH): Remove macro.
89749         (__xargmatch_internal): Remove case_sensitive argument.
89750         (XARGMATCH): Update.
89751         (XARGCASEMATCH): Remove macro.
89752         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89753         case_sensitive argument.
89754         (argcasematch): Remove function.
89755         (__xargmatch_internal): Remove case_sensitive argument.
89756         (main): Use XARGMATCH instead of XARGCASEMATCH.
89757
89758         * lib/xmalloc.c: Change compile-time error message. Add comment about
89759         required autoconf version.
89760
89761 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89762
89763         Merge argmatch cleanups from Bison.  Assume C89.
89764
89765         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89766         Include stdlib.h, for EXIT_FAILURE.
89767         Always include <string.h>, since we assume C89.
89768         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89769         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89770         Include <stddef.h> instead, since it's all we need for size_t.
89771         (PARAMS): Remove.  All uses removed.
89772         (ARRAY_CARDINALITY): Do not bother to #undef.
89773         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89774         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89775         Remove unnecessary parentheses.
89776         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89777         Insert necessary parentheses.
89778         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89779         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89780
89781 2002-11-19  Bruno Haible  <bruno@clisp.org>
89782
89783         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89784         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89785
89786         * lib/mbswidth.h (PARAMS): Remove macro.
89787         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89788         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89789
89790         * lib/gcd.h (PARAMS): Remove macro.
89791         (gcd): Use ANSI C function declarations.
89792         * lib/gcd.c (gcd): Likewise.
89793
89794 2002-11-15  Bruno Haible  <bruno@clisp.org>
89795
89796         * lib/strcspn.c: Include <stddef.h>.
89797         (strcspn): Use ANSI C function declaration. Change return type to
89798         size_t. Use NULL.
89799         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89800         (strpbrk): Use NULL.
89801         * lib/strpbrk.h (PARAMS): Remove macro.
89802         (strpbrk): Use ANSI C function declaration.
89803         * lib/strstr.c: Don't include <sys/types.h>.
89804         * lib/strstr.h (PARAMS): Remove macro.
89805         (strstr): Use ANSI C function declarations.
89806
89807 2002-11-14  Karl Berry  <karl@gnu.org>
89808
89809         * config/mkinstalldirs: `do' on separate line, instead of
89810         `for var; do'.
89811
89812 2002-11-06  Bruno Haible  <bruno@clisp.org>
89813
89814         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89815         * lib/gcd.c (gcd): Likewise.
89816
89817 2002-11-05  Bruno Haible  <bruno@clisp.org>
89818
89819         * lib/gcd.h: New file, from gettext-0.11.5.
89820         * lib/gcd.c: New file, from gettext-0.11.5.
89821
89822 2002-11-05  Bruno Haible  <bruno@clisp.org>
89823
89824         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89825         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89826         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89827         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89828
89829         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89830         <libintl.h>.
89831         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89832         <libintl.h>.
89833
89834         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89835         * lib/human.c: Include gettext.h instead of <libintl.h>.
89836         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89837         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89838         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89839         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89840         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89841         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89842         (textdomain): Remove definition.
89843         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89844
89845         * lib/long-options.c: Remove include of <libintl.h> and definition of
89846         _.
89847         * lib/same.c: Remove include of <libintl.h> and definition of _.
89848
89849 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89850
89851         * lib/config.charset: A few additions for Solaris.
89852
89853 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89854
89855         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89856         * lib/localcharset.c (locale_charset): Declare as extern "C".
89857
89858 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89859
89860         * lib/config.charset: msdos in uk_UA uses CP1125.
89861
89862 2002-11-04  Bruno Haible  <bruno@clisp.org>
89863
89864         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89865         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89866         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89867         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89868         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89869
89870 2002-11-04  Bruno Haible  <bruno@clisp.org>
89871
89872         * lib/localcharset.c (locale_charset): Don't return an empty string.
89873
89874 2002-11-04  Bruno Haible  <bruno@clisp.org>
89875
89876         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89877         aliases.
89878
89879 2002-11-04  Bruno Haible  <bruno@clisp.org>
89880
89881         * lib/config.charset: Update for newest glibc. Add canonical names
89882         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89883
89884 2002-11-04  Bruno Haible  <bruno@clisp.org>
89885
89886         * lib/config.charset: Add support for NetBSD.
89887
89888 2002-11-04  Bruno Haible  <bruno@clisp.org>
89889
89890         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89891
89892 2002-11-01  Bruno Haible  <bruno@clisp.org>
89893
89894         * configure.in: Add AC_CONFIG_AUX_DIR call.
89895         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89896         test/Makefile.
89897         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89898
89899 2002-09-28  Karl Berry  <karl@gnu.org>
89900
89901         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89902         installed automake until the next release, since changes have been
89903         made.
89904
89905 2002-09-25  Karl Berry  <karl@gnu.org>
89906
89907         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89908         * lib/getopt*: copy from libc/posix.
89909         * lib/gettext.h: copy from gettext.
89910         * lib/.cppi-disable: add strdup.c, gettext.h.
89911
89912 2002-09-25  Karl Berry  <karl@gnu.org>
89913
89914         * config/srclist.txt: enable gettext.h check.
89915         * config/config.{guess,sub}: update from prep.
89916         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89917                 from automake 1.6.3.
89918         See srclist*.
89919
89920 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89921
89922         * regex.c (PATFETCH): Remove the translating fetch.
89923         (PATFETCH_RAW): Rename to PATFETCH.
89924         (set_image_of_range): New fun.
89925         (SET_RANGE_TABLE_WORK_AREA): Use it.
89926         (regex_compile): Don't translate the pattern chars so eagerly.
89927         Only do it when inserting an `exactn' bytecode or when handling
89928         a char-range.
89929         (mutually_exclusive_p): Avoid empty statement.
89930
89931 2002-07-06  Jim Meyering  <meyering@lucent.com>
89932
89933         * m4/README: Don't mention Makefile.am.in.
89934         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89935
89936 2002-07-01  Jim Meyering  <meyering@lucent.com>
89937
89938         * lib/c-stack.c: Include sys/time.h.
89939         From Volker Borchert.
89940
89941 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89942
89943         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89944
89945 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89946
89947         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89948         New macro.  Use it uniformly instead of
89949         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89950         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89951         reported by Vin Shelton.
89952
89953 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89954
89955         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89956         Do not assume SA_SIGINFO behavior.
89957         Bug reported by Jim Meyering on NetBSD 1.5.2.
89958
89959 2002-06-22  Jim Meyering  <meyering@lucent.com>
89960
89961         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89962         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89963
89964         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89965         now that configure.ac uses AC_GNU_SOURCE.
89966         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89967         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89968
89969         Update to latest tools.  Suggestions from Paul Eggert.
89970         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89971         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89972         * m4/fnmatch.m4: Likewise.
89973         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89974         to AC_HEADER_STDBOOL
89975
89976 2002-06-22  Jim Meyering  <meyering@lucent.com>
89977
89978         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89979         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89980
89981 2002-06-22  Jim Meyering  <meyering@lucent.com>
89982
89983         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89984
89985         * lib/exitfail.c, exitfail.h: Likewise.
89986         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89987
89988         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89989         of fnmatch.h.
89990         (EXTRA_DIST): Add fnmatch_loop.c.
89991         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89992
89993         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89994         * lib/fnmatch.c: Update from diffutils-2.8.2.
89995         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89996         * lib/fnmatch.h: Remove file.
89997
89998 2002-06-21  Jim Meyering  <meyering@lucent.com>
89999
90000         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90001         * m4/mbrtowc.m4: Likewise.
90002
90003         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90004         * m4/mbswidth.m4: Reflect name change:
90005         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90006         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90007
90008         * m4/lib-link.m4: Update from gettext-0.11.2.
90009         * m4/gettext.m4: Likewise.
90010
90011         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90012         From Alfred M. Szmidt.
90013
90014 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90015
90016         * lib/file-type.h: Report an error if neither S_ISREG nor
90017         S_IFREG is defined, instead of using a test specific to glibc
90018         2.2.  This should be safe, since POSIX requires S_ISREG and
90019         Unix Version 7 had S_IFREG.  We don't need to check for
90020         <sys/types.h> since we don't use any symbols that it defines.
90021
90022 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90023
90024         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90025         $@-t, so that each temporary file name is unique and valid in the first
90026         8 characters, for operation under DOS.
90027
90028 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90029
90030         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90031
90032 2002-06-15  Jim Meyering  <meyering@lucent.com>
90033
90034         Work even with DJGPP 2.03, which lacks support for symlinks.
90035         From Richard Dawe.
90036         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90037         is defined.
90038         * lib/lchown.c (S_ISLNK): Likewise.
90039
90040 2002-06-15  Jim Meyering  <meyering@lucent.com>
90041
90042         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90043         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90044         have been included before this file.
90045
90046 2002-06-14  Jim Meyering  <meyering@lucent.com>
90047
90048         * lib/file-type.h: Use the version from diffutils-2.8.2.
90049         * lib/file-type.c: Likewise.
90050
90051 2002-06-07  Jim Meyering  <meyering@lucent.com>
90052
90053         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90054         They're needed at least for NetBSD 1.5.2.
90055         ($statxfs_includes): Include those same headers.
90056         ($statxfs_includes): Include sys/vfs.h if available.
90057         ($statxfs_includes): Likewise for sys/statvfs.h.
90058         Check for the following members in both structs statfs and statvfs:
90059         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90060
90061 2002-06-01  Jim Meyering  <meyering@lucent.com>
90062
90063         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90064         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90065
90066 2002-05-28  Jim Meyering  <meyering@lucent.com>
90067
90068         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90069         Reported by Volker Borchert.
90070
90071 2002-05-27  Jim Meyering  <meyering@lucent.com>
90072
90073         Fix a problem seen only on nonconforming systems whereby ls.c's
90074         use of localtime, and then of gettimeofday would cause trouble:
90075         the localtime call used to initialize rpl_gettimeofday's save
90076         mechanism would clobber ls's current local time information so
90077         that in any long listing the first file would always be listed
90078         with date 1970-01-01.  Analysis by Volker Borchert.
90079
90080         * lib/gettimeofday.c (localtime): Undefine.
90081         (rpl_localtime): New function.
90082
90083 2002-05-27  Jim Meyering  <meyering@lucent.com>
90084
90085         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90086         localtime.
90087
90088         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90089         use the replacement function; it wouldn't resolve at link time.
90090         Reported by Volker Borchert.
90091
90092 2002-05-22  Jim Meyering  <meyering@lucent.com>
90093
90094         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90095         file-type.h.
90096         * lib/file-type.h: New file.
90097         * lib/file-type.c (file_type): New file/function.  Extracted from
90098         diffutils.
90099
90100 2002-04-30  Jim Meyering  <meyering@lucent.com>
90101
90102         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90103
90104 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90105
90106         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90107
90108 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90109
90110         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90111         Do not check for alloca.h (no longer used) or stdbool.h (was never
90112         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90113
90114 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90115
90116         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90117
90118 2002-04-29  Jim Meyering  <meyering@lucent.com>
90119
90120         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90121         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90122         Use AC_FUNC_STRNLEN here instead.
90123
90124         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90125         With autoconf-2.53a, it's part of AC_PROG_CC.
90126
90127 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90128
90129         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90130         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90131
90132 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90133
90134         * lib/sig2str.h, lib/sig2str.c: New files.
90135         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90136
90137 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90138
90139         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90140         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90141         of 127, since 64 is the largest conceivable number for ancient
90142         nonstandard hosts.
90143         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90144
90145 2002-04-28  Jim Meyering  <meyering@lucent.com>
90146
90147         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90148
90149 2002-04-24  Jim Meyering  <meyering@lucent.com>
90150
90151         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90152         (jm_PREREQ): Use it.
90153
90154         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90155         mach/mach.h fcntl.h.
90156         Check for this function: setlocale.
90157
90158 2002-04-24  Jim Meyering  <meyering@lucent.com>
90159
90160         * lib/gettext.h: New file, from Gettext.
90161         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90162         (libfetish_a_SOURCES): Add gettext.h.
90163
90164 2002-04-16  Jim Meyering  <meyering@lucent.com>
90165
90166         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90167         ut_pid, ut_id, ut_exit.
90168
90169 2002-04-16  Jim Meyering  <meyering@lucent.com>
90170
90171         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90172         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90173         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90174
90175 2002-04-12  Jim Meyering  <meyering@lucent.com>
90176
90177         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90178         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90179         existence of the getmntinfo function.  Needed for Darwin 5.3.
90180
90181         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90182         This is necessary at least on Darwin 5.3.
90183
90184         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90185         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90186         strnlen.o in the library, and that makes some versions of ranlib
90187         object.
90188
90189 2002-04-12  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90192
90193 2002-04-09  Jim Meyering  <meyering@lucent.com>
90194
90195         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90196         to be more precise.  Rather than saying we're checking whether the
90197         function `works', say what we're testing.
90198         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90199         Reported by Bruno Haible.
90200
90201 2002-03-10  Jim Meyering  <meyering@lucent.com>
90202
90203         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90204         Suggestion from Santiago Vila.
90205
90206 2002-03-08  Jim Meyering  <meyering@lucent.com>
90207
90208         * lib/rename.c: Mention that this wrapper is needed also on
90209         mips-dec-ultrix4.4 systems.
90210
90211 2002-03-02  Jim Meyering  <meyering@lucent.com>
90212
90213         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90214         not HAVE_CLOCK_SETTIME.
90215
90216 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90217
90218         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90219         Check for clock_settime.
90220
90221 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90222
90223         * lib/nanosleep.h: Rename to....
90224         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90225
90226         * lib/gettime.c: New file.
90227         * lib/settime.c: New file.
90228         * lib/stime.c: Remove.
90229
90230         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90231         timespec.h.  Remove nanosleep.h.
90232
90233 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90234
90235         * m4/acl.m4: New file.
90236         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90237         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90238
90239 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90240
90241         * lib/acl.c, lib/acl.h: New files.
90242         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90243
90244 2002-02-24  Jim Meyering  <meyering@lucent.com>
90245
90246         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90247         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90248         cause trouble.  Reported by Nelson Beebe.
90249
90250 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90251
90252         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90253         compilers that don't know that xalloc_die never returns.
90254
90255 2002-02-20  Jim Meyering  <meyering@lucent.com>
90256
90257         * lib/getdate.c: Regenerate using bison-1.33.
90258
90259 2002-02-17  Jim Meyering  <meyering@lucent.com>
90260
90261         * config/config.guess (main): Don't use `head -1'; it's no longer
90262         portable. Use `sed 1q' instead.
90263
90264 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90265
90266         * m4/codeset.m4: Upgrade to gettext-0.11.
90267         * m4/gettext.m4: Upgrade to gettext-0.11.
90268         * m4/glibc21.m4: Upgrade to gettext-0.11.
90269         * m4/iconv.m4: Upgrade to gettext-0.11.
90270         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90271         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90272         * m4/lib-ld.m4: New file, from gettext-0.11.
90273         * m4/lib-link.m4: New file, from gettext-0.11.
90274         * m4/lib-prefix.m4: New file, from gettext-0.11.
90275         * m4/progtest.m4: Upgrade to gettext-0.11.
90276
90277 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90278
90279         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90280         (jm_PREREQ): Use it.
90281
90282 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90283
90284         * lib/posixver.c, lib/posixver.h: New files.
90285         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90286
90287 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90288             Bruno Haible  <bruno@clisp.org>
90289
90290         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90291         (fwrite_success_callback): New declaration.
90292         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90293         print_unicode_char. Call failure callback instead of error.
90294         (fwrite_success_callback): New function.
90295         (exit_failure_callback): New function.
90296         (fallback_failure_callback): New function.
90297         (print_unicode_char): Call unicode_to_mb.
90298
90299 2002-01-26  Jim Meyering  <meyering@lucent.com>
90300
90301         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90302         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90303
90304 2002-01-26  Jim Meyering  <meyering@lucent.com>
90305
90306         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90307
90308 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90309
90310         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90311
90312 2002-01-22  Jim Meyering  <meyering@lucent.com>
90313
90314         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90315         Otherwise, some versions of automake would omit the rule that makes
90316         Makefile from Makefile.in.
90317
90318 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90319
90320         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90321         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90322         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90323         (memcoll): Set errno to zero if there is no error.
90324
90325         * lib/quotearg.c (quotearg_buffer_restyled):
90326         Fix bug with quoting buffers containing NUL when backslashing escapes.
90327         This bug was exposed by the other changes in this patch.
90328         (quotearg_n_options): New arg ARGSIZE.
90329         All callers changed.
90330         (quoting_options_from_style): New function.
90331         (quotearg_n_style): Use it.
90332         (quotearg_n_style_mem): New function.
90333
90334         * lib/quotearg.h (quotearg_n_style_mem): New function.
90335
90336 2002-01-19  Jim Meyering  <meyering@lucent.com>
90337
90338         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90339         Remove useless quotes: DF_PROG="df".
90340         * m4/strnlen.m4: New file.
90341
90342 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90343
90344         * lib/backupfile.c (ISDIGIT): Comment fix.
90345         * lib/getdate.y (ISDIGIT): Likewise.
90346         * lib/posixtm.c (ISDIGIT, year): Likewise.
90347         * lib/strverscmp.c (ISDIGIT): Likewise.
90348         * lib/userspec.c (ISDIGIT): Likewise.
90349
90350 2002-01-16  Jim Meyering  <meyering@lucent.com>
90351
90352         * lib/getdate.y: Add three semicolons, each just before a closing
90353         brace. Bison (as of version 1.31) no longer papers over that mistake.
90354
90355 2002-01-05  Jim Meyering  <meyering@lucent.com>
90356
90357         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90358
90359 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90360
90361         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90362         not silently exit merely because the output buffer happens to
90363         have nothing pending.
90364
90365 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90366
90367         See the big note in ../ChangeLog.
90368         * lib/human.c (suffixes): Prefer K to k for 1024.
90369         (generate_suffix_backwards): New function.
90370         (human_readable_inexact): Use it.
90371         * lib/xstrtol.c (__xstrtol): If there is no number but there
90372         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90373         Accept 'K' as well as 'k'.
90374
90375 2001-12-15  Jim Meyering  <meyering@lucent.com>
90376
90377         * lib/regex.h (__restrict_arr): Update from libc.
90378
90379         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90380         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90381         (STREQ): Define.
90382
90383 2001-12-14  Jim Meyering  <meyering@lucent.com>
90384
90385         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90386         Suggestion from Bruno Haible.
90387
90388 2001-12-10  Jim Meyering  <meyering@lucent.com>
90389
90390         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90391         xrealloc, Instead, include "xalloc.h".
90392         (initbuffer): Don't cast xmalloc return value to char*.
90393         (readline): Reword comment.
90394         Don't cast xrealloc return value to char*
90395         Return NULL, not 0.
90396
90397 2001-12-09  Jim Meyering  <meyering@lucent.com>
90398
90399         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90400         about `signed and unsigned type in conditional expression'.
90401         * lib/posixtm.c (posix_time_parse): Likewise.
90402
90403         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90404
90405         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90406         to avoid a pedantic warning.
90407
90408         * lib/getstr.c: Don't include assert.h.
90409         (getstr): Remove warning-evoking assertions.
90410         Return -1 if offset parameter is out of bounds.
90411         Change the type of a local from int to size_t.
90412
90413         * lib/strftime.c (my_strftime_localtime_r): Include this function
90414         definition in the `#if ! HAVE_TM_GMTOFF' block.
90415
90416         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90417         Include xalloc.h instead.
90418
90419 2001-12-02  Jim Meyering  <meyering@lucent.com>
90420
90421         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90422         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90423         included.
90424
90425         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90426         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90427
90428 2001-11-30  Akim Demaille  <akim@epita.fr>
90429
90430         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90431         before being defined.
90432
90433 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90434
90435         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90436         First arg is int, not unsigned.
90437         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90438         (SIZE_MAX, UINT_MAX): New macros.
90439         (quotearg_n_options): Abort if N is negative.
90440         Avoid overflow check on hosts where size_t is 64 bits and int
90441         is 32 bits, as overflow is impossible there.
90442         Fix off-by-one typo that caused unnecessary reallocation.
90443
90444 2001-11-27  Jim Meyering  <meyering@lucent.com>
90445
90446         * lib/tempname.c: Merge with version from libc.
90447         * lib/regex.c: Likewise.
90448
90449         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90450         systems for which STDC_HEADERS is 0, it was not included, resulting in
90451         a warning about an integer-to-pointer conversion problem with getenv.
90452         Reported by Volker Borchert.
90453
90454 2001-11-26  Jim Meyering  <meyering@lucent.com>
90455
90456         * lib/gtod.h: Remove file.
90457         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90458         * lib/gettimeofday.c: Don't include gtod.h.
90459         (GTOD_init): Remove function.
90460         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90461         Suggestion from Volker Borchert.
90462
90463 2001-11-23  Jim Meyering  <meyering@lucent.com>
90464
90465         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90466         it.
90467         * lib/hash.c (struct hash_table): Define it here instead.
90468
90469 2001-11-22  Jim Meyering  <meyering@lucent.com>
90470
90471         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90472
90473 2001-11-20  Jim Meyering  <meyering@lucent.com>
90474
90475         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90476         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90477
90478 2001-11-19  Jim Meyering  <meyering@lucent.com>
90479
90480         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90481         directory.  Use "conftestXXXXXX" as the template.
90482         Suggestion from Paul Eggert.
90483
90484         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90485         immediately, so the test doesn't mistakenly hit the max-open-files
90486         limit.
90487
90488 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90489
90490         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90491         (TEMPORARIES): New macro.
90492         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90493         removes an artificial limitation (e.g. HP-UX 10.20, where
90494         TMP_MAX is 17576).
90495
90496 2001-11-18  Jim Meyering  <meyering@lucent.com>
90497
90498         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90499
90500 2001-11-18  Jim Meyering  <meyering@lucent.com>
90501
90502         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90503         on SunOS 4.
90504
90505         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90506         files will be created before anything else.
90507
90508 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90509
90510         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90511         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90512
90513 2001-11-17  Jim Meyering  <meyering@lucent.com>
90514
90515         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90516         Prompted by a report from Bob Proulx.
90517
90518         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90519         Instead, require UTILS_FUNC_MKSTEMP.
90520
90521 2001-11-17  Jim Meyering  <meyering@lucent.com>
90522
90523         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90524         Now, that's done as part of AC_FUNC_STRTOD.
90525
90526 2001-11-17  Jim Meyering  <meyering@lucent.com>
90527
90528         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90529         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90530         rather than group writable.  Patch by Juan F. Codagnone.
90531
90532         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90533         xrealloc, Instead, include "xalloc.h".
90534
90535         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90536         Remove explicit declarations of xmalloc, xrealloc,
90537         and xstrdup.  Instead, include "xalloc.h".
90538
90539         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90540         unlocked-io.h.
90541         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90542         Likewise.
90543         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90544
90545         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90546         Reported by Padraig Brady.
90547
90548         * lib/mkstemp.c: #undef mkstemp.
90549         Include config.h.
90550         (rpl_mkstemp): Rename from mkstemp.
90551         Protoize.
90552
90553 2001-11-16  Jim Meyering  <meyering@lucent.com>
90554
90555         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90556         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90557         determine the amount of total physical memory, use pstat_getstatic.
90558         HPUX-11 doesn't define _SC_PHYS_PAGES.
90559         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90560         If sysconf couldn't be used to determine the amount of available
90561         physical memory, use both pstat_getstatic and pstat_getdynamic.
90562         Based on a patch from Bob Proulx.
90563
90564 2001-11-10  Jim Meyering  <meyering@lucent.com>
90565
90566         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90567         (jm_PREREQ): Use it.
90568
90569 2001-11-09  Jim Meyering  <meyering@lucent.com>
90570
90571         * m4/jm-macros.m4: Require autoconf-2.52f.
90572         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90573         Use these AC_-prefixed names, not the AM_-prefixed ones.
90574
90575         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90576
90577 2001-11-05  Jim Meyering  <meyering@lucent.com>
90578
90579         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90580
90581 2001-11-04  Jim Meyering  <meyering@lucent.com>
90582
90583         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90584         $DEFS.
90585
90586 2001-11-03  Jim Meyering  <meyering@lucent.com>
90587
90588         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90589         of AC_DEFUN.
90590
90591         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90592         know the name of the variable in the macro definition.
90593
90594 2001-11-03  Jim Meyering  <meyering@lucent.com>
90595
90596         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90597         in argmatch_to_argument call.
90598
90599         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90600         argument.
90601
90602         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90603         e.g., a fault due to an attempt to free a NULL pointer.
90604
90605 2001-11-01  Jim Meyering  <meyering@lucent.com>
90606
90607         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90608         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90609
90610 2001-11-01  Jim Meyering  <meyering@lucent.com>
90611
90612         * lib/dirfd.c, lib/dirfd.h: New files.
90613         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90614
90615         * lib/hash.c (hash_print) [TESTING]: Clean up.
90616
90617 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90618
90619         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90620         to avoid a warning if -Wall.
90621
90622 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90623
90624         * README: New file
90625         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90626         (per RMS's instructions, this is now the canonical source)
90627         * lgpl/, gpl/: New directories.
90628
90629 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90630
90631         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90632
90633 2001-10-21  Jim Meyering  <meyering@lucent.com>
90634
90635         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90636         this code would end up calling gettext even in packages built
90637         with --disable-nls.
90638         * lib/getopt.c (_): Likewise.
90639         * lib/regex.c (_): Likewise.
90640
90641 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90642
90643         * m4/error.m4 (jm_PREREQ_ERROR):
90644         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90645         AC_FUNC_STRERROR_R does that.
90646         Check for strerror declaration.
90647
90648         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90649         are supposed to have them these days.
90650         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90651         Merge changes from latest Autoconf CVS.
90652         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90653         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90654         POSIX decided to standardize on the int flavor of strerror_r.
90655
90656 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90657
90658         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90659         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90660         Use strerror_r that is only a macro, even if it is not a function.
90661         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90662         (private_strerror): Use prototypes, not old-style function definition.
90663         (print_errno_message): New function.
90664         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90665         char*-flavored one.
90666         (error_tail, error, error_at_line): Use it.
90667
90668 2001-10-11  Jim Meyering  <meyering@lucent.com>
90669
90670         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90671         and quote_n (1, ... to avoid clobbering a buffer.
90672
90673 2001-10-05  Jim Meyering  <meyering@lucent.com>
90674
90675         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90676         hash-pjw.h.
90677         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90678         * lib/hash-pjw.h: New file.
90679
90680 2001-09-30  Jim Meyering  <meyering@lucent.com>
90681
90682         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90683         `struct fsstat' has the `f_fstypename' member.
90684         Use that to define FS_TYPE, which is now used to make
90685         the getfsstat link test tighter.
90686
90687 2001-09-30  Jim Meyering  <meyering@lucent.com>
90688
90689         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90690         Include <sys/ucred.h>, for Apple Darwin.
90691         Include sys/mount.h and sys/fs_types.h only if available.
90692         (FS_TYPE): Define.
90693         (read_filesystem_list): Use FS_TYPE.
90694
90695 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90696
90697         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90698         a boolean context.
90699
90700 2001-09-29  Jim Meyering  <meyering@lucent.com>
90701
90702         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90703         [one-argument getmntent function]): Include stdio.h before mntent.h.
90704         SunOS 4.1.x needs it for the declaration of `FILE'.
90705         Patch by Volker Borchert.
90706
90707         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90708         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90709         sys/fs_types.h, and make the link-test for getfsstat guard #include
90710         directives with appropriate #if HAVE_*_H tests so that we can
90711         detect getfsstat on Apple Darwin1.3.7 systems.
90712         Reported by Nelson Beebe.
90713         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90714
90715 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90716
90717         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90718         #defines strtoimax.  Also treat the other strto* functions
90719         like strtoimax.
90720
90721         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90722         Check for strtoul and strtoumax,
90723         as those declarations are made even in the signed case.
90724         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90725         Likewise, for strtol and strtoimax.
90726
90727 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90728
90729         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90730         #defines strtoimax.  Also treat the other strto* functions
90731         like strtoimax.
90732
90733         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90734         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90735         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90736
90737 2001-09-26  Jim Meyering  <meyering@lucent.com>
90738
90739         Most macros in unlocked-io.h had the wrong number of arguments.
90740         * lib/gen-uio: New script.
90741         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90742         * lib/unlocked-io.hin: Remove file.
90743         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90744         rather than trying to embed it here.
90745         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90746         Reported by Padraig Brady.
90747
90748 2001-09-25  Volker Borchert  <bt@teknon.de>
90749
90750         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90751         `result'.
90752
90753 2001-09-24  Jim Meyering  <meyering@lucent.com>
90754
90755         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90756
90757 2001-09-23  Jim Meyering  <meyering@lucent.com>
90758
90759         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90760         instead of the mere test for existence of mntent.h.  The latter
90761         would get a false-positive on AIX 3.4 systems.
90762         In the outer getmntent if-block, don't die if neither of the getmntent
90763         tests succeeds.  Instead, just fall through and continue with the
90764         remaining tests.
90765
90766 2001-09-23  Jim Meyering  <meyering@lucent.com>
90767
90768         * lib/mountlist.c: Remove useless parentheses in #if directives.
90769         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90770         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90771
90772 2001-09-22  Jim Meyering  <meyering@lucent.com>
90773
90774         * m4/gettext.m4: New file.  From gettext.
90775         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90776         * m4/progtest.m4: Likewise
90777         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90778         * m4/glibc21.m4: Likewise.
90779
90780         * m4/libintl.m4: Remove.  No longer used.
90781
90782 2001-09-22  Jim Meyering  <meyering@lucent.com>
90783
90784         * lib/localcharset.c: Update from latest gettext.
90785         * lib/config.charset: Likewise.
90786
90787 2001-09-20  Jim Meyering  <meyering@lucent.com>
90788
90789         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90790         strtoimax.
90791         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90792         strtoumax.
90793
90794 2001-09-20  Jim Meyering  <meyering@lucent.com>
90795
90796         * lib/xstrtol.c (strtoimax): Guard declaration with
90797         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90798         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90799         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90800         (strtoumax): Likewise, for completeness (it wasn't necessary).
90801
90802 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90803
90804         * lib/strtoimax.c (HAVE_LONG_LONG):
90805         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90806         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90807         to work around bug in IBM C compiler.
90808
90809 2001-09-17  Jim Meyering  <meyering@lucent.com>
90810
90811         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90812         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90813         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90814         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90815         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90816         whenever the right hand side need not be expanded by the shell.
90817
90818 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90819
90820         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90821         library.  It's not correct, as some older glibcs are buggy.
90822         fnmatch wasn't fixed until glibc 2.2.
90823
90824         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90825         special shell magic here.
90826
90827 2001-09-16  Jim Meyering  <meyering@lucent.com>
90828
90829         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90830         * m4/jm-macros.m4: Require it.
90831
90832 2001-09-16  Jim Meyering  <meyering@lucent.com>
90833
90834         * lib/mkdir.c: New file.
90835
90836 2001-09-15  Jim Meyering  <meyering@lucent.com>
90837
90838         * m4/jm-macros.m4: Check for help2man.
90839
90840 2001-09-11  Jim Meyering  <meyering@lucent.com>
90841
90842         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90843         The body, by Paul Eggert, was moved here from configure.in.
90844         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90845
90846 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90847
90848         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90849         (jm_PREREQ): Use it.
90850
90851 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90852
90853         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90854         Use ssize_t, not int, to store result of readlink.
90855         Check for ssize_t overflow as well as size_t overflow,
90856         as POSIX says the result of readlink is implementation-defined
90857         when ssize_t overflows.
90858         Remove unnecessary cast to char*.
90859         Use free+malloc instead of realloc, as the storage doesn't need
90860         to be preserved and it's clearer and can be more efficient that way.
90861         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90862         * lib/xreadlink.h (xreadlink): Update prototype.
90863
90864 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90865
90866         * lib/xgetcwd.c: Revert some of the previous change; intead,
90867         fix the HAVE_GETCWD_NULL code to behave more like the
90868         !HAVE_GETCWD_NULL code used to.
90869
90870         Include "xalloc.h".
90871         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90872         invoke xalloc_die.
90873
90874 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90875
90876         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90877         sys/param.h, as pathmax.h includes them.
90878
90879 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90880
90881         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90882         (jm_PREREQ_XGETCWD): New macro.
90883
90884         * m4/getcwd.m4: New file.
90885
90886 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90887
90888         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90889         like the HAVE_GETCWD_NULL code.
90890         Include pathmax.h if not HAVE_GETCWD.
90891         Do not include xalloc.h.
90892         (INITIAL_BUFFER_SIZE): New symbol.
90893         Do not use xmalloc / xrealloc, since the caller is responsible for
90894         handling errors.  Preserve errno around `free' during failure.
90895         Do not overrun buffer when using getwd.
90896
90897 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90898
90899         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90900         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90901         getcwd (NULL, 0).
90902
90903 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90904
90905         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90906         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90907         spotted by Jim Meyering.
90908
90909 2001-09-03  Jim Meyering  <meyering@lucent.com>
90910
90911         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90912         failure.
90913
90914 2001-09-02  Jim Meyering  <meyering@lucent.com>
90915
90916         * lib/error.c: Update from GNU libc.
90917
90918 2001-09-01  Jim Meyering  <meyering@lucent.com>
90919
90920         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90921         Used by df.
90922
90923 2001-09-01  Jim Meyering  <meyering@lucent.com>
90924
90925         * lib/xreadlink.c: New file.
90926         * lib/xreadlink.h: New file.
90927         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90928         xreadlink.h.
90929
90930         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90931         doesn't conflict with sparc Solaris 7's definition in
90932         /usr/include/sys/int_types.h.
90933
90934         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90935         files.
90936         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90937         and strncasecmp as r-values.  Unixware didn't have declarations.
90938
90939 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90940
90941         * lib/xstrtol.h: Add copyright notice.
90942         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90943         LONGINT_INVALID_SUFFIX_CHAR.
90944
90945 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90946
90947         * lib/xstrtol.c (strtoimax): New decl.
90948
90949 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90950
90951         * lib/xgetcwd.c: Don't include pathmax.h.
90952         Include stdlib.h and unistd.h if available.
90953         Include xalloc.h.
90954         (xmalloc, xstrdup, free): Remove decls.
90955         (xgetcwd): Don't assume sizes fit in unsigned.
90956         Check for overflow when computing sizes.
90957         Simplify reallocation code.
90958
90959 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90960
90961         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90962         a directory's st_size can have an arbitrary value, so the old
90963         usage could waste an arbitrary amount of memory.  All uses
90964         changed.
90965         * lib/savedir.h: Update prototype.
90966
90967 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90968
90969         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90970
90971         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90972         old strtoimax.c.
90973
90974         Also, make the following further changes to make this file's
90975         configuration more similar to that of strtol.c:
90976         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90977         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90978         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90979         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90980         changed to signed values.
90981
90982         And make the following changes as well:
90983         Fix copyright notice, as 1999 was missing.
90984         (verify): New macro.
90985         (strtoimax): Check sizes at compile-time, not run-time.
90986         Prefer strtol to strtoll if both work.
90987         (main): Remove; it was not that useful and was a pain to maintain.
90988
90989         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90990
90991 2001-08-31  Jim Meyering  <meyering@lucent.com>
90992
90993         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90994         Use an initial, malloc'd, buffer of length 128 rather than
90995         a statically allocated one of length 1024.
90996
90997 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90998
90999         Simplify code, partly by assuming autoconf 2.52 semantics.
91000
91001         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91002
91003         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91004         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91005         All uses removed.
91006         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91007         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91008         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91009         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91010         jm_AC_HEADER_INTTYPES_H.
91011         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91012
91013         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91014
91015         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91016         Quote first arg of AC_DEFUN.
91017         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91018         since they are needed to parse the include file even if we need
91019         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91020         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91021         but with opposite signedness.
91022
91023 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91024
91025         Merge 'exclude' changes from tar 1.13.22.
91026         This fixes one or two unlikely storage allocation overflow bugs,
91027         but doesn't change user-visible behavior otherwise.
91028
91029 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91030
91031         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91032         (jm_PREREQ_EXCLUDE): New macro.
91033
91034 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91035
91036         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91037         tm to be declared.
91038
91039 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91040
91041         * lib/hash.c: Remove '2001' from copyright notice.
91042
91043 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91044
91045         * lib/full-write.h: New file.
91046         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91047         * lib/full-write.c: Correct credits, as cccp.c no longer
91048         exists and anyway it was so heavily changed from the old cccp
91049         code as to be unrecognizable.  Include full-write.h.
91050         (full_write): Return size_t, with short writes meaning failure.
91051         All callers changed.  This fixes a bug with large buffers
91052         on 64-bit hosts.
91053         * lib/utime.c: Include full-write.h.
91054
91055 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91056
91057         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91058         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91059         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91060         Include if available.
91061         (<xalloc.h>): Include
91062         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91063         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91064         collide with FNM macros.
91065         (struct patopts): New struct.
91066         (struct exclude): Use it, as exclude patterns now come with options.
91067         (new_exclude): Support above changes.
91068         (new_exclude, add_exclude_file):
91069         Initial size must now be a power of two to simplify overflow checking.
91070         (free_exclude, fnmatch_no_wildcards): New function.
91071         (excluded_filename): No longer requires options arg, as the options
91072         are determined by add_exclude.  Now returns bool, not int.
91073         (excluded_filename, add_exclude):
91074         Add support for the fancy new exclusion options.
91075         (add_exclude, add_exclude_file): Now takes int options arg.
91076         Check for arithmetic overflow when computing sizes.
91077         (add_exclude_file): xrealloc might modify errno, so don't
91078         realloc until after errno might be used.
91079
91080         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91081         New macros.
91082         (free_exclude): New decl.
91083         (add_exclude, add_exclude_file): Now takes int options arg.
91084         (excluded_filename): No longer requires options arg, as the options
91085         are determined by add_exclude.  Now returns bool, not int.
91086
91087 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91088
91089         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91090
91091 2001-08-27  Jim Meyering  <meyering@lucent.com>
91092
91093         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91094
91095         * lib/version-etc.c (N_): Remove definition.
91096         Revert most of last change.
91097         Instead, simply don't mark the `Copyright...' string for translation.
91098         Based on advice from Paul Eggert.
91099
91100         * lib/strtoxmax.c: Tweak comment.
91101
91102 2001-08-26  Jim Meyering  <meyering@lucent.com>
91103
91104         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91105
91106         * m4/xstrtoimax.m4: New file.
91107         * m4/xstrtoumax.m4: Add comments explaining why we
91108         AC_REPLACE_FUNCS(strtol).
91109
91110 2001-08-26  Jim Meyering  <meyering@lucent.com>
91111
91112         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91113         of copyright with `%s' so translators don't get an untranslated
91114         message in 2002.
91115         (COPYRIGHT_YEAR): Define.
91116         (version_etc): Use fprintf rather than fputs.
91117         Suggestion from Ulrich Drepper.
91118
91119         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91120
91121         * lib/strtoll.c: New file, from GNU libc.
91122         * lib/xstrtoimax.c: New file.
91123
91124         * lib/xstrtol.h: Add xstrtoimax.
91125         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91126         * lib/strtoimax.c: New file.  Likewise, but first define
91127         STRTOUXMAX_SIGNED.
91128
91129         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91130         ...
91131         * lib/strtoxmax.c: ... then renamed to this.
91132
91133 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91134
91135         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91136         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91137         (jm_AC_TYPE_INTMAX_T): New macro.
91138         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91139
91140         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91141
91142         * m4/longlong.m4: Renamed from ulonglong.m4.
91143         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91144         * m4/uintmax_t.m4: Removed.
91145
91146 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91147
91148         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91149         Port to Solaris 8, where 'sed' requires a space after the 'r'
91150         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91151         Redirect output to $tmp just once.
91152
91153 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91154
91155         * lib/addext.c (<errno.h>): Include.
91156         (errno): Declare if not defined.
91157         (addext): Work correctly when pathconf returns -1 and leaves
91158         errno alone because there is no limit.  Also, work even if
91159         pathconf returns a value greater than SIZE_MAX.
91160
91161 2001-08-12  Jim Meyering  <meyering@lucent.com>
91162
91163         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91164         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91165         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91166         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91167         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91168         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91169         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91170         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91171         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91172         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91173         utime.m4, utimes.m4, xstrtoumax.m4:
91174         Quote the first argument in each use of AC_DEFUN.
91175
91176 2001-08-12  Jim Meyering  <meyering@lucent.com>
91177
91178         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91179         Simply `return getcwd (NULL, 0);'.
91180         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91181         Use 1300 as initial value for length, not PATH_MAX.
91182
91183         * lib/pathmax.h: Clean up cpp syntax.
91184
91185 2001-08-12  Jim Meyering  <meyering@lucent.com>
91186
91187         * lib/gettimeofday.c: New file.
91188         * lib/gtod.h: New file.
91189         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91190
91191 2001-08-05  Jim Meyering  <meyering@lucent.com>
91192
91193         * m4/jm-macros.m4: Require autoconf-2.52.
91194
91195 2001-08-04  Jim Meyering  <meyering@lucent.com>
91196
91197         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91198         stmt, to get in sync with glibc.
91199
91200 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91201
91202         The following changes are from gettext 0.10.39 as maintained by
91203         Bruno Haible.
91204
91205         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91206         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91207         with inverted sense.  All uses changed.
91208
91209         * lib/mbswidth.c: Don't include <limits.h>.
91210         Include <stdlib.h> and <string.h> unconditionally.
91211         (iswcntrl, mbsinit, ISCNTRL): New macros.
91212         (mbsnwidth): Use K&R style function declarations.
91213         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91214         can optimize it when MB_CUR_MAX == 1.
91215         The width of control characters is zero, not 1.
91216
91217 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91218
91219         The following changes are from gettext 0.10.39 as maintained by
91220         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91221
91222         * m4/codeset.m4: Upgrade to serial AM1.
91223         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91224         all uses changed.  Quote first arg of AC_DEFUN.
91225         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91226
91227         * m4/iconv.m4: Upgrade to serial AM2.
91228         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91229         Add --with-libconv-prefix.
91230         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91231         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91232         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91233         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91234         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91235
91236         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91237         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91238         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91239         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91240         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91241         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91242         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91243         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91244         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91245
91246         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91247         string.h any more.
91248
91249         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91250         not the default value.
91251
91252         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91253         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91254         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91255         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91256         Also check for iswcntrl, used for wcwidth fallback.
91257         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91258         to Autoconf 2.13.
91259
91260 2001-08-03  Jim Meyering  <meyering@lucent.com>
91261
91262         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91263         as it was in the original.  Reported by Paul Eggert.
91264
91265 2001-07-16  Jim Meyering  <meyering@lucent.com>
91266
91267         * m4/gettimeofday.m4: New file.
91268         Prompted by a report from Bernhard Baehr.
91269
91270 2001-07-15  Jim Meyering  <meyering@lucent.com>
91271
91272         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91273         stuff. Now it's in ../Makefile.cfg.
91274
91275 2001-07-15  Jim Meyering  <meyering@lucent.com>
91276
91277         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91278         (BUILT_SOURCES): Add unlocked-io.h.
91279         (io_functions): Define.
91280         (unlocked-io.h): New rule.
91281         (DISTCLEANFILES): Add unlocked-io.h.
91282         (all-local): Depend on unlocked-io.h, to ensure it is created.
91283
91284         * lib/unlocked-io.hin: New file
91285
91286         * lib/regex.c: Update from glibc.
91287
91288 2001-07-05  Jim Meyering  <meyering@lucent.com>
91289
91290         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91291         recommendation.
91292         (libfetish_a_SOURCES): Put all .h files here instead.
91293         Remove a thus-exposed (better checks in automake) duplicate and
91294         two unnecessary .h files.
91295
91296 2001-07-04  Jim Meyering  <meyering@lucent.com>
91297
91298         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91299         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91300         distcheck failure.
91301
91302 2001-07-02  Jim Meyering  <meyering@lucent.com>
91303
91304         The following changes were prompted by suggestions from Bruno Haible.
91305
91306         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91307         is now generated.
91308         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91309         definition of EXTRA_DIST.
91310         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91311         ensure that the generated file is created/updated whenever the list
91312         of $(unlocked_functions) is changed.
91313         (jm-glibc-io.m4): New rule.
91314         (unlocked-io.h): New rule -- currently unused.
91315
91316 2001-06-24  Jim Meyering  <meyering@lucent.com>
91317
91318         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91319         unmatched right bracket, rather than kludging it with an extra,
91320         falsely-matching quote in a comment.  Patch by Akim Demaille.
91321
91322 2001-06-11  Jim Meyering  <meyering@lucent.com>
91323
91324         * lib/regex.c: Update from GNU libc.
91325
91326 2001-05-27  Jim Meyering  <meyering@lucent.com>
91327
91328         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91329         Check for ut_type in struct utmp.
91330
91331 2001-05-27  Jim Meyering  <meyering@lucent.com>
91332
91333         * lib/readutmp.h (UT_TYPE): Define.
91334
91335 2001-05-24  Jim Meyering  <meyering@lucent.com>
91336
91337         * lib/argmatch.c: Include "quote.h".
91338         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91339         quote function.  Reported by Göran Uddeborg.
91340
91341 2001-05-22  Jim Meyering  <meyering@lucent.com>
91342
91343         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91344         now that we use the package-supplied version unconditionally.
91345         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91346
91347 2001-05-21  Jim Meyering  <meyering@lucent.com>
91348
91349         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91350         shell syntax errors.
91351
91352 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91353
91354         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91355
91356 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91357
91358         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91359         Don't bother to check library strftime, since
91360         we'll be using our own my_strftime function anyway.
91361         Define my_strftime instead of strftime.
91362
91363 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91364
91365         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91366         which is not yet declared.
91367
91368 2001-05-15  Jim Meyering  <meyering@lucent.com>
91369
91370         * m4/regex.m4: Use proper quoting so brackets appear in the test
91371         program.
91372         Reported by, and with help from, Bruno Haible.
91373
91374 2001-05-13  Jim Meyering  <meyering@lucent.com>
91375
91376         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91377         undefined.
91378
91379 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91380
91381         dirname code cleanup.  base_name now behaves more compatibly
91382         with POSIX basename when given file names that have trailing
91383         slashes, and similarly for dir_name.  Add new primitives
91384         base_len and dir_len.  Put the directory-name-related decls
91385         into dirname.h.
91386
91387         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91388         * lib/backupfile.c (base_name): Likewise.
91389         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91390         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91391         * lib/makepath.c (strip_trailing_slashes): Likewise.
91392         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91393         ISSLASH): Likewise.
91394         * lib/rename.c (strip_trailing_slashes): Likewise.
91395         * lib/same.c (base_name): Likewise.
91396         * lib/stripslash.c (ISSLASH): Likewise.
91397
91398         * lib/addext.c: Include <dirname.h> after size_t is defined.
91399         * lib/backupfile.c: Likewise.
91400
91401         * lib/addext.c (addext): Use base_len to trim redundant
91402         trailing slashes instead of doing it ourselves.
91403         But do not trim the last slash if it is not redundant.
91404
91405         * lib/backupfile.c (find_backup_file_name,
91406         max_backup_version): Use base_len instead of rolling it ourselves.
91407         Handle the case of "" and (on DOS) "C:" correctly.
91408
91409         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91410         needed. Include <string.h>, <dirname.h>.
91411         (base_name): Allow file names ending in slashes, other than names
91412         that are all slashes.  In this case, return the basename followed
91413         by the slashes.  This is more general, and can be used in places
91414         where the original base_name purposely had an assertion failure.
91415         (base_len): New function.
91416
91417         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91418         Do not include <assert.h>; no longer needed.
91419         Include xalloc.h.
91420         (memrchr): Remove decl.
91421         (dir_name_r): Remove.
91422         (dir_len): Renamed from dirlen.  All callers changed.
91423         Rewrite in terms of base_name, for simplicity and consistency.
91424         (dir_name): Never return NULL.  All callers changed.
91425         Do not include <stdlib.h> in test program; no longer needed.
91426         return 0; is fine for test program.
91427
91428         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91429         New macros.
91430         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91431
91432         * lib/path-concat.c (path_concat): Use base_len to compute
91433         base length, not strlen; this means we cannot rely on memcpy
91434         to null-terminate.
91435
91436         * lib/same.c (STREQ): Remove.
91437         (same_name): Handle the case where the basename ends in trailing '/'.
91438
91439         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91440         a slash was stripped.  Do not strip the last slash after a
91441         file system prefix.
91442
91443 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91444
91445         * lib/Makefile.am (libfetish_a_SOURCES):
91446         Add strftime.c, since we now compile it on all hosts.
91447
91448         * lib/strftime.c (my_strftime):
91449         Define to nstrftime if emacs, but only if my_strftime is not defined.
91450         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91451         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91452         Add one more extra argument: a nanoseconds value.
91453         All uses changed.
91454         (ns): New macro.
91455         (my_strftime function): Add %N format.
91456         (emacs_strftimeu): Renamed from emacs_strftime,
91457         with extra ut argument.
91458
91459 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91460
91461         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91462
91463 2001-04-21  Jim Meyering  <meyering@lucent.com>
91464
91465         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91466         doesn't interfere.
91467
91468 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91469
91470         * m4/ftruncate.m4: Check for chsize.
91471         Link with ftruncate.o unconditionally if ftruncate is missing.
91472         This was required when cross-compiling to i586-mingw32msvc.
91473
91474 2001-04-08  Jim Meyering  <meyering@lucent.com>
91475
91476         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91477         recomputed; that's necessary when the offset spans a DST transition.
91478         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91479
91480 2001-04-02  Jim Meyering  <meyering@lucent.com>
91481
91482         * lib/regex.h, regex.c: Update from GNU libc.
91483
91484 2001-03-24  Jim Meyering  <meyering@lucent.com>
91485
91486         * m4/jm-macros.m4: Require autoconf-2.49d.
91487
91488 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91489
91490         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91491
91492 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91493
91494         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91495
91496 2001-03-17  Jim Meyering  <meyering@lucent.com>
91497
91498         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91499         now that the version in autoconf is equivalent.
91500         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91501
91502         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91503         Suggestion from Akim Demaille.
91504
91505         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91506         (jm_PREREQ_TEMPNAME): New function.
91507
91508 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91509
91510         * lib/tempname.c (uint64_t): Define to uintmax_t if
91511         not defined, and if UINT64_MAX is not defined.
91512         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91513         Reported by John David Anglin.
91514
91515 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91516
91517         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91518         resolve alias if codeset is empty.
91519         * lib/config.charset (BeOS): Use wildcard syntax.
91520
91521 2001-03-13  Jim Meyering  <meyering@lucent.com>
91522
91523         * lib/path-concat.c (path_concat)
91524         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91525         concatenating e.g., `C:' and `foo'.
91526         From Bruno Haible.
91527
91528 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91529
91530         * lib/localcharset.c (locale_charset): Don't use
91531         setlocale(LC_CTYPE,NULL). Don't return NULL.
91532         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91533
91534 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91535
91536         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91537         support for DOS/DJGPP.
91538
91539 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91540
91541         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91542         lacks mkstemp.  Compile our own tempname.c if we compile our own
91543         mkstemp.c, as mkstemp relies on tempname.
91544
91545 2001-03-01  Jim Meyering  <meyering@lucent.com>
91546
91547         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91548         AH_VERBATIM really does output its argument verbatim.
91549
91550 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91551
91552         * lib/Makefile.am (libfetish_a_SOURCES):
91553         Add dup-safer.c, fopen-safer.c.
91554         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91555
91556         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91557         * lib/unistd-safer.h: New files.
91558
91559 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91560
91561         The mkstemp replacement is taken from glibc 2.2.2, with some
91562         portability fixes for use outside glibc, as follows:
91563
91564         * lib/tempname.c (struct_stat64): New macro.
91565         (direxists, __gen_tempname): Use it.
91566         This avoids a portability problem with Solaris 8.
91567
91568         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91569         (<stddef.h>, <stdint.h>, <string.h>):
91570         Include only if STDC_HEADERS || _LIBC.
91571         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91572         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91573         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91574         (__set_errno): Define this macro if <errno.h> doesn't.
91575         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91576         Define these macros if <stdio.h> doesn't.
91577         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91578         Define these macros if <sys/stat.h>
91579         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91580         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91581         __xstat64): Define if not _LIBC.
91582         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91583         (__gen_tempname): Invoke gettimeofday only if
91584         HAVE_GETTIMEOFDAY || _LIBC;
91585         otherwise, fall back on plain "time".
91586         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91587
91588         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91589
91590         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91591
91592 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91593
91594         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91595
91596 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91597
91598         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91599         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91600         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91601         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91602
91603 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91604
91605         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91606         Remove workaround macros for hosts that have mbrtowc but not
91607         mbstate_t, as we now insist on proper declarations for both
91608         before using mbrtowc.
91609
91610 2001-02-17  Jim Meyering  <meyering@lucent.com>
91611
91612         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91613         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91614         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91615         UnixWare 7.1.1.
91616
91617         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91618         rather than AC_CACHE_VAL.
91619
91620 2001-02-17  Jim Meyering  <meyering@lucent.com>
91621
91622         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91623         around included file name.
91624
91625         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91626
91627         * lib/strftime.c: Update from GNU libc (the only changes were to
91628         comments).
91629
91630 2001-02-17  Jim Meyering  <meyering@lucent.com>
91631
91632         * lib/regex.c: Update from libc.
91633
91634 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91635
91636         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91637         clash.
91638
91639 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91640
91641         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91642         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91643         Reported by Mark Hounschell via Paul Eggert.
91644
91645 2001-02-07  Jim Meyering  <meyering@lucent.com>
91646
91647         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91648
91649 2001-02-05  Jim Meyering  <meyering@lucent.com>
91650
91651         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91652         it includes the patch required for `large file' support with at least
91653         HP-UX's 10.20 /bin/cc.
91654
91655 2001-02-03  Jim Meyering  <meyering@lucent.com>
91656
91657         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91658         AS_IF, now that it works once again (mysteriously).
91659         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91660
91661 2001-01-30  Jim Meyering  <meyering@lucent.com>
91662
91663         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91664         * m4/chown.m4: Rename conftestchown to conftest.chown.
91665         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91666         s/conftestdir2/conftest.d2/.
91667         * m4/utimes.m4: s/conftestdata/conftest.data/
91668         Inspired by Pavel Roskin's change in autoconf.
91669
91670 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91671
91672         * lib/config.charset: Update for FreeBSD 4.2.
91673
91674 2001-01-27  Jim Meyering  <meyering@lucent.com>
91675
91676         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91677         a use of AS_IF.
91678         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91679
91680 2001-01-26  Jim Meyering  <meyering@lucent.com>
91681
91682         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91683         quotearg.c includes it.
91684
91685 2001-01-26  Jim Meyering  <meyering@lucent.com>
91686
91687         * lib/quotearg.c: Include stddef.h.
91688         * lib/quote.c: Include stddef.h.
91689         Reported by Axel Kittenberger.
91690
91691         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91692         line in double quotes so that it evokes a better diagnostic.
91693         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91694         Reported by Axel Kittenberger.
91695
91696 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91697
91698         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91699         as if it was a `charset'.
91700
91701 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91702
91703         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91704         has const.
91705
91706 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91707
91708         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91709         to avoid a warning.  Add back 'const' to inptr.
91710
91711 2001-01-20  Jim Meyering  <meyering@lucent.com>
91712
91713         Be sure that headers are checked before used in code compiled
91714         for the type checks.
91715         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91716         In place of that, invoke jm_CHECK_ALL_TYPES.
91717         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91718         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91719         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91720         The check for ssize_t was mistakenly run before the test for unistd.h.
91721
91722         The configure-time check for stdbool.h was missing.
91723         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91724         (jm_PREREQ_HASH): New function.
91725
91726 2001-01-17  Jim Meyering  <meyering@lucent.com>
91727
91728         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91729         for autoconf-2.49c.
91730         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91731
91732 2001-01-16  Jim Meyering  <meyering@lucent.com>
91733
91734         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91735         From Bruno Haible.
91736
91737 2001-01-14  Jim Meyering  <meyering@lucent.com>
91738
91739         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91740         foo and bar.  Create conftestdir/ in the script, not in the C code.
91741         Remove directories in the script, not in the C code.
91742         Remove conftestdir{,2} before trying to create the directory.
91743         Make the entire configure script fail if the mkdir fails.
91744
91745 2001-01-14  Jim Meyering  <meyering@lucent.com>
91746
91747         * lib/rename.c: New file.  From Volker Borchert.
91748         Include stdlib.h, string.h or strings.h, and xalloc.h.
91749         Use strip_trailing_slashes rather than open-coding it.
91750
91751 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91752
91753         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91754
91755 2001-01-03  Jim Meyering  <meyering@lucent.com>
91756
91757         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91758         of local `inptr' to avoid warning with some system declarations of
91759         iconv.
91760
91761 2001-01-02  Volker Borchert  <bt@teknon.de>
91762
91763         * m4/rename.m4: New file.
91764         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91765
91766 2001-01-01  Jim Meyering  <meyering@lucent.com>
91767
91768         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91769         even on systems with utmpx.h.  It's necessary for the declaration of
91770         utmp's ut_user member.  Reported by Andreas Jaeger.
91771
91772         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91773         available. They are required for the declarations of getgrgid and
91774         getpwuid resp.
91775         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91776         Reported by Andreas Jaeger.
91777
91778 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91779
91780         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91781         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91782         so `make install' also works in VPATH builds.
91783
91784 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91785
91786         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91787         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91788         can be used in subdirectories.
91789
91790 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91791
91792         * lib/modechange.c: Do not assume that mode_t uses the
91793         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91794         the other-execute bit of FOO even if S_IXOTH != 1.
91795
91796         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91797         WOTH, XOTH, ALLM): New macros.
91798         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91799          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91800         Use them.
91801         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91802         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91803         (mode_compile):
91804         No need to use uintmax_t; unsigned long is long enough.
91805         Don't bother to get suffix since we don't use it.
91806
91807 2000-12-26  Jim Meyering  <meyering@lucent.com>
91808
91809         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91810         better with autoheader.
91811
91812 2000-12-24  Jim Meyering  <meyering@lucent.com>
91813
91814         * lib/hash.c (is_prime): Return explicit boolean values.
91815         (hash_get_first): Return NULL to appease Irix5.6's 89.
91816         Reported by Nelson Beebe.
91817
91818 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91819
91820         * lib/localcharset.c (locale_charset): Add support for Win32.
91821
91822 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91823
91824         * lib/physmem.h, lib/physmem.c: New files.
91825
91826         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91827         (noinst_HEADERS): Add physmem.h.
91828
91829         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91830         't' for compatibility with Solaris 8 sort.
91831
91832 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91833
91834         * lib/config.charset: Add support for BeOS.
91835
91836 2000-12-17  Jim Meyering  <meyering@lucent.com>
91837
91838         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91839         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91840
91841 2000-12-16  Jim Meyering  <meyering@lucent.com>
91842
91843         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91844         N and M) would have treated it like `chown N:N FILE'.
91845
91846         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91847
91848 2000-12-16  Jim Meyering  <meyering@lucent.com>
91849
91850         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91851         SHELLS_FILE to a file name that's useful on djgpp systems.
91852         Include stdlib.h.
91853         (ADDITIONAL_DEFAULT_SHELLS): Define.
91854         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91855         Based mostly on a patch from Prashant TR.
91856
91857 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91858
91859         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91860         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91861         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91862
91863 2000-12-08  Andreas Schwab  <schwab@suse.de>
91864
91865         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91866         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91867
91868 2000-12-07  Jim Meyering  <meyering@lucent.com>
91869
91870         * lib/stripslash.c (ISSLASH): Define.
91871         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91872         `/'.
91873         From Prashant TR.
91874
91875         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91876         (dir_name_r): Declare this function as static.
91877         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91878         manifest itself on a name containing a mix of slashes and
91879         backslashes.
91880         Make this function work with names starting with a DOS-style
91881         drive letter and colon prefix.
91882         (dir_name): Append `.' if necessary.
91883         Based mostly on patches from Prashant TR and Eli Zaretskii.
91884
91885         * lib/dirname.h (dir_name_r): Remove prototype.
91886
91887 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91888
91889         * m4/off_t-format.m4: Remove this file.
91890         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91891
91892 2000-12-06  Jim Meyering  <meyering@lucent.com>
91893
91894         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91895         replacement strtoull, we may well need the replacement strtoul, too.
91896         Check for declarations of strtoul and strtoull.
91897         Check for strtol.  Mainly as a cue to cause automake to include
91898         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91899         Check for limits.h -- strtol.c needs it.
91900
91901 2000-12-05  Jim Meyering  <meyering@lucent.com>
91902
91903         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91904
91905 2000-12-04  Jim Meyering  <meyering@lucent.com>
91906
91907         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91908         Also include memory.h, stdlib.h, unistd.h if appropriate.
91909         Reported by Andreas Jaeger (conflicting declaration of malloc).
91910
91911 2000-12-02  Jim Meyering  <meyering@lucent.com>
91912
91913         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91914         * m4/jm-macros.m4 (jm_MACROS): require it.
91915
91916 2000-12-02  Jim Meyering  <meyering@lucent.com>
91917
91918         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91919
91920 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91921
91922         * lib/memrchr.c: Include <config.h> before any system include file.
91923
91924 2000-11-30  Jim Meyering  <meyering@lucent.com>
91925
91926         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91927
91928 2000-11-30  Jim Meyering  <meyering@lucent.com>
91929
91930         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91931
91932 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91933
91934         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91935
91936 2000-11-26  Jim Meyering  <meyering@lucent.com>
91937
91938         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91939
91940 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91941
91942         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91943         size of (size_t) -1; it's not portable.
91944
91945 2000-11-17  Jim Meyering  <meyering@lucent.com>
91946
91947         * lib/strstr.c: Update from GNU libc.
91948
91949 2000-11-17  Akim Demaille  <akim@epita.fr>
91950
91951         * lib/obstack.h: Formatting changes.
91952         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91953         prevent type checking.
91954         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91955         cast the value to (void *): assigning a `foo *' to a `void *'
91956         variable is valid.
91957         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91958
91959 2000-11-16  Jim Meyering  <meyering@lucent.com>
91960
91961         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91962
91963 2000-11-11  Jim Meyering  <meyering@lucent.com>
91964
91965         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91966
91967 2000-11-10  Jim Meyering  <meyering@lucent.com>
91968
91969         * lib/obstack.h: Update from GNU libc.
91970         * lib/obstack.c: Likewise.
91971
91972 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91973
91974         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91975
91976 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91977
91978         * lib/getusershell.c (setusershell): Use rewind rather than
91979         fseek/fseeko, to avoid configuration hassles with fseeko.
91980         Don't bother opening SHELLS_FILE if shellstream is NULL;
91981         it's not necessary.
91982
91983 2000-11-05  Jim Meyering  <meyering@lucent.com>
91984
91985         * lib/makepath.h (make_dir): Declare.
91986         * lib/makepath.c (make_dir): Remove `static' attribute.
91987         Tweak a comment.
91988
91989 2000-11-04  Jim Meyering  <meyering@lucent.com>
91990
91991         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91992
91993 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91994
91995         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91996         last one in a bucket, advance to the next bucket.
91997
91998 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91999
92000         * lib/fnmatch.c: Do not comment out all the code if we are using
92001         the GNU C library, because in some cases we are replacing buggy
92002         code in the GNU C library itself.
92003
92004 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92005
92006         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92007         (regex_compile): Catch bogus \(\1\).
92008
92009 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92010
92011         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92012         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92013         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92014
92015 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92016
92017         * lib/error.h, getline.h, modechange.h:
92018         Remove "2000" from Copyright line, as the file hasn't been
92019         changed this year other than in the copyright notice.
92020
92021         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92022         was changed this year.
92023
92024 2000-10-29  Jim Meyering  <meyering@lucent.com>
92025
92026         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92027         renaming.
92028         * m4/ls-mntd-fs.m4: Likewise
92029
92030 2000-10-29  Jim Meyering  <meyering@lucent.com>
92031
92032         * lib/xstat.in: Fix grammar in comment.
92033
92034 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92035
92036         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92037         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92038         doesn't define __restrict_arr.
92039
92040 2000-10-28  Jim Meyering  <meyering@lucent.com>
92041
92042         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92043         (jm_PREREQ_MEMCHR): New function.
92044
92045 2000-10-28  Jim Meyering  <meyering@lucent.com>
92046
92047         * lib/memchr.c: Update from libc.
92048         Adjust for portability:
92049         [HAVE_STDLIB_H]: Include stdlib.h.
92050         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92051         Undef __memchr, too.
92052         [!weak_alias]: Define __memchr to memchr.
92053
92054         * lib/regex.c: Update from libc.
92055         * lib/regex.h: Likewise.
92056         * lib/getopt1.c: Likewise.
92057         * lib/memcmp.c: Likewise.
92058
92059         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92060         Avoid using fseek, when possible -- it's broken by design.
92061         Patch by Ulrich Drepper.
92062
92063 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92064
92065         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92066         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92067         Giving in to popular pressure to shut up the compiler with casts.
92068
92069 2000-10-26  Jim Meyering  <meyering@lucent.com>
92070
92071         * lib/strftime.c: Update from libc.
92072
92073 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92074
92075         * regex.c: More `unsigned char' -> `re_char' changes.
92076         Also change several `int' into `re_wchar_t'.
92077         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92078         (PUSH_FAILURE_POINTER): Don't cast any more.
92079         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92080         We want GCC to complain, since this piece of code makes
92081         re_match non-reentrant, which *should* be fixed.
92082         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92083         (EXTEND_BUFFER): Use RETALLOC.
92084         (SET_LIST_BIT): Don't cast.
92085         (re_wchar_t): New type.
92086         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92087         that those two functions will always properly return.
92088         (IMMEDIATE_QUIT_CHECK): Cast to void.
92089         (analyse_first): Use recursion rather than an explicit stack.
92090         (re_compile_fastmap): Can't fail anymore.
92091         (re_search_2): Don't check re_compile_fastmap for failure.
92092         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92093         Now also sets the new value (passed in a new argument).
92094         (re_match_2_internal): Use it.
92095         Also, use a new var `reg' of type size_t when looping through regs
92096         rather than reuse the inappropriate `mcnt'.
92097
92098 2000-10-25  Jim Meyering  <meyering@lucent.com>
92099
92100         * lib/obstack.c: Update from libc.
92101
92102 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92103
92104         * regex.c (regex_compile): Change the way of handling a range from
92105         a char less than 256 to a char not less than 256.
92106
92107 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92108
92109         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92110         NT-Emacs only.
92111         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92112         so that re_search functions only quit when callers expect them to.
92113
92114 2000-10-23  Jim Meyering  <meyering@lucent.com>
92115
92116         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92117         wrong.  That set_locale call must not have any side effects.
92118         From Paul Eggert.
92119
92120 2000-10-22  Jim Meyering  <meyering@lucent.com>
92121
92122         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92123         [CYCLIC]: Remove now-unused definition.
92124
92125         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92126         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92127         Suggestion from Ulrich Drepper.
92128
92129 2000-10-21  Jim Meyering  <meyering@lucent.com>
92130
92131         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92132         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92133         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92134
92135 2000-10-21  Jim Meyering  <meyering@lucent.com>
92136
92137         * lib/dirname.c (memrchr): Declare if necessary.
92138         (dir_name): Remove the restriction that there be no
92139         trailing slashes.  Now, this code skips past them, effectively
92140         ignoring them.
92141         [TEST_DIRNAME] (main): New unit tests.
92142
92143         * lib/memrchr.c: New file from GNU libc.
92144         Undef __memrchr, too.
92145         [!weak_alias]: Define __memrchr to memrchr.
92146         Guard weak_alias use with `#ifdef weak_alias'.
92147
92148 2000-10-21  Jim Meyering  <meyering@lucent.com>
92149
92150         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92151         (dir_name): Use dir_name_r.
92152         * lib/dirname.h (dir_name_r): Declare it.
92153
92154 2000-10-17  Jim Meyering  <meyering@lucent.com>
92155
92156         * lib/quote.h (PARAMS): Define and use.
92157         Reported by Akim Demaille.
92158
92159         * lib/getopt.c: Update from libc.
92160
92161 2000-10-16  Jim Meyering  <meyering@lucent.com>
92162
92163         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92164         setlocale.
92165         From Jan Fedak.
92166
92167 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92168
92169         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92170
92171 2000-09-25  Jim Meyering  <meyering@lucent.com>
92172
92173         * lib/md5.h (rol): Define (from GnuPG).
92174
92175         * lib/sha.c: Give credit (GnuPG) where due.
92176         (M): Use rol rather than open-coding it.
92177         Add a FIXME comment.
92178
92179 2000-09-21  Jim Meyering  <meyering@lucent.com>
92180
92181         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92182         Reported by Michael Stone.
92183
92184 2000-09-20  Jim Meyering  <meyering@lucent.com>
92185
92186         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92187         (noinst_HEADERS): Add sha.h.
92188         Based on code from Scott G. Miller and from GnuPG.
92189
92190 2000-09-18  Jim Meyering  <meyering@lucent.com>
92191
92192         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92193         LIBS. Otherwise, everyone ends up linking with -lelf for some
92194         configurations.
92195         Reported by Mike Stone.
92196
92197 2000-09-15  Jim Meyering  <meyering@lucent.com>
92198
92199         * lib/regex.c: Update from libc.
92200
92201 2000-09-10  Jim Meyering  <meyering@lucent.com>
92202
92203         * lib/getopt.c (_getopt_internal): Update from glibc.
92204
92205 2000-09-09  Jim Meyering  <meyering@lucent.com>
92206
92207         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92208         think it should be used as a general replacement for isascii.
92209         * lib/fnmatch.c: Likewise.
92210         * lib/mbswidth.c: Likewise
92211         * lib/regex.c: Likewise.
92212
92213         Don't use atoi.
92214         * lib/userspec.c: Include sys/param.h and limits.h.
92215         Include xstrtol.h.
92216         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92217         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92218         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92219         UID, GID.  Check range.
92220
92221 2000-09-06  Jim Meyering  <meyering@lucent.com>
92222
92223         * lib/getopt.c (_getopt_internal): Update from glibc.
92224
92225 2000-08-30  Jim Meyering  <meyering@lucent.com>
92226
92227         * lib/strftime.c: Merge in changes from GNU libc.
92228
92229 2000-08-26  Jim Meyering  <meyering@lucent.com>
92230
92231         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92232         * m4/fpending.m4: New file.
92233
92234 2000-08-26  Jim Meyering  <meyering@lucent.com>
92235
92236         * lib/closeout.c: Include "__fpending.h".
92237         (close_stdout_status): Return right away if there's nothing to flush.
92238
92239         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92240         * lib/__fpending.c: New file.
92241         * lib/__fpending.h: New file.
92242
92243 2000-08-20  Jim Meyering  <meyering@lucent.com>
92244
92245         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92246         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92247         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92248
92249 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92250
92251         Improve fileutils installation on systems where running
92252         programs (like install) can't be unlinked.
92253         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92254         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92255
92256 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92257
92258         Standardize on "memory exhausted" instead of "Memory exhausted"
92259         or "virtual memory exhausted".
92260         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92261         "virtual memory exhausted".
92262         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92263         our own message.
92264         * lib/userspec.c (parse_user_spec): Likewise.
92265         * lib/bumpalloc.h: comment fix
92266         * lib/same.c, userspec.c: Include xalloc.h.
92267
92268         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92269         not char *const and pointing to a constant array.
92270         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92271         (xrealloc): Comment fix.
92272
92273         * lib/userspec.c (parse_user_spec):
92274         Don't translate a message until just before returning,
92275         to avoid unnecessary translation.
92276
92277 2000-08-07  Jim Meyering  <meyering@lucent.com>
92278
92279         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92280         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92281         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92282         getgroups.c, gethostname.c, getopt.h, group-member.c,
92283         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92284         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92285         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92286         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92287         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92288         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92289         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92290         yesno.c: Back out Copyright date changes for each file with no change
92291         this year.  This eases coordination with other programs using the same
92292         source code modules.  From Paul Eggert.
92293
92294 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92295
92296         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92297         not char, for compatibility with glibc 2.1.3 strftime.c.
92298
92299 2000-08-03  Greg McGary  <greg@mcgary.org>
92300
92301         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92302         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92303         (EXTEND_BUFFER): Use them.
92304
92305 2000-08-01  Jim Meyering  <meyering@lucent.com>
92306
92307         * lib/dirname.c (ISSLASH): Define.
92308         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92309         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92310         both `\' and `/' may be use as path separators.
92311         Based on a patch from Prashant TR.
92312
92313 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92314
92315         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92316         slot vector a constant, since it might get modified.
92317
92318 2000-07-31  Jim Meyering  <meyering@lucent.com>
92319
92320         * lib/xmalloc.c: Use `virtual memory exhausted', not
92321         `Memory exhausted'.
92322         * lib/obstack.c (print_and_abort): Likewise.
92323
92324 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92325
92326         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92327         buffer, so that the caller can always quote one small
92328         component of a "memory exhausted" message in slot 0.
92329         From a suggestion by Jim Meyering.
92330
92331 2000-07-30  Jim Meyering  <meyering@lucent.com>
92332
92333         * lib/makepath.c (make_path): Quote the other instance, too.
92334
92335         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92336         (STATIC_BUF_SIZE): Define.
92337         (quotearg_n_options): Use only statically allocated storage when
92338         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92339         than STATIC_BUF_SIZE.
92340
92341 2000-07-29  Jim Meyering  <meyering@lucent.com>
92342
92343         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92344         * lib/dirname.c (dir_name): Likewise.
92345
92346         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92347         `/'.
92348
92349         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92350         (dir_name): Assert that there are no trailing slashes.
92351
92352 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92353
92354         * lib/mbswidth.h (mbswidth): Add a flags argument.
92355         (mbswidth): New declaration.
92356         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92357         * lib/mbswidth.c (mbswidth): Add a flags argument.
92358         (mbsnwidth): New function.
92359
92360 2000-07-24  Jim Meyering  <meyering@lucent.com>
92361
92362         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92363
92364 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92365
92366         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92367
92368 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92369
92370         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92371         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92372         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92373         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92374         invoke multibyte primitives.
92375
92376 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92377
92378         * lib/quotearg.c:
92379         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92380         so that mbstate_t is always defined.
92381
92382         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92383         be 1 in at least one GCC installation, and this configuration
92384         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92385         performance on hosts that have mbrtowc but have only unibyte
92386         locales, but I assume these hosts are rare.
92387
92388 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92389
92390         * lib/mbswidth.c (_XOPEN_SOURCE):
92391         Don't define; this causes problems on Solaris 7.
92392         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92393
92394 2000-07-23  Jim Meyering  <meyering@lucent.com>
92395
92396         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92397         too: getgrgid, getpwuid, getuid.
92398
92399 2000-07-23  Jim Meyering  <meyering@lucent.com>
92400
92401         * lib/basename.c (base_name): Add an assertion.
92402
92403 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92404
92405         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92406         shadow its mbsinit function.
92407
92408 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92409
92410         * lib/mbswidth.h: New file.
92411         * lib/mbswidth.c: New file.
92412         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92413         (noinst_HEADERS): Add mbswidth.h.
92414
92415 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92416
92417         * lib/config.charset: Add support for FreeBSD. Improve support for
92418         HP-UX and IRIX 6.
92419
92420 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92421
92422         * m4/mbswidth.m4: New file.
92423         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92424
92425 2000-07-15  Jim Meyering  <meyering@lucent.com>
92426
92427         * lib/makepath.c: Include quote.h.
92428         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92429         corresponding argument in a `quote (...)' call.
92430         Give better diagnostics.
92431
92432         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92433         (noinst_HEADERS): Add quote.h.
92434
92435         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92436         from tar's src/misc.c.
92437         * lib/quote.h: New file.  Prototypes for same.
92438
92439 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92440
92441         From a suggestion by Bruno Haible.
92442         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92443         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92444         to decide whether to define the BeOS workaround macro;
92445         this adjusts to the change to AC_MBSTATE_T.
92446
92447 2000-07-14  Jim Meyering  <meyering@lucent.com>
92448
92449         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92450         jm_AC_TYPE_UINTMAX_T.
92451
92452 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92453
92454         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92455
92456         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92457         quotearg_buffer_restyled): Add support for
92458         clocale_quoting_style.  Undo previous change to
92459         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92460         and "{RIGHT QUOTATION MARK}" msgids.
92461
92462 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92463
92464         From a suggestion by Bruno Haible.
92465         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92466         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92467         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92468         and mbstate_t, to a single-part test that simply defines mbstate_t.
92469         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92470         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92471
92472 2000-07-10  Jim Meyering  <meyering@lucent.com>
92473
92474         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92475
92476         * m4/gnu-source.m4: Output to confdefs.h directly.
92477         Suggestion from Akim Demaille.
92478
92479 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92480
92481         The old behavior of quoting `like this' doesn't look good with
92482         newer, ISO-style fonts.  See:
92483         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92484
92485         Instead, quote "like this" by default.  Let the translator
92486         tailor the locale-specific quoting behavior by providing
92487         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92488
92489         * lib/quotearg.c (N_): New macro.
92490         (gettext_default): New function.
92491         (quotearg_buffer_restyled): Use
92492         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92493         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92494
92495 2000-07-09  Jim Meyering  <meyering@lucent.com>
92496
92497         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92498         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92499
92500         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92501         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92502
92503 2000-07-09  Jim Meyering  <meyering@lucent.com>
92504
92505         * lib/Most files: Update copyright dates to include 2000.
92506
92507 2000-07-08  Jim Meyering  <meyering@lucent.com>
92508
92509         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92510         if not defined.
92511         (xgethostname): Remove now-unnecessary #ifdef.
92512         Move declaration of `err' into loop where it's used.
92513
92514 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92515         and Bruno Haible  <haible@clisp.cons.org>
92516
92517         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92518         only if the test for an object-type mbstate_t fails.  This
92519         prevents us from mistakenly reporting that mbstate_t is a
92520         system object type after we "#define mbstate_t int" to work
92521         around its lack.
92522
92523 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92524         and Bruno Haible  <haible@clisp.cons.org>
92525
92526         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92527
92528 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92529
92530         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92531         to strerror_r.
92532         Include <ctype.h> for use of isalpha.
92533
92534 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92535
92536         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92537         by allocating a larger buffer. Test the gethostname return value for
92538         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92539         returns an error and ENAMETOOLONG isn't defined.
92540
92541 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92542
92543         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92544         dimension.
92545
92546 2000-07-04  Jim Meyering  <meyering@lucent.com>
92547
92548         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92549         of the deprecated AC_CHECKING.
92550
92551 2000-07-04  Jim Meyering  <meyering@lucent.com>
92552
92553         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92554         Reported by Bruno Haible.
92555
92556 2000-07-04  Jim Meyering  <meyering@lucent.com>
92557
92558         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92559         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92560         lacks mbrtowc.
92561
92562 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92563
92564         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92565         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92566
92567 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92568         and Bruno Haible  <haible@clisp.cons.org>
92569
92570         * lib/quotearg.c (mbrtowc):
92571         Assign to *pwc, and return 1 only if result is nonzero.
92572         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92573
92574 2000-07-03  Jim Meyering  <meyering@lucent.com>
92575
92576         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92577
92578 2000-07-03  Jim Meyering  <meyering@lucent.com>
92579
92580         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92581         This is necessary to get a definition of e.g., UTMP_FILE on
92582         HP-UX 10.20.
92583         From Bob Proulx.
92584
92585 2000-07-02  Jim Meyering  <meyering@lucent.com>
92586
92587         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92588
92589         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92590         AC_LIBOBJ(function_name).
92591         * m4/chown.m4: Likewise.
92592         * m4/fnmatch.m4: Likewise.
92593         * m4/ftruncate.m4: Likewise.
92594         * m4/getgroups.m4: Likewise.
92595         * m4/getline.m4: Likewise.
92596         * m4/group-member.m4: Likewise.
92597         * m4/jm-macros.m4: Likewise.
92598         * m4/lstat.m4: Likewise.
92599         * m4/malloc.m4: Likewise.
92600         * m4/memcmp.m4: Likewise.
92601         * m4/nanosleep.m4: Likewise.
92602         * m4/putenv.m4: Likewise.
92603         * m4/realloc.m4: Likewise.
92604         * m4/regex.m4: Likewise.
92605         * m4/stat.m4: Likewise.
92606         * m4/strftime.m4: Likewise.
92607
92608 2000-07-02  Jim Meyering  <meyering@lucent.com>
92609
92610         * lib/quotearg.c (mbstate_t): Don't define here.
92611
92612 2000-07-02  Jim Meyering  <meyering@lucent.com>
92613
92614         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92615
92616 2000-07-01  Jim Meyering  <meyering@lucent.com>
92617
92618         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92619
92620 2000-07-01  Jim Meyering  <meyering@lucent.com>
92621
92622         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92623         problem.
92624
92625 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92626
92627         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92628         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92629
92630 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92631
92632         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92633         per change in ../m4/ls-mntd-fs.m4.
92634         (read_filesystem_list): Ignore symbolic links.
92635
92636 2000-06-29  Jim Meyering  <meyering@lucent.com>
92637
92638         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92639         for declaration of strcmp.
92640
92641         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92642
92643         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92644         Avoid warning by casting result to `char *' to remove `const'.
92645
92646 2000-06-28  Jim Meyering  <meyering@lucent.com>
92647
92648         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92649         included by quotearg.c, for which we perform this test.  From
92650         Bruno Haible.
92651
92652 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92653
92654         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92655         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92656         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92657
92658 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92659
92660         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92661
92662 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92663
92664         savedir now sets errno on failure and invokes xmalloc to get memory.
92665         Fix a couple of other minor bugs while we're at it.
92666
92667         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92668         (NAMLEN): Remove macro.
92669         (malloc, realloc): Remove decls.
92670         (stpcpy): Likewise.
92671         ("xalloc.h"): Include.
92672         (NAME_SIZE_DEFAULT): New macro.
92673         (savedir): Use xmalloc / xrealloc to allocate memory.
92674         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92675         Skip "" directory entries.
92676         Use strlen to calculate directory entry length, since the old method
92677         is rarely used these days and isn't worth supporting.
92678         Don't use a pointer after freeing it.
92679         Check for integer overflow when calculating allocation size.
92680         Use memcpy to copy entries, instead of stpcpy.
92681         Set errno properly when returning NULL.
92682         Check for readdir error.
92683
92684 2000-06-26  Jim Meyering  <meyering@lucent.com>
92685
92686         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92687
92688 2000-06-25  Jim Meyering  <meyering@lucent.com>
92689
92690         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92691         Linux header bug when _XOPEN_SOURCE is defined to 500.
92692
92693 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92694
92695         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92696         deficiency.
92697
92698 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92699
92700         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92701         Include xalloc.h.
92702         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92703
92704 2000-06-24  Jim Meyering  <meyering@lucent.com>
92705
92706         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92707         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92708         for which strerror does return char*, but which lacks a conveniently
92709         accessible declaration of the function.  If the compile-test says
92710         strerror_r doesn't work, then resort to a `run'-test that works on
92711         BeOS and segfaults on DEC Unix.
92712
92713 2000-06-24  Jim Meyering  <meyering@lucent.com>
92714
92715         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92716
92717 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92718
92719         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92720         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92721
92722 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92723
92724         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92725         (mbrtowc, mbstate_t): Define substitutes if
92726         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92727         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92728         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92729
92730 2000-06-23  Jim Meyering  <meyering@lucent.com>
92731
92732         * m4/afs.m4: Add missing AC_MSG_RESULT.
92733         Reported by Bruno Haible.
92734
92735         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92736         Suggestion from Bruno Haible.
92737
92738 2000-06-23  Jim Meyering  <meyering@lucent.com>
92739
92740         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92741
92742 2000-06-21  Jim Meyering  <meyering@lucent.com>
92743
92744         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92745
92746 2000-06-21  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92749         (noinst_HEADERS): Add getstr.h.
92750
92751         * lib/getline.c (getstr): Move into a separate file.
92752         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92753         the following changes: new parameter, delim2; both delim[12]
92754         parameters have type `int', not `char'.  The latter would lose
92755         with 8-bit delimiters.
92756         * lib/getstr.h: New file.
92757
92758 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92759
92760         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92761         than 1024, return a memory chunk of least possible size, instead
92762         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92763         Use free/xmalloc instead of xrealloc to avoid copying for very long
92764         paths.
92765
92766 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92767
92768         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92769         the empty string.
92770
92771 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92772
92773         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92774         address, not strdup.  Include <stdlib.h> and don't declare free().
92775
92776 2000-06-19  Jim Meyering  <meyering@lucent.com>
92777
92778         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92779
92780 2000-06-18  Jim Meyering  <meyering@lucent.com>
92781
92782         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92783
92784         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92785         `checking whether...' message to be consistent with that of the
92786         lstat test.
92787
92788 2000-06-18  Jim Meyering  <meyering@lucent.com>
92789
92790         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92791         Besides, these days every porting target provides a mkdir function.
92792
92793         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92794         needed. (this snippet comes from src/system.h).
92795
92796 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92797
92798         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92799
92800 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92801
92802         * lib/human.c (adjust_value): New function.
92803         (human_readable_inexact): Apply rounding style even when
92804         printing approximate values.
92805
92806 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92807
92808         * lib/human.c (human_readable_inexact): Allow an input block
92809         size that is not a multiple of the output block size, and vice versa.
92810         Reported by Piergiorgio Sartor.
92811
92812 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92813
92814         * lib/getdate.y (get_date): Apply relative times after time
92815         zone indicator, not before.  Reported by Todd A. Jacobs.
92816
92817 2000-06-13  Jim Meyering  <meyering@lucent.com>
92818
92819         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92820
92821         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92822
92823 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92824
92825         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92826
92827 2000-06-12  Jim Meyering  <meyering@lucent.com>
92828
92829         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92830         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92831         optional argument.
92832         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92833         the optional argument, `lib'.
92834
92835 2000-06-08  Jim Meyering  <meyering@lucent.com>
92836
92837         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92838
92839 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92840
92841         Rewrite largefile configuration so that we don't need to run
92842         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92843         AC_CANONICAL_HOST in configure.in -- jmm]
92844
92845         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92846         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92847         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92848         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92849         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92850         All uses changed.
92851         Instead of inspecting the output of getconf, try to compile the
92852         test program without and with the macro definition.
92853         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92854         for getconf.  Instead, check for the needed flags by compiling
92855         test programs.
92856
92857 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92858
92859         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92860
92861 2000-06-04  Jim Meyering  <meyering@lucent.com>
92862
92863         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92864         SunOS 4.1.4 for which gid_t is an unsigned type.
92865
92866 2000-06-03  Jim Meyering  <meyering@lucent.com>
92867
92868         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92869         now that autoconf requires that.
92870
92871         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92872         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92873         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92874
92875 2000-06-03  Jim Meyering  <meyering@lucent.com>
92876
92877         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92878
92879 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92880
92881         * m4/glibc21.m4: New file.
92882         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92883
92884 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92885
92886         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92887         newer, don't install charset.alias.
92888         * lib/config.charset: Change the Linux/glibc rules so they become empty
92889         on glibc-2.1 or newer.
92890
92891 2000-06-02  Jim Meyering  <meyering@lucent.com>
92892
92893         * lib/mountlist.c: Back out last change.  Instead, do this...
92894         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92895         me_dummy member using the same `ignore'-testing code.
92896         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92897         fs_type strings.
92898         From Mark D. Roth.
92899
92900 2000-05-29  Jim Meyering  <meyering@lucent.com>
92901
92902         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92903         mounts with the `ignore' attribute.  Based on a patch from
92904         Mark D. Roth.
92905
92906 2000-05-28  Jim Meyering  <meyering@lucent.com>
92907
92908         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92909         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92910         * m4/stat.m4: Likewise.
92911         * m4/lstat.m4: Likewise.
92912         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92913
92914         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92915         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92916
92917 2000-05-26  Jim Meyering  <meyering@lucent.com>
92918
92919         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92920
92921 2000-05-24  Jim Meyering  <meyering@lucent.com>
92922
92923         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92924         autoconf requires that.
92925         * m4/lib-check.m4: Likewise.
92926         * m4/jm-macros.m4: Likewise.
92927         * m4/strftime.m4: Likewise.
92928
92929         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92930         AC_CHECK_DECLS, now that autoconf requires that.
92931
92932 2000-05-22  Jim Meyering  <meyering@lucent.com>
92933
92934         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92935         * m4/lstat.m4: Likewise.
92936
92937 2000-05-22  Jim Meyering  <meyering@lucent.com>
92938
92939         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92940
92941 2000-05-20  Jim Meyering  <meyering@lucent.com>
92942
92943         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92944         (jm_PREREQ): Use it.
92945
92946 2000-05-18  Jim Meyering  <meyering@lucent.com>
92947
92948         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92949         back, too, since it may have been modified by allocate_entry.
92950         (hash_delete): Rewrite to use neither the assignment operator
92951         nor the comma operator in an if-expression.
92952
92953 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92954
92955         * lib/closeout.c:
92956         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92957         Remove; no longer needed.
92958         "quotearg.h": Add include.
92959         (file_name): Do not bother to explicitly initialize to NULL; it's less
92960         efficient on some hosts.
92961         (close_stdout_status): Remove test as to whether stdout was already
92962         closed; it breaks for the case "echo x | sort >&-".
92963         Quote file name colons.
92964         Do not assume that _("write error") lacks format strings.
92965
92966 2000-05-15  Jim Meyering  <meyering@lucent.com>
92967
92968         * lib/version-etc.c (version_etc_copyright): Update the copyright
92969         string used in all --version output.
92970
92971 2000-05-14  Jim Meyering  <meyering@lucent.com>
92972
92973         * lib/closeout.c (close_stdout_set_file_name): New function.
92974         (close_stdout_status): Use new file-scoped global.
92975         Return right away if fstat says the stdout file descriptor is invalid.
92976         * lib/closeout.h (close_stdout_set_file_name): Declare.
92977
92978 2000-05-10  Jim Meyering  <meyering@lucent.com>
92979
92980         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92981         (close_stdout_set_status): New function.
92982         * lib/closeout.h (close_stdout_set_status): Declare.
92983
92984 2000-05-09  Jim Meyering  <meyering@lucent.com>
92985
92986         * m4/gettext.m4: Rename this...
92987         * m4/libintl.m4: ...to this.
92988
92989 2000-05-08  Jim Meyering  <meyering@lucent.com>
92990
92991         * lib/long-options.c: Don't include closeout.h.
92992         (parse_long_options): Don't call close_stdout for --version.
92993
92994 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92995
92996         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92997         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92998         2.1.3 bug.  This avoids a clash when files like regex.c define
92999         _GNU_SOURCE.
93000
93001 2000-05-06  Jim Meyering  <meyering@lucent.com>
93002
93003         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93004         (AC_REPLACE_FUNCS): Add strnlen.
93005
93006         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93007         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93008
93009         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93010         AC_SEARCH_LIBS call for nanosleep.
93011         (LIB_NANOSLEEP): Set and AC_SUBST.
93012
93013 2000-05-06  Jim Meyering  <meyering@lucent.com>
93014
93015         * lib/strnlen.c: Undefine __strnlen and strnlen.
93016         [!weak_alias]: Define __strnlen to strnlen.
93017
93018         * lib/atexit.c: New file, from libiberty.
93019
93020 2000-05-06  Jim Meyering  <meyering@lucent.com>
93021
93022         * lib/closeout.c (close_stdout_status): Also check for errors on the
93023         stderr stream.
93024
93025 2000-05-05  Jim Meyering  <meyering@lucent.com>
93026
93027         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93028         AC_SEARCH_LIBS call for clock_gettime.
93029         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93030
93031         * m4/search-libs.m4: Update from autoconf.
93032
93033         su doesn't work on Solaris 2.6.
93034         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93035         <shadow.h>.  Reported by Dragos Harabor.
93036
93037 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93038
93039         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93040         memcpy instead of xmalloc, xrealloc, path_concat.
93041         (locale_charset): Treat empty environment variables as absent.
93042         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93043
93044 2000-05-04  Jim Meyering  <meyering@lucent.com>
93045
93046         * lib/getopt.c: Update from glibc.
93047         * lib/obstack.c: Likewise.
93048         * lib/obstack.h: Likewise.
93049         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93050         file
93051
93052         * lib/regex.h: Likewise.
93053         * lib/strndup.c: Likewise.
93054         * lib/strnlen.c: New file, from glibc.
93055
93056 2000-05-03  Jim Meyering  <meyering@lucent.com>
93057
93058         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93059
93060 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93061
93062         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93063         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93064         compile-time test, rather than inspecting host and OS, to
93065         decide whether to define _LARGEFILE_SOURCE.
93066
93067 2000-05-01  Jim Meyering  <meyering@lucent.com>
93068
93069         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93070
93071         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93072         Based on a patch from Bruno Haible.
93073
93074 2000-05-01  Jim Meyering  <meyering@lucent.com>
93075
93076         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93077
93078 2000-04-29  Jim Meyering  <meyering@lucent.com>
93079
93080         * lib/path-concat.c: Declare strdup only if it's not defined.
93081         * lib/canon-host.c: Likewise.
93082
93083 2000-04-28  Jim Meyering  <meyering@lucent.com>
93084
93085         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93086         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93087         is included first, then limits.h is included by locale.h by libintl.h.
93088         From John David Anglin.
93089
93090 2000-04-25  Jim Meyering  <meyering@lucent.com>
93091
93092         * lib/makepath.c (S_IRWXUGO): Define.
93093         (make_path): Always perform explicit chmod if MODE specifies any
93094         of the `special' permission bits.  Prompted by a bug report against
93095         install from Mate Wierdl and Joost van Baal.
93096
93097 2000-04-18  Jim Meyering  <meyering@lucent.com>
93098
93099         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93100         (jm_PREREQ): Use it.
93101
93102 2000-04-18  Jim Meyering  <meyering@lucent.com>
93103
93104         * lib/README: New file.
93105
93106         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93107         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93108
93109 2000-04-17  Jim Meyering  <meyering@lucent.com>
93110
93111         Get it right :-)
93112         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93113         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93114         Suggestion from Akim Demaille.
93115
93116 2000-04-17  Jim Meyering  <meyering@lucent.com>
93117
93118         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93119         the definition of it to rpl_strftime also defined-away the system's
93120         declaration.
93121
93122 2000-04-15  Jim Meyering  <meyering@lucent.com>
93123
93124         Use `C' to denote so-called `contiguous' files, the same way
93125         that tar does.
93126         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93127         (ftypelet): Use S_ISCTG.
93128         From Michael Deutschmann.
93129
93130 2000-04-14  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93133         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93134         clobbered.
93135
93136 2000-04-14  Jim Meyering  <meyering@lucent.com>
93137
93138         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93139
93140 2000-04-13  Jim Meyering  <meyering@lucent.com>
93141
93142         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93143         AH_VERBATIM to insert required #ifndef into config.h.in.
93144         Suggestion from Akim Demaille.
93145
93146 2000-04-12  Jim Meyering  <meyering@lucent.com>
93147
93148         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93149         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93150         Christian Krackowizer.
93151
93152         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93153         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93154         (AC_SYS_LARGEFILE): Require.
93155         (AM_C_PROTOTYPES): Require.
93156
93157 2000-04-08  Jim Meyering  <meyering@lucent.com>
93158
93159         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93160         names don't conflict.  Reported by Eli Zaretskii.
93161
93162 2000-04-07  Jim Meyering  <meyering@lucent.com>
93163
93164         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93165         sys/types.h, to work around system header problems on AIX 3.2.5.
93166         From Bruno Haible.
93167
93168 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93169
93170         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93171         bug.  Deal with the different error behavior of Irix iconv.
93172
93173 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93174
93175         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93176         IRIX if the installer said otherwise.
93177
93178 2000-04-05  Jim Meyering  <meyering@lucent.com>
93179
93180         Portability tweaks required for ultrix4.3.
93181         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93182         (jm_CHECK_DECLS): Add getutent to the list of functions.
93183         (_jm_DECL_HEADERS): Add utmpx.h.
93184         From John David Anglin.
93185
93186         * m4/strftime.m4: Back out the 2000-04-02 change.
93187         Instead of that change, simply undefine putenv in the test program.
93188
93189 2000-04-05  Jim Meyering  <meyering@lucent.com>
93190
93191         Portability tweaks required for ultrix4.3.
93192         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93193         getutent.
93194         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93195         * lib/canon-host.c: Declare strdup.
93196         * lib/path-concat.c: Likewise.
93197         From John David Anglin.
93198
93199 2000-04-04  Jim Meyering  <meyering@lucent.com>
93200
93201         Be more DOS 8.3-friendly.
93202         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93203         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93204         * lib/Makefile.am: Reflect renaming.
93205         Reported by Eli Zaretskii.
93206
93207         Use a temporary file name that won't clash with `charset.alias'
93208         in the DOS 8.3 name space.
93209         * lib/Makefile.am (charset_tmp): Define.
93210         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93211         (uninstall-local): Likewise.
93212         Reported by Eli Zaretskii.
93213
93214 2000-04-03  Jim Meyering  <meyering@lucent.com>
93215
93216         * m4/gettext.m4: Fix typo in comment.
93217
93218         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93219         textutils/configure.in).  Suggestion from Paul Eggert.
93220         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93221
93222 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93223
93224         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93225         variable in the shell rather than using putenv, which isn't
93226         portable.  This avoids the configure-time inter-test dependency
93227         on the potentially-renamed putenv function.
93228
93229 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93230
93231         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93232         before checking struct stat.st_blksize, so that
93233         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93234
93235 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93236
93237         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93238         since strftime.c uses HAVE_STRFTIME to decide whether to use
93239         the underlying strftime.
93240
93241 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93242
93243         * lib/time/strftime.c (my_strftime): Make sure we call the system
93244         strftime, not ourselves, when invoking the underlying strftime.
93245
93246 2000-03-24  Jim Meyering  <meyering@lucent.com>
93247
93248         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93249         (charset_alias): Define.
93250         (install-exec-local): Factor out common code.
93251         (uninstall-local): Split lines longer than 80.
93252         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93253         (SUFFIXES): Define.
93254         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93255         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93256
93257 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93258
93259         * lib/config.charset: Output a line containing "Packages using this
93260         file".
93261         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93262         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93263         ref-del.sed): New rules.
93264
93265 2000-03-17  Jim Meyering  <meyering@lucent.com>
93266
93267         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93268         Otherwise, include <strings.h>
93269
93270 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93271
93272         * lib/unicodeio.c (utf8_wctomb): New function.
93273         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93274         format instead of in UCS-4 with platform dependent endianness.
93275
93276 2000-03-10  Jim Meyering  <meyering@lucent.com>
93277
93278         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93279         From Marco Franzen.
93280
93281 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93282
93283         * lib/savedir.c (savedir): Work even if directory size is
93284         negative; this can happen with some screwy NFS configurations.
93285
93286 2000-03-06  Jim Meyering  <meyering@lucent.com>
93287
93288         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93289         if it's NULL (because we ran out of memory).  From Bruno Haible.
93290
93291 2000-03-05  Jim Meyering  <meyering@lucent.com>
93292
93293         * lib/localcharset.c ("path-concat.h"): Include.
93294         (get_charset_aliases): Use path_concat instead of ANSI string
93295         concatenation.
93296
93297         * lib/unicodeio.h (PARAMS): Define.
93298         Use it to guard prototype.
93299
93300 2000-03-04  Jim Meyering  <meyering@lucent.com>
93301
93302         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93303         for lib/localcharset.c.
93304
93305 2000-03-04  Jim Meyering  <meyering@lucent.com>
93306
93307         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93308         installing into it.
93309         (uninstall-local): Uncomment this rule so `make distcheck' works
93310         once again.
93311
93312         * lib/unicodeio.c (<errno.h>): Include it.
93313         (errno): Declare if not defined.
93314
93315         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93316
93317         * lib/config.charset: New version, incorporating remarks from a linux
93318         i18n mailing list.  From Bruno Haible.
93319
93320 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93321
93322         * m4/codeset.m4: New file.
93323         * m4/iconv.m4: New file.
93324         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93325
93326 2000-03-03  Jim Meyering  <meyering@lucent.com>
93327
93328         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93329
93330 2000-03-02  Jim Meyering  <meyering@lucent.com>
93331
93332         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93333         the messages come out on separate lines.
93334
93335         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93336         rather than jm_CHECK_DECLARATIONS.
93337         * m4/decl.m4: Remove now-unused file.
93338
93339         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93340         geteuid.
93341
93342 2000-03-02  Jim Meyering  <meyering@lucent.com>
93343
93344         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93345
93346 2000-03-01  Jim Meyering  <meyering@lucent.com>
93347
93348         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93349         * lib/unicodeio.c: Likewise.
93350
93351 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93352
93353         * lib/config.charset: New file.
93354         * lib/localcharset.c: New file.
93355         * lib/unicodeio.h, lib/unicodeio.c: New files.
93356         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93357         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93358         (noinst_HEADERS): Add unicodeio.h.
93359         (all-local, install-exec-local, charset.alias): New targets.
93360
93361 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93362
93363         * lib/quotearg.c (ALERT_CHAR): New macro.
93364         (quotearg_buffer_restyled): Use it.
93365
93366 2000-02-27  Jim Meyering  <meyering@lucent.com>
93367
93368         * m4/check-decl.m4: Add getenv to the list.
93369
93370 2000-02-27  Jim Meyering  <meyering@lucent.com>
93371
93372         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93373         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93374
93375         * lib/backupfile.c: Guard inclusion of stdlib.h with
93376         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93377         Declare malloc if needed.
93378
93379         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93380         `#ifndef HAVE_DECL..'
93381         now that autoconf always defines the HAVE_DECL_ symbols.
93382         * lib/human.c: Likewise.
93383         * lib/same.c: Likewise.
93384         * lib/strtoumax.c: Likewise.
93385
93386         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93387         declaration check was not run.
93388         * lib/hash.c: Likewise.
93389         * lib/human.c: Likewise.
93390         * lib/same.c: Likewise.
93391         * lib/strtoumax.c: Likewise.
93392
93393         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93394         `.', then first look up the entire `.'-containing string as a login
93395         name.
93396
93397 2000-02-23  Jim Meyering  <meyering@lucent.com>
93398
93399         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93400         in place of my hack.
93401
93402 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93403
93404         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93405         (textint): New typedef.
93406         (parser_control): Member year changed from int to textint.
93407         All uses changed.
93408         (YYSTYPE): Removed; replaced by %union with int and textint members.
93409         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93410         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93411         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93412         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93413         (date, number, to_year): Use width of number in digits, not its value,
93414         to determine whether it's a 2-digit year, or a 2-digit time.
93415         (yylex): Store number of digits of numeric tokens.
93416         Reported by John Kendall.
93417
93418         (parser_control): Changed from struct parser_control to typedef (for
93419         consistency).  All uses changed.
93420
93421         (tID): Removed; not used.
93422         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93423
93424 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93425
93426         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93427         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93428
93429 2000-02-12  Jim Meyering  <meyering@lucent.com>
93430
93431         * lib/userspec.c (ISDIGIT): Define it.
93432         (isdigit): Remove definition.
93433         (is_number): Use ISDIGIT, not isdigit.
93434         <libintl.h>: Include.
93435         (_ and N_): Define.
93436         (parse_user_spec): Mark translatable strings.
93437
93438 2000-02-10  Jim Meyering  <meyering@lucent.com>
93439
93440         With these changes, nanosleep.[ch] are finally enough like the other
93441         lib/* replacement files to compile on a few more losing systems.
93442
93443         * lib/nanosleep.h: Don't include config.h.
93444         Remove prototype from declaration of nanosleep.
93445         (PARAMS): Remove now-unneeded definition.
93446         * lib/nanosleep.c: #undef nanosleep.
93447         (rpl_nanosleep): Rename from nanosleep.
93448
93449 2000-02-10  Jim Meyering  <meyering@lucent.com>
93450
93451         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93452         gnu_nanosleep to rpl_nanosleep.
93453
93454 2000-02-09  Jim Meyering  <meyering@lucent.com>
93455
93456         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93457         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93458
93459 2000-02-08  Akim Demaille  <akim@epita.fr>
93460
93461         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93462         `[' and `]' and remove uses of `changequote'.
93463         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93464         (AC_SYS_LARGEFILE): Likewise.
93465         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93466         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93467         of changequote.
93468         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93469         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93470         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93471         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93472
93473 2000-02-05  Jim Meyering  <meyering@lucent.com>
93474
93475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93476         Remove explicit use of AC_HEADER_TIME.  It is required by
93477         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93478         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93479         in autoconf whereby the expansion of the latter ended up preceding
93480         the expansion of its prerequisite, AC_HEADER_TIME.
93481         Reported by Volker Borchert.
93482
93483 2000-02-03  Jim Meyering  <meyering@lucent.com>
93484
93485         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93486
93487 2000-02-03  Jim Meyering  <meyering@lucent.com>
93488
93489         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93490         rather than with `#if HAVE_UTMPNAME'.
93491
93492 2000-02-02  Jim Meyering  <meyering@lucent.com>
93493
93494         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93495         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93496         Reported by Eli Zaretskii.
93497
93498 2000-02-01  Jim Meyering  <meyering@lucent.com>
93499
93500         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93501
93502 2000-01-31  Jim Meyering  <meyering@lucent.com>
93503
93504         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93505         functions.  Add the time.h and sys/time.h headers along with the
93506         AC_REQUIRE'ment of AC_HEADER_TIME.
93507
93508 2000-01-31  Jim Meyering  <meyering@lucent.com>
93509
93510         * lib/nanosleep.h (nanosleep): Guard declaration with
93511         `#if ! HAVE_DECL_NANOSLEEP'.
93512         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93513         the declaration in that vendor's sys/timers.h.
93514         Reported by Christian Krackowizer.
93515
93516         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93517         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93518         (ISPRINT): Likewise.
93519         Reported by Tom Tromey.
93520
93521 2000-01-30  Jim Meyering  <meyering@lucent.com>
93522
93523         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93524
93525         * m4/prereq.m4 (utmp_includes): Define.
93526         Check for ut_user and ut_name members in both struct utmpx
93527         and struct utmp.
93528
93529 2000-01-30  Jim Meyering  <meyering@lucent.com>
93530
93531         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93532         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93533         header files where only utmpx.ut_user is declared.
93534
93535         * lib/readutmp.h (UT_USER): Define.
93536
93537 2000-01-29  Jim Meyering  <meyering@lucent.com>
93538
93539         * m4/lib-check.m4: New file containing library-related checks from
93540         fileutils and sh-utils (textutils had none).
93541
93542 2000-01-28  Jim Meyering  <meyering@lucent.com>
93543
93544         * m4/perl.m4: Change format of warning message to look more like that
93545         from the missing script.  Suggestion from François Pinard.
93546
93547 2000-01-25  Jim Meyering  <meyering@lucent.com>
93548
93549         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93550         well as time.h in the compile check.
93551         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93552         Fix typo in cross-compiling case: s/yes/no/.
93553
93554 2000-01-23  Jim Meyering  <meyering@lucent.com>
93555
93556         * m4/jm-macros.m4: Move df-related tests here from
93557         fileutils/configure.in
93558
93559         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93560         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93561
93562         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93563         s/space/ac_fsusage_space/.
93564         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93565
93566         * m4/ftruncate.m4: New file (derived from part of
93567         fileutils/configure.in).
93568         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93569         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93570
93571         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93572         AC_SUBST these here, rather than just in sh-util/configure.in, so
93573         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93574         all the same.
93575         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93576         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93577         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93578         (AC_SUBST(POW_LIBM)): Likewise.
93579         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93580
93581 2000-01-23  Jim Meyering  <meyering@lucent.com>
93582
93583         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93584         obstack.c.
93585
93586 2000-01-22  Jim Meyering  <meyering@lucent.com>
93587
93588         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93589
93590         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93591
93592         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93593         configure.in
93594         (AC_CHECK_HEADERS): Likewise for sh-utils.
93595         (AC_CHECK_HEADERS): Likewise for textutils.
93596         Merge the three lists of headers.
93597
93598         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93599         from fileutils' configure.in.
93600
93601         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93602         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93603         check-decl.m4.
93604
93605         * m4/check-decl.m4: Use #if rather than #ifdef.
93606         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93607         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93608         (_jm_DECL_HEADERS): Define new function.
93609         (jm_CHECK_DECLARATIONS): Require it.
93610
93611 2000-01-22  Jim Meyering  <meyering@lucent.com>
93612
93613         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93614         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93615         Required for some AIX systems.  Reported by Christian Krackowizer.
93616         [TESTING] (main): New function.
93617
93618         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93619         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93620         letters.
93621
93622         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93623         iswprint.
93624
93625         * lib/strverscmp.c (ISDIGIT): Define.
93626         (strverscmp): Use ISDIGIT, not isdigit.
93627
93628 2000-01-19  Jim Meyering  <meyering@lucent.com>
93629
93630         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93631         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93632         defines `struct timespec' in <sys/time.h>
93633
93634         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93635         Thanks to Akim for explaining.
93636
93637 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93638
93639         * lib/nanosleep.c (nanosleep):
93640         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93641         POSIX.1 doesn't require SA_INTERRUPT and some systems
93642         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93643         it's been part of POSIX.1 since day 1 (in 1988).
93644
93645 2000-01-17  Jim Meyering  <meyering@lucent.com>
93646
93647         * lib/interlock: Remove unused file.  Reported by François Pinard.
93648
93649 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93650
93651         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93652         alert, backslash, formfeed, and vertical tab unnecessarily in
93653         shell quoting style.
93654
93655 2000-01-16  Jim Meyering  <meyering@lucent.com>
93656
93657         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93658         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93659         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93660         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93661
93662 2000-01-16  Jim Meyering  <meyering@lucent.com>
93663
93664         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93665         because the latter didn't work.
93666
93667 2000-01-15  Jim Meyering  <meyering@lucent.com>
93668
93669         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93670         (AC_REPLACE_FUNCS): Add memcpy and memset.
93671         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93672         Add strpbrk.
93673         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93674
93675 2000-01-12  Jim Meyering  <meyering@lucent.com>
93676
93677         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93678         (jm_PREREQ): Use it.
93679         (jm_PREREQ_READUTMP): New macro.
93680         (jm_PREREQ): Use it.
93681
93682 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93683
93684         Quote multibyte characters correctly.
93685         * m4/c-bs-a.m4: New file.
93686         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93687         (jm_PREREQ): Use it.
93688
93689 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93690
93691         * m4/uintmax_t.m4: Port to autoconf 2.13.
93692
93693 2000-01-08  Jim Meyering  <meyering@ascend.com>
93694
93695         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93696         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93697
93698 2000-01-04  Jim Meyering  <meyering@ascend.com>
93699
93700         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93701         jm_STRUCT_DIRENT_D_TYPE.
93702         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93703         jm_STRUCT_DIRENT_D_INO.
93704         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93705         jm_STRUCT_UTIMBUF.
93706         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93707         renamings.
93708         * m4/utime.m4: Likewise.
93709
93710         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93711         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93712
93713 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93714
93715         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93716         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93717
93718 2000-01-02  Jim Meyering  <meyering@ascend.com>
93719
93720         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93721         remember if this is necessary.
93722
93723 1999-12-26  Jim Meyering  <meyering@ascend.com>
93724
93725         * m4/jm-macros.m4: Use it here.
93726         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93727
93728 1999-12-23  Jim Meyering  <meyering@ascend.com>
93729
93730         * m4/jm-macros.m4: Check for clock_gettime (moved from
93731         fileutils/configure.in)
93732         Check for gettimeofday.
93733
93734 1999-12-20  Jim Meyering  <meyering@ascend.com>
93735
93736         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93737         autoconf-2.14a-1999-12-20.
93738
93739 1999-12-19  Jim Meyering  <meyering@ascend.com>
93740
93741         * m4/lstat-slash.m4: New file.
93742         * m4/jm-macros.m4: Use the new macro:
93743         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93744
93745 1999-12-07  Jim Meyering  <meyering@ascend.com>
93746
93747         * m4/perl.m4: Require that File::Compare be available, too.
93748         Too many systems seem to lack it.
93749
93750         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93751         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93752
93753 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93754
93755         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93756         problem with the QNX 4.25 shell, which doesn't propagate exit
93757         status of failed commands inside shell assignments.
93758
93759 1999-11-17  Jim Meyering  <meyering@ascend.com>
93760
93761         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93762
93763 1999-11-07  Jim Meyering  <meyering@ascend.com>
93764
93765         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93766
93767 1999-11-06  Jim Meyering  <meyering@ascend.com>
93768
93769         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93770         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93771
93772 1999-11-05  Jim Meyering  <meyering@ascend.com>
93773
93774         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93775         configure.in of textutils, fileutils, and sh-utils into this one
93776         (shared between those packages) file.
93777         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93778         AC_STRUCT_ST_BLKSIZE.
93779
93780 1999-11-03  Jim Meyering  <meyering@ascend.com>
93781
93782         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93783         of AC_CHECK_TYPE checks includes unistd.h.
93784         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93785         Suggestion from Akim Demaille.
93786
93787 1999-10-30  Jim Meyering  <meyering@ascend.com>
93788
93789         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93790         m4-quoted string.
93791         * m4/ls-mntd-fs.m4: Likewise.
93792         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93793         * m4/jm-winsz1.m4: Likewise.
93794
93795         * m4/const.m4: Remove file, since the fix made it into the experimental
93796         version of autoconf.
93797         * m4/mktime.m4: Likewise.
93798
93799         * m4/check-type.m4: Remove file, now that the latest version of
93800         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93801
93802         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93803         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93804         AC_CHECK_TYPE.
93805
93806 1999-10-04  Jim Meyering  <meyering@ascend.com>
93807
93808         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93809
93810 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93811
93812         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93813         2.95.1 bug with HP-UX 10.20.
93814
93815 1999-09-17  Jim Meyering  <meyering@ascend.com>
93816
93817         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93818         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93819         due to missing strdup (against sh-utils-2.0).
93820
93821 1999-08-29  Jim Meyering  <meyering@ascend.com>
93822
93823         * m4/jm-macros.m4: Require jm_BISON.
93824         * m4/bison.m4: New file.
93825
93826 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93827
93828         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93829         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93830
93831 1999-08-05  Jim Meyering  <meyering@ascend.com>
93832
93833         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93834         to avoid conflicts with `conftest' on 8+3 filesystems.
93835         Suggestion from Eli Zaretskii.
93836
93837 1999-08-04  Jim Meyering  <meyering@ascend.com>
93838
93839         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93840         fileutils and sh-utils (textutils's getline test was inadequate).
93841         (AM_FUNC_GETLINE): Run this test.
93842         (AC_CHECK_FUNCS): Check for getdelim.
93843         Reported by Bob Proulx.
93844
93845 1999-08-02  Jim Meyering  <meyering@ascend.com>
93846
93847         * m4/jm-macros.m4: Add a comment.
93848
93849 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93850
93851         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93852         <inttypes.h> defines strtoumax as a macro (and not as a
93853         function).
93854
93855 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93856
93857         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93858         that we can shift, multiply and divide unsigned long long
93859         values; Ultrix cc can't do it.
93860
93861 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93862
93863         * m4/mktime.m4: New file, which is a preview of what should appear
93864         in the next public autoconf release.
93865
93866 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93867
93868         * m4/lfs.m4: Remove this file.
93869         * m4/largefile.m4: New file.  It contains the old contents of
93870         lfs.m4, except that all names with prefix AC_LFS have been
93871         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93872         compatible with future autoconf versions.  Also, some minor m4
93873         quoting problems have been fixed.
93874
93875 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93876
93877         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93878         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93879         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93880         and simplify the shell code.
93881
93882 1999-08-01  Jim Meyering  <meyering@ascend.com>
93883
93884         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93885         m4.
93886
93887 1999-07-20  Jim Meyering  <meyering@ascend.com>
93888
93889         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93890
93891 1999-07-15  Jim Meyering  <meyering@ascend.com>
93892
93893         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93894
93895 1999-05-22  Jim Meyering  <meyering@ascend.com>
93896
93897         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93898
93899 1999-05-20  Jim Meyering  <meyering@ascend.com>
93900
93901         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93902         Add a colon after each `then' in case $4 is empty.
93903
93904 1999-05-16  Jim Meyering  <meyering@ascend.com>
93905
93906         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93907
93908 1999-05-10  Jim Meyering  <meyering@ascend.com>
93909
93910         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93911
93912         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93913         AC_FUNC_MKTIME.
93914
93915 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93916
93917         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93918
93919 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93920
93921         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93922         not CPPFLAGS, so that linking works correctly in IRIX.
93923
93924 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93925
93926         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93927
93928 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93929
93930         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93931         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93932         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93933         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93934         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93935
93936         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93937
93938 1999-04-20  Jim Meyering  <meyering@ascend.com>
93939
93940         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93941         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93942         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93943
93944 1999-04-18  Jim Meyering  <meyering@ascend.com>
93945
93946         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93947         * m4/jm-macros.m4: Use it.
93948
93949 1999-04-06  Jim Meyering  <meyering@ascend.com>
93950
93951         * m4/strftime.m4: Remove test for %f.
93952
93953 1999-03-29  Jim Meyering  <meyering@ascend.com>
93954
93955         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93956         superset of the AC_TYPE_* checks in the textutils, fileutils,
93957         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93958         AC_TYPE_PID_T.
93959
93960 1999-03-28  Jim Meyering  <meyering@ascend.com>
93961
93962         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93963         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93964         replaced e.g., in the *.sh files of the sh-utils.
93965
93966 1999-03-20  Jim Meyering  <meyering@ascend.com>
93967
93968         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93969         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93970         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93971
93972 1999-03-19  Jim Meyering  <meyering@ascend.com>
93973
93974         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93975
93976 1999-03-12  Jim Meyering  <meyering@ascend.com>
93977
93978         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93979
93980 1999-03-07  Jim Meyering  <meyering@ascend.com>
93981
93982         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93983         declared.
93984
93985 1999-02-17  Jim Meyering  <meyering@ascend.com>
93986
93987         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93988         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93989
93990 1999-02-07  Jim Meyering  <meyering@ascend.com>
93991
93992         * m4/group-member.m4: New file -- extracted from sh-utils'
93993         configure.in.
93994
93995         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93996         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93997
93998 1999-02-06  Jim Meyering  <meyering@ascend.com>
93999
94000         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94001         * m4/fnmatch.m4: Likewise.
94002         * m4/getgroups.m4: Likewise.
94003         * m4/lstat.m4: Likewise.
94004         * m4/malloc.m4: Likewise.
94005         * m4/putenv.m4: Likewise.
94006         * m4/realloc.m4: Likewise.
94007         * m4/regex.m4: Likewise.
94008         * m4/stat.m4: Likewise.
94009         * m4/strftime.m4: Likewise.
94010         Suggestion from Alain Magloire.
94011
94012         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94013         * m4/fnmatch.m4: Likewise.
94014         * m4/getgroups.m4: Likewise.
94015         * m4/getline.m4: Likewise.
94016         * m4/lstat.m4: Likewise.
94017         * m4/malloc.m4: Likewise.
94018         * m4/memcmp.m4: Likewise.
94019         * m4/putenv.m4: Likewise.
94020         * m4/realloc.m4: Likewise.
94021         * m4/regex.m4: Likewise.
94022         * m4/stat.m4: Likewise.
94023         * m4/strftime.m4: Likewise.
94024         Suggestion from Alain Magloire.
94025
94026         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94027         an argument.
94028
94029         * m4/regex.m4: Add a run-time Test for proper operation of
94030         re_compile_pattern.
94031
94032 1999-01-31  Jim Meyering  <meyering@ascend.com>
94033
94034         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94035
94036 1999-01-30  Jim Meyering  <meyering@ascend.com>
94037
94038         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94039
94040         * m4/jm-mktime.m4: Make this a wrapper around the official
94041         AM_FUNC_MKTIME rather than my private copy, now that the official one
94042         is up to date.
94043         * m4/mktime.m4: Remove file.
94044
94045         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94046         * m4/uptime.m4: Likewise.
94047         * m4/uintmax_t.m4: Likewise.
94048
94049 1999-01-28  Jim Meyering  <meyering@ascend.com>
94050
94051         * m4/jm-macros.m4: Use jm_AFS.
94052         * m4/afs.m4: New file (from fileutils' configure.in).
94053
94054         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94055         * m4/chown.m4: Likewise.
94056         * m4/d-ino.m4: Likewise.
94057         * m4/d-type.m4: Likewise.
94058         * m4/fnmatch.m4: Likewise.
94059         * m4/getgroups.m4: Likewise.
94060         * m4/gettext.m4: Likewise.
94061         * m4/jm-mktime.m4: Likewise.
94062         * m4/jm-winsz2.m4: Likewise.
94063         * m4/lcmessage.m4: Likewise.
94064         * m4/ls-mntd-fs.m4: Likewise.
94065         * m4/malloc.m4: Likewise.
94066         * m4/memcmp.m4: Likewise.
94067         * m4/putenv.m4: Likewise.
94068         * m4/realloc.m4: Likewise.
94069         * m4/st_mtim.m4: Likewise.
94070         * m4/strftime.m4: Likewise.
94071
94072 1999-01-16  Jim Meyering  <meyering@ascend.com>
94073
94074         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94075         (ARGMATCH_DIE_DECL): Define.
94076
94077 1999-01-12  Jim Meyering  <meyering@ascend.com>
94078
94079         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94080         Reported by Lars Hecking.
94081
94082 1999-01-10  Jim Meyering  <meyering@ascend.com>
94083
94084         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94085         gross kludge.
94086         * m4/inttypes_h.m4: Likewise.
94087         * m4/lstat.m4: Likewise.
94088         * m4/malloc.m4: Likewise.
94089         * m4/readdir.m4: Likewise.
94090         * m4/realloc.m4: Likewise.
94091         * m4/st_dm_mode.m4: Likewise.
94092         * m4/stat.m4: Likewise.
94093         * m4/utimbuf.m4: Likewise.
94094         * m4/utimes.m4: Likewise.
94095
94096         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94097         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94098         comments in config.h.in are meaningful.
94099
94100         * m4/jm-macros.m4: Require autoconf-2.13 here.
94101
94102         * m4/regex.m4: By default, don't use the included regex.c on systems
94103         with glibc 2.  Suggestion from Uli Drepper.
94104
94105 1999-01-02  Jim Meyering  <meyering@ascend.com>
94106
94107         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94108
94109 1998-12-18  Jim Meyering  <meyering@ascend.com>
94110
94111         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94112         Based on a suggestion from Lars Hecking.
94113
94114 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94115
94116         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94117
94118 1998-11-16  Jim Meyering  <meyering@ascend.com>
94119
94120         * m4/lfs.m4: Double-quote the `uname...` expression.
94121
94122 1998-11-14  Jim Meyering  <meyering@ascend.com>
94123
94124         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94125         * m4/stat.m4: Likewise.
94126
94127 1998-11-03  Jim Meyering  <meyering@ascend.com>
94128
94129         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94130         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94131
94132 1998-10-18  Jim Meyering  <meyering@ascend.com>
94133
94134         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94135
94136 1998-10-17  Jim Meyering  <meyering@ascend.com>
94137
94138         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94139         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94140         calls for those previously hard-coded headers.  Instead, take a new
94141         parameter.
94142         (jm_CHECK_DECLARATIONS): Reflect interface change.
94143         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94144         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94145
94146         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94147
94148 1998-10-14  Jim Meyering  <meyering@ascend.com>
94149
94150         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94151         instead of "TZ=America/Vancouver".  From Paul Eggert.
94152
94153 1998-10-11  Jim Meyering  <meyering@ascend.com>
94154
94155         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94156         This adds a test for a recently added compatibility fix for mktime.c.
94157         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94158
94159 1998-09-27  Jim Meyering  <meyering@ascend.com>
94160
94161         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94162
94163         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94164         ../configure.in, including a change from Gordon Matzigkeit to allow
94165         cross-compiling for the Hurd.
94166
94167         * m4/glibc.m4: New file/macro to test for the GNU C Library
94168         versions 1 and 2.  From Gordon Matzigkeit.
94169         Indent.
94170
94171 1998-09-21  Jim Meyering  <meyering@ascend.com>
94172
94173         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94174
94175 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94176
94177         Port nanosecond-resolution times to UnixWare 2.1.2 and
94178         pedantic Solaris 2.6.
94179
94180         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94181         AC_STRUCT_ST_MTIM.
94182         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94183         Generate name of ns member, instead of just 1 or undef.
94184         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94185
94186 1998-08-15  Jim Meyering  <meyering@ascend.com>
94187
94188         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94189         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94190         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94191         instead of jm_TYPE_SSIZE_T.
94192
94193 1998-08-12  Jim Meyering  <meyering@ascend.com>
94194
94195         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94196
94197 1998-08-02  Jim Meyering  <meyering@ascend.com>
94198
94199         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94200         in acconfig.h manually.
94201
94202 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94203
94204         * m4/st_mtim.m4: New file.
94205
94206 1998-07-28  Jim Meyering  <meyering@ascend.com>
94207
94208         * m4/utimes.m4: Undef stat.
94209
94210 1998-07-25  Jim Meyering  <meyering@ascend.com>
94211
94212         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94213         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94214
94215 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94216
94217         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94218         uid and gid actually remain unchanged.
94219
94220 1998-07-07  Jim Meyering  <meyering@ascend.com>
94221
94222         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94223
94224 1998-07-04  Jim Meyering  <meyering@ascend.com>
94225
94226         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94227         to prove that this macro can be used in packages without regex.c.
94228
94229 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94230
94231         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94232         is to be used.
94233
94234 1998-07-03  Jim Meyering  <meyering@ascend.com>
94235
94236         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94237
94238         * m4/gettext.m4: New file -- from gettext-0.10.35.
94239         * m4/lcmessage.m4: Likewise.
94240         * m4/progtest.m4: Likewise.
94241
94242         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94243         * m4/jm-macros.m4: Require the new macro.
94244
94245 1998-06-29  Jim Meyering  <meyering@ascend.com>
94246
94247         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94248         for the definition of NGROUPS (used in a system header included
94249         by sys/mount.h).
94250
94251 1998-06-28  Jim Meyering  <meyering@ascend.com>
94252
94253         * m4/ls-mntd-fs.m4: New file.
94254         * m4/fstypename.m4: New file.
94255
94256         * m4/jm-macros.m4: Require the new macro.
94257         * m4/jm-glibc-io.m4: New file.
94258
94259 1998-05-19  Jim Meyering  <meyering@ascend.com>
94260
94261         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94262         * m4/lchown.m4: New file.
94263
94264         * m4/Makefile.am.in: New file.
94265         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94266
94267 1998-05-14  Jim Meyering  <meyering@ascend.com>
94268
94269         * m4/Makefile.am (EXTRA_DIST): Add them.
94270         * m4/jm-macros.m4: New file.
94271         * m4/utimbuf.m4: New file.
94272
94273 1998-05-12  Jim Meyering  <meyering@ascend.com>
94274
94275         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94276
94277 1998-05-11  Jim Meyering  <meyering@ascend.com>
94278
94279         * m4/isc-posix.m4: New file.
94280
94281 1998-05-10  Jim Meyering  <meyering@ascend.com>
94282
94283         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94284
94285 1998-05-09  Jim Meyering  <meyering@ascend.com>
94286
94287         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94288         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94289         with automake.
94290
94291         * m4/ssize_t.m4: New file.
94292         * m4/mktime.m4: Remove file -- the new automake has this now.
94293
94294 1998-04-26  Jim Meyering  <meyering@ascend.com>
94295
94296         * m4/assert.m4: New file.
94297         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94298
94299 1998-04-05  Jim Meyering  <meyering@ascend.com>
94300
94301         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94302         (jm_PREREQ): Use it here.
94303
94304 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94305
94306         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94307         in acconfig.h.
94308
94309 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94310
94311         * m4/prereq.m4: New file.
94312         * m4/error.m4: New file.
94313         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94314
94315 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94316
94317         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94318         cache-check for the same variable -- that defeated the purpose of
94319         the test; the test program was never run.  This was a problem only
94320         on systems with losing getline functions -- HP-UX 10.20 is one.
94321         Reported by Bjorn Helgaas.
94322
94323 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94324
94325         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94326
94327 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94328
94329         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94330
94331         * m4/const.m4: New file.  Use an initializer in this declaration
94332         typedef int charset[2]; const charset x;
94333         Reported by Bob Glickstein.
94334
94335 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94336
94337         * m4/chown.m4: Fix reversed types on -1 args to chown.
94338         From Kaveh Ghazi.
94339
94340 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94341
94342         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94343         Add lseek and memchr.
94344
94345         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94346         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94347         have a 20-character limit on names.
94348
94349 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94350
94351         * m4/inttypes_h.m4: New file.
94352         * m4/uintmax_t.m4: New file.
94353         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94354
94355
94356         -----
94357
94358         Local Variables:
94359         coding: utf-8
94360         End:
94361
94362         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94363
94364         Copying and distribution of this file, with or without
94365         modification, are permitted provided the copyright notice
94366         and this notice are preserved.