1b30ec8059c559c762f7b0e905d980ac1f366644
[gnulib.git] / ChangeLog
1 2012-03-10  Bruno Haible  <bruno@clisp.org>
2
3         Tests for module 'log1pf'.
4         * modules/log1pf-tests: New file.
5         * tests/test-log1pf.c: New file.
6
7         New module 'log1pf'.
8         * lib/math.in.h (log1pf): New declaration.
9         * lib/log1pf.c: New file.
10         * m4/log1pf.m4: New file.
11         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
12         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
13         REPLACE_LOG1PF.
14         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
15         REPLACE_LOG1PF.
16         * modules/log1pf: New file.
17         * tests/test-math-c++.cc: Check the declaration of log1pf.
18         * doc/posix-functions/log1pf.texi: Mention the new module.
19
20 2012-03-10  Bruno Haible  <bruno@clisp.org>
21
22         log1p tests: More tests.
23         * tests/test-log1p.h: New file.
24         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
25         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
26         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
27         (main): Invoke test_function.
28
29         log1p: Provide replacement for Minix and MSVC.
30         * lib/math.in.h (log1p): New declaration.
31         * lib/log1p.c: New file.
32         * m4/log1p.m4: New file.
33         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
34         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
35         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
36         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
37         (Depends-on): Add math, isnand, log, round.
38         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
39         HAVE_LOG1P is 0.
40         * tests/test-math-c++.cc: Check the declaration of log1p.
41         * doc/posix-functions/log1p.texi: Mention the replacement.
42
43 2012-03-10  Bruno Haible  <bruno@clisp.org>
44
45         math tests: Small simplification.
46         * tests/test-exp.h (test_function): Use the same err_bound for
47         'double' on platforms with sizeof (long double) == sizeof (double)
48         than on platforms with sizeof (long double) > sizeof (double).
49         * tests/test-exp2.h (test_function): Likewise.
50         * tests/test-expm1.h (test_function): Likewise.
51         * tests/test-log.h (test_function): Likewise.
52
53 2012-03-10  Bruno Haible  <bruno@clisp.org>
54
55         Fix some comments.
56         * lib/expl.c: Fix an ambiguous comment.
57         * lib/expm1.c: Likewise.
58         * lib/expm1l.c: Likewise.
59         * lib/exp2.c: Likewise.
60         * lib/exp2l.c: Likewise.
61
62 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
63
64         regex: allow inclusion of <regex.h> before <limits.h>
65         Without this patch, portable programs had to include <limits.h> before
66         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
67         I ran into this problem with a test version of GNU grep on Solaris 8.
68         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
69         This is done conditionally so that this change can be merged
70         back to glibc.
71         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
72         using the included regex.
73
74         fts: depend on fdopendir
75         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
76         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
77         problem was introduced when fdopendir was split out.
78
79 2012-03-10  Bruno Haible  <bruno@clisp.org>
80
81         Remove unused variables.
82         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
83         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
84
85 2012-03-10  Bruno Haible  <bruno@clisp.org>
86
87         isnanf-nolibm: Fix last commit.
88         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
89
90         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
91         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
92
93 2012-03-10  Bruno Haible  <bruno@clisp.org>
94
95         logf-ieee: Work around test failure on NetBSD 5.1.
96         * m4/logf-ieee.m4: New file.
97         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
98         whether logf works with a negative argument. Replace it if not.
99         * lib/logf.c (logf): For negative arguments, return NaN.
100         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
101         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
102         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
103
104         logf-ieee: Work around test failure on Solaris 9.
105         * modules/logf-ieee (Depends-on): Add log-ieee.
106         (configure.ac): Require gl_FUNC_LOGF.
107
108         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
109         * m4/log-ieee.m4: New file.
110         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
111         log works with a negative argument. Replace it if not.
112         * lib/log.c (log): For negative arguments, return NaN.
113         * modules/log-ieee (Files): Add m4/log-ieee.m4.
114         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
115         * doc/posix-functions/log.texi: Mention the log-ieee module.
116
117         Tests for module 'logl-ieee'.
118         * modules/logl-ieee-tests: New file.
119         * tests/test-logl-ieee.c: New file.
120
121         New module 'logl-ieee'.
122         * modules/logl-ieee: New file.
123
124         Tests for module 'log-ieee'.
125         * modules/log-ieee-tests: New file.
126         * tests/test-log-ieee.c: New file.
127
128         New module 'log-ieee'.
129         * modules/log-ieee: New file.
130
131         Tests for module 'logf-ieee'.
132         * modules/logf-ieee-tests: New file.
133         * tests/test-logf-ieee.c: New file.
134         * tests/test-log-ieee.h: New file.
135
136         New module 'logf-ieee'.
137         * modules/logf-ieee: New file.
138
139 2012-03-10  Bruno Haible  <bruno@clisp.org>
140
141         log: Fix bug introduced on 2012-03-09.
142         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
143
144 2012-03-10  Pádraig Brady  <P@draigBrady.com>
145
146         timer-time: link explicitly with pthreads on glibc
147         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
148         to support static linking, when newer glibc is
149         detected, as that contains pthread emulation of
150         POSIX timer functions where required.
151         * modules/timer-time: Depend on threadlib to
152         pull in the appropriate library to link.
153
154 2012-03-10  Bruno Haible  <bruno@clisp.org>
155
156         log* tests: More tests.
157         * tests/test-log.h: New file.
158         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
159         (main): Invoke test_function.
160         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
161         (main): Invoke test_function.
162         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
163         (main): Invoke test_function.
164         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
165         tests/randomd.c.
166         (Makefile.am): Add randomd.c to test_log_SOURCES.
167         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
168         tests/randomf.c.
169         (Makefile.am): Add randomf.c to test_logf_SOURCES.
170         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
171         tests/randoml.c.
172         (Depends-on): Add 'float'.
173         (Makefile.am): Add randoml.c to test_logl_SOURCES.
174
175 2012-03-09  Bruno Haible  <bruno@clisp.org>
176
177         logl: Work around OSF/1 5.1 bug.
178         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
179         * lib/logl.c (logl): If logf exists, use it and provide just the
180         workaround.
181         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
182         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
184         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
185         * modules/logl (configure.ac): Consider REPLACE_LOGL.
186         (Depends-on): Update conditions.
187         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
188
189 2012-03-09  Bruno Haible  <bruno@clisp.org>
190
191         logf: Work around OSF/1 5.1 bug.
192         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
193         * lib/logf.c (logf): If logf exists, use it and provide just the
194         workaround.
195         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
196         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
198         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
199         * modules/logf (configure.ac): Consider REPLACE_LOGF.
200         (Depends-on): Update conditions.
201         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
202
203 2012-03-09  Bruno Haible  <bruno@clisp.org>
204
205         log: Work around OSF/1 5.1 bug.
206         * lib/math.in.h (log): New declaration.
207         * lib/log.c: New file.
208         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
209         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
210         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
212         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
213         * modules/log (Files): Add lib/log.c.
214         (Depends-on): Add math.
215         (configure.ac): If REPLACE_LOG is 1, compile an override.
216         * tests/test-math-c++.cc: Check the declaration of log.
217         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
218
219 2012-03-09  Jim Meyering  <meyering@redhat.com>
220
221         readtokens.c: adjust wording in a comment
222         * lib/readtokens.c: Insert omitted "that" in a comment.
223
224 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
225
226         modechange: add notations +40, 00440, etc.
227         * lib/modechange.c (mode_compile): Support new notations
228         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
229
230 2012-03-08  Bruno Haible  <bruno@clisp.org>
231
232         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
233         * m4/exp2l-ieee.m4: New file.
234         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
235         test whether exp2l works with a NaN argument and with a negative
236         infinity argument. Replace it if not.
237         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
239         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
240         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
241         (Depends-on): Update conditions.
242         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
243         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
244         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
245
246         Tests for module 'exp2l-ieee'.
247         * modules/exp2l-ieee-tests: New file.
248         * tests/test-exp2l-ieee.c: New file.
249
250         New module 'exp2l-ieee'.
251         * modules/exp2l-ieee: New file.
252
253         Tests for module 'exp2-ieee'.
254         * modules/exp2-ieee-tests: New file.
255         * tests/test-exp2-ieee.c: New file.
256
257         New module 'exp2-ieee'.
258         * modules/exp2-ieee: New file.
259
260         Tests for module 'exp2f-ieee'.
261         * modules/exp2f-ieee-tests: New file.
262         * tests/test-exp2f-ieee.c: New file.
263         * tests/test-exp2-ieee.h: New file.
264
265         New module 'exp2f-ieee'.
266         * modules/exp2f-ieee: New file.
267
268 2012-03-08  Bruno Haible  <bruno@clisp.org>
269
270         Tests for module 'exp2l'.
271         * modules/exp2l-tests: New file.
272         * tests/test-exp2l.c: New file.
273
274         New module 'exp2l'.
275         * lib/math.in.h (exp2l): New declaration.
276         * lib/exp2l.c: New file.
277         * lib/expl-table.c: New file, extracted from lib/expl.c.
278         * lib/expl.c (gl_expl_table): New declaration.
279         (expl): Remove expl_table. Update reference.
280         * m4/exp2l.m4: New file.
281         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
282         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
283         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
284         * modules/exp2l: New file.
285         * modules/expl (Files): Add lib/expl-table.c.
286         (configure.ac): Compile also expl-table.c.
287         * tests/test-math-c++.cc: Check the declaration of exp2l.
288         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
289         problem.
290
291 2012-03-08  Bruno Haible  <bruno@clisp.org>
292
293         Tests for module 'exp2f'.
294         * modules/exp2f-tests: New file.
295         * tests/test-exp2f.c: New file.
296
297         New module 'exp2f'.
298         * lib/math.in.h (exp2f): New declaration.
299         * lib/exp2f.c: New file.
300         * m4/exp2f.m4: New file.
301         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
303         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
304         * modules/exp2f: New file.
305         * tests/test-math-c++.cc: Check the declaration of exp2f.
306         * doc/posix-functions/exp2f.texi: Mention the new module and the
307         IRIX problem.
308
309 2012-03-08  Bruno Haible  <bruno@clisp.org>
310
311         Tests for module 'exp2'.
312         * modules/exp2-tests: New file.
313         * tests/test-exp2.c: New file.
314         * tests/test-exp2.h: New file.
315
316         New module 'exp2'.
317         * lib/math.in.h (exp2): New declaration.
318         * lib/exp2.c: New file.
319         * m4/exp2.m4: New file.
320         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
322         REPLACE_EXP2.
323         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
324         REPLACE_EXP2.
325         * modules/exp2: New file.
326         * tests/test-math-c++.cc: Check the declaration of exp2.
327         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
328         and OpenBSD problems.
329
330 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
331
332         savedir: fix comment typo
333         * lib/savedir.c (savedirstream): Fix typo in comment.
334
335 2012-03-08  Bruno Haible  <bruno@clisp.org>
336
337         test-readtokens.c: use const; remove unwarranted cast
338         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
339
340 2012-03-08  Bruno Haible  <bruno@clisp.org>
341
342         fmal: Avoid compilation error on AIX.
343         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
344         AIX 5.2..7.1.
345
346 2012-03-08  Bruno Haible  <bruno@clisp.org>
347
348         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
349         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
350         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
351         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
352         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
353         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
354         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
355
356 2012-03-08  Bruno Haible  <bruno@clisp.org>
357
358         remainderf: Override buggy system function on IRIX 6.5.
359         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
360         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
361         when it exists.
362         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
363
364 2012-03-08  Jim Meyering  <meyering@redhat.com>
365
366         test-readtokens.c: avoid const-related compilation warnings
367         * tests/test-readtokens.c: Avoid const-related compilation warnings.
368
369 2012-03-07  Jim Meyering  <meyering@redhat.com>
370             Bruno Haible  <bruno@clisp.org>
371
372         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
373         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
374         tests/randomd.c.
375         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
376         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
377         tests/randoml.c.
378         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
379
380 2012-03-07  Bruno Haible  <bruno@clisp.org>
381
382         expm1l: Avoid compilation error on AIX.
383         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
384         AIX 5.2..7.1.
385
386 2012-03-07  Bruno Haible  <bruno@clisp.org>
387
388         expm1l: Don't override undeclared system function on IRIX 6.5.
389         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
390         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
391         it exists. Set HAVE_DECL_EXPM1L.
392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
393         HAVE_EXPM1L.
394         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
395         HAVE_EXPM1L.
396         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
397
398 2012-03-07  Bruno Haible  <bruno@clisp.org>
399
400         remainderl: Don't override undeclared system function on IRIX 6.5.
401         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
402         HAVE_REMAINDERL.
403         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
404         declared when it exists. Set HAVE_DECL_REMAINDERL.
405         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
406         not HAVE_REMAINDERL.
407         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
408         HAVE_REMAINDERL.
409         * doc/posix-functions/remainderl.texi: Mention missing declaration
410         problem.
411
412 2012-03-07  Bruno Haible  <bruno@clisp.org>
413
414         rintf: Don't override undeclared system function on IRIX 6.5.
415         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
416         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
417         exists. Set HAVE_DECL_RINTF.
418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
419         HAVE_RINTF.
420         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
421         HAVE_RINTF.
422         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
423
424 2012-03-07  Bruno Haible  <bruno@clisp.org>
425
426         roundl: Avoid compilation error on AIX.
427         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
428         AIX 5.2..7.1.
429
430 2012-03-07  Bruno Haible  <bruno@clisp.org>
431
432         roundl: Don't override undeclared system function on IRIX 6.5.
433         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
434         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
435         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
436         * modules/roundl (configure.ac): For replacement code, test
437         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
438         (Depends-on): Update conditions.
439         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
440
441 2012-03-07  Bruno Haible  <bruno@clisp.org>
442
443         roundf: Don't override undeclared system function on IRIX 6.5.
444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
445         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
446         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
447         * modules/roundf (configure.ac): For replacement code, test
448         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
449         (Depends-on): Update conditions.
450         * modules/roundf-ieee (Depends-on): Update conditions.
451         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
452
453 2012-03-07  Bruno Haible  <bruno@clisp.org>
454
455         round: Don't override undeclared system function on IRIX 6.5.
456         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
457         argument.
458         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
459         also when it is not declared. Set HAVE_ROUND. For replacement code,
460         test HAVE_ROUND, not HAVE_DECL_ROUND.
461         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
462         not HAVE_DECL_ROUND.
463         (Depends-on): Update conditions.
464         * modules/round-ieee (Depends-on): Update conditions.
465         * doc/posix-functions/round.texi: Mention the IRIX problem.
466
467 2012-03-07  Bruno Haible  <bruno@clisp.org>
468
469         copysignf: Don't override undeclared system function on IRIX 6.5.
470         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
471         HAVE_COPYSIGNF.
472         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
473         declared when it exists. Set HAVE_DECL_COPYSIGNF.
474         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
475         not HAVE_COPYSIGNF.
476         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
477         HAVE_COPYSIGNF.
478         * doc/posix-functions/copysignf.texi: Mention missing declaration
479         problem.
480
481 2012-03-07  Jim Meyering  <meyering@redhat.com>
482
483         readtokens: add tests
484         * modules/readtokens-tests: New file.
485         * tests/test-readtokens.c: New file.
486
487 2012-03-07  Jim Meyering  <meyering@redhat.com>
488
489         quotearg: the module must now include quote.h
490         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
491         So must the module.
492         * modules/quotearg (Files): Add quote.h.
493
494 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
495
496         readtokens: avoid core dumps with unusual calling patterns
497         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
498         * lib/readtokens.c: Include limits.h.
499         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
500         (readtoken): Don't cache the delimiters; the cache code was buggy
501         if !delim && saved_delim, or if the new n_delim differs from the old.
502         Also, it wasn't thread-safe.
503
504 2012-03-07  Bruno Haible  <bruno@clisp.org>
505
506         quote: Adhere to common module description layout.
507         * modules/quote (Makefile.am): Add back empty section.
508
509 2012-03-06  Akim Demaille  <demaille@gostai.com>
510
511         quote: fuse into quotearg
512         This patch is made for the benefit of Bison.
513         quote does not leave the choice of the quoting style to the user.
514         quoting_style provides poor customizability, yet quoting_options,
515         which is very rich, is hidden inside quotearg.c.  So in order to
516         allow quote customization, move its implementation to quotearg.c.
517         * lib/quote.c: Remove.
518         * modules/quote: Adjust.
519         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
520         warning: provide all the members of literal structs.
521         (quote_quoting_options): New.
522         (quote, quote_n): Import implementation from quote.c.
523         * lib/quote.h: Import the comments from quote.c.
524         (quote_quoting_options): New.
525
526 2012-03-06  Bruno Haible  <bruno@clisp.org>
527
528         Tests for module 'expm1l-ieee'.
529         * modules/expm1l-ieee-tests: New file.
530         * tests/test-expm1l-ieee.c: New file.
531
532         New module 'expm1l-ieee'.
533         * modules/expm1l-ieee: New file.
534
535         Tests for module 'expm1f-ieee'.
536         * modules/expm1f-ieee-tests: New file.
537         * tests/test-expm1f-ieee.c: New file.
538
539         New module 'expm1f-ieee'.
540         * modules/expm1f-ieee: New file.
541
542         Tests for module 'expm1-ieee'.
543         * modules/expm1-ieee-tests: New file.
544         * tests/test-expm1-ieee.c: New file.
545         * tests/test-expm1-ieee.h: New file.
546
547         New module 'expm1-ieee'.
548         * modules/expm1-ieee: New file.
549         * m4/expm1-ieee.m4: New file.
550         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
551         whether expm1 works with a minus zero argument. Replace it if not.
552         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
554         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
555         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
556         (Depends-on): Update conditions.
557         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
558         AIX problem.
559
560 2012-03-06  Bruno Haible  <bruno@clisp.org>
561
562         Work around expm1f bug on IRIX 6.5.
563         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
564         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
565         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
566         not work.
567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
568         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
569         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
570         (Depends-on): Update conditions.
571         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
572
573 2012-03-06  Bruno Haible  <bruno@clisp.org>
574
575         Tests for module 'expm1l'.
576         * modules/expm1l-tests: New file.
577         * tests/test-expm1l.c: New file.
578
579         New module 'expm1l'.
580         * lib/math.in.h (expm1l): New declaration.
581         * lib/expm1l.c: New file.
582         * m4/expm1l.m4: New file.
583         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
585         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
586         * modules/expm1l: New file.
587         * tests/test-math-c++.cc: Check the declaration of expm1l.
588         * doc/posix-functions/expm1l.texi: Mention the new module.
589
590 2012-03-06  Bruno Haible  <bruno@clisp.org>
591
592         Tests for module 'expm1f'.
593         * modules/expm1f-tests: New file.
594         * tests/test-expm1f.c: New file.
595
596         New module 'expm1f'.
597         * lib/math.in.h (expm1f): New declaration.
598         * lib/expm1f.c: New file.
599         * m4/expm1f.m4: New file.
600         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
602         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
603         * modules/expm1f: New file.
604         * tests/test-math-c++.cc: Check the declaration of expm1f.
605         * doc/posix-functions/expm1f.texi: Mention the new module.
606
607 2012-03-06  Bruno Haible  <bruno@clisp.org>
608
609         Tests for module 'expm1'.
610         * modules/expm1-tests: New file.
611         * tests/test-expm1.c: New file.
612         * tests/test-expm1.h: New file.
613
614         New module 'expm1'.
615         * lib/math.in.h (expm1): New declaration.
616         * lib/expm1.c: New file.
617         * m4/expm1.m4: New file.
618         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
620         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
621         * modules/expm1: New file.
622         * tests/test-math-c++.cc: Check the declaration of expm1.
623         * doc/posix-functions/expm1.texi: Mention the new module.
624
625 2012-03-06  Bruno Haible  <bruno@clisp.org>
626
627         math: Ensure declarations of math functions.
628         * modules/acosf (Depends-on): Add 'extensions'.
629         * modules/asinf (Depends-on): Likewise.
630         * modules/atan2f (Depends-on): Likewise.
631         * modules/atanf (Depends-on): Likewise.
632         * modules/cbrt (Depends-on): Likewise.
633         * modules/cbrtf (Depends-on): Likewise.
634         * modules/cbrtl (Depends-on): Likewise.
635         * modules/copysignf (Depends-on): Likewise.
636         * modules/copysignl (Depends-on): Likewise.
637         * modules/cosf (Depends-on): Likewise.
638         * modules/coshf (Depends-on): Likewise.
639         * modules/expf (Depends-on): Likewise.
640         * modules/fabsf (Depends-on): Likewise.
641         * modules/fabsl (Depends-on): Likewise.
642         * modules/fmaf (Depends-on): Likewise.
643         * modules/fmal (Depends-on): Likewise.
644         * modules/fmodf (Depends-on): Likewise.
645         * modules/fmodl (Depends-on): Likewise.
646         * modules/frexpf (Depends-on): Likewise.
647         * modules/frexpl (Depends-on): Likewise.
648         * modules/hypot (Depends-on): Likewise.
649         * modules/hypotf (Depends-on): Likewise.
650         * modules/hypotl (Depends-on): Likewise.
651         * modules/ldexpf (Depends-on): Likewise.
652         * modules/ldexpl (Depends-on): Likewise.
653         * modules/log10f (Depends-on): Likewise.
654         * modules/log10l (Depends-on): Likewise.
655         * modules/log1p (Depends-on): Likewise.
656         * modules/logb (Depends-on): Likewise.
657         * modules/logf (Depends-on): Likewise.
658         * modules/modff (Depends-on): Likewise.
659         * modules/modfl (Depends-on): Likewise.
660         * modules/powf (Depends-on): Likewise.
661         * modules/remainderf (Depends-on): Likewise.
662         * modules/remainderl (Depends-on): Likewise.
663         * modules/rintf (Depends-on): Likewise.
664         * modules/rintl (Depends-on): Likewise.
665         * modules/sinf (Depends-on): Likewise.
666         * modules/sinhf (Depends-on): Likewise.
667         * modules/sqrtf (Depends-on): Likewise.
668         * modules/tanf (Depends-on): Likewise.
669         * modules/tanhf (Depends-on): Likewise.
670         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
671         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
672         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
673         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
674         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
675         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
676         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
677         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
678         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
679         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
680         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
681         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
682         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
683         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
684         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
685         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
686         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
687         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
688         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
689         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
690         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
691         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
692         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
693         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
694         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
695         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
696         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
697         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
698         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
699         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
700         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
701         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
702         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
703         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
704         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
705         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
706         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
707         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
708         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
709         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
710         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
711
712 2012-03-06  Bruno Haible  <bruno@clisp.org>
713
714         math: Update module names in warnings.
715         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
716         tanl): Use specific module name in warn-on-use warning.
717
718 2012-03-06  Bruno Haible  <bruno@clisp.org>
719
720         expl: Simplify computation.
721         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
722
723 2012-03-05  Bruno Haible  <bruno@clisp.org>
724
725         exp* tests: More tests.
726         * tests/test-exp.h: New file.
727         * tests/test-exp.c: Include <float.h> and test-exp.h.
728         (main): Invoke test_function.
729         * tests/test-expf.c: Include <float.h> and test-exp.h.
730         (main): Invoke test_function.
731         * tests/test-expl.c: Include <float.h> and test-exp.h.
732         (main): Invoke test_function.
733         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
734         (Makefile.am): Add randomd.c to test_exp_SOURCES.
735         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
736         (Makefile.am): Add randomf.c to test_expf_SOURCES.
737         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
738         (Depends-on): Add 'float'.
739         (Makefile.am): Add randoml.c to test_expl_SOURCES.
740
741         expl: Fix precision of computed result.
742         * lib/expl.c: Completely rewritten.
743         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
744         (Maintainer): Add me.
745         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
746
747 2012-03-05  Bruno Haible  <bruno@clisp.org>
748
749         cbrt* tests: More tests.
750         * tests/test-cbrt.h: New file.
751         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
752         (main): Invoke test_function.
753         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
754         (main): Invoke test_function.
755         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
756         (main): Invoke test_function.
757         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
758         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
759         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
760         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
761         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
762         (Depends-on): Add 'float'.
763         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
764
765 2012-03-05  Bruno Haible  <bruno@clisp.org>
766
767         hypot* tests: More tests.
768         * tests/test-hypot.h: New file, partially extracted from
769         tests/test-hypotl.c.
770         * tests/test-hypot.c: Include test-hypot.h.
771         (main): Invoke test_function.
772         * tests/test-hypotf.c: Include test-hypot.h.
773         (main): Invoke test_function.
774         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
775         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
776         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
777         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
778         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
779         tests/randomf.c.
780         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
781         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
782         tests/randoml.c.
783         (Depends-on): Add 'fpucw', 'float'.
784         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
785
786 2012-03-05  Bruno Haible  <bruno@clisp.org>
787
788         fpucw: Doc about FreeBSD.
789         * lib/fpucw.h: Mention FreeBSD in comments.
790
791 2012-03-04  Bruno Haible  <bruno@clisp.org>
792
793         sqrt* tests: More tests.
794         * tests/test-sqrt.h: New file.
795         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
796         (main): Invoke test_function.
797         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
798         (main): Invoke test_function.
799         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
800         (main): Invoke test_function.
801         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
802         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
803         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
804         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
805         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
806         (Depends-on): Add 'float'.
807         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
808
809 2012-03-04  Bruno Haible  <bruno@clisp.org>
810
811         remainder* tests: More tests.
812         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
813         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
814         (main): Invoke test_function.
815         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
816         (main): Invoke test_function.
817         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
818         (main): Invoke test_function.
819         * modules/remainder-tests (Files): Add tests/test-remainder.h,
820         tests/randomd.c.
821         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
822         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
823         tests/randomf.c.
824         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
825         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
826         tests/randoml.c.
827         (Depends-on): Add 'float'.
828         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
829
830 2012-03-04  Bruno Haible  <bruno@clisp.org>
831
832         remainder, remainderf, remainderl: Fix computation for large quotients.
833         * lib/remainder.c: Completely rewritten.
834         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
835         USE_FLOAT.
836         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
837         USE_LONG_DOUBLE.
838         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
839         isnand, isinf. Remove round, fma.
840         * modules/remainderf (Files): Add lib/remainder.c.
841         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
842         Remove roundf, fmaf.
843         * modules/remainderl (Files): Add lib/remainder.c.
844         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
845         isinf. Remove roundl, fmal.
846         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
847         REMAINDER_LIBM.
848         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
849         REMAINDERF_LIBM.
850         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
851         REMAINDERL_LIBM.
852
853 2012-03-04  Bruno Haible  <bruno@clisp.org>
854
855         fmod* tests: More tests.
856         * tests/test-fmod.h (my_ldexp): New function.
857         (test_function): Reduce amount of random numbers to test. Add tests
858         of very large quotients x / y.
859         * tests/test-fmod.c (MAX_EXP): New macro.
860         * tests/test-fmodf.c (MAX_EXP): Likewise.
861         * tests/test-fmodl.c (MAX_EXP): Likewise.
862
863 2012-03-04  Bruno Haible  <bruno@clisp.org>
864
865         fmod, fmodl: Fix computation for large quotients x / y.
866         * lib/fmod.c: Completely rewritten.
867         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
868         USE_LONG_DOUBLE.
869         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
870         isnand. Remove fma.
871         * modules/fmodl (Files): Add lib/fmod.c.
872         (Depends-on): Add float, isfinite, signbit, fabsl,
873         frexpl, ldexpl, isnanl. Remove fma.
874         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
875         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
876
877 2012-03-03  Bruno Haible  <bruno@clisp.org>
878
879         fmod* tests: More tests.
880         * tests/test-fmod.h: New file.
881         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
882         (main): Invoke test_function.
883         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
884         (main): Invoke test_function.
885         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
886         (main): Invoke test_function.
887         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
888         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
889         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
890         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
891         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
892         (Depends-on): Add 'float'.
893         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
894
895 2012-03-03  Bruno Haible  <bruno@clisp.org>
896
897         rint* tests: More tests.
898         * tests/test-rint.h: New file, partially extracted from
899         tests/test-rintl.c.
900         * tests/test-rint.c: Include test-rint.h.
901         (main): Invoke test_function.
902         * tests/test-rintf.c: Include test-rint.h.
903         (main): Invoke test_function.
904         * tests/test-rintl.c: Include test-rint.h.
905         (main): Invoke test_function.
906         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
907         (Makefile.am): Add randomd.c to test_rint_SOURCES.
908         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
909         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
910         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
911         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
912
913 2012-03-03  Bruno Haible  <bruno@clisp.org>
914
915         modf* tests: More tests.
916         * tests/test-modf.h: New file.
917         * tests/test-modf.c: Include <float.h> and test-modf.h.
918         (main): Invoke test_function.
919         * tests/test-modff.c: Include <float.h> and test-modf.h.
920         (main): Invoke test_function.
921         * tests/test-modfl.c: Include <float.h> and test-modf.h.
922         (main): Invoke test_function.
923         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
924         (Makefile.am): Add randomd.c to test_modf_SOURCES.
925         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
926         (Makefile.am): Add randomf.c to test_modff_SOURCES.
927         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
928         (Depends-on): Add 'float'.
929         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
930
931 2012-03-03  Bruno Haible  <bruno@clisp.org>
932
933         fabs* tests: More tests.
934         * tests/test-fabs.h: New file, partially extracted from
935         tests/test-fabsl.c.
936         * tests/test-fabs.c (RANDOM): New macro.
937         * tests/test-fabsf.c (RANDOM): New macro.
938         * tests/test-fabsl.c (RANDOM): New macro.
939         * modules/fabs-tests (Files): Add tests/randomd.c.
940         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
941         * modules/fabsf-tests (Files): Add tests/randomf.c.
942         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
943         * modules/fabsl-tests (Files): Add tests/randoml.c.
944         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
945
946 2012-03-03  Bruno Haible  <bruno@clisp.org>
947
948         ldexp* tests: More tests.
949         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
950         * tests/test-ldexp.c (RANDOM): New macro.
951         * tests/test-ldexpf.c (RANDOM): New macro.
952         * tests/test-ldexpl.c (RANDOM): New macro.
953         * modules/ldexp-tests (Files): Add tests/randomd.c.
954         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
955         * modules/ldexpf-tests (Files): Add tests/randomf.c.
956         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
957         * modules/ldexpl-tests (Files): Add tests/randoml.c.
958         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
959
960 2012-03-03  Bruno Haible  <bruno@clisp.org>
961
962         frexp* tests: More tests.
963         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
964         * tests/test-frexp.c (RANDOM): New macro.
965         * tests/test-frexpf.c (RANDOM): New macro.
966         * tests/test-frexpl.c (RANDOM): New macro.
967         * modules/frexp-tests (Files): Add tests/randomd.c.
968         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
969         * modules/frexpf-tests (Files): Add tests/randomf.c.
970         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
971         * modules/frexpl-tests (Files): Add tests/randoml.c.
972         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
973
974 2012-03-03  Bruno Haible  <bruno@clisp.org>
975
976         Support for pseudo-random numbers in tests.
977         * tests/randomf.c: New file.
978         * tests/randomd.c: New file.
979         * tests/randoml.c: New file.
980         * tests/macros.h (randomf, randomd, randoml): New declarations.
981
982 2012-03-03  Bruno Haible  <bruno@clisp.org>
983
984         frexp* tests: Refactor.
985         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
986         * tests/test-frexp.c: Include and use it.
987         * tests/test-frexpf.c: Likewise.
988         * tests/test-frexpl.c: Likewise.
989         * modules/frexp-tests (Files): Add tests/test-frexp.h.
990         * modules/frexpf-tests (Files): Likewise.
991         * modules/frexpl-tests (Files): Likewise.
992
993 2012-03-02  Jim Meyering  <meyering@redhat.com>
994
995         maint: don't specify XZ_OPT=-9ev in dist-related rule
996         Using xz's -9 option is warranted only if you have a very large
997         tarball (see xz's documentation for the sizes vs. presets), and
998         requires 64MiB of memory at decompression time.
999         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1000         Automake's default of just "-e" is fine.  Override on a
1001         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1002
1003 2012-03-01  Eric Blake  <eblake@redhat.com>
1004
1005         maint.mk: allow announcement for non-gnulib project
1006         * maint.mk (announcement): Skip gnulib version if not used.
1007
1008 2012-03-01  Jim Meyering  <meyering@redhat.com>
1009
1010         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1011         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1012         envvar settings cannot interfere.  Otherwise, setting envvars like
1013         prohibit=foo require=bar, etc. would cause spurious test failures.
1014
1015 2012-03-01  Eric Blake  <eblake@redhat.com>
1016
1017         maint.mk: add per-line exclusions to prohibitions
1018         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1019         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1020         (sc_const_long_option): Use it.
1021
1022 2012-03-01  Bruno Haible  <bruno@clisp.org>
1023
1024         Tests for module 'expl-ieee'.
1025         * modules/expl-ieee-tests: New file.
1026         * tests/test-expl-ieee.c: New file.
1027
1028         New module 'expl-ieee'.
1029         * modules/expl-ieee: New file.
1030
1031         Tests for module 'exp-ieee'.
1032         * modules/exp-ieee-tests: New file.
1033         * tests/test-exp-ieee.c: New file.
1034
1035         New module 'exp-ieee'.
1036         * modules/exp-ieee: New file.
1037
1038         Tests for module 'expf-ieee'.
1039         * modules/expf-ieee-tests: New file.
1040         * tests/test-expf-ieee.c: New file.
1041         * tests/test-exp-ieee.h: New file.
1042
1043         New module 'expf-ieee'.
1044         * modules/expf-ieee: New file.
1045
1046 2012-02-29  Bruno Haible  <bruno@clisp.org>
1047
1048         cbrtl-ieee: Work around test failure on IRIX 6.5.
1049         * m4/cbrtl-ieee.m4: New file.
1050         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1051         test whether cbrtl works with a minus zero argument. Replace it if not.
1052         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1054         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1055         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1056         (Depends-on): Update conditions.
1057         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1058         m4/signbit.m4.
1059         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1060         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1061         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1062
1063         Tests for module 'cbrtl-ieee'.
1064         * modules/cbrtl-ieee-tests: New file.
1065         * tests/test-cbrtl-ieee.c: New file.
1066
1067         New module 'cbrtl-ieee'.
1068         * modules/cbrtl-ieee: New file.
1069
1070         Tests for module 'cbrt-ieee'.
1071         * modules/cbrt-ieee-tests: New file.
1072         * tests/test-cbrt-ieee.c: New file.
1073
1074         New module 'cbrt-ieee'.
1075         * modules/cbrt-ieee: New file.
1076
1077         Tests for module 'cbrtf-ieee'.
1078         * modules/cbrtf-ieee-tests: New file.
1079         * tests/test-cbrtf-ieee.c: New file.
1080         * tests/test-cbrt-ieee.h: New file.
1081
1082         New module 'cbrtf-ieee'.
1083         * modules/cbrtf-ieee: New file.
1084
1085 2012-02-29  Bruno Haible  <bruno@clisp.org>
1086
1087         cbrtf: Work around bug in IRIX 6.5 system function.
1088         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1089         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1090         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1091         work.
1092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1093         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1094         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1095         (Depends-on): Update conditions.
1096         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1097
1098 2012-02-29  Bruno Haible  <bruno@clisp.org>
1099
1100         Tests for module 'cbrtl'.
1101         * modules/cbrtl-tests: New file.
1102         * tests/test-cbrtl.c: New file.
1103
1104         New module 'cbrtl'.
1105         * lib/math.in.h (cbrtl): New declaration.
1106         * lib/cbrtl.c: New file.
1107         * m4/cbrtl.m4: New file.
1108         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1109         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1110         HAVE_DECL_CBRTL.
1111         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1112         HAVE_DECL_CBRTL.
1113         * modules/cbrtl: New file.
1114         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1115         * doc/posix-functions/cbrtl.texi: Mention the new module.
1116
1117 2012-02-29  Bruno Haible  <bruno@clisp.org>
1118
1119         Tests for module 'cbrtf'.
1120         * modules/cbrtf-tests: New file.
1121         * tests/test-cbrtf.c: New file.
1122
1123         New module 'cbrtf'.
1124         * lib/math.in.h (cbrtf): New declaration.
1125         * lib/cbrtf.c: New file.
1126         * m4/cbrtf.m4: New file.
1127         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1129         HAVE_DECL_CBRTF.
1130         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1131         HAVE_DECL_CBRTF.
1132         * modules/cbrtf: New file.
1133         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1134         * doc/posix-functions/cbrtf.texi: Mention the new module.
1135
1136 2012-02-29  Bruno Haible  <bruno@clisp.org>
1137
1138         cbrt: Provide replacement on MSVC and Minix.
1139         * lib/math.in.h (cbrt): New declaration.
1140         * lib/cbrt.c: New file.
1141         * m4/cbrt.m4: New file.
1142         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1144         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1145         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1146         (Depends-on): Add dependencies.
1147         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1148         * tests/test-math-c++.cc: Check the declaration of cbrt.
1149         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1150         replacement.
1151
1152 2012-02-29  Bruno Haible  <bruno@clisp.org>
1153
1154         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1155         * m4/hypotl-ieee.m4: New file.
1156         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1157         test whether hypotl works with mixed NaN and Infinity arguments.
1158         Replace it if not.
1159         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1161         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1162         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1163         (Depends-on): Update conditions.
1164         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1165         (Depends-on): Add hypot-ieee.
1166         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1167         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1168
1169         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1170         * m4/hypotf-ieee.m4: New file.
1171         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1172         test whether hypotf works with mixed NaN and Infinity arguments.
1173         Replace it if not.
1174         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1175         (Depends-on): Add hypot-ieee.
1176         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1177         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1178
1179         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1180         * lib/math.in.h (hypot): New declaration.
1181         * lib/hypot.c: New file.
1182         * m4/hypot-ieee.m4: New file.
1183         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1184         whether hypot works with mixed NaN and Infinity arguments. Replace it
1185         if not.
1186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1187         REPLACE_HYPOT.
1188         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1189         * modules/hypot (Files): Add lib/hypot.c.
1190         (Depends-on): Add dependencies.
1191         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1192         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1193         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1194         * tests/test-math-c++.cc: Check the declaration of hypot.
1195         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1196
1197         Tests for module 'hypotl-ieee'.
1198         * modules/hypotl-ieee-tests: New file.
1199         * tests/test-hypotl-ieee.c: New file.
1200
1201         New module 'hypotl-ieee'.
1202         * modules/hypotl-ieee: New file.
1203
1204         Tests for module 'hypot-ieee'.
1205         * modules/hypot-ieee-tests: New file.
1206         * tests/test-hypot-ieee.c: New file.
1207
1208         New module 'hypot-ieee'.
1209         * modules/hypot-ieee: New file.
1210
1211         Tests for module 'hypotf-ieee'.
1212         * modules/hypotf-ieee-tests: New file.
1213         * tests/test-hypotf-ieee.c: New file.
1214         * tests/test-hypot-ieee.h: New file.
1215
1216         New module 'hypotf-ieee'.
1217         * modules/hypotf-ieee: New file.
1218
1219 2012-02-29  Bruno Haible  <bruno@clisp.org>
1220
1221         Remove unused variables.
1222         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1223         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1224         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1225         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1226
1227 2012-02-29  Eric Blake  <eblake@redhat.com>
1228
1229         termios: fix pid_t always, not just for tcgetsid
1230         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1231         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1232         just when building tcgetsid.
1233
1234 2012-02-29  Bruno Haible  <bruno@clisp.org>
1235
1236         Tests for module 'hypotl'.
1237         * modules/hypotl-tests: New file.
1238         * tests/test-hypotl.c: New file.
1239
1240         New module 'hypotl'.
1241         * lib/math.in.h (hypotl): New declaration.
1242         * lib/hypotl.c: New file.
1243         * m4/hypotl.m4: New file.
1244         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1245         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1246         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1247         * modules/hypotl: New file.
1248         * tests/test-math-c++.cc: Check the hypotl declaration.
1249         * doc/posix-functions/hypotl.texi: Mention the new module.
1250
1251 2012-02-29  Eric Blake  <eblake@redhat.com>
1252
1253         tcgetsid: fix cygwin header bug
1254         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1255
1256         docs: update cygwin progress
1257         * doc/posix-functions/llround.texi (llround): Added in cygwin
1258         1.7.8.
1259         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1260         * doc/glibc-functions/program_invocation_name.texi
1261         (program_invocation_name): Likewise.
1262         * doc/glibc-functions/program_invocation_short_name.texi
1263         (program_invocation_short_name): Likewise.
1264         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1265         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1266         Likewise.
1267         * doc/posix-functions/pthread_spin_destroy.texi
1268         (pthread_spin_destroy): Added in cygwin 1.7.10.
1269         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1270         Likewise.
1271         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1272         Likewise.
1273         * doc/posix-functions/pthread_spin_trylock.texi
1274         (pthread_spin_trylock): Likewise.
1275         * doc/posix-functions/pthread_spin_unlock.texi
1276         (pthread_spin_unlock): Likewise.
1277         * doc/posix-functions/pthread_setschedprio.texi
1278         (pthread_setschedprio): Likewise.
1279         * doc/posix-functions/pthread_attr_getstack.texi
1280         (pthread_attr_getstack): Likewise.
1281         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1282         (pthread_attr_getstackaddr): Likewise.
1283         * doc/glibc-functions/pthread_getattr_np.texi
1284         (pthread_getattr_np): Likewise.
1285         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1286         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1287         * doc/posix-functions/clock_settime.texi (clock_settime):
1288         Likewise.
1289         * doc/posix-functions/pthread_attr_getguardsize.texi
1290         (pthread_attr_getguardsize): Likewise.
1291         * doc/posix-functions/pthread_attr_setguardsize.texi
1292         (pthread_attr_setguardsize): Likewise.
1293         * doc/posix-functions/pthread_attr_setstack.texi
1294         (pthread_attr_setstack): Likewise.
1295         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1296         (pthread_attr_setstackaddr): Likewise.
1297         * doc/posix-functions/clock_getcpuclockid.texi
1298         (clock_getcpuclockid): Likewise.
1299         * doc/posix-functions/pthread_getcpuclockid.texi
1300         (pthread_getcpuclockid): Likewise.
1301         * doc/glibc-functions/error.texi (error): Likewise.
1302         * doc/glibc-functions/error_at_line.texi (error_at_line):
1303         Likewise.
1304         * doc/glibc-functions/error_message_count.texi
1305         (error_message_count): Likewise.
1306         * doc/glibc-functions/error_one_per_line.texi
1307         (error_one_per_line): Likewise.
1308         * doc/glibc-functions/error_print_progname.texi
1309         (error_print_progname): Likewise.
1310         * doc/posix-functions/pthread_condattr_getclock.texi
1311         (pthread_condattr_getclock): Likewise.
1312         * doc/posix-functions/pthread_condattr_setclock.texi
1313         (pthread_condattr_setclock): Likewise.
1314         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1315         Likewise.
1316         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1317         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1318         * doc/glibc-functions/get_current_dir_name.texi
1319         (get_current_dir_name): Likewise.
1320         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1321         Likewise.
1322         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1323         wrong return type.
1324         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1325         1.7.11.
1326
1327 2012-02-29  Bruno Haible  <bruno@clisp.org>
1328
1329         Tests for module 'hypotf'.
1330         * modules/hypotf-tests: New file.
1331         * tests/test-hypotf.c: New file.
1332
1333         New module 'hypotf'.
1334         * lib/math.in.h (hypotf): New declaration.
1335         * lib/hypotf.c: New file.
1336         * m4/hypotf.m4: New file.
1337         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1339         REPLACE_HYPOTF.
1340         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1341         REPLACE_HYPOTF.
1342         * modules/hypotf: New file.
1343         * tests/test-math-c++.cc: Check the hypotf declaration.
1344         * doc/posix-functions/hypotf.texi: Mention the new module.
1345
1346         hypot: Prepare for hypotf module.
1347         * m4/hypot.m4: New file.
1348         * modules/hypot (Files): Add m4/hypot.m4.
1349         (configure.ac): Invoke gl_FUNC_HYPOT.
1350
1351 2012-02-29  Bruno Haible  <bruno@clisp.org>
1352
1353         hypot tests: More tests.
1354         * tests/test-hypot.c: Include <float.h>.
1355         (main): Add tests about overflow and underflow.
1356
1357 2012-02-29  Bruno Haible  <bruno@clisp.org>
1358
1359         math code: Add comments.
1360         * lib/acosl.c: Add comment about related glibc source files.
1361         * lib/asinl.c: Likewise.
1362         * lib/atanl.c: Likewise.
1363         * lib/expl.c: Likewise.
1364         * lib/logl.c: Likewise.
1365         * lib/sincosl.c: Likewise.
1366         * lib/sinl.c: Likewise.
1367         * lib/tanl.c: Likewise.
1368         * lib/trigl.c: Likewise.
1369         * lib/cosl.c: Likewise. Fix comments.
1370
1371 2012-02-28  Bruno Haible  <bruno@clisp.org>
1372
1373         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1374         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1375         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1376         HUGE_VALL are defined.
1377         (numeric_equald): Renamed from numeric_equal.
1378         (numeric_equalf, numeric_equall): New functions.
1379         (main): Check also HUGE_VALF, HUGE_VALL.
1380         * modules/math-tests (Files): Add tests/macros.h.
1381         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1382         HUGE_VALL.
1383
1384 2012-02-28  Bruno Haible  <bruno@clisp.org>
1385
1386         doc: Move ISO C11 feature notes into POSIX chapters.
1387         * doc/posix-functions/aligned_alloc.texi: Renamed from
1388         doc/glibc-functions/aligned_alloc.texi.
1389         * doc/posix-functions/quick_exit.texi: Renamed from
1390         doc/glibc-functions/quick_exit.texi.
1391         * doc/posix-headers/uchar.texi: Renamed from
1392         doc/glibc-headers/uchar.texi.
1393         * doc/posix-functions/c16rtomb.texi: Renamed from
1394         doc/glibc-functions/c16rtomb.texi.
1395         * doc/posix-functions/c32rtomb.texi: Renamed from
1396         doc/glibc-functions/c32rtomb.texi.
1397         * doc/posix-functions/mbrtoc16.texi: Renamed from
1398         doc/glibc-functions/mbrtoc16.texi.
1399         * doc/posix-functions/mbrtoc32.texi: Renamed from
1400         doc/glibc-functions/mbrtoc32.texi.
1401         * doc/gnulib.texi: Update.
1402         (Glibc uchar.h): Remove section.
1403         Suggested by Eric Blake.
1404
1405 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1406
1407         stdnoreturn: port to MSVC better
1408         MSVC standard headers use __declspec(noreturn), so #define noreturn
1409         to empty on that platform.  Reported by Bruno Haible in
1410         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1411         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1412         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1413
1414 2012-02-28  Bruno Haible  <bruno@clisp.org>
1415
1416         doc: Mention new glibc headers and functions.
1417         * doc/glibc-headers/uchar.texi: New file.
1418         * doc/glibc-functions/aligned_alloc.texi: New file.
1419         * doc/glibc-functions/c16rtomb.texi: New file.
1420         * doc/glibc-functions/c32rtomb.texi: New file.
1421         * doc/glibc-functions/clock_adjtime.texi: New file.
1422         * doc/glibc-functions/fanotify_init.texi: New file.
1423         * doc/glibc-functions/fanotify_mark.texi: New file.
1424         * doc/glibc-functions/inet6_opt_append.texi: New file.
1425         * doc/glibc-functions/inet6_opt_find.texi: New file.
1426         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1427         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1428         * doc/glibc-functions/inet6_opt_init.texi: New file.
1429         * doc/glibc-functions/inet6_opt_next.texi: New file.
1430         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1431         * doc/glibc-functions/inet6_rth_add.texi: New file.
1432         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1433         * doc/glibc-functions/inet6_rth_init.texi: New file.
1434         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1435         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1436         * doc/glibc-functions/inet6_rth_space.texi: New file.
1437         * doc/glibc-functions/login.texi: New file.
1438         * doc/glibc-functions/mbrtoc16.texi: New file.
1439         * doc/glibc-functions/mbrtoc32.texi: New file.
1440         * doc/glibc-functions/name_to_handle_at.texi: New file.
1441         * doc/glibc-functions/ntp_gettimex.texi: New file.
1442         * doc/glibc-functions/open_by_handle_at.texi: New file.
1443         * doc/glibc-functions/prlimit.texi: New file.
1444         * doc/glibc-functions/process_vm_readv.texi: New file.
1445         * doc/glibc-functions/process_vm_writev.texi: New file.
1446         * doc/glibc-functions/recvmmsg.texi: New file.
1447         * doc/glibc-functions/scandirat.texi: New file.
1448         * doc/glibc-functions/sendmmsg.texi: New file.
1449         * doc/glibc-functions/setns.texi: New file.
1450         * doc/glibc-functions/timespec_get.texi: New file.
1451         * doc/gnulib.texi: Include them.
1452         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1453         sections.
1454         Reported by Eric Blake.
1455
1456 2012-02-28  Bruno Haible  <bruno@clisp.org>
1457
1458         Avoid compilation errors with MSVC option -fp:strict.
1459         * lib/floor.c: Use MSVC specific pragma fenv_access.
1460         * lib/ceil.c: Likewise.
1461         * lib/trunc.c: Likewise.
1462         * lib/round.c: Likewise.
1463         * lib/rint.c: Likewise.
1464         * lib/fma.c: Likewise.
1465         * lib/integer_length.c: Likewise.
1466         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1467         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1468         * tests/test-floor2.c: Likewise.
1469         * tests/test-floorf2.c: Likewise.
1470         * tests/test-ceil2.c: Likewise.
1471         * tests/test-ceilf2.c: Likewise.
1472         * tests/test-trunc2.c: Likewise.
1473         * tests/test-truncf2.c: Likewise.
1474         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1475
1476 2012-02-27  Bruno Haible  <bruno@clisp.org>
1477
1478         Tests for module 'sqrtl-ieee'.
1479         * modules/sqrtl-ieee-tests: New file.
1480         * tests/test-sqrtl-ieee.c: New file.
1481
1482         New module 'sqrtl-ieee'.
1483         * modules/sqrtl-ieee: New file.
1484
1485         Tests for module 'sqrt-ieee'.
1486         * modules/sqrt-ieee-tests: New file.
1487         * tests/test-sqrt-ieee.c: New file.
1488
1489         New module 'sqrt-ieee'.
1490         * modules/sqrt-ieee: New file.
1491
1492         Tests for module 'sqrtf-ieee'.
1493         * modules/sqrtf-ieee-tests: New file.
1494         * tests/test-sqrtf-ieee.c: New file.
1495         * tests/test-sqrt-ieee.h: New file.
1496
1497         New module 'sqrtf-ieee'.
1498         * modules/sqrtf-ieee: New file.
1499
1500 2012-02-27  Bruno Haible  <bruno@clisp.org>
1501
1502         remainderl-ieee: Work around test failure on OSF/1.
1503         * m4/remainderl-ieee.m4: New file.
1504         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1505         present, test whether remainderl works with a zero second argument.
1506         Replace it if not.
1507         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1509         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1510         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1511         (Depends-on): Update conditions.
1512         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1513         (Depends-on): Add remainder-ieee.
1514         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1515         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1516         module.
1517
1518         remainderf-ieee: Work around test failure on OSF/1.
1519         * m4/remainderf-ieee.m4: New file.
1520         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1521         present, test whether remainderf works with a zero second argument.
1522         Replace it if not.
1523         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1525         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1526         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1527         (Depends-on): Update conditions.
1528         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1529         (Depends-on): Add remainder-ieee.
1530         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1531         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1532         module.
1533
1534         remainder-ieee: Work around test failure on OSF/1.
1535         * m4/remainder-ieee.m4: New file.
1536         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1537         present, test whether remainder works with a zero second argument.
1538         Replace it if not.
1539         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1541         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1542         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1543         (Depends-on): Update dependencies.
1544         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1545         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1546         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1547
1548         Tests for module 'remainderl-ieee'.
1549         * modules/remainderl-ieee-tests: New file.
1550         * tests/test-remainderl-ieee.c: New file.
1551
1552         New module 'remainderl-ieee'.
1553         * modules/remainderl-ieee: New file.
1554
1555         Tests for module 'remainder-ieee'.
1556         * modules/remainder-ieee-tests: New file.
1557         * tests/test-remainder-ieee.c: New file.
1558
1559         New module 'remainder-ieee'.
1560         * modules/remainder-ieee: New file.
1561
1562         Tests for module 'remainderf-ieee'.
1563         * modules/remainderf-ieee-tests: New file.
1564         * tests/test-remainderf-ieee.c: New file.
1565         * tests/test-remainder-ieee.h: New file.
1566
1567         New module 'remainderf-ieee'.
1568         * modules/remainderf-ieee: New file.
1569
1570 2012-02-27  Bruno Haible  <bruno@clisp.org>
1571
1572         modff, modfl: Fix configure syntax error.
1573         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1574         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1575
1576 2012-02-27  Bruno Haible  <bruno@clisp.org>
1577
1578         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1579         * m4/fmodl-ieee.m4: New file.
1580         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1581         whether fmodl works with zero arguments. Replace it if not.
1582         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1583         (Depends-on): Add fmod-ieee.
1584         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1585         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1586
1587         fmodf-ieee: Work around test failure on OSF/1.
1588         * m4/fmodf-ieee.m4: New file.
1589         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1590         whether fmodf works with zero arguments. Replace it if not.
1591         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1592         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1593         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1594         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1595         (Depends-on): Update dependencies.
1596         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1597         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1598         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1599
1600         fmodf-ieee: Work around test failure on MSVC 9.
1601         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1602         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1603
1604         fmod-ieee: Work around test failures on OSF/1, mingw.
1605         * m4/fmod-ieee.m4: New file.
1606         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1607         whether fmod works with zero arguments. Replace it if not.
1608         * lib/math.in.h (fmod): New declaration.
1609         * lib/fmod.c: New file.
1610         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1611         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1612         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1613         * modules/fmod (Files): Add lib/fmod.c.
1614         (Depends-on): Add math, isinf, trunc, fma.
1615         (configure.ac): Arrange to compile lib/fmod.c if needed.
1616         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1617         m4/signbit.m4.
1618         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1619         * tests/test-math-c++.cc: Check the declaration of fmod.
1620         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1621
1622         fmodl-ieee: Fix test failures.
1623         * lib/fmodl.c (fmodl): Treat Inf specially.
1624         * modules/fmodl (Depends-on): Add isinf.
1625
1626         Tests for module 'fmodl-ieee'.
1627         * modules/fmodl-ieee-tests: New file.
1628         * tests/test-fmodl-ieee.c: New file.
1629
1630         New module 'fmodl-ieee'.
1631         * modules/fmodl-ieee: New file.
1632
1633         Tests for module 'fmod-ieee'.
1634         * modules/fmod-ieee-tests: New file.
1635         * tests/test-fmod-ieee.c: New file.
1636
1637         New module 'fmod-ieee'.
1638         * modules/fmod-ieee: New file.
1639
1640         Tests for module 'fmodf-ieee'.
1641         * modules/fmodf-ieee-tests: New file.
1642         * tests/test-fmodf-ieee.c: New file.
1643         * tests/test-fmod-ieee.h: New file.
1644
1645         New module 'fmodf-ieee'.
1646         * modules/fmodf-ieee: New file.
1647
1648 2012-02-27  Bruno Haible  <bruno@clisp.org>
1649
1650         Tests for module 'rintl-ieee'.
1651         * modules/rintl-ieee-tests: New file.
1652         * tests/test-rintl-ieee.c: New file.
1653
1654         New module 'rintl-ieee'.
1655         * modules/rintl-ieee: New file.
1656
1657         Tests for module 'rint-ieee'.
1658         * modules/rint-ieee-tests: New file.
1659         * tests/test-rint-ieee.c: New file.
1660
1661         New module 'rint-ieee'.
1662         * modules/rint-ieee: New file.
1663
1664         Tests for module 'rintf-ieee'.
1665         * modules/rintf-ieee-tests: New file.
1666         * tests/test-rintf-ieee.c: New file.
1667         * tests/test-rint-ieee.h: New file.
1668
1669         New module 'rintf-ieee'.
1670         * modules/rintf-ieee: New file.
1671
1672 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1673
1674         regex: re_search etc. should return -2 when memory exhausted
1675         This bug was uncovered when testing 'grep'.  Without the fix,
1676         re_search and friends return -1 when memory is exhausted, but -1
1677         means no match, and this causes grep to falsely report no-match
1678         instead of memory-exhaustion.  See
1679         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1680         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1681         trouble; this can occur if re_search_internal ran out of memory.
1682
1683 2012-02-26  Bruno Haible  <bruno@clisp.org>
1684
1685         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1686         * m4/modfl-ieee.m4: New file.
1687         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1688         whether modfl works with Inf. Replace it if not.
1689         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1691         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1692         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1693         (Depends-on): Update dependencies.
1694         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1695         m4/signbit.m4.
1696         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1697         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1698
1699         modfl-ieee: Fix dependencies.
1700         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1701
1702         modfl-ieee: Fix test failures.
1703         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1704         * modules/modfl (Depends-on): Add isfinite, isinf.
1705
1706         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1707         * m4/modff-ieee.m4: New file.
1708         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1709         whether modff works with NaN and Inf. Replace it if not.
1710         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1712         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1713         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1714         (Depends-on): Update dependencies.
1715         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1716         m4/signbit.m4.
1717         (Depends-on): Add modf-ieee.
1718         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1719         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1720
1721         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1722         * m4/modf-ieee.m4: New file.
1723         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1724         whether modf works with NaN and Inf. Replace it if not.
1725         * lib/math.in.h (modf): New declaration.
1726         * lib/modf.c: New file.
1727         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1728         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1729         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1730         * modules/modf (Files): Add lib/modf.c.
1731         (Depends-on): Add math, isfinite, trunc, isinf.
1732         (configure.ac): Addrange to compile lib/modf.c if needed.
1733         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1734         m4/signbit.m4.
1735         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1736         * tests/test-math-c++.cc: Check the declaration of modf.
1737         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1738
1739         Tests for module 'modfl-ieee'.
1740         * modules/modfl-ieee-tests: New file.
1741         * tests/test-modfl-ieee.c: New file.
1742
1743         New module 'modfl-ieee'.
1744         * modules/modfl-ieee: New file.
1745
1746         Tests for module 'modf-ieee'.
1747         * modules/modf-ieee-tests: New file.
1748         * tests/test-modf-ieee.c: New file.
1749
1750         New module 'modf-ieee'.
1751         * modules/modf-ieee: New file.
1752
1753         Tests for module 'modff-ieee'.
1754         * modules/modff-ieee-tests: New file.
1755         * tests/test-modff-ieee.c: New file.
1756         * tests/test-modf-ieee.h: New file.
1757
1758         New module 'modff-ieee'.
1759         * modules/modff-ieee: New file.
1760
1761 2012-02-26  Bruno Haible  <bruno@clisp.org>
1762
1763         Tests for module 'fabsl-ieee'.
1764         * modules/fabsl-ieee-tests: New file.
1765         * tests/test-fabsl-ieee.c: New file.
1766
1767         New module 'fabsl-ieee'.
1768         * modules/fabsl-ieee: New file.
1769
1770         Tests for module 'fabs-ieee'.
1771         * modules/fabs-ieee-tests: New file.
1772         * tests/test-fabs-ieee.c: New file.
1773
1774         New module 'fabs-ieee'.
1775         * modules/fabs-ieee: New file.
1776
1777         Tests for module 'fabsf-ieee'.
1778         * modules/fabsf-ieee-tests: New file.
1779         * tests/test-fabsf-ieee.c: New file.
1780         * tests/test-fabs-ieee.h: New file.
1781
1782         New module 'fabsf-ieee'.
1783         * modules/fabsf-ieee: New file.
1784
1785 2012-02-26  Bruno Haible  <bruno@clisp.org>
1786
1787         Tests for module 'fmal-ieee'.
1788         * modules/fmal-ieee-tests: New file.
1789         * tests/test-fmal-ieee.c: New file.
1790
1791         New module 'fmal-ieee'.
1792         * modules/fmal-ieee: New file.
1793
1794         Tests for module 'fma-ieee'.
1795         * modules/fma-ieee-tests: New file.
1796         * tests/test-fma-ieee.c: New file.
1797
1798         New module 'fma-ieee'.
1799         * modules/fma-ieee: New file.
1800
1801         Tests for module 'fmaf-ieee'.
1802         * modules/fmaf-ieee-tests: New file.
1803         * tests/test-fmaf-ieee.c: New file.
1804         * tests/test-fma-ieee.h: New file.
1805
1806         New module 'fmaf-ieee'.
1807         * modules/fmaf-ieee: New file.
1808
1809 2012-02-26  Bruno Haible  <bruno@clisp.org>
1810
1811         Tests for module 'ldexpl-ieee'.
1812         * modules/ldexpl-ieee-tests: New file.
1813         * tests/test-ldexpl-ieee.c: New file.
1814
1815         New module 'ldexpl-ieee'.
1816         * modules/ldexpl-ieee: New file.
1817
1818         Tests for module 'ldexp-ieee'.
1819         * modules/ldexp-ieee-tests: New file.
1820         * tests/test-ldexp-ieee.c: New file.
1821
1822         New module 'ldexp-ieee'.
1823         * modules/ldexp-ieee: New file.
1824
1825         Tests for module 'ldexpf-ieee'.
1826         * modules/ldexpf-ieee-tests: New file.
1827         * tests/test-ldexpf-ieee.c: New file.
1828         * tests/test-ldexp-ieee.h: New file.
1829
1830         New module 'ldexpf-ieee'.
1831         * modules/ldexpf-ieee: New file.
1832
1833 2012-02-26  Bruno Haible  <bruno@clisp.org>
1834
1835         Refactor frexp*-ieee tests.
1836         * tests/test-frexp-ieee.h: New file.
1837         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1838         (main): Just call test_function.
1839         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1840         (main): Just call test_function.
1841         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1842         (main): Just call test_function.
1843         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1844         * modules/frexp-ieee-tests (Files): Likewise.
1845         * modules/frexpl-ieee-tests (Files): Likewise.
1846
1847         Tests for module 'frexpl-ieee'.
1848         * modules/frexpl-ieee-tests: New file.
1849         * tests/test-frexpl-ieee.c: New file.
1850
1851         New module 'frexpl-ieee'.
1852         * modules/frexpl-ieee: New file.
1853
1854         Tests for module 'frexp-ieee'.
1855         * modules/frexp-ieee-tests: New file.
1856         * tests/test-frexp-ieee.c: New file.
1857
1858         New module 'frexp-ieee'.
1859         * modules/frexp-ieee: New file.
1860
1861         Tests for module 'frexpf-ieee'.
1862         * modules/frexpf-ieee-tests: New file.
1863         * tests/test-frexpf-ieee.c: New file.
1864
1865         New module 'frexpf-ieee'.
1866         * modules/frexpf-ieee: New file.
1867
1868 2012-02-26  Bruno Haible  <bruno@clisp.org>
1869
1870         roundl-ieee tests: More tests.
1871         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1872         (main): Add tests for [MX] shaded specification in POSIX.
1873         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1874         (Depends-on): Add isnanl-nolibm.
1875
1876         round-ieee tests: More tests.
1877         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1878         (main): Add tests for [MX] shaded specification in POSIX.
1879         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1880         (Depends-on): Add isnand-nolibm.
1881
1882         roundf-ieee tests: More tests.
1883         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1884         (main): Add tests for [MX] shaded specification in POSIX.
1885         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1886         (Depends-on): Add isnanf-nolibm.
1887
1888         truncl-ieee tests: More tests.
1889         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1890         (main): Add tests for [MX] shaded specification in POSIX.
1891         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1892         (Depends-on): Add isnanl-nolibm.
1893
1894         trunc-ieee tests: More tests.
1895         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1896         (main): Add tests for [MX] shaded specification in POSIX.
1897         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1898         (Depends-on): Add isnand-nolibm.
1899
1900         truncf-ieee tests: More tests.
1901         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1902         (main): Add tests for [MX] shaded specification in POSIX.
1903         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1904         (Depends-on): Add isnanf-nolibm.
1905
1906         ceill-ieee tests: More tests.
1907         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1908         (main): Add tests for [MX] shaded specification in POSIX.
1909         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1910         (Depends-on): Add isnanl-nolibm.
1911
1912         ceil-ieee tests: More tests.
1913         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1914         (main): Add tests for [MX] shaded specification in POSIX.
1915         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1916         (Depends-on): Add isnand-nolibm.
1917
1918         ceilf-ieee tests: More tests.
1919         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1920         (main): Add tests for [MX] shaded specification in POSIX.
1921         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1922         (Depends-on): Add isnanf-nolibm.
1923
1924         floorl-ieee tests: More tests.
1925         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1926         (main): Add tests for [MX] shaded specification in POSIX.
1927         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1928         (Depends-on): Add isnanl-nolibm.
1929
1930         floor-ieee tests: More tests.
1931         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1932         (main): Add tests for [MX] shaded specification in POSIX.
1933         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1934         (Depends-on): Add isnand-nolibm.
1935
1936         floorf-ieee tests: More tests.
1937         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1938         (main): Add tests for [MX] shaded specification in POSIX.
1939         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1940         (Depends-on): Add isnanf-nolibm.
1941
1942 2012-02-26  Bruno Haible  <bruno@clisp.org>
1943
1944         fpieee: More comments.
1945         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1946
1947 2012-02-25  Bruno Haible  <bruno@clisp.org>
1948
1949         Tests for module 'log10l'.
1950         * modules/log10l-tests: New file.
1951         * tests/test-log10l.c: New file.
1952         * tests/test-math-c++.cc: Check the declaration of log10l.
1953
1954         New module 'log10l'.
1955         * lib/math.in.h (log10l): New declaration.
1956         * lib/log10l.c: New file.
1957         * m4/log10l.m4: New file.
1958         * modules/log10l: New file.
1959         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1960         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1961         HAVE_DECL_LOG10L.
1962         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1963         HAVE_DECL_LOG10L.
1964         * doc/posix-functions/log10l.texi: Mention the new module.
1965
1966 2012-02-25  Bruno Haible  <bruno@clisp.org>
1967
1968         fmodl, remainder*: Avoid wrong results due to rounding errors.
1969         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1970         expected bounds.
1971         * lib/remainderf.c (remainderf): Likewise.
1972         * lib/remainder.c (remainder): Likewise.
1973         * lib/remainderl.c (remainderl): Likewise.
1974
1975 2012-02-25  Bruno Haible  <bruno@clisp.org>
1976
1977         Tests for module 'remainderl'.
1978         * modules/remainderl-tests: New file.
1979         * tests/test-remainderl.c: New file.
1980         * tests/test-math-c++.cc: Check the declaration of remainderl.
1981
1982         New module 'remainderl'.
1983         * lib/math.in.h (remainderl): New declaration.
1984         * lib/remainderl.c: New file.
1985         * m4/remainderl.m4: New file.
1986         * modules/remainderl: New file.
1987         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1988         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1989         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1990         HAVE_REMAINDERL.
1991         * doc/posix-functions/remainderl.texi: Mention the new module.
1992
1993 2012-02-25  Bruno Haible  <bruno@clisp.org>
1994
1995         Tests for module 'remainderf'.
1996         * modules/remainderf-tests: New file.
1997         * tests/test-remainderf.c: New file.
1998         * tests/test-math-c++.cc: Check the declaration of remainderf.
1999
2000         New module 'remainderf'.
2001         * lib/math.in.h (remainderf): New declaration.
2002         * lib/remainderf.c: New file.
2003         * m4/remainderf.m4: New file.
2004         * modules/remainderf: New file.
2005         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2007         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2008         HAVE_REMAINDERF.
2009         * doc/posix-functions/remainderf.texi: Mention the new module.
2010
2011 2012-02-25  Bruno Haible  <bruno@clisp.org>
2012
2013         remainder: Support for MSVC.
2014         * lib/math.in.h (remainder): New declaration.
2015         * lib/remainder.c: New file.
2016         * m4/remainder.m4: New file.
2017         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2018         (Depends-on): Add math, round, fma.
2019         (configure.ac): Use results of gl_FUNC_REMAINDER.
2020         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2021         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2022         HAVE_DECL_REMAINDER.
2023         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2024         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2025         * tests/test-math-c++.cc: Check the declaration of remainder.
2026         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2027         problems are fixed.
2028
2029 2012-02-25  Bruno Haible  <bruno@clisp.org>
2030
2031         Tests for module 'fmodl'.
2032         * modules/fmodl-tests: New file.
2033         * tests/test-fmodl.c: New file.
2034         * tests/test-math-c++.cc: Check the declaration of fmodl.
2035
2036         New module 'fmodl'.
2037         * lib/math.in.h (fmodl): New declaration.
2038         * lib/fmodl.c: New file.
2039         * m4/fmodl.m4: New file.
2040         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2042         REPLACE_FMODL.
2043         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2044         REPLACE_FMODL.
2045         * modules/fmodl: New file.
2046         * doc/posix-functions/fmodl.texi: Mention the new module.
2047
2048 2012-02-25  Bruno Haible  <bruno@clisp.org>
2049
2050         Tests for module 'modfl'.
2051         * modules/modfl-tests: New file.
2052         * tests/test-modfl.c: New file.
2053         * tests/test-math-c++.cc: Check the declaration of modfl.
2054
2055         New module 'modfl'.
2056         * lib/math.in.h (modfl): New declaration.
2057         * lib/modfl.c: New file.
2058         * m4/modfl.m4: New file.
2059         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2061         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2062         * modules/modfl: New file.
2063         * doc/posix-functions/modfl.texi: Mention the new module.
2064
2065 2012-02-25  Bruno Haible  <bruno@clisp.org>
2066
2067         Tests for module 'fabsl'.
2068         * modules/fabsl-tests: New file.
2069         * tests/test-fabsl.c: New file.
2070         * tests/test-math-c++.cc: Check the declaration of fabsl.
2071
2072         New module 'fabsl'.
2073         * lib/math.in.h (fabsl): New declaration.
2074         * lib/fabsl.c: New file.
2075         * m4/fabsl.m4: New file.
2076         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2077         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2078         REPLACE_FABSL.
2079         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2080         REPLACE_FABSL.
2081         * modules/fabsl: New file.
2082         * doc/posix-functions/fabsl.texi: Mention the new module.
2083
2084 2012-02-25  Bruno Haible  <bruno@clisp.org>
2085
2086         fabs tests: More tests.
2087         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2088         (zero): New variable.
2089         (main): Add tests for signed zero.
2090         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2091
2092         fabsf tests: More tests.
2093         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2094         (zero): New variable.
2095         (main): Add tests for signed zero.
2096         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2097
2098 2012-02-24  Bruno Haible  <bruno@clisp.org>
2099
2100         atanl: Provide function definition on MSVC.
2101         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2102         function pointer.
2103         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2104
2105 2012-02-24  Bruno Haible  <bruno@clisp.org>
2106
2107         acosl: Provide function definition on MSVC.
2108         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2109         function pointer.
2110         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2111
2112 2012-02-24  Bruno Haible  <bruno@clisp.org>
2113
2114         asinl: Provide function definition on MSVC.
2115         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2116         function pointer.
2117         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2118
2119 2012-02-24  Bruno Haible  <bruno@clisp.org>
2120
2121         tanl: Provide function definition on MSVC.
2122         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2123         function pointer.
2124         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2125
2126 2012-02-24  Bruno Haible  <bruno@clisp.org>
2127
2128         cosl: Provide function definition on MSVC.
2129         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2130         function pointer.
2131         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2132
2133 2012-02-24  Bruno Haible  <bruno@clisp.org>
2134
2135         sinl: Provide function definition on MSVC.
2136         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2137         function pointer.
2138         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2139
2140 2012-02-24  Bruno Haible  <bruno@clisp.org>
2141
2142         logl: Provide function definition on MSVC.
2143         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2144         function pointer.
2145         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2146
2147 2012-02-24  Bruno Haible  <bruno@clisp.org>
2148
2149         expl: Provide function definition on MSVC.
2150         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2151         function pointer.
2152         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2153
2154 2012-02-24  Bruno Haible  <bruno@clisp.org>
2155
2156         sqrtl: Provide function definition on MSVC.
2157         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2158         a function pointer.
2159         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2160
2161 2012-02-24  Bruno Haible  <bruno@clisp.org>
2162
2163         ceill: Provide function definition on MSVC.
2164         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2165         used as a function pointer.
2166         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2167
2168 2012-02-24  Bruno Haible  <bruno@clisp.org>
2169
2170         floorl: Provide function definition on MSVC.
2171         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2172         used as a function pointer.
2173         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2174
2175 2012-02-24  Bruno Haible  <bruno@clisp.org>
2176
2177         ceilf: Provide function definition on MSVC.
2178         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2179         used as a function pointer.
2180         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2181
2182 2012-02-24  Bruno Haible  <bruno@clisp.org>
2183
2184         floorf: Provide function definition on MSVC.
2185         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2186         used as a function pointer.
2187         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2188
2189 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2190
2191         stdnoreturn: new module
2192         This implements a replacement for C11's <stdnoreturn.h>.
2193         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2194         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2195         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2196         * tests/test-stdnoreturn.c: New files.
2197
2198 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2199
2200         regex: fix false multibyte matches in some regular expressions
2201         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2202         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2203         * lib/regex_internal.c (re_string_skip_chars):
2204         Fix miscomputation of remain_len that may cause incomplete
2205         multi-byte character and false match.
2206
2207 2012-02-24  Jim Meyering  <meyering@redhat.com>
2208
2209         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2210         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2211         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2212         Remove now-unnecessary str''cmp obfuscation.
2213         Suggested by Akim Demaille.
2214
2215 2012-02-24  Bruno Haible  <bruno@clisp.org>
2216
2217         streq: Rename macro.
2218         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2219         * NEWS: Mention the change.
2220         * lib/mbrtowc.c (mbrtowc): Update.
2221         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2222         * lib/wcwidth.c (wcwidth): Update.
2223         Suggested by Akim Demaille and Jim Meyering.
2224
2225 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2226
2227         regex: fix typo in definition of MIN
2228         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2229         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2230
2231 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2232             Bruno Haible  <bruno@clisp.org>
2233
2234         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2235         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2236         entries into a stack-allocated buffer directly.
2237         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2238
2239 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2240             Bruno Haible  <bruno@clisp.org>
2241
2242         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2243
2244          - There were several instances of this pattern:
2245
2246              for (;;) {
2247                n = acl (f, GETACLCNT, 0, NULL);
2248                [ allocate an array A of size N ]
2249                if (acl (f, GETACL, n, a) == n)
2250                  break;
2251              }
2252
2253            This loop might never terminate if some other process is constantly
2254            manipulating the file's ACL.  The loop should be rewritten to
2255            terminate.
2256
2257          - The acl (... GETACLNT ...) call is merely an optimization; its value
2258            is merely a hint as to how big to make the array.  A better
2259            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2260            and just guess a reasonably-big size, growing the size and trying
2261            again if it's not large enough.  This guarantees termination, and
2262            saves a system call.
2263
2264         * lib/acl-internal.h: Include <limits.h>.
2265         (MIN, SIZE_MAX): New macros.
2266         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2267         a stack-allocated buffer, and use malloc if it does not fit. Don't
2268         use GETACLCNT.
2269         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2270
2271 2012-02-19  Bruno Haible  <bruno@clisp.org>
2272
2273         acl: Fix endless loop on Solaris with vxfs.
2274         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2275         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2276         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2277         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2278         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2279         Reported by Bill Jones in
2280         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2281
2282 2012-02-19  Bruno Haible  <bruno@clisp.org>
2283
2284         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2285         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2286         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2287         that this function returns 0 in some more cases.
2288
2289 2012-02-19  Bruno Haible  <bruno@clisp.org>
2290
2291         acl: Update doc references.
2292         * doc/acl-resources.txt: Update links to Solaris documentation.
2293
2294 2012-02-19  Bruno Haible  <bruno@clisp.org>
2295
2296         Fix test failure in many locales on Solaris 11.
2297         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2298         'tr' arguments.
2299         * tests/test-pipe-filter-ii1.c (main): Likewise.
2300         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2301         expressions in the C locale.
2302         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2303         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2304
2305 2012-02-19  Bruno Haible  <bruno@clisp.org>
2306
2307         gnulib-tool: Improve usage message.
2308         * gnulib-tool (func_usage): Move doc of --help and --version to the
2309         section "Operation modes".
2310
2311 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2312
2313         README-release: make it easier to execute commands
2314         * top/README-release: break commands out on to separate lines.
2315
2316 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2317
2318         GNUmakefile: simplify detection of unconfigured trees
2319         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2320         whether the tree make is being run from is already configured or
2321         not.  Related simplifications.
2322
2323 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2324
2325         * gnulib-tool (func_usage): Document --help and --version.
2326
2327 2012-02-11  Jim Meyering  <meyering@redhat.com>
2328
2329         bootstrap: don't exit 0 upon gnulib-tool failure
2330         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2331         its exit status, not 0.
2332
2333 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2334
2335         README-release: various improvements
2336         * top/README-release: Give a command to push changes for the
2337         release.  Add "distcheck" to list of other pre-release checks.
2338         Fix instance of "make stable" which should be "make TYPE".
2339
2340 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2341
2342         maint: replace FSF snail-mail addresses with URLs
2343         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2344         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2345         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2346         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2347         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2348         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2349         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2350         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2351         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2352         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2353         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2354         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2355         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2356         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2357         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2358         * lib/glthread/thread.c, lib/glthread/thread.h:
2359         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2360         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2361         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2362         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2363         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2364         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2365         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2366         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2367         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2368         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2369         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2370         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2371         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2372         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2373         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2374         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2375         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2376         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2377         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2378         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2379         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2380         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2381         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2382         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2383         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2384         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2385         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2386         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2387         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2388         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2389         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2390         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2391         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2392         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2393         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2394         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2395         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2396         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2397         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2398         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2399         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2400         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2401         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2402         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2403         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2404         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2405         * tests/test-poll.c, tests/test-quotearg-simple.c:
2406         * tests/test-quotearg.c, tests/test-quotearg.h:
2407         * tests/test-round-ieee.c, tests/test-round1.c:
2408         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2409         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2410         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2411         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2412         * tests/test-strerror.c, tests/test-strerror_r.c:
2413         * tests/test-strsignal.c, tests/test-strverscmp.c:
2414         * tests/test-xmemdup0.c:
2415         Replace FSF snail mail addresses with URLs, as per GNU coding
2416         standards.  See glibc bug
2417         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2418
2419 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2420
2421         README-release: capitalize a word and split a line
2422         * top/README-release: Fix punctuation and spacing.
2423
2424 2012-02-08  Akim Demaille  <demaille@gostai.com>
2425
2426         fatal-signal: use C prototypes (with explicit void).
2427         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2428         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2429
2430 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2431
2432         regex: spelling fix
2433         * lib/regexec.c: spelling fix
2434
2435         regex: rely on stdint.h for SIZE_MAX
2436         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2437
2438 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2439
2440         regex: merge glibc changes
2441
2442         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2443         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2444         (init_word_char): Work even if bitset words are not exactly 32 or
2445         64 bits wide.  Don't assume there are no padding bits.
2446         * lib/regex.c [_LIBC]: Do not include <config.h>.
2447         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2448         and -Wtype-limits.
2449         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2450         needless disagreement with glibc.  All uses changed.  Define it to
2451         1 only if _GNU_SOURCE, to match glibc.
2452         (_REG_RM_NAME): Remove; no longer needed, since the names in
2453         question are now all protected by __USE_GNU.
2454         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2455         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2456         * lib/regex_internal.h (MIN): New macro.
2457
2458         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2459         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2460
2461         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2462         * lib/regex_internal.c (re_string_fetch_byte_case):
2463         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2464         is miscompiled, and it turns out it is because of an incorrect
2465         attribute on re_string_fetch_byte_case.  Unlike
2466         re_string_peek_byte_case, this one is really not pure, it modifies
2467         memory (increments pstr->cur_idx), and with the pure attribute GCC
2468         assumed it doesn't and it cached the presumed value of
2469         regexp->cur_idx in a variable across the
2470          for (;; ++i)
2471            {
2472              if (i >= BRACKET_NAME_BUF_SIZE)
2473                return REG_EBRACK;
2474              if (token->type == OP_OPEN_CHAR_CLASS)
2475                ch = re_string_fetch_byte_case (regexp);
2476              else
2477                ch = re_string_fetch_byte (regexp);
2478              if (re_string_eoi(regexp))
2479                return REG_EBRACK;
2480              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2481                break;
2482              elem->opr.name[i] = ch;
2483            }
2484
2485         2011-11-29 Andreas Schwab <schwab@redhat.com>
2486         * lib/regcomp.c (build_equiv_class):
2487         Fix access after end of search string in regex matcher.
2488
2489         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2490         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2491
2492         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2493         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2494
2495         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2496         * lib/regcomp.c (parse_branch, parse_sub_exp):
2497         More regex memory leak fixes and tests.
2498         (parse_sub_exp, parse_bracket_exp):
2499         Fix memory leak for some invalid regular expressions.
2500
2501         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2502         * lib/regex_internal.c, lib/regexec.c:
2503         Fix unnecessary overallocation due to incomplete character.  When
2504         incomplete characters are found at the end of a string the code
2505         ran amok and allocated lots of memory.  Stricter limits are now in
2506         place.
2507
2508         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2509         * lib/regex.h: Update documentation.
2510
2511         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2512         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2513
2514         2010-05-05 Andreas Schwab <schwab@redhat.com>
2515         * lib/regexec.c (find_collation_sequence_value):
2516         Fix lookup of collation sequence value during regexp matching.
2517
2518         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2519         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2520
2521         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2522         * lib/regex.h: Cleanup namespace.
2523
2524         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2525         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2526
2527         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2528         * lib/regex_internal.h: Prevent some declarations and definitions
2529         to be seen when used in tests.
2530
2531         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2532         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2533         __libc_lock_* macros if not _LIBC.
2534         (struct re_dfa_t): Add lock.
2535
2536 2012-02-07  Eric Blake  <eblake@redhat.com>
2537
2538         maint.mk: also prohibit lower-case @var@
2539         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2540         lower case, like @top_srcdir@.
2541
2542 2012-02-04  Eric Blake  <eblake@redhat.com>
2543
2544         canonicalize: avoid uninitialized memory use
2545         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2546         random '/' left in dest.
2547         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2548
2549 2012-02-04  Bruno Haible  <bruno@clisp.org>
2550
2551         isatty: Fix test failure of ptsname_r on native Windows.
2552         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2553         and don't set errno.
2554         (isatty): Test first whether fd is valid. Set errno when returning 0.
2555
2556 2012-02-04  Bruno Haible  <bruno@clisp.org>
2557
2558         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2559         * tests/test-spawn-pipe-main.c: Include progname.h.
2560         (main): Invoke set_program_name.
2561         * modules/spawn-pipe-tests (Depends-on): Add progname.
2562
2563         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2564         * tests/test-nonblocking-socket-main.c: Include progname.h.
2565         (main): Invoke set_program_name.
2566         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2567
2568         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2569         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2570         (main): Invoke set_program_name.
2571         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2572
2573 2012-02-04  Eric Blake  <eblake@redhat.com>
2574
2575         canonicalize-lgpl: fix // handling
2576         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2577
2578         canonicalize: fix // handling
2579         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2580         /// to //, since only // is special.
2581
2582 2012-02-04  Bruno Haible  <bruno@clisp.org>
2583
2584         ioctl: Fix test failure on native Windows.
2585         * lib/ioctl.c: Include msvc-nothrow.h.
2586         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2587
2588 2012-02-04  Bruno Haible  <bruno@clisp.org>
2589
2590         fsync: Avoid test failure on native Windows.
2591         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2592         read-only.
2593
2594 2012-02-04  Bruno Haible  <bruno@clisp.org>
2595
2596         sys_select: Avoid syntax error on OpenBSD 5.0.
2597         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2598         currently being included, just include the system's <sys/select.h>.
2599
2600 2012-02-04  Bruno Haible  <bruno@clisp.org>
2601
2602         sys_select: Avoid syntax error on OpenBSD 5.0.
2603         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2604         <sys/select.h>, not before.
2605         Reported by Jiri B <jirib@devio.us>.
2606
2607 2012-02-04  Bruno Haible  <bruno@clisp.org>
2608
2609         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2610         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2611         global variables.
2612         * tests/test-get-rusage-data.c (main): Likewise.
2613         Reported by Jim Meyering.
2614
2615 2012-02-04  Bruno Haible  <bruno@clisp.org>
2616
2617         stdioext: Fix last commit.
2618         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2619
2620 2012-02-03  Bruno Haible  <bruno@clisp.org>
2621
2622         stdioext: Add tentative support for Plan9.
2623         * lib/stdio-impl.h: Include <errno.h>.
2624         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2625         * lib/freadable.c (freadable): Likewise.
2626         * lib/fwritable.c (fwritable): Likewise.
2627         * lib/fbufmode.c (fbufmode): Likewise.
2628         * lib/freading.c (freading): Likewise.
2629         * lib/fwriting.c (fwriting): Likewise.
2630         * lib/freadptr.c (freadptr): Likewise.
2631         * lib/freadseek.c (freadptrinc): Likewise.
2632         * lib/freadahead.c (freadahead): Likewise.
2633         * lib/fpurge.c (fpurge): Likewise.
2634         * lib/fseeko.c (rpl_fseeko): Likewise.
2635         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2636         Reported by Jens Staal <staal1978@gmail.com>.
2637
2638 2012-02-02  Jim Meyering  <meyering@redhat.com>
2639
2640         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2641         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2642         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2643         not even to try to add the attribute.  Instead, add a pragma to suppress
2644         the suggestion/warning.
2645
2646 2012-01-31  Karl Berry  <karl@gnu.org>
2647
2648         setstate doc: typo.
2649         * doc/posix-functions/setstate.texi (setstate): { not (.
2650
2651 2012-01-31  Bruno Haible  <bruno@clisp.org>
2652
2653         popen: Make more robust on Windows.
2654         * lib/popen.c: On native Windows, use the _popen based code even if
2655         HAVE_POPEN is set.
2656         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2657         environment variable on native Windows.
2658
2659 2012-01-30  Bruno Haible  <bruno@clisp.org>
2660
2661         pclose: Fix typo.
2662         * lib/stdio.in.h (pclose): Fix typo in warning message.
2663
2664 2012-01-30  Bruno Haible  <bruno@clisp.org>
2665
2666         doc about getlogin_r, setstate.
2667         * doc/posix-functions/getlogin_r.texi: List the incompatible
2668         declaration problem under "not fixed by gnulib".
2669         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2670         problem on Solaris 11 and other platforms.
2671
2672 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2673             Bruno Haible  <bruno@clisp.org>
2674
2675         poll tests: Make test more robust.
2676         * tests/test-poll.c: Include macros.h.
2677         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2678         return value of various I/O operations.
2679         * modules/poll-tests (Files): Add tests/macros.h.
2680
2681 2012-01-30  Bruno Haible  <bruno@clisp.org>
2682
2683         sys_stat: Fix support for mingw64 and MSVC.
2684         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2685         header files already do it.
2686         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2687         stat itself.
2688         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2689
2690 2012-01-30  Bruno Haible  <bruno@clisp.org>
2691
2692         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2694         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2695
2696 2012-01-29  Bruno Haible  <bruno@clisp.org>
2697
2698         quotearg: Fix test failure on MacOS X 10.5.
2699         * tests/test-quotearg-simple.c: Include localcharset.h.
2700         (main): If the locale encoding is not ASCII, bypass the tests of
2701         locale_quoting_style and clocale_quoting_style.
2702         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2703
2704 2012-01-29  Jim Meyering  <meyering@redhat.com>
2705
2706         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2707         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2708         detect uses of canonicalize_file_name.
2709
2710 2012-01-28  Bruno Haible  <bruno@clisp.org>
2711
2712         test-framework-sh: Fix test failure with AIX 7.1 diff.
2713         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2714         in column 1, like 'diff -c' does.
2715         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2716         whether 'diff -u' is used. Instead, test whether the output contains
2717         some '@' character.
2718
2719 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2720
2721         strtoimax: eliminate need for stdint.h, inttypes.h checks
2722         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2723         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2724         the prerequisites for a recently-introduced strtoimax test.
2725         I guess this might cause strtoimax to be replaced when not
2726         strictly necessary on older hosts, but this shouldn't introduce
2727         any bugs and it should make Emacs 'configure' faster on typical
2728         modern hosts.  Problem discovered when importing the latest gnulib
2729         to an Emacs test version.
2730         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2731
2732 2012-01-28  Bruno Haible  <bruno@clisp.org>
2733
2734         sys_time: Override 'struct timeval' on some native Windows platforms.
2735         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2736         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2737         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2738         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2739         needs to be overridden.
2740         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2741         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2742         * tests/test-sys_select.c: Check that the tv_sec member has the same
2743         size as a 'time_t'.
2744         * tests/test-sys_time.c: Likewise.
2745         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2746         is set, set also REPLACE_GETTIMEOFDAY.
2747         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2748         convert the resulting 'struct timeval' before returning.
2749         * lib/select.c: Include <sys/time.h>.
2750         (select, timeval): Undefine at the right place.
2751         * modules/select (Depends-on): Add sys_time.
2752         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2753         some Windows platforms.
2754         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2755
2756 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2757
2758         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2759         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2760         an integer.
2761         * lib/fcntl.c (dupfd): Likewise.
2762         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2763
2764 2012-01-28  Bruno Haible  <bruno@clisp.org>
2765
2766         fcntl: Avoid compilation error on native Windows.
2767         * modules/fcntl (Depends-on): Add 'close'.
2768
2769 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2770
2771         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2772         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2773         pointer to an integer.
2774         * lib/poll.c (IsConsoleHandle): Likewise.
2775         * lib/isatty.c (IsConsoleHandle): Likewise.
2776
2777 2012-01-28  Jim Meyering  <meyering@redhat.com>
2778
2779         doc: clarify README-release
2780         * top/README-release: Clarify: you should make a point to have
2781         the latest stable versions of build tools in your PATH, and the
2782         reference to buildreq is solely for its list of tool names, not
2783         for its minimal-functional version numbers.
2784         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2785
2786         maint.mk: use more readable (yet functionally equivalent) quoting
2787         It is common to quote a single quote in a single quoted string like
2788         this:  '...'\''...'.  Unless you know the idiom, that looks like
2789         gibberish, so prefer to double-quote the string when possible.
2790         Then you can use a more readable, lone single quote: "...'..."
2791         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2792         "don't" is more readable than the equivalent 'don'\''t'.
2793         (sc_cast_of_x_alloc_return_value): Likewise.
2794         (sc_cast_of_alloca_return_value): Likewise.
2795         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2796         rather than '\'':'\''.
2797
2798 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2799
2800         stdalign: relax _Alignof and tighten _Alignas test
2801         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2802         as it was too strict: alignof must divide offsetof, but it need
2803         not equal offsetof.  Inspired by Joseph S. Myers's comment
2804         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2805         Conversely, tighten the _Alignas test a bit, as the resulting
2806         alignment must be exactly 8.
2807
2808 2012-01-27  Bruno Haible  <bruno@clisp.org>
2809
2810         stdalign: Document the last change.
2811         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2812
2813 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2814
2815         stdalign: check that alignof and offsetof are consistent
2816         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2817         Problem reported for gnulib by Richard W.M. Jones in
2818         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2819
2820 2012-01-27  Jim Meyering  <meyering@redhat.com>
2821
2822         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2823         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2824         convert a sequence with gaps to the minimal containing range.
2825         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2826         * tests/test-update-copyright.sh: Test for this.
2827         The FSF confirmed it is ok to do this, assuming there is at
2828         least one significant change per year in the affected range:
2829         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2830
2831 2012-01-26  Bruno Haible  <bruno@clisp.org>
2832
2833         pipe2: refine doc about thread-safety
2834         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2835         multithread-safety problem.
2836         * doc/glibc-functions/accept4.texi: Likewise.
2837
2838 2012-01-26  Bruno Haible  <bruno@clisp.org>
2839
2840         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2841         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2842         In the test program, include <fcntl.h>, for O_RDONLY.
2843
2844 2012-01-26  Eric Blake  <eblake@redhat.com>
2845
2846         pipe2: document lack of thread-safety in replacement
2847         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2848         issue in replacement.
2849         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2850         Based on a report by Eric Wong.
2851
2852 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2853             Bruno Haible  <bruno@clisp.org>
2854
2855         malloca: Avoid warnings on x86_64 mingw64.
2856         * lib/malloca.c: Include <stdint.h>.
2857         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2858         * modules/malloca (Depends-on): Add stdint.
2859         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2860
2861 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2862
2863         obstack: remove __STDC__ conditionals
2864         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2865         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2866         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2867         m4/include_next.m4 as the only gnulib-maintained places that still
2868         refer to __STDC__.
2869
2870 2012-01-24  Bruno Haible  <bruno@clisp.org>
2871
2872         havelib: Modern quoting.
2873         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2874         the recent change to the GNU coding standards.
2875
2876 2012-01-24  Bruno Haible  <bruno@clisp.org>
2877
2878         stdint: Improve support for Android.
2879         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2880         Reported by Simon Josefsson <simon@josefsson.org>.
2881
2882 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2883
2884         doc: omit trailing empty lines from INSTALL etc.
2885         * doc/Makefile (INSTALL): Omit trailing empty lines.
2886         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2887         omit trailing empty lines.  This simplifies the build procedure.
2888
2889 2012-01-23  Jim Meyering  <meyering@redhat.com>
2890
2891         tests: avoid spurious warnings about gl_sockets_startup
2892         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2893         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2894         reporting a "statement with no effect".
2895         * tests/test-accept.c (main): Mark as "(void)".
2896         * tests/test-accept4.c (main): Likewise.
2897         * tests/test-bind.c (main): Likewise.
2898         * tests/test-connect.c (main): Likewise.
2899         * tests/test-getpeername.c (main): Likewise.
2900         * tests/test-getsockname.c (main): Likewise.
2901         * tests/test-getsockopt.c (main): Likewise.
2902         * tests/test-listen.c (main): Likewise.
2903         * tests/test-recv.c (main): Likewise.
2904         * tests/test-recvfrom.c (main): Likewise.
2905         * tests/test-send.c (main): Likewise.
2906         * tests/test-sendto.c (main): Likewise.
2907         * tests/test-setsockopt.c (main): Likewise.
2908         * tests/test-shutdown.c (main): Likewise.
2909
2910 2012-01-21  Bruno Haible  <bruno@clisp.org>
2911
2912         locale-fr.m4: Fix for Android.
2913         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2914         failure of the test program on Bionic libc.
2915
2916 2012-01-21  Jim Meyering  <meyering@redhat.com>
2917
2918         bootstrap: fail when bootstrap_post_import_hook fails
2919         Otherwise, it's far too easy to miss diagnostics emitted
2920         between gnulib-tool's output and that of running configure.
2921         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2922
2923 2012-01-17  Jim Meyering  <meyering@redhat.com>
2924
2925         maint: enable sc_trailing_blank
2926         * build-aux/pmccabe.css: Remove trailing blanks.
2927         * doc/acl-cygwin.txt: Likewise.
2928         * doc/gnu-oids.texi: Likewise
2929         * cfg.mk: Enable sc_trailing_blank.
2930         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2931
2932 2012-01-17  Jim Meyering  <meyering@redhat.com>
2933
2934         maint: enable sc_prohibit_openat_without_use
2935         * cfg.mk: Enable sc_prohibit_openat_without_use.
2936         Exempt lib/selinux-at.c.
2937
2938 2012-01-17  Jim Meyering  <meyering@redhat.com>
2939
2940         maint: enable sc_prohibit_cloexec_without_use
2941         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2942         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2943
2944 2012-01-17  Jim Meyering  <meyering@redhat.com>
2945
2946         maint: enable sc_prohibit_intprops_without_use
2947         * cfg.mk: Enable sc_prohibit_intprops_without_use
2948         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2949
2950 2012-01-17  Jim Meyering  <meyering@redhat.com>
2951
2952         maint: enable sc_prohibit_hash_pjw_without_use
2953         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2954         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2955         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2956         following " (".
2957
2958 2012-01-17  Jim Meyering  <meyering@redhat.com>
2959
2960         maint: enable double-word-prohibiting rule
2961         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2962         Exempt three files.
2963
2964 2012-01-17  Jim Meyering  <meyering@redhat.com>
2965
2966         maint: remove empty lines at EOF, but excluding modules/*
2967         Apply syntax rules at home as well as abroad.  Most changes
2968         were induced by running this:
2969           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2970             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2971             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2972         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2973         Exempt modules/* and two binary files.
2974         Also exempt doc/INSTALL*, per request from Bruno Haible.
2975         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2976         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2977         * doc/Copyright/request-assign.future: Likewise.
2978         * doc/Copyright/request-disclaim.changes: Likewise.
2979         * doc/INSTALL: Likewise.
2980         * doc/INSTALL.ISO: Likewise.
2981         * doc/INSTALL.UTF-8: Likewise.
2982         * doc/acl-cygwin.txt: Likewise.
2983         * doc/acl-resources.txt: Likewise.
2984         * doc/fdl-1.2.texi: Likewise.
2985         * doc/fdl-1.3.texi: Likewise.
2986         * doc/fdl.texi: Likewise.
2987         * lib/argp-pin.c: Likewise.
2988         * lib/round.c: Likewise.
2989         * lib/unicase/u16-totitle.c: Likewise.
2990         * lib/unictype/block_test.c: Likewise.
2991         * lib/uninorm/canonical-decomposition.c: Likewise.
2992         * m4/README: Likewise.
2993         * m4/relocatable-lib.m4: Likewise.
2994         * tests/test-isnand-nolibm.c: Likewise.
2995         * tests/test-isnand.c: Likewise.
2996         * tests/uninorm/NormalizationTest.txt: Likewise.
2997
2998 2012-01-17  Jim Meyering  <meyering@redhat.com>
2999
3000         maint: add framework to run syntax-check rules against gnulib sources
3001         * cfg.mk: New file, to disable all currently-failing tests.
3002         We'll enable them one by one, as they are made to pass.
3003         * Makefile (sc_maint): New rule.
3004
3005 2012-01-21  Bruno Haible  <bruno@clisp.org>
3006
3007         stdint: Add support for Android.
3008         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3009         include the system's <stdint.h>.
3010         Reported by Simon Josefsson <simon@josefsson.org>.
3011
3012 2012-01-19  Jim Meyering  <meyering@redhat.com>
3013
3014         bootstrap: add bootstrap_post_import_hook
3015         Bison does still need something like the gnulib_mk_hook whose
3016         invocation I had to remove along with slurp in commit 767ccd40.
3017         Technically, we could get along without it, but doing so would
3018         have required living with a warning and a mandatory post-bootstrap
3019         automake rerun.
3020         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3021         (bootstrap_post_import_hook): New function.
3022         Invoke it after gnulib-tool --import and before autoreconf.
3023
3024 2012-01-18  Jim Meyering  <meyering@redhat.com>
3025
3026         gitlog-to-changelog: don't use "no_"-prefixed variable name
3027         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3028         to enable both --cluster and --no-cluster.  Change variable name,
3029         s/\$no_cluster/$cluster/, and reverse usage to match.
3030
3031         gitlog-to-changelog: use "||", not "or" in expressions
3032         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3033         expressions.
3034
3035 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3036
3037         gitlog-to-changelog: new option --no-cluster
3038         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3039         clustering of adjacent commit messages.
3040
3041 2012-01-17  Jim Meyering  <meyering@redhat.com>
3042
3043         maint: spell file systems with two words, not one
3044         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3045         two words, not one.
3046
3047 2012-01-16  Jim Meyering  <meyering@redhat.com>
3048
3049         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3050         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3051
3052 2012-01-16  Eric Blake  <eblake@redhat.com>
3053
3054         bootstrap: cater to autoconf 2.59
3055         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3056         is not available.
3057
3058         bootstrap: properly check for libtool
3059         * build-aux/bootstrap (libtoolize): Also run libtool when older
3060         usage is detected.
3061
3062 2012-01-15  Bruno Haible  <bruno@clisp.org>
3063
3064         Improve support for MSVC 9.
3065         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3066         clashes on MSVC.
3067         * lib/fcntl.in.h: Likewise.
3068         * lib/stdlib.in.h: Likewise.
3069         * lib/sys_stat.in.h: Likewise.
3070
3071 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3072
3073         gnupload: we hold the master copy of this script now
3074         For motivation and more information, see:
3075         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3076         * build-aux/gnupload: Make it clear in the heading comments that the
3077         master copy of this file is maintained by gnulib.  Since we are at
3078         it, bump its copyright year and ...
3079         ($scriptversion): ... the date in its version.
3080         ($usage): Patches and bug reports should be sent to the gnulib list,
3081         not the automake one.
3082         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3083         anymore.
3084
3085 2012-01-15  Bruno Haible  <bruno@clisp.org>
3086
3087         Fix module 'random'.
3088         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3089         initstate, setstate are declared.
3090
3091 2012-01-14  Bruno Haible  <bruno@clisp.org>
3092
3093         Tests for module 'random'.
3094         * modules/random-tests: New file.
3095         * tests/test-random.c: New file, based on tests/test-random_r.c.
3096
3097         New module 'random'.
3098         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3099         declarations.
3100         * lib/random.c: New file, based on glibc/stdlib/random.c.
3101         * m4/random.m4: New file.
3102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3103         HAVE_RANDOM.
3104         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3105         * modules/random: New file.
3106         * config/srclist.txt: Add an entry for random.c.
3107         * doc/posix-functions/random.texi: Mention the 'random' module.
3108         * doc/posix-functions/initstate.texi: Likewise.
3109         * doc/posix-functions/setstate.texi: Likewise.
3110         * doc/posix-functions/srandom.texi: Likewise.
3111
3112 2012-01-12  Bruno Haible  <bruno@clisp.org>
3113
3114         random_r: Use common idioms.
3115         * lib/random_r.c: Include <stdlib.h> first.
3116
3117         random_r: Override incompatible API on AIX, OSF/1.
3118         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3119         Override the system function if REPLACE_RANDOM_R is 1.
3120         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3121         and OSF/1, set REPLACE_RANDOM_R.
3122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3123         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3124         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3125         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3126         * doc/glibc-functions/random_r.texi: Likewise.
3127         * doc/glibc-functions/setstate_r.texi: Likewise.
3128
3129         random_r: Support for MSVC 9.
3130         * lib/random_r.c: Include stdint.h, not inttypes.h.
3131
3132 2012-01-12  Eric Blake  <eblake@redhat.com>
3133
3134         inet_ntop: guard extra work by IF_LINT
3135         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3136         better code generation when not checking for warnings.
3137         Suggested by Paul Eggert and Jim Meyering.
3138
3139         strptime: fix regression on mingw
3140         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3141         Fix regression.  Reported by Bruno Haible.
3142
3143 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3144             Bruno Haible  <bruno@clisp.org>
3145
3146         copy-file: add error-code-returning variant.
3147         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3148         (qcopy_file_preserving): New declaration.
3149         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3150         copy_file_preserving. Change return type to 'int'. Don't emit an error
3151         message here.
3152         (copy_file_preserving): New function.
3153         * tests/test-copy-file.c: Include <stdlib.h>.
3154         (main): Test qcopy_file_preserving if the environment variable
3155         NO_STDERR_OUTPUT is set.
3156         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3157         with NO_STDERR_OUTPUT
3158         * tests/test-copy-file-2.sh: Likewise.
3159
3160 2012-01-10  Bruno Haible  <bruno@clisp.org>
3161
3162         copy-file: Use 'quote' module consistently.
3163         * lib/copy-file.c (copy_file_preserving): Use quote().
3164
3165         copy-file: Refactor.
3166         * lib/copy-file.c: Include quote.h.
3167         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3168         message here.
3169         * modules/copy-file (Depends-on): Add quote.
3170
3171         acl: Export qcopy_acl.
3172         * lib/acl.h (qcopy_acl): New declaration.
3173         * lib/copy-acl.c (qcopy_acl): Make non-static.
3174
3175         acl: Rename a local variable.
3176         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3177
3178         acl: Align return values of copy_acl and qcopy_acl.
3179         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3180         maybe < -1.
3181
3182 2012-01-11  Eric Blake  <eblake@redhat.com>
3183
3184         strptime: silence gcc warnings
3185         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3186         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3187         Reported by Daniel P. Berrange.
3188
3189         inet_ntop: silence gcc warning
3190         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3191         Reported by Daniel P. Berrange.
3192
3193 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3194
3195         getloadavg test: skip the test on GNU/Linux without /proc mounted
3196         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3197         file.  When /proc is not mounted, it always fails with ENOENT.
3198         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3199         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3200
3201 2012-01-10  Bruno Haible  <bruno@clisp.org>
3202
3203         regex: Avoid link error on MSVC 9.
3204         * modules/regex (Depends-on): Add wctype.
3205
3206 2012-01-10  Bruno Haible  <bruno@clisp.org>
3207
3208         doc: Mention --with-tests option.
3209         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3210         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3211         --with-tests.
3212         Reported by Reuben Thomas.
3213
3214 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3215
3216         users.txt: order package names lexicographically.
3217         * users.txt: Order package names lexicographically.
3218
3219 2012-01-10  Jim Meyering  <meyering@redhat.com>
3220
3221         maint.mk: fix description in comment
3222         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3223
3224         ignore-value: remove deprecated ignore_ptr function
3225         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3226         * NEWS: Note this.
3227
3228 2012-01-09  Jim Meyering  <meyering@redhat.com>
3229
3230         test-init.sh: avoid a subshell
3231         * tests/test-init.sh: Remove protective subshell.
3232         Suggested by Bernhard Voelker.  While a subshell is normally
3233         required to protect against older shells (Solaris, FreeBSD) that
3234         warn about a missing program before performing redirection, the
3235         shell-selection tests performed by init.sh probably exclude any
3236         offending shell.
3237
3238 2012-01-08  Bruno Haible  <bruno@clisp.org>
3239
3240         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3241         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3242         variable.
3243
3244 2012-01-08  Bruno Haible  <bruno@clisp.org>
3245
3246         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3247         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3248         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3249         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3250         macro.
3251         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3252         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3253         * lib/spawn_faction_addopen.c: Add workaround implementation if
3254         HAVE_WORKING_POSIX_SPAWN.
3255         * modules/spawn (Makefile): Substitute
3256         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3257         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3258         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3259         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3260         (Depends-on): Update conditions.
3261         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3262         the Solaris 11 bug.
3263
3264 2012-01-08  Bruno Haible  <bruno@clisp.org>
3265
3266         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3267         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3268         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3269         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3270         macro.
3271         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3272         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3273         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3274         HAVE_WORKING_POSIX_SPAWN.
3275         * modules/spawn (Makefile): Substitute
3276         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3277         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3278         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3279         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3280         (Depends-on): Update conditions.
3281         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3282         the Solaris 11 bug.
3283
3284 2012-01-08  Bruno Haible  <bruno@clisp.org>
3285
3286         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3287         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3288         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3289         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3290         HAVE_WORKING_POSIX_SPAWN.
3291         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3292         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3293         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3294         * lib/spawn_faction_addclose.c: Add workaround implementation if
3295         HAVE_WORKING_POSIX_SPAWN.
3296         * modules/spawn (Makefile): Substitute
3297         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3298         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3299         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3300         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3301         (Depends-on): Update conditions.
3302         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3303         the Solaris 11 bug.
3304
3305 2012-01-08  Bruno Haible  <bruno@clisp.org>
3306
3307         doc: Update for Solaris 11 2011-11.
3308         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3309         * m4/printf.m4: Update comments.
3310
3311 2012-01-08  Bruno Haible  <bruno@clisp.org>
3312
3313         mktime: Avoid compilation error on Solaris 11.
3314         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3315
3316 2012-01-08  Bruno Haible  <bruno@clisp.org>
3317
3318         doc: Small fix.
3319         * doc/posix-headers/nl_types.texi: Correct platforms list.
3320
3321 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3322
3323         Add lgpl-3.0 module.
3324         * MODULES.html.sh (Support for building documentation): Add
3325         lgpl-3.0.
3326         * modules/lgpl-3.0: New file.
3327
3328 2012-01-08  Jim Meyering  <meyering@redhat.com>
3329
3330         select.c: indent with spaces, not TABs
3331         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3332
3333 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3334
3335         quotearg: do not use grave accent for left quote
3336         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3337         locale_quoting_style.
3338         (quotearg_buffer_restyled): Fix example.
3339         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3340
3341 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3342
3343         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3344         Most programs do not have translation catalogs for English and much
3345         less separate catalogs for British and American English.  Drop the
3346         suggestion to translators about these two, and provide it
3347         automatically for Unicode locales.  Like most programs, even those
3348         using American English, we use single quotation marks.  This conflicts
3349         with the American typographic convention, but works better when you
3350         cite the entire error message within double quotes.  It also tries not
3351         to clash with established practice and with what non-gnulib programs
3352         will usually do.
3353         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3354         using an UTF-8 or GB-18030 locale.  The list of other locales with
3355         quotes was provided by Bruno Haible.
3356         (quotearg_buffer_restyled): Adjust instructions to translators.
3357         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3358         text, since this would be wrong when using Unicode.
3359         * modules/quotearg: Depend on c-strcaseeq.
3360
3361 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3362
3363         quotearg: fix Wikipedia link
3364         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3365
3366 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3367
3368         Fix for mingw with MSVC9.
3369         * m4/ld-version-script.m4: Check that compiler rejects version
3370         scripts with syntax errors.  Reported by Bruno Haible
3371         <bruno@clisp.org>.
3372
3373 2012-01-06  Bruno Haible  <bruno@clisp.org>
3374
3375         Talk about "native Windows API", not "Woe32".
3376         * lib/accept4.c: Update comments to mention native Windows.
3377         * lib/execute.c: Likewise.
3378         * lib/fatal-signal.c: Likewise.
3379         * lib/localcharset.c: Likewise.
3380         * lib/nanosleep.c: Likewise.
3381         * lib/nl_langinfo.c: Likewise.
3382         * lib/pclose.c: Likewise.
3383         * lib/pipe-filter-gi.c: Likewise.
3384         * lib/pipe-filter-ii.c: Likewise.
3385         * lib/pipe.c: Likewise.
3386         * lib/pipe2.c: Likewise.
3387         * lib/popen.c: Likewise.
3388         * lib/progreloc.c: Likewise.
3389         * lib/relocatable.c: Likewise.
3390         * lib/sigaction.c: Likewise.
3391         * lib/sigprocmask.c: Likewise.
3392         * lib/spawn-pipe.h: Likewise.
3393         * lib/spawn-pipe.c: Likewise.
3394         * lib/spawni.c: Likewise.
3395         * lib/stat-time.h: Likewise.
3396         * lib/w32spawn.h: Likewise.
3397         * tests/test-isatty.c: Likewise.
3398         * lib/config.charset: More comments.
3399         * doc/gnulib-intro.texi: Mention native Windows.
3400         * doc/posix-functions/_Exit_C99.texi: Likewise.
3401         * doc/posix-headers/fcntl.texi: Likewise.
3402
3403 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3404
3405         argp: Avoid crash if translator uses % characters in a translation.
3406         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3407         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3408
3409 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3410
3411         doc: C11 and C++11 are now official
3412         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3413         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3414         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3415         * modules/stdalign:
3416         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3417
3418 2012-01-06  Bruno Haible  <bruno@clisp.org>
3419
3420         uc-is-grapheme-break tests: Tweak.
3421         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3422         message.
3423
3424 2012-01-06  Bruno Haible  <bruno@clisp.org>
3425
3426         test-init.sh: correct the test for diff -u
3427         * tests/test-init.sh: Also redirect stdout to /dev/null.
3428
3429 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3430
3431         Use ', not `, for quoting output.
3432         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3433         (print_changelog_deltas, get_tool_versions, main program):
3434         * build-aux/git-version-gen:
3435         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3436         * build-aux/move-if-change (help):
3437         * build-aux/useless-if-before-free (usage, main program):
3438         * check-module (parse_module_file, usage)
3439         (find_included_lib_files, check_module):
3440         * lib/argmatch.c (main) [TEST]:
3441         * lib/argp-help.c (_help):
3442         * lib/getopt1.c (main) [TEST]:
3443         * lib/git-merge-changelog.c (usage):
3444         * lib/xstrtol-error.c (xstrtol_error):
3445         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3446         * m4/argz.m4 (gl_FUNC_ARGZ):
3447         * m4/bison.m4 (gl_BISON):
3448         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3449         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3450         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3451         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3452         * m4/gc-random.m4 (gl_GC_RANDOM):
3453         * m4/intl.m4 (gt_CHECK_DECL):
3454         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3455         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3456         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3457         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3458         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3459         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3460         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3461         * tests/test-dirname.c (main):
3462         * tests/test-getpass.c (main):
3463         * tests/test-iconvme.c (main):
3464         * tests/test-parse-datetime.c (LOG):
3465         * tests/test-xstrtoimax.sh:
3466         * tests/test-xstrtol.sh:
3467         * tests/test-xstrtoll.sh:
3468         * tests/test-xstrtoumax.sh:
3469         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3470         * top/GNUmakefile (abort-due-to-no-makefile):
3471         Quote 'like this', not `like this', as per the recent change to
3472         the GNU coding standards.
3473
3474 2012-01-05  Bruno Haible  <bruno@clisp.org>
3475
3476         strtoimax: Don't force a replacement on systems where intmax_t is int.
3477         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3478         'intmax_t' is not larger than 'int'.
3479         Reported by Pádraig Brady <P@draigBrady.com>.
3480
3481 2012-01-05  Bruno Haible  <bruno@clisp.org>
3482
3483         doc: Mention NetBSD bugs.
3484         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3485         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3486
3487 2012-01-05  Bruno Haible  <bruno@clisp.org>
3488
3489         strtoumax tests: Enhance tests.
3490         * tests/test-strtoumax.c (main): Add tests for large values.
3491
3492 2012-01-05  Bruno Haible  <bruno@clisp.org>
3493
3494         strtoimax: Work around AIX 5.1 bug.
3495         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3496         definition.
3497         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3498         Set HAVE_STRTOIMAX.
3499         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3500         REPLACE_STRTOIMAX.
3501         * modules/inttypes-incomplete (Makefile.am): Substitute
3502         REPLACE_STRTOIMAX.
3503         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3504         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3505         (Depends-on): Update conditions.
3506         * tests/test-strtoimax.c (main): Add tests for large values.
3507         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3508
3509 2012-01-05  Bruno Haible  <bruno@clisp.org>
3510
3511         inttypes: Modernize.
3512         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3513         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3514         (Makefile.am): Update inttypes.h rule.
3515
3516 2012-01-05  Jim Meyering  <meyering@redhat.com>
3517
3518         init.sh: don't waste a subshell just to redirect stderr
3519         * tests/init.sh: In testing for diff -u and diff -c, use a
3520         stderr-redirecting exec inside `...` rather than a subshell.
3521
3522         test-init.sh: avoid failure on HP-UX 11.00
3523         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3524         resolves to diff -c or cmp.  Reported by Bruno Haible.
3525
3526 2012-01-05  Bruno Haible  <bruno@clisp.org>
3527
3528         Tests for module 'strtoull'.
3529         * modules/strtoull-tests: New file.
3530         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3531
3532 2012-01-05  Bruno Haible  <bruno@clisp.org>
3533
3534         Tests for module 'strtoll'.
3535         * modules/strtoll-tests: New file.
3536         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3537
3538 2012-01-05  Bruno Haible  <bruno@clisp.org>
3539
3540         Tests for module 'strtoul'.
3541         * modules/strtoul-tests: New file.
3542         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3543
3544 2012-01-05  Bruno Haible  <bruno@clisp.org>
3545
3546         Tests for module 'strtol'.
3547         * modules/strtol-tests: New file.
3548         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3549
3550 2012-01-04  Jim Meyering  <meyering@redhat.com>
3551
3552         test-init.sh: accommodate Solaris 5.10's different diff -u output
3553         * tests/test-init.sh: Also exempt @@ lines from the comparison
3554         of diff output, since Solaris 5.10 and GNU diff formats differ.
3555         Reported by Stefano Lattarini.
3556
3557 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3558
3559         test-posixtm: don't assume signed integer wraparound
3560         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3561         after signed integer overflow.  Inspired by (though it may not
3562         fix) Bruno Haible's bug report in
3563         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3564
3565         Spell out "Windows 9x" and "Windows XP".
3566         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3567         "Windows 9x" and "WinXP" with "Windows XP".
3568
3569 2012-01-04  Jim Meyering  <meyering@redhat.com>
3570
3571         test-vc-list-files-cvs.sh: remove obsolete comment
3572         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3573         double exit.  Now that's all encapsulated via skip_ and Exit.
3574
3575 2012-01-04  Bruno Haible  <bruno@clisp.org>
3576
3577         Talk about "native Windows API", not "Win32".
3578         * lib/classpath.c: Update comments to mention native Windows.
3579         * lib/csharpexec.c: Likewise.
3580         * lib/dup2.c: Likewise.
3581         * lib/error.c: Likewise.
3582         * lib/fcntl.c: Likewise.
3583         * lib/filename.h: Likewise.
3584         * lib/findprog.c: Likewise.
3585         * lib/get-rusage-as.c: Likewise.
3586         * lib/get-rusage-data.c: Likewise.
3587         * lib/getpagesize.c: Likewise.
3588         * lib/javaexec.c: Likewise.
3589         * lib/msvc-inval.c: Likewise.
3590         * lib/msvc-nothrow.c: Likewise.
3591         * lib/nanosleep.c: Likewise.
3592         * lib/nonblocking.c: Likewise.
3593         * lib/printf-parse.c: Likewise.
3594         * lib/setlocale.c: Likewise.
3595         * lib/sigaction.c: Likewise.
3596         * lib/strerror_r.c: Likewise.
3597         * lib/tmpdir.c: Likewise.
3598         * lib/vasnprintf.c: Likewise.
3599         * lib/w32spawn.h: Likewise.
3600         * lib/waitpid.c: Likewise.
3601         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3602         * m4/locale-ar.m4: Likewise.
3603         * m4/locale-fr.m4: Likewise.
3604         * m4/locale-ja.m4: Likewise.
3605         * m4/locale-tr.m4: Likewise.
3606         * m4/locale-zh.m4: Likewise.
3607         * m4/printf.m4: Likewise.
3608         * tests/test-cloexec.c: Likewise.
3609         * tests/test-copy-acl.sh: Likewise.
3610         * tests/test-copy-file.sh: Likewise.
3611         * tests/test-file-has-acl.sh: Likewise.
3612         * tests/test-set-mode-acl.sh: Likewise.
3613         * tests/test-dup-safer.c: Likewise.
3614         * tests/test-dup2.c: Likewise.
3615         * tests/test-dup3.c: Likewise.
3616         * tests/test-fcntl.c: Likewise.
3617         * tests/test-nonblocking-pipe.h: Likewise.
3618         * tests/test-nonblocking-socket.h: Likewise.
3619         * tests/test-pipe.c: Likewise.
3620         * tests/test-pipe2.c: Likewise.
3621         * tests/test-spawn-pipe-child.c: Likewise.
3622         * doc/acl-resources.txt: Likewise.
3623         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3624         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3625         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3626         * lib/localcharset.c: Update comments to mention native Windows.
3627         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3628         * lib/localename.c: Likewise.
3629         * lib/progreloc.c: Likewise.
3630         * lib/relocatable.c: Likewise.
3631         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3632         (windows_compute_revents): Renamed from win32_compute_revents.
3633         (windows_compute_revents_socket): Renamed from
3634         win32_compute_revents_socket.
3635         * lib/select.c: Update comments to mention native Windows.
3636         (windows_poll_handle): Renamed from win32_poll_handle.
3637         * m4/threadlib.m4: Update comments to mention native Windows.
3638         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3639         --enable-threads=windows instead of --enable-threads=win32. Set
3640         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3641         * lib/glthread/lock.h: Update comments to mention native Windows.
3642         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3643         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3644         USE_WIN32_THREADS.
3645         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3646         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3647         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3648         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3649         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3650         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3651         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3652         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3653         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3654         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3655         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3656         * tests/test-tls.c: Likewise.
3657         Rationale:
3658         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3659         on both 32-bit and 64-bit Windows systems.
3660         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3661         line of distinction is between "native Windows" on one side and Unix/
3662         POSIX systems on the other side. More details in
3663         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3664         Suggested by Paul Eggert.
3665
3666 2012-01-03  Bruno Haible  <bruno@clisp.org>
3667
3668         isatty: Support for MSVC 9.
3669         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3670         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3671         (_isatty_nothrow): New function.
3672         (isatty): Use it instead of _isatty.
3673         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3674         * lib/poll.c (IsConsoleHandle): Likewise.
3675         * lib/select.c (IsConsoleHandle): Likewise.
3676         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3677         (gl_PREREQ_ISATTY): New macro.
3678         * modules/isatty (Depends-on): Add msvc-inval.
3679         (configure.ac): Invoke gl_PREREQ_ISATTY.
3680
3681 2012-01-03  Jim Meyering  <meyering@redhat.com>
3682
3683         maint.mk: remove temporary transition aid from over 1.5 years ago
3684         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3685         purpose was to aid in the transition (avoiding silent malfunction)
3686         from that old name to the new _sc_search_regexp.  This shim was
3687         added by commit 219c504b.
3688
3689         init.sh: do not try to accommodate compare arguments starting with "-"
3690         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3691         compare arguments that start with "-".  Besides, we do not worry
3692         about this when invoking diff or cmp; why start now with sed?
3693         Using "--" to separate options from argument would trigger sed
3694         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3695         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3696
3697 2012-01-02  Bruno Haible  <bruno@clisp.org>
3698
3699         Enhance tests for module 'isatty'.
3700         * modules/isatty-tests (Depends-on): Add pipe-posix.
3701         * tests/test-isatty.c: Include <fcntl.h>.
3702         (DEV_NULL): New macro.
3703         (main): Test the resut of isatty() also on regular files, pipes, and
3704         /dev/null.
3705
3706         New module 'isatty'.
3707         * lib/unistd.in.h (isatty): New declaration.
3708         * lib/isatty.c: New file, based on an idea of
3709         Bastien Roucariès <roucaries.bastien@gmail.com>.
3710         * m4/isatty.m4: New file.
3711         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3712         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3713         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3714         REPLACE_ISATTY.
3715         * modules/isatty: New file.
3716         * doc/posix-functions/isatty.texi: Mention the new module.
3717         Suggested by Paolo Bonzini.
3718
3719 2012-01-02  Bruno Haible  <bruno@clisp.org>
3720
3721         canonicalize: Tweak 2011-12-29 commit.
3722         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3723         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3724
3725 2012-01-02  Jim Meyering  <meyering@redhat.com>
3726
3727         gitlog-to-changelog: describe input syntax in --help output
3728         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3729
3730         gitlog-to-changelog: fix typo in --help: show backslash before email @
3731         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3732         in sources, but not in actual output.
3733
3734 2011-12-30  Jim Meyering  <meyering@redhat.com>
3735
3736         gitlog-to-changelog: don't malfunction when name contains %-directive
3737         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3738         in a name string cause trouble.  E.g., with a user name of "%s",
3739         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3740
3741 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3742
3743         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3744         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3745         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3746         the "  (tiny change)" notation that is appended to the standard
3747         ChangeLog "date  name  email" header line.
3748
3749 2012-01-01  Jim Meyering  <meyering@redhat.com>
3750
3751         test-framework-sh: init.sh: fix "make dist" failure
3752         When using gnulib-tool's --with-tests option and any module that
3753         depends on test-framework-sh, "make dist" would fail due to the
3754         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3755         in the gltests directory, and not in the gllib/ directory.
3756         One way to work around that is to move the EXTRA_DIST += init.sh
3757         from the primary module to the -tests one:
3758         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3759         * modules/test-framework-sh (Makefile.am): ...not here.
3760         Reported by Tom G. Christensen in
3761         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3762
3763         version-etc: update copyright year reported by --version
3764         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3765
3766 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3767
3768         canonicalize: only stat() if required
3769         * lib/canonicalize.c (canonicalize_filename_mode):
3770         Avoid calling l?stat() when both CAN_MISSING,
3771         and CAN_NOLINKS are set, as we neither need
3772         to resolve symlinks or test component existence.
3773
3774 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3775
3776         doc: cover st_ino issues once; add OpenVMS etc.
3777         * doc/posix-functions/stat.texi (stat):
3778         * doc/posix-functions/lstat.texi (lstat):
3779         * doc/posix-functions/fstatat.texi (fstatat):
3780         * doc/posix-functions/fstat.texi (fstat):
3781         Move general 'struct stat' stuff to sys_stat.texi,
3782         leaving behind a pointer.
3783         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3784         Merge duplicate info about 'struct stat' problems into here.
3785         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3786         and suggest partial workarounds.
3787
3788         same-inode: port to OpenVMS
3789         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3790         three st_ino values.
3791
3792 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3793
3794         canonicalize: fix references to stat() and lstat()
3795         * lib/canonicalize.c (canonicalize_filename_mode):
3796         Ensure references always resolve to a replacement
3797         function if required (even via a macro).
3798
3799 2011-12-30  Jim Meyering  <meyering@redhat.com>
3800
3801         gitlog-to-changelog: remove a little duplication
3802         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3803         rather than twice.
3804
3805 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3806
3807         canonicalize: add support for not resolving symlinks
3808         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3809         indicate we don't want to follow symlinks.  Also
3810         provide CAN_MODE_MASK to aid setting these existing
3811         mutually exclusive values.
3812         * lib/canonicalize.c (canonicalize_filename_mode):
3813         Extract the flags from can_mode parameter, which
3814         are currently just used to select between stat()
3815         and lstat().  Also ensure that mutually exclusive
3816         values are flagged immediately as invalid.
3817         * tests/test-canonicalize.c: Verify symlinks are
3818         not followed, and that invalid flag combinations
3819         are diagnosed.
3820
3821 2011-12-25  Jim Meyering  <meyering@redhat.com>
3822
3823         gitlog-to-changelog: do not clump multi-paragraph entries
3824         Identical header lines (date,name,email+coauthors) are suppressed,
3825         thus putting all entries with those same characteristics under
3826         a single header.  However, when a log entry consists of two or
3827         more paragraphs, it may not be clear where it starts and ends.
3828         This change makes it so that such an entry is always separated
3829         from others by a header line, even when that header would
3830         otherwise be suppressed.
3831         * build-aux/gitlog-to-changelog: Implement the above.
3832         Inspired by a related request from Stefano Lattarini in
3833         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3834
3835 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3836
3837         announce-gen: fix `cmd' typo in diagnostic
3838         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3839         diagnostic: a missing '$' meant that the command was not output.
3840
3841 2011-12-23  Jim Meyering  <meyering@redhat.com>
3842
3843         test-framework-sh: distribute init.sh
3844         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3845         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3846         fail due to the lack of init.sh.
3847
3848         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3849         * modules/atexit-tests: Rather than listing tests/init.sh,
3850         now that there's a module for it, simply depend on that new module.
3851         * modules/closein-tests: Likewise.
3852         * modules/exclude-tests: Likewise.
3853         * modules/getcwd-tests: Likewise.
3854         * modules/perror-tests: Likewise.
3855         * modules/pread-tests: Likewise.
3856         * modules/pwrite-tests: Likewise.
3857         * modules/vc-list-files-tests: Likewise.
3858         * modules/verify-tests: Likewise.
3859         * modules/xalloc-die-tests: Likewise.
3860         * modules/xstrtoimax-tests: Likewise.
3861         * modules/xstrtol-tests: Likewise.
3862         * modules/xstrtoll-tests: Likewise.
3863         * modules/xstrtoumax-tests: Likewise.
3864         * modules/yesno-tests: Likewise.
3865
3866 2011-12-22  Jim Meyering  <meyering@redhat.com>
3867
3868         test-framework-sh: add minimal tests of init.sh's compare function
3869         * modules/test-framework-sh-tests: New file.
3870         * tests/test-init.sh: New file.
3871
3872         test-framework-sh: new module
3873         * modules/test-framework-sh: New file.
3874         * MODULES.html.sh (Support for maintaining and releasing projects):
3875         List it.
3876
3877         init.sh: do not emit simulated diff output to stderr
3878         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3879
3880 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3881
3882         .gitignore: ignore gnulib.dvi and regex.info
3883         * doc/.gitignore:add gnulib.dvi and regex.info
3884
3885 2011-12-22  Jim Meyering  <meyering@redhat.com>
3886
3887         init.sh: correct previous change
3888         * tests/init.sh (compare): My previous change was wrong.
3889         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3890
3891         init.sh: avoid unwarranted test failure when using "set -e"
3892         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3893         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3894         a use like "compare exp out" would get evoke an unconditional failure.
3895
3896 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3897
3898         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3899         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3900         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3901         autoreconf that did not.
3902         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3903         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3904
3905 2011-12-17  Jim Meyering  <meyering@redhat.com>
3906
3907         bootstrap: remove some now-unneeded code
3908         This script arose back when gnulib-tool was young.
3909         Since then, it has seen improvements that render much of this
3910         script unnecessary.  In particular, it can now make symlinks
3911         to the files it uses.  Also, I no longer see as much value in
3912         marking files as read-only via comments.
3913         If you relied on the symlink-creation feature of the preceding
3914         version of this script, you can get most of that functionality
3915         by adding the --symlink option to the definition of
3916         gnulib_tool_option_extras in your bootstrap.conf file.
3917         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3918         Run autopoint and libtoolize *before* gnulib-tool.
3919         After it, run an abbreviated autoreconf, rather than a loop around
3920         all tools.
3921         (slirp, bt_mark_as_generated): Remove functions.
3922
3923 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3924
3925         ftoastr: fix typo
3926         * lib/ftoastr.h: Fix misspelling in comment.
3927
3928 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3929
3930         * top/README-release: fix punctuation.
3931
3932 2011-12-17  Jim Meyering  <meyering@redhat.com>
3933
3934         bootstrap: correct the recent buildreq change
3935         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3936         had no effect.
3937         * build-aux/bootstrap (buildreq): Bracket each search term with
3938         "*...*", so that the shell "case" statement works as intended.
3939         Add comments.
3940
3941 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3942
3943         build: let bootstrap resort to wget when downloading .po files
3944         * build-aux/bootstrap (download_po_files): Fallback to wget when
3945         downloading the .po files via rsync fails.  This is necessary to
3946         bootstrap from behind a strict firewall.
3947
3948 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3949
3950         stdint: don't assume C++11 when compiling with g++
3951         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3953         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3954         work also in C++ before C++11, as that improperly inhibits
3955         generating a substitute stdint.h for that case.
3956
3957 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3958
3959         alloca: protect comment from gnulib-tool
3960         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3961         that gnulib-tool doesn't think it's a license, and munge it to
3962         say "GCC version 3".
3963
3964 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3965
3966         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3967         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3968         $(abs_top_builddir) instead of $(top_builddir).
3969
3970 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3971
3972         strftime-tests: also test nanoseconds
3973         * tests/test-strftime.c (T): Add a test of %N.
3974
3975 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3976
3977         inttypes, stdint: add C++11 support
3978         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3979         when including inttypes.h and stdint.h.  Support this change to
3980         the standard.
3981         * doc/posix-headers/inttypes.texi (inttypes.h):
3982         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3983         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3984         Define if not defined already, for the benefit of pre-C++11 hosts.
3985         Define the standard format macros (e.g., PRId8) always.
3986         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3987         Likewise, if __cpluspus.  Define the standard constant and limit
3988         macros (e.g., INT8_C, INT8_MAX) always.
3989         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3990         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3991         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3992         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3993         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3994         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3995         Likewise.
3996
3997 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3998
3999         nonblocking tests: Fix test failure on Linux/PPC.
4000         Suggested by Prerna Saxena in
4001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4002         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4003         Set to 1100000.
4004
4005 2011-12-12  Jim Meyering  <meyering@redhat.com>
4006
4007         argmatch: don't hard-code `' when listing valid option arguments
4008         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4009         use the quote function to add quotes.  Use fputs rather than
4010         fprintf for the format string with no format directive.
4011
4012 2011-12-07  Eric Blake  <eblake@redhat.com>
4013
4014         bootstrap: detect tools required by gnulib-tool
4015         * build-aux/bootstrap (buildreq): Provide minimum implicit
4016         dependencies.
4017         * DEPENDENCIES: Mention patch as a prereq.
4018
4019 2011-12-04  Bruno Haible  <bruno@clisp.org>
4020
4021         sethostname: Port to Windows platforms.
4022         * lib/sethostname.c: Provide an alternate implementation for Windows
4023         platforms.
4024         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4025         (main): Skip the test if sethostname() fails with EPERM. On Windows
4026         platforms, don't check the result of gethostname().
4027
4028 2011-12-04  Bruno Haible  <bruno@clisp.org>
4029             Jim Meyering  <meyering@redhat.com>
4030
4031         tests: Avoid spurious error message on platforms without mktemp program.
4032         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4033
4034 2011-12-04  Bruno Haible  <bruno@clisp.org>
4035
4036         sethostname: Fix documentation.
4037         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4038         "not fixed" section.
4039
4040 2011-12-03  Bruno Haible  <bruno@clisp.org>
4041
4042         gnulib-tool: Verify that the License field is present and non-empty.
4043         * gnulib-tool (func_get_license_raw): New function, extracted from
4044         func_get_license.
4045         (func_get_license): Use it. Warn if the module is not a test module and
4046         has no license.
4047         Suggested by Jim Meyering.
4048
4049 2011-12-03  Bruno Haible  <bruno@clisp.org>
4050
4051         sethostname tests: Fix link error on mingw.
4052         * tests/test-sethostname1.c: New file, extracted from
4053         tests/test-sethostname.c.
4054         * tests/test-sethostname2.c: New file, extracted from
4055         tests/test-sethostname.c.
4056         * tests/test-sethostname.c: Remove file.
4057         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4058         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4059         (Depends-on): Add gethostname.
4060         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4061         Link the latter with $(GETHOSTNAME_LIB).
4062
4063         sethostname tests: Fix compilation error on mingw.
4064         * tests/test-sethostname.c: Don't include <sys/types.h>.
4065         (geteuid): Use a dummy value without uid_t.
4066         * modules/sethostname-tests (Depends-on): Remove sys_types.
4067
4068         sethostname tests: Avoid a gcc warning.
4069         * tests/test-sethostname.c (main): Remove an unused variable.
4070
4071         Tweak last commit.
4072         * modules/sethostname-tests (Files): Sort by decreasing importance.
4073         (configure.ac): Check for geteuid.
4074         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4075         the test when there's nothing to test. Drop an unnecessary cast.
4076         Improve an error message. Verify that the final sethostname() call
4077         succeeds.
4078
4079 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4080
4081         Add a test suite for the sethostname module.
4082         * modules/sethostname-tests: New file.  A test program
4083         for the sethostname module.
4084         * tests/test-sethostname.c: Likewise.
4085
4086 2011-12-03  Bruno Haible  <bruno@clisp.org>
4087
4088         Tweak last commit.
4089         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4090         Fix preprocessor directives indentation. Fix typos.
4091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4092         * modules/unistd (Makefile): Likewise.
4093
4094 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4095
4096         Integrate the sethostname module into unistd.
4097         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4098         into the unistd.h header.
4099         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4100         preprocessor directives.
4101         * modules/unistd: Setup the Makefile substitutions of the
4102         SETHOSTNAME preprocessor directives.
4103
4104 2011-12-03  Bruno Haible  <bruno@clisp.org>
4105
4106         Tweak last commit.
4107         * lib/sethostname.c: Don't include <string.h>.
4108         (sethostname): No need to copy the argument string to the stack. Don't
4109         call clearerr. Preserve errno when fprintf failed.
4110         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4111         Don't invoke AC_REPLACE_FUNCS.
4112         * modules/sethostname (Link): Remove empty section.
4113         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4114         failure problem.
4115
4116 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4117
4118         New module 'sethostname'.
4119         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4120         for systems that lack it.
4121         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4122         sethostname declaration and function.
4123         * modules/sethostname: New file.  Define the sethostname module.
4124
4125 2011-12-03  Bruno Haible  <bruno@clisp.org>
4126
4127         Tweak last commit.
4128         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4129
4130 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4131
4132         Split the HOST_NAME_MAX detection into a separate m4 macro.
4133         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4134         macro so it can be used by the pending sethostname module.
4135
4136 2011-12-03  Bruno Haible  <bruno@clisp.org>
4137
4138         Fix module descriptions syntax.
4139         * modules/argv-iter (License): Fix syntax.
4140         * modules/di-set (License): Likewise.
4141         * modules/ino-map (License): Likewise.
4142         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4143
4144 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4145
4146         stdalign: port to Clang 3.0
4147         Problem reported by Simon Josefsson in
4148         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4149         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4150         which has <stdalign.h> but which does not define alignof.
4151         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4152
4153 2011-12-01  Eric Blake  <eblake@redhat.com>
4154
4155         mktempd: silence dd usage
4156         * build-aux/mktempd (rand_bytes): Silence dd.
4157
4158 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4159
4160         manywarnings: Don't mention gcc version in docstring.
4161         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4162         Jim Meyering <meyering@redhat.com>.
4163
4164 2011-11-30  Jim Meyering  <meyering@redhat.com>
4165
4166         hash: mark a few floating point constants with "f" suffix
4167         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4168         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4169         floating point constants with "f", since they're destined to be
4170         saved/used as "float"s.
4171
4172 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4173
4174         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4175         * tests/test-float.c (test_long_double): Correct and re-enable the
4176         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4177
4178 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4179
4180         Avoid subtracting two pointers that don't point into the same block.
4181         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4182         only pointers into the same memory block are subtracted. We cannot
4183         assume that sizeof (ptrdiff_t) == sizeof (void *).
4184
4185 2011-11-29  Eric Blake  <eblake@redhat.com>
4186
4187         maint.mk: add syntax check for use of compare from init.sh
4188         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4189         moved here from coreutils.
4190
4191         manywarnings: drop -Wunsuffixed-float-constants
4192         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4193         '1.0D', which is the only way to silence this warning for 'double'.
4194
4195 2011-11-29  Jim Meyering  <meyering@redhat.com>
4196
4197         hash: mark compute_bucket_size with the pure attribute
4198         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4199
4200         quotearg, propername: correct pragma guard expression
4201         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4202         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4203
4204 2011-11-28  Jim Meyering  <meyering@redhat.com>
4205
4206         propername: do not mark proper_name with the const attribute
4207         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4208         since it examines data pointed to by its parameter.
4209         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4210         the suggestion from -Wsuggest-attribute=const.
4211
4212         propername: mark one more function as const
4213         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4214
4215 2011-11-27  Jim Meyering  <meyering@redhat.com>
4216
4217         mark functions with const and pure attributes
4218
4219         Mark functions per suggestions from gcc-4.6 when using these options:
4220         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4221         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4222         Follow these guidelines: when possible, apply the attribute to
4223         an extern declaration, not to its definition.  Apply it to the
4224         definition only when the definition is static.
4225         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4226         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4227         * lib/base64.h (isbase64): Likewise.
4228         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4229         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4230         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4231         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4232         (c_tolower, c_toupper): Likewise.
4233         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4234         * lib/chdir-long.c (find_non_slash): Likewise.
4235         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4236         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4237         * lib/file-type.h (file_type): Likewise.
4238         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4239         * lib/filevercmp.c (verrevcmp): Likewise.
4240         * lib/freadahead.h (freadahead): Likewise.
4241         * lib/fts.c (fts_maxarglen): Likewise.
4242         * lib/hash-pjw.h (hash_pjw): Likewise.
4243         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4244         * lib/hash.c (is_prime, next_prime): Likewise.
4245         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4246         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4247         (hash_table_ok, hash_get_first, hash_string): Likewise.
4248         (compute_bucket_size): Likewise.
4249         * lib/i-ring.h (i_ring_empty): Likewise.
4250         * lib/isnan.c (isnanl): Likewise.
4251         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4252         * lib/memcasecmp.h (memcasecmp): Likewise.
4253         * lib/memchr2.h (memchr2): Likewise.
4254         * lib/memcmp2.h (memcmp2): Likewise.
4255         * lib/parse-datetime.y (lookup_zone): Likewise.
4256         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4257         [!WINDOWS_SOCKETS]: Likewise.
4258         * lib/strnlen1.h (strnlen1): Likewise.
4259         * lib/uniwidth.in.h (uc_width): Likewise.
4260         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4261         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4262         (quoting_options_from_style): Add a comment.
4263         * lib/propername.h (proper_name): Add a comment.
4264
4265 2011-11-27  Bruno Haible  <bruno@clisp.org>
4266
4267         Remove unused macros from !_LIBC code in glibc-borrowed files.
4268         * lib/fnmatch.c (STRCOLL): Remove macro.
4269         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4270         * lib/glob.c (__stat, __readdir64): Remove macros.
4271         * lib/tempname.c (__open64, __xstat64): Remove macros.
4272         Suggested by Paul Eggert.
4273
4274 2011-11-27  Bruno Haible  <bruno@clisp.org>
4275
4276         getcwd: Fix link error on MSVC 9.
4277         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4278
4279 2011-11-27  Bruno Haible  <bruno@clisp.org>
4280
4281         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4282         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4283         HAVE_OPENDIR is 0.
4284         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4285         HAVE_CLOSEDIR is 0.
4286         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4287         is 0.
4288         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4289
4290 2011-11-27  Bruno Haible  <bruno@clisp.org>
4291
4292         getcwd: Fix bug from 2011-08-17.
4293         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4294         platforms that need it.
4295         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4296         code of 4 to be a failure, not a success. This ensures that
4297         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4298
4299 2011-11-27  Bruno Haible  <bruno@clisp.org>
4300
4301         binary-io tests: Avoid test failure on mingw when libtool is used.
4302         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4303         Don't verify the size of t-bin-out1.tmp here.
4304         * tests/test-binary-io.sh: Verify it here.
4305         Reported by Simon Josefsson.
4306
4307 2011-11-26  Bruno Haible  <bruno@clisp.org>
4308
4309         Fix conflict between two instantiations of module 'unistd'.
4310         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4311         ${include_guard_prefix} also in the autoconf snippet.
4312         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4314         GNULIB_UNISTD_H_GETOPT.
4315         * modules/getopt-posix (configure.ac): Set the
4316         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4317         * modules/getopt-gnu (configure.ac): Likewise.
4318         * modules/unistd (Makefile.am): Change the substitution value of
4319         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4320         Reported by Simon Josefsson.
4321
4322 2011-11-25  Bruno Haible  <bruno@clisp.org>
4323
4324         pagealign_alloc: Doc and comments.
4325         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4326         module.
4327         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4328
4329 2011-11-25  Jim Meyering  <meyering@redhat.com>
4330
4331         test-update-copyright.sh: avoid false-positive failure
4332         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4333         around false positive failure on Cygwin/Windows.  The latter was
4334         matching erroneously-created files with names like
4335         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4336
4337 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4338
4339         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4340         * m4/valgrind-tests.m4: Check that the parameters that will be
4341         used works, not just a subset of them.  Reported by Bruno Haible
4342         <bruno@clisp.org>.
4343
4344 2011-11-24  Jim Meyering  <meyering@redhat.com>
4345
4346         test-stdalign.c: comment out long double tests
4347         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4348         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4349         error: '_Alignas' specifiers cannot reduce alignment of \
4350         'static_longdouble_alignas'.
4351
4352 2011-11-22  Jim Meyering  <meyering@redhat.com>
4353
4354         init.sh: make "compare /dev/null FILE" output more readable
4355         * tests/init.sh (compare_): Document the preferred order of arguments.
4356         (emit_diff_u_header_): New function.
4357         (compare_dev_null_): Emit a simulated diff, rather than just the
4358         contents of the unexpected file.  Suggestion from Bruno Haible.
4359
4360 2011-11-21  Jim Meyering  <meyering@redhat.com>
4361             Eric Blake  <eblake@redhat.com>
4362
4363         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4364         * tests/init.sh: Make our compare function slightly more portable.
4365         Reported by Bruno Haible in
4366         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4367
4368 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4369
4370         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4371         before using it, in code that ends up in config.h.
4372
4373 2011-11-20  Bruno Haible  <bruno@clisp.org>
4374
4375         getcwd: Work around getcwd bug on AIX 5..7.
4376         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4377         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4378         Use a different value for gl_cv_func_getcwd_path_max. Move the
4379         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4380         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4381         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4382         Define HAVE_MINIMALLY_WORKING_GETCWD.
4383         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4384         where it is not even minimally working, that is, on AIX.
4385         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4386         m4/getcwd-path-max.m4.
4387         (main): Update exit code computation.
4388         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4389         getcwd does not handle long file names.
4390
4391 2011-11-20  Bruno Haible  <bruno@clisp.org>
4392
4393         getcwd: Fix bug from 2009-09-10.
4394         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4395         like "no".
4396
4397 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4398
4399         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4400
4401 2011-11-20  Bruno Haible  <bruno@clisp.org>
4402
4403         fma tests: Avoid shadowing local variables.
4404         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4405         expected.
4406
4407 2011-11-20  Bruno Haible  <bruno@clisp.org>
4408
4409         copysignf tests: Fix.
4410         * tests/test-copysignf.c: Fix signature check.
4411
4412 2011-11-20  Bruno Haible  <bruno@clisp.org>
4413
4414         fma: Remove unused code.
4415         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4416         unused macros.
4417
4418 2011-11-20  Bruno Haible  <bruno@clisp.org>
4419
4420         sethostname: Fix doc about AIX.
4421         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4422         sethostname; it has it.
4423
4424         sethostname: Mention more portability problems.
4425         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4426         problem.
4427         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4428
4429 2011-11-19  Bruno Haible  <bruno@clisp.org>
4430
4431         Depend on module fcntl-h when AT_FDCWD is used.
4432         * modules/utimens (Depends-on): Add fcntl-h.
4433         * modules/areadlinkat (Depends-on): Likewise.
4434         * modules/areadlinkat-with-size (Depends-on): Likewise.
4435         * modules/faccessat (Depends-on): Likewise.
4436         * modules/fchmodat (Depends-on): Likewise.
4437         * modules/fchownat (Depends-on): Likewise.
4438         * modules/getcwd (Depends-on): Likewise.
4439         * modules/mkdirat (Depends-on): Likewise.
4440         * modules/mkfifoat (Depends-on): Likewise.
4441         * modules/readlinkat (Depends-on): Likewise.
4442         * modules/symlinkat (Depends-on): Likewise.
4443         * modules/dup2-tests (Depends-on): Likewise.
4444         * modules/fdutimensat-tests (Depends-on): Likewise.
4445         * modules/futimens-tests (Depends-on): Likewise.
4446
4447 2011-11-19  Bruno Haible  <bruno@clisp.org>
4448
4449         euidaccess: Update a comment.
4450         * lib/euidaccess.c: Update comment about platforms with faccessat.
4451
4452 2011-11-19  Bruno Haible  <bruno@clisp.org>
4453
4454         openat: Fix file list.
4455         * modules/openat (Files): Remove lib/at-func.c.
4456
4457 2011-11-19  Bruno Haible  <bruno@clisp.org>
4458
4459         fstatat: Simplify.
4460         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4461         gnulib should define rpl_fstatat, there is a
4462         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4463
4464 2011-11-19  Bruno Haible  <bruno@clisp.org>
4465
4466         Ensure 'inline' can be used in tests/test-utimens-common.h.
4467         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4468         * modules/futimens-tests (configure.ac): Likewise.
4469         * modules/utimens-tests (configure.ac): Likewise.
4470         * modules/utimensat-tests (configure.ac): Likewise.
4471
4472 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4473
4474         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4475         not hash_insert0.
4476         (hash_insert_if_absent): Doc fix.
4477
4478 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4479
4480         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4481
4482 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4483
4484         test-getcwd: disambiguate exit status
4485         * tests/test-getcwd.c (test_long_name): Return 0..7.
4486         (main): Exit with an unambiguous exit status.  The old
4487         code yielded a mysterious mixture of two failure codes.
4488
4489         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4490         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4491         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4492         rpl_fstatat or fstatat.  This should fix the other problem
4493         reported by Kai Habel in
4494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4495         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4496         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4497         and I reproduced it on a Solaris 8 host we still have in production.
4498
4499 2011-11-18  Jim Meyering  <meyering@redhat.com>
4500
4501         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4502         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4503         Add a sentence to the comment.
4504         (hash_insert0): New function that simply calls hash_insert_if_absent.
4505         * lib/hash.h (hash_insert_if_absent): Declare it.
4506         (hash_insert0): Add deprecation attribute.
4507         (_GL_ATTRIBUTE_DEPRECATED): Define.
4508         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4509         not hash_insert0.
4510         * NEWS: Mention it, even though it's not really an incompatible change.
4511
4512 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4513
4514         openat: avoid compilation failure due to lack of <errno.h> inclusion
4515         * lib/openat.c: Include <errno.h>.
4516
4517 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4518
4519         * modules/getcwd (Depends-on): Add fdopendir.
4520         This fixes one of the two problems reported by Kai Habel in
4521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4522
4523         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4524         stdalign problem reported by Ian Beckwith in
4525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4526         * modules/crypto/gc-arcfour (Depends-on):
4527         Depend conditionally on crypto/arcfour.
4528         * modules/crypto/gc-arctwo (Depends-on):
4529         Depend conditionally on crypto/arctwo.
4530         * modules/crypto/gc-des (Depends-on):
4531         Depend conditionally on crypto/des.
4532         * modules/crypto/gc-hmac-md5 (Depends-on):
4533         Depend conditionally on crypto/hmac-md5.
4534         * modules/crypto/gc-hmac-sha1 (Depends-on):
4535         Depend conditionally on crypto/hmac-sha1.
4536         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4537         * modules/crypto/gc-md4 (Depends-on):
4538         Depend conditionally on crypto/md4.
4539         * modules/crypto/gc-md5 (Depends-on):
4540         Depend conditionally on crypto/md5.
4541         * modules/crypto/gc-rijndael (Depends-on):
4542         Depend conditionally on crypto/rijndael.
4543         * modules/crypto/gc-sha1 (Depends-on):
4544         Depend conditionally on crypto/sha1.
4545         * modules/crypto/gc-arcfour:
4546         * modules/crypto/gc-arctwo:
4547         * modules/crypto/gc-des:
4548         * modules/crypto/gc-hmac-md5:
4549         * modules/crypto/gc-hmac-sha1:
4550         * modules/crypto/gc-md2:
4551         * modules/crypto/gc-md4:
4552         * modules/crypto/gc-md5:
4553         * modules/crypto/gc-rijndael:
4554         * modules/crypto/gc-sha1:
4555         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4556         now that the conditional dependencies do the work for us.
4557
4558 2011-11-17  Jim Meyering  <meyering@redhat.com>
4559
4560         tests: factor st_ctime-comparison out of two headers
4561         * tests/test-utimens-common.h (ctime_compare): Define.
4562         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4563         * tests/test-lutimens.h (test_lutimens): Likewise.
4564         * tests/test-utimens.h (test_utimens): Likewise.
4565
4566         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4567         Invoke the test program via an init.sh-using wrapper.
4568         * tests/test-getcwd.sh: New file.
4569         * modules/getcwd-tests (Files): Add it.
4570         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4571
4572 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4573
4574         gitlog-to-changelog: support multi-author commits.
4575         The FSF cares about keeping track of all authors of patches to its
4576         projects, but Git doesn't provide obvious support for multi-author
4577         changesets. Consensus seems to be forming around the use of extra
4578         Signed-off-by inspired lines in the log message formatted as
4579         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4580         multi-author commits between version control systems.
4581         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4582         log message and output in standard ChangeLog multi-author format.
4583         Reported by Peter Rosin <peda@lysator.liu.se>
4584
4585 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4586             Bruno Haible  <bruno@clisp.org>
4587
4588         Fix some modules' file list.
4589         * modules/fstatat (Files): Add m4/lstat.m4.
4590         * modules/openat (Files): Likewise.
4591         * modules/unlinkat (Files): Likewise.
4592
4593 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4594
4595         maint.mk: fix tight-scope.mk generation in VPATH builds.
4596         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4597         reference with $(srcdir) so that the file is found correctly even
4598         when running `make syntax-check' in a VPATH build.
4599
4600 2011-11-13  Bruno Haible  <bruno@clisp.org>
4601             Jim Meyering  <meyering@redhat.com>
4602
4603         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4604         * tests/init.sh (compare): Remove "No differences encountered" or
4605         synonymous output from the 'diff' program.
4606
4607 2011-11-13  Bruno Haible  <bruno@clisp.org>
4608
4609         Makefile: Tweak indentation.
4610         * Makefile: Use tab as first character in every line that contains rule
4611         commands.
4612
4613 2011-11-13  Bruno Haible  <bruno@clisp.org>
4614
4615         Syntax check for copyright statements.
4616         * check-copyright: New file.
4617         * Makefile (sc_check_copyright): New rule.
4618
4619 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4620
4621         * build-aux/git-version-gen: Add --prefix to configure the tag
4622         match string.
4623
4624 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4625
4626         * build-aux/git-version-gen: Add --help and --version.
4627
4628 2011-11-12  Jim Meyering  <meyering@redhat.com>
4629
4630         revamp the other test-exclude?.sh scripts to use init.sh, too
4631         * tests/test-exclude1.sh: Use init.sh.
4632         * tests/test-exclude2.sh: Likewise.
4633         * tests/test-exclude3.sh: Likewise.
4634         * tests/test-exclude4.sh: Likewise.
4635         * tests/test-exclude5.sh: Likewise.
4636         * tests/test-exclude6.sh: Likewise.
4637         * tests/test-exclude7.sh: Likewise.
4638         * tests/test-exclude8.sh: Likewise.
4639         * modules/exclude-tests (Files): List init.sh.
4640
4641         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4642         These shell scripts ignored failure of the binary test-exclude,
4643         so making the latter return 77 didn't cause them to be skipped.
4644         * tests/test-exclude5.sh: Exit with test-exclude's error status
4645         when that program fails.  Revamp to use init.sh.
4646         * tests/test-exclude2.sh: Likewise.
4647
4648         test-exclude: fix a typo
4649         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4650
4651 2011-11-11  Bruno Haible  <bruno@clisp.org>
4652
4653         obstack: Fix compilation error on MSVC 9.
4654         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4655
4656 2011-11-11  Jim Meyering  <meyering@redhat.com>
4657
4658         test-exclude: skip tests rather than failing on deficient systems
4659         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4660         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4661         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4662         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4663
4664 2011-11-10  Bruno Haible  <bruno@clisp.org>
4665
4666         ptsname_r test: Avoid gcc warning on glibc systems.
4667         * tests/test-ptsname_r.c (null_ptr): New function.
4668         (test_errors): Use it.
4669
4670 2011-11-10  Bruno Haible  <bruno@clisp.org>
4671
4672         ptsname_r: Avoid compilation error on OSF/1 5.1.
4673         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4675         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4676         function is not declared or incompatibly declared.
4677         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4678         * modules/ptsname_r (Depends-on, configure.ac): Update.
4679         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4680
4681 2011-11-10  Bruno Haible  <bruno@clisp.org>
4682
4683         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4684         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4685         When cross-compiling, guess yes on all platforms except AIX.
4686         Reported by Ludovic Courtès <ludo@gnu.org>.
4687
4688 2011-11-09  Bruno Haible  <bruno@clisp.org>
4689
4690         ptsname_r tests: Fix bugs.
4691         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4692         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4693
4694 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         fstatat: work with cross-compilation
4697         Problem reported by Ludovic Courtès in
4698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4699         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4700         "cross-compiling" and assume the bug is present.  Replace
4701         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4702         an inverted sense, to be more conservative about our assumptions.
4703         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4704
4705 2011-11-09  Bruno Haible  <bruno@clisp.org>
4706
4707         Improve MODULES.html output.
4708         * modules/mkfifoat (Description): Use the word "function".
4709         * modules/readlinkat (Description): Likewise.
4710         * modules/symlinkat (Description): Likewise.
4711
4712 2011-11-09  Eric Blake  <eblake@redhat.com>
4713
4714         ptsname_r-tests: new test module
4715         * modules/ptsname_r-tests: New module.
4716         * tests/test-ptsname_r.c: New file.
4717
4718         ptsname_r: new module
4719         * modules/ptsname_r: New module.
4720         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4721         * lib/ptsname.c (__ptsname_r): Split...
4722         * lib/ptsname_r.c: ...into new file.
4723         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4724         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4725         * modules/stdlib (Makefile.am): Substitute witnesses.
4726         * lib/stdlib.in.h (ptsname_r): Declare it.
4727         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4728         * MODULES.html.sh (Misc): Likewise.
4729         * modules/ptsname (Depends-on): Alter dependency.
4730         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4731
4732 2011-11-09  Jim Meyering  <meyering@redhat.com>
4733
4734         announce-gen: be more concise when there's only one URL+tarball
4735         * build-aux/announce-gen (get_tool_versions): When you distribute
4736         only one type of tarball, combine the first two "Here are..."
4737         sections and make the key-checking grammar independent of
4738         how many tarballs there are.
4739
4740 2011-11-09  Eric Blake  <eblake@redhat.com>
4741
4742         openpty: provide a stub on mingw
4743         * lib/pty.in.h (includes): Provide forward declarations.
4744         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4745
4746         raise: fix mingw handling of SIGPIPE
4747         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4748
4749 2011-11-08  Bruno Haible  <bruno@clisp.org>
4750
4751         More conditional dependencies.
4752         * modules/faccessat (Depends-on): Add conditions.
4753         * modules/fchmodat (Depends-on): Likewise.
4754         * modules/fchownat (Depends-on): Likewise.
4755         * modules/fstatat (Depends-on): Likewise.
4756         * modules/mkfifoat (Depends-on): Likewise.
4757         * modules/readlinkat (Depends-on): Likewise.
4758         * modules/symlinkat (Depends-on): Likewise.
4759         * modules/unlinkat (Depends-on): Likewise.
4760         * modules/utimensat (Depends-on): Likewise.
4761         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4762         * modules/linkat (Depends-on): Refine the conditions.
4763         * modules/renameat (Depends-on): Likewise.
4764
4765 2011-11-08  Bruno Haible  <bruno@clisp.org>
4766
4767         faccessat: Move AC_LIBOBJ invocation to module description.
4768         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4769         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4770         invocation from here...
4771         * modules/faccessat (configure.ac): ... to here. Invoke
4772         gl_PREREQ_FACCESSAT.
4773
4774 2011-11-08  Bruno Haible  <bruno@clisp.org>
4775
4776         faccessat: Simplify autoconf macro.
4777         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4778         gl_FUNC_EUIDACCESS.
4779
4780 2011-11-08  Bruno Haible  <bruno@clisp.org>
4781
4782         renameat: Fix dependencies.
4783         * modules/renameat (Depends-on): Add stdbool.
4784
4785 2011-11-08  Bruno Haible  <bruno@clisp.org>
4786
4787         mkfifoat: Fix module description.
4788         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4789         not gl_UNISTD_MODULE_INDICATOR.
4790
4791 2011-11-08  Bruno Haible  <bruno@clisp.org>
4792
4793         fstatat: Remove unused dependency.
4794         * modules/fstatat (Depends-on): Remove fstat.
4795
4796 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4797
4798         GNUmakefile: behave when Makefile is missing.
4799         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4800
4801 2011-11-08  Bruno Haible  <bruno@clisp.org>
4802
4803         openat: Conditionalize dependencies.
4804         * lib/openat.c: Reduce the scope of some #includes.
4805         * modules/openat (Depends-on): Add conditions.
4806
4807 2011-11-07  Jim Meyering  <meyering@redhat.com>
4808
4809         maint.mk: extract GPG key ID without using a temporary file
4810         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4811         without using a temporary file.  Based on a suggestion from Werner Koch
4812         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4813
4814 2011-11-07  Eric Blake  <eblake@redhat.com>
4815
4816         grantpt: fix typo
4817         * lib/stdlib.in.h (grantpt): Check correct function.
4818
4819         maint.mk: silence new syntax check
4820         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4821
4822 2011-11-06  Bruno Haible  <bruno@clisp.org>
4823
4824         Doc about floating-point and math API.
4825         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4826         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4827
4828 2011-11-06  Bruno Haible  <bruno@clisp.org>
4829
4830         stdalign tests: Skip the test when compiled by Sun C.
4831         * tests/test-stdalign.c (main): Skip the test on Sun C.
4832
4833 2011-11-06  Bruno Haible  <bruno@clisp.org>
4834
4835         ansi-c++-opt: Complete the 2011-06-05 change.
4836         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4837         does not support namespaces, set the variable to "no", not to ":".
4838
4839 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4840
4841         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4842
4843 2011-11-06  Bruno Haible  <bruno@clisp.org>
4844
4845         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4846         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4847         (minus_zerol) [HP-UX]: New macro.
4848         (unary_minus) [HP-UX]: New function.
4849         (copysignl) [HP-UX]: Use unary_minus function.
4850
4851 2011-11-06  Bruno Haible  <bruno@clisp.org>
4852
4853         ldexp, ldexpf, ldexpl: Enhance tests.
4854         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4855         and tests/test-ldexpl.c.
4856         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4857         LDEXP, MIN_EXP, MAX_EXP): New macros.
4858         Include test-ldexp.h.
4859         (main): Just call test_function.
4860         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4861         infinity.h, nan.h.
4862         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4863         MAX_EXP): New macros.
4864         Include test-ldexp.h.
4865         (x, y): Remove variables.
4866         (main): Just call test_function.
4867         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4868         infinity.h, nan.h.
4869         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4870         MAX_EXP): New macros.
4871         Include test-ldexp.h.
4872         (x, y): Remove variables.
4873         (main): Just call test_function.
4874         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4875         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4876         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4877         (Depends-on): Add isnand-nolibm, signbit, float.
4878         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4879         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4880         (Depends-on): Add isnanf-nolibm, signbit, float.
4881
4882 2011-11-06  Bruno Haible  <bruno@clisp.org>
4883
4884         math tests: Cosmetics.
4885         * tests/test-math-c++.cc: Reorder declarations.
4886
4887 2011-11-05  Bruno Haible  <bruno@clisp.org>
4888
4889         fma*: Simplify test.
4890         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4891         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4892
4893         Tests for module 'fmal'.
4894         * modules/fmal-tests: New file.
4895         * tests/test-fmal1.c: New file.
4896         * tests/test-fmal2.c: New file.
4897
4898         New module 'fmal'.
4899         * lib/math.in.h (fmal): New declaration.
4900         * lib/fmal.c: New file.
4901         * m4/fmal.m4: New file.
4902         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4904         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4905         REPLACE_FMAL.
4906         * modules/fmal: New file.
4907         * doc/posix-functions/fmal.texi: Mention the new module and the various
4908         bugs.
4909
4910         Tests for module 'fmaf'.
4911         * modules/fmaf-tests: New file.
4912         * tests/test-fmaf1.c: New file.
4913         * tests/test-fmaf2.c: New file.
4914
4915         New module 'fmaf'.
4916         * lib/math.in.h (fmaf): New declaration.
4917         * lib/fmaf.c: New file.
4918         * m4/fmaf.m4: New file.
4919         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4921         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4922         REPLACE_FMAF.
4923         * modules/fmaf: New file.
4924         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4925         bugs.
4926
4927         Tests for module 'fma'.
4928         * modules/fma-tests: New file.
4929         * tests/test-fma1.c: New file.
4930         * tests/test-fma1.h: New file.
4931         * tests/test-fma2.c: New file.
4932         * tests/test-fma2.h: New file.
4933
4934         New module 'fma'.
4935         * lib/math.in.h (fma): New declaration.
4936         * lib/fma.c: New file.
4937         * m4/fma.m4: New file.
4938         * m4/fegetround.m4: New file.
4939         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4941         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4942         REPLACE_FMA.
4943         * modules/fma: New file.
4944         * doc/posix-functions/fma.texi: Mention the new module and the various
4945         bugs.
4946
4947         Extend gl_MATHFUNC.
4948         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4949         Support 'void' as argument type.
4950         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4951
4952 2011-11-05  Jim Meyering  <meyering@redhat.com>
4953
4954         maint.mk: also prohibit inclusion of dirent.h without use
4955         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4956
4957 2011-11-05  Bruno Haible  <bruno@clisp.org>
4958
4959         ldexpl tests: Avoid test failure on MSVC 9.
4960         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4961         value. Needed in order to enforce the conversion from a value greater
4962         than LDBL_MAX to Infinity.
4963
4964 2011-11-05  Bruno Haible  <bruno@clisp.org>
4965
4966         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4967         * modules/at-internal: New file, extracted from modules/openat.
4968         * modules/openat-h: New file.
4969         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4970         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4971         * modules/openat (Description): Add reference to POSIX function.
4972         (Files): Remove lib/openat.h, lib/openat-proc.c.
4973         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4974         intprops, unistd.
4975         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4976         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4977         gl_FCNTL_MODULE_INDICATOR.
4978         (Include): Remove unistd.h, openat.h.
4979         * modules/areadlinkat (Files): Add lib/at-func.c.
4980         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4981         openat-die, openat-h, save-cwd.
4982         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4983         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4984         openat-die, openat-h, save-cwd, unistd.
4985         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4986         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4987         openat-h, save-cwd. Remove fcntl-h, openat.
4988         * modules/fchmodat (Files): Remove lib/openat.h.
4989         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4990         openat, stdbool, unistd.
4991         * modules/fchownat (Files): Remove lib/openat.h.
4992         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4993         openat, stdbool, sys_stat.
4994         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4995         lib/openat-proc.c.
4996         (Depends-on): Add at-internal.
4997         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4998         * modules/fstatat (Files): Remove lib/openat.h.
4999         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5000         stdbool, unistd.
5001         * modules/fts (Depends-on): Add openat-h.
5002         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5003         openat.
5004         * modules/mkdirat (Files): Remove lib/openat.h.
5005         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5006         openat, stdbool, sys_stat.
5007         * modules/mkfifoat (Files): Add lib/at-func.c.
5008         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5009         openat-h, save-cwd. Remove fcntl-h, openat.
5010         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5011         * modules/readlinkat (Files): Add lib/at-func.c.
5012         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5013         openat-h, save-cwd. Remove fcntl-h, openat.
5014         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5015         openat.
5016         * modules/selinux-at (Files): Add lib/at-func.c.
5017         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5018         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5019         * modules/symlinkat (Files): Add lib/at-func.c.
5020         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5021         openat-h, save-cwd. Remove fcntl-h, openat.
5022         * modules/unlinkat (Files): Remove lib/openat.h.
5023         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5024         stdbool.
5025         * modules/utimensat (Files): Add lib/at-func.c.
5026         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5027         openat-die, openat-h, save-cwd.
5028         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5029         * modules/fdutimensat-tests (Depends-on): Add openat.
5030         * modules/fstatat-tests (Depends-on): Add openat-h.
5031         * modules/readlinkat-tests (Depends-on): Add openat.
5032         * modules/symlinkat-tests (Depends-on): Add openat.
5033
5034 2011-11-05  Bruno Haible  <bruno@clisp.org>
5035
5036         openat: Include <stdbool.h>.
5037         * lib/openat.c: Include <stdbool.h>.
5038
5039 2011-11-04  Bruno Haible  <bruno@clisp.org>
5040
5041         fchownat, renameat, unlinkat: Fix dependencies.
5042         * modules/fchownat (Depends-on): Add fstatat.
5043         * modules/renameat (Depends-on): Likewise.
5044         * modules/unlinkat (Depends-on): Likewise.
5045
5046 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5047
5048         openat: remove direct dependency on dirent
5049         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5050         and hasn't been needed ever since fdopendir was split into its own
5051         module on 2009-08-31.
5052         * modules/openat (Depends-on): Remove dirent.
5053
5054 2011-11-04  Bruno Haible  <bruno@clisp.org>
5055
5056         renameat: Optimize code size.
5057         * modules/renameat (configure.ac): Don't compile at-func2.c if
5058         REPLACE_RENAMEAT is 1.
5059
5060 2011-11-04  Bruno Haible  <bruno@clisp.org>
5061
5062         openat tests: Fix file list.
5063         * modules/openat-tests (Files): Add tests/test-open.h.
5064
5065 2011-11-04  Bruno Haible  <bruno@clisp.org>
5066
5067         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5068         * modules/fchmodat (Depends-on): Add openat-die.
5069         * modules/fchownat (Depends-on): Likewise.
5070         * modules/linkat (Depends-on): Likewise.
5071         * modules/renameat (Depends-on): Likewise.
5072         * modules/openat (Depends-on): Add dirent.
5073
5074 2011-11-04  Jim Meyering  <meyering@redhat.com>
5075
5076         at-func*.c: fix comments
5077         * lib/at-func2.c: Correct/improve first-line comment.
5078         * lib/at-func.c: Correct grammar in first-line comment.
5079
5080 2011-11-04  Bruno Haible  <bruno@clisp.org>
5081
5082         New module 'mkdirat', split off from module 'openat'.
5083         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5084         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5085         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5086         * modules/mkdirat: New file, extracted from modules/openat.
5087         * modules/openat (Files): Remove lib/mkdirat.c.
5088         (Depends-on): Remove mkdir.
5089         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5090         (Include): Remove <sys/stat.h>.
5091         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5092         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5093         tests/test-mkdir.h.
5094         (Depends-on): Remove ignore-value.
5095         (Makefile.am): Remove rules for test-mkdirat.
5096         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5097         of module 'openat'.
5098         * NEWS: Mention the change.
5099
5100 2011-11-04  Bruno Haible  <bruno@clisp.org>
5101
5102         closedir: Avoid warning on mingw.
5103         * lib/closedir.c: Include <unistd.h>.
5104
5105 2011-11-04  Bruno Haible  <bruno@clisp.org>
5106
5107         New module 'fstatat', split off from module 'openat'.
5108         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5109         defined.
5110         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5111         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5112         gl_FUNC_FSTATAT.
5113         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5114         * modules/fstatat: New file, extracted from modules/openat.
5115         * modules/openat (Files): Remove lib/fstatat.c.
5116         (Depends-on): Remove lstat.
5117         (configure.ac): Remove AC_LIBOBJ of fstatat.
5118         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5119         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5120         tests/test-lstat.h, tests/test-stat.h.
5121         (Depends-on): Remove getcwd-lgpl.
5122         (Makefile.am): Remove rules for test-fstatat.
5123         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5124         of module 'openat'.
5125         * NEWS: Mention the change.
5126         * modules/getcwd (Depends-on): Add fstatat.
5127         * modules/linkat (Depends-on): Likewise.
5128         * modules/mkfifoat-tests (Depends-on): Likewise.
5129         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5130
5131 2011-11-03  Bruno Haible  <bruno@clisp.org>
5132
5133         New module 'unlinkat', split off from module 'openat'.
5134         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5135         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5136         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5137         * modules/unlinkat: New file, extracted from modules/openat. Correct
5138         the dependency conditions.
5139         * modules/openat (Files): Remove lib/unlinkat.c.
5140         (Depends-on): Remove rmdir, unlink.
5141         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5142         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5143         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5144         tests/test-rmdir.h, tests/test-unlink.h.
5145         (Depends-on): Remove unlinkdir.
5146         (Makefile.am): Remove rules for test-unlinkat.
5147         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5148         of module 'openat'.
5149         * NEWS: Mention the change.
5150         * modules/linkat-tests (Depends-on): Add unlinkat.
5151         * modules/mkfifoat-tests (Depends-on): Likewise.
5152         * modules/readlinkat-tests (Depends-on): Likewise.
5153
5154 2011-11-02  Bruno Haible  <bruno@clisp.org>
5155
5156         New module 'fchmodat', split off from module 'openat'.
5157         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5158         defined.
5159         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5160         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5161         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5162         * modules/fchmodat: New file, extracted from modules/openat.
5163         * modules/openat (Files): Remove lib/fchmodat.c.
5164         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5165         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5166         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5167         (Makefile.am): Remove rules for test-fchmodat.
5168         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5169         of module 'openat'.
5170         * NEWS: Mention the change.
5171
5172 2011-11-02  Jim Meyering  <meyering@redhat.com>
5173
5174         putenv: indent #definition of "environ" to placate cppi
5175         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5176
5177         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5178         Git logs are often treated as immutable, because editing them
5179         changes the SHA1 checksums of all descendants.  Thus, errors in
5180         git logs tend to stay there forever.  However, when we generate
5181         a ChangeLog file -- typically for distribution -- from that git log,
5182         we can actually make corrections in the generated file.  The key
5183         lies in recording in machine-readable/applicable form the desired
5184         corrections.  See --help for description and an example.
5185         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5186         (usage): Describe it; alphabetize option descriptions.
5187         (main): Honor the new option, carefully.
5188
5189 2011-11-01  Jim Meyering  <meyering@redhat.com>
5190
5191         gitlog-to-changelog: avoid an infloop
5192         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5193         that ends up being empty.
5194
5195 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5196
5197         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5198         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5199         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5200         contains (possibly-quoted) backslashes.  This should avoid
5201         all-too-common shell bugs if COMPLICATED contains backslashes in
5202         the "wrong" places.  Reported by David Evans in
5203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5204         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5205         because we want ASCII ranges.  Is there some reason we don't use
5206         the C locale everywhere in this script?
5207         (func_module, top level): Avoid unwanted pathname expansion when
5208         $repo_url_prefix or $repo_url_suffix_repl contain shell
5209         metacharacters like '?' and '*'.
5210
5211 2011-11-01  Bruno Haible  <bruno@clisp.org>
5212
5213         fchownat: Improve description.
5214         * modules/fchownat (Description): Add link to function.
5215
5216 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5217
5218         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5219         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5221         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5222
5223 2011-11-01  Bruno Haible  <bruno@clisp.org>
5224
5225         alignof: Avoid collision with stdalign module.
5226         * lib/alignof.h (alignof): Remove macro.
5227         * NEWS: Mention the change.
5228         Reported by Paul Eggert.
5229
5230 2011-11-01  Bruno Haible  <bruno@clisp.org>
5231
5232         New module 'fchownat', split off from module 'openat'.
5233         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5234         defined.
5235         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5236         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5237         invoke gl_FUNC_FCHOWNAT.
5238         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5239         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5240         * modules/fchownat: New file, extracted from modules/openat.
5241         * modules/openat (Files): Remove lib/fchownat.c.
5242         (Depends-on): Remove lchown.
5243         (configure.ac): Remove AC_LIBOBJ of fchownat.
5244         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5245         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5246         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5247         (Depends-on): Remove mgetgroups, usleep, stat-time.
5248         (configure.ac): Remove test for getegid.
5249         (Makefile.am): Remove rules for test-fchownat.
5250         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5251         of module 'openat'.
5252         * NEWS: Mention the change.
5253
5254 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5255
5256         stdalign: port better to MSVC and to Sun C 5.11
5257         This fixes some of the problems reported by Bruno Haible in
5258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5259         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5260         shortcomings of MSVC and of Sun C 5.11.
5261         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5262         around __declspec arg.
5263         * modules/stdalign-tests (Files): Add tests/macros.h.
5264         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5265         Include macros.h, for ASSERT.
5266         (DECLARE_ALIGNED): Remove.
5267         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5268         to catch bug), and to 1 if not (simplifies the rest of the code).
5269         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5270         (CHECK_AUTO): Remove.
5271         (CHECK_ALIGNED): Check only the alignment of the static vars,
5272         since auto var alignment isn't supported by Sun C 5.11.
5273         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5274         ASSERT failures are easier to diagnose.
5275
5276 2011-10-31  Bruno Haible  <bruno@clisp.org>
5277
5278         doc about some IRIX 5.3 problems.
5279         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5280         on IRIX 5.3.
5281         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5282         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5283         5.3.
5284         * doc/posix-functions/grantpt.texi: Likewise.
5285         * doc/posix-functions/unlockpt.texi: Likewise.
5286         * doc/posix-functions/lgamma.texi: Likewise.
5287         * doc/posix-functions/nextafter.texi: Likewise.
5288         * doc/posix-functions/remainder.texi: Likewise.
5289         * doc/posix-functions/select.texi: Mention misplaced declaration on
5290         IRIX 5.3.
5291         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5292
5293 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5294
5295         gitlog-to-changelog: fix git-log invocation.
5296         git-log mishandles date strings before 1970-01-01 UTC, and there is
5297         no use to specify --since=1970-01-01 by default anyway.
5298         * build-aux/gitlog-to-changelog: By default, when no --since option
5299         was given, do not specify explicit --since option to git-log.
5300
5301 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5302
5303         gitlog-to-changelog: new option --append-dot.
5304         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5305         first non-blank line of each commit message terminated with a dot.
5306
5307 2011-10-30  Bruno Haible  <bruno@clisp.org>
5308
5309         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5310         * lib/ffsl.h: Include <config.h>.
5311         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5312
5313 2011-10-30  Jim Meyering  <meyering@redhat.com>
5314
5315         GNUmakefile: reenable "make syntax-check" for most projects
5316         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5317         build-aux variable", "syntax-check" would do nothing but succeed with
5318         the "No version control files detected..." diagnostic (unless you
5319         happened to override _build-aux via cfg.mk).
5320         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5321         to precede inclusion of maint.mk.  Otherwise, these variables would
5322         be used undefined in any project that does not override the default.
5323
5324 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5325
5326         gitlog-to-changelog: treat a message with only blank lines as empty.
5327         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5328         trailing blank lines before the code that issues a warning about an
5329         empty commit message.
5330
5331 2011-10-30  Jim Meyering  <meyering@redhat.com>
5332
5333         test-parse-datetime.c: avoid new DST-related false positive test failure
5334         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5335         based on the time/date we'll convert, not the current time.
5336         Otherwise, the moment we cross a DST boundary like today's in
5337         Europe, (CEST to CET), that offset ends up being one hour off.
5338
5339 2011-10-27  Bruno Haible  <bruno@clisp.org>
5340
5341         fstat: Tweak documentation.
5342         * modules/fstat (Description): More precise description.
5343
5344 2011-10-27  Bruno Haible  <bruno@clisp.org>
5345
5346         Update documentation regarding 'largefile' module.
5347         * doc/posix-functions/fstat.texi: Tweak wording.
5348         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5349         problems with huge directories and/or small ino_t types.
5350         * doc/posix-functions/readdir.texi: Likewise.
5351         * doc/posix-functions/rewinddir.texi: Likewise.
5352
5353 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5354
5355         maint.mk: don't maintain a second build-aux variable.
5356         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5357         depends on GNUmakefile, which already maintains a cfg.mk
5358         overridable $(_build-aux) for projects with a non-standard
5359         build-aux directory location, although without the $(srcdir)
5360         prefix.  Use that variable consistently instead of introducing a
5361         second one.  Adjust all call sites.
5362
5363 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5364
5365         Add stdalign module and use it in other modules.
5366         This is based on a previous proposal by Bruno Haible
5367         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5368
5369         stdalign: new module
5370         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5371         * modules/stdalign: New files.
5372         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5373         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5374
5375         stdalign-tests: new module
5376         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5377
5378         argp: use stdalign
5379         * lib/argp-parse.c: Include <stdalign.h>.
5380         (alignof): Remove.
5381         * modules/argp (Depends-on): Add stdalign.
5382
5383         crypto libraries: use stdalign
5384         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5385         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5386         Do not include <stdlib.h> twice, in md4.c.
5387         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5388         because we are accessing a pointer's bit-pattern, not a size.
5389         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5390         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5391         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5392         * modules/crypto/sha512: Likewise.
5393
5394         sys_socket: use stdalign, not alignof
5395         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5396         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5397
5398 2011-10-27  Bruno Haible  <bruno@clisp.org>
5399
5400         raise test: Avoid a test failure on Linux/MIPS.
5401         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5402         because 99 is a valid signal on Linux/MIPS.
5403
5404 2011-10-27  Bruno Haible  <bruno@clisp.org>
5405
5406         nonblocking tests: Fix test failure on Linux/MIPS.
5407         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5408         Set to 270000.
5409
5410 2011-10-27  Bruno Haible  <bruno@clisp.org>
5411
5412         utimensat: Work around problem on Linux/hppa.
5413         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5414         values.
5415         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5416
5417 2011-10-25  Jim Meyering  <meyering@redhat.com>
5418
5419         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5420         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5421         after symbols like NULL, size_t, etc.
5422         Reported by Alfred M. Szmidt.
5423
5424         maint.mk: exempt ENODATA from a syntax-check rule
5425         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5426         from the sc_prohibit_always-defined_macros syntax-check rule.
5427         Add a comment.  See this for more details:
5428         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5429
5430 2011-10-23  Jim Meyering  <meyering@redhat.com>
5431
5432         fts: close parent dir FD before returning from post-traversal fts_read
5433         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5434         unlink A, even though an FD open on A remained.  This is suboptimal
5435         (holding a file descriptor open longer than needed), but otherwise not
5436         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5437         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5438         that represents a real problem: it causes the removal of A to fail
5439         with e.g., "rm: cannot remove `A': Device or resource busy"
5440
5441         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5442         directory file descriptors.  After completing the final, FTS_DP,
5443         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5444         cache, but then proceeded to add a new FD to it via the subsequent
5445         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5446         final file descriptor would be closed only via fts_close's call to
5447         fd_ring_clear.  Now, it is usually closed earlier, via the final
5448         FTS_DP-returning fts_read call.
5449         * lib/fts.c (restore_initial_cwd): New function, converted from
5450         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5451         Update callers.
5452         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5453         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5454
5455 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5456             Bruno Haible  <bruno@clisp.org>
5457             Jim Meyering  <jim@meyering.net>
5458
5459         readme-release: improve safety of release prep instructions.
5460         * README-release: Don't git pull all branches when only master
5461         is needed for the release process.
5462         Run make maintainer-clean before changing trees and merging.
5463         Don't try to run ./configure right after git pull in case files
5464         that influence the bootstrap process have changed, move the
5465         ./configure step to after running ./bootstrap.
5466         Don't bootstrap "one last time"... it's the first time!
5467
5468 2011-10-22  Bruno Haible  <bruno@clisp.org>
5469
5470         errno, strerror-override: Support for MSVC 10.
5471         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5472         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5473         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5474         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5475         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5476         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5477         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5478         Assign values compatible with MSVC 10.
5479         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5480         New macros.
5481         (GNULIB_defined_EWINSOCK): New macro.
5482         * lib/strerror-override.c (strerror_override): Update accordingly.
5483         * lib/strerror-override.h: Likewise.
5484         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5485         longer equal to the corresponding errno value.
5486         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5487
5488 2011-10-22  Bruno Haible  <bruno@clisp.org>
5489
5490         perror: Recognize when test program crashes.
5491         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5492         strerror, set gl_cv_func_perror_works to no.
5493         Reported by Daniel Richard G. <skunk@iskunk.org>.
5494
5495         perror: Fix indentation.
5496         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5497
5498 2011-10-22  Bruno Haible  <bruno@clisp.org>
5499
5500         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5501         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5502         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5503         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5504         functions, not as a macro.
5505         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5506         macros.
5507         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5508         absence of macro.
5509         Suggested by Eric Blake.
5510         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5511
5512 2011-10-21  Bruno Haible  <bruno@clisp.org>
5513
5514         relocatable-prog-wrapper: Don't leave object files behind.
5515         * build-aux/install-reloc: Re-synchronize list of .o files to be
5516         removed with list of compilation units.
5517
5518 2011-10-20  Bruno Haible  <bruno@clisp.org>
5519
5520         openpty, posix_openpt: Remove code duplication.
5521         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5522         * lib/openpty.c: Include <stdlib.h>.
5523         (openpty): Use posix_openpt on all platforms except IRIX.
5524         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5525
5526 2011-10-20  Bruno Haible  <bruno@clisp.org>
5527
5528         unlockpt: Detect invalid argument.
5529         * lib/unlockpt.c: Include <fcntl.h>.
5530         (unlockpt): Check whether fd is valid, using fcntl().
5531         * modules/unlockpt (Depends-on): Add fcntl-h.
5532
5533 2011-10-20  Bruno Haible  <bruno@clisp.org>
5534
5535         openpty: Avoid compilation error on AIX 6.1.
5536         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5537
5538 2011-10-20  Bruno Haible  <bruno@clisp.org>
5539
5540         posix_openpt: Support for OpenBSD.
5541         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5542         (posix_openpt) [OpenBSD]: New code.
5543         * lib/grantpt.c: Include <fcntl.h>.
5544         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5545         * modules/grantpt (Depends-on): Add fcntl-h.
5546
5547 2011-10-20  Bruno Haible  <bruno@clisp.org>
5548
5549         posix_openpt test: Coding style.
5550         * tests/test-posix_openpt.c: Use GNU coding style.
5551
5552 2011-10-20  Bruno Haible  <bruno@clisp.org>
5553
5554         grantpt: Support --avoid=pt_chown.
5555         * modules/grantpt (Files): Add lib/pty-private.h.
5556
5557 2011-10-20  Bruno Haible  <bruno@clisp.org>
5558
5559         posix_openpt: Fix autoconf macro.
5560         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5561         unneeded check for _getpty.
5562
5563 2011-10-20  Bruno Haible  <bruno@clisp.org>
5564
5565         openpty: Update comments.
5566         * lib/openpty.c: Add comments about Minix.
5567
5568 2011-10-19  Eric Blake  <eblake@redhat.com>
5569
5570         openpty: relax license
5571         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5572
5573         pt_chown: use configmake to simplify build
5574         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5575
5576         ptsname and others: relax license
5577         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5578         * modules/unlockpt (License): Likewise.
5579         * modules/pt_chown (License): Likewise.
5580         * modules/ptsname (License): Likewise.
5581         * modules/ttyname_r (License): Likewise.
5582
5583 2011-10-19  Jim Meyering  <meyering@redhat.com>
5584
5585         posix_openpt: remove spurious #endif
5586         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5587
5588 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5589
5590         maint.mk: Respect $(build_aux) in web-manual rule.
5591         * top/maint.mk (web-manual): Find gen-announce script in user's
5592         $(build_aux) directory instead of hard-coding 'build-aux'.
5593
5594 2011-10-19  Bruno Haible  <bruno@clisp.org>
5595
5596         posix_openpt: Fix compilation error.
5597         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5598         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5599         Mention the openpty module as an alternative.
5600
5601 2011-10-19  Bruno Haible  <bruno@clisp.org>
5602
5603         Support for old NeXTstep 3.3 frexp().
5604         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5605         execution time of the test to 5 seconds.
5606         Reported by Daniel Richard G. <skunk@iskunk.org>.
5607
5608 2011-10-19  Bruno Haible  <bruno@clisp.org>
5609
5610         Support for old NeXTstep 3.3 sed.
5611         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5612         part, use /.../, not \|...|. Escape periods in the header file name.
5613         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5614         Reported by Daniel Richard G. <skunk@iskunk.org>.
5615
5616 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5617
5618         Support for old NeXTstep 3.3 gcc.
5619         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5620         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5621         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5622         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5623         * lib/regex.h (_Restrict_arr_): Likewise.
5624         * lib/regex_internal.h (re_token_t): Likewise.
5625         * lib/regexec.c (check_node_accept_bytes): Likewise.
5626         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5627
5628 2011-10-18  Eric Blake  <eblake@redhat.com>
5629
5630         posix_openpt: new module
5631         * modules/posix_openpt: New module.
5632         * m4/posix_openpt.m4: New file.
5633         * lib/posix_openpt.c: Likewise.
5634         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5635         (gl_STDLIB_H_DEFAULTS): Set defaults.
5636         * modules/stdlib (Makefile.am): Substitute macros.
5637         * lib/stdlib.in.h (posix_openpt): Declare.
5638         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5639         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5640         * modules/posix_openpt-tests: New test module.
5641         * tests/test-posix_openpt.c: New test.
5642
5643 2011-10-15  Bruno Haible  <bruno@clisp.org>
5644
5645         xstrtoll: Fix compilation failure.
5646         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5647         from lib/strtol.c.
5648         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5649         some platforms.
5650         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5651
5652 2011-10-15  Bruno Haible  <bruno@clisp.org>
5653
5654         vasnprintf: Optimize bit search operation.
5655         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5656         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5657         gl_DOUBLE_EXPONENT_LOCATION.
5658         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5659         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5660         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5661         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5662         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5663         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5664         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5665         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5666         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5667
5668 2011-10-15  Bruno Haible  <bruno@clisp.org>
5669
5670         vasnprintf: Fix comments.
5671         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5672
5673 2011-10-14  Bruno Haible  <bruno@clisp.org>
5674
5675         Tests for module 'integer_length_ll'.
5676         * modules/integer_length_ll-tests: New file.
5677         * tests/test-integer_length_ll.c: New file.
5678
5679         New module 'integer_length_ll'.
5680         * lib/integer_length_ll.c: New file.
5681         * modules/integer_length_ll: New file.
5682
5683 2011-10-14  Bruno Haible  <bruno@clisp.org>
5684
5685         Tests for module 'integer_length_l'.
5686         * modules/integer_length_l-tests: New file.
5687         * tests/test-integer_length_l.c: New file.
5688
5689         New module 'integer_length_l'.
5690         * lib/integer_length_l.c: New file.
5691         * modules/integer_length_l: New file.
5692
5693 2011-10-14  Bruno Haible  <bruno@clisp.org>
5694
5695         Tests for module 'integer_length'.
5696         * modules/integer_length-tests: New file.
5697         * tests/test-integer_length.c: New file.
5698
5699         New module 'integer_length'.
5700         * lib/integer_length.h: New file.
5701         * lib/integer_length.c: New file.
5702         * modules/integer_length: New file.
5703
5704 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5705
5706         popen: Fix dependency conditions.
5707         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5708
5709 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5710
5711         perror: Fix autoconf test.
5712         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5713         <stdlib.h> and <string.h>.
5714
5715 2011-10-14  Bruno Haible  <bruno@clisp.org>
5716
5717         ffsl: Optimize on 64-bit platforms.
5718         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5719         unrolling.
5720
5721 2011-10-13  Bruno Haible  <bruno@clisp.org>
5722
5723         ffsl: Optimize on 32-bit platforms.
5724         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5725         use ffs() without a loop.
5726
5727         ffsl, ffsll: Optimize for GCC.
5728         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5729         * lib/ffsl.c (GCC_BUILTIN): New macro.
5730         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5731
5732 2011-10-13  Bruno Haible  <bruno@clisp.org>
5733
5734         ffs, bcopy, memset: Support symbol renaming via config.h.
5735         * lib/ffs.c: Include <config.h>.
5736         * lib/bcopy.c: Likewise.
5737         * lib/memset.c: Likewise.
5738
5739 2011-10-10  Bruno Haible  <bruno@clisp.org>
5740
5741         atanl: Simplify for platforms where 'long double' == 'double'.
5742         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5743         alternative implementation.
5744         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5745         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5746         * modules/atanl (Depends-on): Add atan. Update conditions.
5747
5748 2011-10-10  Bruno Haible  <bruno@clisp.org>
5749
5750         acosl: Simplify for platforms where 'long double' == 'double'.
5751         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5752         alternative implementation.
5753         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5754         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5755         * modules/acosl (Depends-on): Add acos. Update conditions.
5756
5757 2011-10-10  Bruno Haible  <bruno@clisp.org>
5758
5759         asinl: Simplify for platforms where 'long double' == 'double'.
5760         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5761         alternative implementation.
5762         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5763         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5764         * modules/asinl (Depends-on): Add asin. Update conditions.
5765
5766 2011-10-10  Bruno Haible  <bruno@clisp.org>
5767
5768         tanl: Simplify for platforms where 'long double' == 'double'.
5769         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5770         implementation.
5771         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5772         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5773         * modules/tanl (Depends-on): Add tan. Update conditions.
5774         (configure.ac): Don't compile trigl.c if
5775         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5776
5777 2011-10-10  Bruno Haible  <bruno@clisp.org>
5778
5779         cosl: Simplify for platforms where 'long double' == 'double'.
5780         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5781         implementation.
5782         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5783         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5784         * modules/cosl (Depends-on): Add cos. Update conditions.
5785         (configure.ac): Don't compile sincosl.c and trigl.c if
5786         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5787
5788 2011-10-10  Bruno Haible  <bruno@clisp.org>
5789
5790         sinl: Simplify for platforms where 'long double' == 'double'.
5791         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5792         implementation.
5793         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5794         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5795         * modules/sinl (Depends-on): Add sin. Update conditions.
5796         (configure.ac): Don't compile sincosl.c and trigl.c if
5797         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5798
5799 2011-10-10  Bruno Haible  <bruno@clisp.org>
5800
5801         logl: Simplify for platforms where 'long double' == 'double'.
5802         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5803         implementation.
5804         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5805         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5806         * modules/logl (Depends-on): Add log. Update conditions.
5807
5808 2011-10-10  Bruno Haible  <bruno@clisp.org>
5809
5810         expl: Simplify for platforms where 'long double' == 'double'.
5811         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5812         implementation.
5813         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5814         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5815         * modules/expl (Depends-on): Add exp. Update conditions.
5816
5817 2011-10-10  Bruno Haible  <bruno@clisp.org>
5818
5819         sqrtl: Simplify for platforms where 'long double' == 'double'.
5820         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5821         alternative implementation.
5822         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5823         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5824         * modules/sqrtl (Depends-on): Update conditions.
5825
5826 2011-10-10  Bruno Haible  <bruno@clisp.org>
5827
5828         ldexpl: Simplify for platforms where 'long double' == 'double'.
5829         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5830         alternative implementation.
5831         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5832         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5833         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5834
5835 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5836
5837         ffsll: set correct witness
5838         * modules/ffsll (configure.ac): Fix typo.
5839
5840 2011-10-10  Bruno Haible  <bruno@clisp.org>
5841
5842         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5843         * lib/printf-frexpl.c: Include <config.h>.
5844         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5845         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5846         second time.
5847         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5848         gl_LONG_DOUBLE_VS_DOUBLE.
5849         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5850         conditions.
5851
5852 2011-10-10  Bruno Haible  <bruno@clisp.org>
5853
5854         frexpl: Simplify for platforms where 'long double' == 'double'.
5855         * lib/frexpl.c: Include <config.h>.
5856         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5857         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5858         time.
5859         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5860         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5861         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5862         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5863         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5864         conditions.
5865
5866 2011-10-10  Jim Meyering  <meyering@redhat.com>
5867
5868         test-renameat: don't leave behind a temporary file
5869         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5870           ERROR: files left in build directory after distclean:
5871           ./gltests/test-renameat.too
5872           make[1]: *** [distcleancheck] Error 1
5873         Reported by Tom G. Christensen.
5874
5875 2011-10-09  Bruno Haible  <bruno@clisp.org>
5876
5877         rint: Determine RINT_LIBM correctly on AIX 7.
5878         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5879         directly, not only through a function pointer. Also accept an optional
5880         4th argument with extra code.
5881         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5882         rintf() call by gcc when optimizing.
5883
5884         mathfunc.m4: Refactor.
5885         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5886         m4 variable.
5887
5888 2011-10-09  Bruno Haible  <bruno@clisp.org>
5889
5890         rintl: Simplify for platforms where 'long double' == 'double'.
5891         * lib/rintl.c: Include <config.h>.
5892         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5893         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5894         time.
5895         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5896         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5897         * modules/rintl (Depends-on): Add rint. Update conditions.
5898
5899 2011-10-09  Bruno Haible  <bruno@clisp.org>
5900
5901         roundl: Simplify for platforms where 'long double' == 'double'.
5902         * lib/roundl.c: Include <config.h>.
5903         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5904         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5905         time.
5906         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5907         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5908         * modules/roundl (Depends-on): Add round. Update conditions.
5909
5910 2011-10-09  Bruno Haible  <bruno@clisp.org>
5911
5912         truncl: Simplify for platforms where 'long double' == 'double'.
5913         * lib/truncl.c: Include <config.h>.
5914         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5915         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5916         time.
5917         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5918         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5919         * modules/truncl (Depends-on): Add trunc. Update conditions.
5920
5921 2011-10-09  Bruno Haible  <bruno@clisp.org>
5922
5923         ceill: Simplify for platforms where 'long double' == 'double'.
5924         * lib/ceill.c: Include <config.h>.
5925         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5926         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5927         time.
5928         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5929         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5930         * modules/ceill (Depends-on): Add ceil. Update conditions.
5931
5932 2011-10-09  Bruno Haible  <bruno@clisp.org>
5933
5934         floorl: Simplify for platforms where 'long double' == 'double'.
5935         * lib/floorl.c: Include <config.h>.
5936         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5937         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5938         time.
5939         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5940         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5941         * modules/floorl (Depends-on): Add floor. Update conditions.
5942
5943 2011-10-09  Bruno Haible  <bruno@clisp.org>
5944
5945         rint: Fix ordering constraints.
5946         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5947         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5948         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5949
5950 2011-10-09  Bruno Haible  <bruno@clisp.org>
5951
5952         copysignl: Simplify for platforms where 'long double' == 'double'.
5953         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5954         alternative.
5955         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5956         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5957         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5958
5959 2011-10-09  Bruno Haible  <bruno@clisp.org>
5960
5961         Tests for module 'rintl'.
5962         * modules/rintl-tests: New file.
5963         * tests/test-rintl.c: New file.
5964
5965         New module 'rintl'.
5966         * lib/math.in.h (rintl): New declaration.
5967         * lib/rintl.c: New file.
5968         * m4/rintl.m4: New file.
5969         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5971         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5972         * modules/rintl: New file.
5973         * tests/test-math-c++.cc: Check the declaration of rintl.
5974         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5975         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5976         * doc/posix-functions/rintl.texi: Mention the new module.
5977
5978 2011-10-09  Bruno Haible  <bruno@clisp.org>
5979
5980         Tests for module 'rintf'.
5981         * modules/rintf-tests: New file.
5982         * tests/test-rintf.c: New file.
5983
5984         New module 'rintf'.
5985         * lib/math.in.h (rintf): New declaration.
5986         * lib/rintf.c: New file.
5987         * m4/rintf.m4: New file.
5988         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5990         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5991         * modules/rintf: New file.
5992         * tests/test-math-c++.cc: Check the declaration of rintf.
5993         * doc/posix-functions/rintf.texi: Mention the new module.
5994
5995 2011-10-09  Bruno Haible  <bruno@clisp.org>
5996
5997         rint: Support for MSVC.
5998         * lib/math.in.h (rint): New declaration.
5999         * lib/rint.c: New file.
6000         * m4/rint.m4: New file.
6001         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6002         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6003         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6004         * modules/rint (Description): Fix.
6005         (Files): Add lib/rint.c, m4/rint.m4.
6006         (Depends-on): Add math.
6007         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6008         gl_MATH_MODULE_INDICATOR.
6009         * tests/test-math-c++.cc: Check the declaration of rint.
6010         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6011         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6012         * doc/posix-functions/rint.texi: Mention the replacement provided by
6013         the module.
6014
6015         rint tests: More tests.
6016         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6017         minus-zero.h, infinity.h, nan.h.
6018         (main): Skip the test if the current rounding mode is not standard. Add
6019         tests for negative numbers, minus zero, infinity, NaN.
6020         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6021         tests/nan.h.
6022         (Depends-on): Add isnand-nolibm.
6023
6024 2011-10-09  Bruno Haible  <bruno@clisp.org>
6025
6026         Tests for module 'copysignl'.
6027         * modules/copysignl-tests: New file.
6028         * tests/test-copysignl.c: New file.
6029
6030         New module 'copysignl'.
6031         * lib/math.in.h (copysignl): New declaration.
6032         * lib/copysignl.c: New file.
6033         * m4/copysignl.m4: New file.
6034         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6036         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6037         HAVE_COPYSIGNL.
6038         * modules/copysignl: New file.
6039         * tests/test-math-c++.cc: Check the declaration of copysignl.
6040         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6041         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6042         * doc/posix-functions/copysignl.texi: Mention the new module.
6043
6044 2011-10-09  Bruno Haible  <bruno@clisp.org>
6045
6046         Tests for module 'copysignf'.
6047         * modules/copysignf-tests: New file.
6048         * tests/test-copysignf.c: New file.
6049
6050         New module 'copysignf'.
6051         * lib/math.in.h (copysignf): New declaration.
6052         * lib/copysignf.c: New file.
6053         * m4/copysignf.m4: New file.
6054         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6056         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6057         HAVE_COPYSIGNF.
6058         * modules/copysignf: New file.
6059         * tests/test-math-c++.cc: Check the declaration of copysignf.
6060         * doc/posix-functions/copysignf.texi: Mention the new module.
6061
6062 2011-10-09  Bruno Haible  <bruno@clisp.org>
6063
6064         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6065         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6066         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6067         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6068         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6069         gl_SIGNAL_H_DEFAULTS.
6070
6071 2011-10-09  Bruno Haible  <bruno@clisp.org>
6072
6073         poll: Make macro safer.
6074         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6075         ac_cv_header_poll_h is not set.
6076
6077 2011-10-09  Bruno Haible  <bruno@clisp.org>
6078
6079         copysign: Provide replacement.
6080         * lib/math.in.h (copysign): New declaration.
6081         * lib/copysign.c: New file.
6082         * m4/copysign.m4: New file.
6083         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6085         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6086         HAVE_COPYSIGN.
6087         * modules/copysign (Description): Clarify.
6088         (Files): Add lib/copysign.c, m4/copysign.m4.
6089         (Depends-on): Add math, signbit.
6090         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6091         gl_MATH_MODULE_INDICATOR.
6092         * tests/test-math-c++.cc: Check the declaration of copysign.
6093         * doc/posix-functions/copysign.texi: Mention the effects of the module
6094         on Minix and MSVC.
6095
6096 2011-10-09  Bruno Haible  <bruno@clisp.org>
6097
6098         isinf: Ensure macro on AIX 5.1.
6099         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6100         macro.
6101         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6102
6103 2011-10-09  Bruno Haible  <bruno@clisp.org>
6104
6105         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6106         * modules/snprintf-posix-tests (configure.ac): Require
6107         gl_LONG_DOUBLE_VS_DOUBLE.
6108         * modules/sprintf-posix-tests (configure.ac): Likewise.
6109         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6110         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6111         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6112         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6113         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6114         tests on platforms where 'long double' is the same as 'double'.
6115         * tests/test-sprintf-posix.h (test_function): Likewise.
6116         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6117         * tests/test-vasprintf-posix.c (test_function): Likewise.
6118
6119         *printf: Fix for platforms where 'long double' == 'double'.
6120         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6121         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6122         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6123         * modules/fprintf-posix (Files): Likewise.
6124         * modules/obstack-printf-posix (Files): Likewise.
6125         * modules/snprintf-posix (Files): Likewise.
6126         * modules/sprintf-posix (Files): Likewise.
6127         * modules/vasnprintf (Files): Likewise.
6128         * modules/vasnprintf-posix (Files): Likewise.
6129         * modules/vasprintf-posix (Files): Likewise.
6130         * modules/vdprintf-posix (Files): Likewise.
6131         * modules/vfprintf-posix (Files): Likewise.
6132         * modules/vsnprintf-posix (Files): Likewise.
6133         * modules/vsprintf-posix (Files): Likewise.
6134         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6135         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6136         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6137         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6138         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6139         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6140         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6141
6142         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6143         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6144         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6145         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6146         'long double'.
6147         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6148
6149         isinf: Fix for platforms where 'long double' == 'double'.
6150         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6151         Don't blindly assume 80-bit 'long double'.
6152
6153         isfinite: Fix for platforms where 'long double' == 'double'.
6154         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6155         Don't blindly assume 80-bit 'long double'.
6156
6157         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6158         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6159         * modules/isfinite-tests (configure.ac): Require
6160         gl_LONG_DOUBLE_VS_DOUBLE.
6161         * modules/isinf-tests (configure.ac): Likewise.
6162         * modules/isnan-tests (configure.ac): Likewise.
6163         * modules/isnanl-tests (configure.ac): Likewise.
6164         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6165         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6166         tests on platforms where 'long double' is the same as 'double'.
6167         * tests/test-isinf.c (test_isinfl): Likewise.
6168         * tests/test-isnan.c (test_long_double): Likewise.
6169         * tests/test-isnanl.h (main): Likewise.
6170
6171 2011-10-08  Bruno Haible  <bruno@clisp.org>
6172
6173         Tests for module 'tanhf'.
6174         * modules/tanhf-tests: New file.
6175         * tests/test-tanhf.c: New file.
6176
6177         New module 'tanhf'.
6178         * lib/math.in.h (tanhf): New declaration.
6179         * lib/tanhf.c: New file.
6180         * m4/tanhf.m4: New file.
6181         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6182         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6183         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6184         * modules/tanhf: New file.
6185         * tests/test-math-c++.cc: Check the declaration of tanhf.
6186         * doc/posix-functions/tanhf.texi: Mention the new module.
6187
6188         tanh: Use a .m4 file.
6189         * m4/tanh.m4: New file.
6190         * modules/tanh (Files): Add it.
6191         (configure.ac): Just invoke gl_FUNC_TANH.
6192
6193 2011-10-08  Bruno Haible  <bruno@clisp.org>
6194
6195         Tests for module 'coshf'.
6196         * modules/coshf-tests: New file.
6197         * tests/test-coshf.c: New file.
6198
6199         New module 'coshf'.
6200         * lib/math.in.h (coshf): New declaration.
6201         * lib/coshf.c: New file.
6202         * m4/coshf.m4: New file.
6203         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6205         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6206         * modules/coshf: New file.
6207         * tests/test-math-c++.cc: Check the declaration of coshf.
6208         * doc/posix-functions/coshf.texi: Mention the new module.
6209
6210         cosh: Use a .m4 file.
6211         * m4/cosh.m4: New file.
6212         * modules/cosh (Files): Add it.
6213         (configure.ac): Just invoke gl_FUNC_COSH.
6214
6215 2011-10-08  Bruno Haible  <bruno@clisp.org>
6216
6217         Tests for module 'sinhf'.
6218         * modules/sinhf-tests: New file.
6219         * tests/test-sinhf.c: New file.
6220
6221         New module 'sinhf'.
6222         * lib/math.in.h (sinhf): New declaration.
6223         * lib/sinhf.c: New file.
6224         * m4/sinhf.m4: New file.
6225         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6226         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6227         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6228         * modules/sinhf: New file.
6229         * tests/test-math-c++.cc: Check the declaration of sinhf.
6230         * doc/posix-functions/sinhf.texi: Mention the new module.
6231
6232         sinh: Use a .m4 file.
6233         * m4/sinh.m4: New file.
6234         * modules/sinh (Files): Add it.
6235         (configure.ac): Just invoke gl_FUNC_SINH.
6236
6237 2011-10-08  Bruno Haible  <bruno@clisp.org>
6238
6239         Tests for module 'atan2f'.
6240         * modules/atan2f-tests: New file.
6241         * tests/test-atan2f.c: New file.
6242
6243         New module 'atan2f'.
6244         * lib/math.in.h (atan2f): New declaration.
6245         * lib/atan2f.c: New file.
6246         * m4/atan2f.m4: New file.
6247         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6248         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6249         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6250         * modules/atan2f: New file.
6251         * tests/test-math-c++.cc: Check the declaration of atan2f.
6252         * doc/posix-functions/atan2f.texi: Mention the new module.
6253
6254         atan2: Use a .m4 file.
6255         * m4/atan2.m4: New file.
6256         * modules/atan2 (Files): Add it.
6257         (configure.ac): Just invoke gl_FUNC_ATAN2.
6258
6259 2011-10-08  Bruno Haible  <bruno@clisp.org>
6260
6261         Tests for module 'atanf'.
6262         * modules/atanf-tests: New file.
6263         * tests/test-atanf.c: New file.
6264
6265         New module 'atanf'.
6266         * lib/math.in.h (atanf): New declaration.
6267         * lib/atanf.c: New file.
6268         * m4/atanf.m4: New file.
6269         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6271         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6272         * modules/atanf: New file.
6273         * tests/test-math-c++.cc: Check the declaration of atanf.
6274         * doc/posix-functions/atanf.texi: Mention the new module.
6275
6276         atan: Use a .m4 file.
6277         * m4/atan.m4: New file.
6278         * modules/atan (Files): Add it.
6279         (configure.ac): Just invoke gl_FUNC_ATAN.
6280
6281 2011-10-08  Bruno Haible  <bruno@clisp.org>
6282
6283         Tests for module 'acosf'.
6284         * modules/acosf-tests: New file.
6285         * tests/test-acosf.c: New file.
6286
6287         New module 'acosf'.
6288         * lib/math.in.h (acosf): New declaration.
6289         * lib/acosf.c: New file.
6290         * m4/acosf.m4: New file.
6291         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6292         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6293         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6294         * modules/acosf: New file.
6295         * tests/test-math-c++.cc: Check the declaration of acosf.
6296         * doc/posix-functions/acosf.texi: Mention the new module.
6297
6298         acos: Use a .m4 file.
6299         * m4/acos.m4: New file.
6300         * modules/acos (Files): Add it.
6301         (configure.ac): Just invoke gl_FUNC_ACOS.
6302
6303 2011-10-08  Bruno Haible  <bruno@clisp.org>
6304
6305         Tests for module 'asinf'.
6306         * modules/asinf-tests: New file.
6307         * tests/test-asinf.c: New file.
6308
6309         New module 'asinf'.
6310         * lib/math.in.h (asinf): New declaration.
6311         * lib/asinf.c: New file.
6312         * m4/asinf.m4: New file.
6313         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6315         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6316         * modules/asinf: New file.
6317         * tests/test-math-c++.cc: Check the declaration of asinf.
6318         * doc/posix-functions/asinf.texi: Mention the new module.
6319
6320         asin: Use a .m4 file.
6321         * m4/asin.m4: New file.
6322         * modules/asin (Files): Add it.
6323         (configure.ac): Just invoke gl_FUNC_ASIN.
6324
6325 2011-10-08  Bruno Haible  <bruno@clisp.org>
6326
6327         Tests for module 'tanf'.
6328         * modules/tanf-tests: New file.
6329         * tests/test-tanf.c: New file.
6330
6331         New module 'tanf'.
6332         * lib/math.in.h (tanf): New declaration.
6333         * lib/tanf.c: New file.
6334         * m4/tanf.m4: New file.
6335         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6337         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6338         * modules/tanf: New file.
6339         * tests/test-math-c++.cc: Check the declaration of tanf.
6340         * doc/posix-functions/tanf.texi: Mention the new module.
6341
6342         tan: Use a .m4 file.
6343         * m4/tan.m4: New file.
6344         * modules/tan (Files): Add it.
6345         (configure.ac): Just invoke gl_FUNC_TAN.
6346
6347 2011-10-08  Bruno Haible  <bruno@clisp.org>
6348
6349         Tests for module 'cosf'.
6350         * modules/cosf-tests: New file.
6351         * tests/test-cosf.c: New file.
6352
6353         New module 'cosf'.
6354         * lib/math.in.h (cosf): New declaration.
6355         * lib/cosf.c: New file.
6356         * m4/cosf.m4: New file.
6357         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6358         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6359         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6360         * modules/cosf: New file.
6361         * tests/test-math-c++.cc: Check the declaration of cosf.
6362         * doc/posix-functions/cosf.texi: Mention the new module.
6363
6364         cos: Use a .m4 file.
6365         * m4/cos.m4: New file.
6366         * modules/cos (Files): Add it.
6367         (configure.ac): Just invoke gl_FUNC_COS.
6368
6369 2011-10-08  Bruno Haible  <bruno@clisp.org>
6370
6371         Tests for module 'sinf'.
6372         * modules/sinf-tests: New file.
6373         * tests/test-sinf.c: New file.
6374
6375         New module 'sinf'.
6376         * lib/math.in.h (sinf): New declaration.
6377         * lib/sinf.c: New file.
6378         * m4/sinf.m4: New file.
6379         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6381         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6382         * modules/sinf: New file.
6383         * tests/test-math-c++.cc: Check the declaration of sinf.
6384         * doc/posix-functions/sinf.texi: Mention the new module.
6385
6386         sin: Use a .m4 file.
6387         * m4/sin.m4: New file.
6388         * modules/sin (Files): Add it.
6389         (configure.ac): Just invoke gl_FUNC_SIN.
6390
6391 2011-10-08  Bruno Haible  <bruno@clisp.org>
6392
6393         Tests for module 'powf'.
6394         * modules/powf-tests: New file.
6395         * tests/test-powf.c: New file.
6396
6397         New module 'powf'.
6398         * lib/math.in.h (powf): New declaration.
6399         * lib/powf.c: New file.
6400         * m4/powf.m4: New file.
6401         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6403         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6404         * modules/powf: New file.
6405         * tests/test-math-c++.cc: Check the declaration of powf.
6406         * doc/posix-functions/powf.texi: Mention the new module.
6407
6408         pow: Use a .m4 file.
6409         * m4/pow.m4: New file.
6410         * modules/pow (Files): Add it.
6411         (configure.ac): Just invoke gl_FUNC_POW.
6412
6413 2011-10-08  Bruno Haible  <bruno@clisp.org>
6414
6415         Tests for module 'log10f'.
6416         * modules/log10f-tests: New file.
6417         * tests/test-log10f.c: New file.
6418
6419         New module 'log10f'.
6420         * lib/math.in.h (log10f): New declaration.
6421         * lib/log10f.c: New file.
6422         * m4/log10f.m4: New file.
6423         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6424         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6425         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6426         * modules/log10f: New file.
6427         * tests/test-math-c++.cc: Check the declaration of log10f.
6428         * doc/posix-functions/log10f.texi: Mention the new module.
6429
6430         log10: Use a .m4 file.
6431         * m4/log10.m4: New file.
6432         * modules/log10 (Files): Add it.
6433         (configure.ac): Just invoke gl_FUNC_LOG10.
6434
6435 2011-10-08  Bruno Haible  <bruno@clisp.org>
6436
6437         Tests for module 'logf'.
6438         * modules/logf-tests: New file.
6439         * tests/test-logf.c: New file.
6440
6441         New module 'logf'.
6442         * lib/math.in.h (logf): New declaration.
6443         * lib/logf.c: New file.
6444         * m4/logf.m4: New file.
6445         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6447         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6448         * modules/logf: New file.
6449         * tests/test-math-c++.cc: Check the declaration of logf.
6450         * doc/posix-functions/logf.texi: Mention the new module.
6451
6452         log: Use a .m4 file.
6453         * m4/log.m4: New file.
6454         * modules/log (Files): Add it.
6455         (configure.ac): Just invoke gl_FUNC_LOG.
6456
6457 2011-10-08  Bruno Haible  <bruno@clisp.org>
6458
6459         Tests for module 'expf'.
6460         * modules/expf-tests: New file.
6461         * tests/test-expf.c: New file.
6462
6463         New module 'expf'.
6464         * lib/math.in.h (expf): New declaration.
6465         * lib/expf.c: New file.
6466         * m4/expf.m4: New file.
6467         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6469         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6470         * modules/expf: New file.
6471         * tests/test-math-c++.cc: Check the declaration of expf.
6472         * doc/posix-functions/expf.texi: Mention the new module.
6473
6474         exp: Use a .m4 file.
6475         * m4/exp.m4: New file.
6476         * modules/exp (Files): Add it.
6477         (configure.ac): Just invoke gl_FUNC_EXP.
6478
6479 2011-10-08  Bruno Haible  <bruno@clisp.org>
6480
6481         Tests for module 'sqrtf'.
6482         * modules/sqrtf-tests: New file.
6483         * tests/test-sqrtf.c: New file.
6484
6485         New module 'sqrtf'.
6486         * lib/math.in.h (sqrtf): New declaration.
6487         * lib/sqrtf.c: New file.
6488         * m4/sqrtf.m4: New file.
6489         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6491         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6492         * modules/sqrtf: New file.
6493         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6494         * doc/posix-functions/sqrtf.texi: Mention the new module.
6495
6496 2011-10-08  Bruno Haible  <bruno@clisp.org>
6497
6498         Tests: Avoid link failures w.r.t. libintl.
6499         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6500         $(LIBINTL).
6501         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6502         $(LIBINTL).
6503         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6504         against $(LIBINTL).
6505         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6506         $(LIBINTL).
6507         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6508         $(LIBINTL).
6509         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6510
6511 2011-10-08  Bruno Haible  <bruno@clisp.org>
6512
6513         pow tests: Defeat compiler optimizations.
6514         * tests/test-pow.c (main): Assign arguments to x and y before use.
6515
6516 2011-10-08  Bruno Haible  <bruno@clisp.org>
6517
6518         gnulib-tool: Improve last commit.
6519         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6520         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6521         ignore dependencies that are not among the modules list.
6522
6523 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6524
6525         gnulib-tool: don't follow dependencies to avoided modules
6526         This fixes a bug that is related to the previous one.
6527         * gnulib-tool (func_modules_transitive_closure)
6528         (func_emit_autoconf_snippets):
6529         Check whether a dependency is acceptable before using it.
6530         (--extract-dependencies): Report an error if --avoid is also used,
6531         since this combination of options is not yet supported.
6532
6533         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6534         Problem reported by Peter Dyballa in
6535         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6536         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6537         when echoing "$condition".
6538
6539 2011-10-07  Bruno Haible  <bruno@clisp.org>
6540
6541         Fix documentation about math functions on MacOS X.
6542         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6543         MacOS X 10.5.
6544         * doc/posix-functions/fdim.texi: Likewise.
6545         * doc/posix-functions/feclearexcept.texi: Likewise.
6546         * doc/posix-functions/fegetenv.texi: Likewise.
6547         * doc/posix-functions/fegetround.texi: Likewise.
6548         * doc/posix-functions/feholdexcept.texi: Likewise.
6549         * doc/posix-functions/feraiseexcept.texi: Likewise.
6550         * doc/posix-functions/fesetenv.texi: Likewise.
6551         * doc/posix-functions/fesetround.texi: Likewise.
6552         * doc/posix-functions/fetestexcept.texi: Likewise.
6553         * doc/posix-functions/feupdateenv.texi: Likewise.
6554         * doc/posix-functions/fmax.texi: Likewise.
6555         * doc/posix-functions/fmin.texi: Likewise.
6556         * doc/posix-functions/log2.texi: Likewise.
6557         * doc/posix-functions/modff.texi: Likewise.
6558         * doc/posix-functions/nan.texi: Likewise.
6559         * doc/posix-functions/nanf.texi: Likewise.
6560         * doc/posix-functions/nextafterf.texi: Likewise.
6561         * doc/posix-functions/remquo.texi: Likewise.
6562
6563 2011-10-07  Bruno Haible  <bruno@clisp.org>
6564
6565         modff: Drop assumption about library that defines modff.
6566         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6567         AC_CHECK_FUNCS.
6568         * modules/modff (Files): Add m4/mathfunc.m4.
6569
6570 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6571
6572         raise tests: Avoid a GCC warning.
6573         * tests/test-raise.c (handler): Use _Noreturn.
6574
6575 2011-10-07  Bruno Haible  <bruno@clisp.org>
6576
6577         Tests for module 'ldexpf'.
6578         * modules/ldexpf-tests: New file.
6579         * tests/test-ldexpf.c: New file.
6580
6581         New module 'ldexpf'.
6582         * lib/math.in.h (ldexpf): New declaration.
6583         * lib/ldexpf.c: New file.
6584         * m4/ldexpf.m4: New file.
6585         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6586         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6587         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6588         * modules/ldexpf: New file.
6589         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6590         * doc/posix-functions/ldexpf.texi: Mention the new module.
6591
6592 2011-10-06  Bruno Haible  <bruno@clisp.org>
6593
6594         frexpf: Work around problems on IRIX and mingw.
6595         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6597         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6598         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6599         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6600         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6601         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6602
6603 2011-10-06  Bruno Haible  <bruno@clisp.org>
6604
6605         fabsf: Drop assumption about library that defines fabsf.
6606         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6607         AC_CHECK_FUNCS.
6608         * modules/fabsf (Files): Add m4/mathfunc.m4.
6609
6610 2011-10-06  Bruno Haible  <bruno@clisp.org>
6611
6612         frexpf: Drop assumption about library that defines frexpf.
6613         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6614         'int *', 'float *', 'long double *', 'float', 'long double'.
6615         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6616         AC_CHECK_FUNCS.
6617         * modules/frexpf (Files): Add m4/mathfunc.m4.
6618
6619         Tests for module 'frexpf'.
6620         * modules/frexpf-tests: New file.
6621         * tests/test-frexpf.c: New file.
6622
6623         New module 'frexpf'.
6624         * lib/math.in.h (frexpf): New declaration.
6625         * lib/frexpf.c: New file.
6626         * m4/frexpf.m4: New file.
6627         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6628         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6629         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6630         * modules/frexpf: New file.
6631         * tests/test-math-c++.cc: Check the declaration of frexpf.
6632         * doc/posix-functions/frexpf.texi: Mention the new module.
6633
6634 2011-10-06  Bruno Haible  <bruno@clisp.org>
6635
6636         math: Sort function declarations of math.in.h.
6637         * lib/math.in.h (frexp, logb): Move declarations.
6638
6639 2011-10-05  Bruno Haible  <bruno@clisp.org>
6640
6641         Tests for module 'modff'.
6642         * modules/modff-tests: New file.
6643         * tests/test-modff.c: New file.
6644
6645         New module 'modff'.
6646         * lib/math.in.h (modff): New declaration.
6647         * lib/modff.c: New file.
6648         * m4/modff.m4: New file.
6649         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6651         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6652         * modules/modff: New file.
6653         * tests/test-math-c++.cc: Check the declaration of modff.
6654         * doc/posix-functions/modff.texi: Mention the new module.
6655
6656         modf tests: Make test sharper.
6657         * tests/test-modf.c (main): Strengthen upper bound.
6658
6659         modf: Use a .m4 file.
6660         * m4/modf.m4: New file.
6661         * modules/modf (Files): Add it.
6662         (configure.ac): Just invoke gl_FUNC_MODF.
6663
6664 2011-10-05  Bruno Haible  <bruno@clisp.org>
6665
6666         Tests for module 'fmodf'.
6667         * modules/fmodf-tests: New file.
6668         * tests/test-fmodf.c: New file.
6669
6670         New module 'fmodf'.
6671         * lib/math.in.h (fmodf): New declaration.
6672         * lib/fmodf.c: New file.
6673         * m4/fmodf.m4: New file.
6674         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6675         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6676         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6677         * modules/fmodf: New file.
6678         * tests/test-math-c++.cc: Check the declaration of fmodf.
6679         * doc/posix-functions/fmodf.texi: Mention the new module.
6680
6681         fmod: Use a .m4 file.
6682         * m4/fmod.m4: New file.
6683         * modules/fmod (Files): Add it.
6684         (configure.ac): Just invoke gl_FUNC_FMOD.
6685
6686 2011-10-05  Bruno Haible  <bruno@clisp.org>
6687
6688         Tests for module 'fabsf'.
6689         * modules/fabsf-tests: New file.
6690         * tests/test-fabsf.c: New file.
6691
6692         New module 'fabsf'.
6693         * lib/math.in.h (fabsf): New declaration.
6694         * lib/fabsf.c: New file.
6695         * m4/fabsf.m4: New file.
6696         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6698         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6699         * modules/fabsf: New file.
6700         * tests/test-math-c++.cc: Check the declaration of fabsf.
6701         * doc/posix-functions/fabsf.texi: Mention the new module.
6702
6703         fabs: Use a .m4 file.
6704         * m4/fabs.m4: New file.
6705         * modules/fabs (Files): Add it.
6706         (configure.ac): Just invoke gl_FUNC_FABS.
6707
6708 2011-10-05  Jim Meyering  <meyering@redhat.com>
6709
6710         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6711         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6712         ls -lL regression introduced in coreutils-8.12, it does so at the
6713         cost of an additional stat call in the common case.  Besides, now
6714         that the kernel change that prompted commit 95f7c57f has been reverted
6715         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6716         we have no use for commit 95f7c57f, "file-has-acl: use
6717         acl_extended_file_nofollow if available".
6718
6719 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6720
6721         file-has-acl: revert unintended change in behavior of ls -L
6722         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6723         derived from...
6724         (file_has_acl): ...code here.  Call it.
6725         This problem was introduced with 2011-07-22 commit 95f7c57f,
6726         "file-has-acl: use acl_extended_file_nofollow if available".
6727         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6728
6729 2011-10-03  Bruno Haible  <bruno@clisp.org>
6730
6731         poll: Avoid link errors on MSVC.
6732         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6733         * modules/poll (Depends-on): Add sockets.
6734         (Link): New section.
6735         * NEWS: Mention the change.
6736         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6737         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6738         $(LIB_POLL) instead of $(LIBSOCKET).
6739
6740 2011-10-03  Bruno Haible  <bruno@clisp.org>
6741
6742         sys_select tests: Fix link error on MSVC 9.
6743         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6744         with $(LIB_SELECT) instead of $(LIBSOCKET).
6745
6746 2011-10-03  Bruno Haible  <bruno@clisp.org>
6747
6748         sys_select: Fix compilation error on mingw.
6749         * lib/sys_select.in.h: On native Windows, include <io.h>.
6750
6751 2011-10-03  Bruno Haible  <bruno@clisp.org>
6752
6753         wmemset: Support for MSVC.
6754         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6755         whether wmemset() exists.
6756
6757 2011-10-03  Bruno Haible  <bruno@clisp.org>
6758
6759         wmemmove: Support for MSVC.
6760         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6761         whether wmemmove() exists.
6762
6763 2011-10-03  Bruno Haible  <bruno@clisp.org>
6764
6765         wmemcpy: Support for MSVC.
6766         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6767         whether wmemcpy() exists.
6768
6769 2011-10-03  Bruno Haible  <bruno@clisp.org>
6770
6771         wmemcmp: Support for MSVC.
6772         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6773         whether wmemcmp() exists.
6774
6775 2011-10-03  Bruno Haible  <bruno@clisp.org>
6776
6777         wmemchr: Support for MSVC.
6778         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6779         whether wmemchr() exists.
6780
6781 2011-10-03  Bruno Haible  <bruno@clisp.org>
6782
6783         glthread/*, strsignal: Support for MSVC.
6784         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6785         including <winsock.h> on MSVC 9.
6786         * lib/glthread/lock.h: Likewise.
6787         * lib/glthread/thread.h: Likewise.
6788         * lib/glthread/tls.h: Likewise.
6789         * lib/glthread/yield.h: Likewise.
6790         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6791         if HAVE_UNISTD_H is false.
6792         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6793
6794 2011-10-03  Bruno Haible  <bruno@clisp.org>
6795
6796         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6797         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6798         Set to 100000.
6799
6800 2011-10-03  Bruno Haible  <bruno@clisp.org>
6801
6802         acl: Fix specification.
6803         * lib/file-has-acl.c (file_has_acl): Fix specification.
6804
6805 2011-10-03  Bruno Haible  <bruno@clisp.org>
6806
6807         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6808         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6809         (compute_curr_prefix, shared_library_fullname,
6810         find_shared_library_fullname, get_shared_library_fullname, relocate):
6811         Use it together with PIC && INSTALLDIR.
6812         Reported by <jojelino@gmail.com>
6813         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6814
6815 2011-10-01  Jim Meyering  <meyering@redhat.com>
6816
6817         maint.mk: adjust a release-related rule not to require use of gzip
6818         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6819         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6820         projects that build only .tar.xz files.  Also fix an erroneous test.
6821
6822         test-linkat: don't leave behind a temporary file
6823         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6824         Otherwise, coreutils' "make distcheck" would fail with this:
6825           Only in /c/cu/tests/torture/coreutils/test/\
6826             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6827           make[2]: *** [my-distcheck] Error 1
6828
6829         float, math: add omitted file
6830         * lib/itold.c: Add file, required for yesterday's float change.
6831
6832 2011-10-01  Bruno Haible  <bruno@clisp.org>
6833
6834         isinf: Fix for OpenBSD/x86.
6835         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6836         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6837         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6838
6839 2011-10-01  Bruno Haible  <bruno@clisp.org>
6840
6841         isfinite: Fix syntax error in configure test.
6842         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6843
6844         isfinite: Fix typo.
6845         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6846         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6847
6848 2011-10-01  Bruno Haible  <bruno@clisp.org>
6849
6850         nonblocking tests: Fix test failure on Linux/IA-64.
6851         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6852         Set to 270000.
6853
6854 2011-10-01  Bruno Haible  <bruno@clisp.org>
6855
6856         mkfifoat tests: Fix a test failure on mingw.
6857         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6858         with error ENOSYS.
6859
6860 2011-09-30  Bruno Haible  <bruno@clisp.org>
6861
6862         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6863         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6864         'long double'. Set REPLACE_ITOLD.
6865         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6866         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6867         * lib/itold.c: New file.
6868         * modules/float (Files): Add lib/itold.c.
6869         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6870         (Makefile.am): Substitute REPLACE_ITOLD.
6871         * modules/math (Depends-on): Add float.
6872         (Makefile.am): Substitute REPLACE_ITOLD.
6873         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6874         * doc/posix-headers/math.texi: Likewise.
6875         * doc/posix-functions/logl.texi: Likewise.
6876
6877 2011-09-30  Bruno Haible  <bruno@clisp.org>
6878
6879         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6880         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6881         Set to 140000.
6882
6883 2011-09-30  Bruno Haible  <bruno@clisp.org>
6884
6885         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6886         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6887         invocation, say "right after AC_PROG_CC_STDC", not "right after
6888         AC_PROG_CC".
6889         Reported by Gary V. Vaughan <gary@gnu.org>.
6890
6891 2011-09-30  Bruno Haible  <bruno@clisp.org>
6892
6893         Centralize C99 requirement.
6894         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6895         * modules/stdarg (configure.ac-early): Invoke it instead of
6896         AC_PROG_CC_STDC.
6897         Reported by Gary V. Vaughan and Paul Eggert.
6898
6899 2011-09-29  Bruno Haible  <bruno@clisp.org>
6900
6901         float: Fix LDBL_MAX value on Linux/PowerPC.
6902         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6903         on Linux/PowerPC.
6904         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6905         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6906         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6907         platform.
6908         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6909
6910 2011-09-29  Bruno Haible  <bruno@clisp.org>
6911
6912         doc: Improve doc about gl_EARLY.
6913         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6914         AC_PROG_CC_STDC invocation.
6915         Reported by Gary V. Vaughan <gary@gnu.org>.
6916
6917 2011-09-28  Bruno Haible  <bruno@clisp.org>
6918
6919         fgetc, fputc, fread, fwrite tests: Fix link error.
6920         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6921         on non-MSVC platforms.
6922         * tests/test-fputc.c (main): Likewise.
6923         * tests/test-fread.c (main): Likewise.
6924         * tests/test-fwrite.c (main): Likewise.
6925         Reported by Jim Meyering.
6926
6927 2011-09-27  Bruno Haible  <bruno@clisp.org>
6928
6929         fputc, fwrite tests: Avoid test failure on MSVC.
6930         * tests/test-fgetc.c: Include msvc-inval.h.
6931         (main): Invoke gl_msvc_inval_ensure_handler.
6932         * tests/test-fputc.c: Include msvc-inval.h.
6933         (main): Invoke gl_msvc_inval_ensure_handler.
6934         * tests/test-fread.c: Include msvc-inval.h.
6935         (main): Invoke gl_msvc_inval_ensure_handler.
6936         * tests/test-fwrite.c: Include msvc-inval.h.
6937         (main): Invoke gl_msvc_inval_ensure_handler.
6938         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6939         * modules/fputc-tests (Depends-on): Likewise.
6940         * modules/fread-tests (Depends-on): Likewise.
6941         * modules/fwrite-tests (Depends-on): Likewise.
6942
6943 2011-09-27  Bruno Haible  <bruno@clisp.org>
6944
6945         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6946         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6947         (raise): Remove older, duplicated declaration.
6948         (_gl_raise_SIGPIPE): New declaration.
6949         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6950         (rpl_raise): Remove function.
6951         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6952         a gnulib-defined SIGPIPE here.
6953         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6954         'sigprocmask' has detected missing signal-blocking and the module
6955         'sigpipe' is enabled.
6956         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6957
6958 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6959
6960         base64-tests: avoid memory leak
6961         * tests/test-base64.c (main): Plug memory leak.
6962
6963         base32: new module
6964         * modules/base32: New module.
6965         * lib/base32.c: New file.
6966         * lib/base32.h: Likewise.
6967         * m4/base32.m4: Likewise.
6968         * modules/base32-tests: New test.
6969         * tests/test-base32.c: Likewise.
6970         * MODULES.html.sh (Misc): Mention it.
6971
6972 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6973
6974         gnulib: use more-standard license notice wording
6975         * gnulib-tool (func_emit_copyright_notice): When emitting a
6976         license notice into a file, use the standard wording as suggested
6977         by the current information for GNU maintainers, except say "file"
6978         rather than "program".  The new wording gives a license version
6979         number, which addresses an issue raised by Glenn Morris in
6980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6981         * m4/onceonly.m4: Use that same wording here, too.
6982
6983         dup2: minor simplification
6984         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6985         as lib/dup2.c no longer uses 'inline'.
6986
6987 2011-09-25  Bruno Haible  <bruno@clisp.org>
6988
6989         strings: Fix compilation error on MSVC.
6990         * lib/strings.in.h: Include <stddef.h> for size_t.
6991
6992 2011-09-25  Bruno Haible  <bruno@clisp.org>
6993
6994         fflush et al.: Document limitation on MSVC.
6995         * doc/posix-functions/fflush.texi: Document possible crash in handling
6996         mode other than DEFAULT_HANDLING.
6997         * doc/posix-functions/fgetc.texi: Likewise.
6998         * doc/posix-functions/fputc.texi: Likewise.
6999         * doc/posix-functions/fread.texi: Likewise.
7000         * doc/posix-functions/fwrite.texi: Likewise.
7001
7002 2011-09-25  Bruno Haible  <bruno@clisp.org>
7003
7004         msvc-inval: Allow three invalid parameter handling modes.
7005         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7006         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7007         macros.
7008         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7009         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7010         SANE_LIBRARY_HANDLING as a no-op.
7011         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7012         <stdlib.h>.
7013         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7014
7015 2011-09-25  Bruno Haible  <bruno@clisp.org>
7016
7017         msvc-inval: Make handler multithread-safe.
7018         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7019         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7020         declarations.
7021         (gl_msvc_inval_current): New declaration.
7022         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7023         Operate on the structure returned by gl_msvc_inval_current().
7024         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7025         Remove varaiables.
7026         (tls_index, tls_initialized): New variables.
7027         (not_per_thread): New variable.
7028         (gl_msvc_inval_current): New function.
7029         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7030         returned by gl_msvc_inval_current().
7031
7032 2011-09-25  Bruno Haible  <bruno@clisp.org>
7033
7034         msvc-inval: Install handler globally.
7035         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7036         !_MSC_VER.
7037         (gl_msvc_invalid_parameter_handler): Remove declaration.
7038         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7039         declarations.
7040         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7041         Install the handler globally, don't uninstall it.
7042         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7043         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7044         currently valid, call RaiseException instead.
7045         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7046         for !_MSC_VER.
7047
7048 2011-09-25  Bruno Haible  <bruno@clisp.org>
7049
7050         strerror_r-posix: Fix for MSVC 9.
7051         * lib/strerror_r.c (local_snprintf): New function.
7052         (snprintf): Define to local_snprintf, not to _snprintf.
7053
7054 2011-09-25  Bruno Haible  <bruno@clisp.org>
7055
7056         ftruncate: Support for MSVC 9.
7057         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7058         (chsize_nothrow): New function.
7059         (chsize): Redefine as a macro.
7060         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7061         * modules/ftruncate (Depends-on): Add msvc-inval.
7062
7063 2011-09-25  Bruno Haible  <bruno@clisp.org>
7064
7065         New module 'fstat'.
7066         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7067         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7068         * lib/fchdir.c (rpl_fstat): Remove function.
7069         * m4/fstat.m4: New file.
7070         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7072         declared.
7073         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7074         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7075         * modules/fstat: New file.
7076         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7077         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7078         is set.
7079         * doc/posix-functions/fstat.texi: Mention the new module and the
7080         problem on MSVC.
7081         * NEWS: Mention the change.
7082         * modules/acl (Depends-on): Add fstat.
7083         * modules/chdir-safer (Depends-on): Likewise.
7084         * modules/chown (Depends-on): Likewise.
7085         * modules/copy-file (Depends-on): Likewise.
7086         * modules/fchdir (Depends-on): Likewise.
7087         * modules/fdopendir (Depends-on): Likewise.
7088         * modules/fopen (Depends-on): Likewise.
7089         * modules/fts (Depends-on): Likewise.
7090         * modules/getcwd (Depends-on): Likewise.
7091         * modules/isapipe (Depends-on): Likewise.
7092         * modules/linkat (Depends-on): Likewise.
7093         * modules/lseek (Depends-on): Likewise.
7094         * modules/mkdir-p (Depends-on): Likewise.
7095         * modules/open (Depends-on): Likewise.
7096         * modules/openat (Depends-on): Likewise.
7097         * modules/read-file (Depends-on): Likewise.
7098         * modules/renameat (Depends-on): Likewise.
7099         * modules/utimens (Depends-on): Likewise.
7100
7101 2011-09-25  Bruno Haible  <bruno@clisp.org>
7102
7103         linkat: Fix compilation on MSVC 9.
7104         * lib/linkat.c: Don't include <stdint.h>.
7105
7106 2011-09-25  Bruno Haible  <bruno@clisp.org>
7107
7108         fclose: Support for MSVC 9.
7109         * lib/fclose.c: Include msvc-inval.h.
7110         (fclose_nothrow): New function.
7111         (rpl_fclose): Use it.
7112         * modules/fclose (Depends-on): Add msvc-inval.
7113         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7114
7115 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7116
7117         dup2: minor simplifications
7118         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7119         that it's a performance win.
7120         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7121         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7122
7123 2011-09-24  Jim Meyering  <meyering@redhat.com>
7124
7125         test-futimens: avoid a warning from gcc -Wshadow
7126         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7127         to avoid a shadowing warning.
7128
7129 2011-09-24  Bruno Haible  <bruno@clisp.org>
7130
7131         fdopen: Support for MSVC 9.
7132         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7133         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7134         * lib/fdopen.c: Include msvc-inval.h.
7135         (fdopen_nothrow): New function.
7136         (rpl_fdopen): Use it.
7137         * modules/fdopen (Depends-on): Add msvc-inval.
7138         * modules/fclose-tests (Depends-on): Add fdopen.
7139         * modules/fflush-tests (Depends-on): Likewise.
7140         * modules/fgetc-tests (Depends-on): Likewise.
7141         * modules/fputc-tests (Depends-on): Likewise.
7142         * modules/fread-tests (Depends-on): Likewise.
7143         * modules/freopen-tests (Depends-on): Likewise.
7144         * modules/fseeko-tests (Depends-on): Likewise.
7145         * modules/ftello-tests (Depends-on): Likewise.
7146         * modules/fwrite-tests  (Depends-on): Likewise.
7147         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7148
7149 2011-09-24  Bruno Haible  <bruno@clisp.org>
7150
7151         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7152         * modules/fgetc-tests (Depends-on): Add unistd.
7153         * modules/fputc-tests (Depends-on): Likewise.
7154         * modules/fread-tests (Depends-on): Likewise.
7155         * modules/fwrite-tests (Depends-on): Likewise.
7156
7157 2011-09-24  Bruno Haible  <bruno@clisp.org>
7158
7159         dup: Simplify autoconf test.
7160         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7161         on gl_MSVC_INVAL's result.
7162
7163 2011-09-24  Bruno Haible  <bruno@clisp.org>
7164
7165         Tests for function fwrite().
7166         * modules/fwrite-tests: New file.
7167         * tests/test-fwrite.c: New file.
7168         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7169
7170         Tests for function fread().
7171         * modules/fread-tests: New file.
7172         * tests/test-fread.c: New file.
7173         * modules/stdio-tests (Depends-on): Add fread-tests.
7174
7175         Activate fputc tests.
7176         * modules/stdio-tests (Depends-on): Add fputc-tests.
7177
7178         Enhance fgetc, fputc tests.
7179         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7180         * tests/test-fputc.c (main): Likewise.
7181
7182 2011-09-24  Bruno Haible  <bruno@clisp.org>
7183
7184         write: Support for MSVC 9.
7185         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7186         is not 1.
7187         * lib/write.c (write_nothrow): New function.
7188         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7189         not 1. Use write_nothrow.
7190         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7191         invalid parameter handler.
7192         (gl_PREREQ_WRITE): New macro.
7193         * modules/write (Depends-on): Add msvc-inval.
7194         (configure.ac): Invoke gl_PREREQ_WRITE.
7195         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7196
7197 2011-09-24  Bruno Haible  <bruno@clisp.org>
7198
7199         read: Fix last commit.
7200         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7201
7202 2011-09-24  Bruno Haible  <bruno@clisp.org>
7203
7204         dup2: Fix last commit.
7205         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7206         (rpl_dup2): Disable fcntl workaround on native Windows.
7207
7208         sigprocmask: Make code safer.
7209         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7210         section that changes macro definitions for this compilation unit.
7211
7212 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7213
7214         dup2: clarify by coalescing Windows-specific material
7215         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7216         "msvc-nothrow.h"' to the Windows-specific section, so that the
7217         Emacs source need not contain these include files.
7218         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7219         Windows-specific fixes into this function rather than just the
7220         nothrow fix, as this shortens and clarifies the code.  Always
7221         define as a function, as that's a bit cleaner than having it be
7222         sometimes a function and sometimes a macro.
7223         (rpl_dup2): Move the Windows-specific stuff out of here and into
7224         ms_windows_dup2.  Don't protect the Haiku-related fix with
7225         "#if !defined __linux__", as the same code also works around
7226         a Linux kernel bug, and it doesn't add any system calls on any
7227         platform.  Add comment about FreeBSD 6.1.
7228
7229         sigprocmask: move #include directive
7230         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7231         Windows-specific section, so that the Emacs source need not
7232         contain msvc-inval.h.
7233
7234 2011-09-23  Bruno Haible  <bruno@clisp.org>
7235
7236         read: Support for MSVC 9.
7237         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7238         is not 1.
7239         * lib/read.c (read_nothrow): New function.
7240         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7241         read_nothrow.
7242         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7243         invalid parameter handler.
7244         (gl_PREREQ_READ): New macro.
7245         * modules/read (Depends-on): Add msvc-inval.
7246         (configure.ac): Invoke gl_PREREQ_READ.
7247         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7248
7249 2011-09-23  Bruno Haible  <bruno@clisp.org>
7250
7251         close: Support for MSVC 9.
7252         * lib/close.c: Include <errno.h>, msvc-inval.h.
7253         (close_nothrow): New function.
7254         (rpl_close): Use it.
7255         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7256         invalid parameter handler.
7257         * modules/close (Depends-on): Add msvc-inval.
7258         * modules/dup2-tests (Depends-on): Add close.
7259         * modules/dup3-tests (Depends-on): Likewise.
7260         * modules/fcntl-tests (Depends-on): Likewise.
7261         * modules/spawn-pipe-tests (Depends-on): Likewise.
7262         * modules/unistd-safer-tests (Depends-on): Likewise.
7263         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7264
7265 2011-09-23  Bruno Haible  <bruno@clisp.org>
7266
7267         New module 'dup'.
7268         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7269         Allow replacement.
7270         * lib/dup.c: New file.
7271         * lib/fchdir.c (rpl_dup): Remove function.
7272         * m4/dup.m4: New file.
7273         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7274         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7275         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7276         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7277         * modules/dup: New file.
7278         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7279         'dup' module is in use.
7280         * modules/fdopendir (Depends-on): Add dup.
7281         * modules/fdutimensat-tests (Depends-on): Likewise.
7282         * modules/fts (Depends-on): Likewise.
7283         * modules/futimens-tests (Depends-on): Likewise.
7284         * modules/posix_spawnp-tests (Depends-on): Likewise.
7285         * modules/unistd-safer-tests (Depends-on): Likewise.
7286         * modules/utimens-tests (Depends-on): Likewise.
7287         * doc/posix-functions/dup.texi: Mention the new module and the problem
7288         on MSVC.
7289
7290 2011-09-23  Bruno Haible  <bruno@clisp.org>
7291
7292         getdtablesize: Support for MSVC 9.
7293         * lib/getdtablesize.c: Include msvc-inval.h.
7294         (_setmaxstdio_nothrow): New function.
7295         (_setmaxstdio): Redefine it.
7296         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7297         * modules/getdtablesize (Depends-on): Add msvc-inval.
7298         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7299
7300 2011-09-23  Bruno Haible  <bruno@clisp.org>
7301
7302         signal-h: Rename from signal.
7303         * modules/signal-h: Renamed from modules/signal.
7304         * modules/pthread_sigmask (Depends-on): Update.
7305         * modules/raise (Depends-on): Likewise.
7306         * modules/sigaction (Depends-on): Likewise.
7307         * modules/sigpipe (Depends-on): Likewise.
7308         * modules/sigprocmask (Depends-on): Likewise.
7309         * modules/sys_select (Depends-on): Likewise.
7310         * modules/signal-h-tests: Renamed from modules/signal-tests.
7311         (Files, Depends-on, Makefile.am): Update.
7312         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7313         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7314         (Files, Makefile.am): Update.
7315         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7316         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7317         * modules/signal: New placeholder file.
7318         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7319         * doc/posix-headers/signal.texi: Update.
7320         * NEWS: Mention the change.
7321
7322 2011-09-23  Bruno Haible  <bruno@clisp.org>
7323
7324         sigprocmask: Avoid crashes through signal() on MSVC 9.
7325         * lib/sigprocmask.c: Include msvc-inval.h.
7326         (signal_nothrow): New function.
7327         (signal): Redefine it.
7328         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7329         * modules/sigprocmask (Depends-on): Add msvc-inval.
7330         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7331
7332 2011-09-23  Bruno Haible  <bruno@clisp.org>
7333
7334         Tests for module 'raise'.
7335         * modules/raise-tests: New file.
7336         * tests/test-raise.c: New file.
7337
7338         raise: Support for MSVC.
7339         * lib/signal.in.h (raise): New declaration.
7340         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7341         for native Windows platforms.
7342         * m4/raise.m4: New file.
7343         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7344         HAVE_RAISE, REPLACE_RAISE.
7345         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7346         REPLACE_RAISE.
7347         * modules/raise (Status, Notice): Remove fields.
7348         (Files): Add m4/raise.m4.
7349         (Depends-on): Add signal, msvc-inval.
7350         (configure.ac): Use the common idioms.
7351         (Maintainer): Add me.
7352         * tests/test-signal-c++.cc: Check the signature of raise.
7353         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7354
7355 2011-09-23  Bruno Haible  <bruno@clisp.org>
7356
7357         pipe2: Fix compilation on pre-C99 compilers.
7358         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7359
7360 2011-09-23  Bruno Haible  <bruno@clisp.org>
7361
7362         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7363         * lib/msvc-nothrow.h: New file.
7364         * lib/msvc-nothrow.c: New file.
7365         * m4/msvc-nothrow.m4: New file.
7366         * modules/msvc-nothrow: New file.
7367         * lib/dup2.c: Include msvc-nothrow.h.
7368         (rpl_dup2): No need to protect _get_osfhandle call here.
7369         * lib/accept4.c: Include msvc-nothrow.h.
7370         * lib/error.c: Likewise.
7371         * lib/fcntl.c: Likewise.
7372         * lib/lseek.c: Likewise.
7373         * lib/nonblocking.c: Likewise.
7374         * lib/poll.c: Likewise.
7375         * lib/read.c: Likewise.
7376         * lib/select.c: Likewise.
7377         * lib/sockets.h: Likewise.
7378         * lib/sockets.c: Likewise.
7379         * lib/stdio-read.c: Likewise.
7380         * lib/stdio-write.c: Likewise.
7381         * lib/write.c: Likewise.
7382         * lib/w32sock.h: Likewise.
7383         * lib/w32spawn.h: Likewise.
7384         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7385         * lib/fsync.c: Likewise.
7386         * lib/isapipe.c: Likewise.
7387         * modules/dup2 (Depends-on): Add msvc-nothrow.
7388         * modules/accept4 (Depends-on): Likewise.
7389         * modules/error (Depends-on): Likewise.
7390         * modules/fcntl (Depends-on): Likewise.
7391         * modules/lseek (Depends-on): Likewise.
7392         * modules/nonblocking (Depends-on): Likewise.
7393         * modules/poll (Depends-on): Likewise.
7394         * modules/read (Depends-on): Likewise.
7395         * modules/select (Depends-on): Likewise.
7396         * modules/sockets (Depends-on): Likewise.
7397         * modules/sigpipe (Depends-on): Likewise.
7398         * modules/write (Depends-on): Likewise.
7399         * modules/accept (Depends-on): Likewise.
7400         * modules/bind (Depends-on): Likewise.
7401         * modules/connect (Depends-on): Likewise.
7402         * modules/gethostname (Depends-on): Likewise.
7403         * modules/getpeername (Depends-on): Likewise.
7404         * modules/getsockname (Depends-on): Likewise.
7405         * modules/getsockopt (Depends-on): Likewise.
7406         * modules/ioctl (Depends-on): Likewise.
7407         * modules/listen (Depends-on): Likewise.
7408         * modules/recv (Depends-on): Likewise.
7409         * modules/recvfrom (Depends-on): Likewise.
7410         * modules/send (Depends-on): Likewise.
7411         * modules/sendto (Depends-on): Likewise.
7412         * modules/setsockopt (Depends-on): Likewise.
7413         * modules/shutdown (Depends-on): Likewise.
7414         * modules/socket (Depends-on): Likewise.
7415         * modules/execute (Depends-on): Likewise.
7416         * modules/spawn-pipe (Depends-on): Likewise.
7417         * modules/flock (Depends-on): Likewise.
7418         * modules/fsync (Depends-on): Likewise.
7419         * modules/isapipe (Depends-on): Likewise.
7420         * tests/test-cloexec.c: Include msvc-nothrow.h.
7421         * tests/test-dup-safer.c: Likewise.
7422         * tests/test-dup2.c: Likewise.
7423         * tests/test-dup3.c: Likewise.
7424         * tests/test-fcntl.c: Likewise.
7425         * tests/test-pipe.c: Likewise.
7426         * tests/test-pipe2.c: Likewise.
7427         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7428         * modules/unistd-safer-tests (Depends-on): Likewise.
7429         * modules/dup2-tests (Depends-on): Likewise.
7430         * modules/dup3-tests (Depends-on): Likewise.
7431         * modules/fcntl-tests (Depends-on): Likewise.
7432         * modules/pipe-posix-tests (Depends-on): Likewise.
7433         * modules/pipe2-tests (Depends-on): Likewise.
7434
7435 2011-09-23  Bruno Haible  <bruno@clisp.org>
7436
7437         dup2: Make code more maintainable.
7438         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7439         (rpl_dup2): Use it.
7440         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7441         * modules/dup2 (configure.ac): Invoke it.
7442         Reported by Paul Eggert.
7443
7444 2011-09-23  Bruno Haible  <bruno@clisp.org>
7445
7446         msvc-inval: Fix compilation error.
7447         * lib/msvc-inval.h: Include <excpt.h>.
7448
7449 2011-09-23  Bruno Haible  <bruno@clisp.org>
7450
7451         mkdir: Tweak for MSVC 9.
7452         * lib/sys_stat.in.h: Update comments.
7453         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7454
7455         Tests for module 'chdir'.
7456         * modules/chdir-tests: New file.
7457         * tests/test-chdir.c: New file.
7458
7459         New module 'chdir'.
7460         * modules/chdir: New file.
7461         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7462         (chdir): New declaration.
7463         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7464         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7465         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7466         * tests/test-unistd-c++.cc: Check signature of chdir.
7467         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7468         * modules/chdir-long (Depends-on): Add chdir.
7469         * modules/fchdir (Depends-on): Likewise.
7470         * modules/rename (Depends-on): Likewise.
7471         * modules/savewd (Depends-on): Likewise.
7472
7473         rmdir: Support for mingw, MSVC 9.
7474         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7475         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7476
7477         getcwd: Tweak for MSVC 9.
7478         * lib/unistd.in.h: Update comments.
7479         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7480
7481 2011-09-22  Bruno Haible  <bruno@clisp.org>
7482
7483         strerror_r-posix: Avoid a link error on MSVC.
7484         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7485         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7486
7487 2011-09-22  Bruno Haible  <bruno@clisp.org>
7488
7489         select: Avoid link errors on MSVC.
7490         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7491         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7492         * modules/pselect (Link): Likewise.
7493         * NEWS: Mention the change.
7494         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7495         test-select-stdin against $(LIB_SELECT).
7496         * modules/pselect-tests (Makefile.am): Link test-pselect against
7497         $(LIB_SELECT).
7498
7499 2011-09-22  Bruno Haible  <bruno@clisp.org>
7500
7501         select: Avoid compilation error on MSVC.
7502         * lib/select.c: Don't include <stdbool.h>.
7503
7504 2011-09-21  Bruno Haible  <bruno@clisp.org>
7505
7506         Consolidate all uses of PATH_MAX in *.m4 files.
7507         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7508         macros.
7509         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7510         and gl_PATHMAX_SNIPPET.
7511         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7512         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7513         * modules/chdir-long (Files): Add m4/pathmax.m4.
7514         * modules/getcwd (Files): Likewise.
7515
7516 2011-09-21  Bruno Haible  <bruno@clisp.org>
7517
7518         ftruncate: Un-deprecate, concentrate on Win32 support.
7519         * modules/ftruncate (Status, Notice): Remove sections.
7520         (Depends-on): Add largefile.
7521         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7522         non-mingw platforms.
7523         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7524         include <io.h>.
7525         * modules/perror-tests (Depends-on): Add ftruncate.
7526         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7527         'ftruncate' module.
7528
7529 2011-09-21  Bruno Haible  <bruno@clisp.org>
7530
7531         Add dependencies to new dirent related modules.
7532         * modules/opendir (Depends-on): Add closedir.
7533         * modules/getcwd (Depends-on): Add opendir, closedir.
7534         * modules/dirent-safer-tests (Depends-on): Likewise.
7535         * modules/fdopendir-tests (Depends-on): Likewise.
7536         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7537         * modules/renameat-tests (Depends-on): Likewise.
7538
7539 2011-09-21  Bruno Haible  <bruno@clisp.org>
7540
7541         opendir: Avoid compilation error on mingw.
7542         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7543         * modules/opendir (Depends-on): Add unistd.
7544
7545 2011-09-21  Bruno Haible  <bruno@clisp.org>
7546
7547         ftruncate tests: Avoid a test failure on mingw.
7548         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7549
7550 2011-09-21  Bruno Haible  <bruno@clisp.org>
7551
7552         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7553         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7554         native Windows.
7555
7556 2011-09-21  Bruno Haible  <bruno@clisp.org>
7557
7558         New module 'fdopen'.
7559         * lib/stdio.in.h (fdopen): New declaration.
7560         * lib/fdopen.c: New file.
7561         * m4/fdopen.m4: New file.
7562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7563         REPLACE_FDOPEN.
7564         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7565         REPLACE_FDOPEN.
7566         * modules/fdopen: New file.
7567         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7568         * tests/test-stdio-c++.cc: Check signature of fdopen.
7569         * doc/posix-functions/fdopen.texi: Mention the new module.
7570
7571 2011-09-21  Bruno Haible  <bruno@clisp.org>
7572
7573         unlockpt tests: Avoid test failure on NetBSD 5.1.
7574         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7575         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7576
7577 2011-09-21  Bruno Haible  <bruno@clisp.org>
7578
7579         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7580         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7581         * tests/test-getlogin_r.c (main): Likewise.
7582
7583 2011-09-20  Bruno Haible  <bruno@clisp.org>
7584
7585         time tests: Don't require pid_t.
7586         * doc/posix-headers/time.texi: Revert last change.
7587         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7588         * tests/test-time.c: Comment out the check for pid_t.
7589
7590 2011-09-20  Bruno Haible  <bruno@clisp.org>
7591
7592         fsync tests: Avoid a test failure on mingw.
7593         * tests/test-fsync.c (main): Allow a failure with EIO.
7594
7595 2011-09-20  Bruno Haible  <bruno@clisp.org>
7596
7597         euidaccess: Update comments.
7598         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7599
7600 2011-09-20  Bruno Haible  <bruno@clisp.org>
7601
7602         Ensure EBADF returns for socket functions on mingw.
7603         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7604         descriptor is invalid.
7605         * lib/bind.c (rpl_bind): Likewise.
7606         * lib/connect.c (rpl_connect): Likewise.
7607         * lib/getpeername.c (rpl_getpeername): Likewise.
7608         * lib/getsockname.c (rpl_getsockname): Likewise.
7609         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7610         * lib/listen.c (rpl_listen): Likewise.
7611         * lib/recv.c (rpl_recv): Likewise.
7612         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7613         * lib/send.c (rpl_send): Likewise.
7614         * lib/sendto.c (rpl_sendto): Likewise.
7615         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7616         * lib/shutdown.c (rpl_shutdown): Likewise.
7617
7618 2011-09-20  Bruno Haible  <bruno@clisp.org>
7619
7620         select tests: EBADF tests.
7621         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7622         test_bad_fd): New functions.
7623         (test_function): Invoke also test_bad_fd.
7624
7625 2011-09-20  Bruno Haible  <bruno@clisp.org>
7626
7627         Tests for module 'posix_spawn_file_actions_addopen.
7628         * modules/posix_spawn_file_actions_addopen-tests: New file.
7629         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7630
7631         Tests for module 'posix_spawn_file_actions_adddup2'.
7632         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7633         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7634
7635         Tests for module 'posix_spawn_file_actions_addclose'.
7636         * modules/posix_spawn_file_actions_addclose-tests: New file.
7637         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7638
7639 2011-09-20  Bruno Haible  <bruno@clisp.org>
7640
7641         Tests for module 'unlockpt'.
7642         * modules/unlockpt-tests: New file.
7643         * tests/test-unlockpt.c: New file.
7644         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7645
7646         Tests for module 'grantpt'.
7647         * modules/grantpt-tests: New file.
7648         * tests/test-grantpt.c: New file.
7649         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7650
7651 2011-09-20  Bruno Haible  <bruno@clisp.org>
7652
7653         freopen tests: EBADF tests.
7654         * tests/test-freopen.c: Include errno.h, unistd.h.
7655         (main): Add tests for EBADF, commented out for the moment.
7656
7657         fclose tests: EBADF tests.
7658         * tests/test-fclose.c (main): Add tests for EBADF.
7659
7660         fflush tests: EBADF tests.
7661         * tests/test-fflush.c: Include errno.h, macros.h.
7662         (main): Add tests for EBADF.
7663
7664         ftello tests: EBADF tests.
7665         * tests/test-ftello4.sh: New file.
7666         * tests/test-ftello4.c: New file.
7667         * modules/ftello-tests (Files): Add them.
7668         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7669
7670         fseeko tests: EBADF tests.
7671         * tests/test-fseeko4.sh: New file.
7672         * tests/test-fseeko4.c: New file.
7673         * modules/fseeko-tests (Files): Add them.
7674         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7675
7676         Tests for function fputc().
7677         * modules/fputc-tests: New file.
7678         * tests/test-fputc.c: New file.
7679         * modules/stdio-tests (Depends-on): Add fputc-tests.
7680
7681         Tests for function fgetc().
7682         * modules/fgetc-tests: New file.
7683         * tests/test-fgetc.c: New file.
7684         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7685
7686         Tests for function fdopen().
7687         * modules/fdopen-tests: New file.
7688         * tests/test-fdopen.c: New file.
7689         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7690
7691         Tests for module 'vdprintf'.
7692         * modules/vdprintf-tests: New file.
7693         * tests/test-vdprintf.c: New file.
7694
7695         Tests for module 'dprintf'.
7696         * modules/dprintf-tests: New file.
7697         * tests/test-dprintf.c: New file.
7698
7699 2011-09-20  Bruno Haible  <bruno@clisp.org>
7700
7701         Tests for module 'ioctl'.
7702         * modules/ioctl-tests: New file.
7703         * tests/test-ioctl.c: New file.
7704
7705 2011-09-20  Bruno Haible  <bruno@clisp.org>
7706
7707         fcntl tests: EBADF tests.
7708         * tests/test-fcntl.c (main): Add more tests for EBADF.
7709
7710 2011-09-20  Bruno Haible  <bruno@clisp.org>
7711
7712         utimensat tests: EBADF tests.
7713         * tests/test-utimensat.c (main): Add tests for EBADF.
7714
7715         renameat tests: EBADF tests.
7716         * tests/test-renameat.c (main): Add tests for EBADF.
7717
7718         mkfifoat tests: EBADF tests.
7719         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7720
7721         readlinkat tests: EBADF tests.
7722         * tests/test-readlinkat.c (main): Add tests for EBADF.
7723
7724         symlinkat tests: EBADF tests.
7725         * tests/test-symlinkat.c (main): Add tests for EBADF.
7726
7727         linkat tests: EBADF tests.
7728         * tests/test-linkat.c (main): Add tests for EBADF.
7729
7730         Tests for module 'faccessat'.
7731         * modules/faccessat-tests: New file.
7732         * tests/test-faccessat.c: New file.
7733
7734         fdopendir tests: EBADF tests.
7735         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7736
7737         openat tests: EBADF tests.
7738         * tests/test-fchownat.c (main): Add tests for EBADF.
7739         * tests/test-fstatat.c (main): Likewise.
7740         * tests/test-mkdirat.c (main): Likewise.
7741         * tests/test-openat.c (main): Likewise.
7742         * tests/test-unlinkat.c (main): Likewise.
7743         * tests/test-fchmodat.c: New file.
7744         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7745         (Makefile.am): Also run 'test-fchmodat'.
7746
7747 2011-09-20  Bruno Haible  <bruno@clisp.org>
7748
7749         utimens, futimens, fdutimensat tests: EBADF tests.
7750         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7751
7752         Tests for function fstat().
7753         * modules/fstat-tests: New file.
7754         * tests/test-fstat.c: New file.
7755         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7756
7757 2011-09-20  Bruno Haible  <bruno@clisp.org>
7758
7759         test-ttyname_r tests: EBADF tests.
7760         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7761
7762         Tests for module 'isatty'.
7763         * modules/isatty-tests: New file.
7764         * tests/test-isatty.c: New file.
7765
7766         Tests for module 'write'.
7767         * modules/write-tests: New file.
7768         * tests/test-write.c: New file.
7769
7770         Tests for module 'read'.
7771         * modules/read-tests: New file.
7772         * tests/test-read.c: New file.
7773
7774         pwrite tests: EBADF tests.
7775         * tests/test-pwrite.c (main): Add tests for EBADF.
7776
7777         pread tests: EBADF tests.
7778         * tests/test-pread.c (main): Add tests for EBADF.
7779
7780         lseek tests: EBADF tests.
7781         * tests/test-lseek.c (main): Add more tests for EBADF.
7782
7783         Tests for module 'ftruncate'.
7784         * modules/ftruncate-tests: New file.
7785         * tests/test-ftruncate.sh: New file.
7786         * tests/test-ftruncate.c: New file.
7787
7788         fsync tests: EBADF tests.
7789         * tests/test-fsync.c (main): Add more tests for EBADF.
7790
7791         fdatasync tests: EBADF tests.
7792         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7793
7794         Tests for module 'fchown'.
7795         * modules/fchown-tests: New file.
7796         * tests/test-fchown.c: New file.
7797
7798         Tests for module 'fchmod'.
7799         * modules/fchmod-tests: New file.
7800         * tests/test-fchmod.c: New file.
7801
7802         fchdir tests: EBADF tests.
7803         * tests/test-fchdir.c (main): Add more tests for EBADF.
7804
7805         dup2 tests: EBADF tests.
7806         * tests/test-dup2.c (main): Add more tests for EBADF.
7807
7808         Tests for module 'dup'.
7809         * modules/dup-tests: New file.
7810         * tests/test-dup.c: New file.
7811
7812         Tests for module 'close'.
7813         * modules/close-tests: New file.
7814         * tests/test-close.c: New file.
7815
7816 2011-09-20  Bruno Haible  <bruno@clisp.org>
7817
7818         Tests for module 'shutdown'.
7819         * modules/shutdown-tests: New file.
7820         * tests/test-shutdown.c: New file.
7821
7822         Tests for module 'setsockopt'.
7823         * modules/setsockopt-tests: New file.
7824         * tests/test-setsockopt.c: New file.
7825
7826         Tests for module 'sendto'.
7827         * modules/sendto-tests: New file.
7828         * tests/test-sendto.c: New file.
7829
7830         Tests for module 'send'.
7831         * modules/send-tests: New file.
7832         * tests/test-send.c: New file.
7833
7834         Tests for module 'recvfrom'.
7835         * modules/recvfrom-tests: New file.
7836         * tests/test-recvfrom.c: New file.
7837
7838         Tests for module 'recv'.
7839         * modules/recv-tests: New file.
7840         * tests/test-recv.c: New file.
7841
7842         Tests for module 'listen'.
7843         * modules/listen-tests: New file.
7844         * tests/test-listen.c: New file.
7845
7846         Tests for module 'getsockopt'.
7847         * modules/getsockopt-tests: New file.
7848         * tests/test-getsockopt.c: New file.
7849
7850         Tests for module 'getsockname'.
7851         * modules/getsockname-tests: New file.
7852         * tests/test-getsockname.c: New file.
7853
7854         Tests for module 'getpeername'.
7855         * modules/getpeername-tests: New file.
7856         * tests/test-getpeername.c: New file.
7857
7858         Tests for module 'connect'.
7859         * modules/connect-tests: New file.
7860         * tests/test-connect.c: New file.
7861
7862         Tests for module 'bind'.
7863         * modules/bind-tests: New file.
7864         * tests/test-bind.c: New file.
7865
7866         accept4 tests: Fix for native Windows.
7867         * tests/test-accept4.c: Include sockets.h.
7868         (main): Invoke gl_sockets_startup.
7869         * modules/accept4-tests (Depends-on): Add sockets.
7870
7871         accept tests: Fix for native Windows.
7872         * tests/test-accept.c: Include sockets.h.
7873         (main): Invoke gl_sockets_startup.
7874         * modules/accept-tests (Depends-on): Add sockets.
7875
7876 2011-09-19  Bruno Haible  <bruno@clisp.org>
7877
7878         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7879         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7880         do...while(0).
7881         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7882         Suggested by Paul Eggert.
7883
7884 2011-09-19  Bruno Haible  <bruno@clisp.org>
7885
7886         sched: Ensure pid_t is defined.
7887         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7888         not define pid_t.
7889         * lib/sched.in.h: Include <sys/types.h>.
7890         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7891         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7892
7893 2011-09-19  Bruno Haible  <bruno@clisp.org>
7894
7895         msvc-inval: Ensure the entire expansion is a single statement.
7896         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7897         of braces.
7898
7899 2011-09-19  Jim Meyering  <meyering@redhat.com>
7900
7901         tests: use printf, not echo in init.sh's warn_ function
7902         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7903         misbehave when given strings containing a backslash or starting
7904         with e.g., -n.  James Youngman suggested setting IFS.
7905
7906 2011-09-19  Eric Blake  <eblake@redhat.com>
7907
7908         futimens: enhance test
7909         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7910         closed non-negative fd.
7911
7912         date: accept 'hence' as opposite of 'ago'
7913         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7914         * tests/test-parse-datetime.c (main): Enhance test.
7915         Suggested by Jesse Wilson.
7916
7917 2011-09-19  Jim Meyering  <meyering@redhat.com>
7918
7919         getcwd: don't fail in a deep directory on a system without openat
7920         Before this change, getcwd would fail when called from a directory
7921         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7922         the non-openat implementation used "..", "../..", "../../..", etc.
7923         to access ancestor directories.  With too many, that string would
7924         be longer than PATH_MAX.
7925         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7926         using gnulib's openat replacement.
7927         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7928         we're using the replacement function.
7929
7930 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7931
7932         maint.mk: avoid warnings from perl about missing files
7933         * top/maint.mk (def_sym_regex): Ignore files listed in
7934         $(gl_other_headers_) that do not exist, say because a project
7935         does not use a corresponding module.
7936
7937 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7938
7939         stat: use pathmax.h only if needed
7940         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7941         This is better for Emacs, which does not have a mingw port and
7942         therefore can avoid the pathmax module.
7943
7944         utimens: remove dependency on dup2
7945         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7946         to work around the Linux kernel bug.
7947         * modules/utimens (Depends-on): Remove dup2.
7948
7949 2011-09-18  Bruno Haible  <bruno@clisp.org>
7950
7951         inet_ntop, inet_pton: Look for it also in libresolv.
7952         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7953         libnsl, search for it in libresolv.
7954         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7955         Needed on Solaris 7.
7956
7957 2011-09-18  Bruno Haible  <bruno@clisp.org>
7958
7959         accept, accept4 tests: Avoid link error on Solaris.
7960         * modules/accept-tests (Makefile.am): Link test-accept against
7961         $(LIBSOCKET).
7962         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7963         $(LIBSOCKET).
7964
7965         accept4: Avoid link error on Solaris.
7966         * modules/accept4 (Link): New section.
7967
7968         socket functions: Avoid link errors on Solaris.
7969         * modules/accept (Depends-on): Add socketlib.
7970         (Link): New section.
7971         * modules/bind (Depends-on): Add socketlib.
7972         (Link): New section.
7973         * modules/connect (Depends-on): Add socketlib.
7974         (Link): New section.
7975         * modules/getpeername (Depends-on): Add socketlib.
7976         (Link): New section.
7977         * modules/getsockname (Depends-on): Add socketlib.
7978         (Link): New section.
7979         * modules/getsockopt (Depends-on): Add socketlib.
7980         (Link): New section.
7981         * modules/listen (Depends-on): Add socketlib.
7982         (Link): New section.
7983         * modules/recv (Depends-on): Add socketlib.
7984         (Link): New section.
7985         * modules/recvfrom (Depends-on): Add socketlib.
7986         (Link): New section.
7987         * modules/send (Depends-on): Add socketlib.
7988         (Link): New section.
7989         * modules/sendto (Depends-on): Add socketlib.
7990         (Link): New section.
7991         * modules/setsockopt (Depends-on): Add socketlib.
7992         (Link): New section.
7993         * modules/shutdown (Depends-on): Add socketlib.
7994         (Link): New section.
7995         * modules/socket (Depends-on): Add socketlib.
7996         (Link): New section.
7997
7998 2011-09-18  Bruno Haible  <bruno@clisp.org>
7999
8000         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8001         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8002         than 5 seconds.
8003         * modules/ptsname-tests (configure.ac): Test for alarm.
8004
8005 2011-09-18  Bruno Haible  <bruno@clisp.org>
8006
8007         posix_spawn_file_actions_add*: Fix module dependencies.
8008         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8009         posix_spawn_file_actions_init.
8010         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8011         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8012
8013 2011-09-18  Bruno Haible  <bruno@clisp.org>
8014
8015         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8016         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8017         * tests/test-renameat.c (main): Likewise.
8018
8019 2011-09-18  Bruno Haible  <bruno@clisp.org>
8020
8021         Tests for module 'accept4'.
8022         * modules/accept4-tests: New file.
8023         * tests/test-accept4.c: New file.
8024
8025 2011-09-18  Bruno Haible  <bruno@clisp.org>
8026
8027         Tests for module 'accept'.
8028         * modules/accept-tests: New file.
8029         * tests/test-accept.c: New file.
8030
8031 2011-09-18  Bruno Haible  <bruno@clisp.org>
8032
8033         dup2: Support for MSVC.
8034         * lib/dup2.c: Include msvc-inval.h.
8035         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8036         _get_osfhandle calls.
8037         * modules/dup2 (Depends-on): Add msvc-inval.
8038         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8039
8040         New module 'msvc-inval'.
8041         * lib/msvc-inval.h: New file.
8042         * lib/msvc-inval.c: New file.
8043         * m4/msvc-inval.m4: New file.
8044         * modules/msvc-inval: New file.
8045
8046 2011-09-17  Bruno Haible  <bruno@clisp.org>
8047
8048         Tests for module 'pclose'.
8049         * modules/pclose-tests: New file.
8050
8051         New module 'pclose'.
8052         * lib/stdio.in.h (pclose): New declaration.
8053         * lib/pclose.c: New file.
8054         * m4/pclose.m4: New file.
8055         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8056         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8057         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8058         * modules/pclose: New file.
8059         * modules/popen-tests (Depends-on): Add pclose.
8060         * modules/popen-safer-tests (Depends-on): Likewise.
8061         * doc/posix-functions/pclose.texi: Mention the new module.
8062
8063 2011-09-17  Bruno Haible  <bruno@clisp.org>
8064
8065         popen: Support for MSVC.
8066         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8067         * lib/popen.c (popen): Provide alternate definition for native Windows.
8068         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8070         * modules/popen (Depends-on, configure.ac): Update condition.
8071         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8072         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8073         fixed.
8074
8075 2011-09-17  Bruno Haible  <bruno@clisp.org>
8076
8077         isnanl, isnand, isnanf: Work around MSVC bug.
8078         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8079
8080 2011-09-17  Bruno Haible  <bruno@clisp.org>
8081
8082         sys_socket tests: Fix recent mistake.
8083         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8084
8085 2011-09-17  Bruno Haible  <bruno@clisp.org>
8086
8087         putenv: Support for MSVC.
8088         * modules/putenv (Depends-on): Add environ.
8089         * lib/putenv.c (environ): Disable declaration.
8090         * lib/unistd.in.h: Update comment.
8091
8092 2011-09-17  Bruno Haible  <bruno@clisp.org>
8093
8094         math: Avoid macro redefinition warnings on MSVC.
8095         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8096         Undefine before redefining.
8097
8098 2011-09-17  Bruno Haible  <bruno@clisp.org>
8099
8100         doc: Mention functions which are declared as macros.
8101         * doc/posix-functions/*[fl].texi: Mention that some functions are
8102         defined as macros with arguments only.
8103
8104 2011-09-17  Bruno Haible  <bruno@clisp.org>
8105
8106         Add dependencies to new dirent related modules.
8107         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8108         * modules/fts (Depends-on): Likewise.
8109         * modules/glob (Depends-on): Likewise.
8110         * modules/savedir (Depends-on): Likewise.
8111         * modules/scandir (Depends-on): Likewise.
8112         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8113         * modules/fdopendir (Depends-on): Add opendir.
8114
8115 2011-09-17  Bruno Haible  <bruno@clisp.org>
8116
8117         inet_pton: Support for MSVC on Windows Vista or newer.
8118         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8119         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8120         HAVE_DECL_INET_PTON is defined.
8121         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8122         On platforms with <winsock2.h>, test whether inet_pton is declared in
8123         <ws2tcpip.h>. If so, arrange to replace it.
8124         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8125         REPLACE_INET_PTON.
8126         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8127         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8128         (Depends-on, configure.ac): Update condition.
8129         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8130
8131 2011-09-17  Bruno Haible  <bruno@clisp.org>
8132
8133         inet_ntop: Support for MSVC on Windows Vista or newer.
8134         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8135         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8136         HAVE_DECL_INET_NTOP is defined.
8137         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8138         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8139         <ws2tcpip.h>. If so, arrange to replace it.
8140         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8141         REPLACE_INET_NTOP.
8142         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8143         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8144         (Depends-on, configure.ac): Update condition.
8145         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8146
8147 2011-09-16  Eric Blake  <eblake@redhat.com>
8148
8149         test-fsync: yet another enhancement
8150         * tests/test-fsync.c (main): Also test behavior on read-only text
8151         file.
8152
8153 2011-09-16  Bruno Haible  <bruno@clisp.org>
8154
8155         Enhance fsync, fdatasync tests.
8156         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8157         * tests/test-fdatasync.c (main): Likewise.
8158
8159 2011-09-16  Bruno Haible  <bruno@clisp.org>
8160
8161         Support for MSVC compiler: Ensure mode_t gets defined.
8162         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8163         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8164         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8165         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8166         * tests/test-fcntl-h.c: Check that mode_t is defined.
8167         * tests/test-sys_stat.c: Likewise.
8168         * tests/test-sys_types.c: Likewise.
8169         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8170         * doc/posix-headers/sys_stat.texi: Likewise.
8171         * doc/posix-headers/sys_types.texi: Likewise.
8172
8173 2011-09-16  Bruno Haible  <bruno@clisp.org>
8174
8175         sys_stat: Support for MSVC.
8176         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8177         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8178         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8179         MSVC.
8180
8181 2011-09-16  Bruno Haible  <bruno@clisp.org>
8182
8183         Support for MSVC compiler: Ensure off_t gets defined.
8184         * lib/unistd.in.h: Include <sys/types.h>.
8185         * tests/test-fcntl-h.c: Check that off_t is defined.
8186         * tests/test-sys_stat.c: Likewise.
8187         * tests/test-sys_types.c: Likewise.
8188
8189 2011-09-16  Eric Blake  <eblake@redhat.com>
8190
8191         fdatasync: port to Solaris
8192         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8193         * modules/fdatasync (Link): Document it.
8194         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8195
8196         fdatasync: port to MacOS X 10.7
8197         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8198         declared.
8199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8200         * modules/unistd (Makefile.am): Substitute it.
8201         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8202         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8203
8204         fdatasync: minor improvements
8205         * modules/fdatasync (Depends-on): Add condition for fsync.
8206         * lib/fdatasync.c (fdatasync): Add comment.
8207         * tests/test-unistd-c++.cc: Test fdatasync.
8208
8209         unistd: update refs to newer POSIX
8210         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8211         Suggested by Bruno Haible.
8212
8213         fdatasync: new module
8214         * modules/fsync (Description): Document difference to fdatasync.
8215         * modules/fdatasync: New module.
8216         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8217         * lib/fdatasync.c (fdatasync): Likewise.
8218         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8219         defaults.
8220         * modules/unistd (Makefile.am): Set witnesses.
8221         * lib/unistd.in.h (fdatasync): Declare.
8222         * MODULES.html.sh: Document it.
8223         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8224         * modules/fdatasync-tests: New test.
8225         * tests/test-fdatasync.c: Likewise.
8226
8227 2011-09-16  Eric Blake  <eblake@redhat.com>
8228
8229         test-fsync: enhance tests
8230         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8231         * tests/test-fsync.c (main): Enhance test.
8232
8233 2011-09-15  Bruno Haible  <bruno@clisp.org>
8234
8235         Support for MSVC compiler: Ensure ssize_t gets defined.
8236         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8237         * doc/posix-headers/stdio.texi: Likewise.
8238         * modules/stdio (Depends-on): Add ssize_t.
8239         * modules/sys_socket (Depends-on): Likewise.
8240         * modules/sys_types (Depends-on): Likewise.
8241         * modules/sys_uio (Depends-on): Likewise.
8242         * modules/unistd (Depends-on): Likewise.
8243         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8244         * tests/test-sys_types.c: Check that ssize_t is defined.
8245
8246 2011-09-14  Bruno Haible  <bruno@clisp.org>
8247
8248         Avoid using #, the m4 comment starter character, near brackets.
8249         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8250         delimiter character in sed expressions.
8251         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8252         Suggested by Eric Blake.
8253
8254         Properly quote AC_CHECK_DECLS' 4th argument.
8255         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8256         argument.
8257         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8258         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8259         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8260         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8261         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8262         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8263         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8264         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8265         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8266         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8267         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8268         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8269         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8270         * m4/isinf.m4 (gl_ISINF): Likewise.
8271         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8272         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8273         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8274         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8275         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8276         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8277         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8278         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8279         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8280         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8281         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8282         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8283         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8284         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8285         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8286         Reported by Eric Blake.
8287
8288         Properly quote AC_CHECK_DECL's 4th argument.
8289         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8290         argument.
8291         * m4/argp.m4 (gl_ARGP): Likewise.
8292         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8293         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8294         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8295         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8296         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8297         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8298         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8299         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8300         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8301         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8302         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8303         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8304         Reported by Eric Blake.
8305
8306 2011-09-14  Eric Blake  <eblake@redhat.com>
8307
8308         opendir: avoid compile warning
8309         * lib/opendir.c (includes): Always include errno.h.
8310         Reported by Tatsuro MATSUOKA.
8311
8312 2011-09-14  Jim Meyering  <meyering@redhat.com>
8313
8314         maint.mk: sc_tight_scope: propagate failure from sub-make
8315         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8316         Reported by Martin von Gagern.
8317
8318 2011-09-13  Bruno Haible  <bruno@clisp.org>
8319
8320         tempname: Support for MSVC.
8321         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8322         MSVC.
8323         * modules/tempname (Depends-on): Add fcntl-h.
8324
8325 2011-09-13  Bruno Haible  <bruno@clisp.org>
8326
8327         sys_time: Support for MSVC.
8328         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8329         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8330         include <winsock2.h>.
8331         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8332         function declarations that collide with POSIX.
8333         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8334         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8335
8336 2011-09-13  Bruno Haible  <bruno@clisp.org>
8337
8338         stat: Support for MSVC.
8339         * lib/stat.c: Include pathmax.h.
8340         * modules/stat (Depends-on): Add pathmax.
8341
8342         pathmax: Support for native Windows.
8343         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8344
8345 2011-09-12  Bruno Haible  <bruno@clisp.org>
8346
8347         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8348         * lib/dirent.in.h (struct dirent): New type.
8349         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8350         DT_WHT): New macros.
8351         (DIR): New type.
8352         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8353         (readdir, rewinddir): New declarations.
8354         * lib/dirent-private.h: New file.
8355         * lib/opendir.c: New file.
8356         * lib/readdir.c: New file.
8357         * lib/rewinddir.c: New file.
8358         * lib/closedir.c: New file.
8359         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8360         * m4/opendir.m4: New file.
8361         * m4/readdir.m4: New file.
8362         * m4/rewinddir.m4: New file.
8363         * m4/closedir.m4: New file.
8364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8365         REPLACE_CLOSEDIR here.
8366         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8367         readdir, rewinddir are declared.
8368         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8369         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8370         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8371         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8372         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8373         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8374         * modules/opendir: New file.
8375         * modules/readdir: New file.
8376         * modules/rewinddir: New file.
8377         * modules/closedir: New file.
8378         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8379         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8380         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8381         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8382         * NEWS: Mention the 'fchdir' change.
8383
8384 2011-09-11  Bruno Haible  <bruno@clisp.org>
8385
8386         asm-underscore.m4: Support for MSVC.
8387         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8388         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8389
8390 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8391
8392         Doc about crypt functions.
8393         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8394         needing for _GNU_SOURCE to get crypt.
8395         * doc/posix-functions/encrypt.texi: Likewise.
8396         * doc/posix-functions/setkey.texi: Likewise.
8397
8398 2011-09-11  Bruno Haible  <bruno@clisp.org>
8399
8400         doc: Update regarding MSVC 9.
8401         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8402         tested".
8403         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8404         * doc/posix-headers/*.texi: Likewise.
8405         * doc/pastposix-functions/*.texi: Likewise.
8406         * doc/glibc-functions/*.texi: Likewise.
8407         * doc/glibc-headers/*.texi: Likewise.
8408
8409 2011-09-11  Bruno Haible  <bruno@clisp.org>
8410
8411         unistd et al.: Don't assume <unistd.h> exists.
8412         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8413         does not exist.
8414         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8415         exist. But include <stdlib.h>.
8416         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8417         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8418         symlink() does not exist.
8419         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8420         include <io.h> instead.
8421         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8422         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8423         include <direct.h> instead.
8424         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8426         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8427         <io.h> instead.
8428         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8429         correctly if the system does not have hard links.
8430         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8431         <direct.h> instead.
8432         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8433         it when looking for function declarations.
8434         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8435         <direct.h> and <io.h> instead.
8436         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8437
8438 2011-09-11  Bruno Haible  <bruno@clisp.org>
8439
8440         strcase: Support for MSVC.
8441         * modules/strcase (Status, Notice): Remove obsoletion mark.
8442         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8443         * doc/posix-functions/strncasecmp.texi: Likewise.
8444
8445         strings: Don't assume <strings.h> exists.
8446         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8447         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8448         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8449         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8450
8451 2011-09-11  Bruno Haible  <bruno@clisp.org>
8452
8453         dirent: Don't assume <dirent.h> exists.
8454         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8455         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8456         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8457         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8458
8459 2011-09-11  Bruno Haible  <bruno@clisp.org>
8460
8461         Fix wint_t on MSVC.
8462         * lib/wchar.in.h (wint_t): On MSVC, override it.
8463         * lib/wctype.in.h (wint_t): Likewise.
8464         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8465         MSVC.
8466         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8467         * doc/posix-headers/wctype.texi: Likewise.
8468
8469 2011-09-11  Bruno Haible  <bruno@clisp.org>
8470
8471         sys_types: Fix typo.
8472         * lib/sys_types.in.h: Fix typo in comment.
8473         Reported by Paul Eggert.
8474
8475         Support for MSVC compiler: Ensure size_t gets defined.
8476         * modules/strings (Depends-on): Add 'sys_types'.
8477         * modules/sys_uio (Depends-on): Likewise.
8478         * lib/sys_uio.in.h: Update comment.
8479
8480         C++ tests for module 'sys_types'.
8481         * modules/sys_types-c++-tests: New file.
8482         * tests/test-sys_types-c++.cc: New file.
8483
8484         Tests for module 'sys_types'.
8485         * modules/sys_types-tests: New file.
8486         * tests/test-sys_types.c: New file.
8487
8488         New module 'sys_types'.
8489         * lib/sys_types.in.h: New file.
8490         * m4/sys_types_h.m4: New file.
8491         * modules/sys_types: New file.
8492         * doc/posix-headers/sys_types.texi: Mention the new module and the
8493         size_t problem on MSVC 9.
8494
8495 2011-09-11  Bruno Haible  <bruno@clisp.org>
8496
8497         Support for MSVC compiler: Avoid division by a literal 0.
8498         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8499         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8500         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8501         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8502         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8503         * tests/infinity.h: New file.
8504         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8505         on MSVC.
8506         * tests/test-ceilf1.c: Include infinity.h.
8507         (main): Use Infinityf.
8508         * tests/test-ceil1.c: Include infinity.h.
8509         (main): Use Infinityd.
8510         * tests/test-ceill.c: Include infinity.h.
8511         (main): Use Infinityl.
8512         * tests/test-dprintf-posix.c: Include infinity.h.
8513         (test_function): Use Infinityd.
8514         * tests/test-floorf1.c: Include infinity.h.
8515         (main): Use Infinityf.
8516         * tests/test-floor1.c: Include infinity.h.
8517         (main): Use Infinityd.
8518         * tests/test-floorl.c: Include infinity.h.
8519         (main): Use Infinityl.
8520         * tests/test-fprintf-posix.c: Include infinity.h.
8521         (test_function): Use Infinityd.
8522         * tests/test-frexp.c: Include infinity.h.
8523         (main): Use Infinityd.
8524         * tests/test-frexpl.c: Include infinity.h.
8525         (main): Use Infinityl.
8526         * tests/test-isfinite.c: Include infinity.h.
8527         (test_isfinitef): Use Infinityf.
8528         (test_isfinited): Use Infinityd.
8529         (test_isfinitel): Use Infinityl.
8530         * tests/test-isinf.c: Include infinity.h.
8531         (test_isinff): Use Infinityf.
8532         (test_isinfd): Use Infinityd.
8533         (test_isinfl): Use Infinityl.
8534         * tests/test-isnan.c: Include infinity.h.
8535         (test_float): Use Infinityf.
8536         (test_double): Use Infinityd.
8537         (test_long_double): Use Infinityl.
8538         * tests/test-isnanf.h: Include infinity.h.
8539         (main): Use Infinityf.
8540         * tests/test-isnand.h: Include infinity.h.
8541         (main): Use Infinityd.
8542         * tests/test-isnanl.h: Include infinity.h.
8543         (main): Use Infinityl.
8544         * tests/test-ldexpl.c: Include infinity.h.
8545         (main): Use Infinityl.
8546         * tests/test-printf-posix.h: Include infinity.h.
8547         (test_function): Use Infinityd.
8548         * tests/test-roundf1.c: Include infinity.h.
8549         (main): Use Infinityf.
8550         * tests/test-round1.c: Include infinity.h.
8551         (main): Use Infinityd.
8552         * tests/test-roundl.c: Include infinity.h.
8553         (main): Use Infinityl.
8554         * tests/test-signbit.c: Include infinity.h.
8555         (test_signbitf): Use Infinityf.
8556         (test_signbitd): Use Infinityd.
8557         (test_signbitl): Use Infinityl.
8558         * tests/test-snprintf-posix.h: Include infinity.h.
8559         (test_function): Use Infinityd, Infinityl.
8560         * tests/test-sprintf-posix.h: Include infinity.h.
8561         (test_function): Use Infinityd, Infinityl.
8562         * tests/test-truncf1.c: Include infinity.h.
8563         (main): Use Infinityf.
8564         * tests/test-trunc1.c: Include infinity.h.
8565         (main): Use Infinityd.
8566         * tests/test-truncl.c: Include infinity.h.
8567         (main): Use Infinityl.
8568         * tests/test-vasnprintf-posix.c: Include infinity.h.
8569         (test_function): Use Infinityd, Infinityl.
8570         * tests/test-vasprintf-posix.c: Include infinity.h.
8571         (test_function): Use Infinityd, Infinityl.
8572         * modules/ceilf-tests (Files): Add tests/infinity.h.
8573         * modules/ceil-tests (Files): Likewise.
8574         * modules/ceill-tests (Files): Likewise.
8575         * modules/dprintf-posix-tests (Files): Likewise.
8576         * modules/floorf-tests (Files): Likewise.
8577         * modules/floor-tests (Files): Likewise.
8578         * modules/floorl-tests (Files): Likewise.
8579         * modules/fprintf-posix-tests (Files): Likewise.
8580         * modules/frexp-tests (Files): Likewise.
8581         * modules/frexp-nolibm-tests (Files): Likewise.
8582         * modules/frexpl-tests (Files): Likewise.
8583         * modules/frexpl-nolibm-tests (Files): Likewise.
8584         * modules/isfinite-tests (Files): Likewise.
8585         * modules/isinf-tests (Files): Likewise.
8586         * modules/isnan-tests (Files): Likewise.
8587         * modules/isnanf-tests (Files): Likewise.
8588         * modules/isnanf-nolibm-tests (Files): Likewise.
8589         * modules/isnand-tests (Files): Likewise.
8590         * modules/isnand-nolibm-tests (Files): Likewise.
8591         * modules/isnanl-tests (Files): Likewise.
8592         * modules/isnanl-nolibm-tests (Files): Likewise.
8593         * modules/ldexpl-tests (Files): Likewise.
8594         * modules/printf-posix-tests (Files): Likewise.
8595         * modules/roundf-tests (Files): Likewise.
8596         * modules/round-tests (Files): Likewise.
8597         * modules/roundl-tests (Files): Likewise.
8598         * modules/signbit-tests (Files): Likewise.
8599         * modules/snprintf-posix-tests (Files): Likewise.
8600         * modules/sprintf-posix-tests (Files): Likewise.
8601         * modules/truncf-tests (Files): Likewise.
8602         * modules/trunc-tests (Files): Likewise.
8603         * modules/truncl-tests (Files): Likewise.
8604         * modules/vasnprintf-posix-tests (Files): Likewise.
8605         * modules/vasprintf-posix-tests (Files): Likewise.
8606         * modules/vdprintf-posix-tests (Files): Likewise.
8607         * modules/vfprintf-posix-tests (Files): Likewise.
8608         * modules/vprintf-posix-tests (Files): Likewise.
8609         * modules/vsnprintf-posix-tests (Files): Likewise.
8610         * modules/vsprintf-posix-tests (Files): Likewise.
8611         * modules/xprintf-posix-tests (Files): Likewise.
8612
8613 2011-09-11  Bruno Haible  <bruno@clisp.org>
8614
8615         Ensure pid_t gets defined.
8616         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8617         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8618         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8619         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8620         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8621         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8622         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8623         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8624         * tests/test-fcntl-h.c: Check that pid_t is defined.
8625         * tests/test-sched.c: Likewise.
8626         * tests/test-termios.c: Likewise.
8627         * tests/test-time.c: Likewise.
8628         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8629         * doc/posix-headers/signal.texi: Likewise.
8630         * doc/posix-headers/sys_types.texi: Likewise.
8631         * doc/posix-headers/time.texi: Likewise.
8632
8633 2011-09-11  Bruno Haible  <bruno@clisp.org>
8634
8635         acl: Fix compilation on Solaris 10 (older version).
8636         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8637         of ACE_EVERYONE.
8638         * lib/set-mode-acl.c (qset_acl): Likewise.
8639         Reported by Christian Jullien <eligis@orange.fr>.
8640
8641 2011-09-10  Bruno Haible  <bruno@clisp.org>
8642
8643         iconv, unsetenv: Add support for MSVC compiler.
8644         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8645         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8646
8647 2011-09-10  Bruno Haible  <bruno@clisp.org>
8648
8649         *printf: Add support for MSVC compiler.
8650         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8651         handles the exception caused by the %n directive. When cross-compiling,
8652         guess no on native Windows.
8653         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8654         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8655         emulate it through vsnprintf.
8656         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8657         * doc/posix-functions/dprintf.texi: Update documentation regarding
8658         MSVC 9.
8659         * doc/posix-functions/fprintf.texi: Likewise.
8660         * doc/posix-functions/printf.texi: Likewise.
8661         * doc/posix-functions/snprintf.texi: Likewise.
8662         * doc/posix-functions/sprintf.texi: Likewise.
8663         * doc/posix-functions/swprintf.texi: Likewise.
8664         * doc/posix-functions/vdprintf.texi: Likewise.
8665         * doc/posix-functions/vfprintf.texi: Likewise.
8666         * doc/posix-functions/vprintf.texi: Likewise.
8667         * doc/posix-functions/vsnprintf.texi: Likewise.
8668         * doc/posix-functions/vsprintf.texi: Likewise.
8669         * doc/glibc-functions/asprintf.texi: Likewise.
8670         * doc/glibc-functions/obstack_printf.texi: Likewise.
8671         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8672         * doc/glibc-functions/vasprintf.texi: Likewise.
8673
8674 2011-09-10  Bruno Haible  <bruno@clisp.org>
8675
8676         nocrash: Add support for native Windows.
8677         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8678
8679 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8680             Bruno Haible  <bruno@clisp.org>
8681
8682         absolute-header, include-next: Add support for MSVC compiler.
8683         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8684         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8685         directory separator in #line directives.
8686         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8687         recognize also backslash as directory separator in #line directives.
8688
8689 2011-09-08  Jim Meyering  <meyering@redhat.com>
8690
8691         maint.mk: mark the post-release commit log with "maint: " prefix
8692         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8693         one-line commit-log summary.
8694
8695 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8696             Bruno Haible  <bruno@clisp.org>
8697
8698         Doc about crypt functions.
8699         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8700         systems.
8701         * doc/posix-functions/encrypt.texi: Likewise.
8702         * doc/posix-functions/setkey.texi: Likewise.
8703
8704 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8705
8706         * lib/gc.h: Fix copyright header.
8707
8708 2011-09-07  Bruno Haible  <bruno@clisp.org>
8709
8710         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8711         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8712         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8713
8714 2011-09-07  Bruno Haible  <bruno@clisp.org>
8715
8716         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8717         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8718         * lib/freopen.c: Likewise.
8719         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8720         * lib/lstat.c: Likewise.
8721         * lib/stat.c: Likewise.
8722         * lib/open.c: Use different syntax for include of <fcntl.h>.
8723         * lib/openat.c: Include fcntl.h again, explicitly.
8724
8725 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8726
8727         parse-datetime: document the newly accepted format
8728         * doc/parse-datetime.texi (Combined date and time of day items):
8729         New section.
8730
8731 2011-09-06  Bruno Haible  <bruno@clisp.org>
8732
8733         acl: Fix a test failure on newer Solaris 10 with ZFS.
8734         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8735         ENOSYS as no ACL.
8736         Reported by Jim Meyering.
8737
8738 2011-09-06  Bruno Haible  <bruno@clisp.org>
8739
8740         acl: Update for AIX >= 5.3 with NFS.
8741         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8742         ENOSYS as no ACL.
8743
8744         acl: Fix a test failure on AIX >= 5.3 with NFS.
8745         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8746         as no ACL.
8747
8748 2011-09-06  Bruno Haible  <bruno@clisp.org>
8749
8750         acl: Fix a test failure on IRIX 6.5 with NFS.
8751         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8752         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8753         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8754         * lib/copy-acl.c (qcopy_acl): Likewise.
8755
8756 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8757
8758         openat: port to AIX 7.1 with large files
8759         AIX 7.1 does a "#define openat open64at" if large files are in use,
8760         so we can't simply #undef openat.  Use the orig_openat trick (similar
8761         to orig_open in lib/open.c) to work around the problem.  Problem
8762         reported by Kevin Brott for GNU tar, in the thread containing
8763         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8764         * lib/openat.c (__need_system_fcntl_h): Define first.
8765         Include <fcntl.h> and <sys/types.h> before undefining.
8766         (orig_openat) [HAVE_OPENAT]: New inline function.
8767         (openat) [HAVE_OPENAT]: Do not undef.
8768         (rpl_openat): Use orig_openat, not openat.
8769
8770 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8771             Bruno Haible  <bruno@clisp.org>
8772
8773         acl: Avoid errors on NonStop Kernel.
8774         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8775         ENOTSUP errors.
8776
8777 2011-09-05  Bruno Haible  <bruno@clisp.org>
8778
8779         acl: Clean up Solaris code.
8780         * lib/acl-internal.h: Remove no-op #if.
8781         * lib/file-has-acl.c: Likewise.
8782         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8783         * lib/copy-acl.c (qcopy_acl): Likewise.
8784
8785 2011-09-05  Bruno Haible  <bruno@clisp.org>
8786
8787         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8788         binaries built on the original Solaris 10.
8789         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8790         trivial.
8791
8792 2011-09-05  Bruno Haible  <bruno@clisp.org>
8793
8794         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8795         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8796         10.
8797         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8798         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8799         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8800         instead of acl_get, facl_get, acl_set, facl_set.
8801
8802 2011-09-05  Bruno Haible  <bruno@clisp.org>
8803
8804         copy-file: Try unit tests on more file systems.
8805         * tests/test-copy-file-1.sh: New file.
8806         * tests/test-copy-file-2.sh: New file.
8807         * modules/copy-file-tests (Files): Add them.
8808         (Makefile.am): Add them to TESTS.
8809
8810         acl: Try unit tests on more file systems.
8811         * tests/test-file-has-acl-1.sh: New file.
8812         * tests/test-file-has-acl-2.sh: New file.
8813         * tests/test-set-mode-acl-1.sh: New file.
8814         * tests/test-set-mode-acl-2.sh: New file.
8815         * tests/test-copy-acl-1.sh: New file.
8816         * tests/test-copy-acl-2.sh: New file.
8817         * modules/acl-tests (Files): Add them.
8818         (Makefile.am): Add them to TESTS.
8819
8820 2011-09-04  Bruno Haible  <bruno@clisp.org>
8821
8822         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8823         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8824         10.
8825         (OLD_ALLOW, OLD_DENY): New macros.
8826         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8827         ACE_ACCESS_ALLOWED_ACE_TYPE.
8828         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8829         ACE_ACCESS_DENIED_ACE_TYPE.
8830         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8831         (NEW_ACE_EXECUTE): Fix value.
8832         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8833         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8834         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8835         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8836         NEW_ACE_SYNCHRONIZE): New macros.
8837         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8838         instead of acl_fromtext, acl_set, facl_set.
8839         Fixes a coreutils/tests/cp/perm failure.
8840
8841 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8842
8843         openat: test for fstatat (..., 0) bug
8844         Further testing with tar suggests that fstatat (..., 0)
8845         does not work in general, on AIX 7.1; see
8846         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8847         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8848         replacement fstatat (which is what older AIX releases were using
8849         anyway).
8850         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8851         use is now changed to orig_fstatat.  This was probably the right
8852         thing to do anyway.
8853         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8854         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8855         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8856         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8857         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8858         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8859         if the bug is found.
8860
8861         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8862         This tests for another fstatat bug on AIX 7.1:
8863         fstatat (AT_FDCWD, ..., 0) does not work.  See
8864         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8865         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8866         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8867         (rpl_fstatat): Adjust so that it works around either (or both)
8868         bugs if present.
8869         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8870
8871 2011-09-03  Karl Berry  <karl@gnu.org>
8872
8873         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8874         in index entries.
8875
8876 2011-09-02  Bruno Haible  <bruno@clisp.org>
8877
8878         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8879         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8880         values of AR, ARFLAGS, RANLIB.
8881         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8882
8883 2011-09-02  Bruno Haible  <bruno@clisp.org>
8884
8885         Find 'ar' program that fits with --host argument.
8886         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8887
8888 2011-09-02  Bruno Haible  <bruno@clisp.org>
8889
8890         tests: init.sh: Support any non-GNU diff.
8891         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8892         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8893         Solaris 8.
8894
8895 2011-09-02  Bruno Haible  <bruno@clisp.org>
8896
8897         tests: init.sh: work also with any non-GNU diff that supports -u
8898         * tests/init.sh: Relax check for diff -u support.
8899         Rather than checking for GNU diff via --version, simply check
8900         for support for -u itself.  Useful at least on OpenBSD 4.9,
8901         AIX 7.1, IRIX 6.5, and Solaris 10.
8902
8903 2011-09-01  Bruno Haible  <bruno@clisp.org>
8904
8905         strtoimax, strtoumax: Document problem on HP-UX 11.
8906         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8907         * doc/posix-functions/strtoumax.texi: Likewise.
8908
8909 2011-09-01  Bruno Haible  <bruno@clisp.org>
8910
8911         strtoumax: Avoid link error on OSF/1 with DTK cc.
8912         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8913         defined as a function.
8914         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8915         strtoumax is defined, not whether it is declared.
8916
8917 2011-09-01  Bruno Haible  <bruno@clisp.org>
8918
8919         strtoimax: Avoid link error on OSF/1 with DTK cc.
8920         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8921         defined as a function.
8922         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8923         strtoimax is defined, not whether it is declared.
8924
8925 2011-09-01  Bruno Haible  <bruno@clisp.org>
8926
8927         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8928         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8929         as a function.
8930         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8931         whether it is declared.
8932
8933 2011-09-01  Bruno Haible  <bruno@clisp.org>
8934
8935         imaxabs: Avoid link error on OSF/1 with DTK cc.
8936         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8937         as a function.
8938         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8939         whether it is declared.
8940
8941 2011-09-01  Bruno Haible  <bruno@clisp.org>
8942
8943         Tests for module 'strtoumax'.
8944         * modules/strtoumax-tests: New file.
8945         * tests/test-strtoumax.c: New file.
8946
8947         Tests for module 'strtoimax'.
8948         * modules/strtoimax-tests: New file.
8949         * tests/test-strtoimax.c: New file.
8950
8951         Tests for module 'imaxdiv'.
8952         * modules/imaxdiv-tests: New file.
8953         * tests/test-imaxdiv.c: New file.
8954
8955         Tests for module 'imaxabs'.
8956         * modules/imaxabs-tests: New file.
8957         * tests/test-imaxabs.c: New file.
8958
8959 2011-09-01  Bruno Haible  <bruno@clisp.org>
8960
8961         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8962         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8963         pthread_create.
8964
8965 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8966
8967         openat: work around AIX 7.1 fstatat issue
8968         This should fix the problem that was not properly fixed
8969         in the previous change, dated 2011-08-30.
8970         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8971         __need_system_stat_h defined.
8972         (orig_fstatat) [HAVE_FSTATAT]: New function.
8973         (rpl_fstatat): Go back to the old way of doing things,
8974         except call orig_fstatat instead of fstatat.
8975         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8976         Remove unnecessary check whether fstatat fills in st_size etc.
8977
8978 2011-09-01  Bruno Haible  <bruno@clisp.org>
8979
8980         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8981         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8982         just include the system's header.
8983
8984 2011-08-31  Jim Meyering  <meyering@redhat.com>
8985
8986         tests: avoid spurious assertion failure in test-float.c on ppc64
8987         * tests/test-float.c (test_long_double): Comment out an assertion,
8988         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8989         with gcc-4.4.4.
8990
8991         maint: indent with spaces, not TABs
8992         I need to get in the habit of running gnulib's "make check".
8993         Both of these would have been caught.
8994         * m4/largefile.m4: Indent with spaces, not TABs.
8995         * lib/parse-datetime.y (iso_8601_time): Likewise.
8996         Spotted by Pádraig Brady.
8997
8998         test-parse-datetime.c: accommodate a relatively strict gcc warning
8999         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9000         to avoid a warning from gcc's -Werror=missing-declarations.
9001         Insert a few spaces-before-funcall-parenthesis.
9002
9003 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9004
9005         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9006         The parser now accepts ISO 8601 date-time strings with "T" as the
9007         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9008         with a space between the date and time strings.  Now it also parses
9009         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9010         variants like "2004-02-29T16:21:42.333-07:00"
9011         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9012         of day representation using the 'T' separator character.
9013         * doc/parse-datetime.texi (General date syntax): replace use of
9014         deprecated --iso-8601 option with --rfc-3339 in example of date
9015         command output formats that can be parsed.
9016         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9017         lib/parse-datetime.y.
9018         (gmt_offset): New function.
9019         (main): Add additional test cases to validate ISO8601 extended
9020         date and time of day parsing.
9021
9022 2011-08-31  Bruno Haible  <bruno@clisp.org>
9023
9024         freopen: Documentation.
9025         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9026         name.
9027         Reported by Claudio Bley <claudio.bley@gmail.com>.
9028
9029 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9030
9031         freopen: Don't crash if the filename argument is NULL.
9032         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9033         NULL.
9034
9035 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9036
9037         openat: work around AIX 7.1 fstatat bug
9038         Problem reported by Kevin Brott for GNU tar, in the thread containing
9039         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9040         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9041         FSTATAT_ST_SIZE_ETC_BROKEN.
9042         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9043         rpl_fstatat.
9044         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9045         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9046         AC_CHECK_FUNCS_ONCE for fstatat.
9047         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9048         fchmodat, mkdirat, openat and unlinkat.
9049
9050 2011-08-30  Bruno Haible  <bruno@clisp.org>
9051
9052         Avoid endless recursions if config.h includes some header files.
9053         * lib/fopen.c (__need_FILE): Define already before including config.h.
9054         * lib/freopen.c (__need_FILE): Likewise.
9055         * lib/open.c (__need_system_fcntl_h): Likewise.
9056         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9057         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9058         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9059
9060 2011-08-25  Karl Berry  <karl@gnu.org>
9061
9062         * config/srclist.txt (ylwrap): new try.
9063         * build-aux/ylwrap: new file.
9064
9065 2011-08-23  Bruno Haible  <bruno@clisp.org>
9066
9067         tmpdir: Use a good default directory on native Windows.
9068         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9069         (P_tmpdir): Default to _P_tmpdir on native Windows.
9070         (path_search): On native Windows, try the value returned by GetTempPath
9071         before trying P_tmpdir.
9072         * modules/tmpdir (Depends-on): Add pathmax.
9073         Suggested by John Darrington <john@darrington.wattle.id.au>.
9074
9075 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9076
9077         doc: fix typo in README-release
9078         * top/README-release: Capitalize first word of a sentence.
9079
9080 2011-08-19  Jim Meyering  <meyering@redhat.com>
9081
9082         fts: do not exhaust memory when processing million-entry directories
9083         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9084         directory would require about 256*N bytes of memory.  Thus, it was
9085         easy to construct a directory too large to be processed by any of
9086         those tools.  With this change, fts' maximum memory utilization is
9087         now limited to around 30MB.
9088         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9089         (fts_read): When we've processed the final entry (i.e., when
9090         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9091         using the parent entry to read any remaining entries.  Dispatch
9092         depending on what fts_build returns:
9093         - NULL+stop, aka failure: stop
9094         - NULL otherwise: move up in the dir hierarchy
9095         - non-NULL: handle this new entry
9096         (fts_build): Declare and use new local, continue_readdir.
9097         Prepare to be called from fts_read, when the entries
9098         from a partially-read directory have just been exhausted.
9099         In that case, we'll skip the opendir and instead use the parent's
9100         fts_dirp and derive dir_fd from that.
9101         Finally, in the readdir loop, if we read max_entries entries,
9102         exit the loop ensuring *not* to call closedir.  This is required
9103         so that fts_dirp can be reused on a subsequent call.
9104         Prompted by Ben England's report of memory exhaustion in find
9105         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9106
9107         maint: fts: move decl of `dp' down into while loop; split a long line
9108         * lib/fts.c (fts_build): No semantic change.
9109
9110         fts: add/use new struct member, fts_dirp
9111         We are about to use this to manage any directory with
9112         too many entries to read all of them into memory at once.
9113         To do that, we'll need to save the DIR* pointer in each
9114         affected FTSENT struct.
9115         * lib/fts_.h: Include <dirent.h>.
9116         (struct FTSENT) [fts_dirp]: New member.
9117         * lib/fts.c (closedir_and_clear): Define.
9118         Use it in place of closedir so that we are sure to
9119         clear the new fts_dirp member when done with it.
9120         (fts_alloc): Initialize the new member.
9121         (fts_lfree): Free, if needed.
9122
9123         maint: fts: give __opendir2 a new parameter and rename
9124         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9125         than surreptitiously using sole caller's "dir_fd".
9126         (fts_opendir): Rename from __opendir2.
9127
9128         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9129         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9130
9131         maint: fts.c: correct off-by-one indentation
9132         * lib/fts.c (fts_build): Correct indentation, change style
9133         of a couple of block comments, and bracing style.
9134
9135         maint: fts.c: move __opendir2 #define "up" out of function body
9136         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9137
9138         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9139         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9140         out for a long time and besides was useful only on BSD systems.
9141
9142 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9143
9144         regex: port to Stratus OpenVOS
9145         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9146         define to empty, rather than attempting nonportable optimizations.
9147         Problem reported by Paul Green in:
9148         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9149         and fix suggested by Eric Blake in:
9150         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9151
9152 2011-08-17  Eric Blake  <eblake@redhat.com>
9153
9154         getcwd: fix test failures on mingw
9155         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9156         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9157         test if long directory cannot be created, and allow mingw errno.
9158
9159         getcwd-lgpl: fix m4 to match relaxed test for BSD
9160         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9161         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9162         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9163         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9164         signature problem.
9165
9166         getcwd: fix compilation on mingw64
9167         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9168         getcwd.
9169         Reported by Marc-André Lureau.
9170
9171         pipe2: silence compiler warning
9172         * lib/pipe2.c (pipe2): Hide label if it is not used.
9173
9174 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9175
9176         relocatable-prog: fix link error
9177         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9178         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9179         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9180         into modules/relocatable-lib without noticing that
9181         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9182         also needs to build relocatable.c.
9183
9184 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9185
9186         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9187         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9188         shell code: it contained a 'break' that was not in a loop.
9189         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9190         via a shell-language loop; this may have been true in old Autoconf
9191         versions, but it's not true in Autoconf 2.68.  I found this bug
9192         when testing coreutils git on Solaris 8, whose shell complains
9193         about the syntax error.
9194
9195 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9196
9197         * lib/base64.c: Fix comment to reference RFC 4648.
9198         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9199         <gvtulder@gmail.com>.
9200
9201 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9202
9203         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9204
9205         po/Makefile.in.in: fix make -q problem
9206         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9207         rule, since there's no file named 'check-macro-version' and its
9208         use as a file breaks make -q.
9209         (all): Don't depend on check-macro-version.
9210         (CHECK_MACRO_VERSION): New macro.
9211         (stamp-po): Use it.
9212
9213         configmake: fix make -q problem
9214         * modules/configmake (configmake.h): Update configmake.h's time stamp
9215         even if the file does not change.  Otherwise, 'make -q' fails.
9216         Problem reported by Simon Josefsson in
9217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9218
9219 2011-08-11  Jim Meyering  <meyering@redhat.com>
9220
9221         git-version-gen: correct the advice in a comment
9222         * build-aux/git-version-gen: Correct comment.
9223         Don't recommend to list .tarball-version in .gitignore.
9224
9225 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9226
9227         base64: fix off-by-one buffer size bug
9228         Problem and (trivial) fix reported by Gijs van Tulder in
9229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9230         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9231         * tests/test-base64.c (main): Catch the bug.
9232
9233 2011-08-10  Eric Blake  <eblake@redhat.com>
9234
9235         closein: correct comments
9236         * lib/closein.c (close_stdin): Improve comments.
9237
9238 2011-08-09  Bruno Haible  <bruno@clisp.org>
9239
9240         More tests for 'fseeko'.
9241         * tests/test-fseeko3.c: New file, from Eric Blake.
9242         * tests/test-fseeko3.sh: New file.
9243         * modules/fseeko-tests (Files): Add them.
9244         (TESTS): Add test-fseeko3.sh.
9245         (check_PROGRAMS): Add test-fseeko3.
9246
9247 2011-08-09  Eric Blake  <eblake@redhat.com>
9248
9249         fseeko: remove unneeded hack
9250         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9251
9252         fseeko: fix bug on glibc
9253         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9254         Reported by John W. Eaton.
9255
9256 2011-08-08  Bruno Haible  <bruno@clisp.org>
9257
9258         unictype/base: Fix interoperability with preinstalled libunistring.
9259         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9260         Reported by Simon Josefsson.
9261
9262 2011-08-08  Bruno Haible  <bruno@clisp.org>
9263
9264         iswblank: Detect declaration correctly.
9265         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9266         AC_CHECK_DECLS invocation.
9267
9268 2011-08-08  Bruno Haible  <bruno@clisp.org>
9269
9270         tcgetsid: Detect declaration correctly.
9271         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9272         AC_CHECK_DECLS invocation.
9273         Reported by Simon Josefsson.
9274
9275 2011-08-08  Eric Blake  <eblake@redhat.com>
9276
9277         largefile: fix typo that regressed large file support
9278         * modules/largefile (configure.ac-early): Fix section name.
9279
9280 2011-08-06  Karl Berry  <karl@gnu.org>
9281
9282         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9283         a separate module.
9284
9285 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9286
9287         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9288         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9289         get prototype for free.
9290
9291 2011-08-04  Bruno Haible  <bruno@clisp.org>
9292
9293         Tests for module 'pathmax'.
9294         * modules/pathmax-tests: New file.
9295         * tests/test-pathmax.c: New file.
9296
9297         canonicalize-lgpl: Support larger filenames on the Hurd.
9298         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9299         Reported by Paul Eggert.
9300
9301         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9302         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9303         * lib/chdir-long.h: Include pathmax.h.
9304         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9305         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9306         (PATH_MAX): Remove code that is done by pathmax.h.
9307         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9308         * lib/tmpfile.c: Add a comment.
9309         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9310         * modules/chdir-long (Depends-on): Add pathmax.
9311         * modules/getcwd (Depends-on): Add pathmax.
9312         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9313         is not defined.
9314         * doc/posix-headers/limits.texi: Mention the pathmax module.
9315         * NEWS: Mention the change.
9316
9317 2011-08-02  Bruno Haible  <bruno@clisp.org>
9318
9319         pthread_sigmask: Actually use results of gl_THREADLIB.
9320         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9321         gl_THREADLIB, not gl_[]THREADLIB.
9322         Reported by Eric Blake.
9323
9324 2011-08-02  Jim Meyering  <meyering@redhat.com>
9325
9326         maint.mk: relax the default _gl_TS_function_match regexp
9327         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9328         space between function name and "(" in an "extern" declaration.
9329         That would fail to match a decl with no space there: extern void foo();
9330
9331 2011-07-31  Iain Nicol  <iain@thenicols.net>
9332
9333         git-version-gen: document that EXTRA_DIST must include .version
9334         * build-aux/git-version-gen: In the how-to-use comment, document
9335         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9336         will fail when run from an unpacked distribution tarball.
9337
9338 2011-08-01  Bruno Haible  <bruno@clisp.org>
9339
9340         wctype-h: Fix last change.
9341         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9342         REPLACE_TOWLOWER to 0.
9343         Reported by Sam Steingold <sds@gnu.org>.
9344
9345 2011-07-31  Bruno Haible  <bruno@clisp.org>
9346
9347         frexpl: Update autoconf test.
9348         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9349         according to changes of 2011-06-20.
9350
9351 2011-07-31  Bruno Haible  <bruno@clisp.org>
9352
9353         sys_utsname: Add support for Minix.
9354         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9355         <sys/utsname.h>.
9356         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9357         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9358
9359 2011-07-31  Bruno Haible  <bruno@clisp.org>
9360
9361         strings: Add support for Minix.
9362         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9363         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9364         * doc/posix-headers/strings.texi: Document the Minix problem.
9365
9366 2011-07-31  Bruno Haible  <bruno@clisp.org>
9367
9368         wctype-h: Add support for Minix.
9369         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9370         REPLACE_TOWLOWER.
9371         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9372         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9373         REPLACE_ISWCNTRL.
9374
9375 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9376
9377         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9378         This is a performance improvement for 64-bit hosts: it causes the
9379         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9380
9381 2011-07-31  Bruno Haible  <bruno@clisp.org>
9382
9383         stdioext: Add support for Minix.
9384         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9385         * lib/fpurge.c (fpurge): Likewise.
9386         * lib/freadahead.c (freadahead): Likewise.
9387         * lib/freadable.c (freadable): Likewise.
9388         * lib/freading.c (freading): Likewise.
9389         * lib/freadptr.c (freadptr): Likewise.
9390         * lib/freadseek.c (freadptrinc): Likewise.
9391         * lib/fseeko.c (rpl_fseeko): Likewise.
9392         * lib/fseterr.c (fseterr): Likewise.
9393         * lib/fwritable.c (fwritable): Likewise.
9394         * lib/fwriting.c (fwriting): Likewise.
9395         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9396         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9397
9398 2011-07-31  Bruno Haible  <bruno@clisp.org>
9399
9400         errno: Port to Minix.
9401         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9402         ECONNABORTED are defined.
9403         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9404         GNULIB_defined_ECONNABORTED): New macros.
9405         * lib/strerror-override.h (strerror_override): Test also
9406         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9407         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9408         ECONNABORTED.
9409         * doc/posix-headers/errno.texi: Mention the Minix problem.
9410
9411 2011-07-31  Bruno Haible  <bruno@clisp.org>
9412
9413         Work around declaration collisions on Minix.
9414         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9415         defined, set REPLACE_MBSINIT.
9416         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9417         defined, set REPLACE_MBRTOWC.
9418         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9419         set REPLACE_MBRLEN.
9420         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9421         defined, set REPLACE_MBSRTOWCS.
9422         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9423         defined, set REPLACE_WCRTOMB.
9424         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9425         defined, set REPLACE_WCSRTOMBS.
9426
9427 2011-07-31  Bruno Haible  <bruno@clisp.org>
9428
9429         Add support for Minix with ACK compiler.
9430         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9431         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9432         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9433
9434 2011-07-31  Bruno Haible  <bruno@clisp.org>
9435
9436         Documentation about Minix.
9437         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9438         * doc/glibc-headers/*.texi: Likewise.
9439         * doc/posix-functions/*.texi: Likewise.
9440         * doc/glibc-functions/*.texi: Likewise.
9441
9442 2011-07-31  Bruno Haible  <bruno@clisp.org>
9443
9444         snippet/warn-on-use: Fix indentation.
9445         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9446
9447 2011-07-25  Jim Meyering  <meyering@redhat.com>
9448
9449         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9450         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9451         commands.
9452
9453 2011-07-27  Jim Meyering  <meyering@redhat.com>
9454
9455         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9456         * top/maint.mk (gl_extract_significant_defines_): Now that
9457         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9458         gnulib/lib/signal.in.h, and now that we recommend to
9459         define-if-undefined those two symbols in application code,
9460         we must filter them out of the "significant" list.
9461         This avoids a "make syntax-check" failure in coreutils.
9462
9463 2011-07-26  Eric Blake  <eblake@redhat.com>
9464
9465         warnings: add comments about previous patch
9466         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9467         * m4/include_next.m4: Likewise.
9468         * m4/warn-on-use.m4: Likewise.
9469         * m4/warnings.m4: Likewise, and simplify use.
9470         Suggested by Stefano Lattarini.
9471
9472         include-next, warnings: support older autoconf
9473         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9474         AS_VAR_PUSHDEF in a way that works with older autoconf.
9475         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9476         Reported by Daniel P. Berrange.
9477
9478 2011-07-25  Bruno Haible  <bruno@clisp.org>
9479
9480         fseek, ftell: Fix doc.
9481         * doc/posix-functions/fseek.texi: Reword statement about
9482         AC_SYS_LARGEFILE.
9483         * doc/posix-functions/ftell.texi: Likewise.
9484
9485 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9486             Bruno Haible  <bruno@clisp.org>
9487
9488         Add dependencies to the 'largefile' module.
9489         * modules/fopen (Depends-on): Add 'largefile'.
9490         * modules/freopen (Depends-on): Likewise.
9491         * modules/fseeko (Depends-on): Likewise.
9492         * modules/ftello (Depends-on): Likewise.
9493         * modules/glob (Depends-on): Likewise.
9494         * modules/lseek (Depends-on): Likewise.
9495         * modules/lstat (Depends-on): Likewise.
9496         * modules/mkostemp (Depends-on): Likewise.
9497         * modules/mkostemps (Depends-on): Likewise.
9498         * modules/mkstemp (Depends-on): Likewise.
9499         * modules/mkstemps (Depends-on): Likewise.
9500         * modules/open (Depends-on): Likewise.
9501         * modules/openat (Depends-on): Likewise.
9502         * modules/pread (Depends-on): Likewise.
9503         * modules/pwrite (Depends-on): Likewise.
9504         * modules/scandir (Depends-on): Likewise.
9505         * modules/stat (Depends-on): Likewise.
9506         * modules/tmpfile (Depends-on): Likewise.
9507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9508         since the containing module now depends on the largefile module.
9509         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9510         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9511         off_t is fixed by gnulib.
9512         * doc/posix-functions/freopen.texi: Likewise.
9513         * doc/posix-functions/fseeko.texi: Likewise.
9514         * doc/posix-functions/fstatat.texi: Likewise.
9515         * doc/posix-functions/ftello.texi: Likewise.
9516         * doc/posix-functions/glob.texi: Likewise.
9517         * doc/posix-functions/lseek.texi: Likewise.
9518         * doc/posix-functions/lstat.texi: Likewise.
9519         * doc/posix-functions/mkstemp.texi: Likewise.
9520         * doc/posix-functions/open.texi: Likewise.
9521         * doc/posix-functions/openat.texi: Likewise.
9522         * doc/posix-functions/pread.texi: Likewise.
9523         * doc/posix-functions/pwrite.texi: Likewise.
9524         * doc/posix-functions/scandir.texi: Likewise.
9525         * doc/posix-functions/stat.texi: Likewise.
9526         * doc/posix-functions/tmpfile.texi: Likewise.
9527         * doc/glibc-functions/mkostemp.texi: Likewise.
9528         * doc/glibc-functions/mkostemps.texi: Likewise.
9529         * doc/glibc-functions/mkstemps.texi: Likewise.
9530
9531 2011-07-25  Bruno Haible  <bruno@clisp.org>
9532
9533         fcntl: Move AC_LIBOBJ invocation to module description.
9534         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9535         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9536
9537         fcntl: Remove call-in from fchdir.m4.
9538         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9539         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9540
9541         dup3: Remove potential call-in from fchdir.m4.
9542         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9543         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9544
9545         dup2: Move AC_LIBOBJ invocation to module description.
9546         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9547         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9548         Don't invoke AC_LIBOBJ.
9549         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9550
9551         dup2: Remove call-in from fchdir.m4.
9552         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9553         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9554
9555         fclose: Move AC_LIBOBJ invocation to module description.
9556         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9557         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9558         to 1.
9559         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9560
9561         fclose: Remove call-in from close.m4.
9562         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9563         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9564
9565         close: Move AC_LIBOBJ invocation to module description.
9566         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9567         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9568         1.
9569         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9570
9571         close: Remove call-in from fchdir.m4.
9572         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9573         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9574
9575         open: Move AC_LIBOBJ invocation to module description.
9576         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9577         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9578         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9579
9580         open: Remove call-in from fchdir.m4.
9581         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9583
9584         fchdir: Start to remove gl_REPLACE_* idiom.
9585         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9586         (gl_FUNC_FCHDIR): Invoke it.
9587
9588 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9589
9590         * lib/ftell.c (ftell): Comment out cast.
9591
9592         close: use gl_REPLACE_FCLOSE only if defined
9593         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9594         is defined.  The close module doesn't depend on the fclose module
9595         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9597         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9598
9599 2011-07-24  Jim Meyering  <meyering@redhat.com>
9600
9601         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9602         * tests/test-select.h (test_function): Declare as "static".
9603
9604 2011-07-24  Bruno Haible  <bruno@clisp.org>
9605
9606         doc: Mention the effects of AC_SYS_LARGEFILE.
9607         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9608         on this function.
9609         * doc/posix-functions/aio_error.texi: Likewise.
9610         * doc/posix-functions/aio_fsync.texi: Likewise.
9611         * doc/posix-functions/aio_read.texi: Likewise.
9612         * doc/posix-functions/aio_return.texi: Likewise.
9613         * doc/posix-functions/aio_suspend.texi: Likewise.
9614         * doc/posix-functions/aio_write.texi: Likewise.
9615         * doc/posix-functions/fgetpos.texi: Likewise.
9616         * doc/posix-functions/fopen.texi: Likewise.
9617         * doc/posix-functions/freopen.texi: Likewise.
9618         * doc/posix-functions/fsetpos.texi: Likewise.
9619         * doc/posix-functions/fstatvfs.texi: Likewise.
9620         * doc/posix-functions/ftruncate.texi: Likewise.
9621         * doc/posix-functions/ftw.texi: Likewise.
9622         * doc/posix-functions/getrlimit.texi: Likewise.
9623         * doc/posix-functions/glob.texi: Likewise.
9624         * doc/posix-functions/lio_listio.texi: Likewise.
9625         * doc/posix-functions/lockf.texi: Likewise.
9626         * doc/posix-functions/mkstemp.texi: Likewise.
9627         * doc/posix-functions/mmap.texi: Likewise.
9628         * doc/posix-functions/nftw.texi: Likewise.
9629         * doc/posix-functions/openat.texi: Likewise.
9630         * doc/posix-functions/opendir.texi: Likewise.
9631         * doc/posix-functions/posix_fadvise.texi: Likewise.
9632         * doc/posix-functions/posix_fallocate.texi: Likewise.
9633         * doc/posix-functions/pread.texi: Likewise.
9634         * doc/posix-functions/pwrite.texi: Likewise.
9635         * doc/posix-functions/readdir.texi: Likewise.
9636         * doc/posix-functions/readdir_r.texi: Likewise.
9637         * doc/posix-functions/rewinddir.texi: Likewise.
9638         * doc/posix-functions/scandir.texi: Likewise.
9639         * doc/posix-functions/seekdir.texi: Likewise.
9640         * doc/posix-functions/setrlimit.texi: Likewise.
9641         * doc/posix-functions/statvfs.texi: Likewise.
9642         * doc/posix-functions/telldir.texi: Likewise.
9643         * doc/posix-functions/tmpfile.texi: Likewise.
9644         * doc/posix-functions/truncate.texi: Likewise.
9645         * doc/glibc-functions/fallocate.texi: Likewise.
9646         * doc/glibc-functions/fstatfs.texi: Likewise.
9647         * doc/glibc-functions/fts_children.texi: Likewise.
9648         * doc/glibc-functions/fts_read.texi: Likewise.
9649         * doc/glibc-functions/getdirentries.texi: Likewise.
9650         * doc/glibc-functions/mkostemp.texi: Likewise.
9651         * doc/glibc-functions/mkostemps.texi: Likewise.
9652         * doc/glibc-functions/mkstemps.texi: Likewise.
9653         * doc/glibc-functions/preadv.texi: Likewise.
9654         * doc/glibc-functions/pwritev.texi: Likewise.
9655         * doc/glibc-functions/sendfile.texi: Likewise.
9656         * doc/glibc-functions/statfs.texi: Likewise.
9657
9658 2011-07-24  Bruno Haible  <bruno@clisp.org>
9659
9660         doc: Fix typo.
9661         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9662
9663 2011-07-24  Bruno Haible  <bruno@clisp.org>
9664
9665         doc: Mention fsusage.
9666         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9667
9668 2011-07-24  Bruno Haible  <bruno@clisp.org>
9669
9670         doc: Mention new glibc headers and functions.
9671         * doc/glibc-headers/gshadow.texi: New file.
9672         * doc/glibc-functions/endsgent.texi: New file.
9673         * doc/glibc-functions/fgetsgent.texi: New file.
9674         * doc/glibc-functions/fgetsgent_r.texi: New file.
9675         * doc/glibc-functions/getsgent.texi: New file.
9676         * doc/glibc-functions/getsgent_r.texi: New file.
9677         * doc/glibc-functions/getsgnam.texi: New file.
9678         * doc/glibc-functions/getsgnam_r.texi: New file.
9679         * doc/glibc-functions/putsgent.texi: New file.
9680         * doc/glibc-functions/setsgent.texi: New file.
9681         * doc/glibc-functions/sgetsgent.texi: New file.
9682         * doc/glibc-functions/sgetsgent_r.texi: New file.
9683         * doc/glibc-functions/malloc_info.texi: New file.
9684         * doc/glibc-functions/preadv.texi: New file.
9685         * doc/glibc-functions/pwritev.texi: New file.
9686         * doc/glibc-functions/register_printf_modifier.texi: New file.
9687         * doc/glibc-functions/register_printf_specifier.texi: New file.
9688         * doc/glibc-functions/register_printf_type.texi: New file.
9689         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9690         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9691         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9692         * doc/glibc-functions/pthread_getname_np.texi: New file.
9693         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9694         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9695         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9696         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9697         * doc/glibc-functions/pthread_setname_np.texi: New file.
9698         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9699         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9700         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9701         * doc/glibc-functions/qsort_r.texi: New file.
9702         * doc/glibc-functions/quick_exit.texi: New file.
9703         * doc/glibc-functions/syncfs.texi: New file.
9704         * doc/gnulib.texi: Include them.
9705         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9706         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9707         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9708         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9709         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9710         * doc/glibc-functions/execvpe.texi: Likewise.
9711
9712 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9713
9714         ftell: don't include <unistd.h>
9715         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9716         guaranteed to define off_t, and the ftell module depends on the
9717         stdio module.
9718
9719         ftell: do not assume wraparound signed arithmetic
9720         * lib/ftell.c: Include <limits.h>.
9721         (ftell): Don't assume wraparound signed arithmetic.
9722
9723 2011-07-24  Bruno Haible  <bruno@clisp.org>
9724
9725         close: No longer depend on module 'fclose'.
9726         * modules/close (Depends-on): Remove fclose.
9727         * NEWS: Mention the change.
9728         Suggested by Sam Steingold <sds@gnu.org>.
9729
9730 2011-07-24  Bruno Haible  <bruno@clisp.org>
9731
9732         fsusage: Enable large volume support on AIX >= 5.2.
9733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9734         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9735         instead of STAT_STATVFS.
9736         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9737
9738         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9739         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9740         f_blocks field only on MacOS X.
9741
9742         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9743         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9744         * modules/fsusage (Depends-on): Add largefile.
9745
9746 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9747
9748         * README: Modernize discussion of signed integers.
9749         Assuming overflow wraparound is no longer safe.
9750         Mention ones' complement and signed magnitude.
9751
9752 2011-07-22  Bruno Haible  <bruno@clisp.org>
9753
9754         select tests, pselect tests: Refactor.
9755         * tests/test-select.h: New file, extracted from tests/test-select.c.
9756         (select_fn): New type.
9757         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9758         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9759         test_pipe): Add my_select argument.
9760         (test_function): Renamed from main. Add my_select argument.
9761         * tests/test-select.c: Move most code to tests/test-select.h. Include
9762         test-select.h.
9763         * modules/select-tests (Files): Add tests/test-select.h.
9764         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9765         (my_select, main): New functions.
9766         * modules/pselect-tests (Files): Add tests/test-select.h,
9767         tests/macros.h, tests/signature.h.
9768         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9769         (configure.ac): Check for <sys/wait.h>.
9770
9771 2011-07-22  Bruno Haible  <bruno@clisp.org>
9772
9773         sys_select tests: Check the signature of FD_*.
9774         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9775         signature tests from here...
9776         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9777         here.
9778         * modules/sys_select-tests (Files): Add tests/signature.h.
9779
9780 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9781
9782         largefile: new module, replacing large-inode
9783         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9784         * MODULES.html.sh: Add largefile, remove large-inode.
9785         * modules/largefile, m4/largefile.m4: New files.
9786         * modules/large-inode, m4/large-inode.m4: Remove.
9787
9788         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9789         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9790         implementations that use only 32 bits to count blocks.
9791         On typical hosts with 1024-byte blocks, this fails with file
9792         systems as small as 4 TiB.  Problem reported by Herb Wartens
9793         <http://debbugs.gnu.org/9140> and this should also fix a similar
9794         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9795
9796         large-inode: New module
9797         * MODULES.html.sh: Add it.
9798         * modules/large-inode, m4/large-inode.m4: New files.
9799
9800         extensions: Enable extensions on MacOS X 10.5 and later.
9801         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9802
9803 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9804
9805         file-has-acl: use acl_extended_file_nofollow if available
9806         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9807         (acl_extended_file): New macro.
9808         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9809         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9810
9811 2011-07-21  Bruno Haible  <bruno@clisp.org>
9812
9813         Declare system functions in a way that works with C++.
9814         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9815         declare fdopendir as extern "C".
9816         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9817         declare frexpl as extern "C".
9818         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9819         declare gai_strerror as extern "C".
9820         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9821         programs, declare gai_strerror as extern "C".
9822         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9823         declare getlogin_r as extern "C".
9824         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9825         as extern "C".
9826         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9827         declare ldexpl as extern "C".
9828         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9829         as extern "C".
9830         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9831         program, declare getmntinfo as extern "C".
9832         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9833         stpncpy as extern "C".
9834         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9835         program, declare __xpg_strerror_r as extern "C".
9836         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9837         strndup as extern "C".
9838         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9839         declare memset and bzero as extern "C".
9840         Reported by Sam Steingold <sds@gnu.org>.
9841
9842 2011-07-12  Jim Meyering  <meyering@redhat.com>
9843
9844         maint.mk: prohibit inclusion of "verify.h" without use
9845         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9846
9847 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9848
9849         timer-time: A new module to check for timer_settime()
9850         * m4/timer_time.m4: Check for the posix function.
9851         * modules/timer-time: Add the new module.
9852         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9853         Mention it.
9854
9855 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9856             Bruno Haible  <bruno@clisp.org>
9857
9858         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9859         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9860         not defined, assume POSIX threads and look for pthread_sigmask in
9861         $LIBS, without changing $CPPFLAGS.
9862
9863 2011-07-19  Bruno Haible  <bruno@clisp.org>
9864
9865         strstr: Update cross-compilation guess.
9866         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9867         CPUs, guess no, in view of glibc
9868         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9869         Suggested by Eric Blake. Reported by Reuben Thomas.
9870
9871 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9872
9873         getopt-gnu: suppress core dumps from detection code
9874         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9875         to suppress core dumps that may well occur on glibc systems.
9876         * modules/getopt-gnu: Depend on nocrash.
9877
9878 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9879
9880         pthread_sigmask: ensure usleep is declared
9881         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9882         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9883
9884 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9885
9886         doc: Document NonStop portability issues.
9887         * doc/posix-functions/sigaction.texi (sigaction):
9888         * doc/posix-headers/signal.texi (signal.h):
9889         Document NonStop.  See Joachim Schmitz in
9890         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9891
9892 2011-07-15  Bruno Haible  <bruno@clisp.org>
9893
9894         ffsl, ffsll: Avoid unportable behaviour.
9895         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9896
9897 2011-07-15  Bruno Haible  <bruno@clisp.org>
9898
9899         ffs: More tests.
9900         * tests/test-ffs.c (NBITS): New macro.
9901         (main): Add more tests.
9902         * tests/test-ffsl.c (NBITS): New macro.
9903         (main): Add more tests.
9904         * tests/test-ffsll.c (NBITS): New macro.
9905         (main): Add more tests.
9906
9907 2011-07-15  Eric Blake  <eblake@redhat.com>
9908
9909         ffsl, ffsll: new modules
9910         * modules/ffsl: New file.
9911         * modules/ffsll: Likewise.
9912         * m4/ffsl.m4: Likewise.
9913         * m4/ffsll.m4: Likewise.
9914         * lib/ffsl.c: Likewise.
9915         * lib/ffsl.h: Likewise.
9916         * lib/ffsll.c: Likewise.
9917         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9918         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9919         * modules/string (Makefile.am): Substitute witnesses.
9920         * lib/strings.in.h (ffsl, ffsll): Declare.
9921         * modules/ffsl-tests: New test file.
9922         * modules/ffsll-tests: Likewise.
9923         * tests/test-ffsl.c: Likewise.
9924         * tests/test-ffsll.c: Likewise.
9925         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9926         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9927         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9928
9929         ffs: fix m4 prerequisite
9930         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9931
9932         ffs: avoid undefined behavior
9933         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9934         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9935         Reported by Bruno Haible.
9936
9937 2011-07-12  Bruno Haible  <bruno@clisp.org>
9938
9939         pthread_sigmask: Rely on module 'threadlib'.
9940         * modules/pthread_sigmask (Depends-on): Add threadlib.
9941         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9942         is defined.
9943
9944 2011-07-12  Bruno Haible  <bruno@clisp.org>
9945
9946         regex: Depend on module 'strcase'.
9947         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9948
9949 2011-07-12  Jim Meyering  <meyering@redhat.com>
9950
9951         warn-on-use: fix typo in file name
9952         * modules/snippet/warn-on-use (Files): Correct file name:
9953         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9954
9955 2011-07-12  Bruno Haible  <bruno@clisp.org>
9956
9957         strings: Document module.
9958         * doc/posix-headers/strings.texi: Mention module 'strings'.
9959
9960 2011-07-12  Bruno Haible  <bruno@clisp.org>
9961
9962         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9963         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9964         (Files, Makefile.am): Update.
9965         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9966         * modules/stdlib (Depends-on): Update.
9967
9968 2011-07-12  Bruno Haible  <bruno@clisp.org>
9969
9970         * NEWS: Mention the changes.
9971
9972         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9973         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9974         (Files, Makefile.am): Update.
9975         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9976         * modules/arpa_inet (Depends-on): Update.
9977         * modules/ctype (Depends-on): Update.
9978         * modules/dirent (Depends-on): Update.
9979         * modules/fcntl-h (Depends-on): Update.
9980         * modules/glob (Depends-on): Update.
9981         * modules/iconv-h (Depends-on): Update.
9982         * modules/inttypes-incomplete (Depends-on): Update.
9983         * modules/langinfo (Depends-on): Update.
9984         * modules/locale (Depends-on): Update.
9985         * modules/math (Depends-on): Update.
9986         * modules/netdb (Depends-on): Update.
9987         * modules/poll-h (Depends-on): Update.
9988         * modules/pty (Depends-on): Update.
9989         * modules/search (Depends-on): Update.
9990         * modules/signal (Depends-on): Update.
9991         * modules/spawn (Depends-on): Update.
9992         * modules/stdio (Depends-on): Update.
9993         * modules/stdlib (Depends-on): Update.
9994         * modules/string (Depends-on): Update.
9995         * modules/strings (Depends-on): Update.
9996         * modules/sys_file (Depends-on): Update.
9997         * modules/sys_ioctl (Depends-on): Update.
9998         * modules/sys_select (Depends-on): Update.
9999         * modules/sys_socket (Depends-on): Update.
10000         * modules/sys_stat (Depends-on): Update.
10001         * modules/sys_time (Depends-on): Update.
10002         * modules/sys_times (Depends-on): Update.
10003         * modules/sys_utsname (Depends-on): Update.
10004         * modules/sys_wait (Depends-on): Update.
10005         * modules/termios (Depends-on): Update.
10006         * modules/time (Depends-on): Update.
10007         * modules/unistd (Depends-on): Update.
10008         * modules/wchar (Depends-on): Update.
10009         * modules/wctype-h (Depends-on): Update.
10010         * MODULES.html.sh (Support for building libraries and executables):
10011         Update.
10012
10013         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10014         * modules/snippet/unused-parameter: Renamed from
10015         modules/unused-parameter.
10016         (Files, Makefile.am): Update.
10017         * build-aux/snippet/unused-parameter.h: Renamed from
10018         build-aux/unused-parameter.h.
10019         * modules/selinux-h (Depends-on): Update.
10020         * modules/unistr/base (Depends-on): Update.
10021         * MODULES.html.sh (Core language properties): Update.
10022
10023         Rename module 'link-warning' to 'snippet/link-warning'.
10024         * modules/snippet/link-warning: Renamed from modules/link-warning.
10025         (Files, Makefile.am): Update.
10026         * build-aux/snippet/link-warning.h: Renamed from
10027         build-aux/link-warning.h.
10028         * MODULES.html.sh (Support for building libraries and executables):
10029         Update.
10030
10031         Rename module 'c++defs' to 'snippet/c++defs'.
10032         * modules/snippet/c++defs: Renamed from modules/c++defs.
10033         (Files, Makefile.am): Update.
10034         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10035         * modules/arpa_inet (Depends-on): Update.
10036         * modules/ctype (Depends-on): Update.
10037         * modules/dirent (Depends-on): Update.
10038         * modules/fcntl-h (Depends-on): Update.
10039         * modules/glob (Depends-on): Update.
10040         * modules/iconv-h (Depends-on): Update.
10041         * modules/langinfo (Depends-on): Update.
10042         * modules/locale (Depends-on): Update.
10043         * modules/math (Depends-on): Update.
10044         * modules/netdb (Depends-on): Update.
10045         * modules/poll-h (Depends-on): Update.
10046         * modules/pty (Depends-on): Update.
10047         * modules/search (Depends-on): Update.
10048         * modules/signal (Depends-on): Update.
10049         * modules/spawn (Depends-on): Update.
10050         * modules/stdio (Depends-on): Update.
10051         * modules/stdlib (Depends-on): Update.
10052         * modules/string (Depends-on): Update.
10053         * modules/strings (Depends-on): Update.
10054         * modules/sys_ioctl (Depends-on): Update.
10055         * modules/sys_select (Depends-on): Update.
10056         * modules/sys_socket (Depends-on): Update.
10057         * modules/sys_stat (Depends-on): Update.
10058         * modules/sys_time (Depends-on): Update.
10059         * modules/sys_wait (Depends-on): Update.
10060         * modules/termios (Depends-on): Update.
10061         * modules/time (Depends-on): Update.
10062         * modules/unistd (Depends-on): Update.
10063         * modules/wchar (Depends-on): Update.
10064         * modules/wctype-h (Depends-on): Update.
10065
10066         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10067         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10068         (Files, Makefile.am): Update.
10069         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10070         * modules/argv-iter (Depends-on): Update.
10071         * modules/arpa_inet (Depends-on): Update.
10072         * modules/dirent (Depends-on): Update.
10073         * modules/fcntl-h (Depends-on): Update.
10074         * modules/fnmatch (Depends-on): Update.
10075         * modules/getopt-posix (Depends-on): Update.
10076         * modules/glob (Depends-on): Update.
10077         * modules/iconv-h (Depends-on): Update.
10078         * modules/inttypes-incomplete (Depends-on): Update.
10079         * modules/locale (Depends-on): Update.
10080         * modules/math (Depends-on): Update.
10081         * modules/netdb (Depends-on): Update.
10082         * modules/search (Depends-on): Update.
10083         * modules/signal (Depends-on): Update.
10084         * modules/spawn (Depends-on): Update.
10085         * modules/stdio (Depends-on): Update.
10086         * modules/stdlib (Depends-on): Update.
10087         * modules/string (Depends-on): Update.
10088         * modules/strings (Depends-on): Update.
10089         * modules/sys_socket (Depends-on): Update.
10090         * modules/sys_stat (Depends-on): Update.
10091         * modules/sys_time (Depends-on): Update.
10092         * modules/sys_times (Depends-on): Update.
10093         * modules/sys_utsname (Depends-on): Update.
10094         * modules/time (Depends-on): Update.
10095         * modules/unistd (Depends-on): Update.
10096         * modules/wchar (Depends-on): Update.
10097         * MODULES.html.sh (Support for building libraries and executables):
10098         Update.
10099
10100 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10101
10102         Improvements on _Noreturn and related modules.
10103
10104         modules/_Exit-tests: test _Noreturn too
10105         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10106         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10107         (main): Use them.
10108
10109         stdnoreturn, stdnoreturn-tests: remove modules
10110         They're not needed here and a bit premature for use elsewhere.  See
10111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10112         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10113         * tests/test-stdnoreturn.c: Remove files.
10114         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10115         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10116         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10117         and using noreturn.
10118         * modules/openat, modules/sigpipe-die, modules/xalloc:
10119         * modules/xmemdup0, modules/xstrtol:
10120         Remove dependency on stdnoreturn.
10121
10122         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10123         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10124         Reparenthesize to avoid GCC warning.
10125         Support Microsoft's syntax.
10126         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10127
10128         _Noreturn-tests: remove module
10129         * modules/_Noreturn-tests: Remove.
10130         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10131         * tests/test-_Noreturn.c: Remove.
10132         * tests/test-stdnoreturn.c: Merge from the old
10133         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10134
10135 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10136
10137         _Noreturn, stdnoreturn, and related modules.
10138
10139         * top/maint.mk: Adjust to new noreturn support.
10140         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10141         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10142
10143         xalloc: use stdnoreturn.h
10144         * lib/xalloc.h: Include <stdnoreturn.h>.
10145         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10146         * modules/xalloc (Depends-on): Add stdnoreturn.
10147
10148         xstrtol: use stdnoreturn.h
10149         * lib/xstrtol.h: Include <stdnoreturn.h>.
10150         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10151         * modules/xstrtol (Depends-on): Add stdnoreturn.
10152
10153         xmemdup0: use stdnoreturn.h
10154         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10155         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10156         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10157
10158         sigpipe-die: use stdnoreturn.h
10159         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10160         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10161         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10162
10163         openat: use stdnoreturn.h
10164         * lib/openat.h: Include <stdnoreturn.h>.
10165         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10166         * modules/openat (Depends-on): Add stdnoreturn.
10167
10168         * lib/openat-die.c (openat_save_fail): Modernize comment.
10169
10170         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10171
10172         * lib/glthread/thread.h: Modernize comment.
10173
10174         obstack: use _Noreturn
10175         * lib/obstack.c (__attribute__): Remove macro.
10176         (print_and_abort): Use _Noreturn.
10177
10178         c-stack: use _Noreturn
10179         * lib/c-stack.c (die, overflow_handler, segv_handler):
10180         Use _Noreturn rather than __attribute__((noreturn)).
10181
10182         argmatch-tests, exclude_tests: use _Noreturn
10183         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10184         Remove.
10185         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10186
10187         stdlib: use _Noreturn
10188         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10189         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10190         * modules/stdlib (Depends-on): Add _Noreturn.
10191         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10192
10193         stdnoreturn-tests: new module
10194         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10195
10196         stdnoreturn: new module
10197         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10198         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10199
10200         _Noreturn-tests: new module
10201         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10202
10203         _Noreturn: new module
10204         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10205         New section, mentioning it.
10206         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10207
10208         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10209
10210 2011-07-11  Eric Blake  <eblake@redhat.com>
10211
10212         ffs: new module
10213         * modules/ffs: New file.
10214         * m4/ffs.m4: Likewise.
10215         * lib/ffs.c: Likewise.
10216         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10217         * modules/strings (Makefile.am): Substitute witness.
10218         (Depends-on): Add c++defs.
10219         * lib/strings.in.h (ffs): Declare.
10220         * modules/ffs-tests: New test file.
10221         * tests/test-ffs.c: Test new module.
10222         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10223         * doc/posix-functions/ffs.texi (ffs): Likewise.
10224
10225         regex: avoid compiler warning
10226         * lib/regex.c (includes): Include <strings.h>, for use of
10227         strcasecmp in regcomp.c.
10228         Reported by Joachim Schmitz.
10229
10230 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10231
10232         stdint: respect system's intmax_t if INTMAX_MAX
10233         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10234         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10235         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10236         long but int64_t is long long, and where we will clash with the
10237         system intmax_t if we override it.  See
10238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10239         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10240         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10241         similarly for UINTMAX_C.
10242
10243 2011-07-08  Bruno Haible  <bruno@clisp.org>
10244
10245         pthread_sigmask tests: Avoid a compiler warning.
10246         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10247         non-zero.
10248
10249         sigprocmask tests: A better way to avoid a compiler warning.
10250         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10251         (main): Complain if system() returns non-zero.
10252         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10253
10254 2011-07-08  Bruno Haible  <bruno@clisp.org>
10255
10256         pthread_sigmask: Work around IRIX bug.
10257         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10258         bug.
10259         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10260         there may be unblocked pending signals.
10261         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10262
10263 2011-07-08  Bruno Haible  <bruno@clisp.org>
10264
10265         pthread_sigmask: Work around Cygwin bug.
10266         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10267         bug.
10268         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10269         the system's pthread_sigmask function.
10270         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10271
10272 2011-07-08  Bruno Haible  <bruno@clisp.org>
10273
10274         pthread_sigmask: Work around bug in single-threaded implementation.
10275         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10276         FreeBSD, HP-UX, Solaris bug.
10277         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10278         * lib/pthread_sigmask.c: Include <stddef.h>.
10279         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10280         the system's pthread_sigmask function.
10281         * modules/pthread_sigmask (configure.ac): Invoke
10282         gl_PREREQ_PTHREAD_SIGMASK.
10283         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10284         HP-UX, Solaris.
10285
10286 2011-07-08  Eric Blake  <eblake@redhat.com>
10287
10288         test-sigprocmask: avoid compiler warning
10289         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10290         * tests/test-sigprocmask.c (main): Use it to silence warning.
10291         Reported by Jim Meyering.
10292
10293         test-snprintf: avoid compiler warning
10294         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10295         * tests/test-vsnprintf.c (main): Likewise.
10296         Reported by Jim Meyering.
10297
10298 2011-07-08  Bruno Haible  <bruno@clisp.org>
10299
10300         Tests for module 'pthread_sigmask'.
10301         * modules/pthread_sigmask-tests: New file.
10302         * tests/test-pthread_sigmask1.c: New file, based on
10303         tests/test-sigprocmask.c.
10304         * tests/test-pthread_sigmask2.c: New file.
10305
10306 2011-07-08  Jim Meyering  <meyering@redhat.com>
10307
10308         test-getopt.h: avoid warning about an unused variable
10309         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10310
10311 2011-07-07  Jim Meyering  <meyering@redhat.com>
10312
10313         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10314         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10315         now that it no longer contains leading TABs.
10316         Remove unused "url=FIXME" statement.
10317
10318 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10319
10320         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10321         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10322         When gl_THREADLIB is not in use, assume that the POSIX sematics
10323         are desired.  This is better for Emacs, which uses POSIX semantics
10324         on GNUish and/or POSIXish platforms, and does not use threads at
10325         all otherwise.
10326
10327         pthread_sigmask: fix typo when testing for libraries
10328         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10329         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10330
10331 2011-07-08  Eric Blake  <eblake@redhat.com>
10332
10333         fts: introduce FTS_NOATIME
10334         * lib/fts_.h (FTS_NOATIME): New bit flag.
10335         (FTS_OPTIONMASK): Adjust.
10336         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10337         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10338
10339 2011-07-08  Bruno Haible  <bruno@clisp.org>
10340
10341         Tests for module 'thread'.
10342         * modules/thread-tests: New file.
10343         * tests/test-thread_self.c: New file.
10344         * tests/test-thread_create.cc: New file.
10345
10346 2011-07-08  Bruno Haible  <bruno@clisp.org>
10347
10348         thread: Avoid gcc warnings when using gl_thread_self().
10349         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10350         'void *'.
10351         (gl_thread_self_pointer): Update.
10352
10353 2011-07-07  Bruno Haible  <bruno@clisp.org>
10354
10355         signal-c++-tests: Check declaration of pthread_sigmask.
10356         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10357         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10358         $(LIB_PTHREAD_SIGMASK).
10359
10360 2011-07-07  Bruno Haible  <bruno@clisp.org>
10361
10362         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10363         * lib/signal.in.h (pthread_sigmask): Override if
10364         REPLACE_PTHREAD_SIGMASK is 1.
10365         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10366         REPLACE_PTHREAD_SIGMASK.
10367         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10368         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10369         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10370         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10371         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10372
10373 2011-07-07  Bruno Haible  <bruno@clisp.org>
10374
10375         pthread_sigmask: Ensure declaration in <signal.h>.
10376         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10377         include <pthread.h>.
10378         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10379         problem.
10380
10381 2011-07-07  Bruno Haible  <bruno@clisp.org>
10382
10383         pthread_sigmask: Document the module.
10384         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10385
10386 2011-07-07  Bruno Haible  <bruno@clisp.org>
10387
10388         pthread_sigmask: Follow gnulib conventions.
10389         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10390         gl_PTHREAD_SIGMASK.
10391         * modules/pthread_sigmask (configure.ac): Update.
10392
10393 2011-07-07  Bruno Haible  <bruno@clisp.org>
10394
10395         pthread_sigmask: Make declaration C++ safe.
10396         * lib/signal.in.h: In two special conditions, just do an #include_next.
10397         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10398         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10399         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10400         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10401         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10402         not REPLACE_PTHREAD_MASK.
10403         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10404         not REPLACE_PTHREAD_MASK.
10405         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10406
10407 2011-07-07  Bruno Haible  <bruno@clisp.org>
10408
10409         pthread_sigmask: Fix return value.
10410         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10411         * lib/pthread_sigmask.c: New file.
10412         * modules/pthread_sigmask (Files): Add it.
10413         (configure.ac): Invoke AC_LIBOBJ.
10414
10415 2011-07-07  Eric Blake  <eblake@redhat.com>
10416
10417         getopt: more portable argv creation
10418         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10419         const, use char arrays rather than strings.
10420         Suggested by Paul Eggert.
10421
10422 2011-07-07  Bruno Haible  <bruno@clisp.org>
10423
10424         Tests for module 'sigprocmask'.
10425         * modules/sigprocmask-tests: New file.
10426         * tests/test-sigprocmask.c: New file.
10427
10428 2011-07-07  Bruno Haible  <bruno@clisp.org>
10429
10430         float tests: Tweak.
10431         * tests/test-float.c (main): Tweak skip message.
10432
10433 2011-07-07  Eric Blake  <eblake@redhat.com>
10434
10435         getopt: avoid compiler warning during configure
10436         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10437         assigning string literals to non-const pointer.
10438
10439         getopt-gnu: avoid crash in glibc getopt
10440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10441         * tests/test-getopt.h (test_getopt): Enhance test.
10442         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10443         * doc/posix-functions/getopt.texi (getopt): Document it.
10444         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10445         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10446         Likewise.
10447
10448 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10449
10450         getopt: handle W; without long options in getopt [BZ #12922]
10451         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10452         but no long options are defined, just return 'W'.
10453
10454 2011-07-07  Bruno Haible  <bruno@clisp.org>
10455
10456         Avoid literal tabs.
10457         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10458         variable containing a tab instead of a literal tab.
10459         Reported by Jim Meyering.
10460
10461 2011-07-07  Bruno Haible  <bruno@clisp.org>
10462
10463         Comments.
10464         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10465
10466 2011-07-06  Bruno Haible  <bruno@clisp.org>
10467
10468         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10469         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10470         <winsock2.h>.
10471         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10472         lib/sys_socket.in.h.
10473         (close, gethostname): Hide declarations from <winsock2.h>.
10474         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10475         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10476         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10477         (select): Don't override if gnulib's <sys/select.h> was already
10478         included.
10479         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10480         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10481         setsockopt, shutdown, select): Tweak indentation.
10482
10483 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10484
10485         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10486         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10487         in an application that does not use the sys_select module.
10488
10489 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10490
10491         poll: do not return 0 on timeout=-1
10492         * lib/poll.c: Loop with yield if no events occured
10493
10494 2011-07-06  Eric Blake  <eblake@redhat.com>
10495
10496         pthread_sigmask: always replace when not using pthread
10497         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10498         replacement when using some threading other than pthread.  Fix
10499         logic bug.
10500
10501 2011-07-06  Bruno Haible  <bruno@clisp.org>
10502
10503         Comments.
10504         * m4/printf.m4: Update comments about mingw.
10505
10506 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10507
10508         sys_select: define sigset_t more portably
10509         * lib/sys_select.in.h: Always include <sys/types.h>, since
10510         we now need sigset_t and mingw defines it there.
10511         Include <signal.h> before split inclusion guard, to avoid
10512         mishaps on Solaris, whose <signal.h> eventually includes us.
10513         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10514         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10515         which come from ...
10516         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10517         gl_CHECK_TYPE_SIGSET_T.
10518         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10519         does the real work.
10520         * modules/sys_select (Depends-on): Add 'signal'.
10521
10522         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10523         Suggested by Bruno Haible.
10524
10525         pselect: Use pthread_sigmask, not sigprocmask.
10526         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10527         multithreaded apps better than sigprocmask does.
10528         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10529         sigprocmask directly.
10530
10531 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10532
10533         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10534         Don't #undef,  since we don't need any underlying pselect.
10535         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10536         (Depends-on): Add select.
10537         (Link): Add $(LIBSOCKET).
10538         These changes suggested by Bruno Haible.
10539
10540         pselect: document better
10541         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10542         * doc/posix-functions/pselect.texi (pselect): Document new module.
10543
10544         pthread_sigmask: new module
10545         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10546         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10547         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10548         This is done only as a macro; I don't know how well that'll
10549         work for C++.  Move <sys/types.h> include before the include_next,
10550         to avoid mishap on Solaris.
10551         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10552         * modules/signal (Makefile.am): Substitute the check's results.
10553         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10554
10555         test-pselect: new module
10556         * modules/pselect-tests, tests/test-pselect.c: New files.
10557         * tests/test-select.c, tests/test-sys_select-c++.cc:
10558         If TEST_PSELECT is defined, test pselect instead of testing select.
10559
10560         * tests/test-sys_select.c (sigset_t): Test for it, too.
10561         Suggested by Bruno Haible.
10562
10563 2011-07-05  Eric Blake  <eblake@redhat.com>
10564
10565         snprintf: guarantee %1$d, for libintl
10566         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10567         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10568         * doc/posix-functions/snprintf.texi (snprintf): Update.
10569         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10570         * tests/test-snprintf.c (main): Enhance test.
10571         * tests/test-vsnprintf.c (main): Likewise.
10572
10573 2011-07-05  Jim Meyering  <meyering@redhat.com>
10574
10575         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10576         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10577         per Bruno's request, to accommodate this idiom (no space after "#")
10578         even when the function is inside an #if block:
10579         char *
10580         gets (char *s)
10581         #undef gets
10582         {
10583           ...
10584         }
10585
10586 2011-07-04  Jim Meyering  <meyering@redhat.com>
10587
10588         maint: indent with spaces, not TABs, and add a rule to check this
10589         * tests/test-userspec.c: Indent with spaces, not TABs.
10590         * tests/test-argp.c: Likewise.
10591         * tests/test-c-stack2.sh: Likewise.
10592         * tests/test-parse-duration.sh: Likewise
10593         * m4/strtod.m4: Likewise.
10594         * m4/alloca.m4: Likewise.
10595         * m4/pselect.m4: Likewise.
10596         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10597
10598 2011-07-03  Jim Meyering  <meyering@redhat.com>
10599
10600         maint.mk: correct omissions in prohibit_argmatch_without_use check
10601         This rule would mistakenly report that argmatch.h is included without
10602         use even when both the argmatch and invalid_arg macro were used.
10603         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10604         of argmatch and invalid_arg.
10605
10606 2011-07-03  Bruno Haible  <bruno@clisp.org>
10607
10608         Comments about EINTR.
10609         * lib/safe-read.h: Explain the purpose of this module.
10610         * lib/safe-write.h: Likewise.
10611         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10612         module.
10613         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10614         module.
10615         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10616
10617 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10618
10619         xnanosleep: Rewrite to use new dtotimespec module.
10620         It has the conversion code that used to be in xnanosleep.
10621         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10622         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10623         (TIME_T_MAX): Remove.
10624         (xnanosleep): Rewrite in terms of dtotimespec.
10625         * modules/xnanosleep (Depends-on): Add dtotimespec.
10626         Remove intprops, stdbool.
10627
10628         timespec-add, timespec-sub: new modules
10629         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10630         * lib/timespec-add.c, lib/timespec-sub.c:
10631         * modules/timespec-add, modules/timespec-sub: New files.
10632
10633         dtotimespec: new module
10634         * lib/timespec.h (dtotimespec): New decl.
10635         * lib/dtotimespec.c, modules/dtotimespec: New files.
10636
10637         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10638
10639         pselect: new module
10640         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10641         (pselect): New decls.
10642         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10643         since the standard pselect decl uses 'restrict'.
10644         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10645         HAVE_PSELECT, REPLACE_PSELECT.
10646         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10647         HAVE_PSELECT, REPLACE_PSELECT.
10648         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10649
10650         sys_select: don't depend on sys_socket
10651         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10652         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10653         This fix works on GNU and GNU-like platforms, but has not been tested
10654         on native Windows.
10655         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10656         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10657         gl_HEADER_SYS_SOCKET.
10658         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10659         gl_PREREQ_SYS_H_WINSOCK2.
10660
10661 2011-06-29  Eric Blake  <eblake@redhat.com>
10662
10663         pipe2: fix C89 compile problem
10664         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10665         Reported by Bruno Haible.
10666
10667         pipe, pipe2: don't corrupt fd on error
10668         * lib/pipe.c (pipe): Leave fd unchanged on error.
10669         * lib/pipe2.c (pipe2): Likewise.
10670         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10671         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10672
10673 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10674
10675         mmap-anon: do not use regular expressions inadvertently
10676         * m4/mmap-anon.m4: Remove trailing period from strings sought
10677         in the output.
10678
10679 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10680
10681         nanosleep: fix integer overflow problem
10682         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10683         arithmetic wraps around on overflow.
10684
10685         nanosleep: simplify carrying
10686         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10687         first call to the underyling nanosleep, not for the last one.
10688         This doesn't fix any bugs, but it simplifies the computation of
10689         the remaining delay.  Found while auditing integer overflow issues.
10690
10691         dup2: remove test for existence of fcntl
10692         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10693         "#if HAVE_FCNTL", in the configure-time test program.
10694         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10695         and therefore speeds up "configure" a bit.  Found while
10696         adding the dup2 module to Emacs.
10697
10698 2011-06-24  Eric Blake  <eblake@redhat.com>
10699
10700         maint.mk: enhance useless header checks
10701         * top/maint.mk (_sc_header_without_use): Check both include
10702         styles.
10703         (sc_prohibit_assert_without_use)
10704         (sc_prohibit_close_stream_without_use)
10705         (sc_prohibit_getopt_without_use)
10706         (sc_prohibit_quotearg_without_use)
10707         (sc_prohibit_quote_without_use)
10708         (sc_prohibit_long_options_without_use)
10709         (sc_prohibit_inttostr_without_use)
10710         (sc_prohibit_ignore_value_without_use)
10711         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10712         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10713         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10714         (sc_prohibit_hash_pjw_without_use)
10715         (sc_prohibit_safe_read_without_use)
10716         (sc_prohibit_argmatch_without_use)
10717         (sc_prohibit_canonicalize_without_use)
10718         (sc_prohibit_root_dev_ino_without_use)
10719         (sc_prohibit_openat_without_use)
10720         (sc_prohibit_c_ctype_without_use)
10721         (sc_prohibit_signal_without_use)
10722         (sc_prohibit_stdio--_without_use)
10723         (sc_prohibit_stdio-safer_without_use)
10724         (sc_prohibit_strings_without_use)
10725         (sc_prohibit_intprops_without_use)
10726         (sc_prohibit_stddef_without_use)
10727         (sc_prohibit_xfreopen_without_use): Update clients.
10728
10729 2011-06-24  Jim Meyering  <meyering@redhat.com>
10730
10731         syntax-check: keep one maint.mk rule in sync with its header
10732         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10733         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10734         I prefer to avoid temporary files here, so use <(...), but that
10735         is not supported by /bin/sh, so...
10736         (SHELL): Define to /bin/bash.
10737
10738 2011-06-24  Eric Blake  <eblake@redhat.com>
10739
10740         maint.mk: update sc_prohibit_intprops_without_use
10741         * top/maint.mk (_intprops_names): Match recent changes.
10742
10743 2011-06-24  Bruno Haible  <bruno@clisp.org>
10744
10745         strerror-override: No-op tweak.
10746         * lib/strerror-override.h (strerror_override): Reorder conditions,
10747         for consistency with lib/strerror-override.c.
10748
10749 2011-06-23  Eric Blake  <eblake@redhat.com>
10750
10751         maint.mk: test further PATH_MAX issues
10752         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10753         (sc_prohibit_path_max_allocation): ...and also test alloca.
10754         Suggested by Jim Meyering.
10755
10756 2011-06-22  Eric Blake  <eblake@redhat.com>
10757
10758         maint.mk: add syntax-check to avoid char[PATH_MAX]
10759         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10760
10761         stat: be robust to PATH_MAX definition
10762         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10763         * modules/stat (Depends-on): Add verify.
10764
10765         link: work around IRIX bug
10766         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10767         * lib/link.c (rpl_link): Work around it.
10768         * tests/test-link.h (test_link): Enhance test.
10769         * doc/posix-functions/link.texi (link): Document the bug.
10770
10771         getopt: silence clang warning
10772         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10773         dereference.
10774         Reported by Gustavo Martin Domato.
10775
10776 2011-06-22  Jim Meyering  <meyering@redhat.com>
10777
10778         bootstrap: do not insert a blank line into each .gitignore file
10779         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10780
10781 2011-06-21  Eric Blake  <eblake@redhat.com>
10782
10783         perror: test for output mismatch
10784         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10785         perror on IRIX.
10786
10787         strerror_r: fix OpenBSD behavior on out-of-range
10788         * lib/strerror_r.c (strerror_r): Always use maximal string.
10789         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10790
10791         strerror_r: fix OpenBSD behavior on 0
10792         * lib/strerror-override.c (strerror_override): Also override 0
10793         when needed.
10794         * lib/strerror-override.h (strerror_override): Likewise.
10795         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10796         earlier.
10797         * lib/strerror_r.c (strerror_r): Likewise.
10798         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10799         behavior...
10800         (gl_FUNC_STRERROR_0): ...into new macro.
10801         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10802         is overridden.
10803         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10804         * modules/strerror-override (Files): Add strerror.m4.
10805         (configure.ac): Also provide override for 0 when needed.
10806         * doc/posix-functions/strerror.texi (strerror): Document this.
10807         * doc/posix-functions/perror.texi (perror): Likewise.
10808
10809         perror: adjust array size
10810         * modules/perror (Depends-on): Add strerror-override.
10811         * lib/perror.c (perror): Use it to avoid magic number.
10812
10813         strerror-override: reduce size
10814         * lib/strerror-override.c (strerror_override): Use fewer lines.
10815
10816 2011-06-20  Bruno Haible  <bruno@clisp.org>
10817
10818         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10819         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10820
10821 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10822
10823         alloca: port to compilers that can optimize like GCC 4.6.0
10824         * lib/alloca.c (find_stack_direction): New signature, taken from
10825         Autoconf git.  This works with GCC 4.6.0.  This code should never
10826         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10827         be used with other compilers that optimize as well as GCC 4.6.0 does.
10828         (alloca): Adjust to new signature.
10829         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10830         New macro, which patches Autoconf in a similar way.
10831
10832         c-stack: stop worrying about stack direction
10833         * lib/c-stack.c (find_stack_direction): Remove.
10834         (segv_handler): Don't worry about stack direction growth, as it's
10835         too much of a pain to configure this correctly, given how compilers
10836         are optimizing-away our stack-growth detection code.  Instead, assume
10837         that any access to just before or just after the stack is OK.
10838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10839         Don't require AC_FUNC_ALLOCA; no longer needed.
10840
10841 2011-06-20  Eric Blake  <eblake@redhat.com>
10842
10843         test-stat: don't allocate PATH_MAX bytes
10844         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10845         PATH_MAX-sized buffer.
10846         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10847         * modules/stat-tests (Depends-on): Likewise.
10848         * tests/test-fstatat.c (includes): Drop pathmax.h.
10849         * tests/test-stat.c (includes): Likewise.
10850         Reported by Bruno Haible.
10851
10852 2011-06-20  Bruno Haible  <bruno@clisp.org>
10853
10854         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10855         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10856         * lib/float.c: New file.
10857         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10858         REPLACE_FLOAT_LDBL.
10859         * modules/float (Files): Add lib/float.c.
10860         (configure.ac): Invoke AC_LIBOBJ.
10861         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10862
10863 2011-06-20  Bruno Haible  <bruno@clisp.org>
10864
10865         Tests for module 'float'.
10866         * modules/float-tests: New file.
10867         * tests/test-float.c: New file.
10868
10869 2011-06-19  Bruno Haible  <bruno@clisp.org>
10870
10871         isinf: Coding style.
10872         * lib/isinf.c: Use GNU coding style.
10873
10874 2011-06-19  Bruno Haible  <bruno@clisp.org>
10875
10876         linkat test: Avoid test failure on AIX 7.1.
10877         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10878         * tests/test-link.h (test_link): Likewise.
10879
10880 2011-06-19  Bruno Haible  <bruno@clisp.org>
10881
10882         pread test: Avoid test failure on OpenBSD 4.9.
10883         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10884
10885 2011-06-19  Bruno Haible  <bruno@clisp.org>
10886
10887         sprintf-posix: Fix test failure on AIX 7.1.
10888         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10889         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10890         on AIX.
10891         * doc/posix-functions/fprintf.texi: Likewise.
10892         * doc/posix-functions/printf.texi: Likewise.
10893         * doc/posix-functions/snprintf.texi: Likewise.
10894         * doc/posix-functions/sprintf.texi: Likewise.
10895         * doc/posix-functions/vdprintf.texi: Likewise.
10896         * doc/posix-functions/vfprintf.texi: Likewise.
10897         * doc/posix-functions/vprintf.texi: Likewise.
10898         * doc/posix-functions/vsnprintf.texi: Likewise.
10899         * doc/posix-functions/vsprintf.texi: Likewise.
10900
10901 2011-06-19  Bruno Haible  <bruno@clisp.org>
10902
10903         roundl-ieee: Fix test failure on AIX 7.1.
10904         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10905         * doc/posix-functions/roundl.texi: Mention problem with negative
10906         arguments.
10907
10908 2011-06-19  Bruno Haible  <bruno@clisp.org>
10909
10910         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10911         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10912         * doc/posix-functions/round.texi: Mention problem with negative
10913         arguments.
10914         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10915
10916 2011-06-19  Bruno Haible  <bruno@clisp.org>
10917
10918         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10919         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10920         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10921         * doc/posix-functions/roundf.texi: Mention problem with negative
10922         arguments.
10923         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10924
10925 2011-06-19  Bruno Haible  <bruno@clisp.org>
10926
10927         ceilf-ieee: Work around bug on MacOS X 10.5.
10928         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10929
10930         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10931         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10932         IEEE compliant, avoid compiler optimizations.
10933         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10934         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10935         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10936         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10937         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10938         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10940         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10941         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10942         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10943
10944 2011-06-19  Bruno Haible  <bruno@clisp.org>
10945
10946         ceilf-ieee: Work around bug on AIX 7.1.
10947         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10948         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10949
10950 2011-06-19  Bruno Haible  <bruno@clisp.org>
10951
10952         ceil-ieee: Work around bug on AIX 7.1.
10953         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10954         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10955
10956 2011-06-18  Bruno Haible  <bruno@clisp.org>
10957
10958         fsync test: Avoid test failure on MacOS X and AIX.
10959         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10960         EINVAL.
10961
10962 2011-06-18  Bruno Haible  <bruno@clisp.org>
10963
10964         openat, fdopendir tests: Fix link errors.
10965         * modules/openat-tests (Depends-on): Add progname.
10966         * modules/fdopendir-tests (Depends-on): Likewise.
10967         * tests/test-fchownat.c: Include progname.h.
10968         (main): Call set_program_name.
10969         * tests/test-fstatat.c: Include progname.h.
10970         (main): Call set_program_name.
10971         * tests/test-mkdirat.c: Include progname.h.
10972         (main): Call set_program_name.
10973         * tests/test-openat.c: Include progname.h.
10974         (main): Call set_program_name.
10975         * tests/test-unlinkat.c: Include progname.h.
10976         (main): Call set_program_name.
10977         * tests/test-fdopendir.c: Include progname.h.
10978         (main): Call set_program_name.
10979
10980 2011-06-18  Bruno Haible  <bruno@clisp.org>
10981
10982         Doc update.
10983         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10984         HP-UX.
10985         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10986
10987 2011-06-18  Bruno Haible  <bruno@clisp.org>
10988
10989         getcwd tests: Avoid compilation error on HP-UX 11.31.
10990         * modules/getcwd-tests (Depends-on): Add pathmax.
10991         * tests/test-getcwd.c: Include pathmax.h.
10992
10993 2011-06-18  Bruno Haible  <bruno@clisp.org>
10994
10995         isfinite, isinf: Fix link error on AIX 6 and 7.
10996         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10997         needed, also test the macro with a 'float' argument.
10998         * m4/isinf.m4 (gl_ISINF): Likewise.
10999
11000 2011-06-18  Bruno Haible  <bruno@clisp.org>
11001
11002         getloadavg: Don't clobber LIBS. Regression from previous commit.
11003         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11004         AC_CHECK_LIB from here...
11005         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11006         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11007         gl_func_getloadavg_done.
11008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11009
11010 2011-06-18  Bruno Haible  <bruno@clisp.org>
11011
11012         clean-temp: Improve documentation.
11013         * lib/clean-temp.h: Explain better how to use this module.
11014         Reported by John Darrington <john@darrington.wattle.id.au>.
11015
11016 2011-06-17  Bruno Haible  <bruno@clisp.org>
11017
11018         pread, pwrite: Avoid cc warning on AIX.
11019         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11020         (pwrite): Likewise.
11021
11022 2011-06-17  Bruno Haible  <bruno@clisp.org>
11023
11024         spawn-pipe tests: Fix link error.
11025         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11027
11028 2011-06-17  Bruno Haible  <bruno@clisp.org>
11029
11030         Tests: Remove unnecessary dependency.
11031         * modules/canonicalize-tests (Depends-on): Remove progname.
11032         * modules/chown-tests (Depends-on): Likewise.
11033         * modules/dirname-tests (Depends-on): Likewise.
11034         * modules/fdopendir-tests (Depends-on): Likewise.
11035         * modules/fdutimensat-tests (Depends-on): Likewise.
11036         * modules/hash-tests (Depends-on): Likewise.
11037         * modules/lchown-tests (Depends-on): Likewise.
11038         * modules/linkat-tests (Depends-on): Likewise.
11039         * modules/renameat-tests (Depends-on): Likewise.
11040         * modules/spawn-pipe-tests (Depends-on): Likewise.
11041         * modules/utimensat-tests (Depends-on): Likewise.
11042
11043 2011-06-17  Bruno Haible  <bruno@clisp.org>
11044
11045         spawn-pipe tests: Fix link error.
11046         * tests/test-spawn-pipe-child.c: Undefine fflush.
11047
11048 2011-06-17  Bruno Haible  <bruno@clisp.org>
11049
11050         Fix tests link errors.
11051         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11052         * modules/chown-tests (Makefile.am): Don't link test-chown with
11053         LIBINTL.
11054         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11055         LIBINTL.
11056         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11057         LIBINTL.
11058         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11059         LIBINTL.
11060
11061 2011-06-16  Bruno Haible  <bruno@clisp.org>
11062
11063         crypto/gc-sha1: Fix recent regression.
11064         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11065         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11066
11067         crypto/gc-md5: Fix recent regression.
11068         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11069
11070         crypto/gc-md4: Fix recent regression.
11071         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11072         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11073
11074         crypto/gc-arctwo: Fix recent regression.
11075         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11076         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11077
11078         crypto/gc-rijndael: Fix recent regression.
11079         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11080         (configure.ac): Invoke AC_LIBOBJ here.
11081         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11082         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11083
11084         crypto/gc-hmac-sha1: Fix recent regression.
11085         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11086         (configure.ac): Invoke AC_LIBOBJ here.
11087         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11088         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11089
11090         crypto/gc-hmac-md5: Fix recent regression.
11091         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11092         (configure.ac): Invoke AC_LIBOBJ here.
11093         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11094         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11095
11096         crypto/gc-des: Fix recent regression.
11097         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11098         (configure.ac): Invoke AC_LIBOBJ here.
11099         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11100         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11101
11102         crypto/gc-arcfour: Fix recent regression.
11103         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11104         (configure.ac): Invoke AC_LIBOBJ here.
11105         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11107
11108 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11109
11110         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11111         After the 2011-05-21 change, this macro requires
11112         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11113         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11114
11115 2011-06-16  Bruno Haible  <bruno@clisp.org>
11116
11117         fprintftime: Move AC_LIBOBJ invocations to module description.
11118         * m4/fprintftime.m4: Remove file.
11119         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11120         (configure.ac): Remove gl_FPRINTFTIME call.
11121         (Makefile.am): Augment lib_SOURCES.
11122         Reported by Jim Meyering.
11123
11124 2011-06-16  Bruno Haible  <bruno@clisp.org>
11125
11126         tmpfile-safer: Finish 2011-05-23 commit.
11127         * m4/stdio-safer.m4: Really remove file.
11128         Reported by Jim Meyering.
11129
11130 2011-06-16  Bruno Haible  <bruno@clisp.org>
11131
11132         syntax-check: Fix typo.
11133         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11134         printf-posix.m4.
11135         Reported by Jim Meyering.
11136
11137 2011-06-13  Jim Meyering  <meyering@redhat.com>
11138
11139         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11140         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11141
11142 2011-05-23  Bruno Haible  <bruno@clisp.org>
11143
11144         yesno: Move AC_LIBOBJ invocations to module description.
11145         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11146         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11147
11148 2011-05-23  Bruno Haible  <bruno@clisp.org>
11149
11150         xstrtol: Move AC_LIBOBJ invocations to module description.
11151         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11152         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11153
11154 2011-05-23  Bruno Haible  <bruno@clisp.org>
11155
11156         xstrtold: Move AC_LIBOBJ invocations to module description.
11157         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11158         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11159
11160 2011-05-23  Bruno Haible  <bruno@clisp.org>
11161
11162         xstrtod: Move AC_LIBOBJ invocations to module description.
11163         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11164         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11165
11166 2011-05-23  Bruno Haible  <bruno@clisp.org>
11167
11168         xnanosleep: Move AC_LIBOBJ invocations to module description.
11169         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11170         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11171
11172 2011-05-23  Bruno Haible  <bruno@clisp.org>
11173
11174         xgetcwd: Move AC_LIBOBJ invocations to module description.
11175         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11176         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11177
11178 2011-05-23  Bruno Haible  <bruno@clisp.org>
11179
11180         xalloc: Move AC_LIBOBJ invocations to module description.
11181         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11182         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11183
11184 2011-05-23  Bruno Haible  <bruno@clisp.org>
11185
11186         write-any-file: Move AC_LIBOBJ invocations to module description.
11187         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11188         invocation.
11189         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11190
11191 2011-05-23  Bruno Haible  <bruno@clisp.org>
11192
11193         utimens: Move AC_LIBOBJ invocations to module description.
11194         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11195         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11196
11197 2011-05-23  Bruno Haible  <bruno@clisp.org>
11198
11199         utimecmp: Move AC_LIBOBJ invocations to module description.
11200         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11201         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11202
11203 2011-05-23  Bruno Haible  <bruno@clisp.org>
11204
11205         userspec: Move AC_LIBOBJ invocations to module description.
11206         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11207         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11208
11209 2011-05-23  Bruno Haible  <bruno@clisp.org>
11210
11211         unlinkdir: Move AC_LIBOBJ invocations to module description.
11212         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11213         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11214
11215 2011-05-23  Bruno Haible  <bruno@clisp.org>
11216
11217         unistd-safer: Move AC_LIBOBJ invocations to module description.
11218         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11219         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11220
11221 2011-05-23  Bruno Haible  <bruno@clisp.org>
11222
11223         tempname: Move AC_LIBOBJ invocations to module description.
11224         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11225         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11226
11227 2011-05-23  Bruno Haible  <bruno@clisp.org>
11228
11229         strftime: Move AC_LIBOBJ invocations to module description.
11230         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11231         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11232
11233 2011-05-23  Bruno Haible  <bruno@clisp.org>
11234
11235         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11236         * m4/stdlib-safer.m4: Remove file.
11237         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11238         (configure.ac): Remove gl_STDLIB_SAFER call.
11239         (Makefile.am): Augment lib_SOURCES.
11240
11241 2011-05-23  Bruno Haible  <bruno@clisp.org>
11242
11243         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11244         * m4/stdio-safer.m4: Remove file.
11245         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11246         (configure.ac): Remove gl_TMPFILE_SAFER call.
11247         (Makefile.am): Augment lib_SOURCES.
11248
11249 2011-05-23  Bruno Haible  <bruno@clisp.org>
11250
11251         popen-safer: Move AC_LIBOBJ invocations to module description.
11252         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11253         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11254         (configure.ac): Remove gl_POPEN_SAFER call.
11255         (Makefile.am): Augment lib_SOURCES.
11256
11257 2011-05-23  Bruno Haible  <bruno@clisp.org>
11258
11259         freopen-safer: Move AC_LIBOBJ invocations to module description.
11260         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11261         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11262         (configure.ac): Remove gl_FREOPEN_SAFER call.
11263         (Makefile.am): Augment lib_SOURCES.
11264
11265 2011-05-23  Bruno Haible  <bruno@clisp.org>
11266
11267         fopen-safer: Move AC_LIBOBJ invocations to module description.
11268         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11269         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11270         (configure.ac): Remove gl_FOPEN_SAFER call.
11271         (Makefile.am): Augment lib_SOURCES.
11272
11273 2011-05-23  Bruno Haible  <bruno@clisp.org>
11274
11275         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11276         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11277         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11278
11279 2011-05-23  Bruno Haible  <bruno@clisp.org>
11280
11281         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11282         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11283         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11284
11285 2011-05-23  Bruno Haible  <bruno@clisp.org>
11286
11287         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11288         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11289         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11290
11291 2011-05-23  Bruno Haible  <bruno@clisp.org>
11292
11293         settime: Move AC_LIBOBJ invocations to module description.
11294         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11295         * modules/settime (Makefile.am): Augment lib_SOURCES.
11296
11297 2011-05-23  Bruno Haible  <bruno@clisp.org>
11298
11299         savedir: Move AC_LIBOBJ invocations to module description.
11300         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11301         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11302
11303 2011-05-23  Bruno Haible  <bruno@clisp.org>
11304
11305         save-cwd: Move AC_LIBOBJ invocations to module description.
11306         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11307         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11308
11309 2011-05-23  Bruno Haible  <bruno@clisp.org>
11310
11311         same: Move AC_LIBOBJ invocations to module description.
11312         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11313         * modules/same (Makefile.am): Augment lib_SOURCES.
11314
11315 2011-05-23  Bruno Haible  <bruno@clisp.org>
11316
11317         safe-write: Move AC_LIBOBJ invocations to module description.
11318         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11319         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11320         instead of gl_SAFE_WRITE.
11321         (Makefile.am): Augment lib_SOURCES.
11322
11323 2011-05-23  Bruno Haible  <bruno@clisp.org>
11324
11325         safe-read: Move AC_LIBOBJ invocations to module description.
11326         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11327         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11328         of gl_SAFE_READ.
11329         (Makefile.am): Augment lib_SOURCES.
11330
11331 2011-05-23  Bruno Haible  <bruno@clisp.org>
11332
11333         safe-alloc: Move AC_LIBOBJ invocations to module description.
11334         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11335         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11336
11337 2011-05-23  Bruno Haible  <bruno@clisp.org>
11338
11339         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11340         * m4/rijndael.m4: Remove file.
11341         * modules/crypto/rijndael (Files): Remove it.
11342         (configure.ac): Remove gl_RIJNDAEL call.
11343         (Makefile.am): Augment lib_SOURCES.
11344
11345 2011-05-23  Bruno Haible  <bruno@clisp.org>
11346
11347         readtokens: Move AC_LIBOBJ invocations to module description.
11348         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11349         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11350
11351 2011-05-23  Bruno Haible  <bruno@clisp.org>
11352
11353         read-file: Move AC_LIBOBJ invocations to module description.
11354         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11355         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11356         of gl_FUNC_READ_FILE.
11357         (Makefile.am): Augment lib_SOURCES.
11358
11359 2011-05-23  Bruno Haible  <bruno@clisp.org>
11360
11361         quotearg: Move AC_LIBOBJ invocations to module description.
11362         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11363         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11364
11365 2011-05-23  Bruno Haible  <bruno@clisp.org>
11366
11367         quote: Move AC_LIBOBJ invocations to module description.
11368         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11369         * modules/quote (Makefile.am): Augment lib_SOURCES.
11370
11371 2011-05-23  Bruno Haible  <bruno@clisp.org>
11372
11373         posixver: Move AC_LIBOBJ invocations to module description.
11374         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11375         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11376
11377 2011-05-23  Bruno Haible  <bruno@clisp.org>
11378
11379         posixtm: Move AC_LIBOBJ invocations to module description.
11380         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11381         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11382
11383 2011-05-23  Bruno Haible  <bruno@clisp.org>
11384
11385         physmem: Move AC_LIBOBJ invocations to module description.
11386         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11387         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11388
11389 2011-05-23  Bruno Haible  <bruno@clisp.org>
11390
11391         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11392         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11393         invocation.
11394         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11395
11396 2011-05-23  Bruno Haible  <bruno@clisp.org>
11397
11398         mpsort: Move AC_LIBOBJ invocations to module description.
11399         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11400         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11401
11402 2011-05-23  Bruno Haible  <bruno@clisp.org>
11403
11404         modechange: Move AC_LIBOBJ invocations to module description.
11405         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11406         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11407
11408 2011-05-23  Bruno Haible  <bruno@clisp.org>
11409
11410         mkdir-p: Move AC_LIBOBJ invocations to module description.
11411         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11412         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11413
11414 2011-05-23  Bruno Haible  <bruno@clisp.org>
11415
11416         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11417         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11418         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11419
11420 2011-05-23  Bruno Haible  <bruno@clisp.org>
11421
11422         mgetgroups: Move AC_LIBOBJ invocations to module description.
11423         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11424         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11425
11426 2011-05-23  Bruno Haible  <bruno@clisp.org>
11427
11428         memxor: Move AC_LIBOBJ invocations to module description.
11429         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11430         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11431
11432 2011-05-23  Bruno Haible  <bruno@clisp.org>
11433
11434         memcoll: Move AC_LIBOBJ invocations to module description.
11435         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11436         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11437
11438 2011-05-23  Bruno Haible  <bruno@clisp.org>
11439
11440         memcasecmp: Move AC_LIBOBJ invocations to module description.
11441         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11442         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11443
11444 2011-05-23  Bruno Haible  <bruno@clisp.org>
11445
11446         crypto/md5: Move AC_LIBOBJ invocations to module description.
11447         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11448         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11449
11450 2011-05-23  Bruno Haible  <bruno@clisp.org>
11451
11452         crypto/md4: Move AC_LIBOBJ invocations to module description.
11453         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11454         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11455
11456 2011-05-23  Bruno Haible  <bruno@clisp.org>
11457
11458         crypto/md2: Move AC_LIBOBJ invocations to module description.
11459         * m4/md2.m4: Remove file.
11460         * modules/crypto/md2 (Files): Remove it.
11461         (configure.ac): Remove gl_MD2 call.
11462         (Makefile.am): Augment lib_SOURCES.
11463
11464 2011-05-23  Bruno Haible  <bruno@clisp.org>
11465
11466         long-options: Move AC_LIBOBJ invocations to module description.
11467         * m4/long-options.m4: Remove file.
11468         * modules/long-options (Files): Remove it.
11469         (configure.ac): Remove gl_LONG_OPTIONS call.
11470         (Makefile.am): Augment lib_SOURCES.
11471
11472 2011-05-23  Bruno Haible  <bruno@clisp.org>
11473
11474         i-ring: Move AC_LIBOBJ invocations to module description.
11475         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11476         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11477
11478 2011-05-23  Bruno Haible  <bruno@clisp.org>
11479
11480         idcache: Move AC_LIBOBJ invocations to module description.
11481         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11482         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11483
11484 2011-05-23  Bruno Haible  <bruno@clisp.org>
11485
11486         human: Move AC_LIBOBJ invocations to module description.
11487         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11488         * modules/human (Makefile.am): Augment lib_SOURCES.
11489
11490 2011-05-23  Bruno Haible  <bruno@clisp.org>
11491
11492         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11493         * m4/hmac-sha1.m4: Remove file.
11494         * modules/crypto/hmac-sha1 (Files): Remove it.
11495         (configure.ac): Remove gl_HMAC_SHA1 call.
11496         (Makefile.am): Augment lib_SOURCES.
11497
11498 2011-05-23  Bruno Haible  <bruno@clisp.org>
11499
11500         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11501         * m4/hmac-md5.m4: Remove file.
11502         * modules/crypto/hmac-md5 (Files): Remove it.
11503         (configure.ac): Remove gl_HMAC_MD5 call.
11504         (Makefile.am): Augment lib_SOURCES.
11505
11506 2011-05-23  Bruno Haible  <bruno@clisp.org>
11507
11508         hash: Move AC_LIBOBJ invocations to module description.
11509         * m4/hash.m4: Remove file.
11510         * modules/hash (Files): Remove it.
11511         (configure.ac): Remove gl_HASH call.
11512         (Makefile.am): Augment lib_SOURCES.
11513
11514 2011-05-23  Bruno Haible  <bruno@clisp.org>
11515
11516         hard-locale: Move AC_LIBOBJ invocations to module description.
11517         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11518         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11519
11520 2011-05-23  Bruno Haible  <bruno@clisp.org>
11521
11522         getugroups: Move AC_LIBOBJ invocations to module description.
11523         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11524         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11525
11526 2011-05-23  Bruno Haible  <bruno@clisp.org>
11527
11528         gettime: Move AC_LIBOBJ invocations to module description.
11529         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11530         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11531
11532 2011-05-23  Bruno Haible  <bruno@clisp.org>
11533
11534         getndelim2: Move AC_LIBOBJ invocations to module description.
11535         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11536         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11537
11538 2011-05-23  Bruno Haible  <bruno@clisp.org>
11539
11540         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11541         * m4/gc-pbkdf2-sha1.m4: Remove file.
11542         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11543         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11544         (Makefile.am): Augment lib_SOURCES.
11545
11546 2011-05-23  Bruno Haible  <bruno@clisp.org>
11547
11548         fts: Move AC_LIBOBJ invocations to module description.
11549         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11550         * modules/fts (configure.ac): ... to here.
11551
11552 2011-05-23  Bruno Haible  <bruno@clisp.org>
11553
11554         file-type: Move AC_LIBOBJ invocations to module description.
11555         * m4/file-type.m4: Remove file.
11556         * modules/file-type (Files): Remove it.
11557         (configure.ac): Remove gl_FILE_TYPE call.
11558         (Makefile.am): Augment lib_SOURCES.
11559
11560 2011-05-23  Bruno Haible  <bruno@clisp.org>
11561
11562         filenamecat*: Respect rules for use of AC_LIBOBJ.
11563         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11564         Remove AC_LIBOBJ invocation.
11565         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11566         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11567
11568 2011-05-23  Bruno Haible  <bruno@clisp.org>
11569
11570         filemode: Move AC_LIBOBJ invocations to module description.
11571         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11572         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11573
11574 2011-05-23  Bruno Haible  <bruno@clisp.org>
11575
11576         openat-safer: Move AC_LIBOBJ invocations to module description.
11577         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11578         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11579
11580 2011-05-23  Bruno Haible  <bruno@clisp.org>
11581
11582         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11583         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11584         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11585
11586 2011-05-23  Bruno Haible  <bruno@clisp.org>
11587
11588         exclude: Move AC_LIBOBJ invocations to module description.
11589         * m4/exclude.m4: Remove file.
11590         * modules/exclude (Files): Remove it.
11591         (configure.ac): Remove gl_EXCLUDE call.
11592         (Makefile.am): Augment lib_SOURCES.
11593
11594 2011-05-23  Bruno Haible  <bruno@clisp.org>
11595
11596         dirname*: Respect rules for use of AC_LIBOBJ.
11597         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11598         invocations.
11599         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11600         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11601
11602 2011-05-23  Bruno Haible  <bruno@clisp.org>
11603
11604         dirent-safer: Move AC_LIBOBJ invocations to module description.
11605         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11606         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11607
11608 2011-05-23  Bruno Haible  <bruno@clisp.org>
11609
11610         crypto/des: Move AC_LIBOBJ invocations to module description.
11611         * m4/des.m4: Remove file.
11612         * modules/crypto/des (Files): Remove it.
11613         (configure.ac): Remove gl_DES call.
11614         (Makefile.am): Augment lib_SOURCES.
11615
11616 2011-05-23  Bruno Haible  <bruno@clisp.org>
11617
11618         cycle-check: Move AC_LIBOBJ invocations to module description.
11619         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11620         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11621
11622 2011-05-23  Bruno Haible  <bruno@clisp.org>
11623
11624         c-strtold: Move AC_LIBOBJ invocations to module description.
11625         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11626         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11627
11628 2011-05-23  Bruno Haible  <bruno@clisp.org>
11629
11630         c-strtod: Move AC_LIBOBJ invocations to module description.
11631         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11632         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11633
11634 2011-05-23  Bruno Haible  <bruno@clisp.org>
11635
11636         crc: Move AC_LIBOBJ invocations to module description.
11637         * m4/crc.m4: Remove file.
11638         * modules/crc (Files): Remove it.
11639         (configure.ac): Remove gl_CRC call.
11640         (Makefile.am): Augment lib_SOURCES.
11641
11642 2011-05-23  Bruno Haible  <bruno@clisp.org>
11643
11644         close-stream: Move AC_LIBOBJ invocations to module description.
11645         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11646         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11647
11648 2011-05-23  Bruno Haible  <bruno@clisp.org>
11649
11650         closeout: Move AC_LIBOBJ invocations to module description.
11651         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11652         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11653
11654 2011-05-23  Bruno Haible  <bruno@clisp.org>
11655
11656         closein: Move AC_LIBOBJ invocations to module description.
11657         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11658         * modules/closein (Makefile.am): Augment lib_SOURCES.
11659
11660 2011-05-23  Bruno Haible  <bruno@clisp.org>
11661
11662         cloexec: Move AC_LIBOBJ invocations to module description.
11663         * m4/cloexec.m4: Remove file.
11664         * modules/cloexec (Files): Remove it.
11665         (configure.ac): Remove gl_CLOEXEC call.
11666         (Makefile.am): Augment lib_SOURCES.
11667
11668 2011-05-23  Bruno Haible  <bruno@clisp.org>
11669
11670         check-version: Move AC_LIBOBJ invocations to module description.
11671         * m4/check-version.m4: Remove file.
11672         * modules/check-version (Files): Remove it.
11673         (configure.ac): Remove gl_CHECK_VERSION call.
11674         (Makefile.am): Augment lib_SOURCES.
11675
11676 2011-05-23  Bruno Haible  <bruno@clisp.org>
11677
11678         chdir-safer: Move AC_LIBOBJ invocations to module description.
11679         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11680         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11681
11682 2011-05-23  Bruno Haible  <bruno@clisp.org>
11683
11684         canonicalize: Move AC_LIBOBJ invocations to module description.
11685         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11686         AC_LIBOBJ invocation.
11687         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11688
11689 2011-05-23  Bruno Haible  <bruno@clisp.org>
11690
11691         canon-host: Move AC_LIBOBJ invocations to module description.
11692         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11693         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11694         instead of gl_CANON_HOST.
11695         (Makefile.am): Augment lib_SOURCES.
11696
11697 2011-05-23  Bruno Haible  <bruno@clisp.org>
11698
11699         backupfile: Move AC_LIBOBJ invocations to module description.
11700         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11701         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11702
11703 2011-05-23  Bruno Haible  <bruno@clisp.org>
11704
11705         argmatch: Move AC_LIBOBJ invocations to module description.
11706         * m4/argmatch.m4: Remove file.
11707         * modules/argmatch (Files): Remove it.
11708         (configure.ac): Remove gl_ARGMATCH call.
11709         (Makefile.am): Augment lib_SOURCES.
11710
11711 2011-05-23  Bruno Haible  <bruno@clisp.org>
11712
11713         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11714         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11715         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11716
11717 2011-05-23  Bruno Haible  <bruno@clisp.org>
11718
11719         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11720         * m4/arcfour.m4: Remove file.
11721         * modules/crypto/arcfour (Files): Remove it.
11722         (configure.ac): Remove gl_ARCFOUR call.
11723         (Makefile.am): Augment lib_SOURCES.
11724
11725 2011-05-22  Bruno Haible  <bruno@clisp.org>
11726
11727         write: Move AC_LIBOBJ invocations to module description.
11728         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11729         * modules/write (configure.ac): ... to here.
11730
11731 2011-05-22  Bruno Haible  <bruno@clisp.org>
11732
11733         wmemset: Move AC_LIBOBJ invocations to module description.
11734         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11735         here...
11736         * modules/wmemset (configure.ac): ... to here.
11737
11738 2011-05-22  Bruno Haible  <bruno@clisp.org>
11739
11740         wmemmove: Move AC_LIBOBJ invocations to module description.
11741         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11742         here...
11743         * modules/wmemmove (configure.ac): ... to here.
11744
11745 2011-05-22  Bruno Haible  <bruno@clisp.org>
11746
11747         wmemcpy: Move AC_LIBOBJ invocations to module description.
11748         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11749         here...
11750         * modules/wmemcpy (configure.ac): ... to here.
11751
11752 2011-05-22  Bruno Haible  <bruno@clisp.org>
11753
11754         wmemcmp: Move AC_LIBOBJ invocations to module description.
11755         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11756         here...
11757         * modules/wmemcmp (configure.ac): ... to here.
11758
11759 2011-05-22  Bruno Haible  <bruno@clisp.org>
11760
11761         wmemchr: Move AC_LIBOBJ invocations to module description.
11762         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11763         here...
11764         * modules/wmemchr (configure.ac): ... to here.
11765
11766 2011-05-22  Bruno Haible  <bruno@clisp.org>
11767
11768         wcswidth: Move AC_LIBOBJ invocations to module description.
11769         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11770         here...
11771         * modules/wcswidth (configure.ac): ... to here.
11772
11773 2011-05-22  Bruno Haible  <bruno@clisp.org>
11774
11775         wcwidth: Respect rules for use of AC_LIBOBJ.
11776         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11777         invocation from here...
11778         * modules/wcwidth (configure.ac): ... to here.
11779         (Depends-on): Update conditions.
11780
11781 2011-05-22  Bruno Haible  <bruno@clisp.org>
11782
11783         wctype: Move AC_LIBOBJ invocations to module description.
11784         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11785         invocation from here...
11786         * modules/wctype (configure.ac): ... to here.
11787         (Depends-on): Update conditions.
11788
11789 2011-05-22  Bruno Haible  <bruno@clisp.org>
11790
11791         wctrans: Move AC_LIBOBJ invocations to module description.
11792         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11793         invocation from here...
11794         * modules/wctrans (configure.ac): ... to here.
11795
11796 2011-05-22  Bruno Haible  <bruno@clisp.org>
11797
11798         wctomb: Move AC_LIBOBJ invocations to module description.
11799         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11800         invocations from here...
11801         * modules/wctomb (configure.ac): ... to here.
11802
11803 2011-05-22  Bruno Haible  <bruno@clisp.org>
11804
11805         wctob: Move AC_LIBOBJ invocations to module description.
11806         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11807         gl_PREREQ_WCTOB invocations from here...
11808         * modules/wctob (configure.ac): ... to here.
11809         (Depends-on): Update conditions.
11810
11811 2011-05-22  Bruno Haible  <bruno@clisp.org>
11812
11813         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11814         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11815         here...
11816         * modules/wcsxfrm (configure.ac): ... to here.
11817
11818 2011-05-22  Bruno Haible  <bruno@clisp.org>
11819
11820         wcstok: Move AC_LIBOBJ invocations to module description.
11821         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11822         * modules/wcstok (configure.ac): ... to here.
11823
11824 2011-05-22  Bruno Haible  <bruno@clisp.org>
11825
11826         wcsstr: Move AC_LIBOBJ invocations to module description.
11827         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11828         * modules/wcsstr (configure.ac): ... to here.
11829
11830 2011-05-22  Bruno Haible  <bruno@clisp.org>
11831
11832         wcsspn: Move AC_LIBOBJ invocations to module description.
11833         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11834         * modules/wcsspn (configure.ac): ... to here.
11835
11836 2011-05-22  Bruno Haible  <bruno@clisp.org>
11837
11838         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11839         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11840         gl_PREREQ_WCSRTOMBS invocations from here...
11841         * modules/wcsrtombs (configure.ac): ... to here.
11842
11843 2011-05-22  Bruno Haible  <bruno@clisp.org>
11844
11845         wcsrchr: Move AC_LIBOBJ invocations to module description.
11846         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11847         here...
11848         * modules/wcsrchr (configure.ac): ... to here.
11849
11850 2011-05-22  Bruno Haible  <bruno@clisp.org>
11851
11852         wcspbrk: Move AC_LIBOBJ invocations to module description.
11853         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11854         here...
11855         * modules/wcspbrk (configure.ac): ... to here.
11856
11857 2011-05-22  Bruno Haible  <bruno@clisp.org>
11858
11859         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11860         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11861         gl_PREREQ_WCSNRTOMBS invocations from here...
11862         * modules/wcsnrtombs (configure.ac): ... to here.
11863
11864 2011-05-22  Bruno Haible  <bruno@clisp.org>
11865
11866         wcsnlen: Move AC_LIBOBJ invocations to module description.
11867         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11868         here...
11869         * modules/wcsnlen (configure.ac): ... to here.
11870
11871 2011-05-22  Bruno Haible  <bruno@clisp.org>
11872
11873         wcsncpy: Move AC_LIBOBJ invocations to module description.
11874         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11875         here...
11876         * modules/wcsncpy (configure.ac): ... to here.
11877
11878 2011-05-22  Bruno Haible  <bruno@clisp.org>
11879
11880         wcsncmp: Move AC_LIBOBJ invocations to module description.
11881         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11882         here...
11883         * modules/wcsncmp (configure.ac): ... to here.
11884
11885 2011-05-22  Bruno Haible  <bruno@clisp.org>
11886
11887         wcsncat: Move AC_LIBOBJ invocations to module description.
11888         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11889         here...
11890         * modules/wcsncat (configure.ac): ... to here.
11891
11892 2011-05-22  Bruno Haible  <bruno@clisp.org>
11893
11894         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11895         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11896         from here...
11897         * modules/wcsncasecmp (configure.ac): ... to here.
11898
11899 2011-05-22  Bruno Haible  <bruno@clisp.org>
11900
11901         wcslen: Move AC_LIBOBJ invocations to module description.
11902         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11903         * modules/wcslen (configure.ac): ... to here.
11904
11905 2011-05-22  Bruno Haible  <bruno@clisp.org>
11906
11907         wcsdup: Move AC_LIBOBJ invocations to module description.
11908         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11909         * modules/wcsdup (configure.ac): ... to here.
11910
11911 2011-05-22  Bruno Haible  <bruno@clisp.org>
11912
11913         wcscspn: Move AC_LIBOBJ invocations to module description.
11914         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11915         here...
11916         * modules/wcscspn (configure.ac): ... to here.
11917
11918 2011-05-22  Bruno Haible  <bruno@clisp.org>
11919
11920         wcscpy: Move AC_LIBOBJ invocations to module description.
11921         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11922         * modules/wcscpy (configure.ac): ... to here.
11923
11924 2011-05-22  Bruno Haible  <bruno@clisp.org>
11925
11926         wcscoll: Move AC_LIBOBJ invocations to module description.
11927         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11928         here...
11929         * modules/wcscoll (configure.ac): ... to here.
11930
11931 2011-05-22  Bruno Haible  <bruno@clisp.org>
11932
11933         wcscmp: Move AC_LIBOBJ invocations to module description.
11934         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11935         * modules/wcscmp (configure.ac): ... to here.
11936
11937 2011-05-22  Bruno Haible  <bruno@clisp.org>
11938
11939         wcschr: Move AC_LIBOBJ invocations to module description.
11940         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11941         * modules/wcschr (configure.ac): ... to here.
11942
11943 2011-05-22  Bruno Haible  <bruno@clisp.org>
11944
11945         wcscat: Move AC_LIBOBJ invocations to module description.
11946         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11947         * modules/wcscat (configure.ac): ... to here.
11948
11949 2011-05-22  Bruno Haible  <bruno@clisp.org>
11950
11951         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11952         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11953         here...
11954         * modules/wcscasecmp (configure.ac): ... to here.
11955
11956 2011-05-22  Bruno Haible  <bruno@clisp.org>
11957
11958         wcrtomb: Move AC_LIBOBJ invocations to module description.
11959         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11960         invocations from here...
11961         * modules/wcrtomb (configure.ac): ... to here.
11962
11963 2011-05-22  Bruno Haible  <bruno@clisp.org>
11964
11965         wcpncpy: Move AC_LIBOBJ invocations to module description.
11966         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11967         here...
11968         * modules/wcpncpy (configure.ac): ... to here.
11969
11970 2011-05-22  Bruno Haible  <bruno@clisp.org>
11971
11972         wcpcpy: Move AC_LIBOBJ invocations to module description.
11973         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11974         * modules/wcpcpy (configure.ac): ... to here.
11975
11976 2011-05-22  Bruno Haible  <bruno@clisp.org>
11977
11978         waitpid: Move AC_LIBOBJ invocations to module description.
11979         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11980         invocation from here...
11981         * modules/waitpid (configure.ac): ... to here.
11982
11983 2011-05-22  Bruno Haible  <bruno@clisp.org>
11984
11985         utimensat: Move AC_LIBOBJ invocations to module description.
11986         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11987         here...
11988         * modules/utimensat (configure.ac): ... to here.
11989
11990 2011-05-22  Bruno Haible  <bruno@clisp.org>
11991
11992         usleep: Move AC_LIBOBJ invocations to module description.
11993         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11994         here...
11995         * modules/usleep (configure.ac): ... to here.
11996
11997 2011-05-22  Bruno Haible  <bruno@clisp.org>
11998
11999         unlockpt: Move AC_LIBOBJ invocations to module description.
12000         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12001         gl_PREREQ_UNLOCKPT invocations from here...
12002         * modules/unlockpt (configure.ac): ... to here.
12003
12004 2011-05-22  Bruno Haible  <bruno@clisp.org>
12005
12006         unlink: Respect rules for use of AC_LIBOBJ.
12007         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12008         * modules/unlink (configure.ac): ... to here.
12009
12010 2011-05-22  Bruno Haible  <bruno@clisp.org>
12011
12012         uname: Move AC_LIBOBJ invocations to module description.
12013         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12014         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12015         here...
12016         * modules/uname (configure.ac): ... to here.
12017
12018 2011-05-22  Bruno Haible  <bruno@clisp.org>
12019
12020         ttyname_r: Move AC_LIBOBJ invocations to module description.
12021         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12022         gl_PREREQ_TTYNAME_R invocations from here...
12023         * modules/ttyname_r (configure.ac): ... to here.
12024
12025 2011-05-22  Bruno Haible  <bruno@clisp.org>
12026
12027         tsearch: Move AC_LIBOBJ invocations to module description.
12028         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12029         invocations from here...
12030         * modules/tsearch (configure.ac): ... to here.
12031
12032 2011-05-22  Bruno Haible  <bruno@clisp.org>
12033
12034         towctrans: Move AC_LIBOBJ invocations to module description.
12035         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12036         AC_LIBOBJ invocation from here...
12037         * modules/towctrans (configure.ac): ... to here.
12038
12039 2011-05-22  Bruno Haible  <bruno@clisp.org>
12040
12041         tmpfile: Move AC_LIBOBJ invocations to module description.
12042         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12043         invocations from here...
12044         * modules/tmpfile (configure.ac): ... to here.
12045
12046 2011-05-22  Bruno Haible  <bruno@clisp.org>
12047
12048         times: Move AC_LIBOBJ invocations to module description.
12049         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12050         * modules/times (configure.ac): ... to here.
12051
12052 2011-05-22  Bruno Haible  <bruno@clisp.org>
12053
12054         time_r: Move AC_LIBOBJ invocations to module description.
12055         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12056         invocations from here...
12057         * modules/time_r (configure.ac): ... to here.
12058
12059 2011-05-22  Bruno Haible  <bruno@clisp.org>
12060
12061         timegm: Move AC_LIBOBJ invocations to module description.
12062         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12063         invocations from here...
12064         * modules/timegm (configure.ac): ... to here.
12065
12066 2011-05-22  Bruno Haible  <bruno@clisp.org>
12067
12068         tcgetsid: Move AC_LIBOBJ invocations to module description.
12069         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12070         and gl_PREREQ_TCGETSID invocations from here...
12071         * modules/tcgetsid (configure.ac): ... to here.
12072         (Depends-on): Update conditions.
12073
12074 2011-05-22  Bruno Haible  <bruno@clisp.org>
12075
12076         symlinkat: Move AC_LIBOBJ invocations to module description.
12077         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12078         here...
12079         * modules/symlinkat (configure.ac): ... to here.
12080
12081 2011-05-22  Bruno Haible  <bruno@clisp.org>
12082
12083         symlink: Move AC_LIBOBJ invocations to module description.
12084         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12085         here...
12086         * modules/symlink (configure.ac): ... to here.
12087
12088 2011-05-22  Bruno Haible  <bruno@clisp.org>
12089
12090         strverscmp: Move AC_LIBOBJ invocations to module description.
12091         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12092         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12093         from here...
12094         * modules/strverscmp (configure.ac): ... to here.
12095
12096 2011-05-22  Bruno Haible  <bruno@clisp.org>
12097
12098         strtok_r: Move AC_LIBOBJ invocations to module description.
12099         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12100         and gl_PREREQ_STRTOK_R invocations from here...
12101         * modules/strtok_r (configure.ac): ... to here.
12102         (Depends-on): Update conditions.
12103
12104 2011-05-22  Bruno Haible  <bruno@clisp.org>
12105
12106         strtoumax: Move AC_LIBOBJ invocations to module description.
12107         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12108         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12109         from here...
12110         * modules/strtoumax (configure.ac): ... to here.
12111
12112 2011-05-22  Bruno Haible  <bruno@clisp.org>
12113
12114         strtoimax: Move AC_LIBOBJ invocations to module description.
12115         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12116         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12117         from here...
12118         * modules/strtoimax (configure.ac): ... to here.
12119
12120 2011-05-22  Bruno Haible  <bruno@clisp.org>
12121
12122         strtoull: Move AC_LIBOBJ invocations to module description.
12123         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12124         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12125         from here...
12126         * modules/strtoull (configure.ac): ... to here.
12127
12128 2011-05-22  Bruno Haible  <bruno@clisp.org>
12129
12130         strtoll: Move AC_LIBOBJ invocations to module description.
12131         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12132         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12133         here...
12134         * modules/strtoll (configure.ac): ... to here.
12135
12136 2011-05-22  Bruno Haible  <bruno@clisp.org>
12137
12138         strtoul: Move AC_LIBOBJ invocations to module description.
12139         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12140         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12141         * modules/strtoul (configure.ac): ... to here.
12142
12143 2011-05-22  Bruno Haible  <bruno@clisp.org>
12144
12145         strtol: Move AC_LIBOBJ invocations to module description.
12146         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12147         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12148         * modules/strtol (configure.ac): ... to here.
12149
12150 2011-05-22  Bruno Haible  <bruno@clisp.org>
12151
12152         strtod: Move AC_LIBOBJ invocations to module description.
12153         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12154         invocations from here...
12155         * modules/strtod (configure.ac): ... to here.
12156
12157 2011-05-22  Bruno Haible  <bruno@clisp.org>
12158
12159         strstr*: Move AC_LIBOBJ invocations to module description.
12160         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12161         invocations from here...
12162         * modules/strstr-simple (configure.ac): ... to here.
12163         * modules/strstr (configure.ac): ... and here.
12164
12165 2011-05-22  Bruno Haible  <bruno@clisp.org>
12166
12167         strsignal: Move AC_LIBOBJ invocations to module description.
12168         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12169         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12170         * modules/strsignal (configure.ac): ... to here.
12171         (Depends-on): Update conditions.
12172
12173 2011-05-22  Bruno Haible  <bruno@clisp.org>
12174
12175         strsep: Move AC_LIBOBJ invocations to module description.
12176         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12177         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12178         here...
12179         * modules/strsep (configure.ac): ... to here.
12180
12181 2011-05-22  Bruno Haible  <bruno@clisp.org>
12182
12183         strptime: Move AC_LIBOBJ invocations to module description.
12184         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12185         gl_PREREQ_STRPTIME invocations from here...
12186         * modules/strptime (configure.ac): ... to here.
12187
12188 2011-05-22  Bruno Haible  <bruno@clisp.org>
12189
12190         strpbrk: Move AC_LIBOBJ invocations to module description.
12191         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12192         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12193         here...
12194         * modules/strpbrk (configure.ac): ... to here.
12195
12196 2011-05-22  Bruno Haible  <bruno@clisp.org>
12197
12198         strnlen: Move AC_LIBOBJ invocations to module description.
12199         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12200         invocations from here...
12201         * modules/strnlen (configure.ac): ... to here.
12202
12203 2011-05-22  Bruno Haible  <bruno@clisp.org>
12204
12205         strndup: Move AC_LIBOBJ invocations to module description.
12206         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12207         invocations from here...
12208         * modules/strndup (configure.ac): ... to here.
12209         (Depends-on): Update conditions.
12210
12211 2011-05-22  Bruno Haible  <bruno@clisp.org>
12212
12213         strncat: Move AC_LIBOBJ invocations to module description.
12214         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12215         invocations from here...
12216         * modules/strncat (configure.ac): ... to here.
12217
12218 2011-05-22  Bruno Haible  <bruno@clisp.org>
12219
12220         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12221         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12222         invocations from here...
12223         * modules/strdup (configure.ac): ... to here.
12224         * modules/strdup-posix (configure.ac): ... and here.
12225
12226 2011-05-22  Bruno Haible  <bruno@clisp.org>
12227
12228         strcspn: Move AC_LIBOBJ invocations to module description.
12229         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12230         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12231         here...
12232         * modules/strcspn (configure.ac): ... to here.
12233
12234 2011-05-22  Bruno Haible  <bruno@clisp.org>
12235
12236         strchrnul: Move AC_LIBOBJ invocations to module description.
12237         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12238         gl_PREREQ_STRCHRNUL invocations from here...
12239         * modules/strchrnul (configure.ac): ... to here.
12240
12241 2011-05-22  Bruno Haible  <bruno@clisp.org>
12242
12243         strcasestr*: Move AC_LIBOBJ invocations to module description.
12244         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12245         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12246         * modules/strcasestr-simple (configure.ac): ... to here.
12247         * modules/strcasestr (configure.ac): ... and here.
12248
12249 2011-05-22  Bruno Haible  <bruno@clisp.org>
12250
12251         strcase: Move AC_LIBOBJ invocations to module description.
12252         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12253         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12254         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12255         gl_PREREQ_STRNCASECMP invocations from here...
12256         * modules/strcase (configure.ac): ... to here.
12257
12258 2011-05-22  Bruno Haible  <bruno@clisp.org>
12259
12260         stpncpy: Move AC_LIBOBJ invocations to module description.
12261         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12262         here...
12263         * modules/stpncpy (configure.ac): ... to here.
12264
12265 2011-05-22  Bruno Haible  <bruno@clisp.org>
12266
12267         stpcpy: Move AC_LIBOBJ invocations to module description.
12268         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12269         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12270         here...
12271         * modules/stpcpy (configure.ac): ... to here.
12272
12273 2011-05-21  Bruno Haible  <bruno@clisp.org>
12274
12275         stat: Move AC_LIBOBJ invocations to module description.
12276         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12277         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12278         here...
12279         * modules/stat (configure.ac): ... to here.
12280
12281 2011-05-21  Bruno Haible  <bruno@clisp.org>
12282
12283         sleep: Move AC_LIBOBJ invocations to module description.
12284         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12285         * modules/sleep (configure.ac): ... to here.
12286
12287 2011-05-21  Bruno Haible  <bruno@clisp.org>
12288
12289         signbit: Move AC_LIBOBJ invocations to module description.
12290         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12291         * modules/signbit (configure.ac): ... to here.
12292
12293 2011-05-21  Bruno Haible  <bruno@clisp.org>
12294
12295         sigprocmask: Move AC_LIBOBJ invocations to module description.
12296         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12297         gl_PREREQ_SIGPROMASK invocations from here...
12298         * modules/sigprocmask (configure.ac): ... to here.
12299
12300 2011-05-21  Bruno Haible  <bruno@clisp.org>
12301
12302         sigaction: Move AC_LIBOBJ invocations to module description.
12303         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12304         gl_PREREQ_SIGACTION invocations from here...
12305         * modules/sigaction (configure.ac): ... to here.
12306
12307 2011-05-21  Bruno Haible  <bruno@clisp.org>
12308
12309         sig2str: Move AC_LIBOBJ invocations to module description.
12310         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12312         here...
12313         * modules/sig2str (configure.ac): ... to here.
12314
12315 2011-05-21  Bruno Haible  <bruno@clisp.org>
12316
12317         setlocale: Move AC_LIBOBJ invocations to module description.
12318         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12319         gl_PREREQ_SETLOCALE invocations from here...
12320         * modules/setlocale (configure.ac): ... to here.
12321
12322 2011-05-21  Bruno Haible  <bruno@clisp.org>
12323
12324         unsetenv: Move AC_LIBOBJ invocations to module description.
12325         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12326         and gl_PREREQ_UNSETENV invocations from here...
12327         * modules/unsetenv (configure.ac): ... to here.
12328         (Depends-on): Update.
12329
12330 2011-05-21  Bruno Haible  <bruno@clisp.org>
12331
12332         setenv: Move AC_LIBOBJ invocations to module description.
12333         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12334         here...
12335         * modules/setenv (configure.ac): ... to here.
12336
12337 2011-05-21  Bruno Haible  <bruno@clisp.org>
12338
12339         selinux-h: Move AC_LIBOBJ invocations to module description.
12340         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12341         AC_LIBOBJ invocation from here...
12342         * modules/selinux-h (configure.ac): ... to here.
12343
12344 2011-05-21  Bruno Haible  <bruno@clisp.org>
12345
12346         select: Respect rules for use of AC_LIBOBJ.
12347         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12348         here...
12349         * modules/select (configure.ac): ... to here.
12350
12351 2011-05-21  Bruno Haible  <bruno@clisp.org>
12352
12353         scandir: Move AC_LIBOBJ invocations to module description.
12354         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12355         invocations from here...
12356         * modules/scandir (configure.ac): ... to here.
12357
12358 2011-05-21  Bruno Haible  <bruno@clisp.org>
12359
12360         rpmatch: Move AC_LIBOBJ invocations to module description.
12361         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12362         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12363         here...
12364         * modules/rpmatch (configure.ac): ... to here.
12365
12366 2011-05-21  Bruno Haible  <bruno@clisp.org>
12367
12368         rmdir: Respect rules for use of AC_LIBOBJ.
12369         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12370         * modules/rmdir (configure.ac): ... to here.
12371
12372 2011-05-21  Bruno Haible  <bruno@clisp.org>
12373
12374         renameat: Move AC_LIBOBJ invocations to module description.
12375         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12376         here...
12377         * modules/renameat (configure.ac): ... to here.
12378
12379 2011-05-21  Bruno Haible  <bruno@clisp.org>
12380
12381         rename: Respect rules for use of AC_LIBOBJ.
12382         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12383         here...
12384         * modules/rename (configure.ac): ... to here.
12385
12386 2011-05-21  Bruno Haible  <bruno@clisp.org>
12387
12388         remove: Move AC_LIBOBJ invocations to module description.
12389         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12390         here...
12391         * modules/remove (configure.ac): ... to here.
12392
12393 2011-05-21  Bruno Haible  <bruno@clisp.org>
12394
12395         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12396         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12397         macro.
12398         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12399         * modules/relocatable-lib (configure.ac): ... to here.
12400         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12401         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12402
12403 2011-05-21  Bruno Haible  <bruno@clisp.org>
12404
12405         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12406         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12407         here...
12408         * modules/relocatable-prog (configure.ac): ... to here.
12409
12410 2011-05-21  Bruno Haible  <bruno@clisp.org>
12411
12412         regex: Move AC_LIBOBJ invocations to module description.
12413         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12414         invocations from here...
12415         * modules/regex (configure.ac): ... to here.
12416
12417 2011-05-21  Bruno Haible  <bruno@clisp.org>
12418
12419         realloc-*: Move AC_LIBOBJ invocations to module description.
12420         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12421         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12422         AC_LIBOBJ invocations from here...
12423         * modules/realloc-gnu (configure.ac): ... to here.
12424         * modules/realloc-posix (configure.ac): ... and here.
12425
12426 2011-05-21  Bruno Haible  <bruno@clisp.org>
12427
12428         readutmp: Move AC_LIBOBJ invocations to module description.
12429         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12430         * modules/readutmp (configure.ac): ... to here.
12431
12432 2011-05-21  Bruno Haible  <bruno@clisp.org>
12433
12434         readlinkat: Move AC_LIBOBJ invocations to module description.
12435         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12436         here...
12437         * modules/readlinkat (configure.ac): ... to here.
12438
12439 2011-05-21  Bruno Haible  <bruno@clisp.org>
12440
12441         readlink: Move AC_LIBOBJ invocations to module description.
12442         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12443         gl_PREREQ_READLINK invocations from here...
12444         * modules/readlink (configure.ac): ... to here.
12445
12446 2011-05-21  Bruno Haible  <bruno@clisp.org>
12447
12448         readline: Move AC_LIBOBJ invocations to module description.
12449         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12450         gl_PREREQ_READLINE invocations from here...
12451         * modules/readline (configure.ac): ... to here.
12452
12453 2011-05-21  Bruno Haible  <bruno@clisp.org>
12454
12455         read: Move AC_LIBOBJ invocations to module description.
12456         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12457         * modules/read (configure.ac): ... to here.
12458
12459 2011-05-21  Bruno Haible  <bruno@clisp.org>
12460
12461         rawmemchr: Move AC_LIBOBJ invocations to module description.
12462         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12463         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12464         from here...
12465         * modules/rawmemchr (configure.ac): ... to here.
12466
12467 2011-05-21  Bruno Haible  <bruno@clisp.org>
12468
12469         random_r: Move AC_LIBOBJ invocations to module description.
12470         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12471         gl_PREREQ_RANDOM_R invocations from here...
12472         * modules/random_r (configure.ac): ... to here.
12473
12474 2011-05-21  Bruno Haible  <bruno@clisp.org>
12475
12476         pwrite: Move AC_LIBOBJ invocations to module description.
12477         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12478         * modules/pwrite (configure.ac): ... to here.
12479
12480 2011-05-21  Bruno Haible  <bruno@clisp.org>
12481
12482         putenv: Move AC_LIBOBJ invocations to module description.
12483         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12484         * modules/putenv (configure.ac): ... to here.
12485
12486 2011-05-21  Bruno Haible  <bruno@clisp.org>
12487
12488         login_tty: Move AC_LIBOBJ invocations to module description.
12489         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12490         * modules/login_tty (configure.ac): ... to here.
12491
12492 2011-05-21  Bruno Haible  <bruno@clisp.org>
12493
12494         openpty: Move AC_LIBOBJ invocations to module description.
12495         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12496         * modules/openpty (configure.ac): ... to here.
12497
12498 2011-05-21  Bruno Haible  <bruno@clisp.org>
12499
12500         forkpty: Move AC_LIBOBJ invocations to module description.
12501         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12502         * modules/forkpty (configure.ac): ... to here.
12503
12504 2011-05-21  Bruno Haible  <bruno@clisp.org>
12505
12506         ptsname: Move AC_LIBOBJ invocations to module description.
12507         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12508         invocations from here...
12509         * modules/ptsname (configure.ac): ... to here.
12510
12511 2011-05-21  Bruno Haible  <bruno@clisp.org>
12512
12513         pread: Move AC_LIBOBJ invocations to module description.
12514         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12515         * modules/pread (configure.ac): ... to here.
12516
12517 2011-05-21  Bruno Haible  <bruno@clisp.org>
12518
12519         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12520         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12521         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12522         * modules/posix_spawn (configure.ac): ... to here.
12523         * modules/posix_spawnp (configure.ac): ... and here.
12524
12525 2011-05-21  Bruno Haible  <bruno@clisp.org>
12526
12527         popen: Move AC_LIBOBJ invocations to module description.
12528         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12529         invocations from here...
12530         * modules/popen (configure.ac): ... to here.
12531
12532 2011-05-21  Bruno Haible  <bruno@clisp.org>
12533
12534         poll: Move AC_LIBOBJ invocations to module description.
12535         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12536         invocations from here...
12537         * modules/poll (configure.ac): ... to here.
12538
12539 2011-05-21  Bruno Haible  <bruno@clisp.org>
12540
12541         pipe-posix: Move AC_LIBOBJ invocations to module description.
12542         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12543         * modules/pipe-posix (configure.ac): ... to here.
12544
12545 2011-05-21  Bruno Haible  <bruno@clisp.org>
12546
12547         openat: Respect rules for use of AC_LIBOBJ.
12548         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12549         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12550         * modules/openat (configure.ac): ... to here.
12551
12552 2011-05-21  Bruno Haible  <bruno@clisp.org>
12553
12554         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12555         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12556         invocation from here...
12557         * modules/obstack-printf (configure.ac): ... to here.
12558         * modules/obstack-printf-posix (configure.ac): ... and here.
12559
12560 2011-05-21  Bruno Haible  <bruno@clisp.org>
12561
12562         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12563         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12564         from here...
12565         * modules/nl_langinfo (configure.ac): ... to here.
12566
12567 2011-05-21  Bruno Haible  <bruno@clisp.org>
12568
12569         nanosleep: Move AC_LIBOBJ invocations to module description.
12570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12571         gl_PREREQ_NANOSLEEP invocations from here...
12572         * modules/nanosleep (configure.ac): ... to here.
12573
12574 2011-05-21  Bruno Haible  <bruno@clisp.org>
12575
12576         mountlist: Move AC_LIBOBJ invocations to module description.
12577         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12578         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12579         * modules/mountlist (configure.ac): ... to here.
12580
12581 2011-05-21  Bruno Haible  <bruno@clisp.org>
12582
12583         mktime: Respect rules for use of AC_LIBOBJ.
12584         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12585         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12586         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12587         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12588         * modules/mktime (configure.ac): ... to here.
12589         * modules/mktime-internal (configure.ac): ... and here.
12590         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12591
12592 2011-05-21  Bruno Haible  <bruno@clisp.org>
12593
12594         mkstemps: Move AC_LIBOBJ invocations to module description.
12595         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12596         here...
12597         * modules/mkstemps (configure.ac): ... to here.
12598
12599 2011-05-21  Bruno Haible  <bruno@clisp.org>
12600
12601         mkstemp: Move AC_LIBOBJ invocations to module description.
12602         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12603         gl_PREREQ_MKSTEMP invocations from here...
12604         * modules/mkstemp (configure.ac): ... to here.
12605
12606 2011-05-21  Bruno Haible  <bruno@clisp.org>
12607
12608         mkostemps: Move AC_LIBOBJ invocations to module description.
12609         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12610         here...
12611         * modules/mkostemps (configure.ac): ... to here.
12612
12613 2011-05-21  Bruno Haible  <bruno@clisp.org>
12614
12615         mkostemp: Move AC_LIBOBJ invocations to module description.
12616         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12617         gl_PREREQ_MKOSTEMP invocations from here...
12618         * modules/mkostemp (configure.ac): ... to here.
12619
12620 2011-05-21  Bruno Haible  <bruno@clisp.org>
12621
12622         mknod: Move AC_LIBOBJ invocations to module description.
12623         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12624         * modules/mknod (configure.ac): ... to here.
12625
12626 2011-05-21  Bruno Haible  <bruno@clisp.org>
12627
12628         mkfifoat: Move AC_LIBOBJ invocations to module description.
12629         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12630         here...
12631         * modules/mkfifoat (configure.ac): ... to here.
12632
12633 2011-05-21  Bruno Haible  <bruno@clisp.org>
12634
12635         mkfifo: Respect rules for use of AC_LIBOBJ.
12636         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12637         here...
12638         * modules/mkfifo (configure.ac): ... to here.
12639
12640 2011-05-21  Bruno Haible  <bruno@clisp.org>
12641
12642         mkdtemp: Move AC_LIBOBJ invocations to module description.
12643         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12644         invocations from here...
12645         * modules/mkdtemp (configure.ac): ... to here.
12646
12647 2011-05-21  Bruno Haible  <bruno@clisp.org>
12648
12649         mkdir: Move AC_LIBOBJ invocations to module description.
12650         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12651         * modules/mkdir (configure.ac): ... to here.
12652
12653 2011-05-21  Bruno Haible  <bruno@clisp.org>
12654
12655         memset: Move AC_LIBOBJ invocations to module description.
12656         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12657         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12658         here...
12659         * modules/memset (configure.ac): ... to here.
12660
12661 2011-05-21  Bruno Haible  <bruno@clisp.org>
12662
12663         memrchr: Move AC_LIBOBJ invocations to module description.
12664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12665         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12666         here...
12667         * modules/memrchr (configure.ac): ... to here.
12668
12669 2011-05-21  Bruno Haible  <bruno@clisp.org>
12670
12671         mempcpy: Move AC_LIBOBJ invocations to module description.
12672         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12673         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12674         here...
12675         * modules/mempcpy (configure.ac): ... to here.
12676
12677 2011-05-21  Bruno Haible  <bruno@clisp.org>
12678
12679         memmove: Move AC_LIBOBJ invocations to module description.
12680         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12681         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12682         here...
12683         * modules/memmove (configure.ac): ... to here.
12684
12685 2011-05-21  Bruno Haible  <bruno@clisp.org>
12686
12687         memmem*: Move AC_LIBOBJ invocations to module description.
12688         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12689         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12690         here...
12691         (gl_FUNC_MEMMEM): ... and here...
12692         * modules/memmem-simple (configure.ac): ... to here.
12693         * modules/memmem (configure.ac): ... and here.
12694
12695 2011-05-21  Bruno Haible  <bruno@clisp.org>
12696
12697         memcpy: Move AC_LIBOBJ invocations to module description.
12698         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12700         here...
12701         * modules/memcpy (configure.ac): ... to here.
12702
12703 2011-05-21  Bruno Haible  <bruno@clisp.org>
12704
12705         memcmp: Simplify autoconf macro.
12706         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12707         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12708         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12709
12710 2011-05-21  Bruno Haible  <bruno@clisp.org>
12711
12712         memcmp: Move AC_LIBOBJ invocations to module description.
12713         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12714         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12715         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12716         * modules/memcmp (configure.ac): ... to here.
12717         (Depends-on): Update conditions.
12718
12719 2011-05-21  Bruno Haible  <bruno@clisp.org>
12720
12721         memchr: Respect rules for use of AC_LIBOBJ.
12722         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12723         invocations from here...
12724         * modules/memchr (configure.ac): ... to here.
12725
12726 2011-05-21  Bruno Haible  <bruno@clisp.org>
12727
12728         mbtowc: Move AC_LIBOBJ invocations to module description.
12729         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12730         invocations from here...
12731         * modules/mbtowc (configure.ac): ... to here.
12732
12733 2011-05-21  Bruno Haible  <bruno@clisp.org>
12734
12735         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12736         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12737         gl_PREREQ_MBSRTOWCS invocations from here...
12738         * modules/mbsrtowcs (configure.ac): ... to here.
12739
12740 2011-05-21  Bruno Haible  <bruno@clisp.org>
12741
12742         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12743         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12744         gl_PREREQ_MBSNRTOWCS invocations from here...
12745         * modules/mbsnrtowcs (configure.ac): ... to here.
12746
12747 2011-05-21  Bruno Haible  <bruno@clisp.org>
12748
12749         mbsinit: Move AC_LIBOBJ invocations to module description.
12750         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12751         invocations from here...
12752         * modules/mbsinit (configure.ac): ... to here.
12753
12754 2011-05-21  Bruno Haible  <bruno@clisp.org>
12755
12756         mbrlen: Move AC_LIBOBJ invocations to module description.
12757         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12758         invocations from here...
12759         * modules/mbrlen (configure.ac): ... to here.
12760
12761 2011-05-21  Bruno Haible  <bruno@clisp.org>
12762
12763         mbrtowc: Respect rules for use of AC_LIBOBJ.
12764         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12765         invocations from here...
12766         * modules/mbrtowc (configure.ac): ... to here.
12767
12768 2011-05-21  Bruno Haible  <bruno@clisp.org>
12769
12770         malloc-*: Move AC_LIBOBJ invocations to module description.
12771         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12772         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12773         AC_LIBOBJ invocations from here...
12774         * modules/malloc-gnu (configure.ac): ... to here.
12775         * modules/malloc-posix (configure.ac): ... and here.
12776
12777 2011-05-21  Bruno Haible  <bruno@clisp.org>
12778
12779         lstat, openat: Respect rules for use of AC_LIBOBJ.
12780         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12781         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12782         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12783         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12784         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12785         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12786         here.
12787         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12788
12789 2011-05-21  Bruno Haible  <bruno@clisp.org>
12790
12791         lseek: Move AC_LIBOBJ invocations to module description.
12792         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12793         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12794         * modules/lseek (configure.ac): ... to here.
12795
12796 2011-05-21  Bruno Haible  <bruno@clisp.org>
12797
12798         linkat: Move AC_LIBOBJ invocations to module description.
12799         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12800         here...
12801         * modules/linkat (configure.ac): ... to here.
12802
12803 2011-05-21  Bruno Haible  <bruno@clisp.org>
12804
12805         link: Respect rules for use of AC_LIBOBJ.
12806         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12807         * modules/link (configure.ac): ... to here.
12808
12809 2011-05-21  Bruno Haible  <bruno@clisp.org>
12810
12811         lchown: Move AC_LIBOBJ invocations to module description.
12812         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12813         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12814         * modules/lchown (configure.ac): ... to here.
12815
12816 2011-05-21  Bruno Haible  <bruno@clisp.org>
12817
12818         iswctype: Move AC_LIBOBJ invocations to module description.
12819         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12820         here...
12821         * modules/iswctype (configure.ac): ... to here.
12822
12823 2011-05-21  Bruno Haible  <bruno@clisp.org>
12824
12825         iswblank: Move AC_LIBOBJ invocations to module description.
12826         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12827         here...
12828         * modules/iswblank (configure.ac): ... to here.
12829
12830 2011-05-21  Bruno Haible  <bruno@clisp.org>
12831
12832         atanl: Move AC_LIBOBJ invocations to module description.
12833         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12834         * modules/atanl (configure.ac): ... to here.
12835
12836 2011-05-21  Bruno Haible  <bruno@clisp.org>
12837
12838         acosl: Move AC_LIBOBJ invocations to module description.
12839         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12840         * modules/acosl (configure.ac): ... to here.
12841
12842 2011-05-21  Bruno Haible  <bruno@clisp.org>
12843
12844         asinl: Respect rules for use of AC_LIBOBJ.
12845         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12846         * modules/asinl (configure.ac): ... to here.
12847
12848 2011-05-21  Bruno Haible  <bruno@clisp.org>
12849
12850         tanl: Move AC_LIBOBJ invocations to module description.
12851         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12852         * modules/tanl (configure.ac): ... to here.
12853
12854 2011-05-21  Bruno Haible  <bruno@clisp.org>
12855
12856         cosl: Move AC_LIBOBJ invocations to module description.
12857         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12858         * modules/cosl (configure.ac): ... to here.
12859
12860 2011-05-21  Bruno Haible  <bruno@clisp.org>
12861
12862         sinl: Move AC_LIBOBJ invocations to module description.
12863         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12864         * modules/sinl (configure.ac): ... to here.
12865
12866 2011-05-21  Bruno Haible  <bruno@clisp.org>
12867
12868         logl: Move AC_LIBOBJ invocations to module description.
12869         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12870         * modules/logl (configure.ac): ... to here.
12871
12872 2011-05-21  Bruno Haible  <bruno@clisp.org>
12873
12874         expl: Move AC_LIBOBJ invocations to module description.
12875         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12876         * modules/expl (configure.ac): ... to here.
12877
12878 2011-05-21  Bruno Haible  <bruno@clisp.org>
12879
12880         roundl: Move AC_LIBOBJ invocations to module description.
12881         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12882         * modules/roundl (configure.ac): ... to here.
12883
12884 2011-05-21  Bruno Haible  <bruno@clisp.org>
12885
12886         round: Move AC_LIBOBJ invocations to module description.
12887         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12888         * modules/round (configure.ac): ... to here.
12889
12890 2011-05-21  Bruno Haible  <bruno@clisp.org>
12891
12892         roundf: Move AC_LIBOBJ invocations to module description.
12893         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12894         * modules/roundf (configure.ac): ... to here.
12895
12896 2011-05-21  Bruno Haible  <bruno@clisp.org>
12897
12898         truncl: Move AC_LIBOBJ invocations to module description.
12899         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12900         * modules/truncl (configure.ac): ... to here.
12901
12902 2011-05-21  Bruno Haible  <bruno@clisp.org>
12903
12904         trunc: Move AC_LIBOBJ invocations to module description.
12905         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12906         * modules/trunc (configure.ac): ... to here.
12907
12908 2011-05-21  Bruno Haible  <bruno@clisp.org>
12909
12910         truncf: Move AC_LIBOBJ invocations to module description.
12911         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12912         * modules/truncf (configure.ac): ... to here.
12913
12914 2011-05-21  Bruno Haible  <bruno@clisp.org>
12915
12916         ceill: Move AC_LIBOBJ invocations to module description.
12917         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12918         * modules/ceill (configure.ac): ... to here.
12919
12920 2011-05-21  Bruno Haible  <bruno@clisp.org>
12921
12922         ceil: Move AC_LIBOBJ invocations to module description.
12923         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12924         * modules/ceil (configure.ac): ... to here.
12925
12926 2011-05-21  Bruno Haible  <bruno@clisp.org>
12927
12928         ceilf: Move AC_LIBOBJ invocations to module description.
12929         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12930         * modules/ceilf (configure.ac): ... to here.
12931
12932 2011-05-21  Bruno Haible  <bruno@clisp.org>
12933
12934         floorl: Respect rules for use of AC_LIBOBJ.
12935         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12936         * modules/floorl (configure.ac): ... to here.
12937
12938 2011-05-21  Bruno Haible  <bruno@clisp.org>
12939
12940         floor: Respect rules for use of AC_LIBOBJ.
12941         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12942         * modules/floor (configure.ac): ... to here.
12943
12944 2011-05-21  Bruno Haible  <bruno@clisp.org>
12945
12946         floorf: Move AC_LIBOBJ invocations to module description.
12947         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12948         * modules/floorf (configure.ac): ... to here.
12949
12950 2011-05-20  Bruno Haible  <bruno@clisp.org>
12951
12952         sqrtl: Respect rules for use of AC_LIBOBJ.
12953         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12954         * modules/sqrtl (configure.ac): ... to here.
12955
12956 2011-05-20  Bruno Haible  <bruno@clisp.org>
12957
12958         ldexpl: Respect rules for use of AC_LIBOBJ.
12959         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12960         * modules/ldexpl (configure.ac): ... to here.
12961
12962 2011-05-20  Bruno Haible  <bruno@clisp.org>
12963
12964         frexpl*: Respect rules for use of AC_LIBOBJ.
12965         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12966         invocation from here...
12967         * modules/frexpl (configure.ac): ... to here.
12968         * modules/frexpl-nolibm (configure.ac): ... and here.
12969
12970 2011-05-20  Bruno Haible  <bruno@clisp.org>
12971
12972         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12973         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12974         invocation from here...
12975         * modules/frexp (configure.ac): ... to here.
12976         * modules/frexp-nolibm (configure.ac): ... and here.
12977
12978 2011-05-20  Bruno Haible  <bruno@clisp.org>
12979
12980         isnan: Respect rules for use of AC_LIBOBJ.
12981         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12982         invocations here.
12983         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12984         REPLACE_ISNAN.
12985         * modules/isnand (configure.ac): Likewise.
12986         * modules/isnanl (configure.ac): Likewise.
12987
12988 2011-05-20  Bruno Haible  <bruno@clisp.org>
12989
12990         isnanl*: Respect rules for use of AC_LIBOBJ.
12991         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12992         invocation from here...
12993         * modules/isnanl (configure.ac): ... to here.
12994         * modules/isnanl-nolibm (configure.ac): ... and here.
12995
12996 2011-05-20  Bruno Haible  <bruno@clisp.org>
12997
12998         isnand*: Move AC_LIBOBJ invocations to module description.
12999         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13000         invocation from here...
13001         * modules/isnand (configure.ac): ... to here.
13002         * modules/isnand-nolibm (configure.ac): ... and here.
13003
13004 2011-05-20  Bruno Haible  <bruno@clisp.org>
13005
13006         isnanf*: Move AC_LIBOBJ invocations to module description.
13007         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13008         invocation from here...
13009         * modules/isnanf (configure.ac): ... to here.
13010         * modules/isnanf-nolibm (configure.ac): ... and here.
13011
13012 2011-05-20  Bruno Haible  <bruno@clisp.org>
13013
13014         isnan*: Separate the AC_LIBOBJ invocations.
13015         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13016         AC_LIBOBJ invocation.
13017         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13018         here.
13019         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13020         AC_LIBOBJ invocation.
13021         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13022         here.
13023         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13024         AC_LIBOBJ invocation.
13025         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13026         here.
13027         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13028
13029 2011-05-08  Bruno Haible  <bruno@clisp.org>
13030
13031         isinf: Move AC_LIBOBJ invocations to module description.
13032         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13033         * modules/isinf (configure.ac): ... to here.
13034
13035 2011-05-08  Bruno Haible  <bruno@clisp.org>
13036
13037         isfinite: Move AC_LIBOBJ invocations to module description.
13038         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13039         * modules/isfinite (configure.ac): ... to here.
13040
13041 2011-05-08  Bruno Haible  <bruno@clisp.org>
13042
13043         isblank: Move AC_LIBOBJ invocations to module description.
13044         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13045         here...
13046         * modules/isblank (configure.ac): ... to here.
13047
13048 2011-05-08  Bruno Haible  <bruno@clisp.org>
13049
13050         isapipe: Move AC_LIBOBJ invocations to module description.
13051         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13052         gl_PREREQ_ISAPIPE invocations from here...
13053         * modules/isapipe (configure.ac): ... to here.
13054         (Depends-on): Update condition.
13055
13056 2011-05-08  Bruno Haible  <bruno@clisp.org>
13057
13058         ioctl: Move AC_LIBOBJ invocations to module description.
13059         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13060         invocations from here...
13061         * modules/ioctl (configure.ac): ... to here.
13062         (Depends-on): Update condition.
13063
13064 2011-05-08  Bruno Haible  <bruno@clisp.org>
13065
13066         imaxdiv: Move AC_LIBOBJ invocations to module description.
13067         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13068         invocations from here...
13069         * modules/imaxdiv (configure.ac): ... to here.
13070
13071 2011-05-08  Bruno Haible  <bruno@clisp.org>
13072
13073         imaxabs: Move AC_LIBOBJ invocations to module description.
13074         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13075         invocations from here...
13076         * modules/imaxabs (configure.ac): ... to here.
13077
13078 2011-05-08  Bruno Haible  <bruno@clisp.org>
13079
13080         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13081         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13082         AC_LIBOBJ invocations from here...
13083         * modules/getaddrinfo (configure.ac): ... to here.
13084         (Depends-on): Add conditions.
13085
13086 2011-05-08  Bruno Haible  <bruno@clisp.org>
13087
13088         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13089         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13090         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13091         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13092         (gl_PREREQ_INET_PTON): ... from here.
13093         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13094         gl_PREREQ_INET_PTON here.
13095         (Depends-on): Update condition.
13096
13097 2011-05-08  Bruno Haible  <bruno@clisp.org>
13098
13099         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13100         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13101         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13102         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13103         (gl_PREREQ_INET_NTOP): ... from here.
13104         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13105         gl_PREREQ_INET_NTOP here.
13106         (Depends-on): Update condition.
13107
13108 2011-05-08  Bruno Haible  <bruno@clisp.org>
13109
13110         iconv_open: Move AC_LIBOBJ invocations to module description.
13111         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13112         AC_LIBOBJ invocations from here...
13113         * modules/iconv_open (configure.ac): ... to here.
13114
13115 2011-05-08  Bruno Haible  <bruno@clisp.org>
13116
13117         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13118         If module 'iconv_open' is among the main modules and module
13119         'iconv_open-utf' is among the tests dependencies, then
13120         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13121         return the special iconv_t values. Therefore iconv() and iconv_close()
13122         must support these special iconv_t values, already in lib, not only in
13123         tests.
13124         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13125         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13126         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13127         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13128         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13129         (Depends-on): Add the dependencies of iconv_open-utf.
13130         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13131         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13132         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13133
13134 2011-05-08  Bruno Haible  <bruno@clisp.org>
13135
13136         group-member: Move AC_LIBOBJ invocations to module description.
13137         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13138         gl_PREREQ_GROUP_MEMBER invocations from here...
13139         * modules/group-member (configure.ac): ... to here.
13140
13141 2011-05-08  Bruno Haible  <bruno@clisp.org>
13142
13143         grantpt: Move AC_LIBOBJ invocations to module description.
13144         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13145         invocations from here...
13146         * modules/grantpt (configure.ac): ... to here.
13147
13148 2011-05-08  Bruno Haible  <bruno@clisp.org>
13149
13150         glob: Move AC_LIBOBJ invocations to module description.
13151         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13152         from here...
13153         * modules/glob (configure.ac): ... to here.
13154
13155 2011-05-08  Bruno Haible  <bruno@clisp.org>
13156
13157         getusershell: Move AC_LIBOBJ invocations to module description.
13158         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13159         Move AC_LIBOBJ invocation from here...
13160         * modules/getusershell (configure.ac): ... to here.
13161         (Depends-on): Update condition.
13162
13163 2011-05-08  Bruno Haible  <bruno@clisp.org>
13164
13165         gettimeofday: Move AC_LIBOBJ invocations to module description.
13166         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13167         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13168         gl_PREREQ_GETTIMEOFDAY invocations from here...
13169         * modules/gettimeofday (configure.ac): ... to here.
13170
13171 2011-05-08  Bruno Haible  <bruno@clisp.org>
13172
13173         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13174         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13175         just gl_FUNC_TZSET.
13176         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13177         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13178         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13179         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13180
13181 2011-05-08  Bruno Haible  <bruno@clisp.org>
13182
13183         getsubopt: Move AC_LIBOBJ invocations to module description.
13184         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13185         gl_PREREQ_GETSUBOPT invocations from here...
13186         * modules/getsubopt (configure.ac): ... to here.
13187
13188 2011-05-08  Bruno Haible  <bruno@clisp.org>
13189
13190         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13191         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13192         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13193         * modules/getpass-gnu (configure.ac): ... to here.
13194
13195 2011-05-08  Bruno Haible  <bruno@clisp.org>
13196
13197         getpass: Move AC_LIBOBJ invocations to module description.
13198         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13199         gl_PREREQ_GETPASS invocations from here...
13200         * modules/getpass (configure.ac): ... to here.
13201
13202 2011-05-08  Bruno Haible  <bruno@clisp.org>
13203
13204         getpagesize: Move AC_LIBOBJ invocations to module description.
13205         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13206         from here...
13207         * modules/getpagesize (configure.ac): ... to here.
13208
13209 2011-05-08  Bruno Haible  <bruno@clisp.org>
13210
13211         getopt: Move AC_LIBOBJ invocations to module description.
13212         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13213         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13214         invocations from here...
13215         * modules/getopt-gnu (configure.ac): ... to here.
13216         * modules/getopt-posix (configure.ac): ... and here.
13217         (Depends-on): Update condition.
13218
13219 2011-05-08  Bruno Haible  <bruno@clisp.org>
13220
13221         getopt, argp: Respect rules for use of AC_LIBOBJ.
13222         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13223         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13224         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13225         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13226
13227 2011-05-08  Bruno Haible  <bruno@clisp.org>
13228
13229         getlogin_r: Move AC_LIBOBJ invocations to module description.
13230         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13231         gl_PREREQ_GETLOGIN_R invocations from here...
13232         * modules/getlogin_r (configure.ac): ... to here.
13233
13234 2011-05-08  Bruno Haible  <bruno@clisp.org>
13235
13236         getlogin: Move AC_LIBOBJ invocations to module description.
13237         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13238         here...
13239         * modules/getlogin (configure.ac): ... to here.
13240
13241 2011-05-08  Bruno Haible  <bruno@clisp.org>
13242
13243         getloadavg: Move AC_LIBOBJ invocations to module description.
13244         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13245         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13246         * modules/getloadavg (configure.ac): ... to here.
13247
13248 2011-05-08  Bruno Haible  <bruno@clisp.org>
13249
13250         gethrxtime: Move AC_LIBOBJ invocations to module description.
13251         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13252         LIB_GETHRXTIME from here...
13253         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13254         invocations from here...
13255         * modules/gethrxtime (configure.ac): ... to here.
13256
13257 2011-05-08  Bruno Haible  <bruno@clisp.org>
13258
13259         gethostname: Move AC_LIBOBJ invocations to module description.
13260         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13261         gl_PREREQ_GETHOSTNAME invocations from here...
13262         * modules/gethostname (configure.ac): ... to here.
13263
13264 2011-05-08  Bruno Haible  <bruno@clisp.org>
13265
13266         getgroups: Move AC_LIBOBJ invocations to module description.
13267         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13268         here...
13269         * modules/getgroups (configure.ac): ... to here.
13270
13271 2011-05-08  Bruno Haible  <bruno@clisp.org>
13272
13273         getdtablesize: Move AC_LIBOBJ invocations to module description.
13274         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13275         invocation from here...
13276         * modules/getdtablesize (configure.ac): ... to here.
13277
13278 2011-05-08  Bruno Haible  <bruno@clisp.org>
13279
13280         getdomainname: Move AC_LIBOBJ invocations to module description.
13281         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13282         gl_PREREQ_GETDOMAINNAME invocations from here...
13283         * modules/getdomainname (configure.ac): ... to here.
13284
13285 2011-05-08  Bruno Haible  <bruno@clisp.org>
13286
13287         getline: Move AC_LIBOBJ invocations to module description.
13288         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13289         invocations from here...
13290         * modules/getline (configure.ac): ... to here.
13291
13292 2011-05-08  Bruno Haible  <bruno@clisp.org>
13293
13294         getline: Simplify.
13295         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13296         It's already handled through the module dependency.
13297
13298 2011-05-08  Bruno Haible  <bruno@clisp.org>
13299
13300         getdelim: Move AC_LIBOBJ invocations to module description.
13301         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13302         and gl_PREREQ_GETDELIM invocations from here...
13303         * modules/getdelim (configure.ac): ... to here.
13304         (Depends-on): Fix condition.
13305
13306 2011-05-08  Bruno Haible  <bruno@clisp.org>
13307
13308         getcwd: Move AC_LIBOBJ invocations to module description.
13309         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13310         invocations from here...
13311         * modules/getcwd (configure.ac): ... to here.
13312
13313 2011-05-08  Bruno Haible  <bruno@clisp.org>
13314
13315         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13316         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13317         here...
13318         * modules/getcwd-lgpl (configure.ac): ... to here.
13319
13320 2011-05-07  Bruno Haible  <bruno@clisp.org>
13321
13322         crypto/gc: Move AC_LIBOBJ invocations to module description.
13323         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13324         * modules/crypto/gc (configure.ac): ... to here.
13325
13326 2011-05-07  Bruno Haible  <bruno@clisp.org>
13327
13328         fwriting: Move AC_LIBOBJ invocations to module description.
13329         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13330         here...
13331         * modules/fwriting (configure.ac): ... to here.
13332
13333 2011-05-07  Bruno Haible  <bruno@clisp.org>
13334
13335         fwritable: Move AC_LIBOBJ invocations to module description.
13336         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13337         here...
13338         * modules/fwritable (configure.ac): ... to here.
13339
13340 2011-05-07  Bruno Haible  <bruno@clisp.org>
13341
13342         futimens: Move AC_LIBOBJ invocations to module description.
13343         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13344         here...
13345         * modules/futimens (configure.ac): ... to here.
13346
13347 2011-05-07  Bruno Haible  <bruno@clisp.org>
13348
13349         ftruncate: Move AC_LIBOBJ invocations to module description.
13350         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13351         gl_PREREQ_FTRUNCATE invocations from here...
13352         * modules/ftruncate (configure.ac): ... to here.
13353
13354 2011-05-07  Bruno Haible  <bruno@clisp.org>
13355
13356         fsync: Move AC_LIBOBJ invocations to module description.
13357         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13358         invocations from here...
13359         * modules/fsync (configure.ac): ... to here.
13360
13361 2011-05-07  Bruno Haible  <bruno@clisp.org>
13362
13363         fsusage: Move AC_LIBOBJ invocations to module description.
13364         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13365         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13366         * modules/fsusage (configure.ac): ... to here.
13367
13368 2011-05-07  Bruno Haible  <bruno@clisp.org>
13369
13370         freopen: Move AC_LIBOBJ invocations to module description.
13371         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13372         invocations from here...
13373         * modules/freopen (configure.ac): ... to here.
13374
13375 2011-05-07  Bruno Haible  <bruno@clisp.org>
13376
13377         free: Move AC_LIBOBJ invocations to module description.
13378         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13379         invocations from here...
13380         * modules/free (configure.ac): ... to here.
13381
13382 2011-05-07  Bruno Haible  <bruno@clisp.org>
13383
13384         freadable: Move AC_LIBOBJ invocations to module description.
13385         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13386         here...
13387         * modules/freadable (configure.ac): ... to here.
13388
13389 2011-05-07  Bruno Haible  <bruno@clisp.org>
13390
13391         fpurge: Move AC_LIBOBJ invocations to module description.
13392         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13393         invocations from here...
13394         * modules/fpurge (configure.ac): ... to here.
13395
13396 2011-05-07  Bruno Haible  <bruno@clisp.org>
13397
13398         fpending: Move AC_LIBOBJ invocations to module description.
13399         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13400         gl_FUNC_FPENDING.
13401         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13402         invocations from here...
13403         * modules/fpending (configure.ac): ... to here.
13404
13405 2011-05-07  Bruno Haible  <bruno@clisp.org>
13406
13407         fopen: Move AC_LIBOBJ invocations to module description.
13408         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13409         invocations from here...
13410         * modules/fopen (configure.ac): ... to here.
13411
13412 2011-05-07  Bruno Haible  <bruno@clisp.org>
13413
13414         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13415         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13416         gl_FUNC_FNMATCH_POSIX.
13417         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13418         invocations from here...
13419         * modules/fnmatch (configure.ac): ... to here.
13420         * modules/fnmatch-gnu (configure.ac): ... and here.
13421
13422 2011-05-07  Bruno Haible  <bruno@clisp.org>
13423
13424         flock: Move AC_LIBOBJ invocations to module description.
13425         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13426         invocations from here...
13427         * modules/flock (configure.ac): ... to here.
13428
13429 2011-05-07  Bruno Haible  <bruno@clisp.org>
13430
13431         fileblocks: Move AC_LIBOBJ invocations to module description.
13432         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13433         gl_PREREQ_FILEBLOCKS invocations from here...
13434         * modules/fileblocks (configure.ac): ... to here.
13435
13436 2011-05-06  Bruno Haible  <bruno@clisp.org>
13437
13438         fflush: Move AC_LIBOBJ invocations to module description.
13439         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13440         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13441         invocations from here...
13442         * modules/fflush (configure.ac): ... to here.
13443
13444 2011-05-06  Bruno Haible  <bruno@clisp.org>
13445
13446         fdopendir: Move AC_LIBOBJ invocations to module description.
13447         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13448         here...
13449         * modules/fdopendir (configure.ac): ... to here.
13450         (Depends-on): Improve conditions.
13451
13452 2011-05-06  Bruno Haible  <bruno@clisp.org>
13453
13454         _Exit: Move AC_LIBOBJ invocations to module description.
13455         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13456         invocations from here...
13457         * modules/_Exit (configure.ac): ... to here.
13458
13459 2011-05-21  Bruno Haible  <bruno@clisp.org>
13460
13461         euidaccess: Respect rules for use of AC_LIBOBJ.
13462         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13463         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13464         from here...
13465         * modules/euidaccess (configure.ac): ... to here.
13466
13467 2011-05-06  Bruno Haible  <bruno@clisp.org>
13468
13469         error: Move AC_LIBOBJ invocations to module description.
13470         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13471         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13472         invocations from here...
13473         * modules/error (configure.ac): ... to here.
13474
13475 2011-05-06  Bruno Haible  <bruno@clisp.org>
13476
13477         duplocale: Move AC_LIBOBJ invocations to module description.
13478         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13479         gl_PREREQ_DUPLOCALE invocations from here...
13480         * modules/duplocale (configure.ac): ... to here.
13481
13482 2011-05-05  Bruno Haible  <bruno@clisp.org>
13483
13484         dirfd: Move AC_LIBOBJ invocations to module description.
13485         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13486         gl_FUNC_DIRFD.
13487         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13488         here...
13489         * modules/dirfd (configure.ac): ... to here.
13490         (Depends-on): Fix condition.
13491
13492 2011-05-05  Bruno Haible  <bruno@clisp.org>
13493
13494         chown: Respect rules for use of AC_LIBOBJ.
13495         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13496         * modules/chown (configure.ac): ... to here.
13497
13498 2011-05-05  Bruno Haible  <bruno@clisp.org>
13499
13500         chdir-long: Move AC_LIBOBJ invocations to module description.
13501         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13502         gl_PREREQ_CHDIR_LONG invocations from here...
13503         * modules/chdir-long (configure.ac): ... to here.
13504
13505 2011-05-05  Bruno Haible  <bruno@clisp.org>
13506
13507         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13508         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13509         from here...
13510         * modules/canonicalize-lgpl (configure.ac): ... to here.
13511
13512 2011-05-05  Bruno Haible  <bruno@clisp.org>
13513
13514         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13515         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13516         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13517         REPLACE_CALLOC.
13518         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13519         * modules/calloc-gnu (configure.ac): Likewise.
13520
13521 2011-05-05  Bruno Haible  <bruno@clisp.org>
13522
13523         btowc: Move AC_LIBOBJ invocations to module description.
13524         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13525         invocations from here...
13526         * modules/btowc (configure.ac): ... to here.
13527
13528 2011-05-21  Bruno Haible  <bruno@clisp.org>
13529
13530         atexit: Move AC_LIBOBJ invocations to module description.
13531         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13532         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13533         here...
13534         * modules/atexit (configure.ac): ... to here.
13535
13536 2011-05-05  Bruno Haible  <bruno@clisp.org>
13537
13538         atoll: Move AC_LIBOBJ invocations to module description.
13539         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13540         invocations from here...
13541         * modules/atoll (configure.ac): ... to here.
13542
13543 2011-05-05  Bruno Haible  <bruno@clisp.org>
13544
13545         argz: Move AC_LIBOBJ invocations to module description.
13546         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13547         * modules/argz (configure.ac): ... to here.
13548
13549 2011-05-05  Bruno Haible  <bruno@clisp.org>
13550
13551         alphasort: Move AC_LIBOBJ invocations to module description.
13552         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13553         gl_PREREQ_ALPHASORT invocations from here...
13554         * modules/alphasort (configure.ac): ... to here.
13555
13556 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13557
13558         verify: new macro verify_expr; verify_true deprecated
13559         * NEWS: Mention this.
13560         * doc/verify.texi (Compile-time Assertions): Document this.
13561         * lib/verify.h (verify_true): Deprecate.
13562         (verify_expr): New macro.
13563         * tests/test-verify.c (function): Test verify_expr.
13564
13565 2011-06-14  Jim Meyering  <meyering@redhat.com>
13566
13567         init.sh: give more portable redirection-related advice in a comment
13568         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13569         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13570         for lots of discussion.  Stefano Lattarini suggested the solution
13571         of putting "9>&2" after the command.  Reported by Bruno Haible.
13572
13573 2011-06-13  Bruno Haible  <bruno@clisp.org>
13574
13575         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13576         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13577         'none'.
13578
13579 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13580
13581         ftoastr: use strtof only if HAVE_STRTOF
13582         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13584         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13585         * modules/ftoastr (configure.ac): Check for strtof.
13586
13587 2011-06-13  Bruno Haible  <bruno@clisp.org>
13588
13589         gnulib-tool: Addendum to 2011-06-08 commit.
13590         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13591         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13592
13593 2011-06-13  Bruno Haible  <bruno@clisp.org>
13594
13595         fseeko: Provide a non-inline replacement of fseek().
13596         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13597         * modules/fseeko (Depends-on): Add fseek.
13598         * modules/fseek (License): Change to LGPLv2+.
13599
13600 2011-06-13  Bruno Haible  <bruno@clisp.org>
13601
13602         ftello: Provide a non-inline replacement of ftell().
13603         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13604         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13605         not have ftello() (such as on mingw).
13606         * modules/ftello (Depends-on): Add ftell.
13607         * modules/ftell (License): Change to LGPLv2+.
13608
13609 2011-05-07  Bruno Haible  <bruno@clisp.org>
13610
13611         ftell: Move AC_LIBOBJ invocations to module description.
13612         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13613         * modules/ftell (configure.ac): ... to here.
13614
13615 2011-05-07  Bruno Haible  <bruno@clisp.org>
13616
13617         ftello: Respect rules for use of AC_LIBOBJ.
13618         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13619         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13620         here...
13621         * modules/ftello (configure.ac): ... to here.
13622
13623 2011-05-07  Bruno Haible  <bruno@clisp.org>
13624
13625         fseeko: Simplify.
13626         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13627         (gl_FUNC_FSEEKO): Inline it here.
13628
13629 2011-05-07  Bruno Haible  <bruno@clisp.org>
13630
13631         fseek: Move AC_LIBOBJ invocations to module description.
13632         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13633         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13634         * modules/fseek (configure.ac): ... to here.
13635
13636 2011-05-07  Bruno Haible  <bruno@clisp.org>
13637
13638         fseek: Respect rules for use of AC_LIBOBJ.
13639         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13640         here...
13641         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13642
13643 2011-05-07  Bruno Haible  <bruno@clisp.org>
13644
13645         fseeko: Respect rules for use of AC_LIBOBJ.
13646         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13647         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13648         here...
13649         * modules/fseeko (configure.ac): ... to here.
13650
13651 2011-06-13  Bruno Haible  <bruno@clisp.org>
13652
13653         gnulib-tool: Allow comments in the 'Depends-on' section.
13654         * doc/gnulib.texi (Module description): Mention comment syntax in the
13655         Depends-on section.
13656         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13657
13658 2011-06-13  Bruno Haible  <bruno@clisp.org>
13659
13660         file-set.h: guard __attibute__ use, now that it's not always defined
13661         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13662         versions that support it.  This fixes a coreutils build failure with
13663         the vendor cc on HP-UX 11.31.
13664
13665 2011-06-12  Bruno Haible  <bruno@clisp.org>
13666
13667         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13668         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13669         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13670         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13671         (acl, aclsort): New declarations.
13672         (aclv_nontrivial): New declaration.
13673         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13674         (file_has_acl): Read also the second kind of HP-UX ACLs.
13675         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13676         kind of HP-UX ACLs if the first kind fails.
13677         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13678         second kind of HP-UX ACLs.
13679         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13680         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13681         agree.
13682         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13683         hpuxjfs.
13684         Handle hpuxjfs.
13685         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13686         hpuxjfs.
13687         Handle hpuxjfs.
13688         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13689         (func_test_same_acls): Use both lsacl and getacl.
13690         Handle hpuxjfs.
13691         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13692         (func_test_same_acls): Use both lsacl and getacl.
13693         Handle hpuxjfs.
13694
13695 2011-06-12  Bruno Haible  <bruno@clisp.org>
13696
13697         acl: Complete the 2010-08-10 fix.
13698         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13699         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13700         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13701         explicitly.
13702         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13703         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13704
13705 2011-06-12  Bruno Haible  <bruno@clisp.org>
13706
13707         spawn-pipe tests: Comments.
13708         * tests/test-spawn-pipe-child.c (main): Update comment.
13709         Reported by James Youngman <jay@gnu.org>.
13710
13711 2011-06-11  James Youngman  <jay@gnu.org>
13712
13713         New module 'stat-size'.
13714         * modules/stat-size: New module.  Provides macros for accessing
13715         file size information in instances of struct stat.  Depends on the
13716         fileblocks module because it calls st_blocks.
13717         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13718         * doc/gnulib.texi: Include stat-size.texi.
13719         * doc/stat-size.texi: Documentation for this module.
13720         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13721         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13722         AC_STRUCT_ST_BLOCKS.
13723
13724 2011-06-09  Bruno Haible  <bruno@clisp.org>
13725
13726         thread: Support pthreads-win32.
13727         * lib/glthread/thread.h (gl_thread_self): Define differently on
13728         pthreads-win32.
13729         (gl_null_thread): New declaration.
13730         (gl_thread_self_pointer): New macro.
13731         * lib/glthread/thread.c (gl_null_thread): New constant.
13732         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13733         gl_thread_self.
13734         * tests/test-tls.c: Likewise.
13735         Suggested by Paul Eggert. Reported by Eric Blake.
13736
13737 2011-06-09  Bruno Haible  <bruno@clisp.org>
13738
13739         thread: Fix confusion between NULL and 0.
13740         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13741         Reported by Paul Eggert.
13742
13743 2011-06-09  Bruno Haible  <bruno@clisp.org>
13744
13745         spawn-pipe tests: Avoid test failure on HP-UX 11.
13746         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13747         is closed.
13748
13749 2011-06-09  Bruno Haible  <bruno@clisp.org>
13750
13751         acl tests: Fix compilation error on HP-UX 11.
13752         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13753
13754 2011-06-09  Bruno Haible  <bruno@clisp.org>
13755
13756         rmdir: Avoid test failure on HP-UX 10.20.
13757         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13758         EEXIST.
13759
13760 2011-06-08  Eric Blake  <eblake@redhat.com>
13761
13762         perror: fix test on mingw
13763         * modules/perror-tests (Depends-on): Add dup2.
13764
13765         strerror_r-posix: fix on MacOS
13766         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13767         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13768         logic bug.
13769         * lib/strerror_r.c (strerror_r): Fix the bug.
13770         * lib/strerror.c (strerror): Likewise.
13771         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13772         problem.
13773         * doc/posix-functions/strerror.texi (strerror): Likewise.
13774         * doc/posix-functions/perror.texi (perror): Likewise.
13775         * tests/test-strerror.c (main): Enhance test.
13776         * tests/test-strerror_r.c (main): Likewise.
13777
13778 2011-06-08  Bruno Haible  <bruno@clisp.org>
13779
13780         gnulib-tool: Better isolation between different gnulib-tool invocations.
13781         * gnulib-tool: New option --witness-c-macro.
13782         (witness_c_macro): New variable.
13783         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13784         AM_CPPFLAGS define it as a C macro.
13785         (func_emit_tests_Makefile_am): Likewise.
13786         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13787         read it from there.
13788         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13789         m4_define, not AC_DEFUN.
13790         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13791         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13792         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13793         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13794         s|...|...|, to substitute the values of the GNULIB_* module indicator
13795         variables.
13796         * modules/dirent (Makefile.am): Likewise.
13797         * modules/fcntl-h (Makefile.am): Likewise.
13798         * modules/iconv-h (Makefile.am): Likewise.
13799         * modules/langinfo (Makefile.am): Likewise.
13800         * modules/locale (Makefile.am): Likewise.
13801         * modules/math (Makefile.am): Likewise.
13802         * modules/netdb (Makefile.am): Likewise.
13803         * modules/poll-h (Makefile.am): Likewise.
13804         * modules/pty (Makefile.am): Likewise.
13805         * modules/search (Makefile.am): Likewise.
13806         * modules/signal (Makefile.am): Likewise.
13807         * modules/spawn (Makefile.am): Likewise.
13808         * modules/stdio (Makefile.am): Likewise.
13809         * modules/stdlib (Makefile.am): Likewise.
13810         * modules/string (Makefile.am): Likewise.
13811         * modules/sys_ioctl (Makefile.am): Likewise.
13812         * modules/sys_select (Makefile.am): Likewise.
13813         * modules/sys_socket (Makefile.am): Likewise.
13814         * modules/sys_stat (Makefile.am): Likewise.
13815         * modules/sys_times (Makefile.am): Likewise.
13816         * modules/sys_utsname (Makefile.am): Likewise.
13817         * modules/sys_wait (Makefile.am): Likewise.
13818         * modules/termios (Makefile.am): Likewise.
13819         * modules/time (Makefile.am): Likewise.
13820         * modules/unistd (Makefile.am): Likewise.
13821         * modules/wchar (Makefile.am): Likewise.
13822
13823 2011-06-08  Eric Blake  <eblake@redhat.com>
13824
13825         strerror: simplify replacement
13826         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13827         * modules/strerror (configure.ac): No prereqs needed here...
13828         * modules/strerror-override (configure.ac): ...but this needs it.
13829         (Files): Add file for needed prereq macro.
13830
13831 2011-06-08  Bruno Haible  <bruno@clisp.org>
13832
13833         strerror_r-posix: Tweaks.
13834         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13835         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13836         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13837         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13838         (gl_FUNC_STRERROR_R): ... to here.
13839         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13840
13841 2011-06-07  Eric Blake  <eblake@redhat.com>
13842
13843         perror: document fixed bugs
13844         * doc/posix-functions/perror.texi (perror): Document recent
13845         patches.
13846
13847 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13848
13849         stat-time: get_stat_birthtime failure is better-defined
13850         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13851         return a timestamp whose tv_sec and tv_nsec values are both -1.
13852         Previously, the spec said only that the tv_nsec value was negative.
13853         This upward-compatible change simplifies GNU tar a bit.
13854
13855 2011-06-07  Eric Blake  <eblake@redhat.com>
13856
13857         strerror_r-posix: work around cygwin 1.7.9
13858         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13859         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13860         bug without replacing strerror_r.
13861         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13862         strerror_r is buggy, but without requiring strerror_r compilation.
13863         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13864
13865         test-perror: relax test to ignore cygwin bug
13866         * tests/test-perror2.c (main): Relax test on requiring detection
13867         of stream errors, and use unbuffered stream.
13868         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13869         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13870         * doc/posix-functions/fputc.texi (fputc): Likewise.
13871         * doc/posix-functions/fputs.texi (fputs): Likewise.
13872         * doc/posix-functions/fputws.texi (fputws): Likewise.
13873         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13874         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13875         * doc/posix-functions/getopt.texi (getopt): Likewise.
13876         * doc/posix-functions/perror.texi (perror): Likewise.
13877         * doc/posix-functions/printf.texi (printf): Likewise.
13878         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13879         * doc/posix-functions/psignal.texi (psignal): Likewise.
13880         * doc/posix-functions/putc.texi (putc): Likewise.
13881         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13882         Likewise.
13883         * doc/posix-functions/putchar.texi (putchar): Likewise.
13884         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13885         Likewise.
13886         * doc/posix-functions/puts.texi (puts): Likewise.
13887         * doc/posix-functions/putwc.texi (putwc): Likewise.
13888         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13889         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13890         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13891         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13892         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13893         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13894         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13895         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13896
13897 2011-05-22  Bruno Haible  <bruno@clisp.org>
13898
13899         strerror: Move AC_LIBOBJ invocations to module description.
13900         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13901         gl_PREREQ_STRERROR invocations from here...
13902         * modules/strerror (configure.ac): ... to here.
13903
13904 2011-05-21  Bruno Haible  <bruno@clisp.org>
13905
13906         perror: Use common idiom.
13907         * modules/perror (configure.ac): Reorder statements.
13908
13909 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13910
13911         tests: fix usage message in 'mktempd_'
13912         * tests/init.sh (mktempd_): In the usage message, use literal
13913         'mktempd_', not '$ME' (which is even undefined), as the name of
13914         the subroutine.
13915
13916 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13917
13918         tests init: new function 'fatal_', for hard errors
13919         Before this patch, the only way offered by tests/init.sh to
13920         properly signal a hard error was the `framework_failure_'
13921         function.  But the error message issued by that function,
13922         as its name would suggest, refers to a set-up failure in the
13923         testsuite, while hard errors can obviously also be due to
13924         other reasons.  The best way to fix this inconsistency is to
13925         introduce a new function with a more general error message.
13926         * tests/init.sh (fatal_): New function.
13927
13928 2011-06-06  Eric Blake  <eblake@redhat.com>
13929
13930         canonicalize-lgpl: use common idiom
13931         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13932         over newer POSIX -Rf.
13933         Reported by Bruno Haible.
13934
13935         canonicalize-lgpl: work around AIX realpath bug
13936         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13937         * doc/posix-functions/realpath.texi (realpath): Document it.
13938         Reported by Bruno Haible.
13939
13940         strerror: work around FreeBSD bug
13941         * lib/strerror.c (strerror): Special case 0.
13942         Reported by Bruno Haible.
13943
13944         strerror-override: avoid bloating errno module
13945         * modules/errno (Files, configure.ac): Move replacement strings...
13946         * modules/strerror-override: ...to new module.
13947         * modules/strerror (Depends-on): Add strerror-override.
13948         * modules/strerror_r-posix (Depends-on): Likewise.
13949         * MODULES.html.sh: Document new module.
13950         Reported by Bruno Haible.
13951
13952 2011-06-06  Bruno Haible  <bruno@clisp.org>
13953
13954         spawn-pipe tests: Rename program.
13955         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13956         * tests/test-spawn-pipe-child.c: Update comment.
13957         * tests/test-spawn-pipe.sh: Update.
13958         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13959
13960         spawn-pipe tests: Link the child program only against libc.
13961         * tests/test-spawn-pipe-child.c: New file, extracted from
13962         tests/test-spawn-pipe.c.
13963         (main): Expect only one argument.
13964         (is_open): New function, copied from tests/test-pipe.c.
13965         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13966         (child_main): Remove function.
13967         (test_pipe): Pass only one argument to the child program.
13968         (main): Remove child process code. Expect the child program's name as
13969         first argument.
13970         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13971         argument.
13972         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13973         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13974         test-spawn-pipe-child against no libraries.
13975
13976 2011-06-06  Bruno Haible  <bruno@clisp.org>
13977
13978         careadlinkat: Avoid mismatch between ssize_t and int.
13979         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13980         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13981
13982 2011-06-06  Jim Meyering  <meyering@redhat.com>
13983
13984         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13985         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13986         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13987
13988 2011-06-05  Bruno Haible  <bruno@clisp.org>
13989
13990         ansi-c++-opt: Interoperability with libtool.
13991         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13992         set the variable to "no", not to ":".
13993         * NEWS: Mention the change.
13994
13995 2011-06-05  Bruno Haible  <bruno@clisp.org>
13996
13997         acl: Fix test failure on AIX 7.
13998         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13999         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14000
14001 2011-06-05  Bruno Haible  <bruno@clisp.org>
14002
14003         pipe-filter-ii: Fix test failure on AIX and IRIX.
14004         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14005         with EAGAIN, retry with a smaller buffer size.
14006
14007 2011-06-05  Bruno Haible  <bruno@clisp.org>
14008
14009         localename: Fix link dependencies.
14010         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14011         * modules/localename-tests (Makefile.am): Link test-localename with
14012         $(LIBTHREAD).
14013
14014 2011-06-05  Bruno Haible  <bruno@clisp.org>
14015
14016         error: Avoid gcc warning.
14017         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14018
14019 2011-06-05  Bruno Haible  <bruno@clisp.org>
14020
14021         unsetenv: Avoid gcc warning.
14022         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14023
14024 2011-06-05  Bruno Haible  <bruno@clisp.org>
14025
14026         setenv: Avoid gcc warning.
14027         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14028
14029 2011-06-05  Bruno Haible  <bruno@clisp.org>
14030
14031         sys_select: Ensure memset is declared also on AIX 7.
14032         * lib/sys_select.in.h: Include <string.h> also on AIX.
14033         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14034         self-contained also on AIX 7.1.
14035
14036 2011-06-04  Jim Meyering  <meyering@redhat.com>
14037
14038         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14039         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14040         function name, "error".
14041         (_gl_translatable_diag_func_re): New configurable variable.
14042
14043 2011-06-04  Bruno Haible  <bruno@clisp.org>
14044
14045         getopt: Avoid gcc warning.
14046         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14047
14048 2011-06-04  Bruno Haible  <bruno@clisp.org>
14049
14050         strerror_r: Fix comments.
14051         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14052         commit.
14053
14054 2011-06-04  Bruno Haible  <bruno@clisp.org>
14055
14056         perror: Fix compilation error.
14057         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14058         Undefine fprintf, not sprintf.
14059         * modules/perror (Depends-on): Remove intprops, verify.
14060
14061 2011-06-04  Bruno Haible  <bruno@clisp.org>
14062
14063         setlocale: Enable replacement on Cygwin 1.5.
14064         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14065         Cygwin 1.5.x.
14066         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14067         LC_CTYPE category also exists on Cygwin 1.5.x.
14068
14069 2011-06-04  Bruno Haible  <bruno@clisp.org>
14070
14071         strerror-override: Don't disable symbol renamings.
14072         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14073         * lib/strerror-override.c: Include config.h.
14074         (strerror_override): Don't undefine.
14075
14076 2011-06-03  Bruno Haible  <bruno@clisp.org>
14077
14078         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14079         * lib/localename.h: Update copyright header.
14080         * lib/localename.c: Likewise.
14081         * lib/relocatable.h: Likewise.
14082         * lib/relocatable.c: Likewise.
14083
14084 2011-06-02  Bruno Haible  <bruno@clisp.org>
14085
14086         doc: Fix a module name.
14087         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14088
14089 2011-06-02  Bruno Haible  <bruno@clisp.org>
14090
14091         pipe2: Remove dependency on 'nonblocking' module.
14092         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14093         O_NONBLOCK is defined by gnulib.
14094         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14095         is zero.
14096         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14097         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14098         defined by gnulib.
14099         (get_nonblocking_flag): New function.
14100         (main): Test O_NONBLOCK flag only if it is nonzero.
14101         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14102
14103 2011-06-03  Jim Meyering  <meyering@redhat.com>
14104
14105         maint: three new prohibit-header-without-use rules
14106         Prohibit use of cloexec.h, posixver.h, same.h without use.
14107         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14108         (sc_prohibit_posixver_without_use): Likewise.
14109         (sc_prohibit_same_without_use): Likewise.
14110
14111 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14112
14113         allocator: 'die' routine is now given requested size
14114         * lib/allocator.h (struct allocator.die): New size arg.
14115         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14116         If the actual problem is an ssize_t limitation, not a size_t or
14117         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14118
14119 2011-06-01  Eric Blake  <eblake@redhat.com>
14120
14121         strerror: drop strerror_r dependency
14122         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14123         * lib/strerror-override.c (strerror_override): ...to new file.
14124         * lib/strerror-override.h: Add prototype.
14125         * lib/strerror-impl.h: Delete.
14126         * lib/strerror.c (strerror): New implementation.
14127         * modules/errno (Files): Add new files.
14128         (configure.ac): Compile new file as appropriate.
14129         * modules/strerror (Files): Drop unused file.
14130         (Depends-on): Drop strerror_r-posix.
14131         * MODULES.html.sh: Document strerror_r-posix.
14132         Requested by Sam Steingold.
14133
14134         perror: call strerror_r directly
14135         * modules/perror (Files): Drop strerror-impl.h.
14136         * lib/perror.c (perror): Use our own stack buffer, rather than
14137         calling a wrapper that uses static storage.
14138         * doc/posix-functions/perror.texi (perror): Document a limitation
14139         of our replacement.
14140
14141         strerror_r: fix includes for FreeBSD
14142         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14143         since we use abort on some platforms.
14144         Reported by Matthias Bolte.
14145
14146 2011-05-31  Bruno Haible  <bruno@clisp.org>
14147
14148         Fix link errors in tests: openat-die uses gettext-h.
14149         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14150         against $(LIBINTL).
14151         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14152         against $(LIBINTL).
14153         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14154         $(LIBINTL).
14155         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14156         against $(LIBINTL).
14157         * modules/linkat-tests (Makefile.am): Link test-linkat against
14158         $(LIBINTL).
14159         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14160         $(LIBINTL).
14161         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14162         against $(LIBINTL).
14163         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14164         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14165         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14166         $(LIBINTL).
14167         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14168         $(LIBINTL).
14169         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14170         $(LIBINTL).
14171         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14172
14173 2011-05-31  Bruno Haible  <bruno@clisp.org>
14174
14175         Fix link errors in tests: wait-process uses gettext-h.
14176         * modules/nonblocking-pipe-tests (Makefile.am): Set
14177         test_nonblocking_pipe_main_LDADD.
14178         * modules/nonblocking-socket-tests (Makefile.am): Link
14179         test-nonblocking-socket-main against $(LIBINTL).
14180         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14181
14182 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14183
14184         assert-h: work around 'verify' incompatibility
14185         * lib/verify.h: Use @...@ directives, not ifdef.
14186         * modules/assert-h (assert.h): Implement the directives.
14187         (assert.h): Substitute the symbol-prefix more consistently.
14188
14189 2011-05-29  Jim Meyering  <meyering@redhat.com>
14190
14191         trim: remove three superfluous assignments
14192         * lib/trim.c (trim2): Remove three superfluous assignments
14193         and correct brace positioning.
14194
14195 2011-05-29  Bruno Haible  <bruno@clisp.org>
14196
14197         wctype-h: Avoid namespace pollution on Solaris 2.6.
14198         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14199         identifiers.
14200         * doc/posix-headers/wctype.texi: Mention the problem.
14201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14202
14203 2011-05-28  Jim Meyering  <meyering@redhat.com>
14204
14205         parse-datetime.y: accommodate -Wstrict-overflow
14206         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14207         placate -Wstrict-overflow.
14208
14209         trim: avoid a warning from -O2 -Wstrict-overflow
14210         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14211
14212 2011-05-29  Bruno Haible  <bruno@clisp.org>
14213
14214         gnulib-tool: Fix bug in yesterday's commit.
14215         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14216         twice.
14217
14218 2011-05-29  Bruno Haible  <bruno@clisp.org>
14219
14220         Allow multiple gnulib generated include files to be combined.
14221         * gnulib-tool (func_compute_include_guard_prefix): New function.
14222         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14223         ${gl_include_guard_prefix} references.
14224         (func_import, func_create_testdir): Invoke
14225         func_compute_include_guard_prefix.
14226         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14227         * lib/ctype.in.h: Likewise.
14228         * lib/dirent.in.h: Likewise.
14229         * lib/errno.in.h: Likewise.
14230         * lib/fcntl.in.h: Likewise.
14231         * lib/float.in.h: Likewise.
14232         * lib/getopt.in.h: Likewise.
14233         * lib/iconv.in.h: Likewise.
14234         * lib/langinfo.in.h: Likewise.
14235         * lib/locale.in.h: Likewise.
14236         * lib/math.in.h: Likewise.
14237         * lib/netdb.in.h: Likewise.
14238         * lib/netinet_in.in.h: Likewise.
14239         * lib/poll.in.h: Likewise.
14240         * lib/pthread.in.h: Likewise.
14241         * lib/pty.in.h: Likewise.
14242         * lib/sched.in.h: Likewise.
14243         * lib/se-selinux.in.h: Likewise.
14244         * lib/search.in.h: Likewise.
14245         * lib/signal.in.h: Likewise.
14246         * lib/spawn.in.h: Likewise.
14247         * lib/stdarg.in.h: Likewise.
14248         * lib/stddef.in.h: Likewise.
14249         * lib/stdint.in.h: Likewise.
14250         * lib/stdio.in.h: Likewise.
14251         * lib/stdlib.in.h: Likewise.
14252         * lib/string.in.h: Likewise.
14253         * lib/strings.in.h: Likewise.
14254         * lib/sys_file.in.h: Likewise.
14255         * lib/sys_ioctl.in.h: Likewise.
14256         * lib/sys_select.in.h: Likewise.
14257         * lib/sys_socket.in.h: Likewise.
14258         * lib/sys_stat.in.h: Likewise.
14259         * lib/sys_time.in.h: Likewise.
14260         * lib/sys_times.in.h: Likewise.
14261         * lib/sys_uio.in.h: Likewise.
14262         * lib/sys_utsname.in.h: Likewise.
14263         * lib/sys_wait.in.h: Likewise.
14264         * lib/sysexits.in.h: Likewise.
14265         * lib/termios.in.h: Likewise.
14266         * lib/time.in.h: Likewise.
14267         * lib/unistd.in.h: Likewise.
14268         * lib/wchar.in.h: Likewise.
14269         * lib/wctype.in.h: Likewise.
14270         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14271         * modules/ctype (Makefile.am): Likewise.
14272         * modules/dirent (Makefile.am): Likewise.
14273         * modules/errno (Makefile.am): Likewise.
14274         * modules/fcntl-h (Makefile.am): Likewise.
14275         * modules/float (Makefile.am): Likewise.
14276         * modules/getopt-posix (Makefile.am): Likewise.
14277         * modules/iconv-h (Makefile.am): Likewise.
14278         * modules/langinfo (Makefile.am): Likewise.
14279         * modules/locale (Makefile.am): Likewise.
14280         * modules/math (Makefile.am): Likewise.
14281         * modules/netdb (Makefile.am): Likewise.
14282         * modules/netinet_in (Makefile.am): Likewise.
14283         * modules/poll-h (Makefile.am): Likewise.
14284         * modules/pthread (Makefile.am): Likewise.
14285         * modules/pty (Makefile.am): Likewise.
14286         * modules/sched (Makefile.am): Likewise.
14287         * modules/search (Makefile.am): Likewise.
14288         * modules/selinux-h (Makefile.am): Likewise.
14289         * modules/signal (Makefile.am): Likewise.
14290         * modules/spawn (Makefile.am): Likewise.
14291         * modules/stdarg (Makefile.am): Likewise.
14292         * modules/stddef (Makefile.am): Likewise.
14293         * modules/stdint (Makefile.am): Likewise.
14294         * modules/stdio (Makefile.am): Likewise.
14295         * modules/stdlib (Makefile.am): Likewise.
14296         * modules/string (Makefile.am): Likewise.
14297         * modules/strings (Makefile.am): Likewise.
14298         * modules/sys_file (Makefile.am): Likewise.
14299         * modules/sys_ioctl (Makefile.am): Likewise.
14300         * modules/sys_select (Makefile.am): Likewise.
14301         * modules/sys_socket (Makefile.am): Likewise.
14302         * modules/sys_stat (Makefile.am): Likewise.
14303         * modules/sys_time (Makefile.am): Likewise.
14304         * modules/sys_times (Makefile.am): Likewise.
14305         * modules/sys_uio (Makefile.am): Likewise.
14306         * modules/sys_utsname (Makefile.am): Likewise.
14307         * modules/sys_wait (Makefile.am): Likewise.
14308         * modules/sysexits (Makefile.am): Likewise.
14309         * modules/termios (Makefile.am): Likewise.
14310         * modules/time (Makefile.am): Likewise.
14311         * modules/unistd (Makefile.am): Likewise.
14312         * modules/wchar (Makefile.am): Likewise.
14313         * modules/wctype-h (Makefile.am): Likewise.
14314         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14315
14316 2011-05-29  Bruno Haible  <bruno@clisp.org>
14317
14318         assert-h: Allow multiple gnulib generated replacements to coexist.
14319         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14320
14321 2011-05-29  Bruno Haible  <bruno@clisp.org>
14322
14323         argp: Allow coexistence with strerror_r-posix module.
14324         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14325         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14326         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14327         not the glibc signature.
14328
14329 2011-05-28  Bruno Haible  <bruno@clisp.org>
14330
14331         gnulib-tool: Alternative structure of testdirs, similar to --import.
14332         * gnulib-tool: New option --single-configure.
14333         (func_usage): Document it.
14334         (single_configure): New variable.
14335         (func_modules_transitive_closure_separately,
14336         func_modules_transitive_closure_separately,
14337         func_determine_use_libtests, func_modules_add_dummy_separately,
14338         func_modules_to_filelist_separately): New functions, extracted from
14339         func_import.
14340         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14341         (func_import): Use the new functions.
14342         (func_create_testdir): Set final_modules. Handle $single_configure =
14343         true case.
14344
14345 2011-05-28  Bruno Haible  <bruno@clisp.org>
14346
14347         getloadavg: Remove an unreliable safety check.
14348         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14349         getloadavg.c is in place.
14350         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14351         Reported by Sam Steingold <sds@gnu.org>.
14352
14353 2011-05-28  Bruno Haible  <bruno@clisp.org>
14354
14355         doc: Cleanup yet another file produced by texinfo.tex.
14356         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14357
14358 2011-05-28  Bruno Haible  <bruno@clisp.org>
14359
14360         Finish the conditional dependencies mechanism.
14361         * gnulib-tool: New option --no-conditional-dependencies.
14362         (func_usage): Document it. Don't mark --conditional-dependencies as
14363         experimental.
14364         (cond_dependencies): The possible values can now be true, false, empty.
14365         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14366         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14367         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14368
14369 2011-05-28  Bruno Haible  <bruno@clisp.org>
14370
14371         doc: Use a recent texinfo.tex.
14372         * doc/Makefile (tex_opts): New variable.
14373         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14374
14375 2011-05-28  Jim Meyering  <meyering@redhat.com>
14376
14377         intprops.h: adjust comment to match code change
14378         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14379         only once, it *may* have side effects.  Also fix an unrelated typo.
14380         (_GL_INT_SIGNED): Likewise.
14381
14382 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14383
14384         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14385
14386 2011-05-26  Bruno Haible  <bruno@clisp.org>
14387
14388         mbsrchr: Avoid collision with system function on Interix.
14389         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14390         Reported by Markus Duft <mduft@gentoo.org>.
14391
14392 2011-05-15  James Youngman  <jay@gnu.org>
14393
14394         getopt: for ambiguous options, enumerate the possibilities.
14395         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14396         the ambiguous options when an ambiguous prefix is given. This was
14397         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14398         glibc change was
14399         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14400
14401 2011-05-25  Eric Blake  <eblake@redhat.com>
14402
14403         getcwd: work around mingw bug
14404         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14405         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14406         Reported by Matthias Bolte.
14407
14408 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14409
14410         test-intprops: disable -Wtype-limits diagnostics
14411         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14412         diagnostics.  Otherwise, the integer overflow macros generate many
14413         diagnostics.  Reported by Jim Meyering in
14414         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14415
14416         intprops: shorten, to pacify gcc -Woverlength-strings
14417         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14418         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14419         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14420         likely to run afoul of C compiler limits for string constant lengths.
14421         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14422
14423 2011-05-24  Eric Blake  <eblake@redhat.com>
14424
14425         docs: document recently fixed glibc printf bug
14426         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14427         * doc/posix-functions/printf.texi (printf): Likewise.
14428         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14429         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14430
14431         closein-tests: convert to init.sh
14432         * modules/closein-tests (Files): Add init.sh
14433         * tests/test-closein.sh Use it.
14434
14435         yesno-tests: convert to init.sh
14436         * modules/yesno-tests (Files): Add init.sh.
14437         * tests/test-yesno.sh: Use it.
14438
14439         atexit-tests: ensure reliable exit status
14440         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14441         Reported by Bruno Haible.
14442
14443 2011-05-24  Bruno Haible  <bruno@clisp.org>
14444
14445         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14446         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14447         gl_PREREQ_STRERROR_R invocations from here...
14448         * modules/strerror_r-posix (configure.ac): ... to here.
14449
14450 2011-05-24  Eric Blake  <eblake@redhat.com>
14451
14452         strerror_r: fix missing header
14453         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14454
14455         strerror_r: fix AIX test failures
14456         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14457         ERANGE failure.
14458
14459         strerror_r: fix Solaris test failures
14460         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14461         failures.
14462         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14463
14464         strerror_r: enforce POSIX recommendations
14465         * lib/strerror_r.c (safe_copy): New helper method.
14466         (strerror_r): Guarantee a non-empty string.
14467         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14468         recent POSIX rulings and to match our strerror guarantees.
14469         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14470
14471 2011-05-24  Jim Meyering  <meyering@redhat.com>
14472
14473         test-perror2.c: avoid warning about unused variable
14474         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14475
14476 2011-05-24  Eric Blake  <eblake@redhat.com>
14477
14478         perror: avoid spurious test failure on HP-UX
14479         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14480
14481         tests: fix logic bug in init.sh
14482         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14483         shell.
14484
14485 2011-05-24  Jim Meyering  <meyering@redhat.com>
14486
14487         utimensat: do not reference an out-of-scope buffer
14488         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14489         declared in an inner scope, yet "times" would be dereferenced outside
14490         the scope in which "ts" was valid.
14491         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14492         of ts[2] "out/up", so that the use of aliased "times" (via
14493         "times = ts;") does not end up referencing an out-of-scope "ts"
14494
14495         opendir-safer.c: don't clobber errno; don't close negative FD
14496         * lib/opendir-safer.c (opendir_safer):
14497         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14498         file descriptor, and more importantly, don't clobber the
14499         offending errno value with EINVAL.  Before, upon failure
14500         of dup_safer, we would pass the negative file descriptor to
14501         fdopendir, which would clobber errno.
14502
14503 2011-05-23  Bruno Haible  <bruno@clisp.org>
14504
14505         idcache: Fix module description.
14506         * modules/idcache (Include): Set to "idcache.h".
14507
14508 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14509
14510         gnulib-tool: fix portability problem with MacOS sed
14511         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14512         before the "}".  Problem reported by Leo in
14513         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14514         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14515         sed_extract_condition1, sed_extract_condition2.
14516
14517 2011-05-23  Bruno Haible  <bruno@clisp.org>
14518
14519         hash: Simplify autoconf macro.
14520         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14521
14522 2011-05-23  Bruno Haible  <bruno@clisp.org>
14523
14524         getugroups: Fix module description.
14525         * modules/getugroups (Include): Set to "getugroups.h".
14526
14527 2011-05-23  Bruno Haible  <bruno@clisp.org>
14528
14529         linkat: Simplify autoconf macro.
14530         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14531
14532 2011-05-23  Bruno Haible  <bruno@clisp.org>
14533             Eric Blake  <eblake@redhat.com>
14534
14535         linkat, renameat: Update dependencies.
14536         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14537         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14538         symlinkat.
14539
14540 2011-05-23  Jim Meyering  <meyering@redhat.com>
14541
14542         maint.mk: more tight_scope improvements
14543         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14544         (_gl_TS_headers): Define only in if-0'd block.
14545         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14546         sometimes we must *not* use it.  Adjust uses accordingly.
14547         (sc_tight_scope): Use much simpler grep-based test to determine
14548         whether we skip this rule.
14549
14550         maint.mk: generalize/improve the tight-scope rule
14551         * top/maint.mk: Emit a warning when the test is skipped.
14552         (_gl_TS_dir): Add $(srcdir)/ prefix.
14553         (_gl_TS_function_match): Simplify, rather than trying
14554         to enumerate common types.  Otherwise, it would fail to match an
14555         "extern unsigned char const *" declaration in idutils.
14556         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14557         a way to support use of that type of macro.
14558         (_gl_TS_var_match): Simplify regexp.
14559         (_gl_TS_obj_files): New configurable variable.
14560         (_gl_TS_headers): Likewise.
14561
14562 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14563
14564         verify: fix bug when gnulib <assert.h> is also included
14565         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14566         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14567         Perhaps there's a better way, but this fixes the immediate problem.
14568         Problem reported by Bruno Haible in
14569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14570
14571 2011-05-22  Bruno Haible  <bruno@clisp.org>
14572
14573         xgetcwd: Simplify autoconf macro.
14574         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14575
14576 2011-05-22  Bruno Haible  <bruno@clisp.org>
14577
14578         New module 'mktime-internal'.
14579         * modules/mktime-internal: New file.
14580         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14581         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14582         mktime_internal as a C macro if libc has __mktime_internal.
14583         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14584         conditions.
14585         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14586
14587 2011-05-22  Bruno Haible  <bruno@clisp.org>
14588
14589         timegm: Correct mktime replacement statements.
14590         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14591         defining mktime as a C macro. This completes a 2009-07-28 commit.
14592
14593 2011-05-22  Bruno Haible  <bruno@clisp.org>
14594
14595         timegm: Simplify autoconf macro.
14596         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14597
14598 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14599
14600         clock-time: change to LGPLv2+.
14601         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14602         BSD-like but we have no mark for that; this is good enough for now.
14603
14604 2011-05-21  Bruno Haible  <bruno@clisp.org>
14605
14606         strerror_r: Fix comments.
14607         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14608
14609 2011-05-21  Bruno Haible  <bruno@clisp.org>
14610
14611         relocatable-prog-wrapper: Fix possible link error.
14612         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14613         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14614         (gl_FUNC_SETENV): ... to here.
14615         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14616         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14617
14618 2011-05-21  Bruno Haible  <bruno@clisp.org>
14619
14620         relocatable-prog-wrapper: Assume strerror() exists.
14621         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14622         m4/strerror.m4.
14623         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14624         * lib/relocwrapper.c: Remove mention of strerror module.
14625         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14626         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14627         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14628         C macro.
14629
14630 2011-05-21  Bruno Haible  <bruno@clisp.org>
14631
14632         select: Simplify replacement idiom.
14633         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14634         Win32 platforms.
14635         * lib/sys_select.in.h (select): Simplify accordingly.
14636         * modules/select (Depends-on): Likewise.
14637
14638 2011-05-21  Bruno Haible  <bruno@clisp.org>
14639
14640         mkdir-p: Simplify autoconf macro.
14641         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14642         gl_FUNC_LCHOWN.
14643
14644 2011-05-21  Eric Blake  <eblake@redhat.com>
14645
14646         strerror_r: avoid clobbering strerror on cygwin
14647         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14648         fall back instead to sys_errlist.
14649         * modules/strerror (configure.ac): Add witness.
14650         * tests/test-strerror_r.c (main): Enhance test.
14651         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14652         * tests/test-perror2.c (main): Free memory before exit.
14653
14654 2011-05-21  Bruno Haible  <bruno@clisp.org>
14655
14656         mkdtemp: Use gnulib naming conventions.
14657         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14658         * modules/mkdtemp (configure.ac): Update.
14659
14660 2011-05-20  Eric Blake  <eblake@redhat.com>
14661
14662         strerror_r: avoid corrupting errno on Solaris
14663         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14664         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14665
14666         strerror_r: avoid compiler warning
14667         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14668
14669         strerror_r: simplify AIX code
14670         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14671
14672         test-perror: avoid spurious failure on FreeBSD
14673         * modules/perror-tests (Depends-on): Add strerror, now that
14674         strerror_r no longer pulls it in.
14675
14676 2011-05-20  Bruno Haible  <bruno@clisp.org>
14677
14678         strerror_r-posix: Remove unused dependencies.
14679         * modules/strerror_r-posix (Depends-on): Remove strerror.
14680         Reported by Eric Blake.
14681
14682 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14683
14684         intprops: remove assumption about A|B representation
14685         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14686         is a valid integer if both A and B are.  Although this is true for
14687         all known practical hosts, the C standard doesn't guarantee it,
14688         and the code need not assume it.  Also, this change may work around
14689         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14691
14692 2011-05-20  Eric Blake  <eblake@redhat.com>
14693
14694         perror: work around FreeBSD bug
14695         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14696         is broken.  Move AC_LIBOBJ...
14697         * modules/perror (configure.ac): Here.
14698         * doc/posix-functions/perror.texi (perror): Document this.
14699         * tests/test-perror2.c (main): Enhance test.
14700
14701         test-perror: check for strerror interactions
14702         * tests/macros.h (STREQ): Add macro.
14703         * modules/perror-tests (Files): Add second test.
14704         * tests/test-perror2.c (main): New file.
14705         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14706
14707         test-perror: rewrite to use init script
14708         * modules/perror-tests (Files): Add init.sh.
14709         * tests/test-perror.sh: Use temporary directory.
14710
14711 2011-05-20  Jim Meyering  <meyering@redhat.com>
14712
14713         maint: replace misused "a" with "an"
14714         * doc/intprops.texi: "a integer"
14715         * doc/regex.texi: "a explanation"
14716         * lib/alignof.h: "a object"
14717         * lib/argmatch.h: "a explanation"
14718         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14719         * lib/stdint.in.h: "a integer"
14720         * lib/userspec.c: "a owner"
14721         * doc/gnulib.texi: Fix "a idea", and reword.
14722
14723 2011-05-19  Jim Meyering  <meyering@redhat.com>
14724
14725         maint: correct misuse of "a" and "an"
14726         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14727         * lib/argp-help.c: "an docum...": s/an/a/
14728         * lib/argp-parse.c: "An vector": s/An/A/
14729         * lib/execute.c: "an native": s/an/a/
14730         * lib/spawn-pipe.c: Likewise.
14731         * lib/gc.h: "an Gc_rc": s/an/a/
14732         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14733         * lib/fts.c: "an stat.st_dev": s/an/a/
14734
14735 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14736
14737         intprops-tests: work around HP-UX 11.23 cc bug with constants
14738         * tests/test-intprops.c (VERIFY): New macro.
14739         (main): Use it, instead of verify, to work around the compiler bug; see
14740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14741
14742         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14743         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14744         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14745         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14746         (_GL_REMAINDER_OVERFLOW): Use it.
14747
14748         intprops-tests: revert unsigned part of previous change
14749         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14750         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14751         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14752         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14753
14754 2011-05-19  Bruno Haible  <bruno@clisp.org>
14755
14756         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14757         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14758         strerror_r() returned without filling the buffer.
14759         Reported by Eric Blake.
14760
14761 2011-05-19  Eric Blake  <eblake@redhat.com>
14762
14763         strerror_r: guarantee unchanged errno
14764         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14765         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14766         failure.
14767         * tests/test-strerror_r.c (main): Enhance test.
14768
14769 2011-05-19  Bruno Haible  <bruno@clisp.org>
14770
14771         strerror_r: Reorder #if blocks.
14772         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14773         for consistency with the previous commit.
14774
14775 2011-05-19  Bruno Haible  <bruno@clisp.org>
14776
14777         perror: Avoid clobbering the strerror buffer when possible.
14778         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14779         * lib/strerror.c: Include it.
14780         * modules/strerror (Files): Add lib/strerror-impl.h.
14781         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14782         (my_strerror): New function, defined through lib/strerror-impl.h.
14783         (perror): Use it instead of strerror.
14784         * modules/perror (Files): Add lib/strerror-impl.h.
14785         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14786
14787 2011-05-19  Eric Blake  <eblake@redhat.com>
14788
14789         strerror_r: fix on newer cygwin
14790         * lib/strerror_r.c (strerror_r): Cygwin now has
14791         __xpg_strerror_r, use it.
14792
14793 2011-05-19  Bruno Haible  <bruno@clisp.org>
14794
14795         strerror_r: Avoid clobbering the strerror buffer when possible.
14796         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14797         (sys_nerr, sys_errlist): New declarations.
14798         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14799         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14800         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14801
14802 2011-05-19  Bruno Haible  <bruno@clisp.org>
14803
14804         strerror_r: Fix test failure on mingw.
14805         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14806         EXTEND_STRERROR_R.
14807         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14808         macros from errno.in.h instead.
14809
14810 2011-05-19  Eric Blake  <eblake@redhat.com>
14811
14812         strerror: relax test for Solaris
14813         * tests/test-strerror.c (main): Permit Solaris behavior.
14814         * tests/test-strerror_r.c (main): Likewise.
14815
14816         strerror: enforce POSIX ruling on strerror(0)
14817         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14818         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14819         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14820         * doc/posix-functions/strerror.texi (strerror): Document it.
14821         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14822         * tests/test-strerror.c (main): Strengthen test.
14823         * tests/test-strerror_r.c (main): Likewise.
14824
14825 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14826
14827         intprop-tests: port to older and more-pedantic compilers
14828         * modules/intprops-tests (Files): Add tests/macros.h.
14829         * tests/test-intprops.c: Include macros.h.
14830         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14831         it's no longer documented to expand to an integer constant expression.
14832         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14833         argument is floating point, as it's no longer documented to expand
14834         to an integer constant expression in that case.
14835         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14836         compiler bugs reported by Bruno Haible.  See
14837         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14838         (U0, U1): New constants, to work around the same bugs.  Also,
14839         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14840
14841         intprops: work around C compiler bugs
14842         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14843         bug in Sun C 5.11 2010/08/13 and other compilers; see
14844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14845
14846         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14847         * doc/intprops.texi (Integer Type Determination): Fix
14848         documentation for TYPE_IS_INTEGER: it returns an constant
14849         expression, not an integer constant expression.  Fix doc for
14850         TYPE_SIGNED: it returns an integer constant expression only if its
14851         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14852         hardly worth documented that way....)
14853
14854 2011-05-18  Bruno Haible  <bruno@clisp.org>
14855
14856         strerror_r: Avoid clobbering the strerror buffer when possible.
14857         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14858         Handle gnulib defined errno values here. When strerror() returns NULL
14859         or an empty string, return EINVAL.
14860         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14861         gnulib defined errno values here.
14862         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14863
14864 2011-05-18  Eric Blake  <eblake@redhat.com>
14865
14866         fnmatch: avoid compiler warning
14867         * lib/fnmatch_loop.c (FCT): Use correct type.
14868         Reported by Matthias Bolte.
14869
14870 2011-05-13  Jim Meyering  <meyering@redhat.com>
14871
14872         maint.mk: three new prohibit_<HDR>_without_use rules
14873         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14874         (sc_prohibit_stdio-safer_without_use): Likewise.
14875         (sc_prohibit_xfreopen_without_use): Likewise.
14876
14877 2011-05-17  Jim Meyering  <meyering@redhat.com>
14878
14879         announce-gen: fail if the NEWS delta is empty
14880         If there's nothing noteworthy in NEWS, then either you forgot
14881         or you shouldn't be releasing.
14882         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14883
14884 2011-05-17  Pádraig Brady <P@draigBrady.com>
14885
14886         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14887         reserved symbols starting with double underscore from the check.
14888
14889 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14890
14891         intprops: add doc
14892         * doc/intprops.texi: New file, documenting intprops.
14893         * doc/gnulib.texi (Particular Modules): Include it.
14894
14895         verify: add doc to gnulib manual and fix example
14896         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14897         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14898         (Compile-time Assertions): Fix example so it can't overflow.
14899
14900 2011-05-17  Jim Meyering  <meyering@redhat.com>
14901
14902         warnings.m4: don't usurp save_CPPFLAGS variable name
14903         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14904
14905         doc: fix typo
14906         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14907
14908 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14909             Bruno Haible  <bruno@clisp.org>
14910
14911         doc: Tweak recent change.
14912         * README (Portability guidelines): Tweak new text.
14913         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14914         Interix 6.1.
14915
14916 2011-05-16  Eric Blake  <eblake@redhat.com>
14917
14918         inttypes: avoid autoconf warning
14919         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14920         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14921
14922 2011-05-16  Sam Steingold <sds@gnu.org>
14923         and Eric Blake  <eblake@redhat.com>
14924
14925         vc-list-files: accept multiple directory operands
14926         * build-aux/vc-list-files: Iterate over all remaining operands.
14927
14928 2011-05-16  Bruno Haible  <bruno@clisp.org>
14929
14930         Fix confusion regarding deprecated modules.
14931         * modules/calloc (Status, Notice): Mark module as deprecated, not
14932         obsolete.
14933         * modules/fnmatch-posix (Status, Notice): Likewise.
14934         * modules/getdate (Status, Notice): Likewise.
14935         * modules/getopt (Status, Notice): Likewise.
14936         * modules/malloc (Status, Notice): Likewise.
14937         * modules/pipe (Status, Notice): Likewise.
14938         * modules/realloc (Status, Notice): Likewise.
14939         * modules/rename-dest-slash (Status, Notice): Likewise.
14940         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14941         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14942         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14943         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14944         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14945
14946 2011-05-16  Bruno Haible  <bruno@clisp.org>
14947
14948         doc: List the target platforms.
14949         * doc/gnulib-intro.texi (Target Platforms): New section.
14950         * doc/gnulib.texi (Introduction): Update menu.
14951         * README (Portability guidelines): Refer to the new section. Update
14952         statement about oldest supported environment. Remove rationale why
14953         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14954         unportable C89 function.
14955         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14956         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14957
14958 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14959
14960         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14961
14962 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14963
14964         intprops-tests: new module
14965         * modules/intprops-tests, tests/test-intprops.c: New files.
14966
14967         intprops: add safe, portable integer overflow checking
14968         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14969         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14970         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14971         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14972         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14973         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14974         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14975         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14976         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14977         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14978         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14979
14980 2011-05-12  James Youngman  <jay@gnu.org>
14981
14982         Add a test for glibc's Bugzilla bug #12378.
14983         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14984         doesn't allow the literal matching of a lone "[" (which is
14985         required by POSIX).
14986         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14987
14988 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14989
14990         Sync glibc change fixing Bugzilla bug #12378.
14991         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14992         beginning and fall back to matching as normal character if the
14993         string ends before the matching ']' is found.  This is what POSIX
14994         requires.
14995
14996 2011-05-13  Eric Blake  <eblake@redhat.com>
14997
14998         getcwd-lgpl: relax test for FreeBSD
14999         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15000         issue.
15001         * tests/test-getcwd-lgpl.c (main): Relax test.
15002         Reported by Matthias Bolte.
15003
15004 2011-05-11  Eric Blake  <eblake@redhat.com>
15005
15006         test-fflush: silence compiler warning
15007         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15008
15009 2011-05-11  Bruno Haible  <bruno@clisp.org>
15010
15011         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15012         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15013         * modules/canonicalize (Depends-on): Add 'nocrash'.
15014         * modules/canonicalize-lgpl (Depends-on): Likewise.
15015         * doc/posix-functions/realpath.texi: Update platforms list.
15016         Reported by Ryan Schmidt <ryandesign@macports.org>.
15017
15018 2011-05-11  Bruno Haible  <bruno@clisp.org>
15019
15020         group-member: Declare function in <unistd.h>.
15021         * lib/unistd.in.h (group_member): New declaration.
15022         * lib/group-member.h: Remove file.
15023         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15024         * tests/test-unistd-c++.cc: Check signature of group_member.
15025         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15026         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15027         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15028         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15029         HAVE_GROUP_MEMBER.
15030         * modules/group-member (Files): Remove lib/group-member.h.
15031         (Depends-on): Add unistd. Specify conditions.
15032         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15033         (Include): Change to <unistd.h>.
15034         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15035         HAVE_GROUP_MEMBER.
15036         * NEWS: Mention the change.
15037         * lib/euidaccess.c: Don't include group-member.h.
15038
15039 2011-05-11  Bruno Haible  <bruno@clisp.org>
15040
15041         group-member: Document module.
15042         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15043         module.
15044
15045 2011-05-11  Bruno Haible  <bruno@clisp.org>
15046
15047         fclose: Fix mistake earlier today.
15048         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15049
15050 2011-05-11  Eric Blake  <eblake@redhat.com>
15051
15052         fclose: preserve fflush errors
15053         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15054         Reported by Jim Meyering.
15055
15056         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15057         * build-aux/bootstrap (check_versions): When no specific version
15058         is required, merely check that the app produces an exit status
15059         that indicates its existence.
15060
15061         maint.mk: drop redundant check
15062         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15063         the same but better.
15064
15065 2011-05-11  Bruno Haible  <bruno@clisp.org>
15066
15067         fclose: Fix possible link error.
15068         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15069         unregister_shadow_fd. Improve comments.
15070         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15071         Eric Blake.
15072
15073 2011-05-11  Jim Meyering  <meyering@redhat.com>
15074
15075         maint.mk: improve "can not" detection and generalize rule name
15076         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15077         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15078         Use the same technique as in sc_prohibit_doubled_word, so that
15079         we recognize "can not" also when the words are separated by a newline.
15080         Suggested by Eric Blake.
15081         (perl_filename_lineno_text_): Define.  Factored out of...
15082         (prohibit_doubled_word_): ...here.  Use the new definition.
15083         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15084         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15085         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15086
15087 2011-05-10  Eric Blake  <eblake@redhat.com>
15088
15089         fclose: avoid double close race when possible
15090         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15091         all but WINDOWS_SOCKETS.
15092
15093 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15094
15095         openat: correct new comment
15096         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15097
15098 2011-05-10  Jim Meyering  <meyering@redhat.com>
15099
15100         openat: add comments
15101         * lib/openat-proc.c (openat_proc_name): Add comments,
15102         mostly from Eric Blake.
15103
15104 2011-05-09  Eric Blake  <eblake@redhat.com>
15105
15106         openat: reduce syscalls in first probe of /proc
15107         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15108         be a directory.  Simplify the probe for .. bugs.
15109         * modules/openat (Depends-on): Drop same-inode.
15110         Reported by Bastien ROUCARIES.
15111
15112 2011-05-09  Jim Meyering  <meyering@redhat.com>
15113
15114         maint.mk: change semantics/name of tight_scope variables
15115         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15116         Rename variables to align with semantics that make them more useful.
15117
15118         maint.mk: tweak new rule's name not to impinge
15119         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15120         (sc_tight_scope): Use new rule name rather than $@-0.
15121
15122         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15123         * top/maint.mk (sc_tight_scope): New rule.
15124         (sc_tight_scope-0): New rule, ifdef'd out.
15125         (_gl_TS_dir): Default.
15126         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15127         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15128
15129 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15130
15131         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15132         Haible <bruno@clisp.org>.
15133
15134 2011-05-08  Bruno Haible  <bruno@clisp.org>
15135
15136         Comments.
15137         * m4/isnanf.m4: Add comment.
15138         * m4/isnanl.m4: Likewise.
15139
15140 2011-05-08  Bruno Haible  <bruno@clisp.org>
15141
15142         glob: Remove obsolete macro.
15143         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15144
15145 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15146
15147         intprops: Sun C 5.11 supports __typeof__
15148         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15149         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15150         which is new.
15151         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15152
15153         intprops: switch to usual gnulib indenting and naming
15154         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15155         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15156
15157         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15158
15159 2011-05-08  Jim Meyering  <meyering@redhat.com>
15160
15161         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15162         * top/maint.mk (release-prep): Use make's --no-print-directory
15163         option when generating the announcement.  This eliminates the
15164         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15165         generated announcement template.
15166
15167 2011-05-08  Bruno Haible  <bruno@clisp.org>
15168
15169         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15170         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15171         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15172
15173 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15174
15175         ignore-value, verify: Omit include files from lib_SOURCES.
15176         * modules/ignore-value, modules/verify (Makefile.am):
15177         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15178         that leads Automake to duplicate use of am__objects_... variables
15179         in Makefile.in.  See
15180         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15181
15182 2011-05-07  Bruno Haible  <bruno@clisp.org>
15183
15184         fclose: Simplify autoconf macro.
15185         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15186         defined.
15187
15188 2011-05-07  Bruno Haible  <bruno@clisp.org>
15189
15190         canonicalize-lgpl: Fix autoconf macro ordering bug.
15191         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15192         gl_STDLIB_H_DEFAULTS.
15193
15194 2011-05-06  Eric Blake  <eblake@redhat.com>
15195
15196         maintainer-makefile: make sc_po_check easier to tune
15197         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15198         to probe for strings, such as an alternate location for gnulib.
15199
15200         fclose: guarantee behavior on seekable stdin
15201         * modules/fclose (Depends-on): Add fflush.
15202         * doc/posix-functions/fclose.texi (fclose): Document this.
15203         * tests/test-fclose.c (main): Make test for this unconditional.
15204
15205 2011-05-06  Bruno Haible  <bruno@clisp.org>
15206
15207         fflush, fpurge: Relicense under LGPLv2+.
15208         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15209         * modules/fpurge (License): Likewise.
15210         With permission from Eric Blake and Jim Meyering.
15211         Suggested by Eric Blake.
15212
15213 2011-05-06  Karl Berry  <karl@gnu.org>
15214
15215         * MODULES.html.sh (func_all_modules): remove exit.
15216
15217 2011-05-06  Jim Meyering  <meyering@redhat.com>
15218
15219         maint.mk: use info-gnu@ as the default only for a stable release
15220         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15221         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15222         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15223         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15224
15225 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15226
15227         assert-h: new module, which supports C1X-style static_assert
15228         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15229         * lib/verify.h: Revamp so that this can be copied into assert.h,
15230         while retaining the ability to use it standalone as before.
15231         Rename private identifiers so as not to encroach on the
15232         standard C namespace, since this is now used by assert.h.
15233         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15234         the old verify_true.
15235         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15236         the old verify_true.  Use _GL_VERIFY_TYPE.
15237         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15238         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15239         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15240         defined when this file is copied into the replacement assert.h.
15241         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15242         and _Static_assert is not built in.
15243         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15244         defined, and use the new macros mentioned above.
15245         * doc/posix-headers/assert.texi: Document this.
15246
15247 2011-05-05  Bruno Haible  <bruno@clisp.org>
15248
15249         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15250         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15251         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15252         gl_REPLACE_FCLOSE here.
15253         * modules/fflush (Depends-on): Remove fclose.
15254         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15255         combination with module 'fclose'.
15256
15257 2011-05-05  Bruno Haible  <bruno@clisp.org>
15258
15259         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15260         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15261         gl_FUNC_FFLUSH.
15262         (gl_FUNC_FFLUSH): Use it.
15263         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15264         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15265         gl_REPLACE_FSEEKO here.
15266
15267 2011-05-05  Bruno Haible  <bruno@clisp.org>
15268
15269         tzset: Relicense under LGPL.
15270         * modules/tzset (License): Change to LGPL.
15271         No agreement needed; it's a no-op.
15272
15273         strtoimax, strtoumax: Relicense under LGPL.
15274         * modules/strtoimax (License): Change to LGPL.
15275         * modules/strtoumax (License): Likewise.
15276         With permission from Jim Meyering, Paul Eggert:
15277         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15278         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15279
15280         getgroups: Relicense under LGPL.
15281         * modules/getgroups (License): Change to LGPL.
15282         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15283         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15286
15287         nanosleep: Relicense under LGPL.
15288         * modules/nanosleep (License): Change to LGPL.
15289         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15290         Haible:
15291         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15293         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15295
15296         futimens: Relicense under LGPL.
15297         * modules/futimens (License): Change to LGPL.
15298         With permission from Eric Blake:
15299         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15300
15301         fflush: Relicense under LGPL.
15302         * modules/fflush (License): Change to LGPL.
15303         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15307
15308         tmpfile: Relicense under LGPL.
15309         * modules/tmpfile (License): Change to LGPL.
15310         With permission from Ben Pfaff:
15311         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15312
15313         isfinite: Relicense under LGPL.
15314         * modules/isfinite (License): Change to LGPL.
15315         With permission from Ben Pfaff, Bruno Haible:
15316         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15318
15319         acosl..tanl: Relicense under LGPL.
15320         * modules/acosl (License): Change to LGPL.
15321         * modules/asinl (License): Likewise.
15322         * modules/atanl (License): Likewise.
15323         * modules/cosl (License): Likewise.
15324         * modules/expl (License): Likewise.
15325         * modules/logl (License): Likewise.
15326         * modules/sinl (License): Likewise.
15327         * modules/sqrtl (License): Likewise.
15328         * modules/tanl (License): Likewise.
15329         Source code originally from glibc and Paolo Bonzini. Agreements:
15330         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15332
15333 2011-05-05  Bruno Haible  <bruno@clisp.org>
15334
15335         signal: Define sighandler_t.
15336         * lib/signal.in.h (sighandler_t): New type.
15337         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15338         whether sighandler_t is defined.
15339         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15340         * modules/signal (Depends-on): Add extensions.
15341         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15342         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15343         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15344
15345 2011-05-05  Eric Blake  <eblake@redhat.com>
15346
15347         maint: remove useless REPLACE_*_H macros
15348         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15349         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15350         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15351         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15352         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15353         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15354         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15355         * m4/btowc.m4: Update callers.
15356         * m4/dirfd.m4: Likewise.
15357         * m4/duplocale.m4: Likewise.
15358         * m4/fchdir.m4: Likewise.
15359         * m4/fdopendir.m4: Likewise.
15360         * m4/inet_ntop.m4: Likewise.
15361         * m4/inet_pton.m4: Likewise.
15362         * m4/ioctl.m4: Likewise.
15363         * m4/mbrlen.m4: Likewise.
15364         * m4/mbrtowc.m4: Likewise.
15365         * m4/mbsinit.m4: Likewise.
15366         * m4/mbsnrtowcs.m4: Likewise.
15367         * m4/mbsrtowcs.m4: Likewise.
15368         * m4/poll.m4: Likewise.
15369         * m4/setlocale.m4: Likewise.
15370         * m4/wcrtomb.m4: Likewise.
15371         * m4/wcsnrtombs.m4: Likewise.
15372         * m4/wcsrtombs.m4: Likewise.
15373         * m4/wctob.m4: Likewise.
15374         * m4/wcwidth.m4: Likewise.
15375         * modules/posix_spawn: Likewise.
15376         * modules/posix_spawn_file_actions_addclose: Likewise.
15377         * modules/posix_spawn_file_actions_adddup2: Likewise.
15378         * modules/posix_spawn_file_actions_addopen: Likewise.
15379         * modules/posix_spawn_file_actions_destroy: Likewise.
15380         * modules/posix_spawn_file_actions_init: Likewise.
15381         * modules/posix_spawnattr_destroy: Likewise.
15382         * modules/posix_spawnattr_getflags: Likewise.
15383         * modules/posix_spawnattr_getpgroup: Likewise.
15384         * modules/posix_spawnattr_getschedparam: Likewise.
15385         * modules/posix_spawnattr_getschedpolicy: Likewise.
15386         * modules/posix_spawnattr_getsigdefault: Likewise.
15387         * modules/posix_spawnattr_getsigmask: Likewise.
15388         * modules/posix_spawnattr_init: Likewise.
15389         * modules/posix_spawnattr_setflags: Likewise.
15390         * modules/posix_spawnattr_setpgroup: Likewise.
15391         * modules/posix_spawnattr_setschedparam: Likewise.
15392         * modules/posix_spawnattr_setschedpolicy: Likewise.
15393         * modules/posix_spawnattr_setsigdefault: Likewise.
15394         * modules/posix_spawnattr_setsigmask: Likewise.
15395         * modules/posix_spawnp: Likewise.
15396
15397 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15398
15399         Add option to do-release-commit-and-tag to specify branch.
15400         * build-aux/do-release-commit-and-tag: Add --branch.
15401
15402 2011-05-03  Bruno Haible  <bruno@clisp.org>
15403
15404         Avoid unnecessary compilation units, through conditional dependencies.
15405         * modules/accept (Depends-on): Add conditions to the dependencies.
15406         * modules/acosl (Depends-on): Likewise.
15407         * modules/argz (Depends-on): Likewise.
15408         * modules/asinl (Depends-on): Likewise.
15409         * modules/atanl (Depends-on): Likewise.
15410         * modules/atoll (Depends-on): Likewise.
15411         * modules/bind (Depends-on): Likewise.
15412         * modules/btowc (Depends-on): Likewise.
15413         * modules/canonicalize-lgpl (Depends-on): Likewise.
15414         * modules/ceil (Depends-on): Likewise.
15415         * modules/ceilf (Depends-on): Likewise.
15416         * modules/ceill (Depends-on): Likewise.
15417         * modules/chdir-long (Depends-on): Likewise.
15418         * modules/chown (Depends-on): Likewise.
15419         * modules/close (Depends-on): Likewise.
15420         * modules/connect (Depends-on): Likewise.
15421         * modules/cosl (Depends-on): Likewise.
15422         * modules/dirfd (Depends-on): Likewise.
15423         * modules/dprintf (Depends-on): Likewise.
15424         * modules/dprintf-posix (Depends-on): Likewise.
15425         * modules/error (Depends-on): Likewise.
15426         * modules/euidaccess (Depends-on): Likewise.
15427         * modules/expl (Depends-on): Likewise.
15428         * modules/faccessat (Depends-on): Likewise.
15429         * modules/fchdir (Depends-on): Likewise.
15430         * modules/fclose (Depends-on): Likewise.
15431         * modules/fcntl (Depends-on): Likewise.
15432         * modules/fdopendir (Depends-on): Likewise.
15433         * modules/fflush (Depends-on): Likewise.
15434         * modules/floor (Depends-on): Likewise.
15435         * modules/floorf (Depends-on): Likewise.
15436         * modules/floorl (Depends-on): Likewise.
15437         * modules/fnmatch (Depends-on): Likewise.
15438         * modules/fopen (Depends-on): Likewise.
15439         * modules/fprintf-posix (Depends-on): Likewise.
15440         * modules/frexp (Depends-on): Likewise.
15441         * modules/frexp-nolibm (Depends-on): Likewise.
15442         * modules/frexpl (Depends-on): Likewise.
15443         * modules/frexpl-nolibm (Depends-on): Likewise.
15444         * modules/fseek (Depends-on): Likewise.
15445         * modules/fsusage (Depends-on): Likewise.
15446         * modules/ftell (Depends-on): Likewise.
15447         * modules/ftello (Depends-on): Likewise.
15448         * modules/futimens (Depends-on): Likewise.
15449         * modules/getcwd (Depends-on): Likewise.
15450         * modules/getcwd-lgpl (Depends-on): Likewise.
15451         * modules/getdelim (Depends-on): Likewise.
15452         * modules/getdomainname (Depends-on): Likewise.
15453         * modules/getgroups (Depends-on): Likewise.
15454         * modules/gethostname (Depends-on): Likewise.
15455         * modules/getline (Depends-on): Likewise.
15456         * modules/getlogin_r (Depends-on): Likewise.
15457         * modules/getopt-posix (Depends-on): Likewise.
15458         * modules/getpeername (Depends-on): Likewise.
15459         * modules/getsockname (Depends-on): Likewise.
15460         * modules/getsockopt (Depends-on): Likewise.
15461         * modules/getsubopt (Depends-on): Likewise.
15462         * modules/getusershell (Depends-on): Likewise.
15463         * modules/glob (Depends-on): Likewise.
15464         * modules/grantpt (Depends-on): Likewise.
15465         * modules/iconv_open (Depends-on): Likewise.
15466         * modules/iconv_open-utf (Depends-on): Likewise.
15467         * modules/inet_ntop (Depends-on): Likewise.
15468         * modules/inet_pton (Depends-on): Likewise.
15469         * modules/ioctl (Depends-on): Likewise.
15470         * modules/isapipe (Depends-on): Likewise.
15471         * modules/isfinite (Depends-on): Likewise.
15472         * modules/isinf (Depends-on): Likewise.
15473         * modules/lchown (Depends-on): Likewise.
15474         * modules/ldexpl (Depends-on): Likewise.
15475         * modules/link (Depends-on): Likewise.
15476         * modules/linkat (Depends-on): Likewise.
15477         * modules/listen (Depends-on): Likewise.
15478         * modules/logl (Depends-on): Likewise.
15479         * modules/lstat (Depends-on): Likewise.
15480         * modules/mbrlen (Depends-on): Likewise.
15481         * modules/mbrtowc (Depends-on): Likewise.
15482         * modules/mbsinit (Depends-on): Likewise.
15483         * modules/mbsnrtowcs (Depends-on): Likewise.
15484         * modules/mbsrtowcs (Depends-on): Likewise.
15485         * modules/mbtowc (Depends-on): Likewise.
15486         * modules/memcmp (Depends-on): Likewise.
15487         * modules/mkdir (Depends-on): Likewise.
15488         * modules/mkdtemp (Depends-on): Likewise.
15489         * modules/mkfifo (Depends-on): Likewise.
15490         * modules/mkfifoat (Depends-on): Likewise.
15491         * modules/mknod (Depends-on): Likewise.
15492         * modules/mkostemp (Depends-on): Likewise.
15493         * modules/mkostemps (Depends-on): Likewise.
15494         * modules/mkstemp (Depends-on): Likewise.
15495         * modules/mkstemps (Depends-on): Likewise.
15496         * modules/mktime (Depends-on): Likewise.
15497         * modules/nanosleep (Depends-on): Likewise.
15498         * modules/open (Depends-on): Likewise.
15499         * modules/openat (Depends-on): Likewise.
15500         * modules/perror (Depends-on): Likewise.
15501         * modules/poll (Depends-on): Likewise.
15502         * modules/popen (Depends-on): Likewise.
15503         * modules/posix_spawn (Depends-on): Likewise.
15504         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15505         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15506         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15507         * modules/posix_spawnp (Depends-on): Likewise.
15508         * modules/pread (Depends-on): Likewise.
15509         * modules/printf-posix (Depends-on): Likewise.
15510         * modules/ptsname (Depends-on): Likewise.
15511         * modules/putenv (Depends-on): Likewise.
15512         * modules/pwrite (Depends-on): Likewise.
15513         * modules/readline (Depends-on): Likewise.
15514         * modules/readlink (Depends-on): Likewise.
15515         * modules/readlinkat (Depends-on): Likewise.
15516         * modules/recv (Depends-on): Likewise.
15517         * modules/recvfrom (Depends-on): Likewise.
15518         * modules/regex (Depends-on): Likewise.
15519         * modules/remove (Depends-on): Likewise.
15520         * modules/rename (Depends-on): Likewise.
15521         * modules/renameat (Depends-on): Likewise.
15522         * modules/rmdir (Depends-on): Likewise.
15523         * modules/round (Depends-on): Likewise.
15524         * modules/roundf (Depends-on): Likewise.
15525         * modules/roundl (Depends-on): Likewise.
15526         * modules/rpmatch (Depends-on): Likewise.
15527         * modules/select (Depends-on): Likewise.
15528         * modules/send (Depends-on): Likewise.
15529         * modules/sendto (Depends-on): Likewise.
15530         * modules/setenv (Depends-on): Likewise.
15531         * modules/setlocale (Depends-on): Likewise.
15532         * modules/setsockopt (Depends-on): Likewise.
15533         * modules/shutdown (Depends-on): Likewise.
15534         * modules/sigaction (Depends-on): Likewise.
15535         * modules/signbit (Depends-on): Likewise.
15536         * modules/sigprocmask (Depends-on): Likewise.
15537         * modules/sinl (Depends-on): Likewise.
15538         * modules/sleep (Depends-on): Likewise.
15539         * modules/snprintf (Depends-on): Likewise.
15540         * modules/snprintf-posix (Depends-on): Likewise.
15541         * modules/socket (Depends-on): Likewise.
15542         * modules/sprintf-posix (Depends-on): Likewise.
15543         * modules/sqrtl (Depends-on): Likewise.
15544         * modules/stat (Depends-on): Likewise.
15545         * modules/strchrnul (Depends-on): Likewise.
15546         * modules/strdup-posix (Depends-on): Likewise.
15547         * modules/strerror (Depends-on): Likewise.
15548         * modules/strerror_r-posix (Depends-on): Likewise.
15549         * modules/strndup (Depends-on): Likewise.
15550         * modules/strnlen (Depends-on): Likewise.
15551         * modules/strptime (Depends-on): Likewise.
15552         * modules/strsep (Depends-on): Likewise.
15553         * modules/strsignal (Depends-on): Likewise.
15554         * modules/strstr-simple (Depends-on): Likewise.
15555         * modules/strtod (Depends-on): Likewise.
15556         * modules/strtoimax (Depends-on): Likewise.
15557         * modules/strtok_r (Depends-on): Likewise.
15558         * modules/strtoumax (Depends-on): Likewise.
15559         * modules/symlink (Depends-on): Likewise.
15560         * modules/symlinkat (Depends-on): Likewise.
15561         * modules/tanl (Depends-on): Likewise.
15562         * modules/tcgetsid (Depends-on): Likewise.
15563         * modules/tmpfile (Depends-on): Likewise.
15564         * modules/trunc (Depends-on): Likewise.
15565         * modules/truncf (Depends-on): Likewise.
15566         * modules/truncl (Depends-on): Likewise.
15567         * modules/uname (Depends-on): Likewise.
15568         * modules/unlink (Depends-on): Likewise.
15569         * modules/unlockpt (Depends-on): Likewise.
15570         * modules/unsetenv (Depends-on): Likewise.
15571         * modules/usleep (Depends-on): Likewise.
15572         * modules/utimensat (Depends-on): Likewise.
15573         * modules/vasprintf (Depends-on): Likewise.
15574         * modules/vdprintf (Depends-on): Likewise.
15575         * modules/vdprintf-posix (Depends-on): Likewise.
15576         * modules/vfprintf-posix (Depends-on): Likewise.
15577         * modules/vprintf-posix (Depends-on): Likewise.
15578         * modules/vsnprintf (Depends-on): Likewise.
15579         * modules/vsnprintf-posix (Depends-on): Likewise.
15580         * modules/vsprintf-posix (Depends-on): Likewise.
15581         * modules/wcrtomb (Depends-on): Likewise.
15582         * modules/wcscasecmp (Depends-on): Likewise.
15583         * modules/wcscspn (Depends-on): Likewise.
15584         * modules/wcsdup (Depends-on): Likewise.
15585         * modules/wcsncasecmp (Depends-on): Likewise.
15586         * modules/wcsnrtombs (Depends-on): Likewise.
15587         * modules/wcspbrk (Depends-on): Likewise.
15588         * modules/wcsrtombs (Depends-on): Likewise.
15589         * modules/wcsspn (Depends-on): Likewise.
15590         * modules/wcsstr (Depends-on): Likewise.
15591         * modules/wcstok (Depends-on): Likewise.
15592         * modules/wcswidth (Depends-on): Likewise.
15593         * modules/wctob (Depends-on): Likewise.
15594         * modules/wctomb (Depends-on): Likewise.
15595         * modules/wctype (Depends-on): Likewise.
15596         * modules/wcwidth (Depends-on): Likewise.
15597         * modules/write (Depends-on): Likewise.
15598
15599 2011-05-03  Bruno Haible  <bruno@clisp.org>
15600
15601         Support for conditional dependencies.
15602         * doc/gnulib.texi (Module description): Document the syntax of
15603         conditional dependencies.
15604         * gnulib-tool: New option --conditional-dependencies.
15605         (func_usage): Document it.
15606         (cond_dependencies): New variable.
15607         (func_get_automake_snippet_conditional,
15608         func_get_automake_snippet_unconditional): New functions, extracted from
15609         func_get_automake_snippet.
15610         (func_get_automake_snippet): Use them.
15611         (sed_first_32_chars): New variable.
15612         (func_module_shellfunc_name): New function.
15613         (func_module_shellvar_name): New function.
15614         (func_module_conditional_name): New function.
15615         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15616         func_cond_module_condition): New functions.
15617         (func_modules_transitive_closure): Add support for conditional
15618         dependencies.
15619         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15620         conditional automake snippet in an automake conditional.
15621         (func_emit_autoconf_snippets): Emit shell functions that contain the
15622         code for conditional modules.
15623         (func_import, func_create_testdir): Update specification.
15624
15625 2011-05-03  Eric Blake  <eblake@redhat.com>
15626
15627         test-getaddrinfo: report error information
15628         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15629
15630 2011-05-03  Jim Meyering  <meyering@redhat.com>
15631
15632         bootstrap: avoid build failure when $GZIP is set
15633         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15634         program name.  If defined at all, it is supposed to list gzip options.
15635         Reported by Alan Curry in http://debbugs.gnu.org/8609
15636
15637 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15638
15639         readme-release: new module with release instructions
15640         * modules/readme-release: New module.
15641         * top/README-release: New file, from coreutils, grep, diffutils.
15642         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15643
15644 2011-05-02  Eric Blake  <eblake@redhat.com>
15645
15646         fflush: also replace fclose when fixing fflush
15647         * modules/fflush (Depends-on): Add fclose.
15648         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15649         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15650         memstreams with no backing fd.
15651         * doc/posix-functions/fclose.texi (fclose): Document the use of
15652         fflush module to fix the bug.
15653         * tests/test-fclose.c (main): Relax test when fclose is used in
15654         isolation.
15655
15656         fclose: add some tests
15657         * modules/fclose-tests: New test module.
15658         * tests/test-fclose.c: New file.
15659         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15660
15661         fclose: reduced dependencies
15662         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15663         simpler lseek.
15664         * lib/fclose.c (rpl_fclose): Likewise.
15665         Reported by Simon Josefsson.
15666
15667         exit: drop remaining clients
15668         * modules/argmatch (Depends-on): Replace exit with stdlib.
15669         * modules/copy-file (Depends-on): Likewise.
15670         * modules/execute (Depends-on): Likewise.
15671         * modules/exitfail (Depends-on): Likewise.
15672         * modules/obstack (Depends-on): Likewise.
15673         * modules/pagealign_alloc (Depends-on): Likewise.
15674         * modules/pipe-filter-gi (Depends-on): Likewise.
15675         * modules/pipe-filter-ii (Depends-on): Likewise.
15676         * modules/savewd (Depends-on): Likewise.
15677         * modules/spawn-pipe (Depends-on): Likewise.
15678         * modules/wait-process (Depends-on): Likewise.
15679         * modules/xsetenv (Depends-on): Likewise.
15680         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15681         * modules/git-merge-changelog (Depends-on): Likewise.
15682         * modules/long-options (Depends-on): Likewise.
15683         * modules/pt_chown (Depends-on): Likewise.
15684         * modules/sysexits (Depends-on): Likewise.
15685
15686         freading: relax license from LGPLv3+ to LGPLv2+
15687         * modules/freading (License): Relax LGPL version.
15688
15689 2011-05-02  Bruno Haible  <bruno@clisp.org>
15690
15691         fchdir: Remove unused dependencies.
15692         * modules/fchdir (Depends-on): Remove include_next.
15693
15694 2011-05-02  Bruno Haible  <bruno@clisp.org>
15695
15696         gnulib-tool: Refactor.
15697         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15698         from func_emit_autoconf_snippets.
15699         (func_emit_autoconf_snippets): Use it.
15700
15701 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15702
15703         * NEWS: Document removal of 'exit'.
15704         * modules/exit: Remove file.
15705
15706 2011-05-01  Bruno Haible  <bruno@clisp.org>
15707
15708         Update DEPENDENCIES.
15709         * DEPENDENCIES (gettext): Recommend the newest release.
15710         Reported by Simon Josefsson.
15711
15712 2011-05-01  Bruno Haible  <bruno@clisp.org>
15713
15714         gnulib-tool: Reduce code duplication.
15715         * gnulib-tool (func_emit_autoconf_snippets): New function.
15716         (func_import, func_create_testdir): Use it.
15717
15718 2011-04-30  Eric Blake  <eblake@redhat.com>
15719
15720         fclose: don't fail on non-seekable input stream
15721         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15722         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15723         since fflush is allowed to fail in that case.
15724
15725 2011-04-30  Bruno Haible  <bruno@clisp.org>
15726
15727         dup3: cleanup
15728         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15729
15730 2011-04-30  Bruno Haible  <bruno@clisp.org>
15731
15732         netdb: Make it work in C++ mode.
15733         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15734         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15735         module.
15736         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15737         gl_MODULE_INDICATOR_FOR_TESTS.
15738         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15739         * modules/netdb-c++-tests: New file.
15740         * tests/test-netdb-c++.cc: New file.
15741
15742 2011-04-30  Bruno Haible  <bruno@clisp.org>
15743
15744         New modules 'vfscanf', 'vscanf'.
15745         * modules/vfscanf: New file.
15746         * modules/vscanf: New file.
15747         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15748         here.
15749         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15750         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15751
15752 2011-04-30  Bruno Haible  <bruno@clisp.org>
15753
15754         passfd: Add comments.
15755         * lib/passfd.c: Add comments about platforms.
15756
15757 2011-04-30  Bruno Haible  <bruno@clisp.org>
15758
15759         sys_uio: Make <sys/uio.h> self-contained.
15760         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15761         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15762
15763 2011-04-30  Bruno Haible  <bruno@clisp.org>
15764
15765         sys_socket: Ensure 'struct iovec' definition.
15766         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15767         <sys/socket.h>.
15768         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15769
15770 2011-04-30  Bruno Haible  <bruno@clisp.org>
15771
15772         sys_uio: Protect definition of 'struct iovec'.
15773         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15774         it as a C struct.
15775
15776 2011-04-30  Bruno Haible  <bruno@clisp.org>
15777
15778         manywarnings: fix indentation
15779         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15780
15781 2011-04-30  Pádraig Brady <P@draigBrady.com>
15782
15783         manywarnings: add -Wno-missing-field-initializers if needed.
15784         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15785         option if it's needed to allow initialization with { 0, }
15786
15787 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15788
15789         announce-gen: cosmetic improvement
15790         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15791
15792 2011-04-29  Jim Meyering  <meyering@redhat.com>
15793
15794         vc-list-files: indent with spaces, not TABs
15795         * build-aux/vc-list-files: Convert leading TABs to spaces,
15796         to match the style of most other files in gnulib.
15797
15798         announce-gen: indent with spaces, not TABs
15799         * build-aux/announce-gen: Convert all TABs to spaces, to match
15800         the style of most other files in gnulib.
15801
15802 2011-04-29  Eric Blake  <eblake@redhat.com>
15803
15804         quotearg: avoid uninitialized variable use
15805         * lib/quotearg.c (quoting_options_from_style): Initialize
15806         remaining fields, and ensure that custom styles are only used via
15807         quoting_options rather than quoting_style.
15808
15809 2011-04-29  Jim Meyering  <meyering@redhat.com>
15810
15811         maint.mk: remove unused VC-tag variable
15812         * top/maint.mk (VC-tag): Remove unused variable.
15813
15814 2011-04-29  Bruno Haible  <bruno@clisp.org>
15815
15816         netdb: fix gai_strerror replacements
15817         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15818         * modules/netdb: Substitute it.
15819
15820 2011-04-29  Jim Meyering  <meyering@redhat.com>
15821
15822         test-getcwd.c: avoid new set-but-not-used warning
15823         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15824         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15825         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15826         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15827
15828         test-hash.c: avoid a new shadowing warning
15829         * tests/test-hash.c (main): Don't shadow "dup".
15830
15831 2011-04-28  Eric Blake  <eblake@redhat.com>
15832
15833         getaddrinfo: fix gai_strerror signature
15834         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15835         and work around mingw with UNICODE defined.
15836         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15837         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15838         * modules/netdb (Makefile.am): Substitute it.
15839         * lib/netdb.in.h (gai_strerror): Declare replacement.
15840         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15841         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15842         the fix.
15843
15844         getsockopt: avoid compiler warning
15845         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15846         Reported by Matthias Bolte.
15847
15848         tests: drop unused link dependency
15849         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15850         * modules/dirent-safer-tests (Makefile.am): Likewise.
15851         * modules/fdopendir-tests (Makefile.am): Likewise.
15852         * modules/mkfifoat-tests (Makefile.am): Likewise.
15853         * modules/openat-safer-tests (Makefile.am): Likewise.
15854         * modules/openat-tests (Makefile.am): Likewise.
15855         * modules/readlinkat-tests (Makefile.am): Likewise.
15856         * modules/symlinkat-tests (Makefile.am): Likewise.
15857         * modules/linkat-tests (Makefile.am): Likewise.
15858         (Depends-on): Switch to filenamecat-lgpl.
15859         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15860         LIBINTL.
15861         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15862         * tests/test-linkat.c (main): Don't require xalloc.
15863
15864         hash, mgetgroups: drop xalloc dependency
15865         * lib/hash.c (includes): Adjust includes.
15866         * lib/mgetgroups.c (includes): Likewise.
15867         (xgetgroups): Move...
15868         * lib/xgetgroups.c: ...to new file.
15869         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15870         * modules/xgetgroups: New file, split from...
15871         * modules/mgetgroups: ...here.
15872         (Depends-on): Add xalloc-oversized.
15873         * modules/hash (Depends-on): Likewise.
15874         * modules/hash-tests (Depends-on): Drop xalloc.
15875         (test_hash_LDADD): Drop unused library.
15876         * tests/test-hash.c (main): Break xalloc dependency.
15877         (includes): Drop unused include.
15878
15879         xalloc-oversized: new module
15880         * modules/xalloc-oversized: New module.
15881         * modules/xalloc (Depends-on): Add it.
15882         * lib/xalloc.h (xalloc_oversized): Move...
15883         * lib/xalloc-oversized.h: ...into new file.
15884
15885         utimecmp: drop dependency on xmalloc
15886         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15887         due to memory pressure.
15888         * modules/utimecmp (Depends-on): Drop xalloc.
15889
15890 2011-04-27  Eric Blake  <eblake@redhat.com>
15891
15892         getcwd: fix mingw bugs
15893         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15894         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15895         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15896
15897 2011-04-27  Bruno Haible  <bruno@clisp.org>
15898
15899         mkstemps: Ensure declaration on MacOS X 10.5.
15900         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15901         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15902         MacOS X.
15903
15904 2011-04-27  Bruno Haible  <bruno@clisp.org>
15905
15906         mkstemp: More documentation.
15907         * doc/posix-functions/mkstemp.texi: Document header file problem on
15908         MacOS X.
15909
15910 2011-04-27  Bruno Haible  <bruno@clisp.org>
15911
15912         mkstemp: Tweak configure message when cross-compiling.
15913         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15914         result as a guess.
15915
15916 2011-04-27  Bruno Haible  <bruno@clisp.org>
15917
15918         clean-temp: Clarify what it does.
15919         * lib/clean-temp.h: Add more comments.
15920         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15921         module.
15922         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15923         * doc/glibc-functions/mkstemps.texi: Likewise.
15924         * doc/glibc-functions/mkostemps.texi: Likewise.
15925
15926 2011-04-27  Eric Blake  <eblake@redhat.com>
15927
15928         fchdir: avoid extra chdir and fix test
15929         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15930         getcwd-lgpl.
15931         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15932         have to be canonical.
15933         (canonicalize_file_name): Drop unused macro.
15934         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15935
15936         filenamecat-lgpl: fix licence
15937         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15938         when it was first created.
15939
15940         linkat, renameat: add missing dependency
15941         * modules/linkat (Depends-on): Require getcwd-lgpl.
15942         * modules/renameat (Depends-on): Likewise.
15943
15944         tests: reduce dependencies
15945         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15946         * tests/test-renameat.c (main): Likewise.
15947         * modules/linkat-tests (Depends-on): Relax dependency.
15948         * modules/renameat-tests (Depends-on): Likewise.
15949         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15950         dependency explicit.
15951
15952         save-cwd: reduce default dependency
15953         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15954         * lib/save-cwd.c: Update comments.
15955         * NEWS: Document the semantic change.
15956
15957         getcwd: enhance tests
15958         * tests/test-getcwd-lgpl.c: New file, taken from...
15959         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15960         repeat long path stress tests from m4 probe.
15961         * modules/getcwd-lgpl-tests: New module.
15962         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15963         * m4/getcwd-abort-bug.m4: Update comment.
15964         * m4/getcwd-path-max.m4: Likewise.
15965
15966         getcwd-lgpl: new module
15967         * modules/getcwd-lgpl: New module.
15968         * lib/getcwd-lgpl.c: New file.
15969         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15970         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15971         * modules/getcwd (configure.ac): Set C witness.
15972         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15973
15974         getcwd: tweak comments
15975         * m4/getcwd-abort-bug.m4: Fix comments.
15976         * m4/getcwd-path-max.m4: Likewise.
15977         * m4/getcwd.m4: Likewise.
15978
15979 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15980         and Eric Blake  <eblake@redhat.com>
15981
15982         mkstemp: replace if system version uses wrong permissions
15983         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15984         read/write mode bits set in file created by mkstemp.
15985         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15986
15987 2011-04-27  Eric Blake  <eblake@redhat.com>
15988
15989         passfd: avoid compiler warning
15990         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15991         Reported by Laine Stump.
15992
15993 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15994
15995         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15996         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15997
15998 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15999         and Eric Blake  <eblake@redhat.com>
16000
16001         mkstemp: mention clean-temp module
16002         * lib/mkstemp.c: Add comment.
16003         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16004
16005 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16006
16007         inttypes: also provide default values for 32-bit tests
16008         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16009         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16010
16011 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16012
16013         strtoumax: remove dependency on strtoimax
16014         This is like the strtoull change of yesterday.
16015         * modules/strtoumax (Files): Add lib/strtoimax.c.
16016         (Depends-on): Remove strtoimax and add verify.
16017
16018         inttypes-incomplete: new module
16019         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16020         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16021         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16022         of gl_INTTYPES_H.
16023         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16024         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16025         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16026         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16027         * modules/strtoumax, modules/xstrtol (Depends-on):
16028         Depend on inttypes-incomplete, not inttypes.
16029         * modules/inttypes-incomplete: New module, containing the contents
16030         of the old modules/inttypes module, except that the Files: section
16031         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16032         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16033         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16034         (Depends-on): Depend only on inttypes-incomplete.
16035         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16036
16037         inttypes: omit now-redundant strtoimax and strtoumax work
16038         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16039         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16040
16041         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16042         This supports apps that need pointers to strtoimax and strtoumax,
16043         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16044         nonexistent functions.  See
16045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16046         et seq.
16047         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16048         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16049         a macro.
16050         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16051
16052 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16053
16054         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16055
16056 2011-04-25  Bruno Haible  <bruno@clisp.org>
16057
16058         strtol, strtoul: Mark modules as obsolete.
16059         * modules/strtol (Status, Notice): New sections.
16060         * modules/strtoul (Status, Notice): New sections.
16061
16062 2011-04-25  Bruno Haible  <bruno@clisp.org>
16063
16064         strtod: Remove check for strtod, unless supporting old platforms.
16065         * modules/strtod-obsolete: New file.
16066         * m4/strtod-obsolete.m4: New file.
16067         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16068         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16069         * modules/strtod (Depends-on): Add strtod-obsolete.
16070         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16071
16072 2011-04-25  Bruno Haible  <bruno@clisp.org>
16073
16074         strcase: Make module obsolete.
16075         * modules/strcase (Status, Notice): New sections.
16076
16077 2011-04-25  Bruno Haible  <bruno@clisp.org>
16078
16079         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16080         * modules/dup2-obsolete: New file.
16081         * m4/dup2-obsolete.m4: New file.
16082         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16083         gl_FUNC_DUP2_OBSOLETE is not also defined.
16084         * modules/dup2 (Depends-on): Add dup2-obsolete.
16085         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16086
16087 2011-04-25  Bruno Haible  <bruno@clisp.org>
16088
16089         strnlen: Avoid memchr related link error on old obsolete platforms.
16090         * modules/memchr-obsolete: New file.
16091         * m4/memchr-obsolete.m4: New file.
16092         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16093         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16094         * modules/memchr (Depends-on): Add memchr-obsolete.
16095         * modules/strnlen (Depends-on): Likewise.
16096         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16097
16098 2011-04-25  Jim Meyering  <meyering@redhat.com>
16099
16100         maint.mk: makefile_at_at_check extend and clean up
16101         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16102         in addition to */Makefile.am.
16103         Exempt legitimate uses of @VAR@ notation, e.g.,
16104         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16105         Remove obsolete coreutils-specific comment.
16106         Prompted by discussion here:
16107         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16108
16109 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16110
16111         strtoul: remove dependency on strtol
16112         This is so that 'configure' need not check for strtol merely because
16113         the application needs strtoul.
16114         * modules/strtoul (Files): Add lib/strtol.c.
16115         (Depends-on): Remove strtol.
16116
16117         strtoull: remove dependency on strtoul
16118         This is like the strtoll change.
16119         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16120         (Depends-on): Remove strtoul.
16121
16122         strtoll: remove dependency on strtol
16123         This is so that 'configure' need not check for strtol merely because
16124         the application needs strtoll.
16125         * modules/strtoll (Files): Add lib/strtol.c.
16126         (Depends-on): Remove strtol.
16127
16128 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16129
16130         inttypes: Move some configure check to module 'imaxdiv'.
16131         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16132         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16133         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16134
16135 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16136
16137         inttypes: Move some configure check to module 'imaxabs'.
16138         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16139         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16140         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16141
16142 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16143
16144         inttypes: Remove configure tests that are not needed since 2009-12-31.
16145         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16146         gl_cv_header_working_inttypes_h.
16147
16148 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16149
16150         * modules/strnlen (Depends-on): Remove memchr.
16151         The strnlen implementation doesn't need the memchr module's fixes; see
16152         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16153
16154         strtol: remove dependency on wchar
16155         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16156         * modules/strtol (Depends-on): Remove wchar.
16157
16158 2011-04-21  Eric Blake  <eblake@redhat.com>
16159
16160         passfd: fix test regression on Linux
16161         * modules/passfd-tests (configure.ac): Correct socketpair check.
16162
16163         passfd: speed up configure and drop unused code
16164         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16165         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16166         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16167         Instead of probing at configure for unix_scm_rights_bsd44_way,
16168         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16169         check to a struct member probe.
16170         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16171         (sendfd, recvfd): Update preprocessor checks.
16172         * modules/passfd (Files): Reflect rename, and drop unused file.
16173         (Depends-on): Drop unused dependency.
16174
16175         passfd: allow compilation on mingw
16176         * modules/sys_socket (Depends-on): Add sys_uio.
16177         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16178         iovec and a minimal struct msghdr.
16179         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16180         * tests/test-sys_socket.c (main): Enhance test.
16181         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16182         guaranteed to provide what we need.
16183         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16184         * modules/passfd-tests (Depends-on): Add sys_wait.
16185         * tests/test-passfd.c (main): Skip test on mingw, for now.
16186         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16187         partial 'struct msghdr' implementation.
16188
16189         sys_uio: new module
16190         * modules/sys_uio: New module.
16191         * modules/sys_uio-tests: Likewise.
16192         * lib/sys_uio.in.h: New file.
16193         * m4/sys_uio_h.m4: Likewise.
16194         * tests/test-sys_uio.c: Likewise.
16195         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16196         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16197
16198 2011-04-20  Jim Meyering  <meyering@redhat.com>
16199
16200         useless-if-before-free: avoid false-positive
16201         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16202         disjunct so that it too requires a terminating ";".  Without that,
16203         this script would identify as useless one statement from gcc that
16204         was not:
16205           if (aligned_ptr)
16206             free (((void **) aligned_ptr) [-1]);
16207
16208 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16209
16210         doc: update users.txt.
16211         * users.txt: Add barcode.
16212
16213 2011-04-19  Bruno Haible  <bruno@clisp.org>
16214
16215         ioctl: Remove link dependency on native Windows.
16216         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16217         (gl_close_fn, gl_ioctl_fn): New types.
16218         (struct fd_hook): Renamed from struct close_hook. Change type of
16219         private_close_fn field. Add private_ioctl_fn field.
16220         (close_hook_fn): Add parameter for primary close method.
16221         (execute_close_hooks, execute_all_close_hooks): Likewise.
16222         (ioctl_hook_fn): New type.
16223         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16224         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16225         argument.
16226         (unregister_fd_hook): Renamed from unregister_close_hook.
16227         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16228         Don't include <unistd.h>.
16229         (close): Remove undef.
16230         (anchor): Update.
16231         (execute_close_hooks): Add argument for primary close method.
16232         (execute_all_close_hooks): Likewise.
16233         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16234         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16235         argument. Allow each argument to be NULL.
16236         (unregister_fd_hook): Renamed from unregister_close_hook.
16237         * lib/close.c (rpl_close): Pass 'close' function pointer to
16238         execute_all_close_hooks.
16239         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16240         (primary_ioctl): New function.
16241         (ioctl): Don't call ioctlsocket here. Instead, call
16242         execute_all_ioctl_hooks.
16243         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16244         close method.
16245         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16246         (fd_sockets_hook): Renamed from close_sockets_hook.
16247         (gl_sockets_startup, gl_sockets_cleanup): Update.
16248         * modules/fd-hook: Renamed from modules/close-hook. Update.
16249         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16250         * modules/sockets (Depends-on): Likewise.
16251         * modules/ioctl (Depends-on): Add fd-hook.
16252         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16253         GNULIB_SOCKET.
16254
16255 2011-04-19  Bruno Haible  <bruno@clisp.org>
16256
16257         Move the support of O_NONBLOCK in open() to the 'open' module.
16258         * modules/nonblocking (Depends-on): Remove 'open'.
16259         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16260         gl_cv_have_open_O_NONBLOCK.
16261         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16262         O_NONBLOCK support.
16263         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16264
16265 2011-04-17  Bruno Haible  <bruno@clisp.org>
16266
16267         pipe2: Simplify code.
16268         * lib/pipe2.c (pipe2): Reduce code duplication.
16269
16270 2011-04-17  Bruno Haible  <bruno@clisp.org>
16271
16272         nonblocking: Add comment.
16273         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16274
16275 2011-04-17  Bruno Haible  <bruno@clisp.org>
16276
16277         nonblocking: Add tests for sockets.
16278         * tests/test-nonblocking-socket.sh: New file.
16279         * tests/test-nonblocking-socket-main.c: New file.
16280         * tests/test-nonblocking-socket-child.c: New file.
16281         * tests/test-nonblocking-socket.h: New file.
16282         * tests/socket-server.h: New file.
16283         * tests/socket-client.h: New file.
16284         * modules/nonblocking-socket-tests: New file.
16285         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16286
16287 2011-04-17  Bruno Haible  <bruno@clisp.org>
16288
16289         nonblocking: Add tests for pipes.
16290         * tests/test-nonblocking-pipe.sh: New file.
16291         * tests/test-nonblocking-pipe-main.c: New file.
16292         * tests/test-nonblocking-pipe-child.c: New file.
16293         * tests/test-nonblocking-pipe.h: New file.
16294         * tests/test-nonblocking-writer.h: New file.
16295         * tests/test-nonblocking-reader.h: New file.
16296         * tests/test-nonblocking-misc.h: New file.
16297         * modules/nonblocking-pipe-tests: New file.
16298         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16299
16300 2011-04-16  Bruno Haible  <bruno@clisp.org>
16301
16302         gettext: Clarify the needed programmer actions.
16303         * modules/gettext (Notice): New field.
16304         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16305
16306 2011-04-16  Bruno Haible  <bruno@clisp.org>
16307
16308         strchrnul: Tweak last commit.
16309         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16310         bug.
16311         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16312         as in _GL_FUNCDECL_SYS.
16313         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16314         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16315
16316 2011-04-15  Eric Blake  <eblake@redhat.com>
16317
16318         strchrnul: work around cygwin bug
16319         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16320         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16322         * modules/string (Makefile.am): Substitute it.
16323         * lib/string.in.h (strchrnul): Use it.
16324
16325 2011-04-15  Bruno Haible  <bruno@clisp.org>
16326
16327         Don't require lib/stdio-write.c when only module 'stdio' is used.
16328         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16329         invocation.
16330         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16331
16332 2011-04-14  Bruno Haible  <bruno@clisp.org>
16333
16334         Support non-blocking pipe I/O in read() on native Windows.
16335         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16336         (read): New declaration.
16337         * lib/read.c: New file.
16338         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16339         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16340         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16341         vscanf): New declarations.
16342         * lib/stdio-read.c: New file.
16343         * m4/read.m4: New file.
16344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16345         REPLACE_READ.
16346         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16347         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16348         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16349         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16350         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16351         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16352         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16353         * modules/read: New file.
16354         * modules/nonblocking (Files): Add lib/stdio-read.c.
16355         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16356         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16357         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16358         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16359         * modules/pread (Depends-on): Add read.
16360         * modules/safe-read (Depends-on): Likewise.
16361         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16362         gets, scanf, vfscanf, vscanf): Verify signatures.
16363         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16364         problem with non-blocking pipes.
16365         * doc/posix-functions/fgetc.texi: Likewise.
16366         * doc/posix-functions/fgets.texi: Likewise.
16367         * doc/posix-functions/fread.texi: Likewise.
16368         * doc/posix-functions/fscanf.texi: Likewise.
16369         * doc/posix-functions/getc.texi: Likewise.
16370         * doc/posix-functions/getchar.texi: Likewise.
16371         * doc/posix-functions/gets.texi: Likewise.
16372         * doc/posix-functions/scanf.texi: Likewise.
16373         * doc/posix-functions/vfscanf.texi: Likewise.
16374         * doc/posix-functions/vscanf.texi: Likewise.
16375
16376 2011-04-14  Bruno Haible  <bruno@clisp.org>
16377
16378         Support non-blocking pipe I/O in write() on native Windows.
16379         * lib/write.c (rpl_write): Split a write request that failed merely
16380         because the byte count was larger than the pipe buffer's size.
16381         * doc/posix-functions/write.texi: Mention the problem with large byte
16382         counts.
16383
16384 2011-04-14  Bruno Haible  <bruno@clisp.org>
16385
16386         wchar: Ensure that wchar_t gets defined on uClibc.
16387         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16388         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16389
16390 2011-04-13  Bruno Haible  <bruno@clisp.org>
16391
16392         safe-write, full-read: Avoid unnecessary compilation units.
16393         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16394         (Depends-on): Remove safe-read. Add ssize_t.
16395         * modules/full-read (Files): Add lib/full-write.c.
16396         (Depends-on): Add full-write.
16397
16398 2011-04-13  Bruno Haible  <bruno@clisp.org>
16399
16400         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16401         * modules/pwrite (Depends-on): Add 'write'.
16402
16403 2011-04-13  Bruno Haible  <bruno@clisp.org>
16404
16405         Support non-blocking pipe I/O in write() on native Windows.
16406         * lib/unistd.in.h (write): Enable replacement also if
16407         GNULIB_UNISTD_H_NONBLOCKING is 1.
16408         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16409         (rpl_write): When failing to write on a non-blocking pipe, change
16410         errno from ENOSPC to EAGAIN.
16411         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16412         putchar, puts, vfprintf, vprintf): Enable replacement also if
16413         GNULIB_STDIO_H_NONBLOCKING is 1.
16414         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16415         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16416         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16417         CALL_WITH_SIGPIPE_EMULATION.
16418         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16419         * m4/nonblocking.m4: New file.
16420         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16421         for non-blocking I/O support.
16422         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16423         GNULIB_UNISTD_H_NONBLOCKING.
16424         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16425         required for non-blocking I/O support.
16426         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16427         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16428         lib/stdio-write.c, m4/asm-underscore.m4.
16429         (Depends-on): Add stdio, unistd.
16430         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16431         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16432         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16433         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16434         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16435         problem with non-blocking pipes.
16436         * doc/posix-functions/fputc.texi: Likewise.
16437         * doc/posix-functions/fputs.texi: Likewise.
16438         * doc/posix-functions/fwrite.texi: Likewise.
16439         * doc/posix-functions/printf.texi: Likewise.
16440         * doc/posix-functions/putc.texi: Likewise.
16441         * doc/posix-functions/putchar.texi: Likewise.
16442         * doc/posix-functions/puts.texi: Likewise.
16443         * doc/posix-functions/vfprintf.texi: Likewise.
16444         * doc/posix-functions/vprintf.texi: Likewise.
16445         * doc/posix-functions/write.texi: Likewise.
16446
16447 2011-04-10  Jim Meyering  <meyering@redhat.com>
16448
16449         maint.mk: prohibit doubled words
16450         Detect them also when they're separated by a newline.
16451         There are 3 ways to customize it:
16452           - disable the test on a per file basis, as usual with rules using
16453             $(VC_LIST_EXCEPT)
16454           - replace the default doubled-word-selecting regexp (affects all files)
16455           - ignore a particular file-vs-doubled-word match
16456         I nearly used that last one to ignore the "is is" match in
16457         coreutils' NEWS file, since the text was "ls -is is ..."
16458         To do that, I would have added this line to cfg.mk:
16459           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16460         but it would have ignored any "is is" match in NEWS.
16461         Low probability, but still...
16462         Instead, I changed the text, slightly:
16463           -  ls -is is now consistent with ls -lis in ignoring values returned
16464           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16465         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16466         (prohibit_doubled_word_): Define.
16467         (sc_prohibit_doubled_word): New rule.
16468         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16469
16470 2011-04-10  Jim Meyering  <meyering@redhat.com>
16471
16472         maint: fix doubled-word typo in comment
16473         * m4/gethostname.m4: s/is is/it is/
16474         * m4/getdomainname.m4: Likewise.
16475
16476 2011-04-10  Jim Meyering  <meyering@redhat.com>
16477
16478         maint: remove doubled word: s/it it/it/
16479         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16480
16481 2011-04-10  Jim Meyering  <meyering@redhat.com>
16482
16483         maint.mk: remove useless semicolon and backslash
16484         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16485         semicolon and backslash.
16486
16487 2011-04-10  Bruno Haible  <bruno@clisp.org>
16488
16489         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16490         * modules/stdint-tests (Depends-on): Add wchar.
16491
16492 2011-04-10  Jim Meyering  <meyering@redhat.com>
16493
16494         maint: remove doubled words in comments, e.g., s/a a/a/
16495         * lib/strptime.c (day_of_the_week): s/the the/the/
16496         * tests/test-chown.h (test_chown): s/a a/a/
16497
16498         test-chown.h: correct a cast
16499         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16500         when the destination is a stat.st_gid.
16501
16502 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16503
16504         getaddrinfo: Fix test for sa_len member.
16505         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16506         include <sys/types.h> before <sys/socket.h>.
16507
16508 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16509
16510         maint: change "can not" to "cannot"
16511         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16512         boundaries.
16513
16514 2011-04-09  Jim Meyering  <meyering@redhat.com>
16515
16516         maint: change "a a" to "a"
16517         * tests/test-lchown.h (test_lchown): s/a a/a/
16518
16519         maint.mk: prohibit \<the the\>
16520         * top/maint.mk (sc_prohibit_the_the): New rule.
16521
16522         maint: fix "the the" in comment
16523         * lib/count-one-bits.h: s/the the/the/
16524
16525         maint: change "can not" to "cannot"
16526         But do not change the occurrences in maintain.texi or in
16527         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16528         * doc/gnulib-tool.texi: s/can not/cannot/
16529         * doc/posix-functions/accept.texi (accept): Likewise.
16530         * doc/posix-functions/socket.texi (socket): Likewise.
16531         * lib/mbrtowc.c: Likewise.
16532
16533         maint.mk: prohibit use of "can not"
16534         * top/maint.mk (sc_prohibit_can_not): New rule.
16535         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16536
16537 2011-04-09  Bruno Haible  <bruno@clisp.org>
16538
16539         careadlinkat: Guard against misuse of careadlinkatcwd.
16540         * lib/careadlinkat.c: Include <stdlib.h>.
16541         (careadlinkatcwd): Check that the fd argument is as expected.
16542
16543 2011-04-09  Bruno Haible  <bruno@clisp.org>
16544
16545         careadlinkat: Use common coding style.
16546         * lib/careadlinkat.c: Move gnulib includes after system includes.
16547
16548 2011-04-09  Bruno Haible  <bruno@clisp.org>
16549
16550         careadlinkat: Clarify specification.
16551         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16552         (careadlinkatcwd): Add comment.
16553         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16554
16555 2011-04-09  Bruno Haible  <bruno@clisp.org>
16556
16557         areadlinkat: Avoid link error on many platforms.
16558         * modules/areadlinkat (Depends-on): Add areadlink.
16559
16560 2011-04-09  Bruno Haible  <bruno@clisp.org>
16561
16562         allocator, careadlinkat: Fix double-inclusion guard.
16563         * lib/allocator.h: Fix double-inclusion guard.
16564         * lib/careadlinkat.h: Likewise.
16565
16566 2011-04-09  Bruno Haible  <bruno@clisp.org>
16567
16568         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16569         * lib/relocwrapper.c: Update dependencies hierarchy.
16570         * build-aux/install-reloc: Update list of files to be compiled.
16571         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16572         lib/allocator.[hc].
16573
16574 2011-04-08  Eric Blake  <eblake@redhat.com>
16575
16576         strftime: silence gnulib-tool warning
16577         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16578
16579 2011-04-08  Bruno Haible  <bruno@clisp.org>
16580
16581         verify: Fix syntax error with GCC 4.6 in C++ mode.
16582         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16583         (HAVE_STATIC_ASSERT): New macro.
16584         (verify_true, verify): Use 'static_assert' if it is supported and
16585         '_Static_assert' is not supported.
16586
16587 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16588
16589         allocator: New module.
16590         * modules/allocator, lib/allocator.c: New files.
16591         * lib/allocator.h (stdlib_allocator): New decl.
16592         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16593         Remove.  Do not include <stdlib.h>.
16594         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16595         * modules/careadlinkat (Files): Remove lib/allocator.h.
16596         (Depends-on): Add allocator.
16597
16598         stdlib: let modules use system malloc, realloc
16599         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16600         if !_GL_USE_STDLIB_ALLOC.
16601         (malloc, realloc): Limit this change to a smaller scope.
16602
16603         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16604         (malloc, realloc): Don't #undef; no longer needed.
16605         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16606         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16607         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16608         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16609         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16610         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16611         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16612         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16613
16614         careadlinkat: rename members to avoid problem
16615         * lib/allocator.h (struct allocator): Rename members from
16616         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16617         and realloc are #define'd.  Reported by Eric Blake in
16618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16619         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16620
16621 2011-04-08  Eric Blake  <eblake@redhat.com>
16622
16623         nonblocking: reduce dependency
16624         * tests/test-nonblocking.c: Only test sockets when in use.
16625         * modules/nonblocking-tests (Depends-on): Drop socket.
16626         (Makefile.am): Link even if sockets are not present.
16627         * modules/pipe2-tests (Makefile.am): Likewise.
16628         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16629
16630         pipe2: fix O_NONBLOCK support on mingw
16631         * modules/pipe2 (Depends-on): Add nonblocking.
16632         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16633         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16634         * tests/test-nonblocking.c (main): Likewise.
16635         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16636
16637         fcntl-h: fix O_ACCMODE on cygwin
16638         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16639         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16640
16641         pipe-filter: drop O_NONBLOCK workarounds
16642         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16643         * modules/pipe-filter-ii (Depends-on): Likewise.
16644         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16645
16646         nonblocking: provide O_NONBLOCK for mingw
16647         * modules/nonblocking (Depends-on): Add open.
16648         (configure.ac): Set new witness macro.
16649         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16650         * modules/fcntl-h (Makefile.am): Substitute it.
16651         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16652         nonblocking module is in use.
16653         * lib/nonblocking.c: Adjust portability test.
16654         * lib/open.c (open): Don't let native open see gnulib flag.
16655         * tests/test-fcntl-h.c (main): Enhance test.
16656         * tests/test-open.h (test_open): Likewise.
16657         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16658
16659         careadlinkat: fix compilation error on mingw
16660         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16661         within struct allocator.
16662
16663 2011-04-06  Eric Blake  <eblake@redhat.com>
16664
16665         binary-io: relicense under LGPLv2+
16666         * modules/binary-io (License): Relax to LGPLv2+.
16667         Requested for libvirt, and required by pipe2.
16668
16669 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16670
16671         verify: use _Static_assert if available
16672         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16673         (verify_true, verify): Use it if available.  This generates better
16674         diagnostics with GCC 4.6.0 and later.
16675
16676 2011-04-05  Bruno Haible  <bruno@clisp.org>
16677
16678         Remove leftover generated .h files after config.status changed.
16679
16680         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16681         GL_GENERATE_ALLOCA_H.
16682         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16683         GL_GENERATE_ALLOCA_H evaluates to false.
16684
16685         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16686         GL_GENERATE_ARGZ_H.
16687         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16688         evaluates to false.
16689
16690         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16691         GL_GENERATE_BYTESWAP_H.
16692         * modules/byteswap (Makefile.am): Remove byteswap.h if
16693         GL_GENERATE_BYTESWAP_H evaluates to false.
16694
16695         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16696         GL_GENERATE_ERRNO_H.
16697         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16698         evaluates to false.
16699
16700         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16701         GL_GENERATE_FLOAT_H.
16702         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16703         evaluates to false.
16704
16705         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16706         GL_GENERATE_FNMATCH_H.
16707         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16708         GL_GENERATE_FNMATCH_H evaluates to false.
16709
16710         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16711         GL_GENERATE_GLOB_H.
16712         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16713         evaluates to false.
16714
16715         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16716         automake conditional GL_GENERATE_ICONV_H.
16717         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16718         evaluates to false.
16719
16720         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16721         GL_GENERATE_NETINET_IN_H.
16722         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16723         GL_GENERATE_NETINET_IN_H evaluates to false.
16724
16725         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16726         conditional GL_GENERATE_PTHREAD_H.
16727         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16728         * modules/pthread (Makefile.am): Remove pthread.h if
16729         GL_GENERATE_PTHREAD_H evaluates to false.
16730
16731         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16732         GL_GENERATE_SCHED_H.
16733         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16734         evaluates to false.
16735
16736         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16737         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16738         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16739         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16740
16741         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16742         GL_GENERATE_STDARG_H.
16743         * modules/stdarg (Makefile.am): Remove stdarg.h if
16744         GL_GENERATE_STDARG_H evaluates to false.
16745
16746         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16747         GL_GENERATE_STDBOOL_H.
16748         * modules/stdbool (Makefile.am): Remove stdbool.h if
16749         GL_GENERATE_STDBOOL_H evaluates to false.
16750
16751         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16752         conditional GL_GENERATE_STDDEF_H.
16753         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16754         * modules/stddef (Makefile.am): Remove stddef.h if
16755         GL_GENERATE_STDDEF_H evaluates to false.
16756
16757         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16758         GL_GENERATE_STDINT_H.
16759         * modules/stdint (Makefile.am): Remove stdint.h if
16760         GL_GENERATE_STDINT_H evaluates to false.
16761
16762         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16763         GL_GENERATE_SYSEXITS_H.
16764         * modules/sysexits (Makefile.am): Remove sysexits.h if
16765         GL_GENERATE_SYSEXITS_H evaluates to false.
16766
16767         Reported by Karl Berry and Ralf Wildenhues.
16768
16769 2011-04-05  Bruno Haible  <bruno@clisp.org>
16770
16771         Ensure to rebuild generated .h files when config.status has changed.
16772         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16773         config.status.
16774         * modules/ctype (Makefile.am): Likewise.
16775         * modules/dirent (Makefile.am): Likewise.
16776         * modules/errno (Makefile.am): Likewise.
16777         * modules/fcntl-h (Makefile.am): Likewise.
16778         * modules/float (Makefile.am): Likewise.
16779         * modules/getopt-posix (Makefile.am): Likewise.
16780         * modules/glob (Makefile.am): Likewise.
16781         * modules/iconv-h (Makefile.am): Likewise.
16782         * modules/inttypes (Makefile.am): Likewise.
16783         * modules/langinfo (Makefile.am): Likewise.
16784         * modules/locale (Makefile.am): Likewise.
16785         * modules/math (Makefile.am): Likewise.
16786         * modules/netdb (Makefile.am): Likewise.
16787         * modules/netinet_in (Makefile.am): Likewise.
16788         * modules/poll-h (Makefile.am): Likewise.
16789         * modules/pthread (Makefile.am): Likewise.
16790         * modules/pty (Makefile.am): Likewise.
16791         * modules/sched (Makefile.am): Likewise.
16792         * modules/search (Makefile.am): Likewise.
16793         * modules/selinux-h (Makefile.am): Likewise.
16794         * modules/signal (Makefile.am): Likewise.
16795         * modules/spawn (Makefile.am): Likewise.
16796         * modules/stdarg (Makefile.am): Likewise.
16797         * modules/stdbool (Makefile.am): Likewise.
16798         * modules/stddef (Makefile.am): Likewise.
16799         * modules/stdint (Makefile.am): Likewise.
16800         * modules/stdio (Makefile.am): Likewise.
16801         * modules/stdlib (Makefile.am): Likewise.
16802         * modules/string (Makefile.am): Likewise.
16803         * modules/strings (Makefile.am): Likewise.
16804         * modules/sys_file (Makefile.am): Likewise.
16805         * modules/sys_ioctl (Makefile.am): Likewise.
16806         * modules/sys_select (Makefile.am): Likewise.
16807         * modules/sys_socket (Makefile.am): Likewise.
16808         * modules/sys_stat (Makefile.am): Likewise.
16809         * modules/sys_time (Makefile.am): Likewise.
16810         * modules/sys_times (Makefile.am): Likewise.
16811         * modules/sys_utsname (Makefile.am): Likewise.
16812         * modules/sys_wait (Makefile.am): Likewise.
16813         * modules/sysexits (Makefile.am): Likewise.
16814         * modules/termios (Makefile.am): Likewise.
16815         * modules/time (Makefile.am): Likewise.
16816         * modules/unistd (Makefile.am): Likewise.
16817         * modules/wchar (Makefile.am): Likewise.
16818         * modules/wctype-h (Makefile.am): Likewise.
16819         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16820
16821 2011-04-05  Bruno Haible  <bruno@clisp.org>
16822
16823         pipe2: Relicense under LGPLv2+.
16824         * modules/pipe2 (License): Change to LGPLv2+.
16825         Requested by Eric Blake, for libvirt.
16826
16827 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16828
16829         bootstrap: compute gnulib_extra_files after updating build_aux
16830         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16831         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16832
16833 2011-04-05  Eric Blake  <eblake@redhat.com>
16834
16835         bootstrap: preserve git whitelist item sorting
16836         * build-aux/bootstrap (sort_patterns): New function.
16837         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16838
16839 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16840
16841         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16842         sc_space_tab check.
16843
16844 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16845
16846         areadlink, areadlinkat: rewrite in terms of careadlinkat
16847         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16848         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16849         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16850         (malloc, realloc): Remove #undefs.
16851         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16852         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16853         readlink, ssize_t, stdint, unistd.
16854         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16855         areadlink, stdint.
16856
16857         careadlinkat: new module
16858         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16859         * modules/careadlinkat: New files, written by me with
16860         a review and feedback from Ben Pfaff in
16861         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16862
16863 2011-04-01  Bruno Haible  <bruno@clisp.org>
16864
16865         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16866         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16867         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16868         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16869         Reported by Bruce Korb <bruce.korb@gmail.com>.
16870
16871 2011-04-01  Bruno Haible  <bruno@clisp.org>
16872
16873         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16874         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16875         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16876         * modules/wcpcpy (Depends-on): Add extensions.
16877         * modules/wcpncpy (Depends-on): Likewise.
16878         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16879         systems.
16880         * doc/posix-functions/wcpncpy.texi: Likewise.
16881         * doc/posix-functions/wcwidth.texi: Likewise.
16882
16883 2011-03-31  Eric Blake  <eblake@redhat.com>
16884
16885         nonblocking: fix mingw test failures
16886         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16887         non-blocking flag on regular file.
16888         (get_nonblocking_flag): Set errno on invalid fd.
16889         * tests/test-nonblocking.c (main): Avoid test failure on
16890         directories if fchdir is not active.
16891         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16892
16893 2011-03-31  Bruno Haible  <bruno@clisp.org>
16894
16895         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16896         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16897         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16898         Reported by Simon Josefsson <simon@josefsson.org>.
16899
16900 2011-03-31  Bruno Haible  <bruno@clisp.org>
16901         and Eric Blake  <eblake@redhat.com>
16902
16903         nonblocking: new module
16904         * modules/nonblocking: New module.
16905         * modules/nonblocking-tests: Likewise.
16906         * lib/nonblocking.h: New file.
16907         * lib/nonblocking.c: Likewise.
16908         * tests/test-nonblocking.c: New test.
16909         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16910
16911 2011-03-30  Bruno Haible  <bruno@clisp.org>
16912
16913         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16914         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16915         instead of 'printf' format for GCC >= 4.4.
16916         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16917         (fprintf, printf, vfprintf, vprintf): Declare with
16918         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16919         the system's vfprintf() function.
16920         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16921
16922 2011-03-30  Eric Blake  <eblake@redhat.com>
16923
16924         passfd: fix scoping bug
16925         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16926         before sendmsg/recvmsg.
16927
16928         passfd: standardize coding conventions
16929         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16930         can be learned at compile time.
16931         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16932         ifdefs.
16933         (sendfd, recvfd): Follow gnulib code conventions.
16934
16935         passfd: fix incorrect sendmsg arguments
16936         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16937         incorrect msg_controllen value.
16938         * modules/passfd-tests (Depends-on): Check for alarm.
16939         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16940         Reported by Bastien ROUCARIES.
16941
16942 2011-03-30  Bruno Haible  <bruno@clisp.org>
16943
16944         c-strcasestr: Relicense under LGPLv2+.
16945         * modules/c-strcasestr (License): Change to LGPLv2+.
16946         Requested by Eric Blake, for libvirt.
16947
16948 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16949
16950         * users.txt: Add libidn2.  Fix libtasn1 link.
16951
16952 2011-03-30  Jim Meyering  <meyering@redhat.com>
16953
16954         tests: readlink* ("",... fails with EINVAL on newer kernels
16955         readlink and readlinkat have typically failed with ENOENT for
16956         the invalid, empty file name,  "".  However, with the advent
16957         of linux-2.6.39, they fail with EINVAL.
16958         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16959         when operating on the empty file name.
16960         * tests/test-readlink.h (test_readlink): Likewise.
16961
16962 2011-03-29  Bruno Haible  <bruno@clisp.org>
16963
16964         Relicense some modules under LGPLv2+, for libidn2.
16965         * modules/array-mergesort (License): Change to LGPLv2+.
16966         * modules/c-strcaseeq (License): Likewise.
16967         * modules/striconveh (License): Likewise.
16968         * modules/striconveha (License): Likewise.
16969         * modules/uniconv/base (License): Likewise.
16970         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16971         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16972         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16973         * modules/unictype/base (License): Likewise.
16974         * modules/unictype/bidiclass-of (License): Likewise.
16975         * modules/unictype/category-M (License): Likewise.
16976         * modules/unictype/category-none (License): Likewise.
16977         * modules/unictype/category-of (License): Likewise.
16978         * modules/unictype/category-test (License): Likewise.
16979         * modules/unictype/category-test-withtable (License): Likewise.
16980         * modules/unictype/combining-class (License): Likewise.
16981         * modules/unictype/joiningtype-of (License): Likewise.
16982         * modules/unictype/scripts (License): Likewise.
16983         * modules/uninorm/base (License): Likewise.
16984         * modules/uninorm/canonical-decomposition (License): Likewise.
16985         * modules/uninorm/composition (License): Likewise.
16986         * modules/uninorm/decompose-internal (License): Likewise.
16987         * modules/uninorm/decomposition-table (License): Likewise.
16988         * modules/uninorm/nfc (License): Likewise.
16989         * modules/uninorm/nfd (License): Likewise.
16990         * modules/uninorm/u32-normalize (License): Likewise.
16991         * modules/unistr/base (License): Likewise.
16992         * modules/unistr/u32-cpy (License): Likewise.
16993         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16994         * modules/unistr/u32-to-u8 (License): Likewise.
16995         * modules/unistr/u32-uctomb (License): Likewise.
16996         * modules/unistr/u8-check (License): Likewise.
16997         * modules/unistr/u8-mblen (License): Likewise.
16998         * modules/unistr/u8-mbtouc (License): Likewise.
16999         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17000         * modules/unistr/u8-mbtoucr (License): Likewise.
17001         * modules/unistr/u8-prev (License): Likewise.
17002         * modules/unistr/u8-strlen (License): Likewise.
17003         * modules/unistr/u8-to-u32 (License): Likewise.
17004         * modules/unistr/u8-uctomb (License): Likewise.
17005         * modules/unitypes (License): Likewise.
17006         Requested by Simon Josefsson.
17007
17008 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17009
17010         lib-symbol-visibility: Add a notice.
17011         * modules/lib-symbol-visibility (Notice): New field.
17012
17013 2011-03-29  Bruno Haible  <bruno@clisp.org>
17014
17015         getaddrinfo: Doc fix.
17016         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17017         section "fixed in Gnulib".
17018
17019 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17020
17021         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17022         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17023
17024 2011-03-26  Bruno Haible  <bruno@clisp.org>
17025
17026         unictype/property-byname: Reduce the number of load-time relocations.
17027         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17028         (UC_PROPERTY_INDEX_*): New enumeration values.
17029         (uc_property_byname): Convert an index from the lookup table to an
17030         uc_property_t.
17031         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17032         values.
17033
17034 2011-03-26  Bruno Haible  <bruno@clisp.org>
17035
17036         unictype/property-byname: Allow omitted word separators and aliases.
17037         * lib/unictype/pr_byname.gperf: Add property names without word
17038         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17039         for 'space'.
17040
17041 2011-03-26  Bruno Haible  <bruno@clisp.org>
17042
17043         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17044         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17045         also hyphens to space.
17046         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17047         without spaces.
17048         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17049
17050 2011-03-26  Bruno Haible  <bruno@clisp.org>
17051
17052         unictype/joiningtype-byname: Recognize long names as well.
17053         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17054         a long name.
17055         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17056         unictype/joiningtype_byname.h.
17057         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17058         * lib/unictype/joiningtype_byname.gperf: New file.
17059         * modules/unictype/joiningtype-byname (Files): Add
17060         lib/unictype/joiningtype_byname.gperf.
17061         (Depends-on): Add gperf.
17062         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17063         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17064         long names.
17065
17066         Tests for module 'unictype/joiningtype-longname'.
17067         * modules/unictype/joiningtype-longname-tests: New file.
17068         * tests/unictype/test-joiningtype_longname.c: New file.
17069
17070         New module 'unictype/joiningtype-longname'.
17071         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17072         * lib/unictype/joiningtype_longname.c: New file.
17073         * modules/unictype/joiningtype-longname: New file.
17074         * modules/unictype/joiningtype-all (Depends-on): Add
17075         unictype/joiningtype-longname.
17076
17077 2011-03-26  Bruno Haible  <bruno@clisp.org>
17078
17079         unictype/bidiclass-byname: Recognize long names as well.
17080         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17081         name.
17082         * lib/unictype/bidi_byname.c: Include <string.h>,
17083         unictype/bidi_byname.h.
17084         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17085         * lib/unictype/bidi_byname.gperf: New file.
17086         * modules/unictype/bidiclass-byname (Files): Add
17087         lib/unictype/bidi_byname.gperf.
17088         (Depends-on): Add gperf.
17089         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17090         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17091         long names.
17092
17093         Tests for module 'unictype/bidiclass-longname'.
17094         * modules/unictype/bidiclass-longname-tests: New file.
17095         * tests/unictype/test-bidi_longname.c: New file.
17096
17097         New module 'unictype/bidiclass-longname'.
17098         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17099         * lib/unictype/bidi_longname.c: New file.
17100         * modules/unictype/bidiclass-longname: New file.
17101         * modules/unictype/bidiclass-all (Depends-on): Add
17102         unictype/bidiclass-longname.
17103
17104 2011-03-26  Bruno Haible  <bruno@clisp.org>
17105
17106         unictype/bidi*: Rename modules.
17107         * modules/unictype/bidiclass-all: Renamed from
17108         modules/unictype/bidicategory-all.
17109         * modules/unictype/bidiclass-name: Renamed from
17110         modules/unictype/bidiclass-name.
17111         (Description): Update.
17112         * modules/unictype/bidiclass-name-tests: Renamed from
17113         modules/unictype/bidicategory-name-tests.
17114         * modules/unictype/bidiclass-byname: Renamed from
17115         modules/unictype/bidicategory-byname.
17116         (Description): Update.
17117         * modules/unictype/bidiclass-byname-tests: Renamed from
17118         modules/unictype/bidicategory-byname-tests.
17119         * modules/unictype/bidiclass-of: Renamed from
17120         modules/unictype/bidicategory-of.
17121         (Description): Update.
17122         * modules/unictype/bidiclass-of-tests: Renamed from
17123         modules/unictype/bidicategory-of-tests.
17124         * modules/unictype/bidiclass-test: Renamed from
17125         modules/unictype/bidicategory-test.
17126         (Description): Update.
17127         * modules/unictype/bidiclass-test-tests: Renamed from
17128         modules/unictype/bidicategory-test-tests.
17129         * modules/unictype/bidicategory-all: New file, a simple redirection.
17130         * modules/unictype/bidicategory-name: Likewise.
17131         * modules/unictype/bidicategory-byname: Likewise.
17132         * modules/unictype/bidicategory-of: Likewise.
17133         * modules/unictype/bidicategory-test: Likewise.
17134         * modules/unictype/property-bidi-* (Dependencies): Update.
17135         * lib/unictype/bidi_*.c: Update comment.
17136
17137 2011-03-26  Bruno Haible  <bruno@clisp.org>
17138
17139         unictype/bidi*: Rename functions, part 2.
17140         * modules/unictype/bidicategory-name (configure.ac): Update required
17141         libunistring version.
17142         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17143
17144 2011-03-25  Bruno Haible  <bruno@clisp.org>
17145
17146         New module 'unictype/combining-class-all'.
17147         * modules/unictype/combining-class-all: New file.
17148
17149         Tests for module 'unictype/combining-class-byname'.
17150         * modules/unictype/combining-class-byname-tests: New file.
17151         * tests/unictype/test-combiningclass_byname.c: New file.
17152
17153         New module 'unictype/combining-class-byname'.
17154         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17155         * lib/unictype/combiningclass_byname.c: New file.
17156         * lib/unictype/combiningclass_byname.gperf: New file.
17157         * modules/unictype/combining-class-byname: New file.
17158
17159         Tests for module 'unictype/combining-class-longname'.
17160         * modules/unictype/combining-class-longname-tests: New file.
17161         * tests/unictype/test-combiningclass_longname.c: New file.
17162
17163         New module 'unictype/combining-class-longname'.
17164         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17165         * lib/unictype/combiningclass_longname.c: New file.
17166         * modules/unictype/combining-class-longname: New file.
17167
17168         Tests for module 'unictype/combining-class-name'.
17169         * modules/unictype/combining-class-name-tests: New file.
17170         * tests/unictype/test-combiningclass_name.c: New file.
17171
17172         New module 'unictype/combining-class-name'.
17173         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17174         * lib/unictype/combiningclass_name.c: New file.
17175         * modules/unictype/combining-class-name: New file.
17176
17177 2011-03-25  Bruno Haible  <bruno@clisp.org>
17178
17179         unictype/combining-class: Rename source files.
17180         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17181         of unictype/combining.h.
17182         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17183         Update.
17184         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17185         * modules/unictype/combining-class (Description): Fix.
17186         (Files, Makefile.am): Update.
17187         * tests/unictype/test-combiningclass.c: Renamed from
17188         tests/unictype/test-combining.c.
17189         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17190
17191 2011-03-25  Bruno Haible  <bruno@clisp.org>
17192
17193         unictype: Update list of canonical combining classes.
17194         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17195
17196 2011-03-25  Bruno Haible  <bruno@clisp.org>
17197
17198         unictype/category-byname: Recognize long names as well.
17199         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17200         a long name.
17201         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17202         unictype/categ_byname.h.
17203         (UC_CATEGORY_INDEX_*): New enumeration values.
17204         (uc_general_category_byname): Use uc_general_category_lookup and
17205         convert from index to value.
17206         * lib/unictype/categ_byname.gperf: New file.
17207         * modules/unictype/category-byname (Files): Add
17208         lib/unictype/categ_byname.gperf.
17209         (Depends-on): Add gperf.
17210         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17211         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17212         long names.
17213
17214         Tests for module 'unictype/category-longname'.
17215         * modules/unictype/category-longname-tests: New file.
17216         * tests/unictype/test-categ_longname.c: New file.
17217
17218         New module 'unictype/category-longname'.
17219         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17220         * lib/unictype/categ_longname.c: New file.
17221         * modules/unictype/category-longname: New file.
17222         * modules/unictype/category-all (Depends-on): Add it.
17223
17224 2011-03-25  Bruno Haible  <bruno@clisp.org>
17225
17226         Tests for module 'unictype/category-LC'.
17227         * modules/unictype/category-LC-tests: New file.
17228         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17229
17230         New module 'unictype/category-LC'.
17231         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17232         (UC_CATEGORY_LC): New declaration.
17233         (UC_CASED_LETTER): New macro.
17234         * lib/gen-uni-tables.c (is_category_LC): New function.
17235         (output_categories): Also handle category LC.
17236         (UC_CATEGORY_MASK_LC): New enumeration value.
17237         (general_category_byname): Also handle category LC.
17238         * lib/unictype/categ_LC.c: New file.
17239         * lib/unictype/categ_LC.h: New file, automatically generated.
17240         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17241         category LC.
17242         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17243         * modules/unictype/category-LC: New file.
17244         * modules/unictype/category-byname (Depends-on): Add
17245         unictype/category-LC.
17246         * modules/unictype/category-all (Depends-on): Likewise.
17247
17248 2011-03-25  Eric Blake  <eblake@redhat.com>
17249
17250         xmalloc: revert yesterday's regression
17251         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17252         realloc's underlying behavior (allowing allocation of zero-size
17253         objects, especially if malloc-gnu is also in use).
17254
17255 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17256
17257         maint.mk: add missing version to VC-tag
17258         * top/maint.mk: git tag was missing actual tag name; add it.
17259
17260         valgrind: do leak checking, and exit with code 1 on error (not 0)
17261         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17262         to VALGRIND.
17263
17264 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17265
17266         posix-modules: say what it does.
17267         * posix-modules: Add a line to the --help output saying what it does.
17268
17269 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17270
17271         xmalloc: Do not leak if underlying realloc is C99 compatible.
17272         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17273         This avoids a leak on C99-based systems.  See
17274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17275
17276 2011-03-24  Eric Blake  <eblake@redhat.com>
17277
17278         realloc: document portability problem
17279         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17280         passing 0 size to realloc.
17281
17282 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17283
17284         doc: update users.txt
17285         * users.txt: Add cvsps, tmpwatch
17286
17287 2011-03-23  Matt Rice  <ratmice@gmail.com>
17288
17289         doc: update users.txt
17290         * users.txt: Add gdb.
17291
17292 2011-03-23  Jim Meyering  <meyering@redhat.com>
17293
17294         doc: update users.txt
17295         Looking through matches up to the following URL (there are still
17296         several more pages), I found several projects that use gnulib:
17297         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17298         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17299         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17300
17301 2011-03-22  Bruno Haible  <bruno@clisp.org>
17302
17303         unictype/bidi*: Rename functions.
17304         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17305         uc_bidi_class, uc_is_bidi_class): New declarations.
17306         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17307         uc_bidi_category_byname.
17308         (uc_bidi_category_byname): New function.
17309         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17310         u_bidi_category_name.
17311         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17312         (uc_bidi_category_name): New function.
17313         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17314         uc_bidi_category.
17315         (uc_bidi_category): New function.
17316         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17317         uc_is_bidi_category. Invoke uc_bidi_class.
17318         (uc_is_bidi_category): New function.
17319         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17320         instead of uc_bidi_category_byname.
17321         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17322         instead of uc_bidi_category_name.
17323         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17324         uc_bidi_category.
17325         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17326         instead of uc_is_bidi_category.
17327
17328 2011-03-21  Bruno Haible  <bruno@clisp.org>
17329
17330         New module 'unictype/joininggroup-all'.
17331         * modules/unictype/joininggroup-all: New file.
17332
17333         Tests for module 'unictype/joininggroup-of'.
17334         * modules/unictype/joininggroup-of-tests: New file.
17335         * tests/unictype/test-joininggroup_of.c: New file.
17336         * tests/unictype/test-joininggroup_of.h: New file, automatically
17337         generated by gen-uni-tables.
17338
17339         New module 'unictype/joininggroup-of'.
17340         * modules/unictype/joininggroup-of: New file.
17341         * lib/unictype/joininggroup_of.c: New file.
17342         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17343         gen-uni-tables.
17344
17345         Tests for module 'unictype/joininggroup-byname'.
17346         * modules/unictype/joininggroup-byname-tests: New file.
17347         * tests/unictype/test-joininggroup_byname.c: New file.
17348
17349         New module 'unictype/joininggroup-byname'.
17350         * modules/unictype/joininggroup-byname: New file.
17351         * lib/unictype/joininggroup_byname.c: New file.
17352         * lib/unictype/joininggroup_byname.gperf: New file.
17353
17354         Tests for module 'unictype/joininggroup-name'.
17355         * modules/unictype/joininggroup-name-tests: New file.
17356         * tests/unictype/test-joininggroup_name.c: New file.
17357
17358         New module 'unictype/joininggroup-name'.
17359         * modules/unictype/joininggroup-name: New file.
17360         * lib/unictype/joininggroup_name.c: New file.
17361         * lib/unictype/joininggroup_name.h: New file.
17362
17363         New module 'unictype/joiningtype-all'.
17364         * modules/unictype/joiningtype-all: New file.
17365
17366         Tests for module 'unictype/joiningtype-of'.
17367         * modules/unictype/joiningtype-of-tests: New file.
17368         * tests/unictype/test-joiningtype_of.c: New file.
17369         * tests/unictype/test-joiningtype_of.h: New file, automatically
17370         generated by gen-uni-tables.
17371
17372         New module 'unictype/joiningtype-of'.
17373         * modules/unictype/joiningtype-of: New file.
17374         * lib/unictype/joiningtype_of.c: New file.
17375         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17376         gen-uni-tables.
17377
17378         Tests for module 'unictype/joiningtype-byname'.
17379         * modules/unictype/joiningtype-byname-tests: New file.
17380         * tests/unictype/test-joiningtype_byname.c: New file.
17381
17382         New module 'unictype/joiningtype-byname'.
17383         * modules/unictype/joiningtype-byname: New file.
17384         * lib/unictype/joiningtype_byname.c: New file.
17385
17386         Tests for module 'unictype/joiningtype-name'.
17387         * modules/unictype/joiningtype-name-tests: New file.
17388         * tests/unictype/test-joiningtype_name.c: New file.
17389
17390         New module 'unictype/joiningtype-name'.
17391         * modules/unictype/joiningtype-name: New file.
17392         * lib/unictype/joiningtype_name.c: New file.
17393
17394         unictype: Add support for Arabic shaping properties.
17395         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17396         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17397         declarations.
17398         (UC_JOINING_GROUP_*): New enumeration values.
17399         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17400         declarations.
17401         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17402         (unicode_joining_type): New variable.
17403         (UC_JOINING_GROUP_*): New enumeration values.
17404         (unicode_joining_group): New variable.
17405         (fill_arabicshaping, joining_type_as_c_identifier,
17406         output_joining_type_test, output_joining_type,
17407         joining_group_as_c_identifier, output_joining_group_test,
17408         output_joining_group): New functions.
17409         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17410         fill_arabicshaping and output_joining_type_test, output_joining_type,
17411         output_joining_group_test, output_joining_group.
17412         Reported by Simon Josefsson.
17413
17414 2011-03-21  Jim Meyering  <meyering@redhat.com>
17415
17416         strftime: fix a bug in yesterday's change
17417         * lib/strftime.c (add): Accommodate width's initial value of -1.
17418         Otherwise, nstrftime would copy uninitialized data into
17419         the result buffer.
17420
17421 2011-03-21  Jim Meyering  <meyering@redhat.com>
17422
17423         tests: add strftime-tests module
17424         * tests/test-strftime.c: New file.
17425         * modules/strftime-tests: New module.
17426
17427 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17428
17429         strftime: don't assume a byte count fits in 'int'
17430         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17431         found this problem by static analysis, using gcc -Wstrict-overflow
17432         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17433         on an integer overflow having undefined behavior, but it turns out
17434         that the argument is a size, which might not fit in 'int' anyway,
17435
17436 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17437
17438         stdio: don't require ignore_value around fwrite
17439
17440         This patch works around libc bug 11959
17441         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17442         Without this patch, applications must often write
17443         ignore_value (fwrite (...)) even though the ignore_value is
17444         not helpful here.  It's common to write many objects, using
17445         fwrite/printf/etc., and then use ferror to detect output error.
17446
17447         I considered making this patch optional, but decided against it,
17448         because libc is obviously being inconsistent here: there is no
17449         reason libc should insist that user code must inspect fwrite
17450         return's value without also insisting that it inspect printf's,
17451         putchar's, etc.  If user code wants to have a strict style where
17452         all these functions' values are checked (so that ferror need not
17453         be checked), we could add support for that style in a new gnulib
17454         module, but in the meantime it's better to be consistent and to
17455         support common usage.
17456
17457         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17458         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17459         that we are compiling in checking mode, and if not C++, and
17460         if not already wrapping fwrite for some other reason.
17461         (fwrite): #define to rpl_fwrite if the latter is defined.
17462
17463 2011-03-20  Bruno Haible  <bruno@clisp.org>
17464
17465         verror: Fix compilation error introduced on 2011-02-13.
17466         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17467         instead of __attribute__.
17468         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17469
17470 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17471             Bruno Haible  <bruno@clisp.org>
17472
17473         socklen: do not depend on sys_socket
17474         While trying to modify Emacs to use gnulib's socklen module,
17475         I discovered a circular dependency: socklen depends on sys_socket
17476         and vice versa.  Emacs can use socklen, but it does not need
17477         sys_socket because it has its own substitute for sys/socket.h.
17478         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17479         gl_TYPE_SOCKLEN_T.
17480         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17481         gl_PREREQ_SYS_H_SOCKET.
17482         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17483         gl_PREREQ_SYS_H_SOCKET.
17484         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17485         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17486         * modules/socklen (Depends-on): Do not depend on sys_socket.
17487         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17488
17489 2011-03-20  Jim Meyering  <meyering@redhat.com>
17490
17491         maint.mk: sort file names *after* new transformation
17492         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17493         prefix would have led to an unwarranted failure in GNU parted.
17494         Sort after that transformation.
17495
17496 2011-03-19  Jim Meyering  <meyering@redhat.com>
17497
17498         maint.mk: fix po-file syntax-check rule
17499         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17500         Patch by Bruno Haible.
17501
17502 2011-03-19  Bruno Haible  <bruno@clisp.org>
17503
17504         socklen: Update comment.
17505         * m4/socklen.m4: Update comment about platforms.
17506
17507 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17508             Bruno Haible  <bruno@clisp.org>
17509
17510         inet_ntop, inet_pton: Simplify.
17511         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17512         documented to provide socklen_t and we already depend on sys_socket.
17513         * modules/inet_pton (Depends-on): Likewise.
17514         * lib/arpa_inet.in.h: Adjust comment.
17515
17516 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17517             Bruno Haible  <bruno@clisp.org>
17518
17519         netdb: Simplify.
17520         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17521         documented to provide socklen_t and we already depend on sys_socket.
17522         * lib/netdb.in.h: Adjust comment.
17523
17524 2011-03-19  Bruno Haible  <bruno@clisp.org>
17525
17526         sys_socket, netdb: Document problem with socklen_t.
17527         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17528         platforms.
17529         * doc/posix-headers/netdb.texi: Likewise.
17530
17531 2011-03-18  Eric Blake  <eblake@redhat.com>
17532
17533         maint.mk: let po check work in VPATH build
17534         * top/maint.mk (po_file): Allow cfg.mk override.
17535         (sc_po_check): Allow VPATH use.
17536         Reported by Jiri Denemark.
17537
17538 2011-03-16  Jim Meyering  <meyering@redhat.com>
17539
17540         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17541         Before, you would have had to create one .x-sc_ file per rule in order
17542         to exempt offending files.  Now, you may instead use a Make variable --
17543         usually defined in cfg.mk -- whose name identifies the affected rule.
17544         * top/maint.mk (_sc_excl): Define.
17545         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17546         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17547
17548 2011-03-13  Bruno Haible  <bruno@clisp.org>
17549
17550         ignore-value tests: Avoid warnings.
17551         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17552         empty for gcc < 3.4.
17553
17554 2011-03-13  Bruno Haible  <bruno@clisp.org>
17555
17556         passfd: Fix link error on Solaris.
17557         * modules/passfd (Description): Correct.
17558         (Depends-on): Add socketlib.
17559         (Link): New section.
17560         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17561
17562 2011-03-13  Bruno Haible  <bruno@clisp.org>
17563
17564         passfd: Fix link error on AIX 5.2.
17565         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17566
17567 2011-03-13  Bruno Haible  <bruno@clisp.org>
17568
17569         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17570         * lib/sys_socket.in.h: Include <stddef.h>.
17571         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17572         CMSG_FIRSTHDR. Remove unused variable.
17573
17574 2011-03-13  Bruno Haible  <bruno@clisp.org>
17575
17576         passfd: Fix compilation error on OpenBSD.
17577         * lib/passfd.c: Include <sys/uio.h>.
17578
17579 2011-03-13  Bruno Haible  <bruno@clisp.org>
17580
17581         passfd test: Fix warnings.
17582         * tests/test-passfd.c: Include <sys/wait.h>.
17583         (main): Fix typo.
17584
17585 2011-03-13  Bruno Haible  <bruno@clisp.org>
17586
17587         passfd module, part 4, tweaks.
17588         * tests/test-passfd.c: Reorder includes.
17589         (main): Fix perror and printf calls.
17590
17591 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17592
17593         passfd module, part 4.
17594         * modules/passfd-tests: New file.
17595         * tests/test-passfd.c: New file.
17596
17597 2011-03-13  Jim Meyering  <meyering@redhat.com>
17598
17599         Makefile: rely on GNU make; derive syntax-check rule names
17600         Rather than requiring that each sc_ rule be listed as a dependent
17601         of "check", use features of GNU make to derive the list.
17602         * Makefile (syntax-check-rules): Define.
17603         (check): Depend on the new variable, not the hard-coded list.
17604
17605 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17606             Bruno Haible  <bruno@clisp.org>
17607
17608         passfd module, part 3.
17609         * lib/passfd.h (recvfd): Add a flags argument.
17610         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17611         (recvfd): Add a flags argument.
17612         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17613         exists.
17614         * modules/passfd (Depends-on): Add cloexec.
17615         Suggested by Eric Blake.
17616
17617 2011-03-13  Bruno Haible  <bruno@clisp.org>
17618
17619         passfd module, part 2, tweaks.
17620         * modules/passfd (Files): Reorder.
17621         (Depends-on): Remove errno.
17622         (Include): Remove <sys/socket.h>, <sys/un.h>.
17623         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17624         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17625         specification header. Include <sys/socket.h> always. Don't include
17626         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17627         (sendfd): Clarify that it sets errno when it fails.
17628         (recvfd): Fix specification.
17629
17630 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17631
17632         passfd module, part 2.
17633         * modules/passfd: New file.
17634         * lib/passfd.h: New file.
17635         * lib/passfd.c: New file.
17636
17637 2011-03-12  Bruno Haible  <bruno@clisp.org>
17638
17639         wcswidth, mbswidth: Avoid integer overflow.
17640         * lib/wcswidth.c: Include <limits.h>.
17641         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17642         * lib/mbswidth.c: Include <limits.h>.
17643         (mbsnwidth): Avoid 'int' overflow.
17644         Reported by Jim Meyering.
17645
17646 2011-03-12  Bruno Haible  <bruno@clisp.org>
17647
17648         futimens, utimensat: Avoid endless recursion on Solaris 10.
17649         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17650         Solaris.
17651         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17652         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17653
17654 2011-03-11  Jim Meyering  <meyering@redhat.com>
17655
17656         maint.mk: relax a regexp to accommodate other formatting styles
17657         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17658         between "ngettext" and the following "(".
17659
17660 2011-03-11  Pádraig Brady <P@draigBrady.com>
17661
17662         maint.mk: suppress a false positive warning
17663         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17664         diagnostics are marked with ngettext.
17665
17666 2011-03-10  Eric Blake  <eblake@redhat.com>
17667
17668         wchar: add explicit dependencies, for Tru64
17669         * modules/mbmemcasecoll (Depends-on): Add wchar.
17670         * modules/mbtowc (Depends-on): Likewise.
17671         * modules/vasnprintf (Depends-on): Likewise.
17672         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17673         * modules/wctomb (Depends-on): Likewise.
17674         Reported by Peter O'Gorman.
17675
17676 2011-03-08  Bruno Haible  <bruno@clisp.org>
17677
17678         passfd module, part 1, tweaks.
17679         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17680         Improve indentation. Improve AC_MSG_CHECKING messages.
17681         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17682         gl_SOCKET_FAMILIES.
17683
17684 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17685
17686         passfd module, part 1.
17687         * m4/afunix.m4: New file.
17688         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17689         sockets.
17690
17691 2011-03-08  Bruno Haible  <bruno@clisp.org>
17692
17693         regex-quote: New API.
17694         * lib/regex-quote.h: Include <stdbool.h>.
17695         (struct regex_quote_spec): New type.
17696         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17697         New declarations.
17698         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17699         'const struct regex_quote_spec *' argument.
17700         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17701         (pcre_special): New constant.
17702         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17703         New functions.
17704         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17705         'const struct regex_quote_spec *' argument.
17706         * modules/regex-quote (Depends-on): Add stdbool.
17707         * tests/test-regex-quote.c (check): Update for new API. Add test for
17708         anchored results.
17709         * NEWS: Mention the API change.
17710         Reported by Reuben Thomas and Eric Blake.
17711
17712 2011-03-06  Bruno Haible  <bruno@clisp.org>
17713
17714         regex-quote: Fix creation of POSIX extended regular expressions.
17715         * lib/regex-quote.c (ere_special): Add grouping and alternation
17716         operators.
17717
17718 2011-03-05  Bruno Haible  <bruno@clisp.org>
17719
17720         doc: Improve doc regarding autopoint vs. gnulib.
17721         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17722         disable autopoint while running autoreconf.
17723         Suggested by Ralf Wildenhues.
17724
17725 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17726
17727         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17728         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17729
17730 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17731
17732         parse-duration: remove xalloc.h dependency
17733         * lib/parse-duration.c (parse_period): handle NULL return from
17734         strdup instead of calling xstrdup().
17735         * modules/parse-duration: remove "xalloc" dependency
17736
17737 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17738
17739         bootstrap: honor m4_base when running aclocal
17740         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17741
17742 2011-03-02  Jim Meyering  <meyering@redhat.com>
17743
17744         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17745         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17746         on request from Matt Booth.
17747
17748 2011-03-01  Eric Blake  <eblake@redhat.com>
17749
17750         test-link: work on Hurd
17751         * tests/test-link.h (test_link): Hurd rejects linking directories
17752         with EISDIR instead of the POSIX-mandated EPERM.
17753
17754 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17755
17756         stdio: simplify by moving files to printf-posix, sigpipe
17757         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17758         since this symbol is needed only if printf is replaced.
17759         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17760         Require gl_ASM_SYMBOL_PREFIX.
17761         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17762         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17763         (Depends-on): Add 'raise'.
17764         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17765         * modules/stdio (Files): Remove lib/stdio-write.c,
17766         m4/asm-underscore.m4.
17767         (Depends-on): Remove 'raise'.
17768
17769         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17770         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17771         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17772         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17773
17774 2011-02-28  Bruno Haible  <bruno@clisp.org>
17775
17776         localcharset: Assume ANSI C behaviour of free().
17777         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17778         calling free().
17779         Suggested by Simon Josefsson <simon@josefsson.org>.
17780
17781 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17782             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17783             Bruno Haible  <bruno@clisp.org>  (tiny change)
17784
17785         On Cygwin, use /proc file system instead of win32 API.
17786         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17787         Win32 file names.
17788         (DllMain): Simplify by removing Cygwin specific code.
17789         (find_shared_library_fullname): Use Linux specific implementation also
17790         for Cygwin.
17791         (get_shared_library_fullname): Update accordingly.
17792         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17793         Win32 file names.
17794         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17795         Cygwin specific code.
17796
17797 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17798             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17799
17800         Fix OpenMP flag detection for various Fortran compilers.
17801         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17802         OpenMP-conditional compilation construct, to force compile
17803         failure with missing OpenMP flag.
17804         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17805
17806 2011-02-25  Eric Blake  <eblake@redhat.com>
17807
17808         strstr: expand test coverage
17809         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17810         compilation.
17811         * tests/test-memmem.c (main): Duplicate tests.
17812         * tests/test-strcasestr.c (main): Likewise.
17813         * tests/test-c-strcasestr.c (main): Likewise.
17814
17815 2011-02-25  Jim Meyering  <meyering@redhat.com>
17816
17817         maint.mk: detect missing-NL-at-EOF, too
17818         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17819         it also detects when a file lacks a newline at EOF.
17820         (require_exactly_one_NL_at_EOF_): Renamed from
17821         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17822         since people may well have .x-sc_... file names tied to the
17823         existing name.  Suggested by Eric Blake.
17824
17825 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17826
17827         dirname: move m4/dos.m4 functionality into lib/dosname.h
17828
17829         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17830         extracts symbols from it, puts them into config.h; but it's much
17831         easier to use the symbols directly.  filename.h already does this,
17832         but it disagrees with dos.m4 in some respects.  This patch
17833         introduces a different include file dosname.h that packages up
17834         dos.m4, and then later we can work on merging filename.h and
17835         dosname.h.  Applications that need only the easy-to-configure
17836         symbols should consider including dosname.h rather than dirname.h.
17837         * NEWS: Mention incompatible changes.
17838         * m4/dos.m4: Remove.
17839         * lib/dosname.h, modules/dosname: New files.
17840         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17841         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17842         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17843         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17844         Include dosname.h, not dirname.h.
17845         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17846         Include dosname.h, for definitions of symbols like ISSLASH
17847         that used to be in config.h.
17848         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17849         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17850         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17851         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17852         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17853         * modules/rmdir (Files): Likewise.
17854         * modules/stat (Files): Likewise.
17855         * modules/unlink (Files): Likewise.
17856         * modules/dirname-lgpl (Depends-on): Add dosname.
17857         * modules/lstat (Depends-on): Likewise.
17858         * modules/openat (Depends-on): Likewise.
17859         * modules/rmdir (Depends-on): Likewise.
17860         * modules/savewd (Depends-on): Likewise.
17861         * modules/stat (Depends-on): Likewise.
17862         * modules/unlink (Depends-on): Likewise.
17863         * modules/openat (Depends-on): Remove dirname-lgpl.
17864         * modules/savewd (Depends-on): Likewise.
17865         * tests/test-dirname.c: Do not use removed symbols like
17866         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17867         the remaining symbols, e.g., ISSLASH ('\\').
17868
17869 2011-02-25  Eric Blake  <eblake@redhat.com>
17870
17871         strstr: revert patches that introduced bug and pessimization
17872         * lib/str-two-way.h: Add another reference.
17873         (two_way_short_needle, two_way_long_needle): Revert changes from
17874         2011-02-24; they pessimize search speed.
17875         (critical_factorization): Partially revert changes from
17876         2010-06-22; they violate the requirement that the left half of the
17877         needle be smaller than the period of the needle.
17878
17879 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17880
17881         filenamecat: remove unnecessary dependency on dirname-lgpl
17882         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17883         is no direct dependency, just an indirect one via filenamecat-lgpl.
17884
17885         remove: remove unnecessary use of m4/dos.m4
17886         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17887         * modules/remove (FILES): Remove m4/dos.m4.
17888
17889         * lib/openat-proc.c: Don't include dirname.h; not needed.
17890
17891         backupfile: remove unnecessary use of m4/dos.m4
17892         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17893         of its symbols are used by the backupfile code.  backupfile.c does
17894         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17895         for the rare case of programs that want all their backup file
17896         names to live within 8+3 limits, and dos.m4 doesn't address that.
17897         * modules/backupfile (Files): Remove m4/dos.m4.
17898
17899 2011-02-24  Jim Meyering  <meyering@redhat.com>
17900
17901         strstr: fix a bug whereby strstr would mistakenly return NULL
17902         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17903         in period calculation.
17904         (two_way_long_needle): Likewise.
17905         The original problem was reported by Mike Stump in
17906         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17907         Ralf Wildenhues provided the short needle and haystack.
17908         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17909         Add a more involved test to trigger the bug in two_way_long_needle.
17910
17911 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17912
17913         gnulib-tool: remove use of bold display in help screen
17914         * gnulib-tool (func_usage): Do not use bold display anymore in the
17915         help screen.  That was just meant to be a temporary emphasis for a
17916         backward-incompatible change.
17917
17918 2011-02-23  Bruno Haible  <bruno@clisp.org>
17919
17920         Fix misindentation of preprocessor directives.
17921         * lib/argp-namefrob.h: Reindent preprocessor directives.
17922         * lib/getopt_int.h (struct _getopt_data): Likewise.
17923         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17924         * lib/vasnprintf.c (decode_long_double): Likewise.
17925         * tests/test-argmatch.c: Insert blank lines, for clarity.
17926         * tests/test-exclude.c: Likewise.
17927
17928 2011-02-22  Bruno Haible  <bruno@clisp.org>
17929
17930         ioctl: Fix for MacOS X in 64-bit mode.
17931         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17932         value.
17933         Suggested by Eric Blake.
17934         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17935
17936 2011-02-22  Jim Meyering  <meyering@redhat.com>
17937
17938         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17939         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17940         in lib/.
17941
17942 2011-02-22  Eric Blake  <eblake@redhat.com>
17943
17944         maint: avoid any CDPATH issue
17945         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17946
17947         maint: adjust cpp indentation for my modules, as well
17948         * Makefile (sc_cpp_indent_check): Add my name.
17949         * lib/fbufmode.c: Filter through cppi.
17950         * lib/fpurge.c: Likewise.
17951         * lib/freadable.c: Likewise.
17952         * lib/freading.c: Likewise.
17953         * lib/fwritable.c: Likewise.
17954         * lib/fwriting.c: Likewise.
17955         * lib/sigaction.c: Likewise.
17956
17957 2011-02-22  Jim Meyering  <meyering@redhat.com>
17958
17959         maint: adjust cpp indentation to reflect nesting depth
17960         I.e., in a block of code that begins with an unnested "#if",
17961         put one space between the "#" in column 1 and following token.
17962         For example,
17963         -#include <sys/vfs.h>
17964         +# include <sys/vfs.h>
17965         Do this only in .c files that are part of a module I maintain.
17966         * lib/linkat.c: Filter through cppi.
17967         * lib/nanosleep.c: Likewise.
17968         * lib/openat.c: Likewise.
17969         * lib/openat-die.c: Likewise.
17970         * lib/dup3.c: Likewise.
17971         * lib/fchownat.c: Likewise.
17972         * lib/flock.c: Likewise.
17973         * lib/fsync.c: Likewise.
17974         * lib/fts.c: Likewise.
17975         * lib/getpass.c: Likewise.
17976         * lib/gettimeofday.c: Likewise.
17977         * lib/userspec.c: Likewise.
17978         * Makefile (sc_cpp_indent_check): New rule, to check this.
17979
17980 2011-02-22  Bruno Haible  <bruno@clisp.org>
17981
17982         New module 'wctomb'.
17983         * lib/stdlib.in.h (wctomb): New declaration.
17984         * lib/wctomb.c: New file.
17985         * lib/wctomb-impl.h: New file.
17986         * m4/wctomb.m4: New file.
17987         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17988         REPLACE_WCTOMB.
17989         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17990         REPLACE_WCTOMB.
17991         * modules/wctomb: New file.
17992         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17993         * doc/posix-functions/wctomb.texi: Mention the new module.
17994         * modules/wctob (Depends-on): Add wctomb.
17995
17996 2011-02-22  Bruno Haible  <bruno@clisp.org>
17997
17998         New module 'mbtowc'.
17999         * lib/stdlib.in.h (mbtowc): New declaration.
18000         * lib/mbtowc.c: New file.
18001         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18002         * m4/mbtowc.m4: New file.
18003         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18004         REPLACE_MBTOWC.
18005         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18006         REPLACE_MBTOWC.
18007         * modules/mbtowc: New file.
18008         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18009         * doc/posix-functions/mbtowc.texi: Mention the new module.
18010         * modules/btowc (Depends-on): Add mbtowc.
18011
18012 2011-02-22  Bruno Haible  <bruno@clisp.org>
18013
18014         wcrtomb: Add more tests for native Windows platforms.
18015         * tests/test-wcrtomb-w32-1.sh: New file.
18016         * tests/test-wcrtomb-w32-2.sh: New file.
18017         * tests/test-wcrtomb-w32-3.sh: New file.
18018         * tests/test-wcrtomb-w32-4.sh: New file.
18019         * tests/test-wcrtomb-w32-5.sh: New file.
18020         * tests/test-wcrtomb-w32.c: New file.
18021         * modules/wcrtomb-tests (Files): Add them.
18022         (Makefile.am): Arrange to run these tests.
18023         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18024         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18025
18026 2011-02-20  Bruno Haible  <bruno@clisp.org>
18027
18028         wcrtomb: Enhance test.
18029         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18030
18031 2011-02-20  Bruno Haible  <bruno@clisp.org>
18032
18033         mbrtowc: Tiny optimization.
18034         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18035
18036 2011-02-20  Jim Meyering  <meyering@redhat.com>
18037
18038         test-exclude.c: remove unmatched #endif
18039         * tests/test-exclude.c: Remove stray #endif, left over from
18040         the change of a week ago.
18041
18042 2011-02-19  Jim Meyering  <meyering@redhat.com>
18043
18044         git-version-gen: skip "-dirty" check when appropriate
18045         * build-aux/git-version-gen: Don't run any git commands when the
18046         version string comes from .tarball-version.  Prior to this, we
18047         would run git update-index --refresh even from a just-unpacked
18048         tarball directory, and that could affect a .git/ directory in a
18049         parent of the build directory.  Reported by Mike Frysinger.
18050
18051 2011-02-19  Bruno Haible  <bruno@clisp.org>
18052
18053         unictype/property-byname: Reduce the size of the 'data' segment.
18054         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18055
18056 2011-02-19  Bruno Haible  <bruno@clisp.org>
18057
18058         unictype/scripts: Reduce the size of the 'data' segment.
18059         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18060         '%pic'.
18061         * lib/unictype/scripts_byname.gperf: Regenerated.
18062
18063 2011-02-19  Bruno Haible  <bruno@clisp.org>
18064
18065         stdint: Update documentation.
18066         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18067
18068 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18069
18070         stdint: omit redundant check for wchar.h
18071         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18072         always tests whether wchar.h exists, so remove the now-redundant test.
18073
18074 2011-02-18  Bruno Haible  <bruno@clisp.org>
18075
18076         stdint: Cut dependency to module 'wchar'.
18077         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18078         include the necessary prerequisites.
18079         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18080         * modules/stdint (Depends-on): Remove wchar.
18081         (Makefile.am): Substitute HAVE_WCHAR_H.
18082         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18083
18084 2011-02-18  Eric Blake  <eblake@redhat.com>
18085
18086         longlong: skip, rather than fail, on cross-compilation
18087         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18088         when cross-compiling; regression from 2011-02-16.
18089
18090 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18091
18092         * NEWS: Mention 2011-02-08 change to stdlib.
18093
18094 2011-02-17  Bruno Haible  <bruno@clisp.org>
18095
18096         getloadavg: Add comments about platforms.
18097         * m4/getloadavg.m4: Add comment.
18098         * lib/getloadavg.c: Likewise.
18099
18100 2011-02-17  Bruno Haible  <bruno@clisp.org>
18101
18102         getloadavg: Fix link error on Solaris 2.6.
18103         * modules/getloadavg (Link): New section.
18104         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18105         linking test-getloadavg.
18106         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18107         getloadavg.
18108
18109 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18110
18111         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18112         It was 'int', but this doesn't match the IRIX 6.5 manual.
18113         Suggested by Bruno Haible in
18114         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18115
18116 2011-02-17  Bruno Haible  <bruno@clisp.org>
18117
18118         havelib: Fix comments.
18119         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18120         change.
18121
18122 2011-02-17  Bruno Haible  <bruno@clisp.org>
18123
18124         havelib: Update config.rpath.
18125         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18126
18127 2011-02-17  Bruno Haible  <bruno@clisp.org>
18128
18129         getloadavg test: Add some plausibility checks.
18130         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18131         is improbable.
18132
18133 2011-02-16  Eric Blake  <eblake@redhat.com>
18134
18135         maintainer-makefile: make syntax-check a no-op from tarballs
18136         * top/maint.mk (no-vc-detected): New rule.
18137         (local-checks-available): Use it to avoid hanging if someone tries
18138         'make syntax-check' from a tarball.  Also append to any non-syntax
18139         checks already defined in cfg.mk.
18140
18141 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18142
18143         longlong: tune, particularly for common case of c99
18144
18145         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18146         or running anything if c99, or if unsigned long long int does not
18147         work.  In either case, we know the answer without further tests.
18148         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18149         it at most once, and use its results for both long long int and
18150         unsigned long long int.  This is more likely to be efficient in
18151         the common case where the program wants to check for both long
18152         long int and unsigned long long int.
18153         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18154         since the answer is already known.
18155
18156 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18157
18158         getloadavg: set errno
18159         * lib/getloadavg.c: Set errno when returning -1.  If no other
18160         error number looks appropriate, set it to ENOSYS if the getloadavg
18161         looks like it can't possibly ever work, ENOTSUP otherwise.
18162         Suggested by Bruno Haible in
18163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18164
18165         getloadavg: trim unused parts and speed up 'configure'
18166         * NEWS: Document this.
18167         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18168         always compiled if getloadavg is absent.
18169         Move test code to ...
18170         * tests/test-getloadavg.c: New file, containing previous
18171         contents of test from lib/getloadavg.c.  It also contains
18172         suggestions by Bruno Haible in
18173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18174         * modules/getloadavg-tests: New file.
18175         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18176         Do tests in the same order as they're needed for getloadavg.c.
18177         Omit setgid-related tests that generate symbols KMEM_GROUP,
18178         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18179         Do only the tests that are needed to see whether the system has
18180         getloadavg, moving the other tests into ...
18181         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18182         NLIST_NAME_UNION; nobody should be using it.  Do not define
18183         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18184         relevant, as the user of this module shouldn't care how getloadavg
18185         is implemented.
18186
18187         getloadavg: omit unused var
18188         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18189
18190 2011-02-15  Jim Meyering  <meyering@redhat.com>
18191
18192         doc: update users.txt
18193         * users.txt: Update iwhd's URL.
18194
18195 2011-02-13  Bruno Haible  <bruno@clisp.org>
18196
18197         Consistent macro naming for macros that use GCC __attribute__.
18198         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18199         _ATTRIBUTE_NONNULL_.
18200         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18201         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18202         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18203         ATTRIBUTE_DEPRECATED.
18204         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18205         ATTRIBUTE_NORETURN.
18206         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18207         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18208         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18209         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18210         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18211         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18212         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18213         ATTRIBUTE_SENTINEL.
18214         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18215         ATTRIBUTE_RETURN_CHECK.
18216         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18217         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18218         ATTRIBUTE_NORETURN.
18219         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18220         Reported by Paul Eggert.
18221
18222 2011-02-13  Bruno Haible  <bruno@clisp.org>
18223
18224         Don't interfere with a program's definition of __attribute__.
18225         * lib/argp.h (__attribute__): Remove definition.
18226         (_GL_ATTRIBUTE_FORMAT): New macro.
18227         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18228         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18229         (_GL_ATTRIBUTE_FORMAT): New macro.
18230         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18231         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18232         GCC 3 or newer.
18233         * lib/error.h (__attribute__): Remove definition.
18234         (_GL_ATTRIBUTE_FORMAT): New macro.
18235         (error, error_at_line): Use it.
18236         * lib/hash.h (__attribute__): Remove definition.
18237         (ATTRIBUTE_WUR): Update definition. Define always.
18238         * lib/openat.h (__attribute__): Remove definition.
18239         (ATTRIBUTE_NORETURN): Update definition. Define always.
18240         * lib/sigpipe-die.h (__attribute__): Remove definition.
18241         (ATTRIBUTE_NORETURN): Update definition. Define always.
18242         * lib/vasnprintf.h (__attribute__): Remove definition.
18243         (_GL_ATTRIBUTE_FORMAT): New macro.
18244         (asnprintf, vasnprintf): Use it.
18245         * lib/xalloc.h (__attribute__): Remove definition.
18246         (ATTRIBUTE_NORETURN): Update definition. Define always.
18247         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18248         * lib/xmemdup0.h (__attribute__): Remove definition.
18249         (ATTRIBUTE_NORETURN): Update definition. Define always.
18250         * lib/xprintf.h (__attribute__): Remove definition.
18251         (_GL_ATTRIBUTE_FORMAT): New macro.
18252         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18253         * lib/xstrtol.h (__attribute__): Remove definition.
18254         (ATTRIBUTE_NORETURN): Update definition. Define always.
18255         * lib/xvasprintf.h (__attribute__): Remove definition.
18256         (_GL_ATTRIBUTE_FORMAT): New macro.
18257         (xasprintf, xvasprintf): Use it.
18258         * tests/test-argmatch.c (__attribute__): Remove definition.
18259         (ATTRIBUTE_NORETURN): Update definition. Define always.
18260         * tests/test-exclude.c (__attribute__): Remove definition.
18261         (ATTRIBUTE_NORETURN): Update definition. Define always.
18262         Reported by Paul Eggert.
18263
18264 2011-02-13  Bruno Haible  <bruno@clisp.org>
18265
18266         mbrtowc: Add more tests for native Windows platforms.
18267         * tests/test-mbrtowc-w32-1.sh: New file.
18268         * tests/test-mbrtowc-w32-2.sh: New file.
18269         * tests/test-mbrtowc-w32-3.sh: New file.
18270         * tests/test-mbrtowc-w32-4.sh: New file.
18271         * tests/test-mbrtowc-w32-5.sh: New file.
18272         * tests/test-mbrtowc-w32.c: New file.
18273         * modules/mbrtowc-tests (Files): Add them.
18274         (Makefile.am): Arrange to run these tests.
18275         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18276         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18277
18278 2011-02-13  Bruno Haible  <bruno@clisp.org>
18279
18280         mbrtowc: Work around native Windows bug.
18281         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18282         guess when no suitable locale for testing was found.
18283         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18284
18285 2011-02-13  Bruno Haible  <bruno@clisp.org>
18286
18287         mbsinit: Work around mingw bug.
18288         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18289         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18290         Windows.
18291         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18292
18293 2011-02-13  Bruno Haible  <bruno@clisp.org>
18294
18295         mbsinit: Don't crash for a NULL argument.
18296         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18297         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18298
18299 2011-02-13  Bruno Haible  <bruno@clisp.org>
18300
18301         Don't interfere with a program's definition of __attribute__.
18302         * lib/stdio.in.h (__attribute__): Remove definition.
18303         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18304         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18305         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18306         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18307         * lib/string.in.h (__attribute__): Remove definition.
18308         Reported by Paul Eggert.
18309
18310 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18311
18312         stdlib: don't get in the way of non-GCC __attribute__
18313         See thread starting at
18314         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18315         Revert previous stdlib change, installing the following instead:
18316         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18317         to get in the way of a non-GCC compiler that supports __attribute__.
18318         (_GL_ATTRIBUTE_RETURN): New macro.
18319         (_Exit): Use it instead of __attribute__.
18320
18321 2011-02-12  Bruno Haible  <bruno@clisp.org>
18322
18323         quotearg test: Avoid test failure on mingw.
18324         * tests/test-quotearg.sh: Convert the locale identifier from native
18325         Windows syntax to Unix syntax.
18326
18327 2011-02-12  Bruno Haible  <bruno@clisp.org>
18328
18329         setlocale: Prefer gnulib's override over libintl's override.
18330         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18331         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18332         GNULIB_defined_setlocale is set.
18333
18334 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18335
18336         stdlib: support non-GCC __attribute__
18337
18338         Fix a serious and tricky problem encountered when attempting to
18339         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18340         5.5, but it crashed due to memory corruption on Solaris 10 with
18341         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18342         bits that are otherwise zero.  This tagging is optional inside
18343         Emacs but is preferred and is used when __attribute__ ((__aligned
18344         (8))) works, as it does with both recent-enough GCC and with Sun C
18345         5.11.  However, Sun C 5.11 is not GCC and does not #define
18346         __GNUC__ and __GNUC_MINOR__.
18347
18348         When I added the getloadavg module to Emacs, it brought in
18349         stdlib.in.h, which contained this fragment:
18350
18351            #ifndef __attribute__
18352            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18353            #  define __attribute__(Spec)   /* empty */
18354            # endif
18355            #endif
18356
18357         When files that include <stdlib.h> were compiled with Sun C 5.11,
18358         the above code disabled __attribute__ ((__aligned (8))), which
18359         caused variables to not be properly aligned, which eventually led
18360         to the pointer corruption mentioned above.  (This was a bit hard
18361         to diagnose, unfortunately.)
18362
18363         Several "#define __attribute__(X) /* empty */" code snippets need
18364         to be eradicated from Gnulib to work with non-GCC compilers that
18365         support __attribute__.  The Autoconf way to do this is to test for
18366         each kind of attribute that we want support for, and selectively
18367         enable that in source code.
18368
18369         Fix this problem just for stdlib.h, by adding a test for the
18370         __noreturn__ attribute, and change stdlib.in.h to use that test
18371         when needed.  This technique can be easily generalized to the
18372         other *.in.h files and attributes, and a similar technique can be
18373         used for *.h and *.c files.  This patch is enough to solve the
18374         problem for Emacs + getloadavg, and I thought I'd publish it for
18375         feedback before undertaking further, similar fixes in other
18376         modules.
18377
18378         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18379         because it's not needed for stdlib.h.  It merely substitutes the
18380         value directly into stdlib.h.  We may well need to #define it, or
18381         similar symbols, for other modules, but it's nice to also have an
18382         option to not #define it for applications like Emacs that do not
18383         need it.
18384
18385         * lib/stdlib.in.h (__attribute__): Do not #define.
18386         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18387         be defined only if the _Exit module is also used.
18388         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18390         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18391         platforms.
18392         * modules/_Exit (Files): Add m4/attribute.m4.
18393         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18394         * m4/attribute.m4: New file.
18395
18396 2011-02-12  Bruno Haible  <bruno@clisp.org>
18397
18398         wcsrtombs: Work around bug on native Windows.
18399         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18400         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18401         instead of len.
18402         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18403
18404 2011-02-12  Bruno Haible  <bruno@clisp.org>
18405
18406         mbsrtowcs: Work around bug on native Windows.
18407         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18408         against mingw bug.
18409         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18410
18411 2011-02-12  Bruno Haible  <bruno@clisp.org>
18412
18413         Avoid setlocale bugs in tests.
18414         * modules/btowc (Dependencies): Add setlocale.
18415         * modules/c-strcase (Dependencies): Likewise.
18416         * modules/mbmemcasecmp (Dependencies): Likewise.
18417         * modules/mbmemcasecoll (Dependencies): Likewise.
18418         * modules/mbrtowc (Dependencies): Likewise.
18419         * modules/mbscasecmp (Dependencies): Likewise.
18420         * modules/mbscasestr (Dependencies): Likewise.
18421         * modules/mbschr (Dependencies): Likewise.
18422         * modules/mbscspn (Dependencies): Likewise.
18423         * modules/mbsinit (Dependencies): Likewise.
18424         * modules/mbsncasecmp (Dependencies): Likewise.
18425         * modules/mbsnrtowcs (Dependencies): Likewise.
18426         * modules/mbspbrk (Dependencies): Likewise.
18427         * modules/mbspcasecmp (Dependencies): Likewise.
18428         * modules/mbsrchr (Dependencies): Likewise.
18429         * modules/mbsrtowcs (Dependencies): Likewise.
18430         * modules/mbsspn (Dependencies): Likewise.
18431         * modules/mbsstr (Dependencies): Likewise.
18432         * modules/nl_langinfo (Dependencies): Likewise.
18433         * modules/quotearg (Dependencies): Likewise.
18434         * modules/unicase/locale-language (Dependencies): Likewise.
18435         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18436         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18437         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18438         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18439         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18440         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18441         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18442         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18443         * modules/vasnprintf-posix (Dependencies): Likewise.
18444         * modules/wcrtomb (Dependencies): Likewise.
18445         * modules/wcsnrtombs (Dependencies): Likewise.
18446         * modules/wcsrtombs (Dependencies): Likewise.
18447
18448 2011-02-12  Bruno Haible  <bruno@clisp.org>
18449
18450         setlocale: Workaround native Windows bug.
18451         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18452         succeeds but sets LC_CTYPE to "C", report a failure.
18453         * tests/test-setlocale2.sh: New file.
18454         * tests/test-setlocale2.c: New file.
18455         * modules/setlocale-tests (Files): Add the new files.
18456         (Makefile.am): Enable test-setlocale2.sh test.
18457         * doc/posix-functions/setlocale.texi: Mention workaround.
18458
18459 2011-02-11  Bruno Haible  <bruno@clisp.org>
18460
18461         Tests for module 'setlocale'.
18462         * modules/setlocale-tests: New file.
18463         * tests/test-setlocale1.sh: New file.
18464         * tests/test-setlocale1.c: New file.
18465
18466         New module 'setlocale'.
18467         * lib/locale.in.h (setlocale): New declaration.
18468         * lib/setlocale.c: New file, based on
18469         gettext/gettext-runtime/intl/setlocale.c.
18470         * m4/setlocale.m4: New file.
18471         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18472         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18473         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18474         REPLACE_SETLOCALE.
18475         * modules/setlocale: New file.
18476         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18477         * doc/posix-functions/setlocale.texi: Mention the new module.
18478
18479 2011-02-11  Bruno Haible  <bruno@clisp.org>
18480
18481         Prepare for locale dependent tests on mingw.
18482         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18483         because it has the wrong locale encoding.
18484         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18485         French_France.1252 instead of "fr".
18486         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18487         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18488         because it has the wrong locale encoding.
18489         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18490         native Windows, try Turkish_Turkey.65001.
18491         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18492         Chinese_China.54936.
18493
18494         Prepare for locale dependent tests on mingw.
18495         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18496         differently.
18497         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18498         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18499         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18500         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18501
18502 2011-02-11  Eric Blake  <eblake@redhat.com>
18503
18504         strptime: avoid compiler warnings
18505         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18506         compiler warnings about dead code.
18507         Reported by Daniel P. Berrange.
18508
18509 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18510
18511         doc: update users.txt
18512         * users.txt: Add rcs.
18513
18514 2011-02-10  John W. Eaton  <jwe@gnu.org>
18515
18516         doc: update users.txt
18517         * users.txt: Add octave.
18518
18519 2011-02-10  Jim Meyering  <meyering@redhat.com>
18520
18521         doc: update users.txt
18522         * users.txt: Add iwhd.
18523
18524 2011-02-09  Bruno Haible  <bruno@clisp.org>
18525
18526         gnulib-tool: Make copyright notice adjustment more robust.
18527         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18528         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18529         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18530         License".
18531         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18532
18533 2011-02-06  Bruno Haible  <bruno@clisp.org>
18534
18535         New module 'towctrans'.
18536         * modules/towctrans: New file.
18537         * lib/wctype.in.h (towctrans): New declaration.
18538         * lib/towctrans.c: New file.
18539         * lib/towctrans-impl.h: New file.
18540         * m4/towctrans.m4: New file.
18541         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18542         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18543         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18544         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18545         * doc/posix-functions/towctrans.texi: Mention the new module.
18546
18547 2011-02-06  Bruno Haible  <bruno@clisp.org>
18548
18549         New module 'wctrans'.
18550         * modules/wctrans: New file.
18551         * lib/wctype.in.h (wctrans): New declaration.
18552         * lib/wctrans.c: New file.
18553         * lib/wctrans-impl.h: New file.
18554         * m4/wctrans.m4: New file.
18555         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18556         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18557         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18558         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18559         * doc/posix-functions/wctrans.texi: Mention the new module.
18560
18561 2011-02-06  Bruno Haible  <bruno@clisp.org>
18562
18563         New module 'iswctype'.
18564         * modules/iswctype: New file.
18565         * lib/wctype.in.h (iswctype): New declaration.
18566         * lib/iswctype.c: New file.
18567         * lib/iswctype-impl.h: New file.
18568         * m4/iswctype.m4: New file.
18569         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18570         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18571         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18572         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18573         * doc/posix-functions/iswctype.texi: Mention the new module and the
18574         HP-UX 11.00 problem.
18575
18576 2011-02-06  Bruno Haible  <bruno@clisp.org>
18577
18578         New module 'wctype'.
18579         * modules/wctype: Change to represent the wctype() substitute.
18580         * lib/wctype.in.h (wctype): New declaration.
18581         * lib/wctype.c: New file.
18582         * lib/wctype-impl.h: New file.
18583         * m4/wctype.m4: New file.
18584         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18585         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18586         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18587         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18588         * doc/posix-functions/wctype.texi: Mention the new module and the
18589         HP-UX 11.00 problem.
18590
18591 2011-02-06  Bruno Haible  <bruno@clisp.org>
18592
18593         wctype-h: Ensure wctype_t and wctrans_t are defined.
18594         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18595         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18596         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18597         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18598         HAVE_WCTRANS_T.
18599         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18600
18601 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18602
18603         flock: fix license typo
18604
18605         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18606         omitted.
18607
18608 2011-02-08  Bruno Haible  <bruno@clisp.org>
18609
18610         Split large sed scripts, for HP-UX sed.
18611         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18612         to avoid HP-UX limit of 99 commands, in the near future.
18613         * modules/stdlib (Makefile.am): Likewise.
18614         * modules/unistd (Makefile.am): Likewise.
18615         * modules/wchar (Makefile.am): Likewise.
18616         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18617         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18618         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18619
18620 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18621             Bruno Haible  <bruno@clisp.org>
18622
18623         stdlib: improve random_r modularization
18624         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18625         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18626         you also need the random_r module to get this material right.
18627         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18628         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18629         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18630
18631 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18632
18633         stdlib: don't depend on stdint
18634         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18635         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18636         be independent of whether stdint.h is needed.
18637         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18638         here, instead of ...
18639         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18640         struct random_data should be using the random_r module, not just
18641         the stdlib module (which wouldn't make sense: what package needs
18642         just struct random_data without also needing random_r?).
18643         * modules/stdlib (Depends-on): Remove stdint.
18644
18645         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18646         See the thread rooted at
18647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18648         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18649         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18650         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18651         __VMS)); previously it was always included (via fcntl--.h).
18652         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18653         hand; this is good enough for load averages.  Also, do not use
18654         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18655         flags directly if available and don't bother otherwise.  (Packages
18656         that need the extra reliability should use the modules that define
18657         these flags on older platforms that lack them.)
18658         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18659         fcntl-safer.
18660
18661 2011-02-08  Jim Meyering  <meyering@redhat.com>
18662
18663         di-set.h, ino-map.h: add multiple-inclusion guard
18664         Technically, the guard is required only for ino-map.h, due to its
18665         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18666         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18667         * lib/ino-map.h: Likewise.
18668
18669 2011-02-06  Bruno Haible  <bruno@clisp.org>
18670
18671         iswblank: Ensure declaration on glibc systems.
18672         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18673         * modules/iswblank (Dependencies): Add 'extensions'.
18674         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18675
18676 2011-02-06  Bruno Haible  <bruno@clisp.org>
18677
18678         New module 'iswblank'.
18679         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18680         * modules/iswblank: New file.
18681         * modules/wctype-h (Files): Remove lib/iswblank.c.
18682         (Makefile.am): Substitute GNULIB_ISWBLANK.
18683         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18684         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18685         (gl_WCTYPE_H_DEFAULTS): New macro.
18686         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18687         * modules/iswblank-tests: New file.
18688         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18689         * tests/test-wctype-h.c (main): Remove iswblank tests.
18690         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18691         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18692         of 'wctype-h'.
18693         * NEWS: Mention the change.
18694         * modules/mbchar (Depends-on): Add iswblank.
18695
18696 2011-02-08  Bruno Haible  <bruno@clisp.org>
18697
18698         di-set tests: Refactor.
18699         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18700         unnecessary includes.
18701         (ASSERT): Remove macro.
18702         (main): Make C90 compliant by avoiding variable declaration after
18703         statement.
18704         * modules/di-set-tests (Files): Add tests/macros.h.
18705
18706 2011-02-08  Bruno Haible  <bruno@clisp.org>
18707
18708         ino-map tests: Refactor.
18709         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18710         unnecessary includes.
18711         (ASSERT): Remove macro.
18712         (main): Make C90 compliant by avoiding variable declaration after
18713         statement.
18714         * modules/ino-map-tests (Files): Add tests/macros.h.
18715
18716 2011-02-08  Jim Meyering  <meyering@redhat.com>
18717
18718         di-set: add "const" to a cast
18719         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18720         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18721
18722 2011-02-06  Bruno Haible  <bruno@clisp.org>
18723
18724         Rename module 'wctype' to 'wctype-h'.
18725         * modules/wctype-h: Renamed from modules/wctype.
18726         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18727         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18728         (Files, Depends-on, Makefile.am): Update.
18729         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18730         (Files, Makefile.am): Update.
18731         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18732         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18733         * doc/posix-headers/wctype.texi: Update.
18734         * doc/posix-functions/iswalnum.texi: Update.
18735         * doc/posix-functions/iswalpha.texi: Update.
18736         * doc/posix-functions/iswblank.texi: Update.
18737         * doc/posix-functions/iswcntrl.texi: Update.
18738         * doc/posix-functions/iswdigit.texi: Update.
18739         * doc/posix-functions/iswgraph.texi: Update.
18740         * doc/posix-functions/iswlower.texi: Update.
18741         * doc/posix-functions/iswprint.texi: Update.
18742         * doc/posix-functions/iswpunct.texi: Update.
18743         * doc/posix-functions/iswspace.texi: Update.
18744         * doc/posix-functions/iswupper.texi: Update.
18745         * doc/posix-functions/iswxdigit.texi: Update.
18746         * doc/posix-functions/towlower.texi: Update.
18747         * doc/posix-functions/towupper.texi: Update.
18748         * NEWS: Mention the change.
18749         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18750         * modules/mbchar (Dependencies): Likewise.
18751         * modules/mbswidth (Dependencies): Likewise.
18752         * modules/quotearg (Dependencies): Likewise.
18753         * modules/regex (Dependencies): Likewise.
18754         * modules/wcscasecmp (Dependencies): Likewise.
18755         * modules/wcsncasecmp (Dependencies): Likewise.
18756         * modules/wcwidth (Dependencies): Likewise.
18757
18758 2011-02-06  Bruno Haible  <bruno@clisp.org>
18759
18760         New module 'wcswidth'.
18761         * modules/wcswidth: New file.
18762         * lib/wchar.in.h (wcswidth): New declaration.
18763         * lib/wcswidth.c: New file.
18764         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18765         * m4/wcswidth.m4: New file.
18766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18768         REPLACE_WCSWIDTH.
18769         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18770         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18771         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18772         * doc/posix-functions/wcswidth.texi: Mention the new module.
18773
18774 2011-02-06  Bruno Haible  <bruno@clisp.org>
18775
18776         New module 'wcstok'.
18777         * modules/wcstok: New file.
18778         * lib/wchar.in.h (wcstok): New declaration.
18779         * lib/wcstok.c: New file.
18780         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18781         * m4/wcstok.m4: New file.
18782         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18783         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18784         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18785         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18786         * doc/posix-functions/wcstok.texi: Mention the new module.
18787
18788 2011-02-06  Bruno Haible  <bruno@clisp.org>
18789
18790         New module 'wcsstr'.
18791         * modules/wcsstr: New file.
18792         * lib/wchar.in.h (wcsstr): New declaration.
18793         * lib/wcsstr.c: New file.
18794         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18795         * m4/wcsstr.m4: New file.
18796         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18797         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18798         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18799         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18800         * doc/posix-functions/wcsstr.texi: Mention the new module.
18801
18802 2011-02-06  Bruno Haible  <bruno@clisp.org>
18803
18804         New module 'wcspbrk'.
18805         * modules/wcspbrk: New file.
18806         * lib/wchar.in.h (wcspbrk): New declaration.
18807         * lib/wcspbrk.c: New file.
18808         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18809         * m4/wcspbrk.m4: New file.
18810         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18811         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18812         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18813         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18814         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18815
18816 2011-02-06  Bruno Haible  <bruno@clisp.org>
18817
18818         New module 'wcsspn'.
18819         * modules/wcsspn: New file.
18820         * lib/wchar.in.h (wcsspn): New declaration.
18821         * lib/wcsspn.c: New file.
18822         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18823         * m4/wcsspn.m4: New file.
18824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18826         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18827         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18828         * doc/posix-functions/wcsspn.texi: Mention the new module.
18829
18830 2011-02-06  Bruno Haible  <bruno@clisp.org>
18831
18832         New module 'wcscspn'.
18833         * modules/wcscspn: New file.
18834         * lib/wchar.in.h (wcscspn): New declaration.
18835         * lib/wcscspn.c: New file.
18836         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18837         * m4/wcscspn.m4: New file.
18838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18841         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18842         * doc/posix-functions/wcscspn.texi: Mention the new module.
18843
18844 2011-02-06  Bruno Haible  <bruno@clisp.org>
18845
18846         New module 'wcsrchr'.
18847         * modules/wcsrchr: New file.
18848         * lib/wchar.in.h (wcsrchr): New declaration.
18849         * lib/wcsrchr.c: New file.
18850         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18851         * m4/wcsrchr.m4: New file.
18852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18855         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18856         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18857
18858 2011-02-06  Bruno Haible  <bruno@clisp.org>
18859
18860         New module 'wcschr'.
18861         * modules/wcschr: New file.
18862         * lib/wchar.in.h (wcschr): New declaration.
18863         * lib/wcschr.c: New file.
18864         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18865         * m4/wcschr.m4: New file.
18866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18869         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18870         * doc/posix-functions/wcschr.texi: Mention the new module.
18871
18872 2011-02-06  Bruno Haible  <bruno@clisp.org>
18873
18874         New module 'wcsdup'.
18875         * modules/wcsdup: New file.
18876         * lib/wchar.in.h (wcsdup): New declaration.
18877         * lib/wcsdup.c: New file.
18878         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18879         * m4/wcsdup.m4: New file.
18880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18882         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18883         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18884         * doc/posix-functions/wcsdup.texi: Mention the new module.
18885
18886 2011-02-06  Bruno Haible  <bruno@clisp.org>
18887
18888         New module 'wcsxfrm'.
18889         * modules/wcsxfrm: New file.
18890         * lib/wchar.in.h (wcsxfrm): New declaration.
18891         * lib/wcsxfrm.c: New file.
18892         * lib/wcsxfrm-impl.h: New file.
18893         * m4/wcsxfrm.m4: New file.
18894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18897         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18898         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18899
18900 2011-02-06  Bruno Haible  <bruno@clisp.org>
18901
18902         New module 'wcscoll'.
18903         * modules/wcscoll: New file.
18904         * lib/wchar.in.h (wcscoll): New declaration.
18905         * lib/wcscoll.c: New file.
18906         * lib/wcscoll-impl.h: New file.
18907         * m4/wcscoll.m4: New file.
18908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18910         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18911         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18912         * doc/posix-functions/wcscoll.texi: Mention the new module.
18913
18914 2011-02-06  Bruno Haible  <bruno@clisp.org>
18915
18916         New module 'wcsncasecmp'.
18917         * modules/wcsncasecmp: New file.
18918         * lib/wchar.in.h (wcsncasecmp): New declaration.
18919         * lib/wcsncasecmp.c: New file.
18920         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18921         * m4/wcsncasecmp.m4: New file.
18922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18925         HAVE_WCSNCASECMP.
18926         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18927         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18928
18929 2011-02-06  Bruno Haible  <bruno@clisp.org>
18930
18931         New module 'wcscasecmp'.
18932         * modules/wcscasecmp: New file.
18933         * lib/wchar.in.h (wcscasecmp): New declaration.
18934         * lib/wcscasecmp.c: New file.
18935         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18936         * m4/wcscasecmp.m4: New file.
18937         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18938         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18939         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18940         HAVE_WCSCASECMP.
18941         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18942         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18943
18944 2011-02-05  Bruno Haible  <bruno@clisp.org>
18945
18946         New module 'wcsncmp'.
18947         * modules/wcsncmp: New file.
18948         * lib/wchar.in.h (wcsncmp): New declaration.
18949         * lib/wcsncmp.c: New file.
18950         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18951         * m4/wcsncmp.m4: New file.
18952         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18953         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18954         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18955         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18956         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18957
18958 2011-02-05  Bruno Haible  <bruno@clisp.org>
18959
18960         New module 'wcscmp'.
18961         * modules/wcscmp: New file.
18962         * lib/wchar.in.h (wcscmp): New declaration.
18963         * lib/wcscmp.c: New file.
18964         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18965         * m4/wcscmp.m4: New file.
18966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18969         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18970         * doc/posix-functions/wcscmp.texi: Mention the new module.
18971
18972 2011-02-05  Bruno Haible  <bruno@clisp.org>
18973
18974         New module 'wcsncat'.
18975         * modules/wcsncat: New file.
18976         * lib/wchar.in.h (wcsncat): New declaration.
18977         * lib/wcsncat.c: New file.
18978         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18979         * m4/wcsncat.m4: New file.
18980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18983         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18984         * doc/posix-functions/wcsncat.texi: Mention the new module.
18985
18986 2011-02-05  Bruno Haible  <bruno@clisp.org>
18987
18988         New module 'wcscat'.
18989         * modules/wcscat: New file.
18990         * lib/wchar.in.h (wcscat): New declaration.
18991         * lib/wcscat.c: New file.
18992         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18993         * m4/wcscat.m4: New file.
18994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18996         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18997         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18998         * doc/posix-functions/wcscat.texi: Mention the new module.
18999
19000 2011-02-05  Bruno Haible  <bruno@clisp.org>
19001
19002         New module 'wcpncpy'.
19003         * modules/wcpncpy: New file.
19004         * lib/wchar.in.h (wcpncpy): New declaration.
19005         * lib/wcpncpy.c: New file.
19006         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19007         * m4/wcpncpy.m4: New file.
19008         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19009         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19010         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19011         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19012         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19013
19014 2011-02-05  Bruno Haible  <bruno@clisp.org>
19015
19016         New module 'wcsncpy'.
19017         * modules/wcsncpy: New file.
19018         * lib/wchar.in.h (wcsncpy): New declaration.
19019         * lib/wcsncpy.c: New file.
19020         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19021         * m4/wcsncpy.m4: New file.
19022         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19023         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19024         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19025         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19026         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19027
19028 2011-02-05  Bruno Haible  <bruno@clisp.org>
19029
19030         New module 'wcpcpy'.
19031         * modules/wcpcpy: New file.
19032         * lib/wchar.in.h (wcpcpy): New declaration.
19033         * lib/wcpcpy.c: New file.
19034         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19035         * m4/wcpcpy.m4: New file.
19036         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19037         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19038         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19039         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19040         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19041
19042 2011-02-05  Bruno Haible  <bruno@clisp.org>
19043
19044         New module 'wcscpy'.
19045         * modules/wcscpy: New file.
19046         * lib/wchar.in.h (wcscpy): New declaration.
19047         * lib/wcscpy.c: New file.
19048         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19049         * m4/wcscpy.m4: New file.
19050         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19051         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19052         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19053         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19054         * doc/posix-functions/wcscpy.texi: Mention the new module.
19055
19056 2011-02-05  Bruno Haible  <bruno@clisp.org>
19057
19058         New module 'wcsnlen'.
19059         * modules/wcsnlen: New file.
19060         * lib/wchar.in.h (wcsnlen): New declaration.
19061         * lib/wcsnlen.c: New file.
19062         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19063         * m4/wcsnlen.m4: New file.
19064         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19065         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19066         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19067         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19068         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19069
19070 2011-02-05  Bruno Haible  <bruno@clisp.org>
19071
19072         New module 'wcslen'.
19073         * modules/wcslen: New file.
19074         * lib/wchar.in.h (wcslen): New declaration.
19075         * lib/wcslen.c: New file.
19076         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19077         * m4/wcslen.m4: New file.
19078         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19079         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19080         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19081         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19082         * doc/posix-functions/wcslen.texi: Mention the new module.
19083
19084 2011-02-05  Bruno Haible  <bruno@clisp.org>
19085
19086         New module 'wmemset'.
19087         * modules/wmemset: New file.
19088         * lib/wchar.in.h (wmemset): New declaration.
19089         * lib/wmemset.c: New file.
19090         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19091         * m4/wmemset.m4: New file.
19092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19094         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19095         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19096         * doc/posix-functions/wmemset.texi: Mention the new module.
19097
19098 2011-02-05  Bruno Haible  <bruno@clisp.org>
19099
19100         New module 'wmemmove'.
19101         * modules/wmemmove: New file.
19102         * lib/wchar.in.h (wmemmove): New declaration.
19103         * lib/wmemmove.c: New file.
19104         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19105         * m4/wmemmove.m4: New file.
19106         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19107         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19108         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19109         HAVE_WMEMMOVE.
19110         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19111         * doc/posix-functions/wmemmove.texi: Mention the new module.
19112
19113 2011-02-05  Bruno Haible  <bruno@clisp.org>
19114
19115         New module 'wmemcpy'.
19116         * modules/wmemcpy: New file.
19117         * lib/wchar.in.h (wmemcpy): New declaration.
19118         * lib/wmemcpy.c: New file.
19119         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19120         * m4/wmemcpy.m4: New file.
19121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19123         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19124         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19125         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19126
19127 2011-02-05  Bruno Haible  <bruno@clisp.org>
19128
19129         New module 'wmemcmp'.
19130         * modules/wmemcmp: New file.
19131         * lib/wchar.in.h (wmemcmp): New declaration.
19132         * lib/wmemcmp.c: New file.
19133         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19134         * m4/wmemcmp.m4: New file.
19135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19137         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19138         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19139         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19140
19141 2011-02-07  Jim Meyering  <meyering@redhat.com>
19142
19143         di-set, ino-map: new modules, from coreutils
19144         * lib/di-set.c: New file.
19145         * lib/di-set.h: Likewise.
19146         * lib/ino-map.c: Likewise.
19147         * lib/ino-map.h: Likewise.
19148         * modules/di-set: Likewise.
19149         * modules/di-set-tests: Likewise.
19150         * modules/ino-map: Likewise.
19151         * modules/ino-map-tests: Likewise.
19152         * tests/test-di-set.c: Likewise.
19153         * tests/test-ino-map.c: Likewise.
19154
19155 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19156
19157         getloadavg: merge minor changes from Emacs
19158
19159         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19160         (getloadavg): Use memset, not bzero.
19161
19162         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19163         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19164         clash (bug#86).
19165
19166 2010-11-14  Bruno Haible  <bruno@clisp.org>
19167
19168         Allow multiple gnulib generated replacements to coexist.
19169         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19170         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19171         * lib/langinfo.in.h (nl_item): Likewise.
19172         * lib/math.in.h (_NaN, NAN): Likewise.
19173         * lib/netdb.in.h (struct addrinfo): Likewise.
19174         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19175         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19176         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19177         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19178         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19179         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19180         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19181         pthread_mutexattr_init, pthread_mutexattr_settype,
19182         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19183         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19184         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19185         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19186         * lib/sched.in.h (struct sched_param): Likewise.
19187         * lib/se-selinux.in.h (security_class_t, security_context_t,
19188         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19189         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19190         lsetfilecon, fsetfilecon, security_check_context,
19191         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19192         Likewise.
19193         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19194         Likewise.
19195         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19196         _gl_function_taking_int_returning_void_t, union sigval,
19197         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19198         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19199         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19200         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19201         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19202         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19203         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19204         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19205         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19206         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19207         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19208         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19209         socklen_t, rpl_fd_isset): Likewise.
19210         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19211         * lib/sys_time.in.h (struct timeval): Likewise.
19212         * lib/sys_times.in.h (struct tms): Likewise.
19213         * lib/sys_utsname.in.h (struct utsname):
19214         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19215         * lib/unistd.in.h (getpagesize): Likewise.
19216         * lib/wchar.in.h (mbstate_t): Likewise.
19217         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19218         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19219         towlower, towupper): Likewise.
19220         Reported by Sam Steingold <sds@gnu.org>.
19221
19222 2011-02-05  Eric Blake  <eblake@redhat.com>
19223
19224         unsetenv: work around Haiku issues
19225         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19226         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19227
19228 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19229
19230         libposix: avoid calling error() within libposix
19231         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19232         is defined.
19233
19234 2011-02-05  Eric Blake  <eblake@redhat.com>
19235
19236         strerror_r-posix: port to cygwin
19237         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19238         implementation.
19239         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19240         * tests/test-strerror_r.c (main): Fix test.
19241         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19242         issue.
19243
19244 2011-02-05  Bruno Haible  <bruno@clisp.org>
19245
19246         New module 'wmemchr'.
19247         * modules/wmemchr: New file.
19248         * lib/wchar.in.h (wmemchr): New declaration.
19249         * lib/wmemchr.c: New file.
19250         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19251         * m4/wmemchr.m4: New file.
19252         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19253         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19254         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19255         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19256         * doc/posix-functions/wmemchr.texi: Mention the new module.
19257
19258 2011-02-04  Eric Blake  <eblake@redhat.com>
19259
19260         fdopendir: detect FreeBSD bug
19261         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19262         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19263
19264 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19265
19266         stdbool: do not define HAVE_STDBOOL_H
19267         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19268         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19269         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19270         imported from the latest Autoconf git.  It was motivated by Emacs,
19271         which uses gnulib but does not need HAVE_STDBOOL_H.
19272
19273 2011-02-04  Bruno Haible  <bruno@clisp.org>
19274
19275         wcsnrtombs: Prepare for new module wwcsnrtombs.
19276         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19277         * lib/wcsnrtombs.c: Include it.
19278         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19279
19280         wcsrtombs: Prepare for new module wwcsrtombs.
19281         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19282         * lib/wcsrtombs.c: Include it.
19283         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19284
19285         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19286         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19287         * lib/mbsnrtowcs.c: Include it.
19288         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19289
19290         mbsrtowcs: Prepare for new module mbsrtowwcs.
19291         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19292         * lib/mbsrtowcs.c: Include it.
19293         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19294
19295 2011-02-04  Bruno Haible  <bruno@clisp.org>
19296
19297         vasnprintf: Reduce use of malloc for small format strings.
19298         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19299         (arguments): Add room for the first 7 arguments.
19300         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19301         (char_directives, u8_directives, u16_directives, u32_directives): Add
19302         room for the first 7 directives.
19303         * lib/printf-parse.c: Include <string.h>.
19304         (PRINTF_PARSE): Change memory handling code so that it uses the first
19305         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19306         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19307         Reported by Pádraig Brady <P@draigbrady.com>.
19308
19309 2011-01-31  Eric Blake  <eblake@redhat.com>
19310
19311         dup2: work around Haiku bug
19312         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19313         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19314         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19315         * tests/test-dup2.c (main): Enhance test.
19316
19317 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19318
19319         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19320         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19321         declared by eglibc 2.11.2.
19322         * lib/stdio.in.h: Likewise.
19323
19324 2011-01-31  Eric Blake  <eblake@redhat.com>
19325
19326         ignore-value: add missing test dependency
19327         * tests/test-ignore-value.c: Revert previous change; stdio.h
19328         provides off_t.
19329         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19330
19331 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19332
19333         mktime: clarify long_int width checking
19334         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19335         the top level, to make it clearer that the assumption about
19336         long_int width is being checked.  See
19337         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19338
19339 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19340
19341         ignore-value: Fix self-test.
19342         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19343
19344 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19345
19346         TYPE_MAXIMUM: avoid theoretically undefined behavior
19347         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19348         negative number, which the C Standard says has undefined behavior.
19349         In practice this is not a problem, but might as well do it by the book.
19350         Reported by Rich Felker and Eric Blake; see
19351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19352         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19353         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19354         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19355         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19356         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19357         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19358
19359         mktime: #undef mktime before #defining it
19360         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19361
19362         mktime: systematically normalize tm_isdst comparisons
19363         * lib/mktime.c (isdst_differ): New function.
19364         (__mktime_internal): Use it systematically for all isdst comparisons.
19365         This completes the fix for libc BZ #6723, and removes the need for
19366         normalizing tm_isdst.  See
19367         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19368         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19369
19370         mktime: fix some integer overflow issues and sidestep the rest
19371
19372         This was prompted by a bug report by Benjamin Lindner for MinGW
19373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19374         His bug is due to signed integer overflow (0 - INT_MIN), and I
19375         I scanned through mktime.c looking for other integer overflow
19376         problems, fixing all the bugs I found.
19377
19378         Although the C Standard says the resulting code is still not safe
19379         in the presence of integer overflow, in practice it should be good
19380         enough for all real-world two's-complement implementations, except
19381         for debugging environments that deliberately trap on integer
19382         overflow (e.g., gcc -ftrapv).
19383
19384         * lib/mktime.c (WRAPV): New macro.
19385         (SHR): Also check that long_int and time_t shift right in the
19386         usual way, before using the fast-but-unportable method.
19387         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19388         used.  The code already assumed two's complement, so there's
19389         no need to test for alternatives.  All uses removed.
19390         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19391         the C standard.  Problem reported by Rich Felker in
19392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19393         (twos_complement_arithmetic): Also check long_int and time_t.
19394         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19395         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19396         (__mktime_internal): Avoid integer overflow with unary subtraction
19397         in two instances where -1 - X is an adequate replacement for -X,
19398         since the calculations are approximate.
19399
19400 2011-01-29  Eric Blake  <eblake@redhat.com>
19401
19402         mktime: avoid infinite loop
19403         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19404         type; behavior is still undefined but portable to all known targets.
19405         Reported by Rich Felker.
19406
19407 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19408
19409         rename, unlink, same-inode: Relicense.
19410         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19411         * modules/unlink (License): Likewise.
19412         * modules/same-inode (License): Likewise.
19413
19414 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19415
19416         mktime: avoid problems on NetBSD 5 / i386
19417         * lib/mktime.c (long_int): New type.  This works around a problem
19418         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19419         but time_t is 64 bits, and where I expect the existing code is
19420         wrong in some cases.
19421         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19422         (ydhms_diff): Bring back the compile-time check for wide-enough
19423         year and yday.
19424
19425         mktime: fix misspelling in comment
19426         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19427         This merges all recent glibc changes of importance.
19428
19429 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19430
19431         move-if-change: cope with concurrent mv of identical file.
19432         * build-aux/move-if-change (CMPPROG): Accept environment
19433         variable as an override for `cmp'.
19434         (usage): Document CMPPROG.
19435         Adjust comparison to drop stdout.  Cope with failure of mv if
19436         the target file exists and is identical to the source, for
19437         parallel builds.
19438         Report from H.J. Lu against binutils in PR binutils/12283.
19439
19440 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19441
19442         * users.txt: Mention sharutils.
19443
19444 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19445
19446         * users.txt: Mention OATH Toolkit.
19447
19448 2011-01-27  Bruno Haible  <bruno@clisp.org>
19449
19450         Prepare for supporting FreeBSD 10.
19451         * build-aux/config.libpath: Remove handling of freebsd1*.
19452
19453 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19454
19455         Prepare for supporting FreeBSD 10.
19456         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19457         match FreeBSD 10.0.
19458
19459 2011-01-27  Bruno Haible  <bruno@clisp.org>
19460
19461         vma-iter, get-rusage-as: Add OpenBSD support.
19462         * modules/vma-iter (configure.ac): Test for mquery.
19463         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19464         * lib/vma-iter.c: Include <sys/mman.h>.
19465         (vma_iterate): Add an implementation based on mquery().
19466         * lib/resource-ext.h (get_rusage_as): Update comments.
19467         * lib/get-rusage-as.c: Likewise.
19468         * lib/get-rusage-data.c: Likewise.
19469
19470 2011-01-26  Karl Berry  <karl@gnu.org>
19471
19472         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19473         variables to make it easier to override the makeinfo program used.
19474
19475 2011-01-26  Eric Blake  <eblake@redhat.com>
19476
19477         fcntl: work around Haiku F_DUPFD bugs
19478         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19479         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19480         cloexec bit on duplication.
19481         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19482
19483 2011-01-26  Bruno Haible  <bruno@clisp.org>
19484
19485         Enable memory leak tests on AIX.
19486         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19487         * tests/test-fprintf-posix3.c (main): Likewise.
19488
19489 2011-01-26  Bruno Haible  <bruno@clisp.org>
19490
19491         Tests for module 'get-rusage-data'.
19492         * modules/get-rusage-data-tests: New file.
19493         * tests/test-get-rusage-data.c: New file.
19494
19495         New module 'get-rusage-data'.
19496         * lib/resource-ext.h (get_rusage_data): New declaration.
19497         * lib/get-rusage-data.c: New file.
19498         * modules/get-rusage-data: New file.
19499
19500 2011-01-25  Bruno Haible  <bruno@clisp.org>
19501
19502         get-rusage-as: Allow for easier testing.
19503         * lib/resource-ext.h (get_rusage_as): Add comment.
19504         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19505         (main): New function for interactive testing.
19506
19507 2011-01-25  Bruno Haible  <bruno@clisp.org>
19508
19509         vma-iter: Treat Haiku like BeOS.
19510         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19511         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19512
19513 2011-01-25  Eric Blake  <eblake@redhat.com>
19514
19515         c-stack: fix regression on cygwin when libsigsegv is present
19516         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19517
19518 2011-01-24  Bruno Haible  <bruno@clisp.org>
19519
19520         vma-iter: Avoid empty intervals.
19521         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19522         on an empty interval.
19523
19524 2011-01-24  Jim Meyering  <meyering@redhat.com>
19525
19526         u64: remove unnecessary #include
19527         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19528
19529 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19530
19531         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19532         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19533
19534 2011-01-23  Bruno Haible  <bruno@clisp.org>
19535
19536         New module 'vma-iter'.
19537         * lib/vma-iter.h: New file.
19538         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19539         * modules/vma-iter: New file.
19540         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19541         for get_rusage_as_via_iterator.
19542         (vma_iterate_callback): New function.
19543         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19544         * modules/get-rusage-as (Depends-on): Add vma-iter.
19545
19546 2011-01-23  Bruno Haible  <bruno@clisp.org>
19547
19548         uninorm: Tweak includes.
19549         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19550         Reported by Jim Meyering.
19551
19552 2011-01-23  Bruno Haible  <bruno@clisp.org>
19553
19554         get-rusage-as: Improve on NetBSD.
19555         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19556         /proc, like on FreeBSD.
19557
19558 2011-01-23  Jim Meyering  <meyering@redhat.com>
19559
19560         xreadlink.h: remove unnecessary #include
19561         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19562
19563         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19564         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19565
19566 2011-01-23  Bruno Haible  <bruno@clisp.org>
19567
19568         get-rusage-as: Fix bug.
19569         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19570         original limit when aborting the first loop.
19571
19572 2011-01-23  Bruno Haible  <bruno@clisp.org>
19573
19574         wctype: Ensure valid C syntax.
19575         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19576         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19577
19578 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19579
19580         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19581         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19582         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19583         as they are needed only for configure's test case.
19584         This removes two unnecessary symbols from config.h.
19585
19586         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19587         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19588         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19589         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19590         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19591         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19592         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19593         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19594         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19595         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19596         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19597         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19598         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19599         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19600         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19601         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19602         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19603         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19604
19605 2011-01-21  Eric Blake  <eblake@redhat.com>
19606
19607         maintainer-makefile: work with older git for submodule check
19608         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19609         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19610         Reported by Matthias Bolte.
19611
19612         bootstrap: minor portability fixes
19613         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19614         (usage): Omit leading capital and trailing . on help phrases, per
19615         GNU Coding Standards.
19616         (check_versions, top level): Prefix messages with script name.
19617
19618 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19619
19620         bootstrap: support --no-git option
19621         * build-aux/bootstrap: Add --no-git option, to be used when
19622         --gnulib-srcdir points to the exact desired checkout.
19623
19624 2011-01-21  Eric Blake  <eblake@redhat.com>
19625
19626         strerror_r-posix: work with glibc 2.13
19627         * lib/strerror_r.c (strerror_r): Fix return type.
19628
19629 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19630             Bruno Haible  <bruno@clisp.org>
19631
19632         uN_strstr: New unit tests.
19633         * modules/unistr/u8-strstr-tests: New file.
19634         * modules/unistr/u16-strstr-tests: New file.
19635         * modules/unistr/u32-strstr-tests: New file.
19636         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19637         * tests/unistr/test-u8-strstr.c: New file.
19638         * tests/unistr/test-u16-strstr.c: New file.
19639         * tests/unistr/test-u32-strstr.c: New file.
19640
19641 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19642             Bruno Haible  <bruno@clisp.org>
19643
19644         Make uN_strstr functions O(n) worst-case.
19645         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19646         16-bit and 32-bit unit cases, use the unibyte algorithm from
19647         lib/mbsstr.c.
19648         * lib/unistr/u8-strstr.c: Include <string.h>.
19649         (UNIT_IS_UINT8_T): New macro.
19650         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19651         (U_STRLEN, U_STRNLEN): New macros.
19652         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19653         (U_STRLEN, U_STRNLEN): New macros.
19654         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19655         (configure.ac): Update required libunistring version.
19656         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19657         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19658         malloca.
19659         (configure.ac): Update required libunistring version.
19660         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19661         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19662         malloca.
19663         (configure.ac): Update required libunistring version.
19664
19665 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19666             Bruno Haible  <bruno@clisp.org>
19667
19668         Prepare for faster uN_strstr functions.
19669         * lib/str-kmp.h: Support definable UNITs.
19670         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19671         needle_len argument.
19672         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19673         * lib/mbscasestr.c (mbscasestr): Likewise.
19674
19675 2011-01-21  Pádraig Brady <P@draigBrady.com>
19676
19677         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19678         * tests/test-malloca.c (main): Unset the environment variable
19679         to greatly speed up the test.
19680         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19681         * modules/malloca-tests: Depend on unsetenv.
19682
19683 2011-01-21  Pádraig Brady <P@draigBrady.com>
19684
19685         ignore-value: remove stdint dependency
19686         * lib/ignore-value.h: Remove <stdint.h>
19687         * modules/ignore-value: Remove stdint dependency.
19688
19689 2011-01-21  Jim Meyering  <meyering@redhat.com>
19690
19691         maint.mk: adjust variable name to be consistent with other gl_ vars
19692         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19693         to be lower case.
19694
19695 2011-01-20  Jim Meyering  <meyering@redhat.com>
19696
19697         maint.mk: make "check" depend on public-submodule-commit by default
19698         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19699
19700 2011-01-20  Bruno Haible  <bruno@clisp.org>
19701
19702         mbfile, mbiter: Complete change from 2008-12-21.
19703         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19704         * m4/mbiter.m4 (gl_MBITER): Likewise.
19705
19706 2011-01-20  Jim Meyering  <meyering@redhat.com>
19707
19708         init.sh: insert space between each function name and "()"
19709         * tests/init.sh: Make it a little easier to see that a function's
19710         name is "warn_", and not "warn" when looking at the first part of
19711         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19712
19713 2011-01-20  Jim Meyering  <meyering@redhat.com>
19714
19715         mountlist: clean up code formatting
19716         * lib/mountlist.c (read_file_system_list): Split a long line,
19717         correct bracing style, use NULL in place of "(struct statfs *)0",
19718         don't parenthesize return value, add spaces around "=" and after
19719         ";-in-for-stmt".
19720
19721 2011-01-14  Markus Duft <mduft@gentoo.org>
19722
19723         mountlist: add support for Interix
19724         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19725         Apply statvfs to all entries of /dev/fs.
19726         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19727         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19728
19729 2011-01-20  Jim Meyering  <meyering@redhat.com>
19730
19731         maint.mk: improve the public-submodule-commit rule
19732         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19733         to suppress printing of its commands... unless V=1.
19734         Add git submodule's --quiet option to suppress printing of e.g.,
19735         "Entering gnulib" output.
19736         "cd" into $(srcdir) before running git submodule.
19737
19738 2011-01-20  Bruno Haible  <bruno@clisp.org>
19739
19740         include_next: Fix bug introduced on 2011-01-18.
19741         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19742         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19743         ac_cv_header_... variable if the second argument is not 'check'.
19744         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19745         gl_NEXT_HEADERS_INTERNAL.
19746
19747 2011-01-20  Bruno Haible  <bruno@clisp.org>
19748
19749         Allow the user to avoid the GNULIB_TEST_* macros.
19750         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19751         Suggested by Paul Eggert.
19752
19753 2011-01-14  Jim Meyering  <meyering@redhat.com>
19754
19755         bootstrap: avoid failure when there is no .gitmodules file
19756         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19757         has been assigned to, even when its value is the empty string.
19758         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19759         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19760         Reported by John W. Eaton <jwe@gnu.org>.
19761
19762 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19763
19764         assume <ctype.h>, ..., <time.h> exist
19765         For years gnulib has been assuming the existence of the headers
19766         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19767         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19768         them, since they don't appear to be needed.
19769         * README (Portability guidelines): Document this.
19770         * lib/flock.c: Assume <fcntl.h> exists.
19771         * lib/regex_internal.h: Assume <locale.h> exists.
19772         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19773         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19774         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19775         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19776         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19777         * m4/regex.m4 (gl_REGEX): Likewise.
19778         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19779         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19780         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19781         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19782         * tests/test-argp.c: Likewise.
19783         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19784
19785         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19786         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19787         AA_APPLE_UNIVERSAL_BUILD.  See
19788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19789         * NEWS: Document this.
19790
19791 2011-01-19  Eric Blake  <eblake@redhat.com>
19792
19793         c-stack: assume stack overflow if SA_SIGINFO unsupported
19794         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19795         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19796         sigaction will work.
19797         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19798         behavior match Linux.
19799         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19800
19801         stdbool-tests: accomodate Haiku
19802         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19803
19804         binary-io: fix O_TEXT on Haiku
19805         * modules/binary-io (Depends-on): Add fcntl-h.
19806         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19807         than blindly undefining O_TEXT.
19808         Reported by Scott McCreary.
19809
19810 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19811
19812         include_next: do not check for standard headers like stddef.h
19813
19814         I found this problem when modifying Emacs to use gnulib.
19815         I noticed that it added HAVE_STDDEF_H to config.h, even though
19816         gnulib always assumes <stddef.h> exists as per README and this
19817         symbol is unnecessary.
19818         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19819         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19820         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19821         faster for headers like stddef.h that are known to exist.
19822         (gl_CHECK_NEXT_HEADERS): Use it.
19823         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19824         rather than gl_CHECK_NEXT_HEADERS.
19825         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19826         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19827
19828 2011-01-18  Eric Blake  <eblake@redhat.com>
19829
19830         ansi-c++-opt: skip C++ dependency style if C++ is unused
19831         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19832         tests when we know C++ compilation is not desired.
19833         Reported by Scott McCreary.
19834
19835 2011-01-18  Bruno Haible  <bruno@clisp.org>
19836
19837         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19838         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19839         (main): Perform test also when getrlimit and setrlimit don't exist or
19840         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19841         limiting the address space size using setrlimit, compare the address
19842         space size before and after the the test.
19843         * tests/test-dprintf-posix2.c: Likewise.
19844         * tests/test-fprintf-posix3.sh: Update skip messages.
19845         * tests/test-dprintf-posix2.sh: Likewise.
19846         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19847         * modules/dprintf-posix-tests (Depends-on): Likewise.
19848         Reported by Bruce Korb <bkorb@gnu.org> and
19849         Gary V. Vaughan <gary@gnu.org>.
19850
19851 2011-01-18  Bruno Haible  <bruno@clisp.org>
19852
19853         get-rusage-as: Improvement for Cygwin.
19854         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19855         areas that are merely reserved.
19856
19857 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19858
19859         strftime: remove dependencies on multibyte modules
19860
19861         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19862         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19863         only if __osf__ is defined, and I suspect OSF doesn't need these
19864         other modules.  If my guess is wrong, we'll need to come up with a
19865         variant of strftime that doesn't need the multibyte modules.
19866
19867         I discovered this problem when attempting modify Emacs to use the
19868         strftime module.  With the previous gnulib, this caused Emacs to
19869         need 31 new files, ranging from lib/config.charset to
19870         m4/wint_t.m4.  This was overkill and I expect would be offputting
19871         to the Emacs maintainers.  After this change, only 6 new files are
19872         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19873         stdbool.m4, and tm_gmtoff.m4.
19874
19875         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19876         Suggested by Bruno Haible in
19877         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19878         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19879         and do not check for wchar.h.
19880         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19881         (Depends-on): Remove mbrlen, mbsinit, wchar.
19882
19883 2011-01-18  Bruno Haible  <bruno@clisp.org>
19884
19885         Tests for module 'get-rusage-as'.
19886         * modules/get-rusage-as-tests: New file.
19887         * tests/test-get-rusage-as.c: New file.
19888
19889         New module 'get-rusage-as'.
19890         * modules/get-rusage-as: New file.
19891         * lib/resource-ext.h: New file.
19892         * lib/get-rusage-as.c: New file.
19893
19894 2011-01-17  Eric Blake  <eblake@redhat.com>
19895
19896         sigaction: relax license from LGPLv3+ to LGPLv2+
19897         * modules/sigaction (License): Relax to LGPLv2+.
19898
19899 2011-01-14  Bruno Haible  <bruno@clisp.org>
19900
19901         filemode: Make function declarations usable in C++ mode.
19902         * lib/filemode.h: Enclose function declarations in extern "C" block.
19903         Reported by John W. Eaton <jwe@gnu.org>.
19904
19905 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19906
19907         save-cwd: no longer include "xgetcwd.h"
19908         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19909         This avoids a compilation failure in projects that use save-cwd
19910         without also using the xgetcwd module.
19911
19912 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19913
19914         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19915         This is so that a program like Emacs, which needs only dtoastr,
19916         does not have to bother with distributing and compiling ftoastr
19917         and ldtoastr.
19918         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19919         * modules/dtoastr, modules/ldtoastr: New files.
19920         * modules/ftoastr: Now works just for 'float'.
19921         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19922         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19923         dtoastr.c, ldtoastr.c.
19924
19925 2011-01-11  Jim Meyering  <meyering@redhat.com>
19926
19927         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19928         There is no need to work around the lack of the fchdir function,
19929         since gnulib can now provide a replacement when required.
19930         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19931         * modules/save-cwd (Depends-on): Add fchdir.
19932
19933 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19934
19935         openat, save-cwd: avoid xmalloc
19936
19937         This removes a direct (but undocumented) dependency of openat on
19938         xalloc, along with an indirect dependency via save-cwd.  It also
19939         removes a dependency of save-cwd on xgetcwd, and thereby
19940         indirectly on xalloc.  This change causes the openat substitute
19941         to fall back on save_cwd when memory is tight, and for save_cwd to
19942         fail instead of dying when memory is tight, but that's good enough.
19943         Problem and initial idea for fix reported by Bastien Roucaries in
19944         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19945
19946         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19947         xalloc.h (for xmalloc).
19948         (openat_proc_name): Use malloc, not xmalloc.
19949         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19950         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19951
19952         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19953         This avoids heap allocation for file names whose lengths are in
19954         the range 512..1023, with the upper bound increasing to at most
19955         4031 depending on the platform's PATH_MAX.  (We do not want
19956         pathmax.h here as it might supply a non-constant PATH_MAX.)
19957         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19958         Perhaps they should be moved to malloca.h?
19959         (OPENAT_BUFFER_SIZE): Use them.
19960
19961 2011-01-10  Bruno Haible  <bruno@clisp.org>
19962
19963         doc: Update users.txt.
19964         * users.txt: Add recutils.
19965
19966 2011-01-09  Karl Berry  <karl@gnu.org>
19967
19968         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19969
19970         * doc/configmake.texi: New file.
19971         * doc/gnulib.texi: Include it.
19972         * modules/configmake: Move documentation from here.
19973
19974 2011-01-09  Bruno Haible  <bruno@clisp.org>
19975
19976         Update to Unicode 6.0.0.
19977         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19978         (get_lbp): Update for Unicode 6.0.0.
19979         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19980         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19981         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19982         U+11001, U+11038..U+11046. Remove U+06DE.
19983         (uc_width): Fix bounds of planes.
19984         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19985         lib/uniwidth/width.c.
19986         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19987         trailing whitespace removed.
19988         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19989         without comments, but with the original copyright notice.
19990         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19991         * lib/unicase/ignorable.h: Likewise.
19992         * lib/unicase/tocasefold.h: Likewise.
19993         * lib/unicase/tolower.h: Likewise.
19994         * lib/unicase/totitle.h: Likewise.
19995         * lib/unicase/toupper.h: Likewise.
19996         * lib/unictype/bidi_of.h: Likewise.
19997         * lib/unictype/blocks.h: Likewise.
19998         * lib/unictype/categ_C.h: Likewise.
19999         * lib/unictype/categ_Cn.h: Likewise.
20000         * lib/unictype/categ_L.h: Likewise.
20001         * lib/unictype/categ_Ll.h: Likewise.
20002         * lib/unictype/categ_Lm.h: Likewise.
20003         * lib/unictype/categ_Lo.h: Likewise.
20004         * lib/unictype/categ_Lu.h: Likewise.
20005         * lib/unictype/categ_M.h: Likewise.
20006         * lib/unictype/categ_Mc.h: Likewise.
20007         * lib/unictype/categ_Me.h: Likewise.
20008         * lib/unictype/categ_Mn.h: Likewise.
20009         * lib/unictype/categ_N.h: Likewise.
20010         * lib/unictype/categ_Nd.h: Likewise.
20011         * lib/unictype/categ_No.h: Likewise.
20012         * lib/unictype/categ_P.h: Likewise.
20013         * lib/unictype/categ_Po.h: Likewise.
20014         * lib/unictype/categ_S.h: Likewise.
20015         * lib/unictype/categ_Sc.h: Likewise.
20016         * lib/unictype/categ_Sk.h: Likewise.
20017         * lib/unictype/categ_Sm.h: Likewise.
20018         * lib/unictype/categ_So.h: Likewise.
20019         * lib/unictype/categ_of.h: Likewise.
20020         * lib/unictype/combining.h: Likewise.
20021         * lib/unictype/ctype_alnum.h: Likewise.
20022         * lib/unictype/ctype_alpha.h: Likewise.
20023         * lib/unictype/ctype_graph.h: Likewise.
20024         * lib/unictype/ctype_lower.h: Likewise.
20025         * lib/unictype/ctype_print.h: Likewise.
20026         * lib/unictype/ctype_punct.h: Likewise.
20027         * lib/unictype/ctype_upper.h: Likewise.
20028         * lib/unictype/decdigit.h: Likewise.
20029         * lib/unictype/digit.h: Likewise.
20030         * lib/unictype/numeric.h: Likewise.
20031         * lib/unictype/pr_alphabetic.h: Likewise.
20032         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20033         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20034         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20035         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20036         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20037         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20038         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20039         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20040         * lib/unictype/pr_case_ignorable.h: Likewise.
20041         * lib/unictype/pr_cased.h: Likewise.
20042         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20043         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20044         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20045         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20046         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20047         * lib/unictype/pr_combining.h: Likewise.
20048         * lib/unictype/pr_composite.h: Likewise.
20049         * lib/unictype/pr_currency_symbol.h: Likewise.
20050         * lib/unictype/pr_decimal_digit.h: Likewise.
20051         * lib/unictype/pr_deprecated.h: Likewise.
20052         * lib/unictype/pr_format_control.h: Likewise.
20053         * lib/unictype/pr_grapheme_base.h: Likewise.
20054         * lib/unictype/pr_grapheme_extend.h: Likewise.
20055         * lib/unictype/pr_grapheme_link.h: Likewise.
20056         * lib/unictype/pr_id_continue.h: Likewise.
20057         * lib/unictype/pr_id_start.h: Likewise.
20058         * lib/unictype/pr_ideographic.h: Likewise.
20059         * lib/unictype/pr_lowercase.h: Likewise.
20060         * lib/unictype/pr_math.h: Likewise.
20061         * lib/unictype/pr_numeric.h: Likewise.
20062         * lib/unictype/pr_other_alphabetic.h: Likewise.
20063         * lib/unictype/pr_other_id_continue.h: Likewise.
20064         * lib/unictype/pr_other_math.h: Likewise.
20065         * lib/unictype/pr_punctuation.h: Likewise.
20066         * lib/unictype/pr_sentence_terminal.h: Likewise.
20067         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20068         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20069         * lib/unictype/pr_unified_ideograph.h: Likewise.
20070         * lib/unictype/pr_uppercase.h: Likewise.
20071         * lib/unictype/pr_xid_continue.h: Likewise.
20072         * lib/unictype/pr_xid_start.h: Likewise.
20073         * lib/unictype/scripts.h: Likewise.
20074         * lib/unictype/scripts_byname.gperf: Likewise.
20075         * lib/unictype/sy_java_ident.h: Likewise.
20076         * lib/unigbrk/gbrkprop.h: Likewise.
20077         * lib/unilbrk/lbrkprop1.h: Likewise.
20078         * lib/unilbrk/lbrkprop2.h: Likewise.
20079         * lib/uninorm/decomposition-table2.h: Likewise.
20080         * lib/uniwbrk/wbrkprop.h: Likewise.
20081         * tests/unicase/test-cased.c: Likewise.
20082         * tests/unicase/test-ignorable.c: Likewise.
20083         * tests/unicase/test-uc_tolower.c: Likewise.
20084         * tests/unicase/test-uc_totitle.c: Likewise.
20085         * tests/unicase/test-uc_toupper.c: Likewise.
20086         * tests/unictype/test-categ_C.c: Likewise.
20087         * tests/unictype/test-categ_Cn.c: Likewise.
20088         * tests/unictype/test-categ_L.c: Likewise.
20089         * tests/unictype/test-categ_Ll.c: Likewise.
20090         * tests/unictype/test-categ_Lm.c: Likewise.
20091         * tests/unictype/test-categ_Lo.c: Likewise.
20092         * tests/unictype/test-categ_Lu.c: Likewise.
20093         * tests/unictype/test-categ_M.c: Likewise.
20094         * tests/unictype/test-categ_Mc.c: Likewise.
20095         * tests/unictype/test-categ_Me.c: Likewise.
20096         * tests/unictype/test-categ_Mn.c: Likewise.
20097         * tests/unictype/test-categ_N.c: Likewise.
20098         * tests/unictype/test-categ_Nd.c: Likewise.
20099         * tests/unictype/test-categ_No.c: Likewise.
20100         * tests/unictype/test-categ_P.c: Likewise.
20101         * tests/unictype/test-categ_Po.c: Likewise.
20102         * tests/unictype/test-categ_S.c: Likewise.
20103         * tests/unictype/test-categ_Sc.c: Likewise.
20104         * tests/unictype/test-categ_Sk.c: Likewise.
20105         * tests/unictype/test-categ_Sm.c: Likewise.
20106         * tests/unictype/test-categ_So.c: Likewise.
20107         * tests/unictype/test-ctype_alnum.c: Likewise.
20108         * tests/unictype/test-ctype_alpha.c: Likewise.
20109         * tests/unictype/test-ctype_graph.c: Likewise.
20110         * tests/unictype/test-ctype_lower.c: Likewise.
20111         * tests/unictype/test-ctype_print.c: Likewise.
20112         * tests/unictype/test-ctype_punct.c: Likewise.
20113         * tests/unictype/test-ctype_upper.c: Likewise.
20114         * tests/unictype/test-decdigit.h: Likewise.
20115         * tests/unictype/test-digit.h: Likewise.
20116         * tests/unictype/test-numeric.h: Likewise.
20117         * tests/unictype/test-pr_alphabetic.c: Likewise.
20118         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20119         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20120         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20121         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20122         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20123         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20124         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20125         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20126         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20127         * tests/unictype/test-pr_cased.c: Likewise.
20128         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20129         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20130         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20131         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20132         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20133         * tests/unictype/test-pr_combining.c: Likewise.
20134         * tests/unictype/test-pr_composite.c: Likewise.
20135         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20136         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20137         * tests/unictype/test-pr_deprecated.c: Likewise.
20138         * tests/unictype/test-pr_format_control.c: Likewise.
20139         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20140         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20141         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20142         * tests/unictype/test-pr_id_continue.c: Likewise.
20143         * tests/unictype/test-pr_id_start.c: Likewise.
20144         * tests/unictype/test-pr_ideographic.c: Likewise.
20145         * tests/unictype/test-pr_lowercase.c: Likewise.
20146         * tests/unictype/test-pr_math.c: Likewise.
20147         * tests/unictype/test-pr_numeric.c: Likewise.
20148         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20149         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20150         * tests/unictype/test-pr_other_math.c: Likewise.
20151         * tests/unictype/test-pr_punctuation.c: Likewise.
20152         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20153         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20154         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20155         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20156         * tests/unictype/test-pr_uppercase.c: Likewise.
20157         * tests/unictype/test-pr_xid_continue.c: Likewise.
20158         * tests/unictype/test-pr_xid_start.c: Likewise.
20159         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20160         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20161         changes.
20162         * lib/unictype/categ_Cc.h: Likewise.
20163         * lib/unictype/categ_Cf.h: Likewise.
20164         * lib/unictype/categ_Co.h: Likewise.
20165         * lib/unictype/categ_Cs.h: Likewise.
20166         * lib/unictype/categ_Lt.h: Likewise.
20167         * lib/unictype/categ_Nl.h: Likewise.
20168         * lib/unictype/categ_Pc.h: Likewise.
20169         * lib/unictype/categ_Pd.h: Likewise.
20170         * lib/unictype/categ_Pe.h: Likewise.
20171         * lib/unictype/categ_Pf.h: Likewise.
20172         * lib/unictype/categ_Pi.h: Likewise.
20173         * lib/unictype/categ_Ps.h: Likewise.
20174         * lib/unictype/categ_Z.h: Likewise.
20175         * lib/unictype/categ_Zl.h: Likewise.
20176         * lib/unictype/categ_Zp.h: Likewise.
20177         * lib/unictype/categ_Zs.h: Likewise.
20178         * lib/unictype/ctype_blank.h: Likewise.
20179         * lib/unictype/ctype_cntrl.h: Likewise.
20180         * lib/unictype/ctype_digit.h: Likewise.
20181         * lib/unictype/ctype_space.h: Likewise.
20182         * lib/unictype/ctype_xdigit.h: Likewise.
20183         * lib/unictype/mirror.h: Likewise.
20184         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20185         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20186         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20187         * lib/unictype/pr_bidi_control.h: Likewise.
20188         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20189         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20190         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20191         * lib/unictype/pr_bidi_pdf.h: Likewise.
20192         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20193         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20194         * lib/unictype/pr_dash.h: Likewise.
20195         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20196         * lib/unictype/pr_diacritic.h: Likewise.
20197         * lib/unictype/pr_extender.h: Likewise.
20198         * lib/unictype/pr_hex_digit.h: Likewise.
20199         * lib/unictype/pr_hyphen.h: Likewise.
20200         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20201         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20202         * lib/unictype/pr_ignorable_control.h: Likewise.
20203         * lib/unictype/pr_iso_control.h: Likewise.
20204         * lib/unictype/pr_join_control.h: Likewise.
20205         * lib/unictype/pr_left_of_pair.h: Likewise.
20206         * lib/unictype/pr_line_separator.h: Likewise.
20207         * lib/unictype/pr_logical_order_exception.h: Likewise.
20208         * lib/unictype/pr_non_break.h: Likewise.
20209         * lib/unictype/pr_not_a_character.h: Likewise.
20210         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20211         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20212         * lib/unictype/pr_other_id_start.h: Likewise.
20213         * lib/unictype/pr_other_lowercase.h: Likewise.
20214         * lib/unictype/pr_other_uppercase.h: Likewise.
20215         * lib/unictype/pr_paired_punctuation.h: Likewise.
20216         * lib/unictype/pr_paragraph_separator.h: Likewise.
20217         * lib/unictype/pr_pattern_syntax.h: Likewise.
20218         * lib/unictype/pr_pattern_white_space.h: Likewise.
20219         * lib/unictype/pr_private_use.h: Likewise.
20220         * lib/unictype/pr_quotation_mark.h: Likewise.
20221         * lib/unictype/pr_radical.h: Likewise.
20222         * lib/unictype/pr_soft_dotted.h: Likewise.
20223         * lib/unictype/pr_space.h: Likewise.
20224         * lib/unictype/pr_titlecase.h: Likewise.
20225         * lib/unictype/pr_variation_selector.h: Likewise.
20226         * lib/unictype/pr_white_space.h: Likewise.
20227         * lib/unictype/pr_zero_width.h: Likewise.
20228         * lib/unictype/sy_c_ident.h: Likewise.
20229         * lib/unictype/sy_c_whitespace.h: Likewise.
20230         * lib/unictype/sy_java_whitespace.h: Likewise.
20231         * lib/uninorm/composition-table.gperf: Likewise.
20232         * lib/uninorm/decomposition-table1.h: Likewise.
20233         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20234         LB8.
20235         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20236         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20237         * modules/unictype/*: Bump version number of expected libunistring
20238         version.
20239
20240 2011-01-09  Bruno Haible  <bruno@clisp.org>
20241
20242         Update to Unicode 5.2.0.
20243         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20244         trailing whitespace removed.
20245
20246 2011-01-09  Bruno Haible  <bruno@clisp.org>
20247
20248         New Unicode character properties, from Unicode 5.2.0.
20249         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20250         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20251         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20252         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20253         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20254         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20255         uc_is_property_cased, uc_is_property_case_ignorable,
20256         uc_is_property_changes_when_lowercased,
20257         uc_is_property_changes_when_uppercased,
20258         uc_is_property_changes_when_titlecased,
20259         uc_is_property_changes_when_casefolded,
20260         uc_is_property_changes_when_casemapped): New declarations.
20261         * lib/unictype/pr_byname.gperf: Add the new properties.
20262         * modules/unictype/property-byname (Depends-on): Depend on the new
20263         properties modules.
20264         * modules/unictype/property-all (Depends-on): Likewise.
20265         * MODULES.html.sh (Unicode string functions): Add
20266         unictype/property-case-ignorable, unictype/property-cased,
20267         unictype/property-changes-when-casefolded,
20268         unictype/property-changes-when-casemapped,
20269         unictype/property-changes-when-lowercased,
20270         unictype/property-changes-when-titlecased,
20271         unictype/property-changes-when-uppercased.
20272
20273         New module 'unictype/property-changes-when-casemapped'.
20274         * modules/unictype/property-changes-when-casemapped: New file.
20275         * lib/unictype/pr_changes_when_casemapped.c: New file.
20276         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20277         generated by gen-uni-tables.
20278         * modules/unictype/property-changes-when-casemapped-tests: New file.
20279         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20280         automatically generated by gen-uni-tables.
20281
20282         New module 'unictype/property-changes-when-casefolded'.
20283         * modules/unictype/property-changes-when-casefolded: New file.
20284         * lib/unictype/pr_changes_when_casefolded.c: New file.
20285         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20286         generated by gen-uni-tables.
20287         * modules/unictype/property-changes-when-casefolded-tests: New file.
20288         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20289         automatically generated by gen-uni-tables.
20290
20291         New module 'unictype/property-changes-when-titlecased'.
20292         * modules/unictype/property-changes-when-titlecased: New file.
20293         * lib/unictype/pr_changes_when_titlecased.c: New file.
20294         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20295         generated by gen-uni-tables.
20296         * modules/unictype/property-changes-when-titlecased-tests: New file.
20297         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20298         automatically generated by gen-uni-tables.
20299
20300         New module 'unictype/property-changes-when-uppercased'.
20301         * modules/unictype/property-changes-when-uppercased: New file.
20302         * lib/unictype/pr_changes_when_uppercased.c: New file.
20303         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20304         generated by gen-uni-tables.
20305         * modules/unictype/property-changes-when-uppercased-tests: New file.
20306         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20307         automatically generated by gen-uni-tables.
20308
20309         New module 'unictype/property-changes-when-lowercased'.
20310         * modules/unictype/property-changes-when-lowercased: New file.
20311         * lib/unictype/pr_changes_when_lowercased.c: New file.
20312         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20313         generated by gen-uni-tables.
20314         * modules/unictype/property-changes-when-lowercased-tests: New file.
20315         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20316         automatically generated by gen-uni-tables.
20317
20318         New module 'unictype/property-case-ignorable'.
20319         * modules/unictype/property-case-ignorable: New file.
20320         * lib/unictype/pr_case_ignorable.c: New file.
20321         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20322         by gen-uni-tables.
20323         * modules/unictype/property-case-ignorable-tests: New file.
20324         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20325         generated by gen-uni-tables.
20326
20327         New module 'unictype/property-cased'.
20328         * modules/unictype/property-cased: New file.
20329         * lib/unictype/pr_cased.c: New file.
20330         * lib/unictype/pr_cased.h: New file, automatically generated by
20331         gen-uni-tables.
20332         * modules/unictype/property-cased-tests: New file.
20333         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20334         gen-uni-tables.
20335
20336 2011-01-09  Bruno Haible  <bruno@clisp.org>
20337
20338         Update to Unicode 5.2.0.
20339         * lib/gen-uni-tables.c (output_predicate, output_category,
20340         output_combclass, output_bidi_category, output_decimal_digit_test,
20341         output_decimal_digit, output_digit_test, output_digit,
20342         output_numeric_test, output_numeric, output_mirror, output_scripts,
20343         output_scripts_byname, output_blocks, output_ident_category): Fix
20344         comment header.
20345         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20346         get_wbp.
20347         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20348         items.
20349         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20350         Changes_When_Lowercased, Changes_When_Uppercased,
20351         Changes_When_Titlecased, Changes_When_Casefolded,
20352         Changes_When_Casemapped.
20353         (is_property_alphabetic, is_property_default_ignorable_code_point):
20354         Update for Unicode 5.2.0.
20355         (is_property_cased, is_property_case_ignorable,
20356         is_property_changes_when_lowercased,
20357         is_property_changes_when_uppercased,
20358         is_property_changes_when_titlecased,
20359         is_property_changes_when_casefolded,
20360         is_property_changes_when_casemapped): New functions.
20361         (output_properties): Output also the properties cased, case_ignorable,
20362         changes_when_lowercased, changes_when_uppercased,
20363         changes_when_titlecased, changes_when_casefolded,
20364         changes_when_casemapped.
20365         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20366         Unicode TR#11 revision 17 -> 19.
20367         (LBP_CP): New enumeration value.
20368         (LBP_*): Adjust values accordingly.
20369         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20370         TR#14 revision 22 -> 24.
20371         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20372         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20373         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20374         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20375         is_WBP_MIDLETTER.
20376         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20377         the code1 and code2 of each composition rule.
20378         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20379         * lib/unicase/ignorable.h: Likewise.
20380         * lib/unicase/tocasefold.h: Likewise.
20381         * lib/unicase/tolower.h: Likewise.
20382         * lib/unicase/totitle.h: Likewise.
20383         * lib/unicase/toupper.h: Likewise.
20384         * lib/unictype/bidi_of.h: Likewise.
20385         * lib/unictype/blocks.h: Likewise.
20386         * lib/unictype/categ_C.h: Likewise.
20387         * lib/unictype/categ_Cf.h: Likewise.
20388         * lib/unictype/categ_Cn.h: Likewise.
20389         * lib/unictype/categ_L.h: Likewise.
20390         * lib/unictype/categ_Ll.h: Likewise.
20391         * lib/unictype/categ_Lm.h: Likewise.
20392         * lib/unictype/categ_Lo.h: Likewise.
20393         * lib/unictype/categ_Lu.h: Likewise.
20394         * lib/unictype/categ_M.h: Likewise.
20395         * lib/unictype/categ_Mc.h: Likewise.
20396         * lib/unictype/categ_Mn.h: Likewise.
20397         * lib/unictype/categ_N.h: Likewise.
20398         * lib/unictype/categ_Nd.h: Likewise.
20399         * lib/unictype/categ_Nl.h: Likewise.
20400         * lib/unictype/categ_No.h: Likewise.
20401         * lib/unictype/categ_P.h: Likewise.
20402         * lib/unictype/categ_Pd.h: Likewise.
20403         * lib/unictype/categ_Po.h: Likewise.
20404         * lib/unictype/categ_S.h: Likewise.
20405         * lib/unictype/categ_Sc.h: Likewise.
20406         * lib/unictype/categ_So.h: Likewise.
20407         * lib/unictype/categ_of.h: Likewise.
20408         * lib/unictype/combining.h: Likewise.
20409         * lib/unictype/ctype_alnum.h: Likewise.
20410         * lib/unictype/ctype_alpha.h: Likewise.
20411         * lib/unictype/ctype_graph.h: Likewise.
20412         * lib/unictype/ctype_lower.h: Likewise.
20413         * lib/unictype/ctype_print.h: Likewise.
20414         * lib/unictype/ctype_punct.h: Likewise.
20415         * lib/unictype/ctype_upper.h: Likewise.
20416         * lib/unictype/decdigit.h: Likewise.
20417         * lib/unictype/digit.h: Likewise.
20418         * lib/unictype/numeric.h: Likewise.
20419         * lib/unictype/pr_alphabetic.h: Likewise.
20420         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20421         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20422         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20423         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20424         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20425         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20426         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20427         * lib/unictype/pr_combining.h: Likewise.
20428         * lib/unictype/pr_composite.h: Likewise.
20429         * lib/unictype/pr_currency_symbol.h: Likewise.
20430         * lib/unictype/pr_dash.h: Likewise.
20431         * lib/unictype/pr_decimal_digit.h: Likewise.
20432         * lib/unictype/pr_deprecated.h: Likewise.
20433         * lib/unictype/pr_diacritic.h: Likewise.
20434         * lib/unictype/pr_extender.h: Likewise.
20435         * lib/unictype/pr_grapheme_base.h: Likewise.
20436         * lib/unictype/pr_grapheme_extend.h: Likewise.
20437         * lib/unictype/pr_grapheme_link.h: Likewise.
20438         * lib/unictype/pr_id_continue.h: Likewise.
20439         * lib/unictype/pr_id_start.h: Likewise.
20440         * lib/unictype/pr_ideographic.h: Likewise.
20441         * lib/unictype/pr_ignorable_control.h: Likewise.
20442         * lib/unictype/pr_logical_order_exception.h: Likewise.
20443         * lib/unictype/pr_lowercase.h: Likewise.
20444         * lib/unictype/pr_numeric.h: Likewise.
20445         * lib/unictype/pr_other_alphabetic.h: Likewise.
20446         * lib/unictype/pr_punctuation.h: Likewise.
20447         * lib/unictype/pr_sentence_terminal.h: Likewise.
20448         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20449         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20450         * lib/unictype/pr_unified_ideograph.h: Likewise.
20451         * lib/unictype/pr_uppercase.h: Likewise.
20452         * lib/unictype/pr_xid_continue.h: Likewise.
20453         * lib/unictype/pr_xid_start.h: Likewise.
20454         * lib/unictype/pr_zero_width.h: Likewise.
20455         * lib/unictype/scripts.h: Likewise.
20456         * lib/unictype/scripts_byname.gperf: Likewise.
20457         * lib/unictype/sy_java_ident.h: Likewise.
20458         * lib/unigbrk/gbrkprop.h: Likewise.
20459         * lib/unilbrk/lbrkprop1.h: Likewise.
20460         * lib/unilbrk/lbrkprop2.h: Likewise.
20461         * lib/unilbrk/lbrktables.h: Likewise.
20462         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20463         LBP_CP. Implement rule LB30.
20464         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20465         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20466         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20467         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20468         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20469         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20470         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20471         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20472         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20473         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20474         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20475         bits instead of 16 bits in the code1 and code2 of each composition
20476         rule.
20477         (uc_composition): Update for Unicode 5.2.0.
20478         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20479         * lib/uninorm/decomposition-table2.h: Likewise.
20480         * lib/uniwbrk/wbrkprop.h: Likewise.
20481         * tests/unicase/test-cased.c: Likewise.
20482         * tests/unicase/test-ignorable.c: Likewise.
20483         * tests/unicase/test-uc_tolower.c: Likewise.
20484         * tests/unicase/test-uc_totitle.c: Likewise.
20485         * tests/unicase/test-uc_toupper.c: Likewise.
20486         * tests/unictype/test-categ_C.c: Likewise.
20487         * tests/unictype/test-categ_Cf.c: Likewise.
20488         * tests/unictype/test-categ_Cn.c: Likewise.
20489         * tests/unictype/test-categ_L.c: Likewise.
20490         * tests/unictype/test-categ_Ll.c: Likewise.
20491         * tests/unictype/test-categ_Lm.c: Likewise.
20492         * tests/unictype/test-categ_Lo.c: Likewise.
20493         * tests/unictype/test-categ_Lu.c: Likewise.
20494         * tests/unictype/test-categ_M.c: Likewise.
20495         * tests/unictype/test-categ_Mc.c: Likewise.
20496         * tests/unictype/test-categ_Mn.c: Likewise.
20497         * tests/unictype/test-categ_N.c: Likewise.
20498         * tests/unictype/test-categ_Nd.c: Likewise.
20499         * tests/unictype/test-categ_Nl.c: Likewise.
20500         * tests/unictype/test-categ_No.c: Likewise.
20501         * tests/unictype/test-categ_P.c: Likewise.
20502         * tests/unictype/test-categ_Pd.c: Likewise.
20503         * tests/unictype/test-categ_Po.c: Likewise.
20504         * tests/unictype/test-categ_S.c: Likewise.
20505         * tests/unictype/test-categ_Sc.c: Likewise.
20506         * tests/unictype/test-categ_So.c: Likewise.
20507         * tests/unictype/test-ctype_alnum.c: Likewise.
20508         * tests/unictype/test-ctype_alpha.c: Likewise.
20509         * tests/unictype/test-ctype_graph.c: Likewise.
20510         * tests/unictype/test-ctype_lower.c: Likewise.
20511         * tests/unictype/test-ctype_print.c: Likewise.
20512         * tests/unictype/test-ctype_punct.c: Likewise.
20513         * tests/unictype/test-ctype_upper.c: Likewise.
20514         * tests/unictype/test-decdigit.h: Likewise.
20515         * tests/unictype/test-digit.h: Likewise.
20516         * tests/unictype/test-numeric.h: Likewise.
20517         * tests/unictype/test-pr_alphabetic.c: Likewise.
20518         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20519         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20520         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20521         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20522         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20523         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20524         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20525         * tests/unictype/test-pr_combining.c: Likewise.
20526         * tests/unictype/test-pr_composite.c: Likewise.
20527         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20528         * tests/unictype/test-pr_dash.c: Likewise.
20529         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20530         * tests/unictype/test-pr_deprecated.c: Likewise.
20531         * tests/unictype/test-pr_diacritic.c: Likewise.
20532         * tests/unictype/test-pr_extender.c: Likewise.
20533         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20534         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20535         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20536         * tests/unictype/test-pr_id_continue.c: Likewise.
20537         * tests/unictype/test-pr_id_start.c: Likewise.
20538         * tests/unictype/test-pr_ideographic.c: Likewise.
20539         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20540         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20541         * tests/unictype/test-pr_lowercase.c: Likewise.
20542         * tests/unictype/test-pr_numeric.c: Likewise.
20543         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20544         * tests/unictype/test-pr_punctuation.c: Likewise.
20545         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20546         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20547         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20548         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20549         * tests/unictype/test-pr_uppercase.c: Likewise.
20550         * tests/unictype/test-pr_xid_continue.c: Likewise.
20551         * tests/unictype/test-pr_xid_start.c: Likewise.
20552         * tests/unictype/test-pr_zero_width.c: Likewise.
20553         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20554         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20555         changed behaviour: line breaking is now disallowed between a letter
20556         or '=' and '('.
20557         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20558         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20559         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20560         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20561         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20562         lib/uniwidth/width.c.
20563         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20564         without comments, but with the original copyright notice.
20565         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20566         changes.
20567         * lib/unictype/categ_Cc.h: Likewise.
20568         * lib/unictype/categ_Co.h: Likewise.
20569         * lib/unictype/categ_Cs.h: Likewise.
20570         * lib/unictype/categ_Lt.h: Likewise.
20571         * lib/unictype/categ_Me.h: Likewise.
20572         * lib/unictype/categ_Pc.h: Likewise.
20573         * lib/unictype/categ_Pe.h: Likewise.
20574         * lib/unictype/categ_Pf.h: Likewise.
20575         * lib/unictype/categ_Pi.h: Likewise.
20576         * lib/unictype/categ_Ps.h: Likewise.
20577         * lib/unictype/categ_Sk.h: Likewise.
20578         * lib/unictype/categ_Sm.h: Likewise.
20579         * lib/unictype/categ_Z.h: Likewise.
20580         * lib/unictype/categ_Zl.h: Likewise.
20581         * lib/unictype/categ_Zp.h: Likewise.
20582         * lib/unictype/categ_Zs.h: Likewise.
20583         * lib/unictype/ctype_blank.h: Likewise.
20584         * lib/unictype/ctype_cntrl.h: Likewise.
20585         * lib/unictype/ctype_digit.h: Likewise.
20586         * lib/unictype/ctype_space.h: Likewise.
20587         * lib/unictype/ctype_xdigit.h: Likewise.
20588         * lib/unictype/mirror.h: Likewise.
20589         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20590         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20591         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20592         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20593         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20594         * lib/unictype/pr_bidi_control.h: Likewise.
20595         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20596         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20597         * lib/unictype/pr_bidi_pdf.h: Likewise.
20598         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20599         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20600         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20601         * lib/unictype/pr_format_control.h: Likewise.
20602         * lib/unictype/pr_hex_digit.h: Likewise.
20603         * lib/unictype/pr_hyphen.h: Likewise.
20604         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20605         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20606         * lib/unictype/pr_iso_control.h: Likewise.
20607         * lib/unictype/pr_join_control.h: Likewise.
20608         * lib/unictype/pr_left_of_pair.h: Likewise.
20609         * lib/unictype/pr_line_separator.h: Likewise.
20610         * lib/unictype/pr_math.h: Likewise.
20611         * lib/unictype/pr_non_break.h: Likewise.
20612         * lib/unictype/pr_not_a_character.h: Likewise.
20613         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20614         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20615         * lib/unictype/pr_other_id_continue.h: Likewise.
20616         * lib/unictype/pr_other_id_start.h: Likewise.
20617         * lib/unictype/pr_other_lowercase.h: Likewise.
20618         * lib/unictype/pr_other_math.h: Likewise.
20619         * lib/unictype/pr_other_uppercase.h: Likewise.
20620         * lib/unictype/pr_paired_punctuation.h: Likewise.
20621         * lib/unictype/pr_paragraph_separator.h: Likewise.
20622         * lib/unictype/pr_pattern_syntax.h: Likewise.
20623         * lib/unictype/pr_pattern_white_space.h: Likewise.
20624         * lib/unictype/pr_private_use.h: Likewise.
20625         * lib/unictype/pr_quotation_mark.h: Likewise.
20626         * lib/unictype/pr_radical.h: Likewise.
20627         * lib/unictype/pr_soft_dotted.h: Likewise.
20628         * lib/unictype/pr_space.h: Likewise.
20629         * lib/unictype/pr_titlecase.h: Likewise.
20630         * lib/unictype/pr_variation_selector.h: Likewise.
20631         * lib/unictype/pr_white_space.h: Likewise.
20632         * lib/unictype/sy_c_ident.h: Likewise.
20633         * lib/unictype/sy_c_whitespace.h: Likewise.
20634         * lib/unictype/sy_java_whitespace.h: Likewise.
20635         * modules/uni*/*: Bump version number of expected libunistring version.
20636         Reported by Simon Josefsson.
20637
20638 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20639
20640         useless-if-before-free: fix typo in --help and make the internal,
20641         automatic version date update process work once again.
20642         --help output contained a NUL character instead of the
20643         backslash-zero that was intended.  Also, the "must lie within
20644         the first 8 lines" line is on line 9, and hence not getting
20645         automatically updated.
20646         * build-aux/useless-if-before-free: Fix the former by adding a
20647         backslash, and the latter by condensing the three lines of what-it-does
20648         to a single line, leaving one line of slack for the future.
20649
20650 2011-01-09  Bruno Haible  <bruno@clisp.org>
20651
20652         uniwidth/width: Fix width of U+1D173..U+1D17A.
20653         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20654         symbolic_width, output_width_property_test): New functions.
20655         (main): Invoke output_nonspacing_property, output_width_property_test.
20656         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20657         U+1D173..U+1D17A.
20658         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20659         1.
20660         * modules/uniwidth/*: Bump version number of expected libunistring
20661         version.
20662         * modules/unilbrk/*: Likewise.
20663
20664 2011-01-08  Bruno Haible  <bruno@clisp.org>
20665
20666         uninorm tests: Preserve copyright of Unicode data file.
20667         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20668         Mention modifications.
20669
20670 2011-01-08  Bruno Haible  <bruno@clisp.org>
20671
20672         gen-uni-tables: Prepare for Unicode 5.2.0.
20673         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20674         (debug_output_lbp, output_lbp): Update.
20675
20676 2011-01-08  Bruno Haible  <bruno@clisp.org>
20677
20678         unilbrk: Clarify gen-uni-tables.c code.
20679         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20680         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20681         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20682
20683 2011-01-07  Bruno Haible  <bruno@clisp.org>
20684
20685         strtod: Restore errno when successfully parsing Infinity or NaN.
20686         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20687         restore the original errno.
20688
20689 2011-01-07  Bruno Haible  <bruno@clisp.org>
20690
20691         remove test: Avoid failure on HP-UX 11.
20692         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20693
20694 2011-01-07  Bruno Haible  <bruno@clisp.org>
20695
20696         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20697         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20698         error code.
20699
20700 2011-01-07  Pádraig Brady <P@draigBrady.com>
20701
20702         ignore-value: fixup comments, and add Eric Blake
20703         as an author since he rewrote the macros.
20704         * lib/ignore-value.h (ignore_value):  State that
20705         we now support aggregates.  Also specify exactly
20706         when the GCC warn_unused_result feature was added.
20707
20708 2011-01-06  Eric Blake  <eblake@redhat.com>
20709
20710         ignore-value: support aggregate types
20711         * lib/ignore-value.h (ignore_value): Provide separate gcc
20712         definition.
20713         * modules/ignore-value-tests: New test module.
20714         * tests/test-ignore-value.c: New test.
20715
20716         maint.mk: improve sc_prohibit_strcmp regex
20717         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20718         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20719         definition of STRNEQ.
20720
20721         signal: work around Haiku issue with SIGBUS
20722         * lib/siglist.h: Add comment.
20723         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20724         strsignal's favoring of SIGSEGV.
20725         * tests/test-signal.c (main): Avoid test failure.
20726         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20727         Reported by Scott McCreary.
20728
20729         maint.mk: add pre-release check to ensure submodule commits are public
20730         * top/maint.mk (public-submodule-commit): New rule.
20731         (submodule-checks): New variable.
20732         (alpha beta stable): Depend on the variable.
20733
20734 2011-01-05  Pádraig Brady <P@draigBrady.com>
20735         and Jim Meyering  <meyering@redhat.com>
20736
20737         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20738         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20739         (ATTRIBUTE_DEPRECATED): Define.
20740         (_ignore_case): New function.
20741         (ignore_value): New macro, to replace the old function.
20742         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20743         * modules/ignore-value (Depends-on): Add stdint.
20744
20745 2011-01-04  Eric Blake  <eblake@redhat.com>
20746
20747         doc: regenerate INSTALL
20748         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20749         @firstparagraphindent support, now that autoconf dropped it.
20750         (INSTALL_PRELUDE): Reinstate old macro.
20751         * doc/install.texi: Resync from autoconf.
20752         * doc/INSTALL: Reflect recent autoconf update.
20753         * doc/INSTALL.ISO: Likewise.
20754         * doc/INSTALL.UTF-8: Likewise.
20755         Reported by Karl Berry.
20756
20757 2011-01-04  Bruce Korb  <address@hidden>
20758
20759         git-version-gen: avoid a sub-shell
20760         * build-aux/git-version-gen: Redirect stderr in `...` via
20761         "exec 2>...", rather than via an added sub-shell.
20762
20763 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20764
20765         git-version-gen: use (...) rather than sh -c '...'
20766         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20767         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20768
20769 2011-01-03  Jim Meyering  <meyering@redhat.com>
20770
20771         git-version-gen: convert leading TABs to spaces
20772         * build-aux/git-version-gen: Expand leading TABs.
20773
20774         git-version-gen: handle failed "git rev-list"
20775         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20776         from git and proceeding as if it had succeeded but printed no SHA1
20777         checksums, suppress the diagnostic and handle the failure.
20778         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20779
20780         git-version-gen: include command name in one more diagnostic
20781         * build-aux/git-version-gen: When the required .tarball-version file
20782         was missing or unreadable, you might see the diagnostic from "cat",
20783         but no trace of the name of the invoking script.  Now, you still see
20784         the diagnostic from cat, but also get one from "git-version-gen: ".
20785         Inspired by a patch from Bruce Korb.
20786
20787         update-copyright: adjust test to match changed code
20788         * tests/test-update-copyright.sh: Change test's expected output
20789         to match new actual output.
20790
20791 2011-01-02  Bruno Haible  <bruno@clisp.org>
20792
20793         getlogin_r: Avoid test failure on HP-UX 11.
20794         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20795         ERANGE when the second argument is zero.
20796         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20797         portability problem.
20798
20799 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20800
20801         * build-aux/update-copyright: doc Simon's changes
20802
20803 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20804
20805         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20806         environment variable.
20807
20808 2011-01-02  Bruno Haible  <bruno@clisp.org>
20809
20810         unigbrk: Avoid gcc warnings.
20811         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20812         unused variable.
20813         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20814         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20815         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20816         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20817         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20818         Change type of first argument to 'const char *'.
20819         (main): Remove unused variable.
20820         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20821         type of first argument to 'const char *'.
20822         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20823         Likewise.
20824         (main): Change type of variable 's'.
20825         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20826         to 'int'.
20827
20828 2011-01-02  Bruno Haible  <bruno@clisp.org>
20829
20830         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20831         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20832         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20833         bug.
20834         * lib/pwrite.c: Undo 2010-12-31 patch.
20835         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20836
20837 2011-01-02  Bruno Haible  <bruno@clisp.org>
20838
20839         pread: Fix test whether it works.
20840         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20841
20842 2011-01-02  Bruno Haible  <bruno@clisp.org>
20843
20844         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20845         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20846         ends in "6". Don't require a specific month name. Try also the locale
20847         names found on HP-UX 11 and Solaris 7.
20848
20849 2011-01-02  Bruno Haible  <bruno@clisp.org>
20850
20851         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20852         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20853         C linkage.
20854         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20855
20856 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20857
20858         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20859         for consistency, since the "cluster" term is not used elsewhere.
20860         * lib/unigbrk.in.h: Update name.
20861         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20862         * lib/unigbrk/u16-grapheme-next.c: Update name.
20863         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20864         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20865         * lib/unigbrk/u32-grapheme-next.c: Update name.
20866         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20867         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20868         * lib/unigbrk/u8-grapheme-next.c: Update name.
20869         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20870         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20871         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20872         Suggested by Bruno Haible.
20873
20874 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20875
20876         Remove module 'u8-grapheme-len' as too redundant with
20877         'u8-grapheme-next'.
20878         * modules/unigbrk/u8-grapheme-len: Delete file.
20879         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20880         * lib/unigbrk.in.h: Remove prototype for deleted function.
20881         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20882         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20883
20884         Remove module 'u16-grapheme-len' as too redundant with
20885         'u16-grapheme-next'.
20886         * modules/unigbrk/u16-grapheme-len: Delete file.
20887         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20888         * lib/unigbrk.in.h: Remove prototype for deleted function.
20889         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20890         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20891
20892         Remove module 'u32-grapheme-len' as too redundant with
20893         'u32-grapheme-next'.
20894         * modules/unigbrk/u32-grapheme-len: Delete file.
20895         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20896         * lib/unigbrk.in.h: Remove prototype for deleted function.
20897         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20898         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20899
20900         Suggested by Bruno Haible.
20901
20902 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20903
20904         * unigbrk.in.h: Fix typo: "ben" => "been".
20905         Reported by Bruno Haible.
20906
20907 2011-01-01  Jim Meyering  <meyering@redhat.com>
20908
20909         maint: update almost all copyright ranges to include 2011
20910         Run the new "make update-copyright" rule.
20911
20912 2011-01-01  Jim Meyering  <meyering@redhat.com>
20913
20914         maint: update-copyright: exempt doc/INSTALL*
20915         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20916         since they are generated.  Suggested by Bruno Haible.
20917
20918 2011-01-01  Jim Meyering  <meyering@redhat.com>
20919
20920         maint: refine the update-copyright rule
20921         * Makefile (update-copyright): Also exclude any file that includes
20922         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20923         code that merely generates the comment.
20924
20925 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20926
20927         New module 'u8-grapheme-len'.
20928         * modules/unigbrk/u8-grapheme-len: New file.
20929         * modules/unigbrk/u8-grapheme-len-tests: New file.
20930         * lib/unigbrk.in.h: Add prototype for new function.
20931         * lib/unigbrk/u8-grapheme-len.c: New file.
20932         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20933
20934         New module 'u16-grapheme-len'.
20935         * modules/unigbrk/u16-grapheme-len: New file.
20936         * modules/unigbrk/u16-grapheme-len-tests: New file.
20937         * lib/unigbrk.in.h: Add prototype for new function.
20938         * lib/unigbrk/u16-grapheme-len.c: New file.
20939         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20940
20941         New module 'u32-grapheme-len'.
20942         * modules/unigbrk/u32-grapheme-len: New file.
20943         * modules/unigbrk/u32-grapheme-len-tests: New file.
20944         * lib/unigbrk.in.h: Add prototype for new function.
20945         * lib/unigbrk/u32-grapheme-len.c: New file.
20946         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20947
20948         New module 'u8-grapheme-next'.
20949         * modules/unigbrk/u8-grapheme-next: New file.
20950         * modules/unigbrk/u8-grapheme-next-tests: New file.
20951         * lib/unigbrk.in.h: Add prototype for new function.
20952         * lib/unigbrk/u8-grapheme-next.c: New file.
20953         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20954
20955         New module 'u16-grapheme-next'.
20956         * modules/unigbrk/u16-grapheme-next: New file.
20957         * modules/unigbrk/u16-grapheme-next-tests: New file.
20958         * lib/unigbrk.in.h: Add prototype for new function.
20959         * lib/unigbrk/u16-grapheme-next.c: New file.
20960         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20961
20962         New module 'u32-grapheme-next'.
20963         * modules/unigbrk/u32-grapheme-next: New file.
20964         * modules/unigbrk/u32-grapheme-next-tests: New file.
20965         * lib/unigbrk.in.h: Add prototype for new function.
20966         * lib/unigbrk/u32-grapheme-next.c: New file.
20967         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20968
20969         New module 'u8-grapheme-prev'.
20970         * modules/unigbrk/u8-grapheme-prev: New file.
20971         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20972         * lib/unigbrk.in.h: Add prototype for new function.
20973         * lib/unigbrk/u8-grapheme-prev.c: New file.
20974         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20975
20976         New module 'u16-grapheme-prev'.
20977         * modules/unigbrk/u16-grapheme-prev: New file.
20978         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20979         * lib/unigbrk.in.h: Add prototype for new function.
20980         * lib/unigbrk/u16-grapheme-prev.c: New file.
20981         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20982
20983         New module 'u32-grapheme-prev'.
20984         * modules/unigbrk/u32-grapheme-prev: New file.
20985         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20986         * lib/unigbrk.in.h: Add prototype for new function.
20987         * lib/unigbrk/u32-grapheme-prev.c: New file.
20988         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20989
20990         New module 'u8-grapheme-breaks'.
20991         * modules/unigbrk/u8-grapheme-breaks: New file.
20992         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20993         * lib/unigbrk.in.h: Add prototype for new function.
20994         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20995         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20996
20997         New module 'u16-grapheme-breaks'.
20998         * modules/unigbrk/u16-grapheme-breaks: New file.
20999         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21000         * lib/unigbrk.in.h: Add prototype for new function.
21001         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21002         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21003
21004         New module 'u32-grapheme-breaks'.
21005         * modules/unigbrk/u32-grapheme-breaks: New file.
21006         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21007         * lib/unigbrk.in.h: Add prototype for new function.
21008         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21009         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21010
21011         New module 'ulc-grapheme-breaks'.
21012         * modules/unigbrk/ulc-grapheme-breaks: New file.
21013         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21014         * m4/locale-ar.m4: New file.
21015         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21016         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21017         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21018
21019 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21020
21021         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21022         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21023         modified how this file was generated before I initially submitted
21024         the module, but failed to regenerate it.  This meant that several
21025         of the level2 entries were wrong.
21026         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21027         Remove the division-by-2 that is folded into the table now that
21028         gbrkprop.h has been regenerated properly.  Now -1 entries are
21029         handled correctly.
21030
21031         New module 'unigbrk/uc-gbrk-prop-tests'.
21032         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21033         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21034         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21035         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21036
21037 2011-01-01  Bruno Haible  <bruno@clisp.org>
21038
21039         Avoid use of hexadecimal escapes.
21040         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21041         instead of hexadecimal escapes.
21042
21043 2011-01-01  Jim Meyering  <meyering@redhat.com>
21044
21045         maint: new rule to update copyright year ranges
21046         * Makefile (update-copyright): New rule.
21047
21048         maint: indent with TABs in Makefile
21049         * Makefile: Expand leading sequences of spaces to TABs
21050
21051         version-etc: update the copyright year it reports
21052         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21053
21054 2010-12-31  Bruno Haible  <bruno@clisp.org>
21055
21056         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21057         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21058         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21059         zero.
21060
21061 2010-12-31  Bruno Haible  <bruno@clisp.org>
21062
21063         pwrite: Work around HP-UX 11.11 bug.
21064         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21065         works and set REPLACE_PWRITE if not.
21066         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21067         function.
21068         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21069
21070 2010-12-31  Bruno Haible  <bruno@clisp.org>
21071
21072         pread: Work around HP-UX 11 bugs.
21073         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21074         and set REPLACE_PREAD if not.
21075         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21076
21077 2010-12-31  Eric Blake  <eblake@redhat.com>
21078
21079         nl_langinfo: fix YESEXPR on Irix 6.5
21080         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21081         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21082         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21083         it.
21084
21085 2010-12-31  Bruno Haible  <bruno@clisp.org>
21086
21087         iconv: Document HP-UX 11 bug.
21088         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21089
21090 2010-12-31  Bruno Haible  <bruno@clisp.org>
21091
21092         ldexpl: Fix link error on HP-UX 11.
21093         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21094         LDEXPL_LIBM, using $ISNANL_LIBM.
21095
21096 2010-12-31  Eric Blake  <eblake@redhat.com>
21097
21098         ftello: avoid compilation failure with SunStudio c89
21099         * lib/ftello.c (ftello): Use lseek, not llseek.
21100
21101         tests: avoid failing coreutils tests on cygwin
21102         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21103         (create_exe_shims_): Return 0 when skipping.
21104
21105 2010-12-31  Bruno Haible  <bruno@clisp.org>
21106
21107         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21108         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21109
21110 2010-12-31  Bruno Haible  <bruno@clisp.org>
21111
21112         waitpid: Fix link error in C++ mode.
21113         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21114
21115 2010-12-31  Bruno Haible  <bruno@clisp.org>
21116
21117         isnan: Use GCC built-ins when possible.
21118         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21119         __builtin_isnan.
21120         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21121         (isnan): Define using GCC built-ins for GCC >= 4.0.
21122
21123 2010-12-31  Bruno Haible  <bruno@clisp.org>
21124
21125         isnand: Fix mistake.
21126         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21127         __builtin_isnand.
21128
21129 2010-12-31  Bruno Haible  <bruno@clisp.org>
21130
21131         open: Avoid C++ error on HP-UX 11.
21132         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21133
21134 2010-12-31  Bruno Haible  <bruno@clisp.org>
21135
21136         time_r: Add missing declarations on HP-UX 11.
21137         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21138         instead of HAVE_LOCALTIME_R.
21139         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21140         HAVE_LOCALTIME_R always.
21141         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21142         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21143         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21144         HAVE_LOCALTIME_R.
21145         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21146         * doc/posix-functions/localtime_r.texi: Likewise.
21147
21148 2010-12-29  Eric Blake  <eblake@redhat.com>
21149
21150         mountlist: tweak previous commit
21151         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21152         Reported by Paul Eggert.
21153
21154         mountlist: fix local drive detection on cygwin
21155         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21156         that works for cygwin.
21157
21158 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21159
21160         ftoastr, snprintf: ftoastr + snprintf module
21161         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21162         since the snprintf module now should be good enough here.
21163         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21164         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21165         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21166         GNULIB_SNPRINTF only for the test directory, and the latter
21167         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21168         seems to suffice by itself.
21169
21170 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21171
21172         alloca: one step towards thread-safety
21173         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21174         need for a static variable.  All callers changed.  This does not
21175         make the alloca replacement thread-safe, but it's one step.
21176
21177         tests: minor indenting change
21178         * tests/init.sh: Sync from coreutils housekeeping patch
21179         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21180         to keep lines within 80 columns.
21181
21182 2010-12-28  Jim Meyering  <meyering@redhat.com>
21183
21184         regex: don't infloop on persistent failing calloc
21185         * lib/regexec.c (build_trtable): Return failure indication upon
21186         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21187         In glibc, this was fixed for version 2.13:
21188         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21189
21190 2010-12-28  Bruno Haible  <bruno@clisp.org>
21191             Paul Eggert <eggert@cs.ucla.edu>
21192
21193         linkat: Make implementation robust against system behaviour variations.
21194         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21195         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21196         way, and to -2 if it needs a generic runtime test.
21197         * lib/linkat.c (solaris_optimized_link_immediate,
21198         solaris_optimized_link_follow): New functions.
21199         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21200         (check_same_link): Use it.
21201
21202 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21203
21204         New module 'unigbrk/base'.
21205         * modules/unigbrk/base: New file.
21206         * lib/unigbrk.in.h: New file.
21207
21208         New module 'unigbrk/uc-gbrk-prop'.
21209         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21210         * modules/unigbrk/uc-gbrk-prop: New file.
21211         * lib/unigbrk/gbrkprop.h: New file.
21212         * lib/unigbrk/uc-gbrk-prop.c: New file.
21213
21214         New module 'unigbrk/uc-is-grapheme-break'.
21215         * modules/unigbrk/uc-is-grapheme-break: New file.
21216         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21217         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21218         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21219         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21220         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21221
21222         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21223
21224 2010-12-27  Bruno Haible  <bruno@clisp.org>
21225
21226         linkat test: Avoid failure on Solaris 11 2010-11.
21227         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21228
21229 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21230
21231         utimens: work around glibc rounding bug on more platforms
21232         * lib/utimens.c (fdutimens): Work around rounding bug even if
21233         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21234         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21235
21236 2010-12-27  Bruno Haible  <bruno@clisp.org>
21237
21238         select tests: Improve comments.
21239         * tests/test-select.c (do_select): Add comments.
21240
21241 2010-12-27  Bruno Haible  <bruno@clisp.org>
21242
21243         select tests: Safer way of handling timeout.
21244         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21245         at every invocation.
21246
21247 2010-12-27  Bruno Haible  <bruno@clisp.org>
21248
21249         select tests: Use 'bool' where appropriate.
21250         * tests/test-select.c (connect_to_socket): Change argument type to
21251         'bool'.
21252
21253 2010-12-27  Bruno Haible  <bruno@clisp.org>
21254
21255         select tests: Use existing modules.
21256         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21257         (configure.ac): Don't test for unistd.h.
21258         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21259         declared in <unistd.h>.
21260
21261 2010-12-27  Bruno Haible  <bruno@clisp.org>
21262
21263         mbrtowc: Work around a Solaris 7 bug.
21264         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21265         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21266         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21267         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21268         MBRTOWC_NULL_ARG1_BUG.
21269         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21270         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21271         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21272         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21273
21274 2010-12-27  Jim Meyering  <meyering@redhat.com>
21275
21276         read-file.c: tweak syntax
21277         * lib/read-file.c (fread_file): Remove space after "*" in function
21278         definitions.
21279
21280 2010-12-27  Bruno Haible  <bruno@clisp.org>
21281
21282         times test: Avoid gcc warnings on OSF/1.
21283         * tests/test-times.c (main): Cast printf arguments from clock_t to
21284         'long int'.
21285
21286 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21287
21288         utimens: work around glibc rounding bug on older Linux kernels
21289         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21290         on Linux with a glibc whose utimes might not work, then work
21291         around a longstanding glibc bug involving rounding rather than
21292         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21293         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21294
21295 2010-12-26  Bruno Haible  <bruno@clisp.org>
21296
21297         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21298         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21299         _GL_CXXALIAS_SYS.
21300         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21301
21302 2010-12-26  Bruno Haible  <bruno@clisp.org>
21303
21304         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21305         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21306         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21307         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21308         looking for the declaration.
21309         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21310         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21311         problem.
21312         * doc/posix-functions/inet_pton.texi: Likewise.
21313
21314 2010-12-26  Bruno Haible  <bruno@clisp.org>
21315
21316         arpa_inet: Use the common idioms with C++ support.
21317         * lib/arpa_inet.in.h: Include c++defs.h.
21318         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21319         support.
21320         * modules/arpa_inet (Depends-on): Add c++defs.
21321         (Makefile.am): Substitute the contents of c++defs.h.
21322         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21323         * modules/arpa_inet-c++-tests: New file.
21324         * tests/test-arpa_inet-c++.cc: New file.
21325
21326 2010-12-25  Bruno Haible  <bruno@clisp.org>
21327
21328         Fix more C++ link errors on Solaris 8.
21329         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21330         $(LIB_EACCESS).
21331         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21332         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21333         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21334         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21335         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21336
21337 2010-12-25  Bruno Haible  <bruno@clisp.org>
21338
21339         printf-posix: Fix link error when a non-GCC compiler is used.
21340         * lib/stdio.in.h (printf): When not using GCC, override printf
21341         correctly.
21342         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21343
21344 2010-12-25  Bruno Haible  <bruno@clisp.org>
21345
21346         strerror_r-posix: Update doc.
21347         * doc/posix-functions/strerror_r.texi: Update doc about the return
21348         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21349
21350 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21351
21352         utimens: simplify the logic of the previous change
21353         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21354         This should not affect whether the test succeeds or fails.
21355
21356         utimens: configure better on hosts with NFS clock skew
21357         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21358         uses the clock of the local host.  It might use the clock of the
21359         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21360         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21361
21362 2010-12-25  Bruno Haible  <bruno@clisp.org>
21363
21364         ptsname test: Avoid failure on Solaris.
21365         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21366         open a pseudo-terminal; don't use BSD-style ptys.
21367         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21368
21369 2010-12-25  Bruno Haible  <bruno@clisp.org>
21370
21371         ptsname: Avoid ERANGE failure on some systems.
21372         * lib/ptsname.c (buffer): Increase size.
21373
21374 2010-12-25  Bruno Haible  <bruno@clisp.org>
21375
21376         rename, renameat: Avoid test failures at NFS mounted locations.
21377         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21378         so that subsequent mkdir calls succeed.
21379
21380 2010-12-25  Bruno Haible  <bruno@clisp.org>
21381
21382         iswblank: Fix C++ link error on Solaris 8.
21383         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21384         _GL_FUNCDECL_SYS.
21385
21386 2010-12-25  Bruno Haible  <bruno@clisp.org>
21387
21388         unistd: Fix C++ link error on Solaris 8.
21389         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21390
21391 2010-12-25  Bruno Haible  <bruno@clisp.org>
21392
21393         readlink doc: Mention an old glibc bug.
21394         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21395
21396 2010-12-25  Bruno Haible  <bruno@clisp.org>
21397
21398         fcntl-h: Fix for use of C++ on glibc systems.
21399         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21400         also on glibc systems in C++ mode.
21401         Reported by Gary V. Vaughan <gary@gnu.org>.
21402
21403 2010-12-25  Bruno Haible  <bruno@clisp.org>
21404
21405         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21406         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21407
21408 2010-12-25  Bruno Haible  <bruno@clisp.org>
21409
21410         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21411         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21412         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21413         test whether truncl works according to ISO C 99 with IEC 60559.
21414         * m4/truncl-ieee.m4: New file.
21415         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21416         m4/signbit.m4.
21417         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21418
21419 2010-12-25  Bruno Haible  <bruno@clisp.org>
21420
21421         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21422         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21423         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21424         test whether ceill works according to ISO C 99 with IEC 60559.
21425         * m4/ceill-ieee.m4: New file.
21426         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21427         m4/signbit.m4.
21428         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21429
21430 2010-12-25  Bruno Haible  <bruno@clisp.org>
21431
21432         Ensure all prerequisites of <wchar.h> are included.
21433         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21434         before <wchar.h>.
21435         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21436         gl_MBRLEN_NUL_RETVAL): Likewise.
21437         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21438         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21439         AC_FUNC_MBRTOWC): Likewise.
21440         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21441         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21442         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21443         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21444         Likewise.
21445         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21446         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21447         (gl_WCHAR_H): Improve comments.
21448         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21449
21450 2010-12-25  Bruno Haible  <bruno@clisp.org>
21451
21452         strtok_r: Fix C syntax error in autoconf macro.
21453         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21454         characters in test program.
21455
21456 2010-12-24  Bruno Haible  <bruno@clisp.org>
21457
21458         ceil, trunc, round: Fix gcc warnings.
21459         * lib/ceil.c (MIN): Undefine before redefining.
21460         * lib/trunc.c (MIN): Likewise.
21461         * lib/round.c (MIN): Likewise.
21462         Include <math.h> first.
21463
21464 2010-12-24  Bruno Haible  <bruno@clisp.org>
21465
21466         select tests: Avoid failures on OSF/1 5.1.
21467         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21468         failure of closing the last socket; it may fail with ECONNRESET.
21469
21470 2010-12-24  Eric Blake  <eblake@redhat.com>
21471
21472         stdint: avoid HP-UX 10.20 preprocessor bug
21473         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21474         than #if.
21475         * tests/test-floor2.c (main): Likewise.
21476         Reported by Peter O'Gorman.
21477
21478         pipe: make obsoletion transition easier
21479         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21480         * modules/pipe (Files): Include revived file.
21481         (Include): Drop reference, to mirror getdate's behavior.
21482
21483 2010-12-24  Bruno Haible  <bruno@clisp.org>
21484
21485         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21486         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21487         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21488         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21489
21490 2010-12-24  Bruno Haible  <bruno@clisp.org>
21491
21492         gethostname: Ensure declaration on NonStop Kernel.
21493         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21494         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21495
21496 2010-12-24  Bruno Haible  <bruno@clisp.org>
21497
21498         sys_select: Ensure all necessary types on NonStop Kernel.
21499         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21500         include <sys/time.h>.
21501         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21502         NonStop Kernel.
21503         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21504
21505 2010-12-24  Bruno Haible  <bruno@clisp.org>
21506
21507         sys_select: Remove unneeded include.
21508         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21509         have <sys/select.h>.
21510
21511 2010-12-24  Bruno Haible  <bruno@clisp.org>
21512
21513         gethostname: Provide a fallback for HOST_NAME_MAX.
21514         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21515         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21516         instead.
21517         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21518
21519 2010-12-24  Bruno Haible  <bruno@clisp.org>
21520
21521         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21522         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21523         (SA_RESTART): Likewise.
21524         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21525
21526 2010-12-24  Bruno Haible  <bruno@clisp.org>
21527
21528         signal: Define NSIG.
21529         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21530         * tests/test-signal.c (nsig): New variable.
21531         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21532
21533 2010-12-24  Bruno Haible  <bruno@clisp.org>
21534
21535         rename, renameat: Avoid test failures on OSF/1 5.1.
21536         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21537         alternative error codes.
21538         * tests/test-renameat.c (main): Likewise.
21539
21540 2010-12-24  Bruno Haible  <bruno@clisp.org>
21541
21542         *printf: Detect large precisions bug on Solaris 10/SPARC.
21543         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21544         by Paul Eggert.
21545         * tests/test-snprintf-posix.h (test_function): Add this test code here
21546         too.
21547         * tests/test-sprintf-posix.h (test_function): Likewise.
21548         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21549         * tests/test-vasprintf-posix.c (test_function): Likewise.
21550         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21551         around by gnulib.
21552         * doc/posix-functions/printf.texi: Likewise.
21553         * doc/posix-functions/snprintf.texi: Likewise.
21554         * doc/posix-functions/sprintf.texi: Likewise.
21555         * doc/posix-functions/vfprintf.texi: Likewise.
21556         * doc/posix-functions/vprintf.texi: Likewise.
21557         * doc/posix-functions/vsnprintf.texi: Likewise.
21558         * doc/posix-functions/vsprintf.texi: Likewise.
21559         * doc/posix-functions/dprintf.texi: Undo last commit.
21560         * doc/posix-functions/vdprintf.texi: Likewise.
21561
21562 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21563
21564         tests: port test-fdutimensat.c to Solaris 8
21565         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21566         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21567         On Solaris 8, it fails with errno == ENOSYS, because there is no
21568         futimens (so it can't use the fd), and there is no lutimens (so it
21569         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21570
21571         vsnprintf: make more consistent with snprintf; doc fixes
21572
21573         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21574         the byte count return problem was promoted from the snprintf-posix
21575         to the snprintf module.
21576         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21577         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21578         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21579         * tests/test-snprintf.c (main): Check the byte count returned.
21580         * tests/test-vsnprintf.c (main): Likewise.
21581
21582 2010-12-23  Eric Blake  <eblake@redhat.com>
21583
21584         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21585         * modules/sigpipe (License): Relax license.
21586
21587 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21588
21589         doc: document Solaris printf bug with large float precisions
21590         * doc/posix-functions/dprintf.texi (dprintf):
21591         * doc/posix-functions/fprintf.texi (fprintf):
21592         * doc/posix-functions/printf.texi (printf):
21593         * doc/posix-functions/snprintf.texi (snprintf):
21594         * doc/posix-functions/sprintf.texi (sprintf):
21595         * doc/posix-functions/vdprintf.texi (vdprintf):
21596         * doc/posix-functions/vfprintf.texi (vfprintf):
21597         * doc/posix-functions/vprintf.texi (vprintf):
21598         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21599         * doc/posix-functions/vsprintf.texi (vsprintf):
21600         Mention that these functions mishandle large floating point
21601         precisions on Solaris 10.  The same bug is also present in Solaris
21602         8, and I assume earlier.  This causes "cd gnulib-tests; make
21603         check" to fail on Solaris 8 (and I assume, later) when building
21604         the latest coreutils, in test-vasprintf-posix's call to
21605         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21606         the wide flavors (e.g., wprintf) so this patch just updates the
21607         documentation for the narrow ones.
21608
21609         test-posixtm.c: add two tests
21610         * tests/test-posixtm.c: Add two tests, to highlight the
21611         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21612         around this bug; this is merely to document it.
21613
21614 2010-12-22  Bruno Haible  <bruno@clisp.org>
21615
21616         getlogin_r: Work around portability problem on OSF/1.
21617         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21618         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21619         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21620         test for a truncated result.
21621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21622         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21623         * modules/getlogin_r (Depends-on): Add memchr.
21624         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21625
21626 2010-12-22  Bruno Haible  <bruno@clisp.org>
21627
21628         ptsname: Avoid test failure on OSF/1 5.1.
21629         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21630         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21631         (same_slave): New function.
21632         (main): Use it to compare ptsname's result with the expected file name.
21633
21634 2010-12-22  Bruno Haible  <bruno@clisp.org>
21635
21636         Port extended stdio modules to HP NonStop Kernel.
21637         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21638         macros.
21639         * lib/fbufmode.c: Update comments.
21640         * lib/fflush.c: Likewise.
21641         * lib/fpurge.c: Likewise.
21642         * lib/freadable.c: Likewise.
21643         * lib/freadahead.c: Likewise.
21644         * lib/freading.c: Likewise.
21645         * lib/freadptr.c: Likewise.
21646         * lib/freadseek.c: Likewise.
21647         * lib/fseeko.c: Likewise.
21648         * lib/fseterr.c: Likewise.
21649         * lib/fwritable.c: Likewise.
21650         * lib/fwriting.c: Likewise.
21651         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21652
21653 2010-12-22  Bruno Haible  <bruno@clisp.org>
21654
21655         ttyname_r: Work around bug on OSF/1 5.1.
21656         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21657         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21658         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21659         present.
21660         * lib/ttyname_r.c (ttyname_r): Update comments.
21661
21662 2010-12-22  Bruno Haible  <bruno@clisp.org>
21663
21664         round: Implement result sign according to IEEE 754.
21665         * lib/round.c (MIN, MINUS_ZERO): New macros.
21666         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21667         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21668         * tests/test-round-ieee.c (main): Likewise.
21669         * tests/test-roundl-ieee.c (main): Likewise.
21670
21671         trunc: Implement result sign according to IEEE 754.
21672         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21673         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21674         * tests/test-trunc2.c: Include minus-zero.h.
21675         (MINUS_ZERO): New macro.
21676         (trunc_reference): Keep in sync with lib/trunc.c.
21677         * tests/test-truncf2.c: Include minus-zero.h.
21678         (MINUS_ZERO): New macro.
21679         (truncf_reference): Keep in sync with lib/trunc.c.
21680         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21681         * tests/test-trunc-ieee.c (main): Likewise.
21682         * tests/test-truncl-ieee.c (main): Likewise.
21683
21684         ceil: Implement result sign according to IEEE 754.
21685         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21686         (FUNC): Return -0.0 for -1 < x < 0.
21687         * tests/test-ceil2.c: Include minus-zero.h.
21688         (MINUS_ZERO): New macro.
21689         (ceil_reference): Keep in sync with lib/ceil.c.
21690         * tests/test-ceilf2.c: Include minus-zero.h.
21691         (MINUS_ZERO): New macro.
21692         (ceilf_reference): Keep in sync with lib/ceil.c.
21693         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21694         * tests/test-ceil-ieee.c (main): Likewise.
21695         * tests/test-ceill-ieee.c (main): Likewise.
21696
21697         floor: Implement result sign according to IEEE 754.
21698         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21699         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21700         * tests/test-floorf2.c (floorf_reference): Likewise.
21701         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21702         * tests/test-floor-ieee.c (main): Likewise.
21703         * tests/test-floorl-ieee.c (main): Likewise.
21704
21705 2010-12-22  Bruno Haible  <bruno@clisp.org>
21706
21707         getaddrinfo: Update doc.
21708         * doc/posix-functions/gai_strerror.texi: Return type is also different
21709         on AIX and HP-UX.
21710
21711 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21712
21713         getaddrinfo, inet_ntop: Update doc for Solaris.
21714         * doc/posix-functions/gai_strerror.texi: Return type is also an
21715         issue on Solaris 9 and earlier.
21716         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21717         on Solaris 10 and earlier.
21718
21719 2010-12-21  Bruno Haible  <bruno@clisp.org>
21720
21721         New module 'roundl-ieee'.
21722         * modules/roundl-ieee: New file.
21723         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21724         test whether roundl works according to ISO C 99 with IEC 60559.
21725         * m4/roundl-ieee.m4: New file.
21726         * modules/roundl-ieee-tests: New file.
21727         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21728         * tests/test-roundl.c (main): Remove signbit tests.
21729         * modules/roundl-tests (Depends-on): Remove signbit.
21730         * doc/posix-functions/roundl.texi: Mention the new module.
21731
21732 2010-12-21  Bruno Haible  <bruno@clisp.org>
21733
21734         New module 'truncl-ieee'.
21735         * modules/truncl-ieee: New file.
21736         * modules/truncl-ieee-tests: New file.
21737         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21738         * tests/test-truncl.c (main): Remove signbit tests.
21739         * modules/truncl-tests (Depends-on): Remove signbit.
21740         * doc/posix-functions/truncl.texi: Mention the new module.
21741
21742 2010-12-21  Bruno Haible  <bruno@clisp.org>
21743
21744         New module 'ceill-ieee'.
21745         * modules/ceill-ieee: New file.
21746         * modules/ceill-ieee-tests: New file.
21747         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21748         * tests/test-ceill.c (main): Remove signbit tests.
21749         * modules/ceill-tests (Depends-on): Remove signbit.
21750         * doc/posix-functions/ceill.texi: Mention the new module.
21751
21752 2010-12-21  Bruno Haible  <bruno@clisp.org>
21753
21754         New module 'floorl-ieee'.
21755         * modules/floorl-ieee: New file.
21756         * modules/floorl-ieee-tests: New file.
21757         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21758         * tests/test-floorl.c (main): Remove signbit tests.
21759         * modules/floorl-tests (Depends-on): Remove signbit.
21760         * doc/posix-functions/floorl.texi: Mention the new module.
21761
21762 2010-12-21  Bruno Haible  <bruno@clisp.org>
21763
21764         New module 'round-ieee'.
21765         * modules/round-ieee: New file.
21766         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21767         whether round works according to ISO C 99 with IEC 60559.
21768         * m4/round-ieee.m4: New file.
21769         * modules/round-ieee-tests: New file.
21770         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21771         * tests/test-round1.c (main): Remove signbit tests.
21772         * modules/round-tests (Depends-on): Remove 'signbit'.
21773         * doc/posix-functions/round.texi: Mention the new module.
21774
21775 2010-12-21  Bruno Haible  <bruno@clisp.org>
21776
21777         New module 'trunc-ieee'.
21778         * modules/trunc-ieee: New file.
21779         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21780         whether trunc works according to ISO C 99 with IEC 60559.
21781         * m4/trunc-ieee.m4: New file.
21782         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21784         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21785         * modules/trunc-ieee-tests: New file.
21786         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21787         * tests/test-trunc1.c (main): Remove signbit tests.
21788         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21789         * doc/posix-functions/trunc.texi: Mention the new module.
21790
21791 2010-12-21  Bruno Haible  <bruno@clisp.org>
21792
21793         New module 'ceil-ieee'.
21794         * modules/ceil-ieee: New file.
21795         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21796         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21797         ISO C 99 with IEC 60559.
21798         * m4/ceil-ieee.m4: New file.
21799         * modules/ceil (Files): Add lib/ceil.c.
21800         (Depends-on): Add 'float'.
21801         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21802         * lib/math.in.h (ceil): New declaration.
21803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21804         REPLACE_CEIL.
21805         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21806         * modules/ceil-ieee-tests: New file.
21807         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21808         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21809         * doc/posix-functions/ceil.texi: Mention the new module.
21810
21811 2010-12-21  Bruno Haible  <bruno@clisp.org>
21812
21813         New module 'floor-ieee'.
21814         * modules/floor-ieee: New file.
21815         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21816         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21817         ISO C 99 with IEC 60559.
21818         * m4/floor-ieee.m4: New file.
21819         * modules/floor (Files): Add lib/floor.c.
21820         (Depends-on): Add 'float'.
21821         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21822         * lib/math.in.h (floor): New declaration.
21823         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21824         REPLACE_FLOOR.
21825         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21826         * modules/floor-ieee-tests: New file.
21827         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21828         * tests/test-math-c++.cc: Check the signature of 'floor'.
21829         * doc/posix-functions/floor.texi: Mention the new module.
21830
21831 2010-12-21  Bruno Haible  <bruno@clisp.org>
21832
21833         New module 'roundf-ieee'.
21834         * modules/roundf-ieee: New file.
21835         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21836         test whether roundf works according to ISO C 99 with IEC 60559.
21837         * m4/roundf-ieee.m4: New file.
21838         * modules/roundf-ieee-tests: New file.
21839         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21840         * tests/test-roundf1.c (main): Remove signbit tests.
21841         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21842         * doc/posix-functions/roundf.texi: Mention the new module.
21843
21844 2010-12-21  Bruno Haible  <bruno@clisp.org>
21845
21846         New module 'truncf-ieee'.
21847         * modules/truncf-ieee: New file.
21848         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21849         test whether truncf works according to ISO C 99 with IEC 60559.
21850         * m4/truncf-ieee.m4: New file.
21851         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21853         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21854         * modules/truncf-ieee-tests: New file.
21855         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21856         * tests/test-truncf1.c (main): Remove signbit tests.
21857         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21858         * doc/posix-functions/truncf.texi: Mention the new module.
21859
21860 2010-12-21  Bruno Haible  <bruno@clisp.org>
21861
21862         New module 'ceilf-ieee'.
21863         * modules/ceilf-ieee: New file.
21864         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21865         test whether ceilf works according to ISO C 99 with IEC 60559.
21866         * m4/ceilf-ieee.m4: New file.
21867         * modules/ceilf-ieee-tests: New file.
21868         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21869         * tests/test-ceilf1.c (main): Remove signbit tests.
21870         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21871         * doc/posix-functions/ceilf.texi: Mention the new module.
21872
21873 2010-12-21  Bruno Haible  <bruno@clisp.org>
21874
21875         New module 'floorf-ieee'.
21876         * modules/floorf-ieee: New file.
21877         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21878         test whether floorf works according to ISO C 99 with IEC 60559.
21879         * m4/floorf-ieee.m4: New file.
21880         * modules/floorf-ieee-tests: New file.
21881         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21882         * tests/test-floorf1.c (main): Remove signbit tests.
21883         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21884         * doc/posix-functions/floorf.texi: Mention the new module.
21885
21886 2010-12-21  Bruno Haible  <bruno@clisp.org>
21887
21888         Support for minus zero in autoconf macros.
21889         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21890         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21891         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21892         * tests/minus-zero.h: Update comments.
21893
21894 2010-12-21  Bruno Haible  <bruno@clisp.org>
21895
21896         Tests for module 'ceil'.
21897         * modules/ceil-tests: New file.
21898         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21899         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21900
21901 2010-12-21  Bruno Haible  <bruno@clisp.org>
21902
21903         Tests for module 'floor'.
21904         * modules/floor-tests: New file.
21905         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21906         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21907
21908 2010-12-21  Bruno Haible  <bruno@clisp.org>
21909
21910         math: Fix indentation.
21911         * lib/math.in.h (floorf): Fix indentation.
21912
21913 2010-12-21  Bruno Haible  <bruno@clisp.org>
21914
21915         Fix cross-compilation guesses on Solaris.
21916         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21917         not match "solaris2.10".
21918         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21919         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21920         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21921
21922 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21923
21924         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21925         This fixes a problem observed with the latest coreutils snapshot
21926         that caused a test to fail on Solaris 8.  src/csplit.c's call
21927         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21928         earlier, instead of returning the number of bytes that would have
21929         been generated; this causes csplit to incorrectly report memory
21930         exhaustion.
21931         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21932         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21933         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21934         comments to match.
21935         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21936         Fix typo in matching older versions of Solaris: "solaris2.10"
21937         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21938         only for guessing while cross-compiling.
21939         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21940
21941 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21942
21943         ftoastr: fix comment again
21944         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21945         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21946         Also, simplify example a bit by using flags = 0.
21947
21948 2010-12-20  Bruno Haible  <bruno@clisp.org>
21949
21950         round*, trunc*: Update documentation regarding glibc.
21951         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21952         * doc/posix-functions/round.texi: Likewise.
21953         * doc/posix-functions/roundl.texi: Likewise.
21954         * doc/posix-functions/truncf.texi: Likewise.
21955         * doc/posix-functions/trunc.texi: Likewise.
21956         * doc/posix-functions/truncl.texi: Likewise.
21957
21958 2010-12-20  Bruno Haible  <bruno@clisp.org>
21959
21960         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21961         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21962         * doc/posix-functions/round.texi: Likewise.
21963         * doc/posix-functions/roundl.texi: Likewise.
21964
21965 2010-12-20  Bruno Haible  <bruno@clisp.org>
21966
21967         ttyname_r: Add missing declaration on HP-UX 11.
21968         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21969         HAVE_TTYNAME_R.
21970         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21971         declared. Set HAVE_TTYNAME_R always.
21972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21973         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21974         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21975         HAVE_TTYNAME_R.
21976         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21977
21978 2010-12-20  Bruno Haible  <bruno@clisp.org>
21979
21980         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21981         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21982         * doc/posix-functions/getlogin_r.texi: Likewise.
21983         * tests/test-getlogin.c: Include <errno.h>.
21984         (main): Avoid test failure on HP-UX 11.11.
21985         * tests/test-getlogin_r.c (main): Likewise.
21986
21987 2010-12-20  Bruno Haible  <bruno@clisp.org>
21988
21989         getlogin_r: Add missing declaration on HP-UX 11.
21990         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21991         declared also when it exists as a function.
21992         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21993
21994 2010-12-20  Bruno Haible  <bruno@clisp.org>
21995
21996         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21997         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21998         through wcrtomb.
21999
22000 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22001
22002         ftoastr: fix comment
22003         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22004         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22005
22006 2010-12-19  Bruno Haible  <bruno@clisp.org>
22007
22008         isnan: Ensure it is a macro.
22009         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22010         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22011         Solaris.
22012
22013 2010-12-19  Bruno Haible  <bruno@clisp.org>
22014
22015         ldexpl test: Fix link error on OSF/1 5.1.
22016         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22017
22018 2010-12-19  Bruno Haible  <bruno@clisp.org>
22019
22020         wctype: Make it work in C++ mode on OSF/1 5.1.
22021         * lib/wctype.in.h (iswblank): Declare but not define here.
22022         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22023         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22024         * modules/wctype (Files): Add lib/iswblank.c.
22025
22026 2010-12-19  Bruno Haible  <bruno@clisp.org>
22027
22028         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22029         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22030         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22031
22032 2010-12-19  Bruno Haible  <bruno@clisp.org>
22033
22034         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22035         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22036         _POSIX_PII_SOCKET.
22037         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22038         * doc/posix-functions/recvfrom.texi: Likewise.
22039         * doc/posix-functions/send.texi: Likewise.
22040         * doc/posix-functions/sendto.texi: Likewise.
22041
22042 2010-12-19  Bruno Haible  <bruno@clisp.org>
22043
22044         tcgetsid: Add missing declaration on OSF/1 5.1.
22045         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22046         HAVE_TCGETSID.
22047         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22048         Don't set HAVE_TCGETSID.
22049         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22050         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22051         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22052         HAVE_TCGETSID.
22053         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22054
22055 2010-12-19  Bruno Haible  <bruno@clisp.org>
22056
22057         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22058         * lib/stdio.in.h: During the include_next statement, let recursive
22059         includes of this file include only the system header file.
22060
22061 2010-12-19  Bruno Haible  <bruno@clisp.org>
22062
22063         iconv_open: Fix regression from 2010-12-04.
22064         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22065         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22066
22067 2010-12-19  Bruno Haible  <bruno@clisp.org>
22068
22069         stdbool test: Avoid a gcc warning.
22070         * tests/test-stdbool.c (main): Fail if e1 is false.
22071         Reported by Jim Meyering.
22072
22073 2010-12-19  Jim Meyering  <meyering@redhat.com>
22074
22075         setenv: restore to working order
22076         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22077         mistakenly removed.
22078         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22079         HAVE_SETENV.
22080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22081         HAVE_SETENV.
22082
22083 2010-12-19  Bruno Haible  <bruno@clisp.org>
22084
22085         Document some different function declarations on OSF/1 5.1.
22086         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22087         * doc/posix-functions/inet_ntop.texi: Likewise.
22088         * doc/posix-functions/gethostname.texi: Likewise.
22089         * lib/unistd.in.h (gethostname): Update comment.
22090
22091 2010-12-19  Bruno Haible  <bruno@clisp.org>
22092
22093         doc: Mention vasprintf-posix module.
22094         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22095         the 'vasprintf-posix' module.
22096         * doc/glibc-functions/vasprintf.texi: Likewise.
22097
22098 2010-12-19  Bruno Haible  <bruno@clisp.org>
22099
22100         unsetenv: Add missing declaration on OSF/1 5.1.
22101         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22102         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22103         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22104         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22105         not HAVE_UNSETENV.
22106         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22107         HAVE_UNSETENV.
22108         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22109
22110 2010-12-19  Bruno Haible  <bruno@clisp.org>
22111
22112         setenv: Add missing declaration on OSF/1 5.1.
22113         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22114         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22115         declared. Don't set HAVE_SETENV.
22116         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22117         not HAVE_SETENV.
22118         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22119         HAVE_SETENV.
22120         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22121
22122 2010-12-19  Bruno Haible  <bruno@clisp.org>
22123
22124         nl_langinfo tests: Avoid gcc warning.
22125         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22126
22127 2010-12-19  Bruno Haible  <bruno@clisp.org>
22128
22129         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22130         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22131         _GL_CXXALIAS_SYS.
22132
22133 2010-12-19  Bruno Haible  <bruno@clisp.org>
22134
22135         stdbool: Relax test.
22136         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22137         address to 'bool' work in static initializer, for compilers other than
22138         GCC.
22139
22140 2010-12-19  Bruno Haible  <bruno@clisp.org>
22141
22142         ftello: Add missing declaration on OSF/1 5.1.
22143         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22144         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22146         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22147         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22148
22149 2010-12-19  Bruno Haible  <bruno@clisp.org>
22150
22151         fseeko: Add missing declaration on OSF/1 5.1.
22152         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22153         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22155         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22156         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22157
22158 2010-12-19  Bruno Haible  <bruno@clisp.org>
22159
22160         fchdir: Add missing declaration on OSF/1 5.1.
22161         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22162         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22164         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22165         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22166
22167 2010-12-19  Bruno Haible  <bruno@clisp.org>
22168
22169         relocatable-prog-wrapper: Separate from relocatable-prog.
22170         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22171         uninstall-relocwrapper rule here.
22172         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22173         Reported by Ian Beckwith <ianb@erislabs.net>.
22174
22175 2010-12-19  Bruno Haible  <bruno@clisp.org>
22176
22177         unistr/u8-mbsnlen: Add missing dependency.
22178         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22179         Reported by Ian Beckwith <ianb@erislabs.net>.
22180
22181 2010-12-19  Bruno Haible  <bruno@clisp.org>
22182
22183         iconv: Make it possible again to use this module without 'iconv-h'.
22184         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22185         if it is not defined.
22186         Reported by Ian Beckwith <ianb@erislabs.net>.
22187
22188 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22189
22190         acl: port to Solaris 8 when copying from tmpfs to ufs
22191         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22192         error number.  Problem observed on Solaris 8 with latest
22193         coreutils, with "mv A B", where A is on a tmpfs file system and B
22194         is on a ufs file system.  This caused coreutils' mv/part-symlink
22195         test to fail.
22196
22197         tests: set fail=0 at start
22198         * tests/init.sh (setup_): Move fail=0 initialization here ...
22199         (mktempd_): ... from here, so that tests can rely on fail being
22200         set to 0 initially.  This fixes a problem in coreutils; see:
22201         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22202
22203 2010-12-18  Bruno Haible  <bruno@clisp.org>
22204
22205         memmem-simple: Stylistic changes.
22206         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22207         Fix preprocessor directive indentation.
22208
22209 2010-12-15  Pádraig Brady <P@draigBrady.com>
22210
22211         memmem, memmem-simple: reorganize and expand empty needle check
22212         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22213         functional checks to memmem-simple so that one has a fully functional
22214         memmem by using just this module.
22215         Restrict the performance only check to the memmem module.
22216         Also expand the empty needle check to ensure the correct
22217         pointer is returned, not just a non NULL pointer.
22218         * doc/glibc-functions/memmem.texi: Rearrange the portability
22219         documentation to correlate with the rearranged checks.
22220         Clarify exactly how the memmem and memmem-simple modules
22221         relate to each other.
22222
22223 2010-12-15  Pádraig Brady <P@draigBrady.com>
22224             Bruno Haible  <bruno@clisp.org>
22225
22226         Improve cross-compilation guesses for uClibc.
22227         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22228         that uClibc does not have the glibc bug.
22229         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22230         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22231
22232 2010-12-14  Eric Blake  <eblake@redhat.com>
22233
22234         configmake: provide fallbacks for oldest supported autotools
22235         * m4/configmake.m4: New file.
22236         * modules/configmake (Files): Ship it.
22237         (configure.ac): Use it to guarantee fallbacks.
22238
22239 2010-12-13  Pádraig Brady <P@draigBrady.com>
22240
22241         read-file: Improve handling of large files
22242         * lib/read-file.c (fread_file): Minimize realloc()s
22243         for regular files, and better manage sizes around SIZE_MAX.
22244
22245 2010-12-13  Eric Blake  <eblake@redhat.com>
22246
22247         cloexec, fcntl: relax license
22248         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22249         consent from all contributors.
22250         * modules/fcntl (License): Likewise.
22251
22252 2010-12-10  Bruno Haible  <bruno@clisp.org>
22253
22254         Tests for module 'pipe-posix'.
22255         * modules/pipe-posix-tests: New file.
22256         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22257
22258 2010-12-10  Bruno Haible  <bruno@clisp.org>
22259
22260         pipe-posix: Make it work in C++ mode.
22261         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22262         (pipe): Use common idiom, not a macro definition.
22263         * lib/pipe.c: New file.
22264         * m4/pipe.m4: New file.
22265         * modules/pipe-posix (Description): Enhance.
22266         (Files): Add lib/pipe.c, m4/pipe.m4.
22267         (configure.ac): Invoke gl_FUNC_PIPE.
22268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22269         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22270         * tests/test-unistd-c++.cc: Check the signature of pipe.
22271
22272 2010-12-10  Bruno Haible  <bruno@clisp.org>
22273
22274         Rename module 'pipe' to 'spawn-pipe'.
22275         * modules/spawn-pipe: New file, renamed from modules/pipe.
22276         (Files, configure.ac, Makefile.am): Update.
22277         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22278         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22279         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22280         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22281         "spawn-pipe.h" instead of "pipe.h".
22282         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22283         to gl_SPAWN_PIPE.
22284         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22285         (Files, Makefile.am): Update.
22286         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22287         Update.
22288         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22289         Include "spawn-pipe.h" instead of "pipe.h".
22290         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22291         * lib/javacomp.c: Likewise.
22292         * lib/javaversion.c: Likewise.
22293         * lib/pipe-filter-gi.c: Likewise.
22294         * lib/pipe-filter-ii.c: Likewise.
22295         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22296         * modules/javacomp (Depends-on): Likewise.
22297         * modules/javaversion (Depends-on): Likewise.
22298         * modules/pipe-filter-gi (Depends-on): Likewise.
22299         * modules/pipe-filter-ii (Depends-on): Likewise.
22300         * MODULES.html.sh (Executing programs): Update.
22301         * NEWS: Mention the change.
22302
22303 2010-12-10  Eric Blake  <eblake@redhat.com>
22304
22305         pipe-posix: new module
22306         * modules/pipe-posix: New file.
22307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22308         (gl_UNISTD_H): Check for declaration.
22309         * modules/unistd (Makefile.am): Substitute it.
22310         * lib/unistd.in.h (pipe): Provide it for mingw.
22311         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22312         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22313
22314 2010-12-07  Bruno Haible  <bruno@clisp.org>
22315
22316         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22317         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22318         u8_strcmp_gnu.
22319         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22320
22321 2010-12-06  Bruno Haible  <bruno@clisp.org>
22322
22323         Update internal documentation.
22324         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22325
22326 2010-12-04  Bruno Haible  <bruno@clisp.org>
22327
22328         Put more information about failed tests into the test return codes.
22329         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22330         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22331         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22332         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22333         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22334         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22335         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22336         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22337         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22339         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22340         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22341         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22342         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22343         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22344         returns a bit mask.
22345         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22346         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22347         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22348         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22349         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22350         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22351         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22352         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22353         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22354         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22355         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22356         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22357         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22359         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22360         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22361         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22362         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22363         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22364         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22365         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22366         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22367         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22368         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22369         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22370         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22371         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22372         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22373         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22374         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22375         gl_PRINTF_PRECISION): Likewise.
22376         * m4/regex.m4 (gl_REGEX): Likewise.
22377         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22378         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22379         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22380         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22381         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22382         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22383         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22384         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22385         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22386         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22387         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22388         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22389         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22390         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22391         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22392         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22393         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22394         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22396         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22397         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22398         enumerated value.
22399         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22400
22401 2010-12-04  Bruno Haible  <bruno@clisp.org>
22402
22403         Update for Solaris 11 2010-11.
22404         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22405         Express, released in November 2010.
22406
22407 2010-12-04  Bruno Haible  <bruno@clisp.org>
22408
22409         nproc: Relax license.
22410         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22411         and Paul Eggert.
22412         Requested by Ludovic Courtès <ludo@gnu.org>.
22413
22414 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22415
22416         utimecmp: fine-grained src to nearby coarse-grained dest
22417
22418         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22419         and the source is on a file system with higher-resolution time
22420         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22421         not work, and the time stamps are close together, the algorithm to
22422         determine the exact resolution from the read-back mtime was buggy:
22423         it had a "!=" where it should have had an "==".  This bug has been
22424         in the code ever since it was introduced to gnulib.
22425         Problem reported by Dan Jacobson in
22426         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22427
22428 2010-11-30  Bruno Haible  <bruno@clisp.org>
22429
22430         strerror_r-posix: Fix autoconf test.
22431         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22432
22433 2010-11-28  Bruno Haible  <bruno@clisp.org>
22434             Paul Eggert  <eggert@cs.ucla.edu>
22435
22436         Tests for module 'getdomainname'.
22437         * modules/getdomainname-tests: New file.
22438         * tests/test-getdomainname.c: New file, based on
22439         tests/test-gethostname.c.
22440
22441 2010-11-28  Bruno Haible  <bruno@clisp.org>
22442             Paul Eggert  <eggert@cs.ucla.edu>
22443
22444         getdomainname: Use the system function when possible.
22445         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22446         (getdomainname): Replace if needed. Provide the declaration if it is
22447         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22448         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22449         (getdomainname): When the system has getdomainname, call the system
22450         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22451         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22452         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22453         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22454         the function if its second argument is of type 'int' or if it is found
22455         in libnsl.
22456         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22457         <sys/systeminfo.h> and sysinfo().
22458         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22460         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22461         HAVE_GETDOMAINNAME.
22462         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22463         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22464         * doc/glibc-functions/getdomainname.texi: Document the problems with
22465         the getdomainname declaration.
22466
22467 2010-11-28  Bruno Haible  <bruno@clisp.org>
22468
22469         sys_socket: Ensure ss_family field on AIX.
22470         * lib/sys_socket.in.h (ss_family): New macro definition.
22471         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22472         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22473         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22474         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22475         * modules/sys_socket (Makefile.am): Substitute
22476         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22477         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22478
22479 2010-11-27  Bruno Haible  <bruno@clisp.org>
22480
22481         readline: Improve configure output.
22482         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22483         "checking for readline..." result understandable.
22484
22485 2010-11-27  Bruno Haible  <bruno@clisp.org>
22486
22487         *printf-posix: Detect a bug on Solaris 10/x86.
22488         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22489         for floating-point output.
22490         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22491         directive.
22492         * tests/test-snprintf-posix.h (test_function): Likewise.
22493         * tests/test-sprintf-posix.h (test_function): Likewise.
22494         * tests/test-vasprintf-posix.c (test_function): Likewise.
22495         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22496         * doc/posix-functions/printf.texi: Likewise.
22497         * doc/posix-functions/snprintf.texi: Likewise.
22498         * doc/posix-functions/sprintf.texi: Likewise.
22499         * doc/posix-functions/vfprintf.texi: Likewise.
22500         * doc/posix-functions/vprintf.texi: Likewise.
22501         * doc/posix-functions/vsnprintf.texi: Likewise.
22502         * doc/posix-functions/vsprintf.texi: Likewise.
22503         * doc/glibc-functions/obstack_printf.texi: Likewise.
22504         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22505
22506 2010-11-27  Bruno Haible  <bruno@clisp.org>
22507
22508         Fix link error when module libunistring-optional is in use.
22509         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22510         * modules/striconveha-tests (Makefile.am): Likewise.
22511
22512 2010-11-27  Bruno Haible  <bruno@clisp.org>
22513
22514         regex: Mention link dependencies.
22515         * modules/regex (Link): New section.
22516         * modules/rpmatch (Link): Likewise.
22517         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22518
22519 2010-11-27  Bruno Haible  <bruno@clisp.org>
22520
22521         ftoastr: Fix compilation error on Solaris.
22522         * lib/ftoastr.c: Include <config.h>.
22523
22524 2010-11-27  Bruno Haible  <bruno@clisp.org>
22525
22526         getloadavg: Update documentation.
22527         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22528
22529 2010-11-27  Bruno Haible  <bruno@clisp.org>
22530
22531         sys_socket: Fix test whether the functions are declared.
22532         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22533         not <sys/select.h>.
22534
22535 2010-11-27  Bruno Haible  <bruno@clisp.org>
22536
22537         getpass: Make sure to get system declaration on some platforms.
22538         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22539         gl_USE_SYSTEM_EXTENSIONS.
22540         * modules/getpass (Depends-on): Add extensions.
22541
22542 2010-11-26  Bruno Haible  <bruno@clisp.org>
22543
22544         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22545         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22546         'iconv' module is present.
22547         (ICONV_CONST): New macro.
22548         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22549         ICONV_CONST.
22550         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22551         set ICONV_CONST.
22552         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22553         here.
22554         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22555         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22556         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22557         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22558         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22559         present.
22560
22561 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22562
22563         ftoastr: comment fix
22564         * lib/ftoastr.c: "little" -> "little or no" in comment
22565
22566 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22567
22568         stdint: port to GCC 4.3 + OSX + Octave
22569         On this platform, stdint.h is buggy and defines int64_t to long
22570         long int.  The replacement defined it to long int, causing
22571         problems with C++ style name mangling.  Instead, trust the system
22572         definition if INT64_MAX is defined, and likewise for the unsigned
22573         variant.   Problem reported by Jarno Rajahalme in
22574         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22575         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22576         and don't mess with int64_t and INT64_MAX in this case.
22577         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22578
22579 2010-11-24  Bruno Haible  <bruno@clisp.org>
22580
22581         doc: Corrections regarding MacOS X 10.4 and 10.5.
22582         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22583         MacOS X.
22584         Reported by Simon Josefsson.
22585
22586 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22587
22588         Uninstall ".bin" files installed by relocwrapper.
22589         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22590         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22591         unless it is already there.
22592
22593 2010-11-21  Bruno Haible  <bruno@clisp.org>
22594
22595         Update for NetBSD 5.0.
22596         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22597         NetBSD; the test fails on NetBSD 5.0.
22598         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22599         about NetBSD.
22600
22601 2010-11-21  Bruno Haible  <bruno@clisp.org>
22602
22603         Update for HP-UX 11.23 and HP-UX 11.31.
22604         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22605         HP-UX.
22606
22607 2010-11-21  Bruno Haible  <bruno@clisp.org>
22608
22609         Update for MacOS X 10.5.
22610         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22611         MacOS X; the test fails on MacOS X 10.5.8.
22612         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22613         about MacOS X.
22614
22615 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22616
22617         bootstrap: add bootstrap_sync option.
22618         See discussion at
22619         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22620         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22621         * build-aux/bootstrap: Accept --bootstrap-sync to update
22622         bootstrap if it is not identical to the local gnulib's
22623         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22624         enable this by default.  Accept --no-bootstrap-sync to disable
22625         it.
22626
22627 2010-11-20  Bruno Haible  <bruno@clisp.org>
22628
22629         Ensure that <features.h> is included before __GLIBC__ is tested.
22630         * lib/printf-parse.h: Include <features.h>.
22631         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22632         Reported by Mike Frysinger <vapier@gentoo.org>.
22633
22634         Ensure that <features.h> is included before __GLIBC__ is tested.
22635         * lib/wchar.in.h: Include <features.h>.
22636         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22637         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22638         Reported by Mike Frysinger <vapier@gentoo.org>.
22639
22640         Ensure that <features.h> is included before __GLIBC__ is tested.
22641         * lib/arpa_inet.in.h: Include <features.h>.
22642         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22643         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22644         Reported by Mike Frysinger <vapier@gentoo.org>.
22645
22646         Ensure that <features.h> is included before __GLIBC__ is tested.
22647         * build-aux/link-warning.h: Include <features.h>.
22648         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22649         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22650         Reported by Mike Frysinger <vapier@gentoo.org>.
22651
22652         Ensure that <features.h> is included before __GLIBC__ is tested.
22653         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22654         Reported by Mike Frysinger <vapier@gentoo.org>.
22655
22656 2010-11-20  Bruno Haible  <bruno@clisp.org>
22657
22658         memmem: Fix autoconf test.
22659         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22660
22661 2010-11-20  Bruno Haible  <bruno@clisp.org>
22662
22663         Port to uClibc.
22664         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22665         * lib/fcntl.in.h: Likewise.
22666         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22667         * lib/mbrtowc.c (mbrtowc): Likewise.
22668         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22669         * lib/strerror_r.c: Likewise.
22670         * lib/unistr/u8-strnlen.c: Likewise.
22671         * lib/vasnprintf.c (decimal_point_char): Likewise.
22672         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22673         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22674         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22675         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22676         * tests/test-sigaction.c (handler, main): Likewise.
22677         * lib/freading.h: Treat uClibc like a non-glibc platform.
22678         * lib/freading.c: Likewise.
22679         * lib/gettext.h: Likewise.
22680         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22681         Likewise.
22682         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22683         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22684         * lib/propername.c (proper_name_utf8): Likewise.
22685         * lib/spawn.in.h: Likewise.
22686         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22687         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22688         mem_cd_iconveh_internal): Likewise.
22689         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22690         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22691         strstr, strcasestr): Likewise.
22692         * lib/unicodeio.c (unicode_to_mb): Likewise.
22693         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22694         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22695         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22696         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22697         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22698         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22699         * lib/unistr/u8-stpncpy.c: Likewise.
22700         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22701         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22702         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22703         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22704         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22705         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22706         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22707         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22708         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22709         Likewise.
22710         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22711         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22712         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22713         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22714         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22715         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22716         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22717         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22718         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22719         * tests/test-striconveha.c (main): Likewise.
22720         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22721         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22722         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22723         * doc/posix-functions/getline.texi: Likewise.
22724         Reported by Mike Frysinger <vapier@gentoo.org>.
22725
22726 2010-11-20  Bruno Haible  <bruno@clisp.org>
22727
22728         nproc: Fix condition.
22729         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22730         HAVE_PTHREAD_AFFINITY_NP.
22731
22732 2010-11-20  Bruno Haible  <bruno@clisp.org>
22733
22734         Fix a comment.
22735         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22736
22737 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22738
22739         ftoastr: don't assume snprintf
22740         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22741         Implement a subset of snprintf here, by using sprintf safely.
22742         * modules/ftoastr (Depends-on): Remove snprintf.
22743
22744 2010-11-19  Jim Meyering  <meyering@redhat.com>
22745
22746         test-rename.h: fix compilation failure
22747         * tests/test-rename.h (test_rename): Add omitted "}".
22748
22749 2010-11-17  Jim Meyering  <meyering@redhat.com>
22750
22751         maint.mk: add a URL discussing the no-@acronym policy
22752         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22753
22754 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22755
22756         ftoastr: depend on snprintf, improve comments
22757         * lib/ftoastr.c: Also mention Loitsch's draft.
22758         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22759         needed in the current implementation, but it might simplify
22760         speeding up the code later.
22761         * modules/ftoastr: Depend on snprintf; this improves portability.
22762         Suggested by Bruno Haible in the same email.
22763
22764         ftoastr: port to hosts lacking strtof and strtold
22765         Problem reported by Bruno Haible in
22766         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22767         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22768         environment and strtold (and presumably strtof) are not available.
22769         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22770         (configure.ac): Require gl_C99_STRTOLD.
22771
22772 2010-11-18  Bruno Haible  <bruno@clisp.org>
22773
22774         c-strtold: Avoid link error on AIX 7.
22775         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22776         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22777         (gl_C_STRTOLD): Test whether strtold_l exists.
22778         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22779
22780 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22781
22782         intprops: new macro INT_BITS_STRLEN_BOUND
22783         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22784         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22785         not exposed.  Also, it uses a slightly tighter bound than before;
22786         though this makes no practical difference, we might as well be as
22787         tight as we easily can.
22788
22789         ftoastr: new module, for lossless conversion of floats to short strings
22790         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22791         * modules/ftoastr: New files.
22792
22793 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22794
22795         bootstrap: port to Solaris sed
22796         * build-aux/bootstrap (get_version): Port to Solaris sed.
22797         See Ralf Wildenhues's note in
22798         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22799
22800 2010-11-14  Jim Meyering  <meyering@redhat.com>
22801
22802         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22803         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22804         and move definition closer to sole use.
22805
22806 2010-11-13  Jim Meyering  <meyering@redhat.com>
22807
22808         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22809         Now we require at least autoconf-2.59, which means the work-around
22810         is no longer needed.
22811         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22812         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22813         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22814         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22815         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22816
22817 2010-11-13  Bruno Haible  <bruno@clisp.org>
22818
22819         rename, renameat: Avoid test failures at NFS mounted locations.
22820         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22821         functions.
22822         (test_rename): Use assert_nonexistent.
22823         * tests/test-rename.c: Include <dirent.h>.
22824         * tests/test-renameat.c: Likewise.
22825         Reported by Gary V. Vaughan <gary@gnu.org>.
22826
22827         rename, renameat: Document Linux bug with NFS
22828         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22829         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22830         * doc/posix-functions/renameat.texi: Likewise.
22831         Suggested by Eric Blake.
22832
22833 2010-11-13  Bruno Haible  <bruno@clisp.org>
22834
22835         rename test: Add comments.
22836         * tests/test-rename.h (test_rename): Add structure and comments.
22837
22838 2010-11-13  Eric Blake  <eblake@redhat.com>
22839
22840         maintainer-makefile: cover a few more files
22841         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22842         scripts generated within C files, for libvirt.
22843
22844 2010-11-13  Bruno Haible  <bruno@clisp.org>
22845
22846         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22847         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22848         character, return the number of bytes that belong together, not always
22849         1.
22850         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22851         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22852         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22853         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22854         number of bytes of an invalid character.
22855         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22856         (main): Invoke it.
22857         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22858         results.
22859         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22860         malformed byte sequences.
22861         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22862         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22863         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22864         Reported by Ben Pfaff and Paolo Bonzini.
22865
22866 2010-11-13  Bruno Haible  <bruno@clisp.org>
22867
22868         openat: Work around glibc bug with fchownat() and empty file names.
22869         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22870         (gl_FUNC_FCHOWNAT): Invoke it.
22871         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22872         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22873         Reported by Gary V. Vaughan <gary@gnu.org>.
22874
22875 2010-11-13  Bruno Haible  <bruno@clisp.org>
22876
22877         openat: Ensure autoconf macro ordering.
22878         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22879         gl_USE_SYSTEM_EXTENSIONS.
22880         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22881
22882 2010-11-13  Bruno Haible  <bruno@clisp.org>
22883
22884         Update comments.
22885         * lib/unistr/u8-check.c: Update file name in comments.
22886         * lib/unistr/u8-mblen.c: Likewise.
22887         * lib/unistr/u8-prev.c: Likewise.
22888         * lib/unistr/u8-strmblen.c: Likewise.
22889         * lib/unistr/u8-strmbtouc.c: Likewise.
22890
22891 2010-11-13  Jim Meyering  <meyering@redhat.com>
22892
22893         tests: avoid test failure on Solaris 10 due to lack of PATH export
22894         * tests/test-update-copyright.sh: Don't forget to export PATH.
22895
22896         init.sh: ensure that IFS is defined, just in case...
22897         * tests/init.sh (setup_): Ensure that IFS is defined,
22898         so that saving and restoring it works as expected.  This
22899         appears to be useful at least for an old version of dash
22900         from a long time ago (RH 6).  See here for details:
22901         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22902
22903         maint.mk: tighten "test a == b" check
22904         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22905         test to files that contain something like #!/bin/sh.
22906         Without this, coreutils would get two false positives in
22907         the comments of C source files.
22908
22909 2010-11-12  Eric Blake  <eblake@redhat.com>
22910
22911         bootstrap: fix typo in previous attempt
22912         * build-aux/bootstrap (buildreq): Correct the grouping.
22913         Reported by Paul Eggert.
22914
22915         maintainer-makefile: prohibit test x == x
22916         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22917         Based on a report by Matthias Bolte.
22918
22919         bootstrap: allow FreeBSD gzip
22920         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22921         which has no '.' and goes to stderr.
22922         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22923         Reported by Matthias Bolte.
22924
22925         maintainer-makefile: check for i18n setup
22926         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22927         will likely work.
22928
22929 2010-11-12  Bruno Haible  <bruno@clisp.org>
22930
22931         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22932         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22933         * lib/nanosleep.c (nanosleep): Likewise.
22934
22935 2010-11-11  Bruno Haible  <bruno@clisp.org>
22936
22937         fcntl-h: Fix for use of C++ on glibc systems.
22938         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22939         also on glibc systems in C++ mode.
22940         Reported by Gary V. Vaughan <gary@gnu.org>.
22941
22942 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22943
22944         mknod: avoid false failure with dash
22945         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22946
22947 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22948
22949         unlink: Fix "is it should" typo in diagnostic.
22950         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22951         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22952
22953 2010-11-11  Bruno Haible  <bruno@clisp.org>
22954
22955         Tests for module 'strerror_r-posix'.
22956         * modules/strerror_r-posix-tests: New file.
22957         * tests/test-strerror_r.c: New file.
22958         * tests/test-string-c++.cc: Check the signature of strerror_r.
22959
22960         New module 'strerror_r-posix'.
22961         * lib/string.in.h (strerror_r): New declaration.
22962         * lib/strerror_r.c: New file.
22963         * m4/strerror_r.m4: New file.
22964         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22965         of strerror_r.
22966         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22967         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22968         * modules/strerror_r-posix: New file.
22969         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22970         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22971         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22972         portability problems.
22973
22974 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22975
22976         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22977         line is also considered for output. Quoted function name in shell
22978         command, so temporary files for functions like MyClass::operator()
22979         are removed correctly without errors.
22980
22981 2010-11-09  Bruno Haible  <bruno@clisp.org>
22982
22983         * doc/posix-functions/strerror.texi: List more failing platforms.
22984
22985         * doc/posix-functions/strerror.texi: Add a comment.
22986
22987 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22988
22989         fdopendir: fix bug on MacOS X when low on file descriptors
22990
22991         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22992         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22993         All callers changed.
22994         (fdopendir): Invoke save_cwd at the top level, not after using
22995         multiple dup() calls to use up file descriptors.  Then retry
22996         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22997         less than the maximum number of open file descriptors, because
22998         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22999         on Mac OS X 10.6.4 for tar 1.24
23000         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23001         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23002         and for tar 1.25
23003         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23004
23005 2010-11-07  Bruno Haible  <bruno@clisp.org>
23006
23007         vasnprintf: Support I flag on glibc systems.
23008         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23009         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23010         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23011         snprintf function.
23012         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23013         glibc systems.
23014         * tests/test-vasnprintf-posix3.c: New file.
23015         * modules/vasnprintf-posix-tests (Files): Add it.
23016         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23017
23018 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23019
23020         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23021         * MODULES.html.sh: For compiler warnings, use name
23022         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23023
23024 2010-11-05  Eric Blake  <eblake@redhat.com>
23025
23026         ceil, floor: avoid spurious failure with icc
23027         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23028         [denormals-as-zero] when optimizing without -mieee-fp option.
23029         * tests/test-floorf2.c (floorf_reference): Likewise.
23030         * tests/test-ceilf1.c (dummy): New function.
23031         (main): Use it to outsmart icc's optimization.
23032         * tests/test-floorf1.c (dummy, main): Likewise.
23033
23034         tests: require working signbit
23035         * modules/ceilf-tests (Depends-on): Add signbit.
23036         * modules/ceill-tests (Depends-on): Likewise.
23037         * modules/floorf-tests (Depends-on): Likewise.
23038         * modules/floorl-tests (Depends-on): Likewise.
23039         * modules/round-tests (Depends-on): Likewise.
23040         * modules/roundf-tests (Depends-on): Likewise.
23041         * modules/roundl-tests (Depends-on): Likewise.
23042         * modules/trunc-tests (Depends-on): Likewise.
23043         * modules/truncf-tests (Depends-on): Likewise.
23044         * modules/truncl-tests (Depends-on): Likewise.
23045
23046         strtod: work around icc bug
23047         * lib/strtod.c (minus_zero): Define to working value.
23048         (strtod): Use it to avoid icc bug.
23049
23050         copysign: enhance tests
23051         * modules/copysign-tests (Files): Add minus-zero.h.
23052         * tests/test-copysign.c (main): Also test zeros.
23053
23054 2010-11-04  Eric Blake  <eblake@redhat.com>
23055
23056         ceil, floor, round, trunc: enhance tests of -0
23057         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23058         * tests/test-ceill.c (main): Likewise.
23059         * tests/test-floorf1.c (main): Likewise.
23060         * tests/test-floorl.c (main): Likewise.
23061         * tests/test-round1.c (main): Likewise.
23062         * tests/test-roundf1.c (main): Likewise.
23063         * tests/test-roundl.c (main): Likewise.
23064         * tests/test-trunc1.c (main): Likewise.
23065         * tests/test-truncf1.c (main): Likewise.
23066         * tests/test-truncl.c (main): Likewise.
23067
23068 2010-11-04  Eric Blake  <eblake@redhat.com>
23069
23070         frexp, tests: work around ICC bug with -zero
23071         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23072         works with more compilers.
23073         * tests/minus-zero.h: New file.
23074         * modules/ceilf-tests (Files): Include it.
23075         * modules/ceill-tests (Files): Likewise.
23076         * modules/floorf-tests (Files): Likewise.
23077         * modules/floorl-tests (Files): Likewise.
23078         * modules/frexp-nolibm-tests (Files): Likewise.
23079         * modules/frexp-tests (Files): Likewise.
23080         * modules/frexpl-nolibm-tests (Files): Likewise.
23081         * modules/frexpl-tests (Files): Likewise.
23082         * modules/isnan-tests (Files): Likewise.
23083         * modules/isnand-nolibm-tests (Files): Likewise.
23084         * modules/isnand-tests (Files): Likewise.
23085         * modules/isnanf-nolibm-tests (Files): Likewise.
23086         * modules/isnanf-tests (Files): Likewise.
23087         * modules/isnanl-nolibm-tests (Files): Likewise.
23088         * modules/isnanl-tests (Files): Likewise.
23089         * modules/round-tests (Files): Likewise.
23090         * modules/roundf-tests (Files): Likewise.
23091         * modules/roundl-tests (Files): Likewise.
23092         * modules/ldexpl-tests (Files): Likewise.
23093         * modules/signbit-tests (Files): Likewise.
23094         * modules/snprintf-posix-tests (Files): Likewise.
23095         * modules/sprintf-posix-tests (Files): Likewise.
23096         * modules/strtod-tests (Files): Likewise.
23097         * modules/trunc-tests (Files): Likewise.
23098         * modules/truncf-tests (Files): Likewise.
23099         * modules/truncl-tests (Files): Likewise.
23100         * modules/vsnprintf-posix-tests (Files): Likewise.
23101         * modules/vsprintf-posix-tests (Files): Likewise.
23102         * modules/vasnprintf-posix-tests (Files): Likewise.
23103         * modules/vasprintf-posix-tests (Files): Likewise.
23104         * tests/test-ceilf1.c (main): Use it.
23105         * tests/test-ceill.c (main): Likewise.
23106         * tests/test-floorf1.c (main): Likewise.
23107         * tests/test-floorl.c (main): Likewise.
23108         * tests/test-frexp.c (main): Likewise.
23109         * tests/test-frexpl.c (main): Likewise.
23110         * tests/test-isnan.c (main): Likewise.
23111         * tests/test-isnand.h (main): Likewise.
23112         * tests/test-isnanf.h (main): Likewise.
23113         * tests/test-isnanl.h (main): Likewise.
23114         * tests/test-ldexpl.c (main): Likewise.
23115         * tests/test-round.c (main): Likewise.
23116         * tests/test-roundf.c (main): Likewise.
23117         * tests/test-roundl.c (main): Likewise.
23118         * tests/test-signbit.c (test_signbitf, test_signbitd)
23119         (test_signbitl): Likewise.
23120         * tests/test-snprintf-posix.h (test_function): Likewise.
23121         * tests/test-sprintf-posix.h (test_function): Likewise.
23122         * tests/test-strtod.c (main): Likewise.
23123         * tests/test-trunc1.c (main): Likewise.
23124         * tests/test-truncf1.c (main): Likewise.
23125         * tests/test-truncl.c (main): Likewise.
23126
23127         isnanl: work around icc bug
23128         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23129
23130 2010-11-03  Eric Blake  <eblake@redhat.com>
23131
23132         tests: fix compiler warnings
23133         * tests/test-getopt.h (test_getopt): Fix condition.
23134         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23135         * tests/test-pipe2.c (main): Likewise.
23136         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23137
23138         utimens: fix broken m4 test
23139         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23140
23141 2010-10-28  Bruno Haible  <bruno@clisp.org>
23142
23143         posix_spawn*, getdtablesize: Relax license.
23144         * modules/posix_spawn (License): Change to LGPLv2+.
23145         * modules/posix_spawnp (License): Likewise.
23146         * modules/posix_spawn-internal (License): Likewise.
23147         * modules/posix_spawnattr_init (License): Likewise.
23148         * modules/posix_spawnattr_getflags (License): Likewise.
23149         * modules/posix_spawnattr_setflags (License): Likewise.
23150         * modules/posix_spawnattr_getpgroup (License): Likewise.
23151         * modules/posix_spawnattr_setpgroup (License): Likewise.
23152         * modules/posix_spawnattr_getschedparam (License): Likewise.
23153         * modules/posix_spawnattr_setschedparam (License): Likewise.
23154         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23155         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23156         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23157         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23158         * modules/posix_spawnattr_getsigmask (License): Likewise.
23159         * modules/posix_spawnattr_setsigmask (License): Likewise.
23160         * modules/posix_spawnattr_destroy (License): Likewise.
23161         * modules/posix_spawn_file_actions_init (License): Likewise.
23162         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23163         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23164         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23165         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23166         * modules/getdtablesize (License): Likewise.
23167         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23168
23169 2010-10-26  Bruno Haible  <bruno@clisp.org>
23170
23171         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23172         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23173         Cygwin and mingw.
23174         Suggested by Eric Blake.
23175
23176 2010-10-26  Bruno Haible  <bruno@clisp.org>
23177
23178         stdio: Work around compilation error due to renameat() on Solaris 10.
23179         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23180         * lib/renameat.c: Don't include <unistd.h> here.
23181         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23182         Reported by Paul Eggert and Eric Blake.
23183
23184 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23185
23186         renameat: port to Solaris 10, which declares renameat in unistd.h
23187
23188         * lib/renameat.c: Include unistd.h before stdio.h, because
23189         Solaris 10 declares renameat in unistd.h.  Problem encountered
23190         when building GNU tar 1.24 on Solaris 10.
23191
23192 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23193
23194         fdopendir: fix C89 compilation
23195         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23196         compilers.
23197
23198 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23199
23200         inttostr: simplify by removing unnecessary redundancy
23201         * lib/anytostr.c: Don't include verify.h.
23202         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23203         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23204         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23205         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23206         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23207         Likewise.
23208         * modules/inttostr (Depends-on): Remove 'verify'.
23209
23210 2010-10-23  Bruno Haible  <bruno@clisp.org>
23211
23212         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23213         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23214         Reported by Eric Blake.
23215
23216 2010-10-23  Bruno Haible  <bruno@clisp.org>
23217
23218         Tests: Fix LOCALE_JA on MirBSD 10.
23219         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23220         to an UTF-8 locale.
23221         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23222         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23223         Reported by Eric Blake.
23224
23225 2010-10-21  Bruno Haible  <bruno@clisp.org>
23226
23227         nl_langinfo test: Avoid test failure on NetBSD 5.
23228         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23229         Reported by Eric Blake.
23230
23231 2010-10-21  Eric Blake  <eblake@redhat.com>
23232
23233         c-stack: work around libsigsegv 2.8 bug
23234         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23235         overflow on at least PowerPC64.
23236
23237 2010-10-17  Bruno Haible  <bruno@clisp.org>
23238
23239         userspec: Drop redundant file.
23240         * modules/userspec (Files): Remove lib/inttostr.h.
23241
23242 2010-10-17  Bruno Haible  <bruno@clisp.org>
23243
23244         nl_langinfo tests: Silence some warnings.
23245         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23246         Reported by Jim Meyering.
23247
23248 2010-10-17  Bruno Haible  <bruno@clisp.org>
23249
23250         Make use of GCC's attribute __alloc_size__.
23251         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23252         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23253         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23254         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23255         __alloc_size__.
23256         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23257         Suggested by Jim Meyering.
23258
23259 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23260
23261         bootstrap: anchor .gitignore entries.
23262         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23263         with...
23264         (insert_vc_ignore): ... this new function, which prepends `/' to
23265         all .gitignore entries before passing them to
23266         insert_sorted_if_absent.
23267
23268 2010-10-16  Bruno Haible  <bruno@clisp.org>
23269
23270         nextafter: Fix configure check.
23271         * modules/nextafter (configure.ac): Correct expected prototype.
23272
23273 2010-10-16  Bruno Haible  <bruno@clisp.org>
23274
23275         termios: Update documentation.
23276         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23277
23278 2010-10-16  Bruno Haible  <bruno@clisp.org>
23279
23280         tests: Make them compile with TinyCC.
23281         * tests/test-strstr.c (main): Remove parentheses around array
23282         initializer.
23283
23284 2010-10-15  Eric Blake  <eblake@redhat.com>
23285
23286         ignore-value: make header idempotent
23287         * lib/ignore-value.h: Add double-inclusion guards.
23288         Reported by Stefan Berger.
23289
23290 2010-10-15  Jim Meyering  <meyering@redhat.com>
23291
23292         GNUmakefile: handle "stable" target, not "major"
23293         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23294         lists in maint.mk and announce-gen.  Without this, "make stable"
23295         would fail to ensure that $(VERSION) is up to date.
23296
23297 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23298
23299         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23300         & co.
23301
23302 2010-10-14  Bruno Haible  <bruno@clisp.org>
23303
23304         vasnprintf: Don't set errno to 0.
23305         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23306         block that sets it to 0.
23307         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23308
23309 2010-10-14  Bruno Haible  <bruno@clisp.org>
23310
23311         socketlib: Fix.
23312         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23313         gl_PREREQ_SYS_H_WINSOCK2.
23314         Reported by Ian Beckwith <ianb@erislabs.net>.
23315
23316 2010-10-13  Jim Meyering  <meyering@redhat.com>
23317
23318         test-select-stdin.c: avoid warn_unused_result warnings
23319         * tests/test-select-stdin.c: Include "macros.h".
23320         ASSERT that read and fflush succeed.
23321
23322 2010-10-13  Jim Meyering  <meyering@redhat.com>
23323
23324         git-version-gen: do require git-VC'd files in cwd
23325         * build-aux/git-version-gen: Reject a git version string
23326         if there are no commits associated with the current directory.
23327         This avoids an unlikely false-positive (unrelated dir whose parent
23328         repository also contains a tag matching v*), as pointed out
23329         by Giuseppe Scrivano in
23330         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23331
23332 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23333
23334         argv-iter: omit nonconforming declaration
23335         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23336         enum arg_iter_err declaration, which doesn't conform to C99.
23337         Solaris 10 cc warns about this.
23338
23339 2010-10-13  Eric Blake  <eblake@redhat.com>
23340
23341         termios: fix compilation on mingw
23342         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23343         (gl_TERMIOS_H): Adjust it on mingw.
23344         * modules/termios (Makefile.am): Substitute new key.
23345         * lib/termios.in.h (includes): Make include_next conditional.
23346         * doc/posix-headers/termios.texi (termios.h): Update
23347         documentation.
23348         Reported by Daniel P. Berrange.
23349
23350 2010-10-13  Jim Meyering  <meyering@redhat.com>
23351
23352         git-version-gen: don't require that .git/ be in the current dir
23353         * build-aux/git-version-gen: Adjust this script so that it works
23354         when run from any working directory beneath the top-level .git/-
23355         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23356         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23357
23358         test-select: avoid warn_unused_result warnings
23359         * tests/test-select.c: Include "macros.h".
23360         ASSERT that each call to read, write, and pipe succeeds.
23361         While not technically required, also check each "close".
23362         * modules/select-tests (Files): Add tests/macros.h.
23363
23364         test-symlinkat: remove declaration of unused local
23365         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23366
23367         test-inttostr: avoid shadowing warnings
23368         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23369         and use malloc rather than the stack for the same reason as
23370         mentioned in the comment justifying the other allocation.
23371
23372 2010-10-11  Bruno Haible  <bruno@clisp.org>
23373
23374         stdlib: Allow multiple gnulib generated replacements to coexist.
23375         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23376         Reported by Sam Steingold <sds@gnu.org>.
23377
23378 2010-10-11  Jim Meyering  <meyering@redhat.com>
23379
23380         fix a documentation typo
23381         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23382
23383 2010-10-11  Eric Blake  <eblake@redhat.com>
23384
23385         futimens: work around Solaris 11 bug
23386         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23387         * tests/test-futimens.h (test_futimens): Enhance, rather than
23388         weaken test.
23389         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23390
23391 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23392
23393         Indentation.
23394         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23395         higher-level operators more to the left.
23396
23397 2010-10-11  Jim Meyering  <meyering@redhat.com>
23398
23399         test-futimens: avoid unwarranted test failure on Solaris 5.11
23400         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23401         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23402         because it tries to dereference the NULL name argument.
23403
23404 2010-10-11  Bruno Haible  <bruno@clisp.org>
23405
23406         Indentation.
23407         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23408         indentation.
23409
23410 2010-10-11  Jim Meyering  <meyering@redhat.com>
23411
23412         spawn.in.h: make indentation consistent with parentheses
23413         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23414         Make indentation consistent with parentheses.
23415
23416 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23417
23418         Fix mismatched parens in previous commit
23419         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23420         parens.
23421
23422 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23423
23424         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23425
23426         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23427         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23428         * lib/malloca.c: Include "verify.h".
23429         (verify1): Remove, replacing with a verify call.
23430         * lib/relocwrapper.c (verify1): Likewise.
23431         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23432         Likewise.
23433         * modules/malloca (Depends-on): Add 'verify'.
23434         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23435         * modules/vasnprintf (Depends-on): Add 'verify'.
23436         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23437         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23438         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23439         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23440         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23441         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23442         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23443
23444         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23445
23446         Formerly the style was sometimes 2*X - 1, because the C standard
23447         was wrongly thought to disallow ?: in integral constant expressions.
23448         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23449         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23450         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23451         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23452         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23453         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23454         verify that time_t cannot be floating.
23455
23456 2010-10-08  Eric Blake  <eblake@redhat.com>
23457
23458         time: enforce recent POSIX ruling that time_t is integral
23459         * lib/time.in.h (__time_t_must_be_integral): Detect any
23460         problematic systems, allowing the rest of gnulib to assume POSIX.
23461
23462 2010-10-08  Jim Meyering  <meyering@redhat.com>
23463
23464         fdopendir: fix a bug on systems lacking openat and /proc support
23465         OpenBSD 4.7 is one such system.  The most noticeable effect was
23466         failure of any application making nontrivial use of fts: rm, du,
23467         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23468           ./rm: traversal failed: `a': Bad file descriptor
23469         Debugging that, you see that even though FD 6 was closed just
23470         prior to the opendir call in fd_clone_opendir, its resulting
23471         dir->dd_fd was 8, rather than the expected value of 6:
23472
23473         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23474         93                close (fd);
23475         (gdb) n
23476         94                dir = fd_clone_opendir (dupfd);
23477         (gdb) n
23478         95                saved_errno = errno;
23479         (gdb) p dir->dd_fd
23480         $11 = 8
23481
23482         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23483         The problem is that on OpenBSD, fd_clone_opendir has to resort
23484         to using the old-style save/restore CWD mechanism, due to its
23485         lack of openat/proc support, and *that* would steal the FD (6)
23486         that opendir was supposed to use.
23487
23488         The fix is to squirrel away the desired FD so that save_cwd uses a
23489         different one, and then free the dest FD right before calling opendir.
23490         That guarantees opendir will use the required file descriptor.
23491
23492         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23493
23494 2010-10-08  Bruno Haible  <bruno@clisp.org>
23495
23496         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23497         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23498
23499 2010-10-08  Bruno Haible  <bruno@clisp.org>
23500
23501         nanosleep: Make replacement POSIX compliant.
23502         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23503         is out of range.
23504         Reported by Jim Meyering.
23505
23506 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23507
23508         bootstrap: add hook for altering gnulib.mk, for Bison
23509         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23510         the Bison bootstrapping process can rewrite file names and variables
23511         in this file before later parts of 'bootstrap' use the file.
23512         Bison wants to include lib/gnulib.mk from the top-level makefile,
23513         so it needs the file names in this file to be relative to the top
23514         level, not relative to lib; plus it needs variable names to be
23515         rewritten.
23516         (slurp): Use the new function.
23517
23518         bootstrap: reformat for readability
23519         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23520
23521 2010-10-08  Eric Blake  <eblake@redhat.com>
23522
23523         docs: update cygwin progress
23524         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23525         1.7.7.
23526         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23527         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23528         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23529         * doc/posix-functions/carg.texi (carg): Likewise.
23530         * doc/posix-functions/cargf.texi (cargf): Likewise.
23531         * doc/posix-functions/casin.texi (casin): Likewise.
23532         * doc/posix-functions/casinf.texi (casinf): Likewise.
23533         * doc/posix-functions/casinh.texi (casinh): Likewise.
23534         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23535         * doc/posix-functions/catan.texi (catan): Likewise.
23536         * doc/posix-functions/catanf.texi (catanf): Likewise.
23537         * doc/posix-functions/catanh.texi (catanh): Likewise.
23538         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23539         * doc/posix-functions/ccos.texi (ccos): Likewise.
23540         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23541         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23542         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23543         * doc/posix-functions/cexp.texi (cexp): Likewise.
23544         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23545         * doc/posix-functions/cimag.texi (cimag): Likewise.
23546         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23547         * doc/posix-functions/clog.texi (clog): Likewise.
23548         * doc/posix-functions/clogf.texi (clogf): Likewise.
23549         * doc/posix-functions/conj.texi (conj): Likewise.
23550         * doc/posix-functions/conjf.texi (conjf): Likewise.
23551         * doc/posix-functions/cpow.texi (cpow): Likewise.
23552         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23553         * doc/posix-functions/cproj.texi (cproj): Likewise.
23554         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23555         * doc/posix-functions/creal.texi (creal): Likewise.
23556         * doc/posix-functions/crealf.texi (crealf): Likewise.
23557         * doc/posix-functions/csin.texi (csin): Likewise.
23558         * doc/posix-functions/csinf.texi (csinf): Likewise.
23559         * doc/posix-functions/csinh.texi (csinh): Likewise.
23560         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23561         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23562         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23563         * doc/posix-functions/ctan.texi (ctan): Likewise.
23564         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23565         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23566         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23567         * doc/posix-headers/complex.texi (complex.h): Likewise.
23568
23569 2010-10-07  Jim Meyering  <meyering@redhat.com>
23570
23571         parse-datetime: avoid compilation failure on OpenBSD 4.7
23572         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23573         This works around a compilation failure on OpenBSD 4.7:
23574         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23575
23576 2010-10-07  Eric Blake  <eblake@redhat.com>
23577
23578         docs: update cygwin progress
23579         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23580         1.7.6.
23581         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23582         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23583         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23584         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23585         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23586         Likewise.
23587         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23588         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23589         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23590         Likewise.
23591         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23592         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23593         Likewise.
23594         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23595         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23596         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23597         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23598         Likewise.
23599         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23600         Likewise.
23601         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23602
23603         docs: update parse-datetime history
23604         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23605         documentation of this function's history and alternatives.
23606
23607         cygwin: use more robust version check
23608         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23609         exclude an eventual cygwin 1.9.1.
23610         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23611         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23612         (gl_FUNC_STRCASESTR): Likewise.
23613         Reported by Bruno Haible.
23614
23615 2010-10-06  Bruno Haible  <bruno@clisp.org>
23616
23617         string, sys_select: Avoid #including large headers unless necessary.
23618         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23619         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23620         OSF/1, BeOS, Haiku.
23621         Reported by Jim Meyering.
23622
23623 2010-10-05  Eric Blake  <eblake@redhat.com>
23624
23625         memmem, strstr, strcasestr: fix bug with long periodic needle
23626         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23627         periodic needle having false positive.
23628         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23629         and cygwin 1.7.7.
23630         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23631         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23632         (gl_FUNC_STRCASESTR): Likewise.
23633         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23634         * tests/test-memmem.c (main): Expose the bug.
23635         * tests/test-strcasestr.c (main): Likewise.
23636         * tests/test-strstr.c (main): Likewise.
23637         * tests/test-c-strcasestr.c (main): Likewise.
23638         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23639         * doc/posix-functions/strstr.texi (strstr): Likewise.
23640         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23641         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23642
23643 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23644
23645         parse-datetime: do some more renaming
23646         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23647         parse_datetime, not get_date.  Mention the renaming.
23648         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23649         in comments.
23650         * m4/bison.m4: Likewise.
23651
23652 2010-10-05  Eric Blake  <eblake@redhat.com>
23653
23654         parse-datetime: better name than get_date
23655         * NEWS: Reword the deprecation notice.
23656         * modules/get_date: Rename to modules/parse-datetime.
23657         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23658         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23659         * lib/get_date.y: Rename to lib/parse-datetime.y.
23660         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23661         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23662         * doc/getdate.texi: Provide fallback wrapper.
23663         * lib/getdate.h: Move guts, and wrap...
23664         * lib/parse-datetime.h: ...new file.
23665         * lib/parse-datetime.y (get_date): Rename...
23666         (parse_datetime): ...to this.
23667         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23668         (gl_PARSE_DATETIME): ...to this.
23669         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23670         documentation.
23671         * modules/getdate (Files): Provide fallback docs and header.
23672         (Notice, Depends-on): Update references.
23673         * tests/test-parse-datetime.c: Likewise.
23674         * DEPENDENCIES: Likewise.
23675         * MODULES.html.sh (Date and time <time.h>): Likewise.
23676         * doc/parse-datetime.texi (Date input formats)
23677         (Authors of parse_datetime): Likewise.
23678         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23679         (Include): Likewise.
23680         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23681         * gnulib-tool: Likewise.
23682         * m4/bison.m4 (gl_BISON): Likewise.
23683         Suggested by Bruno Haible.
23684
23685 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23686
23687         more ports to Solaris tr, which needs [] around ranges
23688         * gnulib-tool: Solaris tr needs [] around ranges.
23689         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23690         * tests/test-pipe-filter-gi1.c (main): Likewise.
23691         * tests/test-pipe-filter-ii1.c (main): Likewise.
23692
23693 2010-10-05  Eric Blake  <eblake@redhat.com>
23694
23695         bootstrap: fix Solaris regression
23696         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23697         around ranges.
23698         Reported by Pádraig Brady.
23699
23700         bootstrap: work with pkg-config
23701         * build-aux/bootstrap (check_versions): Also transliterate - in
23702         prerequisite name.
23703         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23704         prerequisites that were already found, to avoid confusion.
23705         Reported by Justin Clift.
23706
23707         faccessat: remove unused wrappers
23708         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23709         presence of these wrappers dragged in -lgen on Solaris.
23710         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23711
23712 2010-10-05  Jim Meyering  <meyering@redhat.com>
23713
23714         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23715         * Makefile (sc_pragma_columns): New syntax-check rule.
23716
23717 2010-10-04  Bruno Haible  <bruno@clisp.org>
23718
23719         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23720         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23721         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23722         Reported by Bruce Korb and Eric Blake.
23723
23724 2010-10-04  Bruno Haible  <bruno@clisp.org>
23725
23726         threadlib: Make option --with-libpth-prefix work.
23727         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23728         use $LIBPTH, not just -lpth.
23729
23730 2010-10-04  Bruno Haible  <bruno@clisp.org>
23731
23732         Avoid line length limitation from HP NonStop system header files.
23733         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23734         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23735         * lib/ctype.in.h: Likewise.
23736         * lib/dirent.in.h: Likewise.
23737         * lib/errno.in.h: Likewise.
23738         * lib/fcntl.in.h: Likewise.
23739         * lib/float.in.h: Likewise.
23740         * lib/getopt.in.h: Likewise.
23741         * lib/iconv.in.h: Likewise.
23742         * lib/inttypes.in.h: Likewise.
23743         * lib/langinfo.in.h: Likewise.
23744         * lib/locale.in.h: Likewise.
23745         * lib/math.in.h: Likewise.
23746         * lib/netdb.in.h: Likewise.
23747         * lib/netinet_in.in.h: Likewise.
23748         * lib/poll.in.h: Likewise.
23749         * lib/pthread.in.h: Likewise.
23750         * lib/pty.in.h: Likewise.
23751         * lib/sched.in.h: Likewise.
23752         * lib/se-selinux.in.h: Likewise.
23753         * lib/search.in.h: Likewise.
23754         * lib/signal.in.h: Likewise.
23755         * lib/spawn.in.h: Likewise.
23756         * lib/stdarg.in.h: Likewise.
23757         * lib/stddef.in.h: Likewise.
23758         * lib/stdint.in.h: Likewise.
23759         * lib/stdio.in.h: Likewise.
23760         * lib/stdlib.in.h: Likewise.
23761         * lib/string.in.h: Likewise.
23762         * lib/strings.in.h: Likewise.
23763         * lib/sys_file.in.h: Likewise.
23764         * lib/sys_ioctl.in.h: Likewise.
23765         * lib/sys_select.in.h: Likewise.
23766         * lib/sys_socket.in.h: Likewise.
23767         * lib/sys_stat.in.h: Likewise.
23768         * lib/sys_time.in.h: Likewise.
23769         * lib/sys_times.in.h: Likewise.
23770         * lib/sys_utsname.in.h: Likewise.
23771         * lib/sys_wait.in.h: Likewise.
23772         * lib/sysexits.in.h: Likewise.
23773         * lib/termios.in.h: Likewise.
23774         * lib/time.in.h: Likewise.
23775         * lib/unistd.in.h: Likewise.
23776         * lib/wchar.in.h: Likewise.
23777         * lib/wctype.in.h: Likewise.
23778         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23779         * modules/ctype (Makefile.am): Likewise.
23780         * modules/dirent (Makefile.am): Likewise.
23781         * modules/errno (Makefile.am): Likewise.
23782         * modules/fcntl-h (Makefile.am): Likewise.
23783         * modules/float (Makefile.am): Likewise.
23784         * modules/getopt-posix (Makefile.am): Likewise.
23785         * modules/iconv-h (Makefile.am): Likewise.
23786         * modules/inttypes (Makefile.am): Likewise.
23787         * modules/langinfo (Makefile.am): Likewise.
23788         * modules/locale (Makefile.am): Likewise.
23789         * modules/math (Makefile.am): Likewise.
23790         * modules/netdb (Makefile.am): Likewise.
23791         * modules/netinet_in (Makefile.am): Likewise.
23792         * modules/poll-h (Makefile.am): Likewise.
23793         * modules/pthread (Makefile.am): Likewise.
23794         * modules/pty (Makefile.am): Likewise.
23795         * modules/sched (Makefile.am): Likewise.
23796         * modules/search (Makefile.am): Likewise.
23797         * modules/selinux-h (Makefile.am): Likewise.
23798         * modules/signal (Makefile.am): Likewise.
23799         * modules/spawn (Makefile.am): Likewise.
23800         * modules/stdarg (Makefile.am): Likewise.
23801         * modules/stddef (Makefile.am): Likewise.
23802         * modules/stdint (Makefile.am): Likewise.
23803         * modules/stdio (Makefile.am): Likewise.
23804         * modules/stdlib (Makefile.am): Likewise.
23805         * modules/string (Makefile.am): Likewise.
23806         * modules/strings (Makefile.am): Likewise.
23807         * modules/sys_file (Makefile.am): Likewise.
23808         * modules/sys_ioctl (Makefile.am): Likewise.
23809         * modules/sys_select (Makefile.am): Likewise.
23810         * modules/sys_socket (Makefile.am): Likewise.
23811         * modules/sys_stat (Makefile.am): Likewise.
23812         * modules/sys_time (Makefile.am): Likewise.
23813         * modules/sys_times (Makefile.am): Likewise.
23814         * modules/sys_utsname (Makefile.am): Likewise.
23815         * modules/sys_wait (Makefile.am): Likewise.
23816         * modules/sysexits (Makefile.am): Likewise.
23817         * modules/termios (Makefile.am): Likewise.
23818         * modules/time (Makefile.am): Likewise.
23819         * modules/unistd (Makefile.am): Likewise.
23820         * modules/wchar (Makefile.am): Likewise.
23821         * modules/wctype (Makefile.am): Likewise.
23822
23823 2010-10-04  Bruno Haible  <bruno@clisp.org>
23824
23825         read-file tests: Avoid a test failure on NonStop Kernel.
23826         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23827         a regular file.
23828         Reported by Joachim Schmitz <schmitz@hp.com>.
23829
23830 2010-10-03  Bruno Haible  <bruno@clisp.org>
23831
23832         gnulib-tool: Fixes for --create-testdir with --libtool.
23833         * gnulib-tool (func_get_automake_snippet): Don't augment
23834         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23835         an executable.
23836         (func_create_testdir): Handle module 'alloca' like func_import.
23837         Reported by Bruce Korb <bruce.korb@gmail.com>.
23838
23839 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23840
23841         Avoid some lines longer than 80 characters.
23842         * lib/stdint.in.h: Break long comment lines.
23843         * lib/math.in.h: Likewise.
23844         (_GL_NUM_UINT_WORDS): New macro, for readability.
23845         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23846         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23847         * lib/stdlib.in.h: Likewise.
23848         * lib/spawn.in.h: Likewise.
23849         * lib/sys_socket.in.h: Update an URL.
23850         * lib/sys_stat.in.h: Break long line.
23851
23852 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23853
23854         Improve pmccabe2html.
23855         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23856         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23857         when the sources change. Remove the line in the HTML about "Used
23858         ranges" (which implied that there might be other unused ranges),
23859         rename "Resume" to "Summary" (easier to understand for more users).
23860         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23861         styles, and some unnecessary blank lines.
23862
23863 2010-10-03  Bruno Haible  <bruno@clisp.org>
23864             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23865
23866         acl: Add support for ACLs on NonStop Kernel.
23867         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23868         Check whether the function aclsort() exists.
23869         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23870         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23871         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23872         (acl_nontrivial [HAVE_ACLSORT]: New function.
23873         (file_has_acl): Implement for NonStop Kernel.
23874         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23875         (qset_acl): Implement for NonStop Kernel.
23876         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23877         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23878         (main): Implement for NonStop Kernel.
23879         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23880         Kernel. Handle this flavor.
23881         * tests/test-set-mode-acl.sh: Likewise.
23882         * tests/test-copy-acl.sh: Likewise.
23883         * tests/test-copy-file.sh: Likewise.
23884
23885 2010-10-03  Bruno Haible  <bruno@clisp.org>
23886
23887         Info about ACLs on NonStop Kernel.
23888         * doc/acl-resources.txt: Add info about NonStop Kernel.
23889         References by Joachim Schmitz <schmitz@hp.com>.
23890
23891 2010-10-02  Bruno Haible  <bruno@clisp.org>
23892
23893         Define missing EDQUOT on NonStop Kernel.
23894         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23895         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23896         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23897         missing.
23898         * doc/posix-headers/errno.texi: Mention the NSK bug.
23899         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23900         Reported by Joachim Schmitz <schmitz@hp.com>.
23901
23902 2010-10-02  Bruno Haible  <bruno@clisp.org>
23903
23904         Update doc for POSIX:2008.
23905         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23906         Update URL of POSIX specification.
23907
23908 2010-10-02  Bruno Haible  <bruno@clisp.org>
23909
23910         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23911         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23912         from gnulib, not from Automake.
23913
23914 2010-10-02  Bruno Haible  <bruno@clisp.org>
23915
23916         New module 'system-posix'.
23917         * modules/system-posix: New file.
23918         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23919         module is present.
23920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23921         GNULIB_SYSTEM_POSIX.
23922         * modules/stdlib (Depends-on): Remove sys_wait.
23923         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23924         * doc/posix-functions/system.texi: Mention the new module.
23925         * doc/posix-headers/stdlib.texi: Likewise.
23926         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23927         define test_sys_wait_macros to a no-op.
23928         Reported by Sam Steingold <sds@gnu.org>.
23929
23930 2010-09-30  Bruno Haible  <bruno@clisp.org>
23931
23932         More renaming from 'getdate' to 'get_date'.
23933         * doc/get_date.texi: Renamed from doc/getdate.texi.
23934         * modules/get_date (Files): Update.
23935         * MODULES.html.sh (Date and time <time.h>): Update.
23936         * DEPENDENCIES: Update.
23937         * gnulib-tool: Update comment.
23938         * m4/bison.m4 (gl_BISON): Likewise.
23939         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23940
23941 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23942
23943         bootstrap: support ACLOCAL_FLAGS during aclocal
23944         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23945         can add additional -I dir for third-party .m4 files.
23946
23947 2010-09-30  Eric Blake  <eblake@redhat.com>
23948
23949         bootstrap: use glibtoolize on MacOS
23950         * build-aux/bootstrap (check_versions): Convert libtool into
23951         libtoolize.
23952         (tool search): Move libtool check earlier, and look for
23953         glibtoolize for MacOS.
23954         (gnulib_tool_options): Auto-add --libtool when appropriate.
23955         Reported by Justin Clift.
23956
23957         poll: fix typo that broke test on MacOS
23958         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23959         Reported by Justin Clift.
23960
23961         getdate: rename to get_date
23962         Note: getdate.h is not renamed, to minimize client impact.
23963         * modules/getdate: Mark obsolete.  Move old contents...
23964         * modules/get_date: ...to new module name.
23965         * modules/getdate-tests: Move...
23966         * modules/get_date-tests: ...here.
23967         * m4/getdate.m4: Move...
23968         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23969         * lib/getdate.y: Move...
23970         * lib/get_date.y: ...here.
23971         * tests/test-getdate.c: Move...
23972         * tests/test-get_date.c: ...here.
23973         * doc/posix-functions/getdate.texi (getdate): Update name.
23974         * NEWS: Mention the change.
23975
23976 2010-09-29  Bruno Haible  <bruno@clisp.org>
23977
23978         Separate the module 'waitpid' from the module 'sys_wait'.
23979         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23980         present.
23981         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23982         gl_MODULE_INDICATOR_FOR_TESTS.
23983         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23984         * modules/sys_wait (Depends-on): Remove waitpid.
23985         (Makefile.am): Substitute GNULIB_WAITPID.
23986         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23987         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23988         signature only if the 'waitpid' module is present.
23989         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23990         * NEWS: Mention the change.
23991         * modules/grantpt (Depends-on): Add waitpid.
23992         * modules/wait-process (Depends-on): Likewise.
23993
23994 2010-09-29  Bruno Haible  <bruno@clisp.org>
23995
23996         More tests for module 'sys_wait'.
23997         * modules/sys_wait-c++-tests: New file.
23998         * tests/test-sys_wait-c++.cc: New file.
23999         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24000         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24001
24002 2010-09-29  Bruno Haible  <bruno@clisp.org>
24003
24004         New module 'waitpid'.
24005         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24006         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24007         Don't include <process.h>.
24008         (waitpid): Declare only, using modern idiom.
24009         * m4/waitpid.m4: New file.
24010         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24011         * modules/waitpid: New file.
24012         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24013         (Makefile.am): Update.
24014         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24015
24016 2010-09-28  Bruno Haible  <bruno@clisp.org>
24017
24018         poll: Assume ANSI C.
24019         * lib/poll.c (poll): Use an ANSI C declaration.
24020
24021 2010-09-28  Bruno Haible  <bruno@clisp.org>
24022
24023         poll-h: Create poll.h on all platforms.
24024         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24025         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24026         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24027         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24028         (gl_REPLACE_POLL_H): Don't set POLL_H.
24029         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24030         * modules/poll-h (Depends-on): Add include_next.
24031         (Makefile.am): Create poll.h unconditionally. Substitute also
24032         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24033
24034 2010-09-28  Bruno Haible  <bruno@clisp.org>
24035
24036         Tests for module 'poll-h'.
24037         * modules/poll-h-c++-tests: New file.
24038         * tests/test-poll-h-c++.cc: New file.
24039
24040         Tests for module 'poll-h'.
24041         * modules/poll-h-tests: New file.
24042         * tests/test-poll-h.c: New file.
24043
24044 2010-09-28  Bruno Haible  <bruno@clisp.org>
24045
24046         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24047         * modules/poll-h (Depends-on): Add 'extensions'.
24048
24049 2010-09-28  Bruno Haible  <bruno@clisp.org>
24050
24051         New module 'poll-h'.
24052         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24053         (poll): Use modern idiom.
24054         * modules/poll-h: New file.
24055         * modules/poll (Files): Remove lib/poll.in.h.
24056         (Depends-on): Add poll-h.
24057         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24058         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24059         * m4/poll_h.m4: New file.
24060         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24061         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24062         and invoke gl_REPLACE_POLL_H.
24063         * lib/poll.c: Use common idiom.
24064         * tests/test-poll.c: Likewise.
24065         * doc/posix-headers/poll.texi: Mention the poll-h module.
24066         Suggested by Eric Blake.
24067
24068 2010-09-26  Bruno Haible  <bruno@clisp.org>
24069
24070         sys_wait: Implement WSTOPSIG.
24071         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24072         Reported by Simon Josefsson.
24073
24074 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24075
24076         stdlib, sys_wait: Avoid compilation error on mingw.
24077         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24078
24079 2010-09-26  Bruno Haible  <bruno@clisp.org>
24080
24081         stdlib tests: Avoid code duplication.
24082         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24083         * modules/sys_wait-tests (Files): Likewise.
24084         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24085         * tests/test-stdlib.c: Include test-sys_wait.h.
24086         (main): Invoke test_sys_wait_macros.
24087         * tests/test-sys_wait.c: Include test-sys_wait.h.
24088         (main): Invoke test_sys_wait_macros.
24089
24090 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24091
24092         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24093         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24094         sure Windows sockets are working before calling getaddrinfo.
24095         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24096         * doc/gnulib.texi (Windows sockets): Fix typo.
24097
24098 2010-09-25  Bruno Haible  <bruno@clisp.org>
24099
24100         Tests for module 'regex-quote'.
24101         * modules/regex-quote-tests: New file.
24102         * tests/test-regex-quote.c: New file.
24103
24104         New module 'regex-quote'.
24105         * lib/regex-quote.h: New file.
24106         * lib/regex-quote.c: New file.
24107         * modules/regex-quote: New file.
24108         Suggested by Reuben Thomas <rrt@sc3d.org>.
24109
24110 2010-09-24  Bruno Haible  <bruno@clisp.org>
24111
24112         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24113         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24114
24115 2010-09-23  Bruno Haible  <bruno@clisp.org>
24116
24117         setenv: Relax license.
24118         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24119         Blake.
24120         Requested by Eric Blake.
24121
24122 2010-09-22  Bruno Haible  <bruno@clisp.org>
24123
24124         termios: Relax license.
24125         * modules/termios (License): Change to LGPLv2+.
24126         Requested by Eric Blake.
24127
24128 2010-09-22  Bruno Haible  <bruno@clisp.org>
24129
24130         threadlib: Allow the package to change the default to 'no'.
24131         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24132         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24133         Reported by Paul Eggert.
24134
24135 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24136             Bruno Haible  <bruno@clisp.org>
24137
24138         Fix endless loop in mbmemcasecoll.
24139         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24140         byte.
24141         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24142
24143 2010-09-22  Bruno Haible  <bruno@clisp.org>
24144
24145         Tests for module 'memcoll'.
24146         * modules/memcoll-tests: New file.
24147         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24148
24149         memcoll, xmemcoll: Clarify size vs. length.
24150         * modules/memcoll.c (memcoll0): Clarify specification.
24151         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24152         passed to collate_error.
24153
24154 2010-09-22  Bruno Haible  <bruno@clisp.org>
24155
24156         Tests for module 'memcasecmp'.
24157         * modules/memcasecmp-tests: New file.
24158         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24159
24160 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24161
24162         * lib/pthread.in.h: Add split double-inclusion guard, and include
24163         system <pthread.h> if there is one.  Use @@-style as in other
24164         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24165         pthread.h doesn't.
24166         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24167         (pthread_mutexattr_settype, pthread_mutex_trylock):
24168         New static inline functions, if there's no system <pthread.h>.
24169         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24170         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24171         Approximate with mutexes if the system lacks spinlocks, as in
24172         MacOS.
24173         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24174         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24175         @@-style.  Check for spinlocks separately.
24176         (gl_PTHREAD_DEFAULTS): New macro.
24177         * modules/pthread: Redo to use a more typical style for in.h files.
24178
24179 2010-09-21  Eric Blake  <eblake@redhat.com>
24180
24181         net_if: enhance tests
24182         * tests/test-net_if.c (main): Move signature checks earlier.
24183         Print failures to stderr.
24184         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24185         Document the bug that we do not yet fix.
24186
24187 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24188
24189         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24190         about gnulib, not GSS.
24191
24192 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24193
24194         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24195         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24196         for Emacs.
24197         * build-aux/pmccabe2html: Make Makefile.am example code more
24198         cut-and-paste friendly.
24199
24200 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24201
24202         * tests/test-net_if.c: New file.
24203         * modules/net_if-tests: New file.
24204
24205 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24206
24207         pthread: add pthread_spin_destroy
24208         * lib/pthread.in.h (pthread_spin_destroy): New function.
24209
24210 2010-09-19  Bruno Haible  <bruno@clisp.org>
24211
24212         gnulib-tool: Fix --help output.
24213         * gnulib-tool (func_usage): Fix help message.
24214         Reported by Reuben Thomas <rrt@sc3d.org>.
24215
24216 2010-09-18  Jim Meyering  <meyering@redhat.com>
24217
24218         maint.mk: avoid unexpanded \n in two diagnostics
24219         * top/maint.mk (sc_prohibit_always_true_header_tests):
24220         Don't use a literal \n in a halt=... assignment.  It would not be
24221         expanded, and the two \n bytes would appear in the diagnostic output
24222         rather than the desired newline.  Use halt=$$(printf ... instead.
24223         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24224
24225 2010-09-18  Bruno Haible  <bruno@clisp.org>
24226
24227         netinet_in: Doc tweak.
24228         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24229         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24230
24231 2010-09-18  Jim Meyering  <meyering@redhat.com>
24232
24233         init.sh: correct an outdated comment
24234         * tests/init.sh (create_exe_shims_):  s/function/alias/
24235
24236         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24237         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24238         a file named "*.exe" is removed between the glob expansion and the
24239         processing of that oddly named file.
24240
24241 2010-09-17  Eric Blake  <eblake@redhat.com>
24242
24243         mirbsd: add some more support
24244         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24245         in BSD family.
24246         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24247         devices as OpenBSD.
24248         * m4/host-os.m4 (mirbsd): Add MirBSD.
24249
24250         tests: fix unportable assumption on sys/wait.h
24251         * tests/test-sys_wait.c (main): Relax test.
24252         * tests/test-stdlib.c (main): Likewise.
24253
24254         init.sh: accomodate directory with no .exes
24255         * tests/init.sh: Accomodate directory containing only scripts.
24256
24257         tests: avoid compiler warning
24258         * tests/test-stdlib.c (main): Use the variable.
24259
24260         fdutimens, fdutimensat: update signature, again
24261         * lib/utimens.h (gl_futimens): Delete, and move signature...
24262         (fdutimens): ...here.
24263         (fdutimensat): Rearrange signature.
24264         (lutimensat): Rename variable for clarity.
24265         * lib/fdutimensat.c (fdutimensat): Update signature.
24266         * lib/utimens.c (fdutimens): Likewise.
24267         (gl_futimens): Delete.
24268         (utimens, lutimens): Update callers.
24269         * lib/futimens.c (futimens): Likewise.
24270         * tests/test-fdutimensat.c: Likewise.
24271         * tests/test-utimens.c: Likewise.
24272         * tests/test-futimens.h: Update comment.
24273         * NEWS: Mention this.
24274         Suggested by Paul Eggert.
24275
24276 2010-09-17  Bruno Haible  <bruno@clisp.org>
24277
24278         Take over the maintenance of some older macros from Autoconf.
24279         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24280         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24281         GNU Autoconf.
24282         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24283         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24284
24285 2010-09-17  Eric Blake  <eblake@redhat.com>
24286
24287         fdutimensat: drop atflag validation
24288         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24289         with valid fd, to close a race scenario where futimens is
24290         unsupported and FILE was replaced by a symlink.
24291         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24292         accordingly.
24293         Suggested by Paul Eggert.
24294
24295 2010-09-16  Bruno Haible  <bruno@clisp.org>
24296
24297         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24298         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24299
24300 2010-09-16  Bruno Haible  <bruno@clisp.org>
24301
24302         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24303         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24304         login_tty exists.
24305         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24306
24307 2010-09-16  Bruno Haible  <bruno@clisp.org>
24308
24309         login_tty: Make the replacement code work on BSD systems.
24310         * lib/login_tty.c: Include <sys/ioctl.h>.
24311         (login_tty): Use ioctl TIOCSCTTY when available.
24312         * modules/login_tty (Depends-on): Add sys_ioctl.
24313         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24314
24315 2010-09-16  Bruno Haible  <bruno@clisp.org>
24316
24317         login_tty: Stricter unit test.
24318         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24319         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24320         and tcgetsid() after login_tty.
24321         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24322
24323 2010-09-16  Bruno Haible  <bruno@clisp.org>
24324
24325         New module 'tcgetsid'.
24326         * lib/tcgetsid.c: New file.
24327         * m4/tcgetsid.m4: New file.
24328         * modules/tcgetsid: New file.
24329         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24330         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24331         GNULIB_TCGETSID, HAVE_TCGETSID.
24332         * lib/termios.in.h: Include <sys/types.h>.
24333         (tcgetsid): New declaration.
24334         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24335         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24336         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24337         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24338
24339 2010-09-16  Bruno Haible  <bruno@clisp.org>
24340
24341         Tests for module 'termios'.
24342         * modules/termios-c++-tests: New file.
24343         * modules/termios-tests: New file.
24344         * tests/test-termios-c++.cc: New file.
24345         * tests/test-termios.c: New file.
24346
24347         New module 'termios'.
24348         * modules/termios: New file.
24349         * lib/termios.in.h: New file.
24350         * m4/termios_h.m4: New file.
24351         * doc/posix-headers/termios.texi: Mention the new module.
24352
24353 2010-09-16  Eric Blake  <eblake@redhat.com>
24354
24355         fdutimensat: add an atflag parameter
24356         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24357         * lib/utimens.h (fdutimensat): Update prototype.
24358         * tests/test-fdutimensat.c: Adjust test to match.
24359         * NEWS: Document the change.
24360         Suggested by Paul Eggert.
24361
24362 2010-09-16  Bruno Haible  <bruno@clisp.org>
24363
24364         Fix typos in comments.
24365         * lib/striconveh.h: Fix typo in comment.
24366         * lib/login_tty.c (login_tty): Likewise.
24367
24368 2010-09-15  Bruno Haible  <bruno@clisp.org>
24369
24370         stdlib: clarify MirBSD WEXITSTATUS bug
24371         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24372         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24373
24374 2010-09-15  Eric Blake  <eblake@redhat.com>
24375
24376         stdlib: work around MirBSD WEXITSTATUS bug
24377         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24378         * modules/stdlib (Depends-on): Add sys_wait.
24379         * tests/test-sys_wait.c (main): Enhance test.
24380         * tests/test-stdlib.c (main): Likewise.
24381         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24382
24383         docs: mention MacOS issue with WEXITSTATUS(constant)
24384         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24385         issue.
24386         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24387
24388         strnlen: add tests
24389         * modules/strnlen-tests: New file.
24390         * tests/test-strnlen.c: Likewise.
24391
24392 2010-09-14  Bruno Haible  <bruno@clisp.org>
24393
24394         unistr/base: Avoid link errors when module 'libunistring' is also used.
24395         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24396         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24397         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24398         Declare also when HAVE_LIBUNISTRING is set.
24399         Reported by Pádraig Brady <P@draigbrady.com>.
24400
24401 2010-09-14  Eric Blake  <eblake@redhat.com>
24402
24403         test-rawmemchr: make more robust
24404         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24405         (Depends-on, configure.ac): Add needed prerequisites to use it.
24406         * modules/memchr-tests (Files, Depends-on, configure.ac):
24407         Likewise, to avoid implicit reliance on memchr module prereqs.
24408         * tests/test-memchr.c (main): Ensure proper masking.
24409         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24410         reads.
24411
24412         memchr: detect glibc Alpha bug
24413         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24414         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24415         Alpha.
24416         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24417         * tests/test-memchr.c (main): Enhance test.
24418         Reported by Nelson H. F. Beebe.
24419
24420 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24421
24422         fts, getcwd, glob: audit for dirfd returning -1
24423         * lib/fts.c (opendir): Remove #define; no longer used.
24424         (opendirat): New arg PDIR_FD.  All callers changed.
24425         (fts_build, _opendir2): Use new opendirat to avoid the need for
24426         dirfd, or for checking whether dirfd returns a negative value.
24427         Don't use opendir; always use openat followed by fdopendir.
24428         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24429         it.
24430         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24431         returns -1 here.
24432         * modules/fts (Depends-on): Remove dirfd.
24433         * modules/getcwd (Depends-on): Likewise.
24434
24435 2010-09-13  Eric Blake  <eblake@redhat.com>
24436
24437         float: fix broken MirBSD header
24438         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24439         * doc/posix-headers/float.texi (float.h): Document it.
24440
24441 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24442
24443         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24444         * lib/fts.c (opendirat): New arg extra_flags.
24445         (__opendir2): Use it to avoid following symlinks when opening
24446         a directory, if symlinks are not supposed to be followed.  See
24447         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24448
24449         fdopendir: preserve argument fd before returning
24450         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24451         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24452         (fdopendir): Use them, arranging for FD to be open to the same
24453         directory that it was when it started.  (It might be temporarily
24454         closed while fdopendir is running, so this not thread- or
24455         signal-safe.)  Be careful to do the right thing even when file
24456         descriptors are scarce and dup fails with errno == EMFILE.  See
24457         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24458
24459 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24460
24461         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24462         * NEWS: Document change.
24463         * m4/regex.m4: Disable test for regoff_t size.
24464
24465 2010-09-13  Jim Meyering  <meyering@redhat.com>
24466
24467         fts: don't operate on an invalid file descriptor after failed dup
24468         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24469         negative file descriptor.
24470
24471 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24472
24473         savedir: add streamsavedir, deprecate fdsavedir
24474         * NEWS: Mention deprecation of fdsavedir.
24475         * lib/savedir.c (streamsavedir): New extern function, whose name
24476         ends in "savedir" to be consistent with the others.  This differs
24477         from savedirstream in that it doesn't close its argument.  The
24478         next version of GNU tar will use this instead of fdsavedir, to
24479         avoid some race conditions and conserve file descriptors.
24480         (savedirstream): Reimplement as a wrapper around streamsavedir.
24481         (fdsavedir): Add a comment deprecating this function.  As far as
24482         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24483         * lib/savedir.h (streamsavedir): New decl.
24484         (fdsavedir): Add a comment deprecating this.
24485
24486 2010-09-10  Bruno Haible  <bruno@clisp.org>
24487
24488         langinfo: Fix last commit.
24489         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24490         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24491         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24492
24493 2010-09-10  Bruno Haible  <bruno@clisp.org>
24494
24495         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24496         * lib/progreloc.c (O_EXEC): Define fallback.
24497
24498 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24499
24500         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24501         * NEWS: Document recent changes to fcntl-h.
24502         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24503         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24504         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24505         Similarly for O_SEARCH; this last was already true, but not documented.
24506         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24507         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24508         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24509         Likewise.
24510         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24511         is zero, not whether it is defined.
24512         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24513         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24514         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24515
24516 2010-09-10  Bruno Haible  <bruno@clisp.org>
24517
24518         langinfo, nl_langinfo: Fix for IRIX 5.3.
24519         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24520         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24521         HAVE_LANGINFO_YESEXPR.
24522         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24523         HAVE_LANGINFO_YESEXPR.
24524         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24525         HAVE_LANGINFO_T_FMT_AMPM is 0.
24526         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24527         HAVE_LANGINFO_YESEXPR is 0.
24528         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24529         NOEXPR.
24530         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24531         * doc/posix-functions/nl_langinfo.texi: Likewise.
24532         Reported by Eric Blake.
24533
24534 2010-09-10  Bruno Haible  <bruno@clisp.org>
24535
24536         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24537         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24538         on FreeBSD 8.0 and OpenBSD 4.6.
24539         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24540         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24541         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24542         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24543         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24544         ac_includes_default.
24545         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24546
24547 2010-09-09  Eric Blake  <eblake@redhat.com>
24548
24549         strsignal: work around NetBSD bug
24550         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24551         * lib/string.in.h (includes): Likewise.
24552         * doc/posix-functions/strsignal.texi (strsignal): Document the
24553         bug.
24554         Reported by Nelson H. F. Beebe.
24555
24556         gnulib-tool: work with NetBSD /bin/sh
24557         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24558         (func_get_description, func_get_comment, func_get_status)
24559         (func_get_notice, func_get_applicability, func_get_filelist)
24560         (func_get_dependencies, func_get_autoconf_early_snippet)
24561         (func_get_autoconf_snippet, func_get_automake_snippet)
24562         (func_get_include_directive, func_get_link_directive)
24563         (func_get_license, func_get_maintainer, func_import): Avoid
24564         shell syntax errors from parsing syntax extensions.
24565
24566 2010-09-09  Bruno Haible  <bruno@clisp.org>
24567
24568         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24569         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24570         a reliable way to determine whether the 'alias' command works.
24571
24572 2010-09-08  Jim Meyering  <meyering@redhat.com>
24573
24574         init.sh: penalize a set-x-impaired shell; don't disqualify it
24575         * tests/init.sh: Too many shells corrupt application stderr when
24576         you set -x, so we can't afford to disqualify them, since at least
24577         on Irix-6.5, that would disqualify all bourne shells.
24578         Instead, use a two-pass approach.
24579         On the first pass, try to find a shell that meets the stricter
24580         condition that set -x does not corrupt stderr.
24581         If no shell meets the stricter condition, retest each candidate
24582         shell, but without that extra condition.  Finally, when
24583         VERBOSE=yes is requested and set -x might cause trouble, simply
24584         issue a warning and refrain from enabling debug output.
24585
24586 2010-09-08  Eric Blake  <eblake@redhat.com>
24587
24588         unsetenv: fix OpenBSD bug
24589         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24590         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24591         documentation.
24592         Reported by Jim Meyering.
24593
24594         strtod: work around IRIX 6.5 bug
24595         * lib/strtod.c (strtod): Reparse number on shorter string if
24596         exponent parse was invalid.
24597         * tests/test-strtod.c (main): Add check for "0x1p 2".
24598         Reported by Tom G. Christensen.
24599
24600         getopt: optimize previous patch
24601         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24602         empty variable.  Speed up awk script.
24603         Reported by Paolo Bonzini.
24604
24605 2010-09-08  Jim Meyering  <meyering@redhat.com>
24606
24607         test.sh: disqualify shells for which set -x corrupts stderr
24608         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24609         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24610         appear in stderr output.  For example, this command:
24611             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24612         prints "P=1" on those two systems:
24613
24614 2010-09-08  Bruno Haible  <bruno@clisp.org>
24615
24616         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24617         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24618         commands, because some shells ignore redirections when there is an
24619         error in the command lookup.
24620         Reported by Eric Blake.
24621
24622 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24623
24624         * lib/regex.h: Fix a mention of `regex_compile' (should be
24625         `re_compile_pattern').
24626         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24627         (re_set_registers): Correct name of parameter in comment.
24628
24629         * doc/regex.texi: Add documentation for missing syntax flags.
24630         Remove commented-out documentation of defunct syntax option
24631         RE_NO_EMPTY_ALTS.
24632         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24633         Add documentation of re_set_registers.
24634         Document trick to re-use a pattern buffer by setting fastmap manually.
24635         Update documentation of struct re_pattern_buffer per public members.
24636         Uncomment documentation of equivalence class operators and
24637         collating symbol operators, since they are now implemented,
24638         Explain leftmost-longest matching in relation to alternatives.
24639         Tidy documentation of substring matching.
24640         Remove POSIX documentation, which is done better in
24641         glibc, and refer the reader there. Keep BSD API documentation, as
24642         that is not readily available elsewhere.
24643
24644 2010-09-07  Eric Blake  <eblake@redhat.com>
24645
24646         getopt: handle POSIXLY_CORRECT set but not exported
24647         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24648         export state of POSIXLY_CORRECT, due to bash set -o posix.
24649         Reported by Dustin J. Mitchell.
24650
24651 2010-09-05  Bruno Haible  <bruno@clisp.org>
24652
24653         gnulib-tool: Highlight the changed options.
24654         * gnulib-tool (func_usage): Display the --import, --add-import,
24655         --remove-import explanations in bold font.
24656
24657 2010-09-06  Karl Berry  <karl@gnu.org>
24658
24659         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24660
24661 2010-09-05  Bruno Haible  <bruno@clisp.org>
24662
24663         uniwidth/width: Update comment.
24664         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24665         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24666
24667 2010-09-05  Bruno Haible  <bruno@clisp.org>
24668
24669         isinf, isnan: Relax license.
24670         * modules/isinf (License): Change from GPL to LGPL, with consent from
24671         Ben Pfaff.
24672         * modules/isnan (License): Likewise.
24673         Requested by Ludovic Courtès.
24674
24675 2010-09-04  Bruno Haible  <bruno@clisp.org>
24676
24677         gnulib-tool: Help migration from --import to --add-import or --update.
24678         * gnulib-tool: Emit a verbose error message when --import is used
24679         without any module name.
24680
24681 2010-09-04  Bruno Haible  <bruno@clisp.org>
24682
24683         Update doc about gnulib-tool.
24684         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24685         'gnulib-tool --update' in more detail.
24686         Reported by Eric Blake.
24687
24688 2010-09-04  Bruno Haible  <bruno@clisp.org>
24689
24690         gnulib-tool: Change --import. New options --add/remove-import.
24691         * gnulib-tool: New options --add-import, --remove-import.
24692         (func_usage): Document them.
24693         (have_associative): Define always.
24694         (func_import): In import mode, don't merge the specified settings with
24695         the cached settings. Implement remove-import mode.
24696         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24697         Explain when to use them versus --import.
24698         (Simple update): Use --add-import instead of --import.
24699         * NEWS: Mention the change.
24700
24701 2010-09-04  Bruno Haible  <bruno@clisp.org>
24702
24703         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24704         separate gnulib.mk.
24705
24706 2010-09-04  Bruno Haible  <bruno@clisp.org>
24707
24708         gnulib-tool: Don't talk about CVS any more.
24709         * gnulib-tool (func_usage, func_import): Write "version control"
24710         instead of CVS.
24711
24712 2010-09-04  Jim Meyering  <meyering@redhat.com>
24713
24714         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24715         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24716         false positives (whose names may be ill-chosen) when searching
24717         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24718         would cause a false-positive.
24719
24720         avoid coreutils "make distcheck" failure
24721         Coreutils tests with an absolute build directory name that contains
24722         a space.  Not quoting this directory name caused a failure.
24723         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24724         * tests/test-vc-list-files-cvs.sh: Likewise.
24725
24726 2010-09-04  Bruno Haible  <bruno@clisp.org>
24727
24728         gnulib-tool: Avoid error when run in a package without Makefile.am.
24729         * gnulib-tool: When collecting the m4dirs in a package that does not
24730         have a Makefile.am, eliminate those directories that contain no
24731         gnulib-cache.m4. Fix expression that counts these directories.
24732
24733 2010-09-04  Bruno Haible  <bruno@clisp.org>
24734
24735         update-copyright test: Improve output when perl is missing or too old.
24736         * tests/test-update-copyright.sh: Move test of Perl version down after
24737         the test whether Perl exists. Provide an explanation relating Perl's
24738         error message to Automake's SKIP: message.
24739
24740 2010-09-04  Bruno Haible  <bruno@clisp.org>
24741
24742         Don't augment PATH in TESTS_ENVIRONMENT.
24743         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24744         set abs_aux_dir instead of augmenting PATH.
24745         * modules/vc-list-files-tests (Makefile.am): Likewise.
24746         * tests/test-update-copyright.sh: Augment PATH here.
24747         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24748         path_prepend_.
24749         * tests/test-vc-list-files-git.sh: Likewise.
24750
24751 2010-09-04  Jim Meyering  <meyering@redhat.com>
24752
24753         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24754         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24755
24756 2010-09-04  Bruno Haible  <bruno@clisp.org>
24757
24758         strdup: Fix compilation error in C++ mode.
24759         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24760         the macro.
24761
24762 2010-09-04  Bruno Haible  <bruno@clisp.org>
24763
24764         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24765         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24766         macro into a function.
24767         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24768
24769 2010-09-04  Bruno Haible  <bruno@clisp.org>
24770
24771         Set PATH_SEPARATOR the same way autoconf does.
24772         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24773         the value of PATH_SEPARATOR the same way autoconf-generated configure
24774         scripts do.
24775         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24776         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24777
24778 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24779
24780         Set PATH_SEPARATOR the same way autoconf does.
24781         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24782         the same way autoconf-generated configure scripts do.
24783         * posix-modules: Likewise.
24784
24785 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24786
24787         hash: fix safe_hasher const typo
24788         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24789         const; otherwise, there is a type error later.
24790
24791 2010-09-02  Jim Meyering  <meyering@redhat.com>
24792
24793         test-update-copyright.sh: require perl 5.8.0
24794         * tests/test-update-copyright.sh: Require 5.8.0,
24795         which Tom G. Christensen has confirmed is adequate,
24796         while 5.6.1 is not.
24797
24798 2010-09-02  Eric Blake  <eblake@redhat.com>
24799
24800         tests: init.sh improvements for re-exec'ing with zsh
24801         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24802         -vx through shell re-exec.
24803         Reported by Tom G. Christensen.
24804
24805         wctype: fix typo in previous commit
24806         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24807         Reported by Ludovic Courtès.
24808
24809 2010-09-02  Jim Meyering  <meyering@redhat.com>
24810
24811         test-update-copyright.sh: skip test if Perl is too old
24812         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24813         Reported by Tom G. Christensen.
24814
24815 2010-09-02  Bruno Haible  <bruno@clisp.org>
24816
24817         wctype: Avoid compilation error on IRIX 6.5.30.
24818         * lib/wctype.in.h (iswblank): Declare with a replacement if
24819         REPLACE_ISWBLANK is set.
24820         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24821         declared. Set REPLACE_ISWBLANK.
24822         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24823         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24824         * doc/posix-headers/wctype.texi: Likewise.
24825         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24826
24827 2010-09-01  Bruno Haible  <bruno@clisp.org>
24828
24829         New module 'socketlib'.
24830         * modules/socketlib: New file.
24831         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24832         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24833         * modules/sockets (Depends-on): Add socketlib.
24834         Suggested by Sam Steingold <sds@gnu.org>.
24835
24836 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24837
24838         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24839
24840         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24841         when one needs search access to a directory but not read access.
24842         On systems where it is available, it works in some cases where
24843         O_RDONLY does not, namely on directories that are searchable but
24844         not readable, and which need only to be searchable.  If O_SEARCH
24845         is not available, fall back to the traditional method of using
24846         O_RDONLY.
24847
24848         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24849         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24850         when opening a directory that needs only to be searchable.
24851         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24852         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24853         * lib/openat-proc.c (openat_proc_name): Likewise.
24854         * lib/openat.c (openat_needs_fchdir): Likewise.
24855         * lib/save-cwd.c (save_cwd): Likewise.
24856         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24857
24858 2010-08-28  Bruno Haible  <bruno@clisp.org>
24859
24860         New module 'host-cpu-c-abi'.
24861         * modules/host-cpu-c-abi: New file.
24862         * m4/host-cpu-c-abi.m4: New file, based on part of
24863         clisp/src/m4/general.m4.
24864         Requested by Sam Steingold <sds@gnu.org>.
24865
24866 2010-08-31  Eric Blake  <eblake@redhat.com>
24867         and Jim Meyering  <meyering@redhat.com>
24868
24869         hash: factor, and guard against misbehaving hasher function
24870         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24871         of table->hasher's return value.  Also protect against a hash value
24872         so large that adding it to table->bucket results in a NULL pointer.
24873         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24874         Use it in place of open-coded check-and-abort.
24875
24876 2010-08-30  Bruno Haible  <bruno@clisp.org>
24877
24878         hash: silence spurious clang warning
24879         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24880         Reported by Eric Blake.
24881
24882 2010-08-30  Eric Blake  <eblake@redhat.com>
24883
24884         strstr, memmem, strcasestr: avoid leaked shell message
24885         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24886         FreeBSD.
24887         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24888         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24889
24890         tests: silence clang warning
24891         * tests/test-malloca.c (do_allocation): Avoid dead store.
24892
24893 2010-08-29  Bruno Haible  <bruno@clisp.org>
24894
24895         gettext: Fix recent mistake.
24896         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24897
24898 2010-08-29  Bruno Haible  <bruno@clisp.org>
24899
24900         selinux-h: Offer a --without-selinux option.
24901         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24902         --without-selinux was specified, skip all tests and define
24903         HAVE_SELINUX_SELINUX_H to 0.
24904         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24905         set LIB_SELINUX to empty.
24906         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24907         gl_LIBSELINUX. If --without-selinux was specified, replace
24908         selinux/context.h.
24909         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24910
24911 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24912             Bruno Haible  <bruno@clisp.org>
24913
24914         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24915         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24916         of HAVE_REALLOC.
24917         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24918         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24919         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24920         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24921
24922 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24923             Bruno Haible  <bruno@clisp.org>
24924
24925         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24926         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24927         HAVE_CALLOC.
24928         * lib/xmalloc.c: Update accordingly.
24929         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24930         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24931         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24932
24933 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24934             Bruno Haible  <bruno@clisp.org>
24935
24936         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24937         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24938         HAVE_MALLOC.
24939         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24940         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24941         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24942
24943 2010-08-29  Bruno Haible  <bruno@clisp.org>
24944
24945         Update modules list.
24946         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24947         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24948         (String handling <string.h>): Add astrxfrm.
24949         (File system functions): Add readlinkat.
24950
24951 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24952
24953         Tests for module 'realloc-gnu'.
24954         * modules/realloc-gnu-tests: New file.
24955         * tests/test-realloc-gnu.c: New file.
24956
24957         Tests for module 'calloc-gnu'.
24958         * modules/calloc-gnu-tests: New file.
24959         * tests/test-calloc-gnu.c: New file.
24960
24961         Tests for module 'malloc-gnu'.
24962         * modules/malloc-gnu-tests: New file.
24963         * tests/test-malloc-gnu.c: New file.
24964
24965 2010-08-28  Bruno Haible  <bruno@clisp.org>
24966
24967         Rename module 'realloc' -> 'realloc-gnu'.
24968         * modules/realloc-gnu: New file, copied from modules/realloc.
24969         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24970         obsolete.
24971         * modules/mgetgroups (Depends-on): Update.
24972         * doc/posix-functions/realloc.texi: Update.
24973         * NEWS: Mention the change.
24974
24975         Rename module 'calloc' -> 'calloc-gnu'.
24976         * modules/calloc-gnu: New file, copied from modules/calloc.
24977         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24978         obsolete.
24979         * doc/posix-functions/calloc.texi: Update.
24980         * NEWS: Mention the change.
24981
24982         Rename module 'malloc' -> 'malloc-gnu'.
24983         * modules/malloc-gnu: New file, copied from modules/malloc.
24984         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24985         obsolete.
24986         * modules/argp (Depends-on): Update.
24987         * modules/regex (Depends-on): Update.
24988         * doc/posix-functions/malloc.texi: Update.
24989         * NEWS: Mention the change.
24990
24991 2010-08-28  Eric Blake  <eblake@redhat.com>
24992
24993         pread, pwrite: add missing dependency
24994         * modules/pread (Depends-on): Add extensions.
24995         * modules/pwrite (Depends-on): Likewise.
24996
24997 2010-08-28  Bruno Haible  <bruno@clisp.org>
24998
24999         unistr/u*-strchr: Fix tests dependencies.
25000         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25001         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25002         Reported by Ian Beckwith <ianb@erislabs.net>.
25003
25004 2010-08-28  Bruno Haible  <bruno@clisp.org>
25005
25006         read-file: Don't occupy too much unused memory.
25007         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25008
25009 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25010             Eric Blake  <eblake@redhat.com>
25011             Bruno Haible  <bruno@clisp.org>
25012
25013         read-file: Avoid memory reallocations with regular files.
25014         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25015         (fread_file): With regular files, use the remaining length as the
25016         initial buffer size.  Check against overflow.
25017         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25018         sys_stat.
25019
25020 2010-08-28  Bruno Haible  <bruno@clisp.org>
25021
25022         ftello: Relax license.
25023         * modules/ftello (License): Relax to LGPLv2+.
25024         Reported by Eric Blake.
25025
25026 2010-08-28  Bruno Haible  <bruno@clisp.org>
25027
25028         Avoid relocwrapper link errors due to gnulib replacement functions.
25029         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25030         function.
25031         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25032
25033 2010-08-28  Bruno Haible  <bruno@clisp.org>
25034
25035         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25036         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25037         defined.
25038         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25039         Suggested by Eric Blake.
25040
25041 2010-08-28  Bruno Haible  <bruno@clisp.org>
25042
25043         sys_socket, netdb: Ensure socklen_t gets defined.
25044         * modules/sys_socket (Depends-on): Add socklen.
25045         * modules/netdb (Depends-on): Likewise.
25046         * modules/getaddrinfo (Depends-on): Remove socklen.
25047         * modules/getsockopt (Depends-on): Likewise.
25048         * modules/setsockopt (Depends-on): Likewise.
25049         * tests/test-sys_socket.c: Check that socklen_t is defined.
25050         * tests/test-netdb.c: Likewise.
25051         * m4/socklen.m4: Update comments.
25052         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25053
25054 2010-08-27  Eric Blake  <eblake@redhat.com>
25055
25056         login_tty: add missing dependency
25057         * modules/login_tty (Depends-on): Add pty.
25058
25059 2010-08-26  Eric Blake  <eblake@redhat.com>
25060
25061         lib-symbol-versions: fix m4 quoting
25062         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25063         format for AC_LINK_IFELSE.
25064
25065         glob: fix compile test
25066         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25067
25068         btowc: fix missing file
25069         * modules/btowc (Files): Also ship locale-fr.m4.
25070
25071         lseek: fix link test
25072         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25073         AC_LINK_IFELSE.
25074
25075         include_next: silence autoconf 2.68 warning
25076         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25077         AC_COMPILE_IFELSE as special.
25078         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25079         autoconf < 2.68.
25080
25081         acl: fix compilation test
25082         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25083         AC_COMPILE_IFELSE.
25084
25085 2010-08-26  Bruno Haible  <bruno@clisp.org>
25086
25087         Modernize AC_TRY_RUN invocations.
25088         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25089         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25090         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25091         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25092         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25093         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25094         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25095         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25096         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25097         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25098         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25099         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25100         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25101         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25102         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25103         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25104         gl_MBRLEN_NUL_RETVAL): Likewise.
25105         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25106         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25107         Likewise.
25108         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25109         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25110         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25111         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25112         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25113         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25114         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25115         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25116         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25117         Likewise.
25118         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25119         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25120         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25121         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25122         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25123         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25124         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25125         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25126         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25127         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25128
25129 2010-08-26  Bruno Haible  <bruno@clisp.org>
25130
25131         Modernize AC_TRY_LINK invocations.
25132         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25133         AC_TRY_LINK.
25134         * m4/argp.m4 (gl_ARGP): Likewise.
25135         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25136         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25137         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25138         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25139         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25140         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25141         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25142         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25143         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25144         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25145         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25146         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25147         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25148         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25149         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25150         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25151         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25152         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25153         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25154         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25155         Likewise.
25156         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25157         Likewise.
25158         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25159         Likewise.
25160         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25161         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25162         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25163         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25164         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25165         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25166         * m4/servent.m4 (gl_SERVENT): Likewise.
25167         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25168         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25169         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25170         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25171         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25172         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25173         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25174         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25175         * modules/tsearch-tests (configure.ac): Likewise.
25176
25177 2010-08-26  Bruno Haible  <bruno@clisp.org>
25178
25179         Modernize AC_TRY_COMPILE invocations.
25180         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25181         AC_TRY_COMPILE.
25182         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25183         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25184         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25185         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25186         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25187         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25188         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25189         * m4/lock.m4 (gl_LOCK): Likewise.
25190         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25191         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25192         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25193         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25194         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25195         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25196         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25197         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25198         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25199         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25200         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25201         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25202         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25203         extraneous semicolon.
25204
25205 2010-08-26  Jim Meyering  <meyering@redhat.com>
25206
25207         stat-time: relax license LGPL
25208         * modules/stat-time (License): Change from GPL to LGPL,
25209         with consent from all contributors, for use in libguile.
25210         Requested by Ludovic Courtès.
25211
25212 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25213
25214         poll: return immediately on POLLHUP.
25215         * lib/poll.c (poll): Always set timeout before wait_timeout is
25216         computed.
25217
25218 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25219
25220         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25221         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25222         rmdir ("dir/.//"), unlinkat.
25223
25224 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25225
25226         stdbool: avoid spurious failure with modern xlc
25227         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25228
25229 2010-08-24  Bruno Haible  <bruno@clisp.org>
25230
25231         getloadavg: simplify code
25232         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25233         gl_have_func. Update comments.
25234
25235 2010-08-24  Eric Blake  <eblake@redhat.com>
25236
25237         getloadavg: don't define SVR4 on cygwin
25238         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25239         only define SVR4 when -lkvm is required.
25240         Reported by Yaakov Selkowitz.
25241
25242 2010-08-24  Bruno Haible  <bruno@clisp.org>
25243
25244         priv-set: fix comment
25245         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25246
25247 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25248
25249         priv-set: fix comments
25250         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25251         to match code, as suggested by David Bartley in:
25252         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25253
25254 2010-08-23  Eric Blake  <eblake@redhat.com>
25255
25256         stdbool: avoid rejecting clang
25257         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25258         * tests/test-stdbool.c: Enable more tests if using the system
25259         <stdbool.h> instead of the gnulib replacement.
25260         (main): Move xlc bug test to a runtime test for all compilers.
25261         Reported by Anders Kaseorg.
25262
25263         argz: fix shell quoting issue
25264         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25265         Reported by Charles Wilson.
25266
25267 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25268             Erik Faye-Lund <kusmabite@gmail.com>
25269
25270         poll, select: handle ERROR_BROKEN_PIPE.
25271         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25272         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25273         * lib/select.c (win32_compute_revents): Do not mark a pipe
25274         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25275
25276 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25277
25278         fts: allow compilation with C++
25279         * lib/fts_.h: Specify extern "C" linkage with C++.
25280
25281 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25282
25283         Fix gnulib-tool sed script de-commentation for AIX sed.
25284         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25285         sed.
25286
25287 2010-08-17  Eric Blake  <eblake@redhat.com>
25288
25289         test-stddef: test for (some) offsetof bugs
25290         * tests/test-stddef.c: Enhance test to ensure correct type of
25291         offsetof.
25292         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25293         that we are not fixing at this time.
25294
25295 2010-08-15  Bruno Haible  <bruno@clisp.org>
25296
25297         stpncpy: Allow stpncpy to be defined as a macro.
25298         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25299         if it's already correctly declared.
25300         * lib/string.in.h (stpncpy): Undefine before redefining.
25301         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25302
25303 2010-08-14  Bruno Haible  <bruno@clisp.org>
25304
25305         Rename module 'memxfrm' to 'amemxfrm'.
25306         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25307         (amemxfrm): Renamed from memxfrm.
25308         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25309         (amemxfrm): Renamed from memxfrm.
25310         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25311         * NEWS: Mention the change.
25312         * MODULES.html.sh (String handling <string.h>): Update.
25313         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25314         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25315         * lib/unicase/u16-casexfrm.c: Likewise.
25316         * lib/unicase/u32-casexfrm.c: Likewise.
25317         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25318         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25319         * lib/uninorm/u16-normxfrm.c: Likewise.
25320         * lib/uninorm/u32-normxfrm.c: Likewise.
25321         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25322         memxfrm.
25323         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25324         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25325         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25326         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25327         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25328         Suggested by Paul Eggert.
25329
25330 2010-08-14  Bruno Haible  <bruno@clisp.org>
25331
25332         Tests for module 'astrxfrm'.
25333         * modules/astrxfrm-tests: New file.
25334         * tests/test-astrxfrm.c: New file.
25335
25336         New module 'astrxfrm'.
25337         * lib/astrxfrm.h: New file.
25338         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25339         * modules/astrxfrm: New file.
25340
25341 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25342
25343         regex: Tweak doc.
25344         * doc/regex.texi (Overview): Don't mention regex.c.
25345         (GNU Regular Expression Compiling): Likewise.
25346         (Match-end-of-line Operator): Mention 'not_eol'.
25347
25348 2010-08-14  Brian Gough  <bjg@gnu.org>
25349             Bruno Haible  <bruno@clisp.org>
25350
25351         git-merge-changelog: add doc relating to use with bzr and hg.
25352         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25353
25354 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25355
25356         pthread: fix pthread.h creation for srcdir != builddir
25357         * modules/pthread (Makefile.am): Fix the rule to work also in a
25358         non-srcdir build.
25359
25360 2010-08-13  Karl Berry  <karl@gnu.org>
25361
25362         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25363         * doc/posix-*/*: force line break before @url of POSIX
25364         specifications.
25365         Suggested by Werner Lemberg.
25366
25367 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25368
25369         strtod: fix const diagnostic
25370         * lib/strtod.c (strtod): Don't assign const char * to char *,
25371         as this elicits a warning from GCC when warnings are enabled.
25372
25373 2010-08-10  Pádraig Brady <P@draigbrady.com>
25374         and Eric Blake  <eblake@redhat.com>
25375
25376         copy-acl: ignore ENOTSUP on HP-UX
25377         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25378         so that it is available for HP-UX.
25379         * lib/copy-acl.c (qcopy_acl): Use it.
25380         Reported by Patrick M. Callahan.
25381
25382 2010-08-10  Eric Blake  <eblake@redhat.com>
25383
25384         open, chown: relax license
25385         * modules/open (License): Change to LGPLv2+, with consent by all
25386         authors, for use in augeas.
25387         * modules/chown (License): Likewise.
25388         * modules/lchown (Likewise): Likewise.
25389         Requested by Adam Stokes.
25390
25391 2010-08-09  Karl Berry  <karl@gnu.org>
25392
25393         * build-aux/ar-lib: new file, import from Automake.
25394         * config/srclist.txt: autocheck for updates.
25395
25396 2010-08-09  Eric Blake  <eblake@redhat.com>
25397
25398         readlinkat: adjust client modules
25399         * modules/areadlinkat (Depends-on): Use readlinkat, not
25400         symlinkat.
25401         * modules/areadlinkat-with-size (Depends-on): Likewise.
25402
25403         mknod: be more vocal about danger of running tests as root
25404         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25405         root, since that is just asking for problems.
25406         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25407
25408         readlinkat: split into its own module
25409         * modules/symlinkat: Split readlinkat...
25410         * modules/readlinkat: ...into separate module.
25411         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25412         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25413         * lib/symlinkat.c (readlinkat): Move...
25414         * lib/readlinkat.c: ...into new file.
25415         * modules/symlinkat-tests: Split readlinkat test...
25416         * modules/readlinkat-tests: ...into separate module.
25417         * tests/test-symlinkat.c: Split...
25418         * tests/test-readlinkat.c: ...into new file.
25419         * NEWS: Document the split.
25420         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25421         * lib/unistd.in.h (readlinkat): Likewise.
25422         Suggested by Bruno Haible.
25423
25424 2010-08-08  Bruno Haible  <bruno@clisp.org>
25425
25426         memxfrm: Speed up.
25427         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25428         that usually only one call to strxfrm is necessary for each string
25429         part.
25430         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25431
25432 2010-08-07  Karl Berry  <karl@gnu.org>
25433
25434         * doc/posix-headers/limits.texi,
25435         * doc/posix-functions/malloc.texi,
25436         * doc/posix-functions/strsignal.texi: missing @item.
25437         * doc/ld-version-script.texi: spurious leading i.
25438         * doc/regex.texi (Interval Operators): no commas inside @var.
25439
25440 2010-08-01  Bruno Haible  <bruno@clisp.org>
25441
25442         Integrate the regex documentation.
25443         * doc/gnulib.texi: Define 'cn' index.
25444         (Regular expressions): New a chapter that includes regex.texi and
25445         regexprops-generic.texi.
25446         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25447         syntax.
25448
25449         Whitespace cleanup.
25450         * doc/regex.texi: Remove trailing spaces.
25451
25452         Add regex documentation.
25453         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25454         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25455         Written by Kathy A. Hargreaves and Karl Berry.
25456
25457 2010-08-01  Bruno Haible  <bruno@clisp.org>
25458
25459         link: Update documentation.
25460         * doc/posix-functions/link.texi: Update regarding Solaris.
25461
25462 2010-07-31  Bruno Haible  <bruno@clisp.org>
25463
25464         Update modules list.
25465         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25466         (String handling <string.h>): Add memcmp2, memxfrm.
25467         (Container data structures): Add xlist, xsublist, xoset.
25468         (Core language properties): Add alignof, unused-parameter.
25469         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25470         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25471         (Unibyte characters <ctype.h>): New section.
25472         (String handling <string.h>): New section.
25473         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25474         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25475         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25476         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25477         tan, tanh, tanl, y0, y1, yn.
25478         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25479         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25480         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25481         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25482         unlockpt, vdprintf, vdprintf-posix.
25483         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25484         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25485         xconcat-filename.
25486         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25487         getdtablesize, pipe2, pipe2-safer.
25488         (Security): New section.
25489         (Networking functions): Add accept4.
25490         (Signal handling): Add sigpipe.
25491         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25492         mbmemcasecoll.
25493         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25494         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25495         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25496         pipe-filter-ii.
25497         (Misc): Add argp-version-etc, login_tty, parse-duration.
25498
25499 2010-07-31  Bruno Haible  <bruno@clisp.org>
25500
25501         Improve doc in MODULES.html.
25502         * modules/linkat (Description): Add the word "function".
25503         * modules/mkfifo (Description): Likewise.
25504         * modules/mknod (Description): Likewise.
25505         * modules/remove (Description): Likewise.
25506         * modules/renameat (Description): Likewise.
25507         * modules/stat (Description): Likewise.
25508         * modules/symlink (Description): Likewise.
25509         * modules/unlink (Description): Likewise.
25510
25511 2010-07-31  Bruno Haible  <bruno@clisp.org>
25512
25513         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25514         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25515         option --enable/disable-c++ instead of --enable/disable-cxx.
25516         * NEWS: Mention the change.
25517
25518 2010-07-31  Bruno Haible  <bruno@clisp.org>
25519
25520         readlink, areadlink: Relax test a bit.
25521         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25522         alternative to ENOTDIR.
25523         * tests/test-areadlink.h (test_areadlink): Likewise.
25524         Reported by Rainer Tammer.
25525
25526 2010-07-31  Bruno Haible  <bruno@clisp.org>
25527
25528         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25529         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25530         character, perform the search using U_STRCHR.
25531         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25532         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25533         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25534         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25535         Suggested by Paolo Bonzini.
25536
25537 2010-07-31  Bruno Haible  <bruno@clisp.org>
25538
25539         unistr/u*-strstr: Fix dependencies.
25540         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25541         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25542         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25543
25544 2010-07-31  Bruno Haible  <bruno@clisp.org>
25545
25546         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25547         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25548         the beginning of the loop.
25549         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25550         cases in 'switch' statement.
25551
25552         unistr/u8-strchr: Fix several bugs.
25553         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25554         the string. When not found, return NULL, not a pointer near the end.
25555
25556         More tests for unistr/u8-strchr.
25557         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25558         that the function does not read past the first occurrence of the byte
25559         being searched.
25560         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25561         * tests/unistr/test-u16-strchr.c (main): New function.
25562         * tests/unistr/test-u32-strchr.c (main): New function.
25563
25564 2010-07-31  Bruno Haible  <bruno@clisp.org>
25565
25566         posix-modules: Ignore backup files of documentation files.
25567         * posix-modules: grep only through files named *.texi.
25568
25569 2010-07-31  Bruno Haible  <bruno@clisp.org>
25570
25571         symlinkat: Fix documentation.
25572         * doc/posix-functions/readlinkat.texi: Fix module name.
25573
25574 2010-07-31  Bruno Haible  <bruno@clisp.org>
25575
25576         fchownat: Replace also when chown has the trailing slash bug.
25577         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25578         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25579         introduced on 2010-04-10.
25580         Reported by Rainer Tammer.
25581
25582 2010-07-31  Bruno Haible  <bruno@clisp.org>
25583
25584         linkat: Work around AIX 7.1 bug.
25585         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25586         whether linkat handles trailing slash correctly. If not, replace linkat
25587         and define LINKAT_TRAILING_SLASH_BUG.
25588         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25589         check whether (fd1,file1) points to a directory if file1 or file2 ends
25590         in a slash. Code taken from lib/link.c.
25591         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25592         Reported by Rainer Tammer.
25593
25594 2010-07-31  Bruno Haible  <bruno@clisp.org>
25595
25596         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25597         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25598         This disables an xlc optimization that was causing wrong test results.
25599         Reported by Rainer Tammer.
25600
25601 2010-07-31  Bruno Haible  <bruno@clisp.org>
25602
25603         iconv: Work around AIX 6.1..7.1 bug.
25604         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25605         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25606         cross-compiling, guess no on all versions of AIX.
25607         Reported by Rainer Tammer.
25608
25609 2010-07-31  Bruno Haible  <bruno@clisp.org>
25610
25611         readlink: Relax test a bit.
25612         * tests/test-readlink.h (test_readlink): Allow different errno value
25613         when readlink is called with a file name that ends in / and refers to
25614         a file.
25615         Suggested by Eric Blake.
25616         Reported by Rainer Tammer.
25617
25618 2010-07-31  Bruno Haible  <bruno@clisp.org>
25619
25620         copysign: Does not require -lm on glibc systems.
25621         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25622         gl_COMMON_DOUBLE_MATHFUNC.
25623         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25624
25625 2010-07-31  Bruno Haible  <bruno@clisp.org>
25626
25627         duplocale: Work around AIX 7.1 bug.
25628         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25629         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25630         * lib/duplocale.c (rpl_duplocale): Update comment.
25631         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25632         Reported by Rainer Tammer.
25633
25634 2010-07-30  Bruno Haible  <bruno@clisp.org>
25635
25636         dirfd: Avoid link error on AIX 7.1.
25637         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25638         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25639         exist, set REPLACE_DIRFD.
25640         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25641         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25642         * doc/posix-functions/dirfd.texi: Update.
25643         Reported by Rainer Tammer.
25644
25645 2010-07-30  Eric Blake  <eblake@redhat.com>
25646
25647         strtod: next round of AIX fixes
25648         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25649         exponent.
25650         * tests/test-strtod.c (main): Enhance tests.
25651         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25652         Reported by Rainer Tammer.
25653
25654         futimens: fix configure check
25655         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25656         Reported by Bruno Haible.
25657
25658 2010-07-30  Bruno Haible  <bruno@clisp.org>
25659
25660         getline: Update regarding AIX.
25661         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25662         Reported by Rainer Tammer.
25663
25664 2010-07-30  Bruno Haible  <bruno@clisp.org>
25665
25666         wcwidth: Drop replacement on AIX 7.
25667         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25668         AIX 7.
25669         Reported by Rainer Tammer.
25670
25671 2010-07-30  Bruno Haible  <bruno@clisp.org>
25672
25673         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25674         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25675         a 'char *'.
25676         Reported by Rainer Tammer.
25677
25678 2010-07-30  Bruno Haible  <bruno@clisp.org>
25679
25680         unlink: Update regarding AIX.
25681         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25682         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25683         Reported by Rainer Tammer.
25684
25685 2010-07-30  Bruno Haible  <bruno@clisp.org>
25686
25687         symlink: Update regarding AIX.
25688         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25689         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25690         Reported by Rainer Tammer.
25691
25692 2010-07-30  Bruno Haible  <bruno@clisp.org>
25693
25694         strndup: Update regarding AIX.
25695         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25696         AIX 7.
25697         Reported by Rainer Tammer.
25698
25699 2010-07-30  Bruno Haible  <bruno@clisp.org>
25700
25701         stat: Update regarding AIX.
25702         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25703         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25704         Reported by Rainer Tammer.
25705
25706 2010-07-30  Bruno Haible  <bruno@clisp.org>
25707
25708         truncl: Fix autoconf test.
25709         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25710         whether truncl works.
25711         Reported by Rainer Tammer.
25712
25713 2010-07-30  Bruno Haible  <bruno@clisp.org>
25714
25715         round: Update regarding AIX.
25716         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25717         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25718         Reported by Rainer Tammer.
25719
25720 2010-07-30  Bruno Haible  <bruno@clisp.org>
25721
25722         rename: Update regarding AIX.
25723         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25724         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25725         Reported by Rainer Tammer.
25726
25727 2010-07-30  Bruno Haible  <bruno@clisp.org>
25728
25729         printf.m4: Update regarding AIX.
25730         * m4/printf.m4: Update comments regarding AIX.
25731         Reported by Rainer Tammer.
25732
25733 2010-07-30  Bruno Haible  <bruno@clisp.org>
25734
25735         iconv: Update regarding AIX.
25736         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25737         AIX 7.
25738         Reported by Rainer Tammer.
25739
25740 2010-07-30  Bruno Haible  <bruno@clisp.org>
25741
25742         getopt: Update regarding AIX.
25743         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25744         no on AIX.
25745         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25746         Reported by Rainer Tammer.
25747
25748 2010-07-30  Bruno Haible  <bruno@clisp.org>
25749
25750         ldexpl; Update regarding AIX.
25751         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25752         on AIX 7.
25753         Reported by Rainer Tammer.
25754
25755 2010-07-30  Bruno Haible  <bruno@clisp.org>
25756
25757         frexpl: Update regarding AIX.
25758         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25759         on AIX 7.
25760         Reported by Rainer Tammer.
25761
25762 2010-07-30  Bruno Haible  <bruno@clisp.org>
25763
25764         open, fopen: Update regarding AIX.
25765         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25766         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25767         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25768         * doc/posix-functions/fopen.texi: Likewise.
25769         Reported by Rainer Tammer.
25770
25771 2010-07-30  Bruno Haible  <bruno@clisp.org>
25772
25773         chown: Update doc regarding AIX.
25774         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25775         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25776         Reported by Rainer Tammer.
25777
25778 2010-07-30  Eric Blake  <eblake@redhat.com>
25779
25780         strtod: fix bug in replacement function on AIX
25781         * lib/strtod.c (strtod): Special case broken "0x" parse in
25782         underlying strtod.
25783         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25784         * doc/posix-functions/strtod.texi (strtod): Likewise.
25785         Reported by Rainer Tammer.
25786
25787 2010-07-30  Bruno Haible  <bruno@clisp.org>
25788
25789         mbrlen: Fix cross-compilation guess for AIX.
25790         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25791         guess. Leftover from 2008-12-22.
25792
25793 2010-07-30  Bruno Haible  <bruno@clisp.org>
25794
25795         mbrtowc: Fix cross-compilation guess for AIX.
25796         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25797         guess. Leftover from 2008-12-21.
25798
25799 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25800
25801         init.sh: work around trap limitation of some shells
25802         * tests/init.sh (setup_): Move exit trap outside of shell function.
25803
25804 2010-07-29  Eric Blake  <eblake@redhat.com>
25805
25806         strtod: aid debugging
25807         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25808         understanding why strtod is rejected.
25809
25810 2010-07-28  Bruno Haible  <bruno@clisp.org>
25811
25812         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25813         * lib/unistr/u8-chr.c: Include <string.h>.
25814         * tests/unistr/test-u8-chr.c: Likewise.
25815         * tests/unistr/test-u16-chr.c: Likewise.
25816         * tests/unistr/test-u32-chr.c: Likewise.
25817         * tests/unistr/test-u8-strchr.c: Likewise.
25818         * tests/unistr/test-u16-strchr.c: Likewise.
25819         * tests/unistr/test-u32-strchr.c: Likewise.
25820         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25821         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25822         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25823         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25824
25825 2010-07-28  Bruno Haible  <bruno@clisp.org>
25826
25827         Use spaces for indentation, not tabs.
25828         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25829
25830 2010-07-27  Bruno Haible  <bruno@clisp.org>
25831
25832         mbspcasecmp: Fix function specification.
25833         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25834         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25835         Reported by Eric Blake <eblake@redhat.com>.
25836
25837 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25838
25839         timespec: use cast and not conditional, as truncation isn't possible
25840         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25841         instead of a conditional.  Comment about the situation in more detail.
25842         This undoes most of the 2009-10-29 patch.
25843
25844 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25845
25846         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25847         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25848         * lib/unistr/u8-strchr.c: Likewise.
25849         * modules/unistr/u8-chr: Depend on memchr.
25850
25851         unistr/u*-strchr: add tests
25852         * modules/unistr/u8-strchr-tests: New file.
25853         * modules/unistr/u16-strchr-tests: New file.
25854         * modules/unistr/u32-strchr-tests: New file.
25855         * tests/unistr/test-strchr.h: New file.
25856         * tests/unistr/test-u8-strchr.c: New file.
25857         * tests/unistr/test-u16-strchr.c: New file.
25858         * tests/unistr/test-u32-strchr.c: New file.
25859
25860         unistr/u*-chr: test multibyte sequences more
25861         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25862         test vector.
25863         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25864         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25865         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25866
25867         unistr/u*-chr: test multibyte sequences
25868         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25869
25870         unistr/u*-chr: prepare for multibyte tests
25871         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25872         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25873         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25874         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25875         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25876         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25877
25878 2010-07-18  Bruno Haible  <bruno@clisp.org>
25879
25880         unistr/u8-strchr: Optimize non-ASCII argument case.
25881         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25882         because the first byte often matches anyway.
25883         Reported by Pádraig Brady <P@draigbrady.com>.
25884
25885 2010-07-15  Karl Berry  <karl@gnu.org>
25886
25887         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25888
25889 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25890
25891         getcwd: on Solaris, work better if ancestors are inaccessible
25892         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25893         buffer and size, try again with a large buffer.  This works better
25894         on Solaris, since its getcwd succeeds even if the path to the root
25895         is inaccessible, and this is helpful in common cases such as .zfs
25896         hidden directories.  Problem reported by J Chapman Flack in
25897         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25898         Use system getcwd if it's declared, not merely if it's partly
25899         working; use the partly-working test only to avoid needless effort
25900         if the system getcwd fails.
25901         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25902         comment that was already obsolete and is now even more obsolete.
25903         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25904         now might call strdup.
25905
25906 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25907
25908         pthread: Add enough so that coreutils/src/sort.c compiles.
25909         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25910         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25911         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25912         Include <sys/types.h>, in case it defines pthread_t.
25913         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25914         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25915         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25916         (pthread_rwlockattr_t, pthread_spinlock_t):
25917         New typedefs, if HAVE_PTHREAD_T is not defined.
25918         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25919         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25920         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25921         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25922         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25923         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25924         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25925         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25926         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25927         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25928         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25929         New macros.
25930         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25931         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25932         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25933         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25934         (pthread_spin_unlock): New dummy functions.
25935         (pthread_create): Return EAGAIN; don't set errno.
25936         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25937         require AC_C_INLINE.
25938         * modules/pthread (Depends-on): Add sched, time.
25939         (pthread.h): Use AM_V_GEN.
25940
25941 2010-07-13  Bruno Haible  <bruno@clisp.org>
25942
25943         striconveh: Don't malloc memory if the result buffer is sufficient.
25944         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25945         buffer if its size is sufficient.
25946         Reported by Ludovic Courtès <ludo@gnu.org>.
25947
25948 2010-07-13  Bruno Haible  <bruno@clisp.org>
25949
25950         strtod: Add safety check.
25951         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25952
25953 2010-07-12  Bruno Haible  <bruno@clisp.org>
25954
25955         Unify tests that set gl_cv_func_ldexpl_no_libm.
25956         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25957         gl_FUNC_LDEXPL.
25958         (gl_FUNC_LDEXPL): Invoke it.
25959         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25960
25961 2010-07-12  Bruno Haible  <bruno@clisp.org>
25962
25963         Unify tests that set gl_cv_func_ldexp_no_libm.
25964         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25965         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25966         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25967         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25968         * modules/strtod (Files): Add m4/ldexp.m4.
25969
25970 2010-07-12  Bruno Haible  <bruno@clisp.org>
25971
25972         Unify tests that set gl_cv_func_frexpl_no_libm.
25973         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25974         gl_FUNC_FREXPL_NO_LIBM.
25975         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25976         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25977
25978 2010-07-12  Bruno Haible  <bruno@clisp.org>
25979
25980         Unify tests that set gl_cv_func_frexp_no_libm.
25981         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25982         gl_FUNC_FREXP_NO_LIBM.
25983         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25984         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25985
25986 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25987
25988         memcoll: clarify sizes versus lengths, document better, and tweak perf
25989         * lib/memcoll.c (strcoll_loop, memcoll0):
25990         Improve quality of descriptive comments.  Name variables
25991         consistently as to whether they are lengths (which do not include
25992         terminating null) versus sizes (which do).
25993         * lib/xmemcoll.c (xmemcoll0): Likewise.
25994         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25995         returned when s1size == 0; this is easier to compile and saves
25996         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25997
25998 2010-07-12  Bruno Haible  <bruno@clisp.org>
25999
26000         Tests for module '_Exit'.
26001         * modules/_Exit-tests: New file.
26002         * tests/test-_Exit.sh: New file.
26003         * tests/test-_Exit.c: New file.
26004
26005         New module '_Exit'.
26006         * lib/stdlib.in.h (__attribute__): New macro.
26007         (_Exit): New declaration.
26008         * lib/_Exit.c: New file.
26009         * m4/_Exit.m4: New file.
26010         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26011         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26012         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26013         * modules/_Exit: New file.
26014         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26015         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26016
26017 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26018
26019         strtod: make it more-accurate typically, and don't require libm
26020         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26021         Include limits.h.  Don't include string.h.
26022         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26023         (locale_isspace): New function, so that no casts are needed to
26024         check whether *s is a space.
26025         (ldexp): Provide an unused dummy if not available.
26026         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26027         (strtod): Use them.  This implementation prefers to use the
26028         underlying strtod if available, falling back on our own code
26029         only to fix known bugs.  This is more likely to produce an
26030         accurate result.  Also, it avoids the use of libm functions.
26031         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26032         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26033         was absent, but it caused a test failure with coreutils.
26034         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26035         with libm.
26036         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26037         * modules/strtod-tests (Makefile.am): Likewise.
26038
26039 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26040             Bruno Haible  <bruno@clisp.org>
26041
26042         unistr/u8-strchr: Optimize ASCII argument case.
26043         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26044
26045 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26046
26047         (x)memcoll: minor tweaks
26048         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26049         is after the type that it qualifies.
26050         (memcoll0): Likewise.
26051         * lib/memcoll.h (memcoll0): Likewise.
26052         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26053         * lib/xmemcoll.h (xmemcoll0): Likewise.
26054         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26055         differs from memcoll in that the NUL byte is part of the argument.
26056         Omit the abort-checks, as performance is a real issue here.  Plus,
26057         the checks were wrong anyway (an off-by-one error).  Omit local
26058         variable 'diff', as it's a bit clearer that way.
26059         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26060         no longer needed.
26061
26062 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26063
26064         (x)memcoll: speedup when input is known to be NUL delimited
26065         * lib/memcoll.c: Include stdlib.
26066         (memcoll0): New function.
26067         (strcoll_loop): New function, refactored for use in both memcoll
26068         and memcoll0.
26069         * lib/memcoll.h (memcoll0): Add prototype.
26070         * lib/xmemcoll.c (xmemcoll0): New function.
26071         (collate_error): New function, refactored for use in both xmemcoll
26072         and xmemcoll0.
26073         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26074         * m4/memcoll.m4: add inline invocation.
26075
26076 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26077
26078         * build-aux/bootstrap: Remove any local translations
26079         from the translation project synchronization directory,
26080         so that local only translations are not distributed.
26081
26082 2010-07-04  Bruno Haible  <bruno@clisp.org>
26083
26084         fsusage: Clarify which code applies to which platforms.
26085         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26086         platform.
26087         * lib/fsusage.c (get_fs_usage): Likewise.
26088
26089 2010-07-04  Bruno Haible  <bruno@clisp.org>
26090
26091         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26092         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26093         Reported by Martin Lambers <marlam@marlam.de>.
26094
26095 2010-07-04  Jim Meyering  <meyering@redhat.com>
26096
26097         hash: once again explicitly disallow insertion of NULL
26098         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26099         inserting a NULL pointer cannot work with these functions.
26100         Add a comment with details.
26101         This reverts part of the 2010-07-01 commit, 5bef1a35
26102         "hash: extend module to deal with non-pointer keys".
26103
26104 2010-07-01  Bruno Haible  <bruno@clisp.org>
26105
26106         stdbool: Update doc.
26107         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26108         Info from Christian Weisgerber <naddy@mips.inka.de>.
26109
26110 2010-07-01  Jim Meyering  <meyering@redhat.com>
26111
26112         hash: extend module to deal with non-pointer keys
26113         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26114         but that allows insertion of non-pointer entries.
26115         Do not disallow an ENTRY value of NULL.
26116         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26117         * lib/hash.h (hash_insert0): Declare.
26118
26119 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26120
26121         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26122         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26123         not present (i.e. with autoconf 2.59 and when using gettextize, not
26124         gnulib), require AC_GNU_SOURCE instead.
26125
26126 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26127
26128         idpriv-drop: Fix tests.
26129         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26130         not to the test-idpriv-droptemp program.
26131
26132 2010-06-29  Bruno Haible  <bruno@clisp.org>
26133
26134         string: Fix syntax error with g++ 2.96.
26135         * lib/string.in.h (__pure__): Remove definition.
26136         (_GL_ATTRIBUTE_PURE): New macro.
26137         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26138         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26139         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26140
26141 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26142
26143         unitypes: Fix bug introduced on 2010-05-18.
26144         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26145
26146 2010-06-22  Eric Blake  <eblake@redhat.com>
26147
26148         memmem: slight optimization
26149         * lib/str-two-way.h (critical_factorization): Update comments.
26150         Reduce work during factorization phase.
26151         Reported by Carlos Bueno <carlos@bueno.org>.
26152
26153 2010-06-21  Bruno Haible  <bruno@clisp.org>
26154
26155         Fix HAVE_CALLOC_POSIX misnomer.
26156         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26157         !HAVE_CALLOC_POSIX.
26158         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26159         HAVE_CALLOC_POSIX.
26160         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26161         instead of HAVE_CALLOC_POSIX.
26162         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26163         HAVE_CALLOC_POSIX.
26164
26165         Use modern idiom for calloc() replacement.
26166         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26167         AC_FUNC_CALLOC.
26168         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26169         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26170         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26171         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26172         (gl_REPLACE_CALLOC): New macro.
26173
26174 2010-06-21  Bruno Haible  <bruno@clisp.org>
26175
26176         Fix HAVE_REALLOC_POSIX misnomer.
26177         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26178         !HAVE_REALLOC_POSIX.
26179         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26180         HAVE_REALLOC_POSIX.
26181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26182         instead of HAVE_REALLOC_POSIX.
26183         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26184         HAVE_REALLOC_POSIX.
26185
26186         Use modern idiom for realloc() replacement.
26187         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26188         AC_FUNC_REALLOC.
26189         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26190         Autoconf's AC_FUNC_REALLOC.
26191         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26192         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26193         (gl_REPLACE_REALLOC): New macro.
26194         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26195
26196 2010-06-21  Bruno Haible  <bruno@clisp.org>
26197
26198         Fix HAVE_MALLOC_POSIX misnomer.
26199         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26200         !HAVE_MALLOC_POSIX.
26201         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26202         HAVE_MALLOC_POSIX.
26203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26204         instead of HAVE_MALLOC_POSIX.
26205         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26206         HAVE_MALLOC_POSIX.
26207
26208         Use modern idiom for malloc() replacement.
26209         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26210         AC_FUNC_MALLOC.
26211         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26212         Autoconf's AC_FUNC_MALLOC.
26213         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26214         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26215         (gl_REPLACE_MALLOC): New macro.
26216         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26217
26218 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26219
26220         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26221         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26222         This macro takes 3 arguments, not 4.
26223
26224 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26225
26226         ipv6: fix detection under mingw
26227         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26228         in6_addr.
26229
26230 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26231
26232         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26233         that strtod() works when cross-compiling to a glibc version known
26234         to work.
26235
26236 2010-06-15  Bruno Haible  <bruno@clisp.org>
26237
26238         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26239
26240 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26241
26242         select: Correct timeout.
26243         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26244
26245 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26246
26247         git-version-gen: init shell var to avoid env var influence
26248         * build-aux/git-version-gen (v): Init shell var to empty.
26249
26250 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26251
26252         priv-set: Don't assume that priv.h exists merely because getppriv does.
26253         See Jan Andersen's bug report about AIX 5L in
26254         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26255         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26256         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26257         * lib/priv-set.h: Likewise.
26258         * tests/test-priv-set.c: Likewise.
26259
26260 2010-06-13  Bruno Haible  <bruno@clisp.org>
26261
26262         relocatable: Make it easier to test whether to install wrappers.
26263         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26264         RELOCATABLE_VIA_WRAPPER.
26265
26266 2010-06-13  Bruno Haible  <bruno@clisp.org>
26267
26268         gnulib-tool: Display specified modules and dependencies differently.
26269         * gnulib-tool (func_show_module_list): New function.
26270         (func_import, func_create_testdir): Invoke it.
26271         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26272
26273 2010-06-13  Bruno Haible  <bruno@clisp.org>
26274
26275         gnulib-tool: Align code of func_import and func_create_testdir.
26276         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26277         specified_modules.
26278
26279 2010-06-12  Jim Meyering  <meyering@redhat.com>
26280
26281         test-inttostr: avoid spurious failure on Solaris 9
26282         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26283         to accept "%ju".  Reported by Bruno Haible.
26284
26285 2010-06-11  Jim Meyering  <meyering@redhat.com>
26286
26287         test-sys_socket: mark variables as used more readably
26288         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26289         as "used" explicitly via (void) statement casts.  This is more
26290         readable than using them in an artificial return expression.
26291         Suggestion from Bruno Haible.
26292
26293 2010-06-11  Bruno Haible  <bruno@clisp.org>
26294
26295         Avoid some more warnings from "gcc -Wwrite-strings".
26296         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26297         to 'const char *'.
26298         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26299         * tests/test-c-strcasestr.c (main): Likewise.
26300         * tests/test-mbscasestr1.c (main): Likewise.
26301         * tests/test-mbscasestr2.c (main): Likewise.
26302         * tests/test-memmem.c (main): Likewise.
26303         * tests/test-strstr.c (main): Likewise.
26304         * tests/test-strcasestr.c (main): Likewise.
26305
26306 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26307
26308         init.sh: change framework_failure_ to fail with status 99, not 1
26309         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26310         automake's parallel-tests rule that this is an unexpected failure,
26311         even if the test is listed in XFAIL_TESTS.
26312
26313 2010-06-11  Jim Meyering  <meyering@redhat.com>
26314
26315         test-inttostr: avoid warnings about 4-6KB literal strings
26316         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26317         Include "macros.h", for its definition of ASSERT.
26318         (CK): s/assert/ASSERT/
26319         * modules/inttostr-tests (Files): Add macros.h.
26320
26321         init.sh: don't use $ME_ or skip_ before they are defined
26322         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26323         their first uses.  Also hoist their companions: warn_, fail_,
26324         framework_failure_, $stderr_fileno.  Prompted by a patch from
26325         Stefano Lattarini.
26326
26327         test-sys_socket: avoid set-but-not-used warnings from gcc
26328         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26329         avoid warning about set-but-not-used variables.
26330
26331         test-xvasprintf: avoid 'const' discard warnings
26332         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26333         "const" when assigning from literal strings.
26334         (test_xasprintf): Add "void" in function argument list to placate
26335         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26336
26337         tests: avoid compilation warnings in argmatch and exclude tests...
26338         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26339         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26340         Since it always exits, declare with the "noreturn" attribute.
26341         * tests/test-argmatch.c: Likewise.
26342
26343         tests: avoid 'const' discard warnings in mbsstr tests
26344         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26345         * tests/test-mbsstr2.c (main): Likewise.
26346
26347         test-verify: avoid warning from gcc's -Wmissing-declarations
26348         * tests/test-verify.c (function): Declare to be static.
26349
26350         test-inttostr.c: include <string.h> for use of strcmp
26351         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26352
26353         test-linkat: avoid failed assertion on "other" architectures
26354         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26355         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26356         sparc: https://bugs.launchpad.net/bugs/591968
26357
26358 2010-06-11  Jim Meyering  <meyering@redhat.com>
26359
26360         printf.m4: avoid autoconf's "Expanded Before Required" warning
26361         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26362         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26363         autoconf warning.
26364
26365 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26366
26367         Replacement header templates are now named with ".in", not "_".
26368         * doc/gnulib-intro.texi: Correct.
26369
26370 2010-06-10  Jim Meyering  <meyering@redhat.com>
26371
26372         inttostr-tests: depend on snprintf, not snprintf-posix
26373         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26374         snprintf-posix, to avoid this aclocal failure:
26375           missing file gnulib-tests/vasnprintf.c
26376           configure.ac:45: error: expected source file, required through \
26377           AC_LIBSOURCES, not found
26378
26379 2010-06-10  Jim Meyering  <meyering@redhat.com>
26380
26381         inttostr: add a new function, inttostr, and tests
26382         The namesake function was not available.  The existence of the
26383         template file, inttostr.c makes its addition nontrivial.
26384         * lib/anytostr.c: Rename from inttostr.c.
26385         (anytostr): Rename from inttostr.
26386         * lib/inttostr.c: New file.
26387         * modules/inttostr (Files): Add anytostr.c.
26388         (Makefile.am): Set lib_SOURCES instead of ...
26389         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26390         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26391         * lib/offtostr.c: Likewise.
26392         * lib/uinttostr.c: Likewise.
26393         * lib/umaxtostr.c: Likewise.
26394         * modules/inttostr-tests: New file.
26395         * tests/test-inttostr.c: New file.  Test these functions.
26396
26397 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26398             Bruno Haible  <bruno@clisp.org>
26399
26400         Add "Extending Gnulib" chapter to manual.
26401         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26402         chapter.
26403         (Extending Gnulib): New chapter.
26404         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26405         chapter.
26406
26407 2010-06-09  Bruno Haible  <bruno@clisp.org>
26408
26409         Avoid relocwrapper link errors due to gnulib replacement functions.
26410         * lib/areadlink.c: Use the system's malloc, realloc functions.
26411         (areadlink): Set errno to ENOMEM explicitly.
26412         * modules/areadlink (Depends-on): Remove malloc-posix.
26413         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26414
26415 2010-06-09  Bruno Haible  <bruno@clisp.org>
26416
26417         Avoid relocwrapper link errors due to gnulib replacement functions.
26418         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26419         * lib/malloca.c: Likewise.
26420         * lib/relocatable.c: Likewise.
26421         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26422         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26423         * lib/setenv.c: Use the system's malloc, realloc functions.
26424         * lib/strerror.c: Use the system's sprintf function.
26425         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26426
26427 2010-06-04  Bruno Haible  <bruno@clisp.org>
26428
26429         Prefer documented low-level autoconf macro names.
26430         * m4/lib-link.m4: Use m4_translit instead of translit.
26431         * m4/environ.m4: Likewise.
26432         * m4/mathfunc.m4: Likewise.
26433         * m4/onceonly.m4: Likewise.
26434         * m4/stdint.m4: Likewise.
26435         Suggested by Eric Blake.
26436
26437 2010-06-04  Martin Lambers  <marlam@marlam.de>
26438             Bruno Haible  <bruno@clisp.org>
26439
26440         havelib: Allow library names with '+' characters.
26441         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26442         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26443
26444 2010-06-09  Bruno Haible  <bruno@clisp.org>
26445
26446         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26447         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26448         realloc failed.
26449
26450 2010-06-08  Peter Simons  <simons@cryp.to>
26451
26452         maint.mk: make the news-check rule more configurable
26453         * top/maint.mk (news-check-lines-spec): New variable.
26454         (news-check): Use "sed -n 1,10p" in place of "head".
26455
26456 2010-06-07  Jim Meyering  <meyering@redhat.com>
26457
26458         do-release-commit-and-tag: fix typo in --help
26459         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26460
26461         regex: avoid new dead-code warning with gcc-4.6.0
26462         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26463         if-block containing a while-loop.  It's been unused for at least
26464         5 years.
26465
26466 2010-06-05  Bruno Haible  <bruno@clisp.org>
26467
26468         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26469         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26470
26471 2010-06-04  Bruno Haible  <bruno@clisp.org>
26472
26473         Update to GNU gettext 0.18.1.
26474         * modules/gettext (configure.ac): Require gettext infrastructure from
26475         version 0.18.1.
26476
26477 2010-06-03  Bruno Haible  <bruno@clisp.org>
26478
26479         Don't use AC_LIBOBJ with file names in subdirectories.
26480         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26481         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26482         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26483         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26484         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26485         gl_LIBUNISTRING_LIBSOURCE.
26486         (Makefile.am): Augment lib_SOURCES here, conditionally.
26487         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26488
26489 2010-06-03  Bruno Haible  <bruno@clisp.org>
26490
26491         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26492         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26493         expansion does not end with a newline.
26494         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26495         unnecessary newline.
26496
26497 2010-06-03  Bruno Haible  <bruno@clisp.org>
26498
26499         Reduce dependencies.
26500         * tests/test-quotearg.h: New file, extracted from
26501         tests/test-quotearg.c.
26502         * tests/test-quotearg-simple.c: New file, extracted from
26503         tests/test-quotearg.c.
26504         * tests/test-quotearg.c: Don't include <ctype.h>.
26505         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26506         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26507         use_quote_double_quotes, use_quotearg_colon): Moved to
26508         tests/test-quotearg.h.
26509         (results_g, flag_results, custom_quotes, custom_results): Moved
26510         to tests/test-quotearg-simple.c.
26511         (main): Moved the part that does not depend on gettext to
26512         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26513         performed.
26514         * modules/quotearg-simple: New file.
26515         * modules/quotearg-simple-tests: New file.
26516         * modules/quotearg (Depends-on): Add quotearg-simple.
26517         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26518         (Files): Add tests/test-quotearg.h.
26519         Reported by Paolo Bonzini.
26520
26521 2010-06-03  Bruno Haible  <bruno@clisp.org>
26522
26523         Reduce dependencies.
26524         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26525
26526 2010-06-03  Bruno Haible  <bruno@clisp.org>
26527
26528         time: Undefine more broken macros.
26529         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26530         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26531         Reported by Eric Blake.
26532
26533 2010-06-03  Bruno Haible  <bruno@clisp.org>
26534
26535         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26536         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26537         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26538         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26539         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26540         Reported by Ludovic Courtès <ludo@gnu.org>.
26541
26542 2010-06-02  Eric Blake  <eblake@redhat.com>
26543
26544         time: work with mingw + pthreads-win32 library
26545         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26546         if timespec is defined only in pthread.h.
26547         * modules/time (Makefile.am): Substitute it.
26548         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26549         <pthread.h>, when needed.
26550         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26551         from the library.
26552
26553 2010-05-31  Bruno Haible  <bruno@clisp.org>
26554
26555         Avoid expanding two macros in the wrong order.
26556         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26557         gl_LIBUNISTRING if it is defined.
26558         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26559         autoconf >= 2.64.
26560         Reported by Ludovic Courtès <ludo@gnu.org>.
26561
26562 2010-05-27  Jim Meyering  <meyering@redhat.com>
26563
26564         maint.mk: also prohibit "#undef" of always-defined symbols
26565         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26566         Allow more than one space before the symbol name.
26567         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26568         the regexp uses alternation.
26569
26570 2010-05-26  Eric Blake  <eblake@redhat.com>
26571
26572         maint.mk: avoid echo -e
26573         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26574         Convert all uses of echo -* to printf.
26575         Reported by Matthias Bolte.
26576
26577 2010-05-25  Bruno Haible  <bruno@clisp.org>
26578
26579         Update to GNU gettext 0.18, part 2.
26580         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26581         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26582
26583 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26584
26585         Add missing include in test-pwrite.c.
26586         * tests/test-pwrite.c: Include string.h, for strcmp.
26587
26588 2010-05-24  Bruno Haible  <bruno@clisp.org>
26589
26590         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26591
26592 2010-05-24  Bruno Haible  <bruno@clisp.org>
26593
26594         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26595         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26596         iconveh_error argument.
26597         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26598         U_STRCONV_TO_LOCALE.
26599         * lib/unistr/u16-strcoll.c: Likewise.
26600         * lib/unistr/u32-strcoll.c: Likewise.
26601         * modules/unistr/u8-strcoll (Depends-on): Add
26602         uniconv/u8-strconv-to-enc, localcharset. Remove
26603         uniconv/u8-strconv-to-locale.
26604         (configure.ac): Bump version number.
26605         * modules/unistr/u16-strcoll (Depends-on): Add
26606         uniconv/u16-strconv-to-enc, localcharset. Remove
26607         uniconv/u16-strconv-to-locale.
26608         (configure.ac): Bump version number.
26609         * modules/unistr/u32-strcoll (Depends-on): Add
26610         uniconv/u32-strconv-to-enc, localcharset. Remove
26611         uniconv/u32-strconv-to-locale.
26612         (configure.ac): Bump version number.
26613
26614 2010-05-24  Bruno Haible  <bruno@clisp.org>
26615
26616         Avoid a test failure on NetBSD 5.0.
26617         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26618         an iconv() bug.
26619
26620 2010-05-24  Bruno Haible  <bruno@clisp.org>
26621
26622         Adjust #include directive style.
26623         * modules/regex (Includes): Recommend to write <regex.h>.
26624
26625 2010-05-24  Bruno Haible  <bruno@clisp.org>
26626
26627         regex: Don't require alloca.
26628         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26629         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26630         only inside if (0).
26631
26632 2010-05-23  Jim Meyering  <meyering@redhat.com>
26633
26634         test-renameat.c: include <sys/stat.h>
26635         * tests/test-renameat.c: Include <sys/stat.h>; required for
26636         definition of S_IS* macros.
26637
26638 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26639
26640         Update maintainer documentation for 'relocatable-prog' module.
26641         * doc/relocatable-maint.texi: Update.
26642         Comments by Bruno Haible.
26643
26644 2010-05-23  Bruno Haible  <bruno@clisp.org>
26645
26646         git-merge-changelog: Enable --split-merged-entry by default.
26647         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26648         (usage): Don't mention this option any more.
26649         Reported by Ralf Wildenhues.
26650
26651 2010-05-23  Jim Meyering  <meyering@redhat.com>
26652
26653         test-pwrite: do not leave behind a test file named "out"
26654         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26655         The trivial-looking use of init.sh is really necessary.
26656         It ensures that the temporary file, "out", is created in
26657         a temporary directory, and removed upon termination.
26658         * tests/test-pwrite.sh: Re-add file.
26659         * modules/pwrite-tests: Reference it.
26660
26661 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26662
26663         Fix output redirection buglet in init.sh.
26664         * tests/init.sh: Fix redirection of stderr.
26665
26666 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26667
26668         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26669
26670 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26671
26672         * modules/valgrind-tests: New file.
26673         * m4/valgrind-tests.m4: New file.
26674         * doc/valgrind-tests.texi: New file.
26675         * doc/gnulib.texi (Running self-tests under valgrind): New
26676         section.
26677
26678 2010-05-19  Bruno Haible  <bruno@clisp.org>
26679
26680         Clean up dead code in recent commit.
26681         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26682         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26683         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26684         Suggested by Paolo Bonzini.
26685
26686 2010-05-19  Bruno Haible  <bruno@clisp.org>
26687
26688         Avoid valgrind error reports from libunistring.
26689         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26690         * modules/libunistring (Files): Add it.
26691         * modules/libunistring-optional (Files): Likewise.
26692
26693 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26694             Bruno Haible  <bruno@clisp.org>
26695
26696         New module 'libunistring-optional'.
26697         * modules/libunistring-optional: New file.
26698         * m4/libunistring-base.m4: New file.
26699         * m4/libunistring-optional.m4: New file.
26700         * lib/unicase.in.h: Renamed from lib/unicase.h.
26701         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26702         * lib/unictype.in.h: Renamed from lib/unictype.h.
26703         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26704         * lib/uniname.in.h: Renamed from lib/uniname.h.
26705         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26706         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26707         * lib/unistr.in.h: Renamed from lib/unistr.h.
26708         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26709         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26710         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26711         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26712         gl_LIBUNISTRING. If the library was found, determine the installed
26713         version and set LIBUNISTRING_VERSION.
26714         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26715         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26716         handle a configuration option --with-included-libunistring.
26717         * modules/libunistring (Files): Add m4/absolute-header.m4.
26718         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26719         Add m4/libunistring-base.m4.
26720         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26721         (Makefile.am): Build unicase.h from unicase.in.h.
26722         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26723         Add m4/libunistring-base.m4.
26724         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26725         (Makefile.am): Build uniconv.h from uniconv.in.h.
26726         * modules/unictype/base (Files): Use unictype.in.h instead of
26727         unictype.h. Add m4/libunistring-base.m4.
26728         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26729         (Makefile.am): Build unictype.h from unictype.in.h.
26730         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26731         Add m4/libunistring-base.m4.
26732         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26733         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26734         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26735         Add m4/libunistring-base.m4.
26736         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26737         (Makefile.am): Build uniname.h from uniname.in.h.
26738         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26739         Add m4/libunistring-base.m4.
26740         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26741         (Makefile.am): Build uninorm.h from uninorm.in.h.
26742         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26743         unistdio.h. Add m4/libunistring-base.m4.
26744         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26745         (Makefile.am): Build unistdio.h from unistdio.in.h.
26746         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26747         Add m4/libunistring-base.m4.
26748         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26749         (Makefile.am): Build unistr.h from unistr.in.h.
26750         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26751         Add m4/libunistring-base.m4.
26752         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26753         (Makefile.am): Build unitypes.h from unitypes.in.h.
26754         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26755         Add m4/libunistring-base.m4.
26756         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26757         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26758         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26759         uniwidth.h. Add m4/libunistring-base.m4.
26760         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26761         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26762         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26763         instead of augmenting lib_SOURCES.
26764         * modules/unicase/empty-suffix-context: Likewise.
26765         * modules/unicase/locale-language: Likewise.
26766         * modules/unicase/tolower: Likewise.
26767         * modules/unicase/totitle: Likewise.
26768         * modules/unicase/toupper: Likewise.
26769         * modules/unicase/u8-casecmp: Likewise.
26770         * modules/unicase/u8-casecoll: Likewise.
26771         * modules/unicase/u8-casefold: Likewise.
26772         * modules/unicase/u8-casexfrm: Likewise.
26773         * modules/unicase/u8-ct-casefold: Likewise.
26774         * modules/unicase/u8-ct-tolower: Likewise.
26775         * modules/unicase/u8-ct-totitle: Likewise.
26776         * modules/unicase/u8-ct-toupper: Likewise.
26777         * modules/unicase/u8-is-cased: Likewise.
26778         * modules/unicase/u8-is-casefolded: Likewise.
26779         * modules/unicase/u8-is-lowercase: Likewise.
26780         * modules/unicase/u8-is-titlecase: Likewise.
26781         * modules/unicase/u8-is-uppercase: Likewise.
26782         * modules/unicase/u8-prefix-context: Likewise.
26783         * modules/unicase/u8-suffix-context: Likewise.
26784         * modules/unicase/u8-tolower: Likewise.
26785         * modules/unicase/u8-totitle: Likewise.
26786         * modules/unicase/u8-toupper: Likewise.
26787         * modules/unicase/u16-casecmp: Likewise.
26788         * modules/unicase/u16-casecoll: Likewise.
26789         * modules/unicase/u16-casefold: Likewise.
26790         * modules/unicase/u16-casexfrm: Likewise.
26791         * modules/unicase/u16-ct-casefold: Likewise.
26792         * modules/unicase/u16-ct-tolower: Likewise.
26793         * modules/unicase/u16-ct-totitle: Likewise.
26794         * modules/unicase/u16-ct-toupper: Likewise.
26795         * modules/unicase/u16-is-cased: Likewise.
26796         * modules/unicase/u16-is-casefolded: Likewise.
26797         * modules/unicase/u16-is-lowercase: Likewise.
26798         * modules/unicase/u16-is-titlecase: Likewise.
26799         * modules/unicase/u16-is-uppercase: Likewise.
26800         * modules/unicase/u16-prefix-context: Likewise.
26801         * modules/unicase/u16-suffix-context: Likewise.
26802         * modules/unicase/u16-tolower: Likewise.
26803         * modules/unicase/u16-totitle: Likewise.
26804         * modules/unicase/u16-toupper: Likewise.
26805         * modules/unicase/u32-casecmp: Likewise.
26806         * modules/unicase/u32-casecoll: Likewise.
26807         * modules/unicase/u32-casefold: Likewise.
26808         * modules/unicase/u32-casexfrm: Likewise.
26809         * modules/unicase/u32-ct-casefold: Likewise.
26810         * modules/unicase/u32-ct-tolower: Likewise.
26811         * modules/unicase/u32-ct-totitle: Likewise.
26812         * modules/unicase/u32-ct-toupper: Likewise.
26813         * modules/unicase/u32-is-cased: Likewise.
26814         * modules/unicase/u32-is-casefolded: Likewise.
26815         * modules/unicase/u32-is-lowercase: Likewise.
26816         * modules/unicase/u32-is-titlecase: Likewise.
26817         * modules/unicase/u32-is-uppercase: Likewise.
26818         * modules/unicase/u32-prefix-context: Likewise.
26819         * modules/unicase/u32-suffix-context: Likewise.
26820         * modules/unicase/u32-tolower: Likewise.
26821         * modules/unicase/u32-totitle: Likewise.
26822         * modules/unicase/u32-toupper: Likewise.
26823         * modules/unicase/ulc-casecmp: Likewise.
26824         * modules/unicase/ulc-casecoll: Likewise.
26825         * modules/unicase/ulc-casexfrm: Likewise.
26826         * modules/uniconv/u8-conv-from-enc: Likewise.
26827         * modules/uniconv/u8-conv-to-enc: Likewise.
26828         * modules/uniconv/u8-strconv-from-enc: Likewise.
26829         * modules/uniconv/u8-strconv-from-locale: Likewise.
26830         * modules/uniconv/u8-strconv-to-enc: Likewise.
26831         * modules/uniconv/u8-strconv-to-locale: Likewise.
26832         * modules/uniconv/u16-conv-from-enc: Likewise.
26833         * modules/uniconv/u16-conv-to-enc: Likewise.
26834         * modules/uniconv/u16-strconv-from-enc: Likewise.
26835         * modules/uniconv/u16-strconv-from-locale: Likewise.
26836         * modules/uniconv/u16-strconv-to-enc: Likewise.
26837         * modules/uniconv/u16-strconv-to-locale: Likewise.
26838         * modules/uniconv/u32-conv-from-enc: Likewise.
26839         * modules/uniconv/u32-conv-to-enc: Likewise.
26840         * modules/uniconv/u32-strconv-from-enc: Likewise.
26841         * modules/uniconv/u32-strconv-from-locale: Likewise.
26842         * modules/uniconv/u32-strconv-to-enc: Likewise.
26843         * modules/uniconv/u32-strconv-to-locale: Likewise.
26844         * modules/unictype/bidicategory-byname: Likewise.
26845         * modules/unictype/bidicategory-name: Likewise.
26846         * modules/unictype/bidicategory-of: Likewise.
26847         * modules/unictype/bidicategory-test: Likewise.
26848         * modules/unictype/block-list: Likewise.
26849         * modules/unictype/block-test: Likewise.
26850         * modules/unictype/category-C: Likewise.
26851         * modules/unictype/category-Cc: Likewise.
26852         * modules/unictype/category-Cf: Likewise.
26853         * modules/unictype/category-Cn: Likewise.
26854         * modules/unictype/category-Co: Likewise.
26855         * modules/unictype/category-Cs: Likewise.
26856         * modules/unictype/category-L: Likewise.
26857         * modules/unictype/category-Ll: Likewise.
26858         * modules/unictype/category-Lm: Likewise.
26859         * modules/unictype/category-Lo: Likewise.
26860         * modules/unictype/category-Lt: Likewise.
26861         * modules/unictype/category-Lu: Likewise.
26862         * modules/unictype/category-M: Likewise.
26863         * modules/unictype/category-Mc: Likewise.
26864         * modules/unictype/category-Me: Likewise.
26865         * modules/unictype/category-Mn: Likewise.
26866         * modules/unictype/category-N: Likewise.
26867         * modules/unictype/category-Nd: Likewise.
26868         * modules/unictype/category-Nl: Likewise.
26869         * modules/unictype/category-No: Likewise.
26870         * modules/unictype/category-P: Likewise.
26871         * modules/unictype/category-Pc: Likewise.
26872         * modules/unictype/category-Pd: Likewise.
26873         * modules/unictype/category-Pe: Likewise.
26874         * modules/unictype/category-Pf: Likewise.
26875         * modules/unictype/category-Pi: Likewise.
26876         * modules/unictype/category-Po: Likewise.
26877         * modules/unictype/category-Ps: Likewise.
26878         * modules/unictype/category-S: Likewise.
26879         * modules/unictype/category-Sc: Likewise.
26880         * modules/unictype/category-Sk: Likewise.
26881         * modules/unictype/category-Sm: Likewise.
26882         * modules/unictype/category-So: Likewise.
26883         * modules/unictype/category-Z: Likewise.
26884         * modules/unictype/category-Zl: Likewise.
26885         * modules/unictype/category-Zp: Likewise.
26886         * modules/unictype/category-Zs: Likewise.
26887         * modules/unictype/category-and: Likewise.
26888         * modules/unictype/category-and-not: Likewise.
26889         * modules/unictype/category-byname: Likewise.
26890         * modules/unictype/category-name: Likewise.
26891         * modules/unictype/category-none: Likewise.
26892         * modules/unictype/category-of: Likewise.
26893         * modules/unictype/category-or: Likewise.
26894         * modules/unictype/category-test: Likewise.
26895         * modules/unictype/combining-class: Likewise.
26896         * modules/unictype/ctype-alnum: Likewise.
26897         * modules/unictype/ctype-alpha: Likewise.
26898         * modules/unictype/ctype-blank: Likewise.
26899         * modules/unictype/ctype-cntrl: Likewise.
26900         * modules/unictype/ctype-digit: Likewise.
26901         * modules/unictype/ctype-graph: Likewise.
26902         * modules/unictype/ctype-lower: Likewise.
26903         * modules/unictype/ctype-print: Likewise.
26904         * modules/unictype/ctype-punct: Likewise.
26905         * modules/unictype/ctype-space: Likewise.
26906         * modules/unictype/ctype-upper: Likewise.
26907         * modules/unictype/ctype-xdigit: Likewise.
26908         * modules/unictype/decimal-digit: Likewise.
26909         * modules/unictype/digit: Likewise.
26910         * modules/unictype/mirror: Likewise.
26911         * modules/unictype/numeric: Likewise.
26912         * modules/unictype/property-alphabetic: Likewise.
26913         * modules/unictype/property-ascii-hex-digit: Likewise.
26914         * modules/unictype/property-bidi-arabic-digit: Likewise.
26915         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26916         * modules/unictype/property-bidi-block-separator: Likewise.
26917         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26918         * modules/unictype/property-bidi-common-separator: Likewise.
26919         * modules/unictype/property-bidi-control: Likewise.
26920         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26921         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26922         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26923         * modules/unictype/property-bidi-european-digit: Likewise.
26924         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26925         * modules/unictype/property-bidi-left-to-right: Likewise.
26926         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26927         * modules/unictype/property-bidi-other-neutral: Likewise.
26928         * modules/unictype/property-bidi-pdf: Likewise.
26929         * modules/unictype/property-bidi-segment-separator: Likewise.
26930         * modules/unictype/property-bidi-whitespace: Likewise.
26931         * modules/unictype/property-byname: Likewise.
26932         * modules/unictype/property-combining: Likewise.
26933         * modules/unictype/property-composite: Likewise.
26934         * modules/unictype/property-currency-symbol: Likewise.
26935         * modules/unictype/property-dash: Likewise.
26936         * modules/unictype/property-decimal-digit: Likewise.
26937         * modules/unictype/property-default-ignorable-code-point: Likewise.
26938         * modules/unictype/property-deprecated: Likewise.
26939         * modules/unictype/property-diacritic: Likewise.
26940         * modules/unictype/property-extender: Likewise.
26941         * modules/unictype/property-format-control: Likewise.
26942         * modules/unictype/property-grapheme-base: Likewise.
26943         * modules/unictype/property-grapheme-extend: Likewise.
26944         * modules/unictype/property-grapheme-link: Likewise.
26945         * modules/unictype/property-hex-digit: Likewise.
26946         * modules/unictype/property-hyphen: Likewise.
26947         * modules/unictype/property-id-continue: Likewise.
26948         * modules/unictype/property-id-start: Likewise.
26949         * modules/unictype/property-ideographic: Likewise.
26950         * modules/unictype/property-ids-binary-operator: Likewise.
26951         * modules/unictype/property-ids-trinary-operator: Likewise.
26952         * modules/unictype/property-ignorable-control: Likewise.
26953         * modules/unictype/property-iso-control: Likewise.
26954         * modules/unictype/property-join-control: Likewise.
26955         * modules/unictype/property-left-of-pair: Likewise.
26956         * modules/unictype/property-line-separator: Likewise.
26957         * modules/unictype/property-logical-order-exception: Likewise.
26958         * modules/unictype/property-lowercase: Likewise.
26959         * modules/unictype/property-math: Likewise.
26960         * modules/unictype/property-non-break: Likewise.
26961         * modules/unictype/property-not-a-character: Likewise.
26962         * modules/unictype/property-numeric: Likewise.
26963         * modules/unictype/property-other-alphabetic: Likewise.
26964         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26965         * modules/unictype/property-other-grapheme-extend: Likewise.
26966         * modules/unictype/property-other-id-continue: Likewise.
26967         * modules/unictype/property-other-id-start: Likewise.
26968         * modules/unictype/property-other-lowercase: Likewise.
26969         * modules/unictype/property-other-math: Likewise.
26970         * modules/unictype/property-other-uppercase: Likewise.
26971         * modules/unictype/property-paired-punctuation: Likewise.
26972         * modules/unictype/property-paragraph-separator: Likewise.
26973         * modules/unictype/property-pattern-syntax: Likewise.
26974         * modules/unictype/property-pattern-white-space: Likewise.
26975         * modules/unictype/property-private-use: Likewise.
26976         * modules/unictype/property-punctuation: Likewise.
26977         * modules/unictype/property-quotation-mark: Likewise.
26978         * modules/unictype/property-radical: Likewise.
26979         * modules/unictype/property-sentence-terminal: Likewise.
26980         * modules/unictype/property-soft-dotted: Likewise.
26981         * modules/unictype/property-space: Likewise.
26982         * modules/unictype/property-terminal-punctuation: Likewise.
26983         * modules/unictype/property-test: Likewise.
26984         * modules/unictype/property-titlecase: Likewise.
26985         * modules/unictype/property-unassigned-code-value: Likewise.
26986         * modules/unictype/property-unified-ideograph: Likewise.
26987         * modules/unictype/property-uppercase: Likewise.
26988         * modules/unictype/property-variation-selector: Likewise.
26989         * modules/unictype/property-white-space: Likewise.
26990         * modules/unictype/property-xid-continue: Likewise.
26991         * modules/unictype/property-xid-start: Likewise.
26992         * modules/unictype/property-zero-width: Likewise.
26993         * modules/unictype/scripts: Likewise.
26994         * modules/unictype/syntax-c-ident: Likewise.
26995         * modules/unictype/syntax-c-whitespace: Likewise.
26996         * modules/unictype/syntax-java-ident: Likewise.
26997         * modules/unictype/syntax-java-whitespace: Likewise.
26998         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26999         * modules/unilbrk/u8-width-linebreaks: Likewise.
27000         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27001         * modules/unilbrk/u16-width-linebreaks: Likewise.
27002         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27003         * modules/unilbrk/u32-width-linebreaks: Likewise.
27004         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27005         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27006         * modules/uniname/uniname: Likewise.
27007         * modules/uninorm/canonical-decomposition: Likewise.
27008         * modules/uninorm/composition: Likewise.
27009         * modules/uninorm/decomposing-form: Likewise.
27010         * modules/uninorm/decomposition: Likewise.
27011         * modules/uninorm/filter: Likewise.
27012         * modules/uninorm/nfc: Likewise.
27013         * modules/uninorm/nfd: Likewise.
27014         * modules/uninorm/nfkc: Likewise.
27015         * modules/uninorm/nfkd: Likewise.
27016         * modules/uninorm/u8-normalize: Likewise.
27017         * modules/uninorm/u8-normcmp: Likewise.
27018         * modules/uninorm/u8-normcoll: Likewise.
27019         * modules/uninorm/u8-normxfrm: Likewise.
27020         * modules/uninorm/u16-normalize: Likewise.
27021         * modules/uninorm/u16-normcmp: Likewise.
27022         * modules/uninorm/u16-normcoll: Likewise.
27023         * modules/uninorm/u16-normxfrm: Likewise.
27024         * modules/uninorm/u32-normalize: Likewise.
27025         * modules/uninorm/u32-normcmp: Likewise.
27026         * modules/uninorm/u32-normcoll: Likewise.
27027         * modules/uninorm/u32-normxfrm: Likewise.
27028         * modules/unistdio/u8-asnprintf: Likewise.
27029         * modules/unistdio/u8-asprintf: Likewise.
27030         * modules/unistdio/u8-snprintf: Likewise.
27031         * modules/unistdio/u8-sprintf: Likewise.
27032         * modules/unistdio/u8-u8-asnprintf: Likewise.
27033         * modules/unistdio/u8-u8-asprintf: Likewise.
27034         * modules/unistdio/u8-u8-snprintf: Likewise.
27035         * modules/unistdio/u8-u8-sprintf: Likewise.
27036         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27037         * modules/unistdio/u8-u8-vasprintf: Likewise.
27038         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27039         * modules/unistdio/u8-u8-vsprintf: Likewise.
27040         * modules/unistdio/u8-vasnprintf: Likewise.
27041         * modules/unistdio/u8-vasprintf: Likewise.
27042         * modules/unistdio/u8-vsnprintf: Likewise.
27043         * modules/unistdio/u8-vsprintf: Likewise.
27044         * modules/unistdio/u16-asnprintf: Likewise.
27045         * modules/unistdio/u16-asprintf: Likewise.
27046         * modules/unistdio/u16-snprintf: Likewise.
27047         * modules/unistdio/u16-sprintf: Likewise.
27048         * modules/unistdio/u16-u16-asnprintf: Likewise.
27049         * modules/unistdio/u16-u16-asprintf: Likewise.
27050         * modules/unistdio/u16-u16-snprintf: Likewise.
27051         * modules/unistdio/u16-u16-sprintf: Likewise.
27052         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27053         * modules/unistdio/u16-u16-vasprintf: Likewise.
27054         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27055         * modules/unistdio/u16-u16-vsprintf: Likewise.
27056         * modules/unistdio/u16-vasnprintf: Likewise.
27057         * modules/unistdio/u16-vasprintf: Likewise.
27058         * modules/unistdio/u16-vsnprintf: Likewise.
27059         * modules/unistdio/u16-vsprintf: Likewise.
27060         * modules/unistdio/u32-asnprintf: Likewise.
27061         * modules/unistdio/u32-asprintf: Likewise.
27062         * modules/unistdio/u32-snprintf: Likewise.
27063         * modules/unistdio/u32-sprintf: Likewise.
27064         * modules/unistdio/u32-u32-asnprintf: Likewise.
27065         * modules/unistdio/u32-u32-asprintf: Likewise.
27066         * modules/unistdio/u32-u32-snprintf: Likewise.
27067         * modules/unistdio/u32-u32-sprintf: Likewise.
27068         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27069         * modules/unistdio/u32-u32-vasprintf: Likewise.
27070         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27071         * modules/unistdio/u32-u32-vsprintf: Likewise.
27072         * modules/unistdio/u32-vasnprintf: Likewise.
27073         * modules/unistdio/u32-vasprintf: Likewise.
27074         * modules/unistdio/u32-vsnprintf: Likewise.
27075         * modules/unistdio/u32-vsprintf: Likewise.
27076         * modules/unistdio/ulc-asnprintf: Likewise.
27077         * modules/unistdio/ulc-asprintf: Likewise.
27078         * modules/unistdio/ulc-fprintf: Likewise.
27079         * modules/unistdio/ulc-snprintf: Likewise.
27080         * modules/unistdio/ulc-sprintf: Likewise.
27081         * modules/unistdio/ulc-vasnprintf: Likewise.
27082         * modules/unistdio/ulc-vasprintf: Likewise.
27083         * modules/unistdio/ulc-vfprintf: Likewise.
27084         * modules/unistdio/ulc-vsnprintf: Likewise.
27085         * modules/unistdio/ulc-vsprintf: Likewise.
27086         * modules/unistr/u8-check: Likewise.
27087         * modules/unistr/u8-chr: Likewise.
27088         * modules/unistr/u8-cmp: Likewise.
27089         * modules/unistr/u8-cmp2: Likewise.
27090         * modules/unistr/u8-cpy: Likewise.
27091         * modules/unistr/u8-cpy-alloc: Likewise.
27092         * modules/unistr/u8-endswith: Likewise.
27093         * modules/unistr/u8-mblen: Likewise.
27094         * modules/unistr/u8-mbsnlen: Likewise.
27095         * modules/unistr/u8-mbtouc: Likewise.
27096         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27097         * modules/unistr/u8-mbtoucr: Likewise.
27098         * modules/unistr/u8-move: Likewise.
27099         * modules/unistr/u8-next: Likewise.
27100         * modules/unistr/u8-prev: Likewise.
27101         * modules/unistr/u8-set: Likewise.
27102         * modules/unistr/u8-startswith: Likewise.
27103         * modules/unistr/u8-stpcpy: Likewise.
27104         * modules/unistr/u8-stpncpy: Likewise.
27105         * modules/unistr/u8-strcat: Likewise.
27106         * modules/unistr/u8-strchr: Likewise.
27107         * modules/unistr/u8-strcmp: Likewise.
27108         * modules/unistr/u8-strcoll: Likewise.
27109         * modules/unistr/u8-strcpy: Likewise.
27110         * modules/unistr/u8-strcspn: Likewise.
27111         * modules/unistr/u8-strdup: Likewise.
27112         * modules/unistr/u8-strlen: Likewise.
27113         * modules/unistr/u8-strmblen: Likewise.
27114         * modules/unistr/u8-strmbtouc: Likewise.
27115         * modules/unistr/u8-strncat: Likewise.
27116         * modules/unistr/u8-strncmp: Likewise.
27117         * modules/unistr/u8-strncpy: Likewise.
27118         * modules/unistr/u8-strnlen: Likewise.
27119         * modules/unistr/u8-strpbrk: Likewise.
27120         * modules/unistr/u8-strrchr: Likewise.
27121         * modules/unistr/u8-strspn: Likewise.
27122         * modules/unistr/u8-strstr: Likewise.
27123         * modules/unistr/u8-strtok: Likewise.
27124         * modules/unistr/u8-to-u16: Likewise.
27125         * modules/unistr/u8-to-u32: Likewise.
27126         * modules/unistr/u8-uctomb: Likewise.
27127         * modules/unistr/u16-check: Likewise.
27128         * modules/unistr/u16-chr: Likewise.
27129         * modules/unistr/u16-cmp: Likewise.
27130         * modules/unistr/u16-cmp2: Likewise.
27131         * modules/unistr/u16-cpy: Likewise.
27132         * modules/unistr/u16-cpy-alloc: Likewise.
27133         * modules/unistr/u16-endswith: Likewise.
27134         * modules/unistr/u16-mblen: Likewise.
27135         * modules/unistr/u16-mbsnlen: Likewise.
27136         * modules/unistr/u16-mbtouc: Likewise.
27137         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27138         * modules/unistr/u16-mbtoucr: Likewise.
27139         * modules/unistr/u16-move: Likewise.
27140         * modules/unistr/u16-next: Likewise.
27141         * modules/unistr/u16-prev: Likewise.
27142         * modules/unistr/u16-set: Likewise.
27143         * modules/unistr/u16-startswith: Likewise.
27144         * modules/unistr/u16-stpcpy: Likewise.
27145         * modules/unistr/u16-stpncpy: Likewise.
27146         * modules/unistr/u16-strcat: Likewise.
27147         * modules/unistr/u16-strchr: Likewise.
27148         * modules/unistr/u16-strcmp: Likewise.
27149         * modules/unistr/u16-strcoll: Likewise.
27150         * modules/unistr/u16-strcpy: Likewise.
27151         * modules/unistr/u16-strcspn: Likewise.
27152         * modules/unistr/u16-strdup: Likewise.
27153         * modules/unistr/u16-strlen: Likewise.
27154         * modules/unistr/u16-strmblen: Likewise.
27155         * modules/unistr/u16-strmbtouc: Likewise.
27156         * modules/unistr/u16-strncat: Likewise.
27157         * modules/unistr/u16-strncmp: Likewise.
27158         * modules/unistr/u16-strncpy: Likewise.
27159         * modules/unistr/u16-strnlen: Likewise.
27160         * modules/unistr/u16-strpbrk: Likewise.
27161         * modules/unistr/u16-strrchr: Likewise.
27162         * modules/unistr/u16-strspn: Likewise.
27163         * modules/unistr/u16-strstr: Likewise.
27164         * modules/unistr/u16-strtok: Likewise.
27165         * modules/unistr/u16-to-u32: Likewise.
27166         * modules/unistr/u16-to-u8: Likewise.
27167         * modules/unistr/u16-uctomb: Likewise.
27168         * modules/unistr/u32-check: Likewise.
27169         * modules/unistr/u32-chr: Likewise.
27170         * modules/unistr/u32-cmp: Likewise.
27171         * modules/unistr/u32-cmp2: Likewise.
27172         * modules/unistr/u32-cpy: Likewise.
27173         * modules/unistr/u32-cpy-alloc: Likewise.
27174         * modules/unistr/u32-endswith: Likewise.
27175         * modules/unistr/u32-mblen: Likewise.
27176         * modules/unistr/u32-mbsnlen: Likewise.
27177         * modules/unistr/u32-mbtouc: Likewise.
27178         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27179         * modules/unistr/u32-mbtoucr: Likewise.
27180         * modules/unistr/u32-move: Likewise.
27181         * modules/unistr/u32-next: Likewise.
27182         * modules/unistr/u32-prev: Likewise.
27183         * modules/unistr/u32-set: Likewise.
27184         * modules/unistr/u32-startswith: Likewise.
27185         * modules/unistr/u32-stpcpy: Likewise.
27186         * modules/unistr/u32-stpncpy: Likewise.
27187         * modules/unistr/u32-strcat: Likewise.
27188         * modules/unistr/u32-strchr: Likewise.
27189         * modules/unistr/u32-strcmp: Likewise.
27190         * modules/unistr/u32-strcoll: Likewise.
27191         * modules/unistr/u32-strcpy: Likewise.
27192         * modules/unistr/u32-strcspn: Likewise.
27193         * modules/unistr/u32-strdup: Likewise.
27194         * modules/unistr/u32-strlen: Likewise.
27195         * modules/unistr/u32-strmblen: Likewise.
27196         * modules/unistr/u32-strmbtouc: Likewise.
27197         * modules/unistr/u32-strncat: Likewise.
27198         * modules/unistr/u32-strncmp: Likewise.
27199         * modules/unistr/u32-strncpy: Likewise.
27200         * modules/unistr/u32-strnlen: Likewise.
27201         * modules/unistr/u32-strpbrk: Likewise.
27202         * modules/unistr/u32-strrchr: Likewise.
27203         * modules/unistr/u32-strspn: Likewise.
27204         * modules/unistr/u32-strstr: Likewise.
27205         * modules/unistr/u32-strtok: Likewise.
27206         * modules/unistr/u32-to-u16: Likewise.
27207         * modules/unistr/u32-to-u8: Likewise.
27208         * modules/unistr/u32-uctomb: Likewise.
27209         * modules/uniwbrk/u8-wordbreaks: Likewise.
27210         * modules/uniwbrk/u16-wordbreaks: Likewise.
27211         * modules/uniwbrk/u32-wordbreaks: Likewise.
27212         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27213         * modules/uniwbrk/wordbreak-property: Likewise.
27214         * modules/uniwidth/u8-strwidth: Likewise.
27215         * modules/uniwidth/u8-width: Likewise.
27216         * modules/uniwidth/u16-strwidth: Likewise.
27217         * modules/uniwidth/u16-width: Likewise.
27218         * modules/uniwidth/u32-strwidth: Likewise.
27219         * modules/uniwidth/u32-width: Likewise.
27220         * modules/uniwidth/width: Likewise.
27221         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27222         with $(LIBUNISTRING).
27223         * modules/unicase/ignorable-tests: Likewise.
27224         * modules/unicase/locale-language-tests: Likewise.
27225         * modules/unicase/tolower-tests: Likewise.
27226         * modules/unicase/totitle-tests: Likewise.
27227         * modules/unicase/toupper-tests: Likewise.
27228         * modules/unicase/u8-casecmp-tests: Likewise.
27229         * modules/unicase/u8-casecoll-tests: Likewise.
27230         * modules/unicase/u8-casefold-tests: Likewise.
27231         * modules/unicase/u8-is-cased-tests: Likewise.
27232         * modules/unicase/u8-is-casefolded-tests: Likewise.
27233         * modules/unicase/u8-is-lowercase-tests: Likewise.
27234         * modules/unicase/u8-is-titlecase-tests: Likewise.
27235         * modules/unicase/u8-is-uppercase-tests: Likewise.
27236         * modules/unicase/u8-tolower-tests: Likewise.
27237         * modules/unicase/u8-totitle-tests: Likewise.
27238         * modules/unicase/u8-toupper-tests: Likewise.
27239         * modules/unicase/u16-casecmp-tests: Likewise.
27240         * modules/unicase/u16-casecoll-tests: Likewise.
27241         * modules/unicase/u16-casefold-tests: Likewise.
27242         * modules/unicase/u16-is-cased-tests: Likewise.
27243         * modules/unicase/u16-is-casefolded-tests: Likewise.
27244         * modules/unicase/u16-is-lowercase-tests: Likewise.
27245         * modules/unicase/u16-is-titlecase-tests: Likewise.
27246         * modules/unicase/u16-is-uppercase-tests: Likewise.
27247         * modules/unicase/u16-tolower-tests: Likewise.
27248         * modules/unicase/u16-totitle-tests: Likewise.
27249         * modules/unicase/u16-toupper-tests: Likewise.
27250         * modules/unicase/u32-casecmp-tests: Likewise.
27251         * modules/unicase/u32-casecoll-tests: Likewise.
27252         * modules/unicase/u32-casefold-tests: Likewise.
27253         * modules/unicase/u32-is-cased-tests: Likewise.
27254         * modules/unicase/u32-is-casefolded-tests: Likewise.
27255         * modules/unicase/u32-is-lowercase-tests: Likewise.
27256         * modules/unicase/u32-is-titlecase-tests: Likewise.
27257         * modules/unicase/u32-is-uppercase-tests: Likewise.
27258         * modules/unicase/u32-tolower-tests: Likewise.
27259         * modules/unicase/u32-totitle-tests: Likewise.
27260         * modules/unicase/u32-toupper-tests: Likewise.
27261         * modules/unicase/ulc-casecmp-tests: Likewise.
27262         * modules/unicase/ulc-casecoll-tests: Likewise.
27263         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27264         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27265         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27266         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27267         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27268         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27269         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27270         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27271         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27272         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27273         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27274         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27275         * modules/unictype/bidicategory-byname-tests: Likewise.
27276         * modules/unictype/bidicategory-name-tests: Likewise.
27277         * modules/unictype/bidicategory-of-tests: Likewise.
27278         * modules/unictype/bidicategory-test-tests: Likewise.
27279         * modules/unictype/block-list-tests: Likewise.
27280         * modules/unictype/block-of-tests: Likewise.
27281         * modules/unictype/block-test-tests: Likewise.
27282         * modules/unictype/category-C-tests: Likewise.
27283         * modules/unictype/category-Cc-tests: Likewise.
27284         * modules/unictype/category-Cf-tests: Likewise.
27285         * modules/unictype/category-Cn-tests: Likewise.
27286         * modules/unictype/category-Co-tests: Likewise.
27287         * modules/unictype/category-Cs-tests: Likewise.
27288         * modules/unictype/category-L-tests: Likewise.
27289         * modules/unictype/category-Ll-tests: Likewise.
27290         * modules/unictype/category-Lm-tests: Likewise.
27291         * modules/unictype/category-Lo-tests: Likewise.
27292         * modules/unictype/category-Lt-tests: Likewise.
27293         * modules/unictype/category-Lu-tests: Likewise.
27294         * modules/unictype/category-M-tests: Likewise.
27295         * modules/unictype/category-Mc-tests: Likewise.
27296         * modules/unictype/category-Me-tests: Likewise.
27297         * modules/unictype/category-Mn-tests: Likewise.
27298         * modules/unictype/category-N-tests: Likewise.
27299         * modules/unictype/category-Nd-tests: Likewise.
27300         * modules/unictype/category-Nl-tests: Likewise.
27301         * modules/unictype/category-No-tests: Likewise.
27302         * modules/unictype/category-P-tests: Likewise.
27303         * modules/unictype/category-Pc-tests: Likewise.
27304         * modules/unictype/category-Pd-tests: Likewise.
27305         * modules/unictype/category-Pe-tests: Likewise.
27306         * modules/unictype/category-Pf-tests: Likewise.
27307         * modules/unictype/category-Pi-tests: Likewise.
27308         * modules/unictype/category-Po-tests: Likewise.
27309         * modules/unictype/category-Ps-tests: Likewise.
27310         * modules/unictype/category-S-tests: Likewise.
27311         * modules/unictype/category-Sc-tests: Likewise.
27312         * modules/unictype/category-Sk-tests: Likewise.
27313         * modules/unictype/category-Sm-tests: Likewise.
27314         * modules/unictype/category-So-tests: Likewise.
27315         * modules/unictype/category-Z-tests: Likewise.
27316         * modules/unictype/category-Zl-tests: Likewise.
27317         * modules/unictype/category-Zp-tests: Likewise.
27318         * modules/unictype/category-Zs-tests: Likewise.
27319         * modules/unictype/category-and-not-tests: Likewise.
27320         * modules/unictype/category-and-tests: Likewise.
27321         * modules/unictype/category-byname-tests: Likewise.
27322         * modules/unictype/category-name-tests: Likewise.
27323         * modules/unictype/category-none-tests: Likewise.
27324         * modules/unictype/category-of-tests: Likewise.
27325         * modules/unictype/category-or-tests: Likewise.
27326         * modules/unictype/category-test-withtable-tests: Likewise.
27327         * modules/unictype/combining-class-tests: Likewise.
27328         * modules/unictype/ctype-alnum-tests: Likewise.
27329         * modules/unictype/ctype-alpha-tests: Likewise.
27330         * modules/unictype/ctype-blank-tests: Likewise.
27331         * modules/unictype/ctype-cntrl-tests: Likewise.
27332         * modules/unictype/ctype-digit-tests: Likewise.
27333         * modules/unictype/ctype-graph-tests: Likewise.
27334         * modules/unictype/ctype-lower-tests: Likewise.
27335         * modules/unictype/ctype-print-tests: Likewise.
27336         * modules/unictype/ctype-punct-tests: Likewise.
27337         * modules/unictype/ctype-space-tests: Likewise.
27338         * modules/unictype/ctype-upper-tests: Likewise.
27339         * modules/unictype/ctype-xdigit-tests: Likewise.
27340         * modules/unictype/decimal-digit-tests: Likewise.
27341         * modules/unictype/digit-tests: Likewise.
27342         * modules/unictype/mirror-tests: Likewise.
27343         * modules/unictype/numeric-tests: Likewise.
27344         * modules/unictype/property-alphabetic-tests: Likewise.
27345         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27346         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27347         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27348         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27349         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27350         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27351         * modules/unictype/property-bidi-control-tests: Likewise.
27352         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27353         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27354         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27355         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27356         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27357         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27358         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27359         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27360         * modules/unictype/property-bidi-pdf-tests: Likewise.
27361         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27362         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27363         * modules/unictype/property-byname-tests: Likewise.
27364         * modules/unictype/property-combining-tests: Likewise.
27365         * modules/unictype/property-composite-tests: Likewise.
27366         * modules/unictype/property-currency-symbol-tests: Likewise.
27367         * modules/unictype/property-dash-tests: Likewise.
27368         * modules/unictype/property-decimal-digit-tests: Likewise.
27369         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27370         * modules/unictype/property-deprecated-tests: Likewise.
27371         * modules/unictype/property-diacritic-tests: Likewise.
27372         * modules/unictype/property-extender-tests: Likewise.
27373         * modules/unictype/property-format-control-tests: Likewise.
27374         * modules/unictype/property-grapheme-base-tests: Likewise.
27375         * modules/unictype/property-grapheme-extend-tests: Likewise.
27376         * modules/unictype/property-grapheme-link-tests: Likewise.
27377         * modules/unictype/property-hex-digit-tests: Likewise.
27378         * modules/unictype/property-hyphen-tests: Likewise.
27379         * modules/unictype/property-id-continue-tests: Likewise.
27380         * modules/unictype/property-id-start-tests: Likewise.
27381         * modules/unictype/property-ideographic-tests: Likewise.
27382         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27383         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27384         * modules/unictype/property-ignorable-control-tests: Likewise.
27385         * modules/unictype/property-iso-control-tests: Likewise.
27386         * modules/unictype/property-join-control-tests: Likewise.
27387         * modules/unictype/property-left-of-pair-tests: Likewise.
27388         * modules/unictype/property-line-separator-tests: Likewise.
27389         * modules/unictype/property-logical-order-exception-tests: Likewise.
27390         * modules/unictype/property-lowercase-tests: Likewise.
27391         * modules/unictype/property-math-tests: Likewise.
27392         * modules/unictype/property-non-break-tests: Likewise.
27393         * modules/unictype/property-not-a-character-tests: Likewise.
27394         * modules/unictype/property-numeric-tests: Likewise.
27395         * modules/unictype/property-other-alphabetic-tests: Likewise.
27396         * modules/unictype/property-other-default-ignorable-code-point-tests:
27397         Likewise.
27398         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27399         * modules/unictype/property-other-id-continue-tests: Likewise.
27400         * modules/unictype/property-other-id-start-tests: Likewise.
27401         * modules/unictype/property-other-lowercase-tests: Likewise.
27402         * modules/unictype/property-other-math-tests: Likewise.
27403         * modules/unictype/property-other-uppercase-tests: Likewise.
27404         * modules/unictype/property-paired-punctuation-tests: Likewise.
27405         * modules/unictype/property-paragraph-separator-tests: Likewise.
27406         * modules/unictype/property-pattern-syntax-tests: Likewise.
27407         * modules/unictype/property-pattern-white-space-tests: Likewise.
27408         * modules/unictype/property-private-use-tests: Likewise.
27409         * modules/unictype/property-punctuation-tests: Likewise.
27410         * modules/unictype/property-quotation-mark-tests: Likewise.
27411         * modules/unictype/property-radical-tests: Likewise.
27412         * modules/unictype/property-sentence-terminal-tests: Likewise.
27413         * modules/unictype/property-soft-dotted-tests: Likewise.
27414         * modules/unictype/property-space-tests: Likewise.
27415         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27416         * modules/unictype/property-test-tests: Likewise.
27417         * modules/unictype/property-titlecase-tests: Likewise.
27418         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27419         * modules/unictype/property-unified-ideograph-tests: Likewise.
27420         * modules/unictype/property-uppercase-tests: Likewise.
27421         * modules/unictype/property-variation-selector-tests: Likewise.
27422         * modules/unictype/property-white-space-tests: Likewise.
27423         * modules/unictype/property-xid-continue-tests: Likewise.
27424         * modules/unictype/property-xid-start-tests: Likewise.
27425         * modules/unictype/property-zero-width-tests: Likewise.
27426         * modules/unictype/scripts-tests: Likewise.
27427         * modules/unictype/syntax-c-ident-tests: Likewise.
27428         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27429         * modules/unictype/syntax-java-ident-tests: Likewise.
27430         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27431         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27432         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27433         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27434         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27435         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27436         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27437         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27438         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27439         * modules/uniname/uniname-tests: Likewise.
27440         * modules/uninorm/canonical-decomposition-tests: Likewise.
27441         * modules/uninorm/compat-decomposition-tests: Likewise.
27442         * modules/uninorm/composition-tests: Likewise.
27443         * modules/uninorm/decomposing-form-tests: Likewise.
27444         * modules/uninorm/decomposition-tests: Likewise.
27445         * modules/uninorm/filter-tests: Likewise.
27446         * modules/uninorm/nfc-tests: Likewise.
27447         * modules/uninorm/nfd-tests: Likewise.
27448         * modules/uninorm/nfkc-tests: Likewise.
27449         * modules/uninorm/nfkd-tests: Likewise.
27450         * modules/uninorm/u8-normcmp-tests: Likewise.
27451         * modules/uninorm/u8-normcoll-tests: Likewise.
27452         * modules/uninorm/u16-normcmp-tests: Likewise.
27453         * modules/uninorm/u16-normcoll-tests: Likewise.
27454         * modules/uninorm/u32-normcmp-tests: Likewise.
27455         * modules/uninorm/u32-normcoll-tests: Likewise.
27456         * modules/unistdio/u8-asnprintf-tests: Likewise.
27457         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27458         * modules/unistdio/u8-vasprintf-tests: Likewise.
27459         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27460         * modules/unistdio/u8-vsprintf-tests: Likewise.
27461         * modules/unistdio/u16-asnprintf-tests: Likewise.
27462         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27463         * modules/unistdio/u16-vasprintf-tests: Likewise.
27464         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27465         * modules/unistdio/u16-vsprintf-tests: Likewise.
27466         * modules/unistdio/u32-asnprintf-tests: Likewise.
27467         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27468         * modules/unistdio/u32-vasprintf-tests: Likewise.
27469         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27470         * modules/unistdio/u32-vsprintf-tests: Likewise.
27471         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27472         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27473         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27474         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27475         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27476         * modules/unistr/u8-check-tests: Likewise.
27477         * modules/unistr/u8-chr-tests: Likewise.
27478         * modules/unistr/u8-cmp-tests: Likewise.
27479         * modules/unistr/u8-cmp2-tests: Likewise.
27480         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27481         * modules/unistr/u8-cpy-tests: Likewise.
27482         * modules/unistr/u8-mblen-tests: Likewise.
27483         * modules/unistr/u8-mbsnlen-tests: Likewise.
27484         * modules/unistr/u8-mbtouc-tests: Likewise.
27485         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27486         * modules/unistr/u8-mbtoucr-tests: Likewise.
27487         * modules/unistr/u8-move-tests: Likewise.
27488         * modules/unistr/u8-next-tests: Likewise.
27489         * modules/unistr/u8-prev-tests: Likewise.
27490         * modules/unistr/u8-set-tests: Likewise.
27491         * modules/unistr/u8-stpcpy-tests: Likewise.
27492         * modules/unistr/u8-stpncpy-tests: Likewise.
27493         * modules/unistr/u8-strcat-tests: Likewise.
27494         * modules/unistr/u8-strcmp-tests: Likewise.
27495         * modules/unistr/u8-strcoll-tests: Likewise.
27496         * modules/unistr/u8-strcpy-tests: Likewise.
27497         * modules/unistr/u8-strdup-tests: Likewise.
27498         * modules/unistr/u8-strlen-tests: Likewise.
27499         * modules/unistr/u8-strmblen-tests: Likewise.
27500         * modules/unistr/u8-strmbtouc-tests: Likewise.
27501         * modules/unistr/u8-strncat-tests: Likewise.
27502         * modules/unistr/u8-strncmp-tests: Likewise.
27503         * modules/unistr/u8-strncpy-tests: Likewise.
27504         * modules/unistr/u8-strnlen-tests: Likewise.
27505         * modules/unistr/u8-to-u16-tests: Likewise.
27506         * modules/unistr/u8-to-u32-tests: Likewise.
27507         * modules/unistr/u8-uctomb-tests: Likewise.
27508         * modules/unistr/u16-check-tests: Likewise.
27509         * modules/unistr/u16-chr-tests: Likewise.
27510         * modules/unistr/u16-cmp-tests: Likewise.
27511         * modules/unistr/u16-cmp2-tests: Likewise.
27512         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27513         * modules/unistr/u16-cpy-tests: Likewise.
27514         * modules/unistr/u16-mblen-tests: Likewise.
27515         * modules/unistr/u16-mbsnlen-tests: Likewise.
27516         * modules/unistr/u16-mbtouc-tests: Likewise.
27517         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27518         * modules/unistr/u16-mbtoucr-tests: Likewise.
27519         * modules/unistr/u16-move-tests: Likewise.
27520         * modules/unistr/u16-next-tests: Likewise.
27521         * modules/unistr/u16-prev-tests: Likewise.
27522         * modules/unistr/u16-set-tests: Likewise.
27523         * modules/unistr/u16-stpcpy-tests: Likewise.
27524         * modules/unistr/u16-stpncpy-tests: Likewise.
27525         * modules/unistr/u16-strcat-tests: Likewise.
27526         * modules/unistr/u16-strcmp-tests: Likewise.
27527         * modules/unistr/u16-strcoll-tests: Likewise.
27528         * modules/unistr/u16-strcpy-tests: Likewise.
27529         * modules/unistr/u16-strdup-tests: Likewise.
27530         * modules/unistr/u16-strlen-tests: Likewise.
27531         * modules/unistr/u16-strmblen-tests: Likewise.
27532         * modules/unistr/u16-strmbtouc-tests: Likewise.
27533         * modules/unistr/u16-strncat-tests: Likewise.
27534         * modules/unistr/u16-strncmp-tests: Likewise.
27535         * modules/unistr/u16-strncpy-tests: Likewise.
27536         * modules/unistr/u16-strnlen-tests: Likewise.
27537         * modules/unistr/u16-to-u32-tests: Likewise.
27538         * modules/unistr/u16-to-u8-tests: Likewise.
27539         * modules/unistr/u16-uctomb-tests: Likewise.
27540         * modules/unistr/u32-check-tests: Likewise.
27541         * modules/unistr/u32-chr-tests: Likewise.
27542         * modules/unistr/u32-cmp-tests: Likewise.
27543         * modules/unistr/u32-cmp2-tests: Likewise.
27544         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27545         * modules/unistr/u32-cpy-tests: Likewise.
27546         * modules/unistr/u32-mblen-tests: Likewise.
27547         * modules/unistr/u32-mbsnlen-tests: Likewise.
27548         * modules/unistr/u32-mbtouc-tests: Likewise.
27549         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27550         * modules/unistr/u32-mbtoucr-tests: Likewise.
27551         * modules/unistr/u32-move-tests: Likewise.
27552         * modules/unistr/u32-next-tests: Likewise.
27553         * modules/unistr/u32-prev-tests: Likewise.
27554         * modules/unistr/u32-set-tests: Likewise.
27555         * modules/unistr/u32-stpcpy-tests: Likewise.
27556         * modules/unistr/u32-stpncpy-tests: Likewise.
27557         * modules/unistr/u32-strcat-tests: Likewise.
27558         * modules/unistr/u32-strcmp-tests: Likewise.
27559         * modules/unistr/u32-strcoll-tests: Likewise.
27560         * modules/unistr/u32-strcpy-tests: Likewise.
27561         * modules/unistr/u32-strdup-tests: Likewise.
27562         * modules/unistr/u32-strlen-tests: Likewise.
27563         * modules/unistr/u32-strmblen-tests: Likewise.
27564         * modules/unistr/u32-strmbtouc-tests: Likewise.
27565         * modules/unistr/u32-strncat-tests: Likewise.
27566         * modules/unistr/u32-strncmp-tests: Likewise.
27567         * modules/unistr/u32-strncpy-tests: Likewise.
27568         * modules/unistr/u32-strnlen-tests: Likewise.
27569         * modules/unistr/u32-to-u16-tests: Likewise.
27570         * modules/unistr/u32-to-u8-tests: Likewise.
27571         * modules/unistr/u32-uctomb-tests: Likewise.
27572         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27573         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27574         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27575         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27576         * modules/uniwidth/u8-strwidth-tests: Likewise.
27577         * modules/uniwidth/u8-width-tests: Likewise.
27578         * modules/uniwidth/u16-strwidth-tests: Likewise.
27579         * modules/uniwidth/u16-width-tests: Likewise.
27580         * modules/uniwidth/u32-strwidth-tests: Likewise.
27581         * modules/uniwidth/u32-width-tests: Likewise.
27582         * modules/uniwidth/width-tests: Likewise.
27583
27584 2010-05-18  Richard Jones  <rjones@redhat.com>
27585
27586         doc: users.txt: list hivex
27587         * users.txt: Add hivex.
27588
27589 2010-05-18  Richard Jones  <rjones@redhat.com>
27590
27591         doc: users.txt: list febootstrap
27592         * users.txt: Add febootstrap.
27593
27594 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27595
27596         bootstrap: fix an error when gnulib is not used as a git submodule
27597         * build-aux/bootstrap (gnulib_path): If its length is zero then
27598         assign "gnulib" to it.
27599         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27600
27601 2010-05-16  Bruno Haible  <bruno@clisp.org>
27602
27603         Avoid autoconf warnings about AM_ICONV.
27604         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27605         2.64.
27606
27607 2010-05-16  Bruno Haible  <bruno@clisp.org>
27608
27609         absolute-header: Make the macro usable in more situations.
27610         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27611         from gl_ABSOLUTE_HEADER.
27612         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27613
27614 2010-05-16  James Youngman  <jay@gnu.org>
27615
27616         doc: update users.txt
27617         * users.txt: Add CSSC.
27618
27619 2010-05-16  Jim Meyering  <meyering@redhat.com>
27620
27621         init.sh: fix an error in the previous change; add more comments
27622         * tests/init.sh: Compare exit code in loop against 9, not 2.
27623         Patch by Bruno Haible.
27624         Make the two tests more similar by adding an empty "then" clause.
27625         Add comments.
27626
27627         init.sh: avoid unnecessary shell re-exec
27628         * tests/init.sh: Improve the re-exec-required check to first test the
27629         current shell.  If it passes the test, do not search for a shell that
27630         does pass, and do not re-exec.  This test is particularly contorted to
27631         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27632         of $(...) evokes a syntax error and causes immediate shell exit with
27633         status 2.  Bruno Haible reported that the re-exec made it impossible
27634         to single-step through any init.sh-using script.
27635
27636 2010-05-16  Bruno Haible  <bruno@clisp.org>
27637
27638         Fix collision between gnulib's and libintl's printf replacements.
27639         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27640         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27641         (printf): When using GNU C, map the __printf__ function to rpl_printf
27642         via __asm__. When not using GNU C, define rpl_printf instead of
27643         __printf__.
27644         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27645         commit.
27646         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27647         commit.
27648         * m4/asm-underscore.m4: New file.
27649         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27650         * modules/stdio (Files): Add m4/asm-underscore.m4.
27651         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27652         Reported by Ben Pfaff.
27653
27654 2010-05-16  Bruno Haible  <bruno@clisp.org>
27655
27656         verify: Avoid skipping the test on openSUSE 11.0.
27657         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27658
27659 2010-05-13  Bruno Haible  <bruno@clisp.org>
27660
27661         Avoid useless warnings from G++.
27662         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27663         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27664         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27665
27666 2010-05-11  Jim Meyering  <meyering@redhat.com>
27667
27668         maint.mk: tweak preceding change
27669         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27670         regexps tighter by anchoring at EOL, and make the new group "shy"
27671         for slightly decreased overhead.
27672
27673 2010-05-11  Eric Blake  <eblake@redhat.com>
27674
27675         maint.mk: gnulib doesn't guarantee NSIG
27676         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27677
27678 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27679
27680         test-pwrite.c: Remove unused variable declaration.
27681         * tests/test-pwrite.c (main): Remove read_buf declaration.
27682
27683         Remove useless test-pwrite.sh file.
27684         * tests/test-pwrite.sh: Delete file.
27685         * modules/pwrite-tests: Remove references.
27686         Reported by Bruno Haible.
27687
27688 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27689
27690         init.sh: fix a typo
27691         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27692
27693 2010-05-10  Jim Meyering  <meyering@redhat.com>
27694
27695         maint.mk: avoid using a temporary file in the always-defined-macros check
27696         * top/maint.mk (.re-defmac): Remove rule.
27697         (gl_trap_): Remove definition.
27698         (sc_prohibit_always-defined_macros): Rewrite not to create and
27699         depend on a temporary file.  Instead, depend on GNU grep's ability
27700         to read a list of regular expressions from stdin when given "-f -".
27701
27702 2010-05-09  Bruno Haible  <bruno@clisp.org>
27703
27704         Update to GNU gettext 0.18, part 1.
27705         * m4/gettext.m4: Update to GNU gettext 0.18.
27706         * m4/intl.m4: Likewise.
27707         * m4/po.m4: Likewise.
27708         * modules/gettext (Files): Add m4/fcntl-o.m4.
27709         (configure.ac): Require gettext infrastructure from version 0.18.
27710
27711 2010-05-09  Jim Meyering  <meyering@redhat.com>
27712
27713         init.sh: enable MALLOC_PERTURB_
27714         * tests/init.sh: Enable glibc's malloc-perturbing option.
27715
27716         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27717         With my recent change in init.sh from the two-line form:
27718             -#   : ${srcdir=.}
27719             -#   . "$srcdir/init.sh"; path_prepend_ .
27720             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27721         I noticed that using the one-line form would cause this test
27722         to fail with a false-positive, or to stop working altogether,
27723         depending on whether help-version changed or all the tests did.
27724         * top/maint.mk (_hv_regex): Remove this definition.
27725         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27726         (_hv_regex_strong): Use a stronger regex to check for conformance.
27727         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27728         Give a separate diagnostic for lack of conforming use.
27729
27730         maint.mk: prohibit definition of symbols defined by gnulib
27731         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27732         definition of symbols defined by gnulib.
27733
27734 2010-05-09  Bruno Haible  <bruno@clisp.org>
27735
27736         acl: Avoid test failure on Cygwin-hosted mingw.
27737         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27738
27739 2010-05-09  Bruno Haible  <bruno@clisp.org>
27740
27741         error: Use system's fcntl function.
27742         * lib/error.c (fcntl): Undefine.
27743
27744 2010-05-09  Jim Meyering  <meyering@redhat.com>
27745
27746         verify: adjust formatting to be more consistent
27747         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27748         argument-list '('s, and after one comma.
27749
27750 2010-05-09  Bruno Haible  <bruno@clisp.org>
27751
27752         error: More reliable output on mingw.
27753         * lib/error.c: Include <windows.h>.
27754         (is_open): New function.
27755         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27756         defined.
27757
27758 2010-05-09  Bruno Haible  <bruno@clisp.org>
27759
27760         vasnprintf: Fix syntax errors in libintl build on mingw.
27761         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27762         pad_ourselves and prec_ourselves after use.
27763
27764 2010-05-08  Bruno Haible  <bruno@clisp.org>
27765
27766         * lib/config.charset: Update comments for Cygwin 1.7.
27767         * lib/localcharset.c: Likewise.
27768
27769 2010-05-07  Jim Meyering  <meyering@redhat.com>
27770
27771         init.sh: improve comments
27772         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27773         . "${srcdir=.}/init.sh"; path_prepend_ .
27774         Add a note about path_prepend_ and the alternative of using
27775         TESTS_ENVIRONMENT.
27776
27777 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27778
27779         exclude: Unescape hashed patterns in wildcard mode.
27780         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27781         to the hash list.
27782         * tests/test-exclude8.sh: New test case.
27783         * modules/exclude-tests: Add new test.
27784
27785 2010-05-05  Eric Blake  <eblake@redhat.com>
27786
27787         verify: automate tests
27788         * modules/verify-tests: New module.
27789         * tests/test-verify.sh: New file.
27790         * tests/test-verify.c: Guard each negative test with a unique id.
27791         Also avoid warning about unused left hand of comma expressions.
27792
27793 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27794
27795         Further improvements to verify.h, suggested by Eric Blake.
27796         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27797         the GL_* versions, to avoid collision with OpenGL.
27798         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27799         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27800         than testing merely whether it's defined.
27801
27802         Modify verify.h to pacify gcc -Wredundant_decls.
27803         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27804         These use the prefix "GL_" since they're likely to be useful elsewhere.
27805         We may need to break them out into a different .h file.
27806         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27807         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27808         of verify_function__.
27809
27810 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27811
27812         Tests for module pwrite.
27813         * modules/pwrite-tests: New file.
27814         * tests/test-pwrite.sh: New file.
27815         * tests/test-pwrite.c: New file.
27816
27817         New module pwrite.
27818         * lib/unistd.in.h (pwrite): New declaration.
27819         * lib/pwrite.c: New file, from glibc with modifications.
27820         * m4/pwrite.m4: New file.
27821         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27822         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27823         REPLACE_PWRITE.
27824         * modules/pwrite: New file.
27825         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27826         REPLACE_PWRITE.
27827         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27828         * doc/posix-functions/pwrite.texi: Mention the new module.
27829
27830 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27831
27832         pread: Update documentation.
27833         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27834
27835 2010-05-04  Eric Blake  <eblake@redhat.com>
27836
27837         docs: update cygwin progress
27838         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27839         this bug.
27840         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27841         Added in cygwin 1.7.2.
27842         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27843         Likewise.
27844         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27845         Likewise.
27846         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27847         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27848         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27849         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27850         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27851         Mention nproc module.
27852         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27853         bug in cygwin 1.7.5 addition.
27854         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27855         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27856         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27857         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27858         1.7.5.
27859         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27860         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27861         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27862         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27863         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27864         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27865         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27866         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27867         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27868         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27869         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27870         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27871         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27872         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27873         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27874         Likewise.
27875         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27876         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27877         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27878         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27879         Likewise.
27880         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27881         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27882         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27883         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27884         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27885         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27886         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27887         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27888         Likewise.
27889         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27890         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27891         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27892         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27893         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27894         Likewise.
27895         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27896         Likewise.
27897         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27898         Likewise.
27899         * doc/glibc-functions/xdrrec_endofrecord.texi
27900         (xdrrec_endofrecord): Likewise.
27901         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27902         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27903         Likewise.
27904         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27905         Likewise.
27906
27907 2010-05-04  Jim Meyering  <meyering@redhat.com>
27908
27909         gendocs.sh: make its "-s FILE" option more useful
27910         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27911         $PACKAGE to reflect the probably-different basename of "FILE".
27912
27913 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27914
27915         bootstrap: don't ignore download_po_files failure
27916         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27917         failure.
27918
27919 2010-05-03  Jim Meyering  <meyering@redhat.com>
27920
27921         maint.mk: allow to pass options to gendocs.sh
27922         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27923         (gendocs_options_): New overridable variable.
27924
27925         gnu-web-doc-update: don't ignore configure or build failure
27926         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27927
27928         announce-gen: backslash-escape '@'s in --help output
27929         * build-aux/announce-gen: Fix syntax errors.
27930
27931         maint.mk, announce-gen: allow project-specific announcement mail headers
27932         * top/maint.mk (translation_project_): Define default.
27933         (announcement_Cc_, announcement_mail_headers_): Likewise.
27934         (announcement): Invoke announce-gen with new --mail-headers option.
27935         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27936
27937         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27938         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27939         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27940         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27941         line in the "err2" output file when running "make check" in verbose
27942         mode (i.e., with set -x enabled).
27943
27944 2010-05-03  Bruno Haible  <bruno@clisp.org>
27945
27946         wctob: Fix for weird platforms.
27947         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27948         argument value.
27949
27950 2010-05-03  Jim Meyering  <meyering@redhat.com>
27951
27952         maint.mk: prohibit unwarranted use of <strings.h>
27953         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27954         strings.h in a file that does not also use strcasecmp, strncasecmp,
27955         ffs or ffsll.
27956
27957         maint.mk: remove obsolete comments
27958         * top/maint.mk: Remove stale, commented-out rules.
27959
27960 2010-05-02  Bruno Haible  <bruno@clisp.org>
27961
27962         wcwidth: Declare also when it's aliased.
27963         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27964         macro.
27965
27966 2010-05-02  Bruno Haible  <bruno@clisp.org>
27967
27968         Fix regression from 2010-04-25.
27969         * gnulib-tool (func_modules_transitive_closure): Check the status of
27970         all modules, not only of the tests that are of the form foo-tests where
27971         foo is a module.
27972
27973 2010-05-02  Bruno Haible  <bruno@clisp.org>
27974
27975         wctob: Work around nasty Cygwin 1.7.2 bug.
27976         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27977         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27978
27979 2010-05-01  Bruno Haible  <bruno@clisp.org>
27980
27981         fpurge: Sharper test.
27982         * tests/test-fpurge.c (main): Add one more ftell check.
27983         * modules/fpurge-tests (Depends-on): Add ftell.
27984         Suggested by Eric Blake.
27985
27986 2010-05-01  Bruno Haible  <bruno@clisp.org>
27987
27988         ftello: Another test.
27989         * tests/test-ftello3.c: New file.
27990         * modules/ftello-tests (Files): Add it.
27991         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27992         MOSTLYCLEANFILES.
27993
27994         ftell: Another test.
27995         * tests/test-ftell3.c: New file.
27996         * modules/ftell-tests (Files): Add it.
27997         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27998         MOSTLYCLEANFILES.
27999
28000 2010-05-01  Bruno Haible  <bruno@clisp.org>
28001
28002         ftell, ftello: Work around Solaris bug.
28003         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28004         * lib/ftello.c: Include stdio-impl.h.
28005         (ftello): On Solaris, when _IOWRT is set, compute the result without
28006         looking at _IOREAD.
28007         * modules/ftello (Files): Add lib/stdio-impl.h.
28008         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28009         * doc/posix-functions/ftello.texi: Likewise.
28010         Reported by Eric Blake.
28011
28012 2010-05-01  Bruno Haible  <bruno@clisp.org>
28013
28014         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28015         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28016         the _IOWRT flag is also set.
28017
28018 2010-05-01  Bruno Haible  <bruno@clisp.org>
28019
28020         Fix doc about a HP-UX stdio bug.
28021         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28022         * doc/posix-functions/ftello.texi: Likewise.
28023
28024 2010-05-01  Bruno Haible  <bruno@clisp.org>
28025
28026         lseek test: Fix failure on Solaris.
28027         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28028         output.
28029
28030 2010-04-30  Jim Meyering  <meyering@redhat.com>
28031
28032         bootstrap: don't ignore failure to generate po*/Makevars
28033         * build-aux/bootstrap (with_gettext): Don't ignore failure
28034         to create po/Makevars or runtime-po/Makevars.
28035
28036 2010-04-29  Eric Blake  <eblake@redhat.com>
28037
28038         headers: relax license to LGPLv2+
28039         * modules/fcntl-h (License): Relax license.
28040         * modules/getopt-posix (License): Likewise.
28041         * modules/locale (License): Likewise.
28042         * modules/math (License): Likewise.
28043         * modules/pty (License): Likewise.
28044         * modules/sched (License): Likewise.
28045         * modules/search (License): Likewise.
28046         * modules/spawn (License): Likewise.
28047         * modules/stdarg (License): Likewise.
28048         * modules/sysexits (License): Likewise.
28049
28050 2010-04-29  Jim Meyering  <meyering@redhat.com>
28051
28052         inttypes: relax license to LGPLv2+
28053         * modules/inttypes (License): Relax license.
28054
28055 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28056
28057         * top/maint.mk (indent): Run twice to produce idempotent results.
28058
28059 2010-04-28  Bruno Haible  <bruno@clisp.org>
28060
28061         getdate: Generate getdate.c in the source directory.
28062         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28063         MOSTLYCLEANFILES.
28064         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28065
28066 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28067
28068         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28069         is not declared as a const *; avoid warnings in that case.
28070
28071 2010-04-28  Eric Blake  <eblake@redhat.com>
28072
28073         canonicalize-lgpl: avoid compiler warning
28074         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28075         declaration' / 'extraneous semicolon' warning with some compilers.
28076         Reported by Andreas Gruenbacher.
28077
28078 2010-04-28  Jim Meyering  <meyering@redhat.com>
28079
28080         init.sh: ensure a more reliable exit status when exiting via trap
28081         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28082         Inspired by patches from Dmitry V. Levin.
28083         Also trap on signal 3 (SIGQUIT).
28084
28085 2010-04-27  Bruno Haible  <bruno@clisp.org>
28086
28087         Update doc about utimes().
28088         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28089         'utimens' module.
28090         Reported by Andreas Gruenbacher <agruen@suse.de>.
28091
28092 2010-04-27  Eric Blake  <eblake@redhat.com>
28093
28094         full-read, full-write: relax license
28095         * modules/full-read (License): Drop to LGPLv2+.
28096         * modules/full-write (License): Likewise.
28097         * modules/safe-read (License): Likewise.
28098         * modules/safe-write (License): Likewise.
28099
28100         pthread: mention library for linking
28101         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28102
28103 2010-04-27  Jim Meyering  <meyering@redhat.com>
28104
28105         maint.mk: fix a bug introduced in last change
28106         * top/maint.mk (gl_assured_headers_): Now that all names are on
28107         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28108         is not anchored to end of word, it should be adequate.
28109
28110         maint.mk: avoid side-effect in latest syntax-check
28111         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28112         to run commands via $(shell...), and hence to incur cost only when
28113         the new rule is actually run.
28114
28115         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28116         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28117         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28118         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28119         (gl_assured_headers_, az_, AZ_): Define.
28120         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28121
28122 2010-04-26  Jim Meyering  <jim@meyering.net>
28123             Bruno Haible  <bruno@clisp.org>
28124
28125         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28126         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28127         Prompted by an exchange with Gilles Espinasse.
28128
28129 2010-04-26  Jim Meyering  <meyering@redhat.com>
28130
28131         git-version-gen: aesthetic tweak
28132         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28133         so that the command remains on a single line.
28134
28135 2010-04-26  Eric Blake  <eblake@redhat.com>
28136
28137         git-version-gen: allow use on EBCDIC hosts
28138         * build-aux/git-version-gen (dirty): Use literal rather than tying
28139         ourselves to ascii.
28140         Reported by Steve Goetze.
28141
28142 2010-04-25  Bruno Haible  <bruno@clisp.org>
28143
28144         netdb: Add support for GNULIB_POSIXCHECK.
28145         * lib/netdb.in.h: Include warn-on-use.h.
28146         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28147         functions are used when GNULIB_POSIXCHECK is defined and the
28148         getaddrinfo module is not in use.
28149         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28150         freeaddrinfo, gai_strerror, getnameinfo are declared.
28151         * modules/netdb (Depends-on): Add warn-on-use.
28152         (Makefile.am): Include warn-on-use.h in netdb.h.
28153
28154 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28155
28156         build: avoid "make check" failure without .git/ directory
28157         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28158         there is no .git/ directory.
28159
28160 2010-04-25  Bruno Haible  <bruno@clisp.org>
28161
28162         ptsname: Fix misuse of ttyname_r.
28163         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28164         of errno.
28165
28166 2010-04-25  Bruno Haible  <bruno@clisp.org>
28167
28168         ttyname_r: Make it work on Solaris 10.
28169         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28170         if the system function has the POSIX declaration. Test whether the
28171         function fails if the buffer is less than 128 bytes large.
28172         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28173         system's ttyname_r function. Provide a reasonably large buffer.
28174         * modules/ttyname_r (Depends-on): Add extensions.
28175         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28176
28177 2010-04-25  Bruno Haible  <bruno@clisp.org>
28178
28179         Use the 'extensions' module for some more functions on Solaris.
28180         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28181         module.
28182         * doc/posix-functions/ctime_r.texi: Likewise.
28183         * doc/posix-functions/getgrgid_r.texi: Likewise.
28184         * doc/posix-functions/getgrnam_r.texi: Likewise.
28185         * doc/posix-functions/getpwnam_r.texi: Likewise.
28186         * doc/posix-functions/getpwuid_r.texi: Likewise.
28187         * doc/posix-functions/readdir_r.texi: Likewise.
28188         * doc/posix-functions/sigwait.texi: Likewise.
28189         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28190         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28191
28192 2010-04-25  Bruno Haible  <bruno@clisp.org>
28193
28194         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28195         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28196         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28197         * lib/ttyname_r.c: Include <limits.h>.
28198         (ttyname_r): Define using the system's ttyname_r function, if it exists
28199         and not on Solaris.
28200         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28201         set.
28202         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28203         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28204         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28205         Reported by Simon Josefsson.
28206
28207 2010-04-25  Bruno Haible  <bruno@clisp.org>
28208
28209         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28210         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28211         * doc/posix-functions/ctime_r.texi: Likewise.
28212         * doc/posix-functions/getgrgid_r.texi: Likewise.
28213         * doc/posix-functions/getgrnam_r.texi: Likewise.
28214         * doc/posix-functions/getlogin_r.texi: Likewise.
28215         * doc/posix-functions/getpwnam_r.texi: Likewise.
28216         * doc/posix-functions/getpwuid_r.texi: Likewise.
28217         * doc/posix-functions/readdir_r.texi: Likewise.
28218         * doc/posix-functions/sigwait.texi: Likewise.
28219         * doc/posix-functions/ttyname_r.texi: Likewise.
28220         Reported by Simon Josefsson.
28221
28222 2010-04-25  Bruno Haible  <bruno@clisp.org>
28223
28224         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28225         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28226         also to --create-testdir.
28227         (func_acceptable): Don't consider the status of *-tests modules here.
28228         (func_modules_transitive_closure): Consider it here, before including a
28229         test module.
28230         (func_import, func_create_testdir): Set inc_all_direct_tests,
28231         inc_all_indirect_tests.
28232         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28233         --create-testdir and --create-megatestdir.
28234
28235 2010-04-25  Bruno Haible  <bruno@clisp.org>
28236
28237         gnulib-tool: Add --without-*-tests options.
28238         * gnulib-tool (func_usage): Document the --without-*-tests options.
28239         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28240         excl_unportable_tests): New variables.
28241         Fail if they are specified with --import or --update.
28242         (func_acceptable): Respect the excl_*_tests variables.
28243         (func_import): Set the excl_*_tests variables to empty.
28244
28245 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28246             Bruno Haible  <bruno@clisp.org>
28247
28248         Work around a MacOS X 10.4 bug with openpty.
28249         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28250         * tests/test-openpty.c (main): Close the master side explicitly.
28251
28252 2010-04-25  Bruno Haible  <bruno@clisp.org>
28253
28254         strnlen: Fix a C++ test error on MacOS X and Solaris.
28255         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28256         the function is not declared.
28257         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28258         Simon Josefsson.
28259
28260 2010-04-24  Bruno Haible  <bruno@clisp.org>
28261
28262         Avoid a gcc warning.
28263         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28264         of correct type for %08lx directive.
28265         Reported by Eric Blake.
28266
28267 2010-04-24  Bruno Haible  <bruno@clisp.org>
28268
28269         vasnprintf: Correct errno value in case of out-of-memory.
28270         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28271         or sprintf. Use the errno value from SNPRINTF or sprintf.
28272         Reported by Ian Beckwith <ianb@erislabs.net>.
28273
28274 2010-04-24  Bruno Haible  <bruno@clisp.org>
28275
28276         ansi-c++-opt: Find correct compiler when cross-compiling.
28277         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28278         AC_CHECK_PROGS.
28279         Reported by Simon Josefsson.
28280
28281 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28282
28283         vc-list-files: Add support for subversion
28284         * build-aux/vc-list-files: Use "svn list" to generate the list of
28285         files controlled by subversion.
28286
28287 2010-04-23  Jim Meyering  <meyering@redhat.com>
28288
28289         vc-list-files tests: convert to use init.sh
28290         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28291         path_prepend_.
28292         Use Exit, not exit.
28293         Use skip_ rather than open coding it.
28294         Remove trap set-up and compare definitions.
28295         * tests/test-vc-list-files-git.sh: Likewise.
28296         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28297
28298 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28299
28300         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28301         backup files.
28302
28303 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28304
28305         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28306
28307 2010-04-20  Eric Blake  <eblake@redhat.com>
28308
28309         tests: be robust to ignored SIGPIPE
28310         * tests/test-select-in.sh: Consume all output.
28311         * tests/test-lseek.sh: Check correct exit status, while avoiding
28312         EPIPE.
28313
28314 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28315             Bruno Haible  <bruno@clisp.org>
28316
28317         visibility: Don't use -fvisibility if it leads to a warning.
28318         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28319         yes, don't pretend that visibility works if it leads to a warning.
28320         Reported by Mike Gran <spk121@yahoo.com>.
28321
28322 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28323
28324         * build-aux/bootstrap: Use "git -h" for testing for supported options
28325         instead of "git --help".  The short-form option only shows a summary,
28326         and doesn't layout the full man page.  Grep for the full option name
28327         in the summary, too.
28328
28329 2010-04-19  Bruno Haible  <bruno@clisp.org>
28330
28331         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28332         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28333         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28334         mention of RELOCATABLE_STRIP.
28335         Reported by Sylvain Beucler <beuc@beuc.net>.
28336
28337 2010-04-19  Bruno Haible  <bruno@clisp.org>
28338
28339         * lib/diffseq.h: Fix typo in comment.
28340         Reported by Eric Blake.
28341
28342 2010-04-19  Bruno Haible  <bruno@clisp.org>
28343
28344         ioctl: Move autoconf macro to a .m4 file.
28345         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28346         * modules/ioctl (Files): Add it.
28347         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28348         Reported by Ian Beckwith <ianb@erislabs.net>.
28349
28350 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28351             Bruno Haible  <bruno@clisp.org>
28352
28353         diffseq: Accommodate use-case with abstract arrays.
28354         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28355         is not defined.
28356         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28357         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28358
28359 2010-04-18  Bruno Haible  <bruno@clisp.org>
28360
28361         * doc/posix-headers/stdbool.texi: More precise wording.
28362
28363 2010-04-17  Jim Meyering  <meyering@redhat.com>
28364
28365         maint.mk: use gnu-style indentation in an embedded perl script
28366         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28367         Rename variable: s/two/last_two_bytes/
28368
28369 2010-04-16  Eric Blake  <eblake@redhat.com>
28370
28371         test-stdbool: skip test that fails with Solaris CC
28372         * tests/test-stdbool.c (f): Skip test that causes compilation
28373         error under buggy C++ compiler.
28374         * lib/stdbool.in.h: Document the limitation.
28375         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28376
28377         setenv: allow compilation with C++
28378         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28379         register keyword.
28380
28381         stdint: allow test to pass with C++
28382         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28383
28384         getopt: allow compilation with C++
28385         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28386         struct.
28387         * lib/getopt.c (_getopt_internal_r): Use correct type.
28388         Reported by Dagobert Michelson, via Joel E. Denny.
28389
28390 2010-04-16  Bruno Haible  <bruno@clisp.org>
28391
28392         Override netdb.h always.
28393         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28394         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28395         Reported by Ludovic Courtès <ludo@gnu.org>.
28396
28397 2010-04-15  Bruno Haible  <bruno@clisp.org>
28398
28399         openpty: Fix mistake from 2010-03-21.
28400         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28401         Reported by Simon Josefsson.
28402
28403 2010-04-15  Eric Blake  <eblake@redhat.com>
28404
28405         test-forkpty: fix expected signature
28406         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28407         Reported by Simon Josefsson.
28408
28409 2010-04-15  Jim Meyering  <meyering@redhat.com>
28410
28411         maint.mk: texinfo_suffix_re_: correct the default regexp
28412         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28413
28414         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28415         make it configurable via texinfo_suffix_re_.
28416
28417 2010-04-14  Eric Blake  <eblake@redhat.com>
28418
28419         strtok_r: relax license to LGPLv2+
28420         * modules/strtok_r (License): Relax license.
28421         Reported by Matthias Bolte.
28422
28423 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28424
28425         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28426         version 1.4.4 by default instead of requiring the libgcrypt
28427         version used during build.  This makes it possible to use the
28428         application with older but still binary compatible libgcrypt
28429         versions.
28430
28431 2010-04-13  Eric Blake  <eblake@redhat.com>
28432
28433         getopt-gnu: match recent glibc fixes and posix ruling
28434         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28435         '+' handling, when requesting extensions.
28436         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28437         'W;' handling.
28438         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28439         * doc/posix-functions/getopt.texi (getopt): Document this.
28440         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28441         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28442         Likewise.
28443
28444         getopt: merge bug fixes from glibc
28445         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28446         diagnostics.  Honor '+:' correctly.  Reject ';'.
28447
28448         getopt-posix: detect MacOS bug
28449         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28450         optind when missing a required argument.
28451         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28452         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28453         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28454         Likewise.
28455
28456         getopt-posix: avoid spurious failure on Solaris
28457         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28458         an indicator that setting optind=1 is sufficient for reset.
28459
28460         getopt-posix: avoid spurious failure on FreeBSD
28461         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28462         in POSIX mode, since the m4 test uses it.
28463
28464         gnulib-tool: silence warning on BSD sh
28465         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28466
28467 2010-04-13  Jim Meyering  <meyering@redhat.com>
28468
28469         doc: users.txt: GNU patch now uses gnulib
28470         * users.txt: Add patch.
28471
28472 2010-04-12  Jim Meyering  <meyering@redhat.com>
28473
28474         maint.mk: generate more concise timing data for syntax-check rules
28475         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28476         " done" from each line that reports a syntax-check test duration.
28477
28478 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28479
28480         git-version-gen: use "git update-index..." rather than "git status"
28481         * build-aux/git-version-gen: Use git update-index --refresh, not
28482         "git status".  With some versions of git, "git status" would fail
28483         to update the index and result in an unwarranted "-dirty" suffix.
28484
28485 2010-04-11  Jim Meyering  <meyering@redhat.com>
28486
28487         openat: correct formatting (no semantic change)
28488         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28489         Suggested by Bruno Haible.
28490
28491 2010-04-11  Bruno Haible  <bruno@clisp.org>
28492
28493         Stricter declaration checking in testdirs.
28494         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28495         If for_tests is true, augment AM_CPPFLAGS to define
28496         GNULIB_STRICT_CHECKING.
28497         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28498         GNULIB_STRICT_CHECKING is defined, verify that the function is
28499         declared.
28500
28501 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28502             Bruno Haible  <bruno@clisp.org>
28503
28504         libunistring: Improve configure output.
28505         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28506         Don't say "consider installing GNU libunistring" when checking again
28507         with libiconv.
28508
28509 2010-04-11  Bruno Haible  <bruno@clisp.org>
28510
28511         libunistring: Correct value of $LTLIBUNISTRING.
28512         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28513         correct the value of $LTLIBUNISTRING.
28514
28515 2010-04-11  Bruno Haible  <bruno@clisp.org>
28516
28517         havelib: Add static libraries to LIBS in the right order.
28518         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28519         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28520
28521 2010-04-11  Bruno Haible  <bruno@clisp.org>
28522
28523         libunistring: Detect libunistring also when it depends on libiconv.
28524         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28525         the second AC_LIB_HAVE_LINKFLAGS invocation.
28526
28527 2010-04-11  James Youngman  <jay@gnu.org>
28528
28529         close-stream: declare local scalars to be "const"
28530         * lib/close-stream.c (close_stream): Make boolean variables const
28531         to document the fact that we set but do not change them.
28532
28533 2010-04-11  Bruno Haible  <bruno@clisp.org>
28534
28535         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28536
28537 2010-04-11  Jim Meyering  <meyering@redhat.com>
28538
28539         maint.mk: don't include dist-check.mk
28540         * top/maint.mk: Remove bogus include directive.
28541
28542         maint.mk: improve empty-line-at-EOF check
28543         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28544         solution, rather than tail+Perl-based one.  The latter would read
28545         a few kilobytes from the end of each file, and did not handle empty
28546         files properly.
28547
28548         maint.mk: print the elapsed time for each syntax-check rule
28549         * top/maint.mk (sc_m_rules_): Save start time in a file.
28550         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28551         (local-check): Interpose the .z rules
28552
28553 2010-04-11  Jim Meyering  <meyering@redhat.com>
28554
28555         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28556         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28557         empty file with one that ends in an empty line.
28558
28559 2010-04-10  Bruno Haible  <bruno@clisp.org>
28560
28561         mkdir: Make it work on mingw64.
28562         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28563         * lib/mkdir.c: Update comment.
28564         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
28565
28566 2010-04-10  Bruno Haible  <bruno@clisp.org>
28567
28568         Don't override improved macro from newer autoconf.
28569         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28570         autoconf >= 2.62.
28571         Reported by Joel E. Denny <jdenny@clemson.edu>.
28572
28573 2010-04-10  Jim Meyering  <meyering@redhat.com>
28574
28575         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28576         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28577
28578         maint.mk: correct a diagnostic
28579         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28580         in diagnostic; now use $prohibit.
28581
28582 2010-04-10  Bruno Haible  <address@hidden>
28583
28584         fchownat: Fix a C++ test error on Solaris 8.
28585         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28586         the function does not exist.
28587
28588 2010-04-10  Bruno Haible  <bruno@clisp.org>
28589
28590         vasnprintf: Add more tests.
28591         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28592         (test_function): Test converting an invalid wide string.
28593
28594         vasnprintf: Correct handling of unconvertible wide string arguments.
28595         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28596         VASNPRINTF.
28597         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28598         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28599         smaller than the expected maximum need for the directive. Set errno to
28600         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28601         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28602         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28603         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28604         * modules/vasnprintf (Files): Add m4/printf.m4.
28605         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28606
28607 2010-04-10  Bruno Haible  <bruno@clisp.org>
28608
28609         vasnprintf: Fix crash in %ls directive.
28610         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28611         string is passed as argument to %ls, with no precision and no width.
28612         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28613
28614 2010-04-10  Bruno Haible  <bruno@clisp.org>
28615
28616         vasnprintf: Fix multiple test failures on mingw.
28617         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28618         _snprintf, or snwprintf, not _snwprintf.
28619
28620 2010-04-10  Bruno Haible  <bruno@clisp.org>
28621
28622         write: Fix a C++ test error on mingw.
28623         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28624
28625 2010-04-10  Bruno Haible  <bruno@clisp.org>
28626
28627         vasnprintf test: Reduce code duplication.
28628         * tests/test-vasnprintf.c (test_function): New function, extracted from
28629         test_vasnprintf.
28630         (test_vasnprintf, test_asnprintf): Invoke it.
28631
28632 2010-04-10  Bruno Haible  <bruno@clisp.org>
28633
28634         strnlen: Fix warning in C++ mode on MacOS X.
28635         * lib/string.in.h (strnlen): Use the modern idiom.
28636         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28637         defining strnlen as a macro already in <config.h>.
28638         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28639         REPLACE_STRNLEN.
28640         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28641         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28642
28643 2010-04-08  James Youngman  <jay@gnu.org>
28644
28645         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28646         the example.
28647
28648 2010-04-09  Jim Meyering  <meyering@redhat.com>
28649
28650         maint.mk: print better diagnostic when there is no $(_hv_file)
28651         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28652         announce that when $(_hv_file) (aka help-version) does not exist.
28653
28654         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28655         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28656         not try to interpret its random input bytes.  Jarno Rajahalme reported
28657         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28658         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28659         (mktempd_): Likewise, just in case.
28660
28661         ftruncate: add two years to projected module removal date: 2012
28662         * m4/ftruncate.m4: Adjust comments.
28663
28664         ftruncate: mark module as obsolete; even MinGW provides it, now
28665         * modules/ftruncate (Status): Obsolete.
28666         (Notice): Say that.
28667         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28668         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28669
28670 2010-04-08  Bruno Haible  <bruno@clisp.org>
28671
28672         Fix side effects from tests-related modules.
28673         * modules/dprintf-posix (Comment): New section.
28674         * modules/fprintf-posix (Comment): Likewise.
28675         * modules/obstack-printf-posix (Comment): Likewise.
28676         * modules/printf-posix (Comment): Likewise.
28677         * modules/snprintf-posix (Comment): Likewise.
28678         * modules/sprintf-posix (Comment): Likewise.
28679         * modules/vasnprintf-posix (Comment): Likewise.
28680         * modules/vasprintf-posix (Comment): Likewise.
28681         * modules/vdprintf-posix (Comment): Likewise.
28682         * modules/vfprintf-posix (Comment): Likewise.
28683         * modules/vprintf-posix (Comment): Likewise.
28684         * modules/vsnprintf-posix (Comment): Likewise.
28685         * modules/vsprintf-posix (Comment): Likewise.
28686         * modules/xprintf-posix (Comment): Likewise.
28687         * modules/xvasprintf-posix (Comment): Likewise.
28688         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28689         * modules/floorf-tests (Depends-on): Likewise.
28690         * modules/round-tests (Depends-on): Likewise.
28691         * modules/roundf-tests (Depends-on): Likewise.
28692         * modules/trunc-tests (Depends-on): Likewise.
28693         * modules/truncf-tests (Depends-on): Likewise.
28694         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28695         'fprintf-posix' module is not present.
28696         * tests/test-floorf2.c (check): Likewise.
28697         * tests/test-trunc2.c (check): Likewise.
28698         * tests/test-truncf2.c (check): Likewise.
28699         * tests/test-round2.c (equal): Likewise.
28700         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28701
28702 2010-04-07  Karl Berry  <karl@gnu.org>
28703
28704         * config/srclist.txt,
28705         * config/srclistvars.sh,
28706         * config/srclist-update: doc fixes.
28707
28708 2010-04-07  Jim Meyering  <meyering@redhat.com>
28709
28710         maint.mk: add a PATH crosschecking syntax-check rule
28711         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28712         Useful if you use a test like the one in help-version (coreutils,
28713         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28714         printed by prog --version.
28715
28716 2010-04-06  Bruno Haible  <bruno@clisp.org>
28717
28718         Fix link error on mingw.
28719         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28720         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28721
28722 2010-04-06  Bruno Haible  <bruno@clisp.org>
28723
28724         Assume rmdir exists.
28725         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28726
28727 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28728
28729         doc: update users.txt
28730         * users.txt: Add gcal.
28731
28732 2010-04-06  Jim Meyering  <meyering@redhat.com>
28733
28734         init.sh: simply unset TMPDIR rather than risking env -i
28735         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28736         although it probably works fine on all Unix-based systems, some
28737         systems (Cygwin?) cannot tolerate a totally cleared environment.
28738         Suggestion from Eric Blake.
28739
28740 2010-04-06  Jim Meyering  <meyering@redhat.com>
28741
28742         init.sh: portability fix: use env's POSIX-specified -i option not -u
28743         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28744         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28745
28746 2010-04-05  Bruno Haible  <bruno@clisp.org>
28747
28748         btowc: Work around Cygwin 1.7.2 bug.
28749         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28750         does not map NUL to 0.
28751         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28752
28753 2010-04-05  Bruno Haible  <bruno@clisp.org>
28754
28755         Make the multithread modules work on Cygwin 1.7.2.
28756         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28757         imported symbols can be declared weak, so that it returns "no" on
28758         Cygwin 1.7.2.
28759
28760 2010-04-05  Bruno Haible  <bruno@clisp.org>
28761
28762         Use the module 'strncat'.
28763         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28764
28765         Tests for module 'strncat'.
28766         * modules/strncat-tests: New file.
28767         * tests/test-strncat.c: New file.
28768
28769         New module 'strncat'.
28770         * lib/string.in.h (strncat): New declaration.
28771         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28772         * m4/strncat.m4: New file, based on m4/memchr.m4.
28773         * modules/strncat: New file.
28774         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28775         is declared.
28776         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28777         REPLACE_STRNCAT.
28778         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28779         REPLACE_STRNCAT.
28780         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28781         module.
28782         * tests/test-string-c++.cc: Check signature of strncat.
28783
28784 2010-04-05  Jim Meyering  <meyering@redhat.com>
28785
28786         xstrtoumax-tests: convert to use init.sh
28787         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28788         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28789         Use Exit, not exit.
28790         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28791
28792         xstrtoimax-tests: convert to use init.sh
28793         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28794         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28795         Use Exit, not exit.
28796         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28797
28798 2010-04-05  Bruno Haible  <bruno@clisp.org>
28799
28800         sys_socket: Avoid #define replacements in C++ mode.
28801         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28802         warning to the function if possible, rather than #defining the symbol
28803         to a dysfunctional alias.
28804
28805 2010-04-05  Bruno Haible  <bruno@clisp.org>
28806
28807         fseeko: Fix C++ test error on mingw.
28808         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28809         gl_FUNC_FSEEKO.
28810         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28811         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28812         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28813         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28814
28815 2010-04-05  Bruno Haible  <bruno@clisp.org>
28816
28817         duplocale: Improve test output.
28818         * tests/test-duplocale.c (main): Print reason for skipped test.
28819
28820 2010-04-05  Bruno Haible  <bruno@clisp.org>
28821
28822         Assume rmdir exists.
28823         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28824         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28825
28826 2010-04-05  Bruno Haible  <bruno@clisp.org>
28827
28828         Fix link error on Solaris 8 with cc.
28829         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28830
28831 2010-04-05  Bruno Haible  <bruno@clisp.org>
28832
28833         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28834         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28835
28836 2010-04-05  Bruno Haible  <bruno@clisp.org>
28837
28838         vasprintf: Update documentation.
28839         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28840
28841 2010-04-05  Bruno Haible  <bruno@clisp.org>
28842
28843         ptsname: Improve test.
28844         * tests/test-ptsname.c (main): Also try the various master names of BSD
28845         systems.
28846
28847 2010-04-05  Bruno Haible  <bruno@clisp.org>
28848
28849         memchr: Avoid a possible C++ test error.
28850         * lib/string.in.h (memchr): Provide declaration if function is missing.
28851         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28852         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28853         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28854         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28855
28856 2010-04-05  Bruno Haible  <bruno@clisp.org>
28857
28858         strtok_r: Improve idiom.
28859         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28860         AC_LIBOBJ is used.
28861
28862 2010-04-05  Bruno Haible  <bruno@clisp.org>
28863
28864         strdup: Improve idiom.
28865         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28866         AC_LIBOBJ is used.
28867         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28868         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28869         when AC_LIBOBJ is used.
28870
28871 2010-04-05  Bruno Haible  <bruno@clisp.org>
28872
28873         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28874         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28875         don't set REPLACE_MBSINIT to 1.
28876         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28877         don't set REPLACE_MBRTOWC to 1.
28878         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28879         exist, don't set REPLACE_MBSRTOWCS to 1.
28880         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28881         exist, don't set REPLACE_MBSNRTOWCS to 1.
28882         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28883         don't set REPLACE_WCRTOMB to 1.
28884         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28885         exist, don't set REPLACE_WCSRTOMBS to 1.
28886         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28887         exist, don't set REPLACE_WCSNRTOMBS to 1.
28888
28889 2010-04-05  Bruno Haible  <bruno@clisp.org>
28890
28891         ldexpl: Improve idiom.
28892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28893         make sure to set HAVE_DECL_LDEXPL to 0.
28894
28895 2010-04-05  Jim Meyering  <meyering@redhat.com>
28896
28897         xstrtol-tests: convert to use init.sh
28898         * modules/xstrtol-tests (Files): Add tests/init.sh.
28899         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28900         Use Exit, not exit.
28901         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28902
28903         atexit-tests: convert to use init.sh
28904         * modules/atexit-tests (Files): Add tests/init.sh.
28905         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28906         Use Exit, not exit.
28907         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28908
28909         init.sh: fix typo
28910         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28911
28912         init.sh: make it easier for a test script to write to the tty, ...
28913         when using automake's parallel-tests mode.
28914         * tests/init.sh (stderr_fileno_): Define overridable variable.
28915         (warn_): New function, to use it.
28916         (fail_, skip_, framework_failure_): Use warn_.
28917
28918 2010-04-04  Bruno Haible  <bruno@clisp.org>
28919
28920         btowc: Avoid warning.
28921         * lib/btowc.c: Include <stdlib.h>.
28922         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28923
28924 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28925             Bruno Haible  <bruno@clisp.org>
28926
28927         wchar: Port to NetBSD 1.5.
28928         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28929         * lib/wctype.in.h (WEOF): Likewise.
28930
28931 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28932             Bruno Haible  <bruno@clisp.org>
28933
28934         Port extended stdio to NetBSD 1.5.
28935         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28936         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28937         older.
28938
28939 2010-04-04  Bruno Haible  <bruno@clisp.org>
28940
28941         string: Remove unused substitution.
28942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28943         HAVE_DECL_STRERROR.
28944         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28945
28946 2010-04-04  Bruno Haible  <bruno@clisp.org>
28947
28948         strtod: Avoid a possible C++ test error.
28949         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28950         set REPLACE_STRTOD.
28951
28952 2010-04-04  Bruno Haible  <bruno@clisp.org>
28953
28954         strerror: Update documentation.
28955         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28956
28957 2010-04-04  Bruno Haible  <bruno@clisp.org>
28958
28959         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28960         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28961         _GL_CXXALIAS_SYS_CAST.
28962
28963 2010-04-04  Bruno Haible  <bruno@clisp.org>
28964
28965         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28966         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28967         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28968         REPLACE_FREXPL to 1.
28969         * doc/posix-functions/frexpl.texi: Update documentation.
28970
28971 2010-04-04  Bruno Haible  <bruno@clisp.org>
28972
28973         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28974         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28975
28976 2010-04-04  Bruno Haible  <bruno@clisp.org>
28977
28978         Implement nanosleep for native Windows.
28979         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28980
28981 2010-04-04  Bruno Haible  <bruno@clisp.org>
28982
28983         math: Fix some C++ test errors on Solaris 8.
28984         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28985
28986 2010-04-04  Bruno Haible  <bruno@clisp.org>
28987
28988         math: Fix some C++ test errors on Cygwin.
28989         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28990         truncl): Provide declaration if the system does not have it.
28991         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28992         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28993         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28994         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28995         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28996         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28997         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28998         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28999         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29000         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29001         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29002         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29003         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29004         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29005         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29006         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29008         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29009         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29010         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29011         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29012         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29013
29014 2010-04-04  Bruno Haible  <bruno@clisp.org>
29015
29016         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29017         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29018         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29019         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29020         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29021         * m4/isinf.m4 (gl_ISINF): Likewise.
29022         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29023
29024 2010-04-04  Bruno Haible  <bruno@clisp.org>
29025
29026         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29027         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29028
29029 2010-04-04  Bruno Haible  <bruno@clisp.org>
29030
29031         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29032         * modules/tmpfile (configure.ac): Update.
29033
29034         tmpfile: Fix C++ test error on mingw.
29035         * lib/stdio.in.h (tmpfile): New declaration.
29036         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29037         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29038         * modules/tmpfile (Depends-on): Add stdio.
29039         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29040         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29041         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29042         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29043         REPLACE_TMPFILE.
29044         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29045
29046 2010-04-04  Bruno Haible  <bruno@clisp.org>
29047
29048         ioctl: Fix C++ test error on mingw.
29049         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29050         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29051         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29052
29053 2010-04-03  Bruno Haible  <bruno@clisp.org>
29054
29055         wcwidth: Fix C++ test error on mingw.
29056         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29058         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29059
29060 2010-04-03  Bruno Haible  <bruno@clisp.org>
29061
29062         nanosleep: Fix C++ test error on mingw.
29063         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29064         * lib/time.in.h (nanosleep): Use modern idiom.
29065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29066         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29067         REPLACE_NANOSLEEP to 1.
29068         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29069         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29070
29071 2010-04-03  Bruno Haible  <bruno@clisp.org>
29072
29073         strptime: Fix C++ test error on mingw.
29074         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29075         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29076         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29077         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29078         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29079         not REPLACE_STRPTIME.
29080         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29081         REPLACE_STRPTIME.
29082
29083 2010-04-03  Bruno Haible  <bruno@clisp.org>
29084
29085         timegm: Fix C++ test error on mingw.
29086         * lib/time.in.h (timegm): Use modern idiom.
29087         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29088         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29089         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29090         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29091
29092 2010-04-03  Bruno Haible  <bruno@clisp.org>
29093
29094         timegm: Assume declaration if function exists.
29095         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29096         if it exists. Don't clobber ac_cv_func_timegm.
29097
29098 2010-04-03  Bruno Haible  <bruno@clisp.org>
29099
29100         time_r: Fix C++ test error on mingw.
29101         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29102         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29103         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29104         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29105         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29106
29107 2010-04-03  Bruno Haible  <bruno@clisp.org>
29108
29109         time_r: Minor updates.
29110         * modules/time_r (Description): Mention the provided functions.
29111         * lib/time_r.c: Don't include <string.h>.
29112         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29113         * doc/posix-functions/localtime_r.texi: Likewise.
29114
29115 2010-04-03  Bruno Haible  <bruno@clisp.org>
29116
29117         time: Fix regression introduced on 2010-03-08.
29118         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29119         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29120
29121 2010-04-03  Jim Meyering  <meyering@redhat.com>
29122
29123         maint.mk: don't silently disable project-specific syntax-check rules
29124         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29125         that they need to convert their project-specific syntax-check rules
29126         to use the new _sc_search_regexp.
29127
29128 2010-04-03  Bruno Haible  <bruno@clisp.org>
29129
29130         fchdir: Fix regression introduced on 2010-03-08.
29131         * lib/unistd.in.h (fchdir): Fix declaration.
29132         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29134         REPLACE_FCHDIR.
29135         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29136         REPLACE_FCHDIR.
29137
29138 2010-04-03  Bruno Haible  <bruno@clisp.org>
29139
29140         getpagesize: Fix C++ test error on mingw.
29141         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29142         system does not declare the function.
29143         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29144         declared.
29145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29146         HAVE_DECL_GETPAGESIZE.
29147         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29148
29149 2010-04-03  Bruno Haible  <bruno@clisp.org>
29150
29151         stdio: Make C++ tests work on mingw.
29152         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29153         does not declare the function.
29154
29155 2010-04-03  Bruno Haible  <bruno@clisp.org>
29156
29157         ftello: Fix C++ test error on mingw.
29158         * lib/stdio.in.h (ftello): Use modern idiom.
29159         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29160         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29161         is missing and that it needs to be replaced.
29162         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29163         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29164         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29165
29166 2010-04-03  Bruno Haible  <bruno@clisp.org>
29167
29168         fseeko: Fix C++ test error on mingw.
29169         * lib/stdio.in.h (fseeko): Use modern idiom.
29170         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29171         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29172         is missing and that it needs to be replaced.
29173         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29175         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29176
29177 2010-04-03  Bruno Haible  <bruno@clisp.org>
29178
29179         mkstemp: Fix C++ test error on mingw.
29180         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29181         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29182         function is missing and that it needs to be replaced.
29183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29184         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29185
29186 2010-04-03  Bruno Haible  <bruno@clisp.org>
29187
29188         stpncpy: Fix C++ test error on mingw.
29189         * lib/string.in.h (stpncpy): Use modern idiom.
29190         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29191         function is missing and that it needs to be replaced.
29192         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29193         REPLACE_STPNCPY.
29194         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29195
29196 2010-04-03  Bruno Haible  <bruno@clisp.org>
29197
29198         sys_stat: Fix C++ test error on mingw.
29199         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29200         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29201
29202 2010-04-03  Bruno Haible  <bruno@clisp.org>
29203
29204         pty: Update doc.
29205         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29206
29207 2010-04-03  Bruno Haible  <bruno@clisp.org>
29208
29209         unistd: Fix C++ test error on mingw.
29210         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29211
29212 2010-04-03  Bruno Haible  <bruno@clisp.org>
29213
29214         Update doc regarding mingw.
29215         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29216         * doc/glibc-functions/login_tty.texi: Likewise.
29217         * doc/glibc-functions/forkpty.texi: Likewise.
29218
29219 2010-04-03  Bruno Haible  <bruno@clisp.org>
29220
29221         stdlib: Avoid compilation failure of c-strtold on mingw.
29222         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29223
29224 2010-04-03  Bruno Haible  <bruno@clisp.org>
29225
29226         locale: Make C++ tests work on Cygwin and mingw.
29227         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29228         cannot provide the function.
29229         Reported by Simon Josefsson.
29230
29231 2010-04-03  Bruno Haible  <bruno@clisp.org>
29232
29233         localename: Port to MacOS X 10.6.
29234         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29235         memory layout of the locales in MacOS X 10.6 as well.
29236         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29237
29238 2010-04-02  Bruno Haible  <bruno@clisp.org>
29239
29240         gnulib-tool: Ensure that long-running tests are executed last.
29241         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29242         running tests after the one for the other tests.
29243
29244 2010-04-02  Bruno Haible  <bruno@clisp.org>
29245
29246         gnulib-tool: Ensure the tests in the main directory are executed first.
29247         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29248         start with the current directory.
29249
29250 2010-04-02  Bruno Haible  <bruno@clisp.org>
29251
29252         Tests for module 'havelib', moved here from GNU gettext.
29253         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29254         modifications.
29255         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29256         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29257         with modifications.
29258         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29259         modifications.
29260         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29261         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29262         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29263         with modifications.
29264         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29265         with modifications.
29266         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29267         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29268         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29269         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29270         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29271         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29272         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29273         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29274         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29275         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29276         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29277         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29278         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29279         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29280         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29281         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29282         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29283         with modifications.
29284         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29285         with modifications.
29286         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29287         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29288         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29289         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29290         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29291         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29292         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29293         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29294         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29295         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29296         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29297         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29298         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29299         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29300         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29301         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29302         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29303         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29304         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29305         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29306         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29307         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29308         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29309         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29310         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29311         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29312         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29313         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29314         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29315         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29316         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29317         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29318         * tests/havelib/rpathx/rpathx.c: New file, from
29319         gettext/autoconf-lib-link.
29320         * tests/havelib/rpathx/Makefile.am: New file, from
29321         gettext/autoconf-lib-link.
29322         * tests/havelib/rpathx/configure.ac: New file, from
29323         gettext/autoconf-lib-link with modifications.
29324         * tests/havelib/rpathy/rpathy.c: New file, from
29325         gettext/autoconf-lib-link.
29326         * tests/havelib/rpathy/Makefile.am: New file, from
29327         gettext/autoconf-lib-link.
29328         * tests/havelib/rpathy/configure.ac: New file, from
29329         gettext/autoconf-lib-link with modifications.
29330         * tests/havelib/rpathz/rpathz.c: New file, from
29331         gettext/autoconf-lib-link.
29332         * tests/havelib/rpathz/Makefile.am: New file, from
29333         gettext/autoconf-lib-link.
29334         * tests/havelib/rpathz/configure.ac: New file, from
29335         gettext/autoconf-lib-link with modifications.
29336         * tests/havelib/rpathlx/usex.c: New file, from
29337         gettext/autoconf-lib-link.
29338         * tests/havelib/rpathlx/Makefile.am: New file, from
29339         gettext/autoconf-lib-link.
29340         * tests/havelib/rpathlx/configure.ac: New file, from
29341         gettext/autoconf-lib-link with modifications.
29342         * tests/havelib/rpathly/usey.c: New file, from
29343         gettext/autoconf-lib-link.
29344         * tests/havelib/rpathly/Makefile.am: New file, from
29345         gettext/autoconf-lib-link.
29346         * tests/havelib/rpathly/configure.ac: New file, from
29347         gettext/autoconf-lib-link with modifications.
29348         * tests/havelib/rpathlz/usez.c: New file, from
29349         gettext/autoconf-lib-link.
29350         * tests/havelib/rpathlz/Makefile.am: New file, from
29351         gettext/autoconf-lib-link.
29352         * tests/havelib/rpathlz/configure.ac: New file, from
29353         gettext/autoconf-lib-link with modifications.
29354         * tests/havelib/rpathlyx/usey.c: New file, from
29355         gettext/autoconf-lib-link.
29356         * tests/havelib/rpathlyx/Makefile.am: New file, from
29357         gettext/autoconf-lib-link.
29358         * tests/havelib/rpathlyx/configure.ac: New file, from
29359         gettext/autoconf-lib-link with modifications.
29360         * tests/havelib/rpathlzyx/usez.c: New file, from
29361         gettext/autoconf-lib-link.
29362         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29363         gettext/autoconf-lib-link.
29364         * tests/havelib/rpathlzyx/configure.ac: New file, from
29365         gettext/autoconf-lib-link with modifications.
29366         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29367         with modifications.
29368
29369 2010-04-02  Bruno Haible  <bruno@clisp.org>
29370
29371         gnulib-tool: Create distributed built sources also for the tests.
29372         * gnulib-tool (func_create_testdir): Also generate distributed built
29373         sources in the tests directory.
29374
29375 2010-04-02  Bruno Haible  <bruno@clisp.org>
29376
29377         gnulib-tool: Obey user's environment variables.
29378         * gnulib-tool (func_create_testdir): When creating built sources,
29379         respect the environment variables for autoconf, automake, etc. given by
29380         the user.
29381
29382 2010-04-02  Bruno Haible  <bruno@clisp.org>
29383
29384         gnulib-tool: Provide the value of --m4-base to modules.
29385         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29386         of gl_m4_base.
29387
29388 2010-04-02  Eric Blake  <eblake@redhat.com>
29389
29390         maint.mk: fix some fallout
29391         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29392         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29393
29394 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29395
29396         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29397         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29398         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29399         (sc_cast_of_x_alloc_return_value): Likewise.
29400         (sc_cast_of_alloca_return_value): Likewise.
29401         (sc_space_tab): Likewise.
29402         (sc_prohibit_atoi_atof): Likewise.
29403         (sc_prohibit_magic_number_exit): Likewise.
29404         (sc_error_exit_success): Likewise.
29405         (sc_file_system): Likewise.
29406         (sc_prohibit_have_config_h): Likewise.
29407         (sc_require_config_h): Likewise.
29408         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29409         (sc_obsolete_symbols): Likewise.
29410         (sc_changelog): Likewise.
29411         (sc_program_name): Likewise.
29412         (sc_the_the): Likewise.
29413         (sc_trailing_blank): Likewise.
29414         (sc_two_space_separator_in_usage): Likewise.
29415         (sc_useless_cpp_parens): Likewise.
29416         (sc_GPL_version): Likewise.
29417         (sc_GFDL_version): Likewise.
29418         (sc_texinfo_acronym): Likewise.
29419         (sc_prohibit_cvs_keyword): Likewise.
29420         (sc_prohibit_stat_st_blocks): Likewise.
29421         (sc_prohibit_S_IS_definition): Likewise.
29422         (sc_redundant_const): Likewise.
29423         (sc_makefile_TAB_only_indentation): Likewise.
29424         (sc_m4_quote_check): Likewise.
29425         (sc_makefile_path_separator_check): Likewise.
29426         (sc_copyright_check): Likewise.
29427         (sc_Wundef_boolean): Likewise.
29428         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29429
29430         maint.mk: match 0 or more whitespace-before-function-call '('
29431         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29432         that have zero or two-and-more spaces between the function name
29433         and the open parenthesis.
29434         (sc_error_message_warn_fatal): Likewise.
29435         (sc_error_message_uppercase): Likewise.
29436         (sc_error_message_period): Likewise.
29437
29438 2010-03-31  Eric Blake  <eblake@redhat.com>
29439
29440         maint.mk: check for [ as well as test
29441         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29442         Based on a libvirt report by Matthias Bolte.
29443
29444         gnumakefile: don't squelch _version output
29445         * top/GNUmakefile (_version): Create one-shot dependency rather
29446         than using $(shell) when version must be regenerated.
29447         (_autoreconf): Run verbosely, by default.
29448
29449         sys_time: avoid compiler warnings
29450         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29451         unconditional, fixing regression from 2010-03-29.
29452         Reported by Simon Josefsson.
29453
29454 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29455
29456         maint.mk: s/_header_without_use/_sc_header_without_use/
29457         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29458         (sc_prohibit_assert_without_use): Use the new name.
29459         (sc_prohibit_close_stream_without_use): Likewise.
29460         (sc_prohibit_getopt_without_use): Likewise.
29461         (sc_prohibit_quotearg_without_use): Likewise.
29462         (sc_prohibit_quote_without_use): Likewise.
29463         (sc_prohibit_long_options_without_use): Likewise.
29464         (sc_prohibit_inttostr_without_use): Likewise.
29465         (sc_prohibit_ignore_value_without_use): Likewise.
29466         (sc_prohibit_error_without_use): Likewise.
29467         (sc_prohibit_xalloc_without_use): Likewise.
29468         (sc_prohibit_hash_without_use): Likewise.
29469         (sc_prohibit_hash_pjw_without_use): Likewise.
29470         (sc_prohibit_safe_read_without_use): Likewise.
29471         (sc_prohibit_argmatch_without_use): Likewise.
29472         (sc_prohibit_canonicalize_without_use): Likewise.
29473         (sc_prohibit_root_dev_ino_without_use): Likewise.
29474         (sc_prohibit_openat_without_use): Likewise.
29475         (sc_prohibit_c_ctype_without_use): Likewise.
29476         (sc_prohibit_signal_without_use): Likewise.
29477         (sc_prohibit_intprops_without_use): Likewise.
29478
29479 2010-03-30  Eric Blake  <eblake@redhat.com>
29480
29481         maint: improve module indicators
29482         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29483         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29484         columns, and avoid extra macro expansion.
29485
29486         fdopendir: work around FreeBSD bug
29487         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29488         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29489         * modules/dirent (Makefile.am): Substitute it.
29490         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29491         declaration.
29492         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29493         fix.
29494         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29495
29496 2010-03-29  Bruno Haible  <bruno@clisp.org>
29497
29498         Emit #pragma system_header after the inclusion guard, not before.
29499         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29500         guard that spans the entire file, not before. This enables an
29501         optimization in GCC's preprocessor.
29502         * lib/ctype.in.h: Likewise.
29503         * lib/dirent.in.h: Likewise.
29504         * lib/errno.in.h: Likewise.
29505         * lib/float.in.h: Likewise.
29506         * lib/getopt.in.h: Likewise.
29507         * lib/iconv.in.h: Likewise.
29508         * lib/langinfo.in.h: Likewise.
29509         * lib/locale.in.h: Likewise.
29510         * lib/math.in.h: Likewise.
29511         * lib/netdb.in.h: Likewise.
29512         * lib/netinet_in.in.h: Likewise.
29513         * lib/pty.in.h: Likewise.
29514         * lib/sched.in.h: Likewise.
29515         * lib/se-selinux.in.h: Likewise.
29516         * lib/search.in.h: Likewise.
29517         * lib/spawn.in.h: Likewise.
29518         * lib/stdarg.in.h: Likewise.
29519         * lib/stdint.in.h: Likewise.
29520         * lib/string.in.h: Likewise.
29521         * lib/strings.in.h: Likewise.
29522         * lib/sys_file.in.h: Likewise.
29523         * lib/sys_ioctl.in.h: Likewise.
29524         * lib/sys_time.in.h: Likewise.
29525         * lib/sys_times.in.h: Likewise.
29526         * lib/sys_utsname.in.h: Likewise.
29527         * lib/sys_wait.in.h: Likewise.
29528         * lib/sysexits.in.h: Likewise.
29529         * lib/wctype.in.h: Likewise.
29530
29531 2010-03-28  James Youngman  <jay@gnu.org>
29532
29533         save-cwd: don't leak a file descriptor when the caller execs.
29534         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29535         saved file descriptor.
29536         * modules/save-cwd (Depends-on): Depend on cloexec.
29537
29538 2010-03-29  Bruno Haible  <bruno@clisp.org>
29539
29540         Remove vestiges of fts-lgpl module.
29541         * lib/fts_.h: Assume GNULIB_FTS is 1.
29542         * lib/fts.c: Likewise.
29543         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29544
29545 2010-03-28  Bruno Haible  <bruno@clisp.org>
29546
29547         Fix definition of tests witness macro.
29548         * gnulib-tool (func_import): Fix definition of witness macro.
29549
29550 2010-03-28  Bruno Haible  <bruno@clisp.org>
29551
29552         Fix ioctl's protoype on glibc systems.
29553         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29554         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29555         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29556         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29557         signature. If not, arrange to replace the ioctl function.
29558         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29559         REPLACE_IOCTL.
29560         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29561         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29562         Reported by Ludovic Courtès <ludo@gnu.org>.
29563
29564 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29565
29566         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29567         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29568         made it so grep -r --include=GLOB* ... did not work.
29569
29570 2010-03-26  Jim Meyering  <meyering@redhat.com>
29571             Eric Blake  <eblake@redhat.com>
29572
29573         maint.mk: prohibit use of test's -o and -a operators
29574         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29575
29576 2010-03-28  Bruno Haible  <bruno@clisp.org>
29577
29578         Remove unused GNULIB_XYZ macro definitions.
29579         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29580         invocation.
29581
29582 2010-03-28  Bruno Haible  <bruno@clisp.org>
29583
29584         Mark privileged tests modules.
29585         * modules/idpriv-drop-tests (Status): New section.
29586         * modules/idpriv-droptemp-tests (Status): New section.
29587
29588 2010-03-28  Bruno Haible  <bruno@clisp.org>
29589
29590         Split C++ tests into separate tests modules.
29591         * modules/dirent-c++-tests: New file, extracted from
29592         modules/dirent-tests.
29593         * modules/dirent-tests: Depend on it.
29594         * modules/fcntl-h-c++-tests: New file, extracted from
29595         modules/fcntl-h-tests.
29596         * modules/fcntl-h-tests: Depend on it.
29597         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29598         * modules/glob-tests: Depend on it.
29599         * modules/iconv-h-c++-tests: New file, extracted from
29600         modules/iconv-h-tests.
29601         * modules/iconv-h-tests: Depend on it.
29602         * modules/langinfo-c++-tests: New file, extracted from
29603         modules/langinfo-tests.
29604         * modules/langinfo-tests: Depend on it.
29605         * modules/locale-c++-tests: New file, extracted from
29606         modules/locale-tests.
29607         * modules/locale-tests: Depend on it.
29608         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29609         * modules/math-tests: Depend on it.
29610         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29611         * modules/pty-tests: Depend on it.
29612         * modules/search-c++-tests: New file, extracted from
29613         modules/search-tests.
29614         * modules/search-tests: Depend on it.
29615         * modules/signal-c++-tests: New file, extracted from
29616         modules/signal-tests.
29617         * modules/signal-tests: Depend on it.
29618         * modules/spawn-c++-tests: New file, extracted from
29619         modules/spawn-tests.
29620         * modules/spawn-tests: Depend on it.
29621         * modules/stdio-c++-tests: New file, extracted from
29622         modules/stdio-tests.
29623         * modules/stdio-tests: Depend on it.
29624         * modules/stdlib-c++-tests: New file, extracted from
29625         modules/stdlib-tests.
29626         * modules/stdlib-tests: Depend on it.
29627         * modules/string-c++-tests: New file, extracted from
29628         modules/string-tests.
29629         * modules/string-tests: Depend on it.
29630         * modules/sys_ioctl-c++-tests: New file, extracted from
29631         modules/sys_ioctl-tests.
29632         * modules/sys_ioctl-tests: Depend on it.
29633         * modules/sys_select-c++-tests: New file, extracted from
29634         modules/sys_select-tests.
29635         * modules/sys_select-tests: Depend on it.
29636         * modules/sys_socket-c++-tests: New file, extracted from
29637         modules/sys_socket-tests.
29638         * modules/sys_socket-tests: Depend on it.
29639         * modules/sys_stat-c++-tests: New file, extracted from
29640         modules/sys_stat-tests.
29641         * modules/sys_stat-tests: Depend on it.
29642         * modules/sys_time-c++-tests: New file, extracted from
29643         modules/sys_time-tests.
29644         * modules/sys_time-tests: Depend on it.
29645         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29646         * modules/time-tests: Depend on it.
29647         * modules/unistd-c++-tests: New file, extracted from
29648         modules/unistd-tests.
29649         * modules/unistd-tests: Depend on it.
29650         * modules/wchar-c++-tests: New file, extracted from
29651         modules/wchar-tests.
29652         * modules/wchar-tests: Depend on it.
29653         * modules/wctype-c++-tests: New file, extracted from
29654         modules/wctype-tests.
29655         * modules/wctype-tests: Depend on it.
29656         Reported by Simon Josefsson.
29657
29658 2010-03-28  Bruno Haible  <bruno@clisp.org>
29659
29660         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29661         * gnulib-tool (func_exists_module): New function, extracted from
29662         func_verify_module.
29663         (func_verify_module): Use it.
29664         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29665         'foo' only if 'foo' exists.
29666         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29667         module.
29668
29669 2010-03-28  Bruno Haible  <bruno@clisp.org>
29670
29671         gnulib-tool: Add support for special categories of tests.
29672         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29673         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29674         (func_usage): Document them.
29675         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29676         inc_unportable_tests, inc_all_tests): New variables.
29677         (func_acceptable): Consider these variables.
29678         (func_modules_transitive_closure): Make it work when the 'Status' field
29679         consists of multiple words.
29680         (func_import): Store and restore the values of inc_cxx_tests,
29681         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29682         inc_all_tests in gnulib-comp.m4.
29683         (func_create_testdir): Set inc_all_tests to true.
29684         * doc/gnulib.texi (Extra tests modules): New section.
29685         Suggested by Jim Meyering.
29686
29687 2010-03-28  Bruno Haible  <bruno@clisp.org>
29688
29689         ansi-c++-opt: Allow turning off the C++ build by default.
29690         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29691         gl_CXX_CHOICE_DEFAULT_NO is defined.
29692         Requested by Eric Blake.
29693
29694 2010-03-28  Bruno Haible  <bruno@clisp.org>
29695
29696         unistd: Avoid #define replacements in C++ mode.
29697         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29698         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29699         setsockopt, shutdown, select): In C++, attach a warning to the function
29700         if possible, rather than #defining the symbol to a dysfunctional alias.
29701         Reported by John W. Eaton <jwe@gnu.org>.
29702
29703 2010-03-28  Bruno Haible  <bruno@clisp.org>
29704
29705         Fix link errors on mingw.
29706         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29707         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29708         $(LIBSOCKET).
29709         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29710         $(LIBSOCKET).
29711
29712 2010-03-28  Bruno Haible  <bruno@clisp.org>
29713             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29714
29715         lib-ignore: Determine different options for different compilers.
29716         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29717         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29718         Add comments.
29719         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29720         * NEWS: Mention the change.
29721
29722 2010-03-27  Bruno Haible  <bruno@clisp.org>
29723
29724         Remove unused GNULIB_XYZ macro definitions.
29725         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29726         * modules/fseek (configure.ac): Likewise.
29727         * modules/ioctl (configure.ac): Likewise.
29728         * modules/open (configure.ac): Likewise.
29729         * modules/stdlib-safer (configure.ac): Likewise.
29730
29731 2010-03-27  Bruno Haible  <bruno@clisp.org>
29732
29733         Add a remark about certain modules.
29734         * modules/malloc (Comment): New section.
29735         * modules/realloc (Comment): Likewise.
29736         * modules/sigpipe (Comment): Likewise.
29737
29738 2010-03-27  Bruno Haible  <bruno@clisp.org>
29739
29740         Resolve conflict between the two kinds of module indicators.
29741         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29742         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29743         * modules/canonicalize (configure.ac): Invoke
29744         gl_MODULE_INDICATOR_FOR_TESTS.
29745         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29746         GNULIB_XYZ.
29747         * tests/test-dirent-c++.cc: Likewise.
29748         * tests/test-dirent-safer.c: Likewise.
29749         * tests/test-dup2.c: Likewise.
29750         * tests/test-fchdir.c: Likewise.
29751         * tests/test-fcntl-h-c++.cc: Likewise.
29752         * tests/test-getopt.c: Likewise.
29753         * tests/test-getopt.h: Likewise.
29754         * tests/test-langinfo-c++.cc: Likewise.
29755         * tests/test-locale-c++.cc: Likewise.
29756         * tests/test-math-c++.cc: Likewise.
29757         * tests/test-pty-c++.cc: Likewise.
29758         * tests/test-search-c++.cc: Likewise.
29759         * tests/test-signal-c++.cc: Likewise.
29760         * tests/test-spawn-c++.cc: Likewise.
29761         * tests/test-stdio-c++.cc: Likewise.
29762         * tests/test-stdlib-c++.cc: Likewise.
29763         * tests/test-string-c++.cc: Likewise.
29764         * tests/test-sys_ioctl-c++.cc: Likewise.
29765         * tests/test-sys_select-c++.cc: Likewise.
29766         * tests/test-sys_socket-c++.cc: Likewise.
29767         * tests/test-sys_stat-c++.cc: Likewise.
29768         * tests/test-sys_time-c++.cc: Likewise.
29769         * tests/test-time-c++.cc: Likewise.
29770         * tests/test-unistd-c++.cc: Likewise.
29771         * tests/test-wchar-c++.cc: Likewise.
29772         * tests/uninorm/test-u8-nfc.c: Likewise.
29773         * tests/uninorm/test-u8-nfd.c: Likewise.
29774         * tests/uninorm/test-u8-nfkc.c: Likewise.
29775         * tests/uninorm/test-u8-nfkd.c: Likewise.
29776         * tests/uninorm/test-u16-nfc.c: Likewise.
29777         * tests/uninorm/test-u16-nfd.c: Likewise.
29778         * tests/uninorm/test-u16-nfkc.c: Likewise.
29779         * tests/uninorm/test-u16-nfkd.c: Likewise.
29780         * tests/uninorm/test-u32-nfc.c: Likewise.
29781         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29782         * tests/uninorm/test-u32-nfd.c: Likewise.
29783         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29784         * tests/uninorm/test-u32-nfkc.c: Likewise.
29785         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29786         * tests/uninorm/test-u32-nfkd.c: Likewise.
29787         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29788         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29789
29790 2010-03-27  Bruno Haible  <bruno@clisp.org>
29791
29792         Distinguish two kinds of module indicators.
29793         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29794         gl_MODULE_INDICATOR.
29795         (gl_MODULE_INDICATOR): New macro.
29796         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29797         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29798         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29799         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29800         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29801         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29802         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29803         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29804         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29805         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29806         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29807         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29808         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29809         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29810         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29811         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29812         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29813         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29814         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29815         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29816         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29817         * modules/cloexec (configure.ac): Likewise.
29818         * modules/getopt-gnu (configure.ac): Likewise.
29819         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29820         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29821         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29822         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29823
29824 2010-03-27  Bruno Haible  <bruno@clisp.org>
29825
29826         New module description field 'Comment'.
29827         * gnulib-tool: New option --extract-comment.
29828         (func_usage): Document it.
29829         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29830         (func_get_comment): New function.
29831         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29832
29833 2010-03-27  Bruno Haible  <bruno@clisp.org>
29834
29835         Addendum to 2010-02-07 commit.
29836         * gnulib-tool (func_usage): Document --extract-applicability option.
29837
29838 2010-03-27  Bruno Haible  <bruno@clisp.org>
29839
29840         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29841         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29842         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29843         rather than link errors.
29844
29845 2010-03-27  Bruno Haible  <bruno@clisp.org>
29846
29847         Avoid side effects from tests-related modules on the compilation of lib.
29848         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29849         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29850         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29851         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29852         macro.
29853         (func_import): Define a witness macro. Assign it a value that depends
29854         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29855         tests-related modules.
29856         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29857         Reported by Jim Meyering.
29858
29859 2010-03-27  Bruno Haible  <bruno@clisp.org>
29860
29861         Factorize common .m4 code.
29862         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29863         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29864         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29865         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29866         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29867         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29868         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29869         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29870         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29871         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29872         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29873         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29874         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29875         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29876         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29877         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29878         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29879         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29880         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29881         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29882         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29883         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29884         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29885         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29886         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29887         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29888         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29889         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29890         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29891         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29892         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29893         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29894
29895 2010-03-27  Bruno Haible  <bruno@clisp.org>
29896
29897         Fix a compilation error on Cygwin with g++ >= 4.3.
29898         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29899         if it is undefined or if we alias it to chmod.
29900         (lstat): Don't warn about the use of this function if it is undefined
29901         or if we alias it to stat.
29902         Reported by Simon Josefsson.
29903
29904 2010-03-27  Bruno Haible  <bruno@clisp.org>
29905
29906         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29907         * modules/getlogin (configure.ac): Update.
29908
29909         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29910         * modules/getlogin_r (configure.ac): Update.
29911
29912         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29913         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29914         * modules/inet_ntop (configure.ac): Update.
29915
29916         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29917         * modules/inet_pton (configure.ac): Update.
29918
29919         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29920         * modules/mbslen (configure.ac): Update.
29921
29922         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29923         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29924         * modules/forkpty (configure.ac): Update.
29925         * modules/openpty (configure.ac): Update.
29926
29927 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29928
29929         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29930         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29931
29932 2010-03-25  Eric Blake  <eblake@redhat.com>
29933
29934         maint: use pragma consistently across replacement headers
29935         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29936         * lib/dirent.in.h (system_header): Likewise.
29937         * lib/errno.in.h (system_header): Likewise.
29938         * lib/float.in.h (system_header): Likewise.
29939         * lib/getopt.in.h (system_header): Likewise.
29940         * lib/iconv.in.h (system_header): Likewise.
29941         * lib/inttypes.in.h (system_header): Likewise.
29942         * lib/langinfo.in.h (system_header): Likewise.
29943         * lib/locale.in.h (system_header): Likewise.
29944         * lib/math.in.h (system_header): Likewise.
29945         * lib/netdb.in.h (system_header): Likewise.
29946         * lib/netinet_in.in.h (system_header): Likewise.
29947         * lib/pty.in.h (system_header): Likewise.
29948         * lib/sched.in.h (system_header): Likewise.
29949         * lib/se-selinux.in.h (system_header): Likewise.
29950         * lib/search.in.h (system_header): Likewise.
29951         * lib/spawn.in.h (system_header): Likewise.
29952         * lib/stdarg.in.h (system_header): Likewise.
29953         * lib/stdint.in.h (system_header): Likewise.
29954         * lib/string.in.h (system_header): Likewise.
29955         * lib/strings.in.h (system_header): Likewise.
29956         * lib/sys_file.in.h (system_header): Likewise.
29957         * lib/sys_ioctl.in.h (system_header): Likewise.
29958         * lib/sys_socket.in.h (system_header): Likewise.
29959         * lib/sys_times.in.h (system_header): Likewise.
29960         * lib/sys_utsname.in.h (system_header): Likewise.
29961         * lib/sys_wait.in.h (system_header): Likewise.
29962         * lib/sysexits.in.h (system_header): Likewise.
29963         * lib/unistd.in.h (system_header): Likewise.
29964         * lib/wctype.in.h (system_header): Likewise.
29965
29966         arpa/inet: fix mingw compilation warning
29967         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29968         Reported by Matthew Bolte.
29969
29970 2010-03-25  Bruno Haible  <bruno@clisp.org>
29971
29972         Avoid collision between gnulib wrapper and libintl wrapper.
29973         * lib/printf.c (printf): Don't define if a printf wrapper is already
29974         defined in intl/printf.c.
29975         Reported by Michel Boaventura <michel@michelboaventura.com>.
29976
29977 2010-03-25  Bruno Haible  <bruno@clisp.org>
29978
29979         Use ANSI C.
29980         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29981
29982 2010-03-25  Bruno Haible  <bruno@clisp.org>
29983
29984         Minor formatting changes.
29985         * lib/acosl.c: Insert space before function argument list.
29986         * lib/argz.c: Likewise.
29987         * lib/asinl.c: Likewise.
29988         * lib/expl.c: Likewise.
29989         * lib/gen-uni-tables.c: Likewise.
29990         * lib/gettext.h: Likewise.
29991         * lib/glthread/lock.h: Likewise.
29992         * lib/tanl.c: Likewise.
29993         * lib/uniname/uniname.c: Likewise.
29994         * tests/test-idpriv-drop.c: Likewise.
29995         * tests/test-idpriv-droptemp.c: Likewise.
29996         * tests/test-lock.c: Likewise.
29997         * tests/test-tls.c: Likewise.
29998         * lib/argp-help.c: Insert space before function-like macro argument
29999         list.
30000         * lib/memcmp.c: Likewise.
30001         * tests/test-base64.c: Likewise.
30002         * lib/localename.c: Insert space before sizeof's argument list.
30003         * lib/safe-alloc.h: Likewise.
30004         * lib/file-set.h: Insert space before macro argument list.
30005         * tests/test-argp.c: Likewise.
30006         * lib/argp-namefrob.h: Insert space before function parameter list.
30007         * lib/getaddrinfo.c: Likewise.
30008         * lib/netdb.in.h: Likewise.
30009         * lib/parse-duration.h: Likewise.
30010         * lib/parse-duration.c: Likewise.
30011         * lib/poll.c: Likewise.
30012         * lib/select.c: Likewise.
30013         * lib/trim.h: Likewise.
30014         * tests/test-usleep.c: Likewise.
30015         * lib/ldexpl.c: Insert space before function parameter list and before
30016         function argument list.
30017         * lib/logl.c: Likewise.
30018         * lib/sqrtl.c: Likewise.
30019         * lib/trim.c: Likewise.
30020         * lib/cosl.c: Use GNU style indentation. Insert space before function
30021         argument list.
30022         * lib/sinl.c: Likewise.
30023         * lib/tsearch.c: Insert space after 'for'.
30024         Reported by Jim Meyering.
30025
30026 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30027
30028         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30029         config header before grepping, as it's not present before
30030         autoreconf/configure are run.  Reported by Simon Josefsson.
30031
30032 2010-03-23  Bruno Haible  <bruno@clisp.org>
30033
30034         pt_chown: Make it work with automake < 1.11.
30035         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30036         Reported by Simon Josefsson.
30037
30038 2010-03-23  Bruno Haible  <bruno@clisp.org>
30039
30040         pt_chown: Don't depend on GPLed modules.
30041         * lib/pt_chown.c: Don't include idpriv.h.
30042         (main): Don't drop privileges.
30043         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30044         Reported by Simon Josefsson.
30045
30046 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30047
30048         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30049         suggestions from karl@freefriends.org (Karl Berry).
30050
30051 2010-03-22  Eric Blake  <eblake@redhat.com>
30052
30053         gethostname: further tweaks
30054         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30055         are overriding gethostname.
30056         Suggested by Bruno Haible.
30057
30058 2010-03-21  Bruno Haible  <bruno@clisp.org>
30059
30060         Fix comments.
30061         * lib/forkpty.c (rpl_forkpty): Fix comment.
30062         * lib/openpty.c (rpl_openpty): Likewise.
30063         Reported by Eric Blake.
30064
30065 2010-03-22  Eric Blake  <eblake@redhat.com>
30066
30067         gethostname: fix build on mingw
30068         * lib/unistd.in.h (includes): Work around fact that mingw
30069         <winsock2.h> re-includes <unistd.h>, by avoiding any
30070         redeclarations if we are being included by <winsock2.h>.
30071         Reported by Matthias Bolte.
30072
30073 2010-03-21  Bruno Haible  <bruno@clisp.org>
30074
30075         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30076         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30077         modifications.
30078         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30079         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30080         provide the replacement.
30081         * modules/forkpty (Depends-on): Add openpty, login_tty.
30082         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30083         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30084         * doc/glibc-functions/forkpty.texi: More supported platforms.
30085         * config/srclist.txt: Add forkpty.c (commented).
30086
30087 2010-03-21  Bruno Haible  <bruno@clisp.org>
30088
30089         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30090         (Makefile.am): Verify that PTY_LIB is defined.
30091
30092         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30093
30094 2010-03-21  Bruno Haible  <bruno@clisp.org>
30095
30096         Tests for module 'login_tty'.
30097         * modules/login_tty-tests: New file.
30098         * tests/test-login_tty.c: New file.
30099
30100         New module 'login_tty'.
30101         * lib/login_tty.c: New file.
30102         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30103         * modules/login_tty: New file.
30104         * doc/glibc-functions/login_tty.texi: Mention the new module.
30105
30106 2010-03-21  Bruno Haible  <bruno@clisp.org>
30107
30108         login_tty: Documentation.
30109         * doc/glibc-functions/login_tty.texi: New file.
30110         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30111
30112 2010-03-21  Bruno Haible  <bruno@clisp.org>
30113
30114         pty: Consistent macro naming.
30115         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30116         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30117         * modules/pty (configure.ac): Update.
30118
30119 2010-03-21  Bruno Haible  <bruno@clisp.org>
30120
30121         Tests for openpty: Make stricter.
30122         * tests/test-openpty.c (main): Add test of canonical processing and
30123         erase.
30124         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30125
30126         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30127         * lib/openpty.c (openpty): New replacement function.
30128         * lib/pty.in.h: Include <termios.h>.
30129         (openpty): Update declaration. Add comments.
30130         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30131         is not declared, arrange to provide the replacement. Check for _getpty
30132         and posix_openpt.
30133         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30134         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30135         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30136         * modules/pty-tests (test_pty_c___LDADD): New variable.
30137         * doc/glibc-functions/openpty.texi: More supported platforms.
30138
30139 2010-03-21  Bruno Haible  <bruno@clisp.org>
30140
30141         setenv: Tweaks.
30142         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30143         the test program.
30144         * doc/posix-functions/setenv.texi: Update platforms list.
30145
30146 2010-03-21  Bruno Haible  <bruno@clisp.org>
30147
30148         New module 'unlockpt'.
30149         * lib/unlockpt.c: New file, from glibc with modifications.
30150         * m4/unlockpt.m4: New file.
30151         * modules/unlockpt: New file.
30152         * lib/stdlib.in.h (unlockpt): New declaration.
30153         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30154         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30155         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30156         HAVE_UNLOCKPT.
30157         * doc/posix-functions/unlockpt.texi: Mention the new module.
30158         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30159         * config/srclist.txt: Add unlockpt.c (commented).
30160
30161 2010-03-21  Jim Meyering  <meyering@redhat.com>
30162
30163         maint.mk: prohibit inclusion of "intprops.h" without use
30164         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30165
30166 2010-03-21  Bruno Haible  <bruno@clisp.org>
30167
30168         New module 'grantpt'.
30169         * lib/grantpt.c: New file, from glibc with modifications.
30170         * m4/grantpt.m4: New file.
30171         * modules/grantpt: New file.
30172         * lib/stdlib.in.h (grantpt): New declaration.
30173         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30174         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30175         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30176         HAVE_GRANTPT.
30177         * doc/posix-functions/grantpt.texi: Mention the new module.
30178         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30179         * config/srclist.txt: Add grantpt.c (commented).
30180
30181 2010-03-21  Bruno Haible  <bruno@clisp.org>
30182
30183         New module 'pt_chown'.
30184         * lib/pt_chown.c: New file, from glibc with modifications.
30185         * lib/pty-private.h: New file, from glibc with modifications.
30186         * modules/pt_chown: New file.
30187         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30188
30189 2010-03-21  Bruno Haible  <bruno@clisp.org>
30190
30191         Tests for module 'ptsname'.
30192         * modules/ptsname-tests: New file.
30193         * tests/test-ptsname.c: New file.
30194
30195         New module 'ptsname'.
30196         * lib/ptsname.c: New file, from glibc with modifications.
30197         * m4/ptsname.m4: New file.
30198         * modules/ptsname: New file.
30199         * lib/stdlib.in.h (ptsname): New declaration.
30200         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30201         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30202         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30203         HAVE_PTSNAME.
30204         * doc/posix-functions/ptsname.texi: Mention the new module.
30205         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30206         * config/srclist.txt: Add ptsname.c (commented).
30207
30208 2010-03-21  Bruno Haible  <bruno@clisp.org>
30209
30210         Tests for module 'ttyname_r'.
30211         * modules/ttyname_r-tests: New file.
30212         * tests/test-ttyname_r.c: New file.
30213
30214         New module 'ttyname_r'.
30215         * lib/ttyname_r.c: New file.
30216         * m4/ttyname_r.m4: New file.
30217         * modules/ttyname_r: New file.
30218         * lib/unistd.in.h (ttyname_r): New declaration.
30219         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30220         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30221         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30222         HAVE_TTYNAME_R.
30223         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30224         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30225
30226 2010-03-20  Bruno Haible  <bruno@clisp.org>
30227
30228         signal: Undefine macro definitions in C++ mode.
30229         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30230         sigfillset): Undefine macro definitions from the system header in C++
30231         mode.
30232         Reported by John W. Eaton <jwe@gnu.org>.
30233
30234 2010-03-20  Bruno Haible  <bruno@clisp.org>
30235
30236         Ensure no #include statements inside extern "C" { ... }.
30237         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30238         contain #include statements.
30239         * lib/time.in.h: Likewise.
30240
30241 2010-03-20  Bruno Haible  <bruno@clisp.org>
30242
30243         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30244         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30245         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30246         Reported by John W. Eaton <jwe@gnu.org>.
30247
30248 2010-03-20  Bruno Haible  <bruno@clisp.org>
30249
30250         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30251         Reported by Jim Meyering.
30252
30253 2010-03-20  Bruno Haible  <bruno@clisp.org>
30254
30255         pipe: Set errno upon failure.
30256         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30257         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30258         errno value in error message.
30259
30260 2010-03-20  Bruno Haible  <bruno@clisp.org>
30261             Jim Meyering  <meyering@redhat.com>
30262
30263         lchown: Avoid "unused variable" warning.
30264         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30265
30266 2010-03-20  Bruno Haible  <bruno@clisp.org>
30267
30268         Work around unlink() bug on MacOS X 10.5.6.
30269         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30270         attempting to unlink a parent directory.
30271         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30272         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30273         activate for the replacement function.
30274         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30275
30276 2010-03-20  Bruno Haible  <bruno@clisp.org>
30277
30278         Fix link errors on Solaris 8.
30279         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30280         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30281
30282 2010-03-19  Jim Meyering  <meyering@redhat.com>
30283
30284         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30285         The _LIBC implementation of build_range_exp correctly honors the
30286         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30287         However, the non-_LIBC implementation would ignore that syntax-bit
30288         flag and return REG_ERANGE unconditionally.
30289         This change makes it honor that flag.
30290         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30291         Make two pointer parameters "const".
30292         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30293         (parse_bracket_exp): Update caller.
30294
30295         regex.m4: correct the reversed range endpoint ([b-a]) test
30296         * m4/regex.m4: When requiring that [b-a] evoke failure,
30297         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30298         test pass once again for x86-based systems.
30299
30300 2010-03-19  Bruno Haible  <bruno@clisp.org>
30301
30302         scandir: Fix link error on Solaris 8.
30303         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30304         macros.
30305
30306 2010-03-19  Bruno Haible  <bruno@clisp.org>
30307
30308         getusershell: Fix documentation.
30309         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30310         module.
30311         * doc/glibc-functions/setusershell.texi: Likewise.
30312
30313         getusershell: Provide declaration, missing on Solaris 9.
30314         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30315         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30316         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30317         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30319         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30320         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30321         HAVE_GETUSERSHELL.
30322         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30323
30324 2010-03-19  Bruno Haible  <bruno@clisp.org>
30325
30326         wctype: Provide iswblank function.
30327         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30328         exists and is fine.
30329         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30330         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30331         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30332         * doc/posix-functions/iswblank.texi: Update.
30333
30334 2010-03-19  Bruno Haible  <bruno@clisp.org>
30335
30336         Tests of module 'pty' in C++ mode.
30337         * modules/pty-tests: New file.
30338         * tests/test-pty-c++.cc: New file.
30339         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30340
30341 2010-03-19  Eric Blake  <eblake@redhat.com>
30342
30343         logb: fix documentation
30344         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30345         1.5 declaration bug.
30346
30347         forkpty, openpty: prefer glibc's const-safe prototype
30348         * lib/forkpty.c (rpl_forkpty): New file.
30349         * lib/openpty.c (rpl_openpty): Likewise.
30350         * modules/forkpty (Files): Distribute it.
30351         * modules/openpty (Files): Likewise.
30352         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30353         check...
30354         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30355         replacement for for non-const BSD signature.
30356         * modules/pty (Makefile.am): Substitute witnesses.
30357         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30358         * tests/test-forkpty.c: Update signature check.
30359         * tests/test-openpty.c: Likewise.
30360         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30361         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30362
30363         forkpty, openpty: split functions into new modules
30364         * modules/pty (Makefile.am): Substitute new witnesses.
30365         (Libraries): Move library detection...
30366         * modules/forkpty: ...into new module.
30367         * modules/openpty: Another new module.
30368         * modules/pty-tests: Rename and split...
30369         * modules/forkpty-tests: ...to this...
30370         * modules/openpty-tests: ...and this.
30371         * tests/test-pty.c: Rename and split...
30372         * tests/test-forkpty.c: ...to this...
30373         * tests/test-openpty.c: ...and this.
30374         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30375         (gl_PTY): Split library searching...
30376         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30377         (gl_FORKPTY, gl_OPENPTY): New macros.
30378         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30379         * NEWS: Mention the split.
30380         * MODULES.html.sh (Misc): Document the modules.
30381         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30382         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30383
30384         pty: improve replacement header
30385         * lib/pty.in.h: New file.
30386         * modules/pty (Files): Ship it.
30387         (Makefile.am): Always build replacement.
30388         * m4/pty.m4: Rename...
30389         * m4/pty_h.m4: ...to this.
30390         (gl_PTY): Modernize setting of witness macros; update check of
30391         forkpty to take proper advantage of cache.
30392         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30393
30394         getopt: avoid compiler warning
30395         * lib/getopt.c (attribute_hidden): Remove unused macro.
30396
30397 2010-03-18  Bruno Haible  <bruno@clisp.org>
30398
30399         Fix link errors on Solaris 8.
30400         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30401         * modules/search-tests (test_search_c___LDADD): Likewise.
30402         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30403         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30404         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30405         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30406         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30407         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30408         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30409
30410 2010-03-18  Bruno Haible  <bruno@clisp.org>
30411
30412         Fix bug introduced on 2010-03-14.
30413         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30414         (gl_SPAWN_H): Require it.
30415         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30416         Reported by Simon Josefsson.
30417
30418 2010-03-18  Bruno Haible  <bruno@clisp.org>
30419
30420         Fix typo introduced on 2009-12-31.
30421         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30422         posix_spawn_file_actions_adddup2.
30423
30424 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30425         and Eric Blake  <eblake@redhat.com>
30426
30427         test-vc-list-files-git: make more robust
30428         * tests/test-vc-list-files-git.sh: Unset problematic environment
30429         variables.  Chain commands together.
30430
30431 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30432
30433         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30434         `AC_CHECK_DECL' invocation.
30435
30436 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30437
30438         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30439         appears before executable statements. Suggested by Petr Sumbera
30440         <Petr.Sumbera@Sun.COM>.
30441
30442 2010-03-14  Bruno Haible  <bruno@clisp.org>
30443
30444         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30445         portability problems. Instead use a simpler test.
30446         (main): Check that invalid arguments are rejected only on Linux.
30447
30448 2010-03-14  Bruno Haible  <bruno@clisp.org>
30449
30450         Fix bug introduced on 2009-12-31.
30451         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30452         gl_PREREQ_SYS_H_WINSOCK2 always.
30453         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30454         SYS_SOCKET_H variable.
30455         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30456         Update comments.
30457         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30458         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30459         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30460         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30461         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30462
30463 2010-03-14  Bruno Haible  <bruno@clisp.org>
30464
30465         Fix values returned by sinl, cosl.
30466         * lib/trigl.h: Add specification comments.
30467         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30468         that combines the values from the precomputed table with the values of
30469         the Chebyshev polynomials.
30470
30471 2010-03-14  Bruno Haible  <bruno@clisp.org>
30472
30473         Fix compilation error when modules 'posix_spawn[p]' are not used.
30474         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30475         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30476
30477 2010-03-14  Bruno Haible  <bruno@clisp.org>
30478
30479         Fix compilation error on mingw when module 'time_r' is not used.
30480         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30481         is 1.
30482         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30483         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30484         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30485         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30486
30487 2010-03-14  Bruno Haible  <bruno@clisp.org>
30488
30489         Fix compilation error with Sun C.
30490         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30491         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30492         instead of GCC specific ULONG_LONG_MAX.
30493         * lib/xstrtoll.c: Likewise.
30494         * lib/xstrtoull.c: Likewise.
30495
30496 2010-03-13  Bruno Haible  <bruno@clisp.org>
30497
30498         Allow the user to disable C++ code and tests.
30499         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30500         (gl_PROG_ANSI_CXX): Require it.
30501
30502 2010-03-13  Bruno Haible  <bruno@clisp.org>
30503
30504         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30505         cases.
30506
30507 2010-03-13  Bruno Haible  <bruno@clisp.org>
30508
30509         Test that gnulib does not break the standard C++ headers.
30510         * tests/test-locale-c++2.cc: New file.
30511         * modules/locale-tests (Files): Add it.
30512         (Makefile.am): Compile it for test-locale-c++.
30513         * tests/test-math-c++2.cc: New file.
30514         * modules/math-tests (Files): Add it.
30515         (Makefile.am): Compile it for test-math-c++.
30516         * tests/test-signal-c++2.cc: New file.
30517         * modules/signal-tests (Files): Add it.
30518         (Makefile.am): Compile it for test-signal-c++.
30519         * tests/test-stdio-c++2.cc: New file.
30520         * modules/stdio-tests (Files): Add it.
30521         (Makefile.am): Compile it for test-stdio-c++.
30522         * tests/test-stdlib-c++2.cc: New file.
30523         * modules/stdlib-tests (Files): Add it.
30524         (Makefile.am): Compile it for test-stdlib-c++.
30525         * tests/test-string-c++2.cc: New file.
30526         * modules/string-tests (Files): Add it.
30527         (Makefile.am): Compile it for test-string-c++.
30528         * tests/test-time-c++2.cc: New file.
30529         * modules/time-tests (Files): Add it.
30530         (Makefile.am): Compile it for test-time-c++.
30531         Reported by John W. Eaton <jwe@gnu.org>.
30532
30533 2010-03-13  Bruno Haible  <bruno@clisp.org>
30534
30535         * gnulib-tool (func_usage): Clarify which options are available for
30536         --create-testdir and --create-megatestdir.
30537
30538 2010-03-13  Bruno Haible  <bruno@clisp.org>
30539
30540         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30541         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30542         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30543         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30544         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30545         when appropriate.
30546         Reported by Jim Meyering.
30547
30548 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30549
30550         * gnulib-tool (func_import): Explain origin of code.
30551
30552 2010-03-12  Bruno Haible  <bruno@clisp.org>
30553
30554         Fix problem with automake's definition of CXXLINK.
30555         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30556         Reported by Simon Josefsson and Ludovic Courtès.
30557
30558 2010-03-12  Bruno Haible  <bruno@clisp.org>
30559
30560         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30561         stable releases.
30562
30563 2010-03-11  Bruno Haible  <bruno@clisp.org>
30564
30565         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30566         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30567         whether the system provides one variant or multiple variants of the
30568         function.
30569         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30570         C++ compilers.
30571         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30572         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30573         Reported by Jim Meyering.
30574
30575 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30576
30577         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30578
30579 2010-03-08  Bruno Haible  <bruno@clisp.org>
30580
30581         gnulib-tool: Add support for --libtool in --create-testdir.
30582         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30583         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30584
30585 2010-03-08  Eric Blake  <eblake@redhat.com>
30586
30587         gnulib-tool.texi: mention possibility of git submodule
30588         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30589         submodules.
30590         * doc/.gitignore: Ignore another generated file.
30591
30592 2010-03-08  Karl Berry  <karl@gnu.org>
30593
30594         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30595         of committing gnulib files while skipping others.
30596
30597 2010-03-07  Bruno Haible  <bruno@clisp.org>
30598
30599         Tests of module 'wctype' in C++ mode.
30600         * tests/test-wctype-c++.cc: New file.
30601         * modules/wctype-tests (Files): Add it and tests/signature.h.
30602         (Depends-on): Add ansi-c++-opt.
30603         (Makefile.am): Arrange to compile and run test-wctype-c++.
30604
30605         Tests of module 'wchar' in C++ mode.
30606         * tests/test-wchar-c++.cc: New file.
30607         * modules/wchar-tests (Files): Add it and tests/signature.h.
30608         (Depends-on): Add ansi-c++-opt.
30609         (Makefile.am): Arrange to compile and run test-wchar-c++.
30610         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30611         gl_MODULE_INDICATOR.
30612
30613         Tests of module 'unistd' in C++ mode.
30614         * tests/test-unistd-c++.cc: New file.
30615         * modules/unistd-tests (Files): Add it and tests/signature.h.
30616         (Depends-on): Add ansi-c++-opt.
30617         (Makefile.am): Arrange to compile and run test-unistd-c++.
30618         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30619         gl_MODULE_INDICATOR.
30620
30621         Tests of module 'time' in C++ mode.
30622         * tests/test-time-c++.cc: New file.
30623         * modules/time-tests (Files): Add it and tests/signature.h.
30624         (Depends-on): Add ansi-c++-opt.
30625         (Makefile.am): Arrange to compile and run test-time-c++.
30626         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30627
30628         Tests of module 'sys_time' in C++ mode.
30629         * tests/test-sys_time-c++.cc: New file.
30630         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30631         (Depends-on): Add ansi-c++-opt.
30632         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30633         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30634         gl_MODULE_INDICATOR.
30635
30636         Tests of module 'sys_stat' in C++ mode.
30637         * tests/test-sys_stat-c++.cc: New file.
30638         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30639         (Depends-on): Add ansi-c++-opt.
30640         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30641         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30642         gl_MODULE_INDICATOR.
30643
30644         Tests of module 'sys_socket' in C++ mode.
30645         * tests/test-sys_socket-c++.cc: New file.
30646         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30647         (Depends-on): Add ansi-c++-opt.
30648         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30649         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30650         gl_MODULE_INDICATOR.
30651
30652         Tests of module 'sys_select' in C++ mode.
30653         * tests/test-sys_select-c++.cc: New file.
30654         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30655         (Depends-on): Add ansi-c++-opt.
30656         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30657         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30658         gl_MODULE_INDICATOR.
30659
30660         Tests of module 'sys_ioctl' in C++ mode.
30661         * tests/test-sys_ioctl-c++.cc: New file.
30662         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30663         (Depends-on): Add ansi-c++-opt.
30664         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30665         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30666         gl_MODULE_INDICATOR.
30667
30668         Tests of module 'string' in C++ mode.
30669         * tests/test-string-c++.cc: New file.
30670         * modules/string-tests (Files): Add it and tests/signature.h.
30671         (Depends-on): Add ansi-c++-opt.
30672         (Makefile.am): Arrange to compile and run test-string-c++.
30673         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30674         gl_MODULE_INDICATOR.
30675
30676         Tests of module 'stdlib' in C++ mode.
30677         * tests/test-stdlib-c++.cc: New file.
30678         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30679         (Depends-on): Add ansi-c++-opt.
30680         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30681         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30682         gl_MODULE_INDICATOR.
30683
30684         Tests of module 'stdio' in C++ mode.
30685         * tests/test-stdio-c++.cc: New file.
30686         * modules/stdio-tests (Files): Add it and tests/signature.h.
30687         (Depends-on): Add ansi-c++-opt.
30688         (Makefile.am): Arrange to compile and run test-stdio-c++.
30689         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30690         gl_MODULE_INDICATOR.
30691
30692         Tests of module 'spawn' in C++ mode.
30693         * tests/test-spawn-c++.cc: New file.
30694         * modules/spawn-tests (Files): Add it and tests/signature.h.
30695         (Depends-on): Add ansi-c++-opt.
30696         (Makefile.am): Arrange to compile and run test-spawn-c++.
30697         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30698         gl_MODULE_INDICATOR.
30699
30700         Tests of module 'signal' in C++ mode.
30701         * tests/test-signal-c++.cc: New file.
30702         * modules/signal-tests (Files): Add it and tests/signature.h.
30703         (Depends-on): Add ansi-c++-opt.
30704         (Makefile.am): Arrange to compile and run test-signal-c++.
30705         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30706         gl_MODULE_INDICATOR.
30707
30708         Tests of module 'search' in C++ mode.
30709         * tests/test-search-c++.cc: New file.
30710         * modules/search-tests (Files): Add it and tests/signature.h.
30711         (Depends-on): Add ansi-c++-opt.
30712         (Makefile.am): Arrange to compile and run test-search-c++.
30713         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30714         gl_MODULE_INDICATOR.
30715
30716         Tests of module 'math' in C++ mode.
30717         * tests/test-math-c++.cc: New file.
30718         * modules/math-tests (Files): Add it and tests/signature.h.
30719         (Depends-on): Add ansi-c++-opt.
30720         (Makefile.am): Arrange to compile and run test-math-c++.
30721         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30722
30723         Tests of module 'locale' in C++ mode.
30724         * tests/test-locale-c++.cc: New file.
30725         * modules/locale-tests (Files): Add it and tests/signature.h.
30726         (Depends-on): Add ansi-c++-opt.
30727         (Makefile.am): Arrange to compile and run test-locale-c++.
30728         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30729         gl_MODULE_INDICATOR.
30730
30731         Tests of module 'langinfo' in C++ mode.
30732         * tests/test-langinfo-c++.cc: New file.
30733         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30734         (Depends-on): Add ansi-c++-opt.
30735         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30736         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30737         gl_MODULE_INDICATOR.
30738
30739         Tests of module 'iconv-h' in C++ mode.
30740         * tests/test-iconv-h-c++.cc: New file.
30741         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30742         (Depends-on): Add ansi-c++-opt.
30743         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30744
30745         Tests of module 'glob' in C++ mode.
30746         * tests/test-glob-c++.cc: New file.
30747         * modules/glob-tests (Files): Add it.
30748         (Depends-on): Add ansi-c++-opt.
30749         (Makefile.am): Arrange to compile and run test-glob-c++.
30750
30751         Tests of module 'fcntl-h' in C++ mode.
30752         * tests/test-fcntl-h-c++.cc: New file.
30753         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30754         (Depends-on): Add ansi-c++-opt.
30755         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30756         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30757         gl_MODULE_INDICATOR.
30758
30759         Tests of module 'dirent' in C++ mode.
30760         * tests/test-dirent-c++.cc: New file.
30761         * modules/dirent-tests (Files): Add it and tests/signature.h.
30762         (Depends-on): Add ansi-c++-opt.
30763         (Makefile.am): Arrange to compile and run test-dirent-c++.
30764         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30765         gl_MODULE_INDICATOR.
30766
30767         New module 'ansi-c++-opt'.
30768         * modules/ansi-c++-opt: New file.
30769         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30770
30771         Document C++ namespace mode.
30772         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30773
30774         wctype: Avoid #define replacements in C++ mode.
30775         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30776         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30777         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30778         In C++, define a namespaced alias symbol.
30779         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30780         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30781         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30782         rule.
30783
30784         wchar: Avoid #define replacements in C++ mode.
30785         * lib/wchar.in.h: Include c++defs.h.
30786         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30787         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30788         symbol.
30789         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30790         * modules/wchar (Depends-on): Add c++defs.
30791         (Makefile.am): Update wchar.h rule.
30792
30793         unistd: Avoid #define replacements in C++ mode.
30794         * lib/unistd.in.h: Include c++defs.h.
30795         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30796         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30797         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30798         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30799         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30800         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30801         symbol.
30802         (environ): Update.
30803         * modules/unistd (Depends-on): Add c++defs.
30804         (Makefile.am): Update unistd.h rule.
30805
30806         time: Avoid #define replacements in C++ mode.
30807         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30808         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30809         define a namespaced alias symbol.
30810         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30811         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30812         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30813         * modules/time (Depends-on): Add c++defs, warn-on-use.
30814         (Makefile.am): Update time.h rule.
30815         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30816         * modules/nanosleep (configure.ac): Likewise.
30817         * modules/strptime (configure.ac): Likewise.
30818         * modules/timegm (configure.ac): Likewise.
30819
30820         sys_time: Avoid #define replacements in C++ mode.
30821         * lib/sys_time.in.h: Include c++defs.h.
30822         (gettimeofday): In C++, define a namespaced alias symbol.
30823         * modules/sys_time (Depends-on): Add c++defs.
30824         (Makefile.am): Update sys/time.h rule.
30825
30826         sys_stat: Avoid #define replacements in C++ mode.
30827         * lib/sys_stat.in.h: Include c++defs.h.
30828         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30829         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30830         namespaced alias symbol.
30831         In C++, define a namespaced alias symbol.
30832         * modules/sys_stat (Depends-on): Add c++defs.
30833         (Makefile.am): Update sys/stat.h rule.
30834
30835         sys_socket: Avoid #define replacements in C++ mode.
30836         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30837         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30838         definitions also when the system has a <sys/socket.h>.
30839         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30840         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30841         In C++, define a namespaced alias symbol.
30842         * modules/sys_socket (Depends-on): Add c++defs.
30843         (Makefile.am): Update sys/socket.h rule.
30844
30845         sys_select: Avoid #define replacements in C++ mode.
30846         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30847         definitions also when the system has a <sys/select.h>.
30848         (select): In C++, define a namespaced alias symbol.
30849         * modules/sys_select (Depends-on): Add c++defs.
30850         (Makefile.am): Update sys/select.h rule.
30851
30852         sys_ioctl: Avoid #define replacements in C++ mode.
30853         * lib/sys_ioctl.in.h: Include c++defs.h.
30854         (ioctl): In C++, define a namespaced alias symbol.
30855         * modules/sys_ioctl (Depends-on): Add c++defs.
30856         (Makefile.am): Update sys/ioctl.h rule.
30857
30858         string: Avoid #define replacements in C++ mode.
30859         * lib/string.in.h: Include c++defs.h.
30860         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30861         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30862         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30863         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30864         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30865         * modules/string (Depends-on): Add c++defs.
30866         (Makefile.am): Update string.h rule.
30867
30868         stdlib: Avoid #define replacements in C++ mode.
30869         * lib/stdlib.in.h: Include c++defs.h.
30870         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30871         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30872         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30873         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30874         symbol.
30875         * modules/stdlib (Depends-on): Add c++defs.
30876         (Makefile.am): Update stdlib.h rule.
30877
30878         stdio: Avoid #define replacements in C++ mode.
30879         * lib/stdio.in.h: Include c++defs.h.
30880         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30881         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30882         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30883         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30884         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30885         namespaced alias symbol.
30886         * modules/stdio (Depends-on): Add c++defs.
30887         (Makefile.am): Update stdio.h rule.
30888
30889         spawn: Avoid #define replacements in C++ mode.
30890         * lib/spawn.in.h: Include c++defs.h.
30891         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30892         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30893         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30894         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30895         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30896         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30897         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30898         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30899         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30900         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30901         In C++, define a namespaced alias symbol.
30902         * modules/spawn (Depends-on): Add c++defs.
30903         (Makefile.am): Update spawn.h rule.
30904
30905         signal: Avoid #define replacements in C++ mode.
30906         * lib/signal.in.h: Include c++defs.h.
30907         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30908         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30909         namespaced alias symbol.
30910         * modules/signal (Depends-on): Add c++defs.
30911         (Makefile.am): Update signal.h rule.
30912
30913         search: Avoid #define replacements in C++ mode.
30914         * lib/search.in.h: Include c++defs.h.
30915         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30916         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30917         symbol.
30918         * modules/search (Depends-on): Add c++defs.
30919         (Makefile.am): Update search.h rule.
30920
30921         math: Avoid #define replacements in C++ mode.
30922         * lib/math.in.h: Include c++defs.h.
30923         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30924         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30925         trunc, truncl): In C++, define a namespaced alias symbol.
30926         * modules/math (Depends-on): Add c++defs.
30927         (Makefile.am): Update math.h rule.
30928
30929         locale: Avoid #define replacements in C++ mode.
30930         * lib/locale.in.h: Include c++defs.h.
30931         (duplocale): In C++, define a namespaced alias symbol.
30932         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30933         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30934         * modules/locale (Depends-on): Add c++defs.
30935         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30936
30937         langinfo: Avoid #define replacements in C++ mode.
30938         * lib/langinfo.in.h: Include c++defs.h.
30939         (nl_langinfo): In C++, define a namespaced alias symbol.
30940         * modules/langinfo (Depends-on): Add c++defs.
30941         (Makefile.am): Update langinfo.h rule.
30942
30943         iconv-h: Avoid #define replacements in C++ mode.
30944         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30945         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30946         symbol.
30947         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30948         whenever iconv is present.
30949         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30950         (Makefile.am): Update iconv.h rule.
30951
30952         glob: Avoid #define replacements in C++ mode.
30953         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30954         (_gl_glob_errfunc_fn): New type.
30955         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30956         symbol.
30957         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30958         (Makefile.am): Update glob.h rule.
30959
30960         fcntl-h: Avoid #define replacements in C++ mode.
30961         * lib/fcntl.in.h: Include c++defs.h.
30962         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30963         * modules/fcntl-h (Depends-on): Add c++defs.
30964         (Makefile.am): Update fcntl.h rule.
30965
30966         dirent: Avoid #define replacements in C++ mode.
30967         * lib/dirent.in.h: Include c++defs.h.
30968         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30969         namespaced alias symbol.
30970         (dirfd): Update declaration.
30971         * modules/dirent (Depends-on): Add c++defs.
30972         (Makefile.am): Update dirent.h rule.
30973
30974         ctype: Make it usable in C++ code.
30975         * lib/ctype.in.h: Include c++defs.h.
30976         (isblank): Declare as extern "C".
30977         * modules/ctype (Depends-on): Add c++defs.
30978         (Makefile.am): Update ctype.h rule.
30979
30980         New module 'c++defs'.
30981         * modules/c++defs: New file.
30982         * build-aux/c++defs.h: New file.
30983         Reported by John W. Eaton <jwe@gnu.org>.
30984
30985 2010-03-07  Bruno Haible  <bruno@clisp.org>
30986
30987         logb: Provide missing declaration for Cygwin.
30988         * lib/math.in.h (logb): New declaration.
30989         * m4/logb.m4: New file.
30990         * modules/logb (Files): Add m4/logb.m4.
30991         (Depends-on): Add math.
30992         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30993         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30994         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30995         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30996         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30997
30998 2010-03-07  Bruno Haible  <bruno@clisp.org>
30999
31000         Fix test-cond link error.
31001         * tests/test-cond.c: Include <stdio.h>.
31002
31003 2010-03-07  Bruno Haible  <bruno@clisp.org>
31004
31005         Fix test-dirent-safer link error.
31006         * modules/dirent-safer-tests (Makefile.am): Define
31007         test_dirent_safer_LDADD.
31008
31009 2010-03-07  Bruno Haible  <bruno@clisp.org>
31010
31011         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31012         among default module list.
31013
31014 2010-03-07  Bruno Haible  <bruno@clisp.org>
31015
31016         Fix link error on platforms with GNU libiconv.
31017         * modules/unistr/u8-strcoll-tests (Makefile): Define
31018         test_u8_strcoll_LDADD.
31019         * modules/unistr/u16-strcoll-tests (Makefile): Define
31020         test_u16_strcoll_LDADD.
31021         * modules/unistr/u32-strcoll-tests (Makefile): Define
31022         test_u32_strcoll_LDADD.
31023
31024 2010-03-07  Bruno Haible  <bruno@clisp.org>
31025
31026         Use POSIX declarations for socket functions.
31027         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31028         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31029         rpl_sendto): Change declaration to match POSIX.
31030         * lib/connect.c (rpl_connect): Likewise.
31031         * lib/accept.c (rpl_accept): Likewise.
31032         * lib/bind.c (rpl_bind): Likewise.
31033         * lib/getpeername.c (rpl_getpeername): Likewise.
31034         * lib/getsockname.c (rpl_getsockname): Likewise.
31035         * lib/recv.c (rpl_recv): Likewise.
31036         * lib/send.c (rpl_send): Likewise.
31037         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31038         * lib/sendto.c (rpl_sendto): Likewise.
31039
31040 2010-03-06  Bruno Haible  <bruno@clisp.org>
31041
31042         Clarify access, euidaccess, faccessat.
31043         * doc/posix-functions/faccessat.texi: Mention security problem under
31044         "Other problems", not "Portability problems".
31045         * doc/posix-functions/access.texi: Likewise. Mention a related security
31046         problem.
31047         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31048         * lib/euidaccess.c: Add comments about platforms.
31049         * lib/unistd.in.h (access, euidaccess): Add warnings.
31050
31051 2010-03-07  Bruno Haible  <bruno@clisp.org>
31052
31053         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31054         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31055         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31056         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31057         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31058         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31059         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31060         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31061         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31062         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31063         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31064         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31065         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31066         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31067         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31068         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31069         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31070         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31071         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31072         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31073         Likewise.
31074         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31075         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31076         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31077         Likewise.
31078         * tests/test-spawn.c (main): Make it work when
31079         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31080
31081 2010-03-07  Bruno Haible  <bruno@clisp.org>
31082
31083         Fix incorrect Makefile.am generation in German locale.
31084         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31085         Execute sed command with character range in C locale.
31086
31087 2010-03-06  Bruno Haible  <bruno@clisp.org>
31088
31089         Tests for module 'iconv-h'.
31090         * modules/iconv-h-tests: New file.
31091         * tests/test-iconv-h.c: New file.
31092
31093         New module 'iconv-h'.
31094         * modules/iconv-h: New file.
31095         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31096         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31097         (configure.ac): Remove gl_ICONV_H.
31098         (Makefile.am): Remove rule for iconv.h.
31099
31100 2010-03-06  Bruno Haible  <bruno@clisp.org>
31101
31102         More consistent naming of *.m4 files.
31103         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31104         * modules/wctype (Files): Update.
31105
31106         More consistent naming of *.m4 files.
31107         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31108         * modules/wchar (Files): Update.
31109
31110 2010-03-06  Jim Meyering  <meyering@redhat.com>
31111
31112         euidaccess: relax license to LGPLv2+
31113         * modules/euidaccess (License): Relax to LGPLv2+.
31114
31115 2010-03-06  Bruno Haible  <bruno@clisp.org>
31116
31117         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31118         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31119         (Makefile.am): Augment lib_SOURCES instead.
31120
31121 2010-03-04  Jim Meyering  <meyering@redhat.com>
31122
31123         utime: remove obsolete module
31124         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31125         unnecessary for years, and has been marked as obsolete for 10 months.
31126         * modules/utime: Remove file.
31127         * lib/utime.c: Remove file.
31128         * m4/utime.m4: Remove file.
31129         * m4/utimes-null.m4: Remove file.
31130         * doc/posix-functions/utime.texi (utime): Remove reference to
31131         the module.  Move the sole "fixed by gnulib" item into the
31132         "problems not fixed by Gnulib" list.
31133         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31134
31135 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31136
31137         * modules/exit (License): Relax license to LGPLv2+.
31138         (Status): Mark as obsolete.
31139         * NEWS: Mention deprecated 'exit' module.
31140         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31141         of now obsolete 'exit'.
31142
31143 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31144
31145         fts-lgpl: remove unused module
31146         * modules/fts-lgpl: Remove.
31147         * MODULES.html.sh (func_all_modules): Adjust.
31148         * check-module (find_included_lib_files): Adjust.
31149         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31150
31151 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31152
31153         copy-acl: enhance Solaris ACL error handling
31154         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31155         * lib/set-mode-acl.c (qset_acl): Likewise.
31156
31157 2010-03-02  Bruno Haible  <bruno@clisp.org>
31158
31159         spawn: Don't override the system defined values on FreeBSD 8.
31160         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31161         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31162         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31163         if HAVE_POSIX_SPAWN is 1.
31164         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31165
31166 2010-03-01  Bruno Haible  <bruno@clisp.org>
31167
31168         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31169         regarding Automake.
31170
31171 2010-02-25  Bruno Haible  <bruno@clisp.org>
31172
31173         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31174         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31175         setting, not afterwards.
31176         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31177
31178 2010-02-24  Eric Blake  <eblake@redhat.com>
31179
31180         bootstrap, git-version-gen: use timestamp
31181         * build-aux/git-version-gen (scriptversion): Force UTC.
31182         * build-aux/bootstrap (scriptversion): New variable.
31183
31184         bootstrap: allow older git
31185         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31186         older than 1.6.4.  Requested by the libvirt project.
31187
31188 2010-02-23  Eric Blake  <eblake@redhat.com>
31189
31190         warn-on-use: work with old autoconf
31191         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31192         AS_VAR semantics of autoconf 2.60.
31193         Reported by Bruno Haible.
31194
31195         bootstrap: improve some comments
31196         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31197         clarification comments.
31198
31199         gettimeofday: provide correct function
31200         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31201         when replacement is declared, otherwise provide gettimeofday.
31202         Reported by Michael Goffioul.
31203
31204 2010-02-23  Jim Meyering  <meyering@redhat.com>
31205
31206         lib-ignore: relax license to "unlimited", not LGPLv2+
31207         * modules/lib-ignore (License): Relax to "unlimited".
31208
31209 2010-02-23  Jim Meyering  <meyering@redhat.com>
31210
31211         lib-ignore: relax license to LGPLv2+
31212         * modules/lib-ignore (License): Relax to LGPLv2+.
31213
31214 2010-02-22  Eric Blake  <eblake@redhat.com>
31215
31216         lseek: avoid bash 3.2 broken pipe bug
31217         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31218         warning from bash 3.2.
31219         Reported by Ben Pfaff, with analysis from Bruno Haible.
31220
31221         bootstrap: support non-FSF copyright holder
31222         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31223         bootstrap.conf override of COPYRIGHT_HOLDER.
31224         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31225
31226         bootstrap: interoperate with gettext 0.14.1
31227         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31228
31229         bootstrap: allow for alternate submodule location
31230         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31231         hardcoding submodule location.
31232         (gnulib_mk): Allow direct use of Makefile.am.
31233
31234         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31235         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31236         rather than reconfiguring where the submodule points.
31237
31238         gettimeofday: restore support for platforms that lack function
31239         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31240         replacement if function is missing.
31241         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31242         * modules/sys_time (Makefile.am): Substitute it.
31243         * lib/sys_time.in.h (gettimeofday): Check it.
31244         Reported by Michael Goffioul.
31245
31246 2010-02-21  Bruno Haible  <bruno@clisp.org>
31247
31248         * lib/stdio.in.h (obstack_printf): Fix typo.
31249
31250 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31251
31252         vc-list-files: use bzr ls's -R option
31253         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31254         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31255
31256 2010-02-21  Jim Meyering  <meyering@redhat.com>
31257
31258         init.sh: fix EXEEXT shims to work also for names like test-prog
31259         * tests/init.sh: Re-exec a better shell, when needed.
31260         If the current shell lacks support for posix $(...), an init.sh-using
31261         test will now try to find a shell that supports that.  If EXEEXT is
31262         nonempty, we also require support for hyphen-in-alias-name and shell
31263         substitutions like ${var#glob}.  Failure to find such a shell results
31264         in a skipped test.
31265
31266 2010-02-21  Bruno Haible  <bruno@clisp.org>
31267
31268         Really work around around "broken pipe" error message from bash 3.2.
31269         * gnulib-tool (func_reset_sigpipe): Remove function.
31270         (echo): In bash 3.2, define to a function that uses printf.
31271         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31272
31273 2010-02-20  Bruno Haible  <bruno@clisp.org>
31274
31275         Restore support for automake 1.9.6 with autoconf 2.61.
31276         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31277         Reported by James Youngman <jay@gnu.org>.
31278
31279 2010-02-20  Bruno Haible  <bruno@clisp.org>
31280
31281         Improve *printf warning condition.
31282         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31283         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31284         and the function is overridden due to SIGPIPE emulation.
31285
31286 2010-02-20  Bruno Haible  <bruno@clisp.org>
31287
31288         * lib/stdio.in.h: Tweak comments.
31289
31290 2010-02-19  Bruno Haible  <bruno@clisp.org>
31291
31292         Make it easier to find modules. New gnulib-tool option '--find'.
31293         * gnulib-tool: New option --find.
31294         (func_usage): Document it.
31295         (func_sanitize_modulelist): New function, extracted from
31296         func_all_modules.
31297         (func_all_modules): Invoke it.
31298         * doc/gnulib-tool.texi (Which modules?): New node.
31299
31300 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31301
31302         * lib/sys_select.in.h: Provide select replacement even if
31303         sys/select.h exists on a system, for Interix.
31304
31305 2010-02-18  Jim Meyering  <meyering@redhat.com>
31306
31307         init.sh: don't use $(...) just yet
31308         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31309         to accommodate e.g., Solaris' /bin/sh.
31310
31311 2010-02-17  Bruno Haible  <bruno@clisp.org>
31312
31313         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31314         Reported by Ludovic Courtès <ludo@gnu.org>.
31315
31316 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31317
31318         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31319         linking with -lintl.
31320
31321 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31322
31323         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31324         if not provided by the system's netdb.h.  Reported by
31325         ludo@gnu.org (Ludovic Courtès).
31326
31327 2010-02-15  Jim Meyering  <meyering@redhat.com>
31328
31329         init.sh: improve portability and efficiency
31330         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31331         "dummy" in a for loop.
31332         Use '!', not '^' to select the complement of a character set used
31333         in a "case" statement.
31334         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31335         Suggestions from Eric Blake.
31336
31337         init.sh: automatically accommodate programs with the .exe suffix
31338         Automatically arrange for an invocation of "prog" to execute the
31339         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31340         may use the simpler "prog", yet still work when built on a system
31341         that requires specifying the added suffix.
31342         Do this by constructing a function named "prog" that invokes
31343         "prog.exe" for each .exe file in selected directories.
31344         * tests/init.sh (find_exe_basenames_): New function.
31345         (create_exe_shim_functions_): New function.
31346         (path_prepend_): Use it.
31347
31348         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31349         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31350         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31351
31352 2010-02-14  Jim Meyering  <meyering@redhat.com>
31353
31354         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31355         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31356         (sc_prohibit_hash_pjw_without_use): New rule.
31357
31358         maint.mk: allow the default upload destination dir to be overridden
31359         * top/maint.mk (upload_dest_dir_): Define with a default that
31360         preserves the status quo.
31361         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31362         Reported by Peter Simons.
31363
31364         maint.mk: prohibit inclusion of "hash.h" without_use
31365         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31366
31367 2010-02-10  Jim Meyering  <meyering@redhat.com>
31368
31369         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31370         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31371
31372 2010-02-09  Eric Blake  <ebb9@byu.net>
31373         and Bruno Haible  <bruno@clisp.org>
31374
31375         obstack-printf-posix: ensure declaration
31376         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31377         extracted from gl_FUNC_OBSTACK_PRINTF.
31378         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31379         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31380         Likewise.
31381         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31382         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31383         0.
31384
31385 2010-02-08  Bruno Haible  <bruno@clisp.org>
31386
31387         gnulib-tool: Fix typo in 2010-02-07 commit.
31388         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31389         Reported by Eric Blake.
31390
31391 2010-02-07  Bruno Haible  <bruno@clisp.org>
31392
31393         gnulib-tool: Fix up caching patches.
31394         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31395         option --no-cache. Use associative arrays when supported by the shell.
31396         (sed_comments): New variable.
31397         (modcache): Renamed from do_cache.
31398         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31399         abbreviate unnecessarily.
31400         (have_associative): New variable.
31401         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31402         way also for ksh and zsh.
31403         (func_init_sed_convert_to_cache_statements): New function, extracted
31404         from func_cache_lookup_module. Add support for associative arrays.
31405         Don't set the c_MODULE_cached variable here. Ignore all lines before
31406         the first field header. Remove only the final newline, not all trailing
31407         newlines. Support empty fields correctly. Limit the use of 'eval' to
31408         assignments.
31409         (func_get_description, func_get_status, func_get_notice,
31410         func_get_applicability, func_get_filelist, func_get_dependencies,
31411         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31412         func_get_automake_snippet, func_get_include_directive,
31413         func_get_link_directive, func_get_license, func_get_maintainer):
31414         Update documentation. List the unoptimized code first. Add support for
31415         associative arrays. Limit the use of 'eval' to assignments.
31416         (func_get_applicability): Undo stylistic pessimisations.
31417         (func_get_automake_snippet, func_get_include_directive): Reduce code
31418         duplication.
31419         (func_modules_transitive_closure, func_modules_add_dummy,
31420         func_modules_notice, func_modules_to_filelist, func_add_file,
31421         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31422         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31423         func_create_testdir, func_create_megatestdir): Update documentation.
31424
31425 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31426
31427         * gnulib-tool (func_cache_lookup_module): Store the module name
31428         belonging to the cache variable; error out if two different
31429         module names map to the same cache variable name.
31430
31431 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31432
31433         gnulib-tool: Make caching optional.
31434         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31435         Update matching short versions of --no-changelog.
31436         (func_usage): Update.
31437         (sed_extract_cache_prog): Renamed from ...
31438         (sed_extract_prog): ... this; revert to old extraction script.
31439         (func_get_description, func_get_status)
31440         (func_get_notice, func_get_applicability, func_get_filelist)
31441         (func_get_dependencies, func_get_autoconf_early_snippet)
31442         (func_get_autoconf_snippet, func_get_automake_snippet)
31443         (func_get_include_directive, func_get_link_directive)
31444         (func_get_license, func_get_maintainer): If $do_cache is false,
31445         use old, non-caching extraction scripts.
31446         Suggestion by Bruno Haible.
31447
31448 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31449
31450         gnulib-tool: cache module metainformation.
31451         * gnulib-tool (sed_extract_prog): Match newline before each
31452         header, and rewrite header to a shell variable suffix.
31453         (func_cache_var, func_cache_lookup_module): New functions,
31454         to turn a module name into a cache variable prefix, and to
31455         look up and cache module metainformation.
31456         (func_get_description, func_get_status)
31457         (func_get_notice, func_get_applicability, func_get_filelist)
31458         (func_get_dependencies, func_get_autoconf_early_snippet)
31459         (func_get_autoconf_snippet, func_get_automake_snippet)
31460         (func_get_include_directive, func_get_link_directive)
31461         (func_get_license, func_get_maintainer): Use
31462         func_cache_lookup_module.
31463
31464 2010-02-07  Bruno Haible  <bruno@clisp.org>
31465
31466         fnctl: Fix missing dependency.
31467         * modules/fcntl (Depends-on): Add getdtablesize.
31468         Reported by John W. Eaton <jwe@gnu.org>.
31469
31470 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31471
31472         Argp: fix recognition of short alias options.
31473
31474         * lib/argp-parse.c (convert_options): Fix improper use of
31475         `|' between character values.
31476         * tests/test-argp.c (group1_option): New alias option
31477         --read (-r).
31478         (group1_parser): Special handling for 'r'.
31479         (test15): New test case.
31480         (test_fun): Add test15.
31481         * tests/test-argp-2.sh: Update expected --help and --usage
31482         outputs.
31483
31484 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31485
31486         * tests/test-argp.c: Fix indentation.
31487
31488 2010-02-04  Eric Blake  <ebb9@byu.net>
31489
31490         gettimeofday: expose type of second argument
31491         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31492         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31493         * tests/test-gettimeofday.c: Use it to silence warning.
31494         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31495         the issue.
31496
31497 2010-02-03  Jim Meyering  <meyering@redhat.com>
31498
31499         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31500         * lib/regcomp.c (TYPE_SIGNED): Define.
31501         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31502
31503         regcomp.c: avoid a new -Wshadow warning
31504         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31505
31506 2010-02-01  Jim Meyering  <meyering@redhat.com>
31507
31508         removing useless parentheses in cpp #define directives
31509         For motivation, see commit c0221df4, "define STREQ(a,b)
31510         consistently, removing useless parentheses"
31511         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31512         * lib/mountlist.c (MNT_IGNORE): Likewise.
31513         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31514
31515 2010-02-01  Eric Blake  <ebb9@byu.net>
31516
31517         sys_time: use link-warning
31518         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31519         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31520         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31521         * modules/sys_time (Depends-on): Add warn-on-use.
31522         (Makefile.am): Always build replacement.
31523         (configure.ac): Update substitutions.
31524         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31525         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31526         bother with SYS_TIME_H.
31527         * modules/gettimeofday (configure.ac): Declare indicator.
31528         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31529         in use.
31530
31531         closein-tests: silence compiler warning
31532         * tests/test-closein.c (main): Ignore fread result.
31533         * modules/closein-tests (Depends-on): Add ignore-value.
31534
31535         tests: silence warning about system return
31536         * tests/test-areadlink-with-size.c (main): Ignore system result.
31537         * tests/test-areadlink.c (main): Likewise.
31538         * tests/test-areadlinkat-with-size.c (main): Likewise.
31539         * tests/test-areadlinkat.c (main): Likewise.
31540         * tests/test-canonicalize-lgpl.c (main): Likewise.
31541         * tests/test-canonicalize.c (main): Likewise.
31542         * tests/test-chown.c (main): Likewise.
31543         * tests/test-fchownat.c (main): Likewise.
31544         * tests/test-fdutimensat.c (main): Likewise.
31545         * tests/test-fstatat.c (main): Likewise.
31546         * tests/test-futimens.c (main): Likewise.
31547         * tests/test-lchown.c (main): Likewise.
31548         * tests/test-link.c (main): Likewise.
31549         * tests/test-linkat.c (main): Likewise.
31550         * tests/test-lstat.c (main): Likewise.
31551         * tests/test-mkdir.c (main): Likewise.
31552         * tests/test-mkdirat.c (main): Likewise.
31553         * tests/test-mkfifo.c (main): Likewise.
31554         * tests/test-mkfifoat.c (main): Likewise.
31555         * tests/test-mknod.c (main): Likewise.
31556         * tests/test-readlink.c (main): Likewise.
31557         * tests/test-remove.c (main): Likewise.
31558         * tests/test-rename.c (main): Likewise.
31559         * tests/test-renameat.c (main): Likewise.
31560         * tests/test-rmdir.c (main): Likewise.
31561         * tests/test-symlink.c (main): Likewise.
31562         * tests/test-symlinkat.c (main): Likewise.
31563         * tests/test-unlink.c (main): Likewise.
31564         * tests/test-unlinkat.c (main): Likewise.
31565         * tests/test-utimens.c (main): Likewise.
31566         * tests/test-utimensat.c (main): Likewise.
31567         * modules/areadlink-tests (Depends-on): Add ignore-value.
31568         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31569         * modules/areadlinkat-tests (Depends-on): Likewise.
31570         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31571         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31572         * modules/canonicalize-tests (Depends-on): Likewise.
31573         * modules/chown-tests (Depends-on): Likewise.
31574         * modules/fdutimensat-tests (Depends-on): Likewise.
31575         * modules/futimens-tests (Depends-on): Likewise.
31576         * modules/lchown-tests (Depends-on): Likewise.
31577         * modules/link-tests (Depends-on): Likewise.
31578         * modules/linkat-tests (Depends-on): Likewise.
31579         * modules/lstat-tests (Depends-on): Likewise.
31580         * modules/mkdir-tests (Depends-on): Likewise.
31581         * modules/mkfifo-tests (Depends-on): Likewise.
31582         * modules/mkfifoat-tests (Depends-on): Likewise.
31583         * modules/mknod-tests (Depends-on): Likewise.
31584         * modules/openat-tests (Depends-on): Likewise.
31585         * modules/readlink-tests (Depends-on): Likewise.
31586         * modules/remove-tests (Depends-on): Likewise.
31587         * modules/rename-tests (Depends-on): Likewise.
31588         * modules/renameat-tests (Depends-on): Likewise.
31589         * modules/rmdir-tests (Depends-on): Likewise.
31590         * modules/symlink-tests (Depends-on): Likewise.
31591         * modules/symlinkat-tests (Depends-on): Likewise.
31592         * modules/unlink-tests (Depends-on): Likewise.
31593         * modules/utimens-tests (Depends-on): Likewise.
31594         * modules/utimensat-tests (Depends-on): Likewise.
31595
31596 2010-01-31  Bruno Haible  <bruno@clisp.org>
31597
31598         Perform the same test for many <math.h> functions.
31599         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31600         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31601         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31602         of gl_MATHFUNC.
31603         * modules/acos (configure.ac): Likewise.
31604         * modules/asin (configure.ac): Likewise.
31605         * modules/atan (configure.ac): Likewise.
31606         * modules/atan2 (configure.ac): Likewise.
31607         * modules/cbrt (configure.ac): Likewise.
31608         * modules/copysign (configure.ac): Likewise.
31609         * modules/cos (configure.ac): Likewise.
31610         * modules/cosh (configure.ac): Likewise.
31611         * modules/erf (configure.ac): Likewise.
31612         * modules/erfc (configure.ac): Likewise.
31613         * modules/exp (configure.ac): Likewise.
31614         * modules/fmod (configure.ac): Likewise.
31615         * modules/hypot (configure.ac): Likewise.
31616         * modules/j0 (configure.ac): Likewise.
31617         * modules/j1 (configure.ac): Likewise.
31618         * modules/jn (configure.ac): Likewise.
31619         * modules/lgamma (configure.ac): Likewise.
31620         * modules/log (configure.ac): Likewise.
31621         * modules/log10 (configure.ac): Likewise.
31622         * modules/log1p (configure.ac): Likewise.
31623         * modules/pow (configure.ac): Likewise.
31624         * modules/remainder (configure.ac): Likewise.
31625         * modules/sin (configure.ac): Likewise.
31626         * modules/sinh (configure.ac): Likewise.
31627         * modules/tan (configure.ac): Likewise.
31628         * modules/tanh (configure.ac): Likewise.
31629         * modules/y0 (configure.ac): Likewise.
31630         * modules/y1 (configure.ac): Likewise.
31631         * modules/yn (configure.ac): Likewise.
31632         Suggested by Paolo Bonzini.
31633
31634 2010-01-31  Bruno Haible  <bruno@clisp.org>
31635
31636         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31637
31638 2010-01-31  Bruno Haible  <bruno@clisp.org>
31639
31640         Work around getdelim() bug on FreeBSD 8.0.
31641         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31642         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31643         not work.
31644         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31645         is 1.
31646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31647         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31648         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31649         a non-zero size.
31650         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31651
31652 2010-01-31  Bruno Haible  <bruno@clisp.org>
31653
31654         Work around getline() bug on FreeBSD 8.0.
31655         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31656         and a non-zero size.
31657         * tests/test-getline.c (main): Likewise.
31658         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31659         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31660
31661 2010-01-28  Eric Blake  <ebb9@byu.net>
31662
31663         regex: fix build failure
31664         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31665         platforms.
31666
31667 2010-01-28  Jim Meyering  <meyering@redhat.com>
31668
31669         regex: do not ignore memory allocation failure
31670         * lib/regex_internal.c (create_cd_newstate): Detect
31671         re_node_set_init_copy failure.   Extracted from glibc commit
31672         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31673
31674         regex: sync more white-space changes from libc
31675         * lib/regex_internal.c: White-space only changes.
31676         * lib/regexec.c: Likewise.
31677
31678         regex: add many uses of __attribute_warn_unused_result__
31679         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31680         * lib/regexec.c: Likewise.
31681         Extracted from a messy glibc commit.
31682
31683         regcomp.c: spelling and merge-artifact from glibc
31684         * lib/regcomp.c: Merge remainder of glibc's
31685         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31686
31687         regcomp.c: sync white-space changes from glibc
31688         * lib/regcomp.c: Merge to accommodate white space
31689         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31690
31691         regcomp.c: do not ignore internal return values
31692         * lib/regcomp.c: Do not ignore internal return values.
31693         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31694         but without its white-space changes and spelling fixes.
31695
31696         regex_internal.h: define __attribute_warn_unused_result__
31697         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31698
31699         maint: add a syntax-check rule to check for vulnerable Makefile.in
31700         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31701
31702 2010-01-27  Jim Meyering  <meyering@redhat.com>
31703
31704         ncftpput-ftp: clean up spaces
31705         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31706         Remove trailing blanks.
31707
31708 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31709
31710         * build-aux/git-version-gen: Fix copyright statement.
31711         * build-aux/gnupload: Likewise.
31712         * tests/test-arcfour.c: Likewise.
31713         * tests/test-arctwo.c: Likewise.
31714         * tests/test-count-one-bits.c: Likewise.
31715         * tests/test-crc.c: Likewise.
31716         * tests/test-des.c: Likewise.
31717         * tests/test-gc-arcfour.c: Likewise.
31718         * tests/test-gc-arctwo.c: Likewise.
31719         * tests/test-gc-des.c: Likewise.
31720         * tests/test-gc-hmac-md5.c: Likewise.
31721         * tests/test-gc-hmac-sha1.c: Likewise.
31722         * tests/test-gc-md2.c: Likewise.
31723         * tests/test-gc-md4.c: Likewise.
31724         * tests/test-gc-md5.c: Likewise.
31725         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31726         * tests/test-gc-rijndael.c: Likewise.
31727         * tests/test-gc-sha1.c: Likewise.
31728         * tests/test-gc.c: Likewise.
31729         * tests/test-gethostname.c: Likewise.
31730         * tests/test-gettimeofday.c: Likewise.
31731         * tests/test-hash.c: Likewise.
31732         * tests/test-hmac-md5.c: Likewise.
31733         * tests/test-hmac-sha1.c: Likewise.
31734         * tests/test-md2.c: Likewise.
31735         * tests/test-md4.c: Likewise.
31736         * tests/test-md5.c: Likewise.
31737         * tests/test-memchr.c: Likewise.
31738         * tests/test-memchr2.c: Likewise.
31739         * tests/test-memcmp.c: Likewise.
31740         * tests/test-memmem.c: Likewise.
31741         * tests/test-memrchr.c: Likewise.
31742         * tests/test-rawmemchr.c: Likewise.
31743         * tests/test-read-file.c: Likewise.
31744         * tests/test-rijndael.c: Likewise.
31745         * tests/test-sockets.c: Likewise.
31746         * tests/test-strchrnul.c: Likewise.
31747         * tests/test-strstr.c: Likewise.
31748         * tests/test-strtod.c: Likewise.
31749         * build-aux/ncftpput-ftp: Likewise.
31750
31751 2010-01-26  Eric Blake  <ebb9@byu.net>
31752
31753         ignore-value: update recommended header name
31754         * modules/ignore-value (Include): Only use <> for headers that
31755         exist in glibc.
31756
31757 2010-01-26  Jim Meyering  <meyering@redhat.com>
31758
31759         test-userspec.c: avoid compiler warnings
31760         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31761         and "initialization discards qualifiers..." warnings.
31762         Put the first "uid" in its own scope, and make char* members "const".
31763
31764 2010-01-25  Bruno Haible  <bruno@clisp.org>
31765
31766         gnulib-tool: Make warning diagnostics consistent.
31767         * gnulib-tool (func_warning): New function.
31768         Use it everywhere where gnulib-tool produces output to stderr and it is
31769         not a fatal error.
31770
31771 2010-01-25  Bruno Haible  <bruno@clisp.org>
31772
31773         Fix test dependencies.
31774         * modules/xstrtol-tests (Depends-on): Add inttypes.
31775         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31776
31777 2010-01-25 Pádraig Brady <P@draigBrady.com>
31778
31779         syntax-check: detect incorrect boolean macro values in config.h
31780         * modules/maintainer-makefile (configure.ac): Parameterize the location
31781         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31782         The logic is from Eric Blake and the location indicated by Jim Meyering.
31783         Note the more natural CONFIG_HEADER name is prohibited by automake
31784         for backwards compatibility reasons.
31785         * top/maint.mk (sc_Wundef_boolean): New rule.
31786
31787 2010-01-25  Jim Meyering  <meyering@redhat.com>
31788
31789         bootstrap: detect MacOS 10.6's shasum, too
31790         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31791         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31792
31793 2010-01-23  Jim Meyering  <meyering@redhat.com>
31794
31795         xstrtoll: new module
31796         * modules/xstrtoll: New file.
31797         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31798         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31799         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31800         ./configure fails if you use this module and lack "long long".
31801         * modules/xstrtoll-tests: New module.
31802         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31803         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31804         new init.sh-based test framework.
31805
31806 2010-01-24  Bruno Haible  <bruno@clisp.org>
31807
31808         Tests for module 'yn'.
31809         * modules/yn-tests: New file.
31810         * tests/test-yn.c: New file.
31811
31812         Tests for module 'y1'.
31813         * modules/y1-tests: New file.
31814         * tests/test-y1.c: New file.
31815
31816         Tests for module 'y0'.
31817         * modules/y0-tests: New file.
31818         * tests/test-y0.c: New file.
31819
31820         Tests for module 'tanh'.
31821         * modules/tanh-tests: New file.
31822         * tests/test-tanh.c: New file.
31823
31824         Tests for module 'tan'.
31825         * modules/tan-tests: New file.
31826         * tests/test-tan.c: New file.
31827
31828         Tests for module 'sqrt'.
31829         * modules/sqrt-tests: New file.
31830         * tests/test-sqrt.c: New file.
31831
31832         Tests for module 'sinh'.
31833         * modules/sinh-tests: New file.
31834         * tests/test-sinh.c: New file.
31835
31836         Tests for module 'sin'.
31837         * modules/sin-tests: New file.
31838         * tests/test-sin.c: New file.
31839
31840         Tests for module 'rint'.
31841         * modules/rint-tests: New file.
31842         * tests/test-rint.c: New file.
31843
31844         Tests for module 'remainder'.
31845         * modules/remainder-tests: New file.
31846         * tests/test-remainder.c: New file.
31847
31848         Tests for module 'pow'.
31849         * modules/pow-tests: New file.
31850         * tests/test-pow.c: New file.
31851
31852         Tests for module 'nextafter'.
31853         * modules/nextafter-tests: New file.
31854         * tests/test-nextafter.c: New file.
31855
31856         Tests for module 'modf'.
31857         * modules/modf-tests: New file.
31858         * tests/test-modf.c: New file.
31859
31860         Tests for module 'logb'.
31861         * modules/logb-tests: New file.
31862         * tests/test-logb.c: New file.
31863
31864         Tests for module 'log1p'.
31865         * modules/log1p-tests: New file.
31866         * tests/test-log1p.c: New file.
31867
31868         Tests for module 'log10'.
31869         * modules/log10-tests: New file.
31870         * tests/test-log10.c: New file.
31871
31872         Tests for module 'log'.
31873         * modules/log-tests: New file.
31874         * tests/test-log.c: New file.
31875
31876         Tests for module 'lgamma'.
31877         * modules/lgamma-tests: New file.
31878         * tests/test-lgamma.c: New file.
31879
31880         Tests for module 'ldexp'.
31881         * modules/ldexp-tests: New file.
31882         * tests/test-ldexp.c: New file.
31883
31884         Tests for module 'jn'.
31885         * modules/jn-tests: New file.
31886         * tests/test-jn.c: New file.
31887
31888         Tests for module 'j1'.
31889         * modules/j1-tests: New file.
31890         * tests/test-j1.c: New file.
31891
31892         Tests for module 'j0'.
31893         * modules/j0-tests: New file.
31894         * tests/test-j0.c: New file.
31895
31896         Tests for module 'hypot'.
31897         * modules/hypot-tests: New file.
31898         * tests/test-hypot.c: New file.
31899
31900         Tests for module 'fmod'.
31901         * modules/fmod-tests: New file.
31902         * tests/test-fmod.c: New file.
31903
31904         Tests for module 'fabs'.
31905         * modules/fabs-tests: New file.
31906         * tests/test-fabs.c: New file.
31907
31908         Tests for module 'exp'.
31909         * modules/exp-tests: New file.
31910         * tests/test-exp.c: New file.
31911
31912         Tests for module 'erfc'.
31913         * modules/erfc-tests: New file.
31914         * tests/test-erfc.c: New file.
31915
31916         Tests for module 'erf'.
31917         * modules/erf-tests: New file.
31918         * tests/test-erf.c: New file.
31919
31920         Tests for module 'cosh'.
31921         * modules/cosh-tests: New file.
31922         * tests/test-cosh.c: New file.
31923
31924         Tests for module 'cos'.
31925         * modules/cos-tests: New file.
31926         * tests/test-cos.c: New file.
31927
31928         Tests for module 'copysign'.
31929         * modules/copysign-tests: New file.
31930         * tests/test-copysign.c: New file.
31931
31932         Tests for module 'cbrt'.
31933         * modules/cbrt-tests: New file.
31934         * tests/test-cbrt.c: New file.
31935
31936         Tests for module 'atan2'.
31937         * modules/atan2-tests: New file.
31938         * tests/test-atan2.c: New file.
31939
31940         Tests for module 'atan'.
31941         * modules/atan-tests: New file.
31942         * tests/test-atan.c: New file.
31943
31944         Tests for module 'asin'.
31945         * modules/asin-tests: New file.
31946         * tests/test-asin.c: New file.
31947
31948         Tests for module 'acos'.
31949         * modules/acos-tests: New file.
31950         * tests/test-acos.c: New file.
31951
31952 2010-01-24  Bruno Haible  <bruno@clisp.org>
31953
31954         Fix tests for common <math.h> functions.
31955         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31956         code snippet that references the function pointer, rather than merely
31957         calling the function. Substitute the FUNC_LIBM variable.
31958         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31959         * modules/acos (configure.ac): Likewise.
31960         * modules/asin (configure.ac): Likewise.
31961         * modules/atan (configure.ac): Likewise.
31962         * modules/atan2 (configure.ac): Likewise.
31963         * modules/cbrt (configure.ac): Likewise.
31964         * modules/copysign (configure.ac): Likewise.
31965         * modules/cos (configure.ac): Likewise.
31966         * modules/cosh (configure.ac): Likewise.
31967         * modules/erf (configure.ac): Likewise.
31968         * modules/erfc (configure.ac): Likewise.
31969         * modules/exp (configure.ac): Likewise.
31970         * modules/fabs (configure.ac): Likewise.
31971         * modules/fmod (configure.ac): Likewise.
31972         * modules/hypot (configure.ac): Likewise.
31973         * modules/j0 (configure.ac): Likewise.
31974         * modules/j1 (configure.ac): Likewise.
31975         * modules/jn (configure.ac): Likewise.
31976         * modules/ldexp (configure.ac): Likewise.
31977         * modules/lgamma (configure.ac): Likewise.
31978         * modules/log (configure.ac): Likewise.
31979         * modules/log10 (configure.ac): Likewise.
31980         * modules/log1p (configure.ac): Likewise.
31981         * modules/logb (configure.ac): Likewise.
31982         * modules/modf (configure.ac): Likewise.
31983         * modules/nextafter (configure.ac): Likewise.
31984         * modules/pow (configure.ac): Likewise.
31985         * modules/remainder (configure.ac): Likewise.
31986         * modules/rint (configure.ac): Likewise.
31987         * modules/sin (configure.ac): Likewise.
31988         * modules/sinh (configure.ac): Likewise.
31989         * modules/tan (configure.ac): Likewise.
31990         * modules/tanh (configure.ac): Likewise.
31991         * modules/y0 (configure.ac): Likewise.
31992         * modules/y1 (configure.ac): Likewise.
31993         * modules/yn (configure.ac): Likewise.
31994
31995 2010-01-24  Bruno Haible  <bruno@clisp.org>
31996
31997         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31998         * tests/test-acosl.c (x): New variable.
31999         (main): Store argument in x and fetch it from x.
32000         * tests/test-asinl.c (x): New variable.
32001         (main): Store argument in x and fetch it from x.
32002         * tests/test-atanl.c (x): New variable.
32003         (main): Store argument in x and fetch it from x.
32004         * tests/test-cosl.c (x): New variable.
32005         (main): Store argument in x and fetch it from x.
32006         * tests/test-expl.c (x): New variable.
32007         (main): Store argument in x and fetch it from x.
32008         * tests/test-logl.c (x): New variable.
32009         (main): Store argument in x and fetch it from x.
32010         * tests/test-sinl.c (x): New variable.
32011         (main): Store argument in x and fetch it from x.
32012         * tests/test-sqrtl.c (x): New variable.
32013         (main): Store argument in x and fetch it from x.
32014         * tests/test-tanl.c (x): New variable.
32015         (main): Store argument in x and fetch it from x.
32016
32017 2010-01-24  Bruno Haible  <bruno@clisp.org>
32018
32019         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32020         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32021         assignments to the initial TESTS_ENVIRONMENT.
32022         * doc/gnulib.texi (Unit test modules): Document it.
32023         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32024         TESTS_ENVIRONMENT.
32025         * modules/btowc-tests (Makefile.am): Likewise.
32026         * modules/c-stack-tests (Makefile.am): Likewise.
32027         * modules/c-strcase-tests (Makefile.am): Likewise.
32028         * modules/copy-file-tests (Makefile.am): Likewise.
32029         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32030         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32031         * modules/mbrtowc-tests (Makefile.am): Likewise.
32032         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32033         * modules/mbscasestr-tests (Makefile.am): Likewise.
32034         * modules/mbschr-tests (Makefile.am): Likewise.
32035         * modules/mbscspn-tests (Makefile.am): Likewise.
32036         * modules/mbsinit-tests (Makefile.am): Likewise.
32037         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32038         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32039         * modules/mbspbrk-tests (Makefile.am): Likewise.
32040         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32041         * modules/mbsrchr-tests (Makefile.am): Likewise.
32042         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32043         * modules/mbsspn-tests (Makefile.am): Likewise.
32044         * modules/mbsstr-tests (Makefile.am): Likewise.
32045         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32046         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32047         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32048         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32049         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32050         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32051         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32052         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32053         * modules/wcrtomb-tests (Makefile.am): Likewise.
32054         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32055         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32056         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32057         assignments from TESTS_ENVIRONMENT.
32058         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32059         augmentation.
32060         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32061         * modules/atexit-tests (Makefile.am): Likewise.
32062         * modules/binary-io-tests (Makefile.am): Likewise.
32063         * modules/closein-tests (Makefile.am): Likewise.
32064         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32065         * modules/exclude-tests (Makefile.am): Likewise.
32066         * modules/fflush-tests (Makefile.am): Likewise.
32067         * modules/fpending-tests (Makefile.am): Likewise.
32068         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32069         * modules/freadahead-tests (Makefile.am): Likewise.
32070         * modules/freadptr-tests (Makefile.am): Likewise.
32071         * modules/freadseek-tests (Makefile.am): Likewise.
32072         * modules/fseek-tests (Makefile.am): Likewise.
32073         * modules/fseeko-tests (Makefile.am): Likewise.
32074         * modules/ftell-tests (Makefile.am): Likewise.
32075         * modules/ftello-tests (Makefile.am): Likewise.
32076         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32077         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32078         * modules/lseek-tests (Makefile.am): Likewise.
32079         * modules/parse-duration-tests (Makefile.am): Likewise.
32080         * modules/perror-tests (Makefile.am): Likewise.
32081         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32082         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32083         * modules/pipe-tests (Makefile.am): Likewise.
32084         * modules/pread-tests (Makefile.am): Likewise.
32085         * modules/printf-posix-tests (Makefile.am): Likewise.
32086         * modules/select-tests (Makefile.am): Likewise.
32087         * modules/sigpipe-tests (Makefile.am): Likewise.
32088         * modules/tsearch-tests (Makefile.am): Likewise.
32089         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32090         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32091         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32092         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32093         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32094         * modules/version-etc-tests (Makefile.am): Likewise.
32095         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32096         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32097         * modules/xalloc-die-tests (Makefile.am): Likewise.
32098         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32099         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32100         * modules/xstrtol-tests (Makefile.am): Likewise.
32101         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32102         * modules/yesno-tests (Makefile.am): Likewise.
32103         Suggested by Jim Meyering.
32104
32105 2010-01-24  Bruno Haible  <bruno@clisp.org>
32106
32107         More documentation.
32108         * doc/gnulib.texi (Writing modules): New chapter.
32109         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32110         the new chapter.
32111
32112 2010-01-24  Jim Meyering  <meyering@redhat.com>
32113
32114         maint.mk: do not prepend "./" after filtering
32115         * top/maint.mk (_prepend_srcdir_prefix): New variable
32116         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32117         "./" when $(srcdir) is ".".
32118
32119         define STREQ(a,b) consistently, removing useless parentheses
32120         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32121         since the only risk is that "a" or "b" contains an unparenthesized
32122         comma, but if either did that, STREQ would have 3 or more arguments.
32123         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32124         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32125         * lib/hash-triple.c (STREQ): Likewise.
32126         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32127         * lib/getugroups.c (STREQ): Likewise.
32128
32129 2010-01-23  Jim Meyering  <meyering@redhat.com>
32130
32131         maint.mk: fix syntax-check in a non-srcdir build directory
32132         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32133         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32134
32135 2010-01-22  Jim Meyering  <meyering@redhat.com>
32136
32137         userspec: add unit tests
32138         * tests/test-userspec.c: New file.
32139         * modules/userspec-tests: Likewise.
32140
32141 2010-01-21  Jim Meyering  <meyering@redhat.com>
32142
32143         maint.mk: handle source file names containing "." robustly
32144         * top/maint.mk (_dot_escaped_srcdir): Define.
32145         (VC_LIST): Use it in LHS of sed substitution.
32146
32147 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32148
32149         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32150         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32151         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32152         from a non-srcdir build.
32153
32154 2010-01-20  Eric Blake  <ebb9@byu.net>
32155
32156         warn-on-use: use instead of link-warning
32157         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32158         * modules/unistd (Depends-on, Makefile.am): Likewise.
32159         * modules/arpa_inet (Depends-on): Replace link-warning with
32160         warn-on-use.
32161         (Makefile.am): Update rules accordingly.
32162         * modules/ctype (Depends-on, Makefile.am): Likewise.
32163         * modules/dirent (Depends-on, Makefile.am): Likewise.
32164         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32165         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32166         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32167         * modules/locale (Depends-on, Makefile.am): Likewise.
32168         * modules/math (Depends-on, Makefile.am): Likewise.
32169         * modules/search (Depends-on, Makefile.am): Likewise.
32170         * modules/signal (Depends-on, Makefile.am): Likewise.
32171         * modules/spawn (Depends-on, Makefile.am): Likewise.
32172         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32173         * modules/string (Depends-on, Makefile.am): Likewise.
32174         * modules/strings (Depends-on, Makefile.am): Likewise.
32175         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32176         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32177         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32178         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32179         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32180         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32181         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32182         * modules/wchar (Depends-on, Makefile.am): Likewise.
32183         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32184         should be poisoned.
32185         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32186         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32187         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32188         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32189         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32190         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32191         * m4/math_h.m4 (gl_MATH_H): Likewise.
32192         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32193         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32194         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32195         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32196         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32197         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32198         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32199         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32200         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32201         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32202         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32203         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32204         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32205         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32206         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32207         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32208         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32209         GL_LINK_WARNING.
32210         * lib/ctype.in.h: Likewise.
32211         * lib/dirent.in.h: Likewise.
32212         * lib/fcntl.in.h: Likewise.
32213         * lib/inttypes.in.h: Likewise.
32214         * lib/langinfo.in.h: Likewise.
32215         * lib/locale.in.h: Likewise.
32216         * lib/math.in.h: Likewise.
32217         * lib/search.in.h: Likewise.
32218         * lib/signal.in.h: Likewise.
32219         * lib/spawn.in.h: Likewise.
32220         * lib/stdio.in.h: Likewise.
32221         * lib/stdlib.in.h: Likewise.
32222         * lib/string.in.h: Likewise.
32223         * lib/strings.in.h: Likewise.
32224         * lib/sys_file.in.h: Likewise.
32225         * lib/sys_ioctl.in.h: Likewise.
32226         * lib/sys_select.in.h: Likewise.
32227         * lib/sys_socket.in.h: Likewise.
32228         * lib/sys_stat.in.h: Likewise.
32229         * lib/sys_times.in.h: Likewise.
32230         * lib/sys_utsname.in.h: Likewise.
32231         * lib/unistd.in.h: Likewise.
32232         * lib/wchar.in.h: Likewise.
32233
32234 2010-01-20  Bruno Haible  <bruno@clisp.org>
32235
32236         Avoid duplicate -lm.
32237         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32238         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32239         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32240         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32241         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32242         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32243         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32244         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32245         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32246         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32247         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32248         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32249         Reported by Paolo Bonzini.
32250
32251 2010-01-19  Bruno Haible  <bruno@clisp.org>
32252
32253         langinfo, nl_langinfo: Relicense under LGPLv2+.
32254         * modules/langinfo (License): Change to LGPLv2+.
32255         * modules/nl_langinfo (License): Likewise.
32256         Patch by David Lutterkort <lutter@redhat.com>.
32257
32258 2010-01-19  Bruno Haible  <bruno@clisp.org>
32259
32260         Avoid compilation error with cc on OSF/1 5.1.
32261         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32262         statement, not before.
32263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32264
32265 2010-01-18  Bruno Haible  <bruno@clisp.org>
32266
32267         Avoid a link error due to the __printf__ symbol.
32268         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32269         and 2.6.x.
32270         (__format__, __printf__): Remove definitions.
32271         * lib/argp-fmtstream.h: Likewise.
32272         * lib/argp.h: Likewise.
32273         * lib/error.h: Likewise.
32274         * lib/vasnprintf.h: Likewise.
32275         * lib/xprintf.h: Likewise.
32276         * lib/xvasprintf.h: Likewise.
32277         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32278
32279 2010-01-18  Bruno Haible  <bruno@clisp.org>
32280
32281         Tests for module 'tanl'.
32282         * modules/tanl-tests: New file.
32283         * tests/test-tanl.c: New file.
32284
32285         Tests for module 'sqrtl'.
32286         * modules/sqrtl-tests: New file.
32287         * tests/test-sqrtl.c: New file.
32288
32289         Tests for module 'sinl'.
32290         * modules/sinl-tests: New file.
32291         * tests/test-sinl.c: New file.
32292
32293         Tests for module 'logl'.
32294         * modules/logl-tests: New file.
32295         * tests/test-logl.c: New file.
32296
32297         Tests for module 'expl'.
32298         * modules/expl-tests: New file.
32299         * tests/test-expl.c: New file.
32300
32301         Tests for module 'cosl'.
32302         * modules/cosl-tests: New file.
32303         * tests/test-cosl.c: New file.
32304
32305         Tests for module 'atanl'.
32306         * modules/atanl-tests: New file.
32307         * tests/test-atanl.c: New file.
32308
32309         Tests for module 'asinl'.
32310         * modules/asinl-tests: New file.
32311         * tests/test-asinl.c: New file.
32312
32313         Tests for module 'acosl'.
32314         * modules/acosl-tests: New file.
32315         * tests/test-acosl.c: New file.
32316
32317         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32318         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32319         tanl): Use the standard gnulib idiom.
32320         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32321         * lib/sinl.c: Likewise.
32322         * lib/tanl.c: Don't include trigl.c.
32323         (kernel_tanl): Make static.
32324         * lib/sincosl.c: Include trigl.h first.
32325         * lib/trigl.c: Likewise.
32326         * m4/acosl.m4: New file.
32327         * m4/asinl.m4: New file.
32328         * m4/atanl.m4: New file.
32329         * m4/cosl.m4: New file.
32330         * m4/expl.m4: New file.
32331         * m4/logl.m4: New file.
32332         * m4/sinl.m4: New file.
32333         * m4/sqrtl.m4: New file.
32334         * m4/tanl.m4: New file.
32335         * m4/mathl.m4: Remove file.
32336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32337         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32338         Don't initialize GNULIB_MATHL.
32339         * modules/acosl: New file.
32340         * modules/asinl: New file.
32341         * modules/atanl: New file.
32342         * modules/cosl: New file.
32343         * modules/expl: New file.
32344         * modules/logl: New file.
32345         * modules/sinl: New file.
32346         * modules/sqrtl: New file.
32347         * modules/tanl: New file.
32348         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32349         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32350         substitute GNULIB_MATHL.
32351         * modules/mathl: Rewritten.
32352         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32353         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32354         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32355         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32356         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32357         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32358         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32359         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32360         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32361
32362 2010-01-18  Bruno Haible  <bruno@clisp.org>
32363
32364         sqrt: Make gl_FUNC_SQRT requirable.
32365         * m4/sqrt.m4: New file.
32366         * modules/sqrt (Files): Add it.
32367         (configure.ac): Invoke gl_FUNC_SQRT.
32368
32369 2010-01-18  Bruno Haible  <bruno@clisp.org>
32370
32371         New modules for common <math.h> functions.
32372         * m4/mathfunc.m4: New file.
32373         * modules/acos: New file.
32374         * modules/asin: New file.
32375         * modules/atan: New file.
32376         * modules/atan2: New file.
32377         * modules/cbrt: New file.
32378         * modules/copysign: New file.
32379         * modules/cos: New file.
32380         * modules/cosh: New file.
32381         * modules/erf: New file.
32382         * modules/erfc: New file.
32383         * modules/exp: New file.
32384         * modules/fabs: New file.
32385         * modules/fmod: New file.
32386         * modules/hypot: New file.
32387         * modules/j0: New file.
32388         * modules/j1: New file.
32389         * modules/jn: New file.
32390         * modules/ldexp: New file.
32391         * modules/lgamma: New file.
32392         * modules/log: New file.
32393         * modules/log10: New file.
32394         * modules/log1p: New file.
32395         * modules/logb: New file.
32396         * modules/modf: New file.
32397         * modules/nextafter: New file.
32398         * modules/pow: New file.
32399         * modules/remainder: New file.
32400         * modules/rint: New file.
32401         * modules/sin: New file.
32402         * modules/sinh: New file.
32403         * modules/sqrt: New file.
32404         * modules/tan: New file.
32405         * modules/tanh: New file.
32406         * modules/y0: New file.
32407         * modules/y1: New file.
32408         * modules/yn: New file.
32409         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32410         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32411         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32412         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32413         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32414         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32415         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32416         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32417         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32418         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32419         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32420         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32421         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32422         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32423         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32424         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32425         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32426         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32427         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32428         * doc/posix-functions/log.texi: Mention the 'log' module.
32429         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32430         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32431         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32432         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32433         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32434         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32435         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32436         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32437         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32438         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32439         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32440         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32441         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32442         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32443         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32444         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32445
32446 2010-01-18  Jim Meyering  <meyering@redhat.com>
32447
32448         ignore-value: relax license to LGPLv2+
32449         * modules/ignore-value (License): Relax to LGPLv2+.
32450
32451         getdate: don't leak when TZ contains two or more '"'s
32452         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32453         double quote in TZ after the first one.
32454
32455         readtokens: do not leak internal token_lengths buffer
32456         * lib/readtokens.c (readtokens): Free the local, lengths,
32457         when the supplied "token_lengths" parameter is NULL.
32458
32459 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32460
32461         Fix a couple of missing LIBTHREAD link failures on AIX.
32462         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32463         $(LIBTHREAD).
32464         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32465
32466         Link test-poll against INET_PTON_LIB.
32467         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32468         for inet_pton on Solaris 10.
32469
32470 2010-01-17  Bruno Haible  <bruno@clisp.org>
32471
32472         unistdio/*-sprintf: Fix typo in module description.
32473         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32474         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32475         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32476         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32477         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32478         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32479         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32480         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32481
32482 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32483
32484         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32485         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32486         variables in shell case patterns, for AIX and HP-UX ksh.
32487
32488         Split large sed scripts, for HP-UX sed.
32489         * modules/stdio: Split sed scripts around 50 sed commands,
32490         to avoid HP-UX limit of 99 commands, in the near future.
32491         * modules/string: Likewise.
32492         * modules/unistd: Likewise.
32493
32494         gnulib-tool: avoid writing in the current directory.
32495         * gnulib-tool (func_emit_lib_Makefile_am)
32496         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32497         not in the current directory, so concurrent gnulib-tool
32498         instances do not interfere.
32499
32500 2010-01-16  Jim Meyering  <meyering@redhat.com>
32501
32502         doc: update users.txt
32503         * users.txt: Add grep.
32504         (diffutils, gzip): Update URLs.
32505
32506 2010-01-12  Bruno Haible  <bruno@clisp.org>
32507
32508         posix_spawn: Avoid test failure on Cygwin.
32509         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32510         characters.
32511         Reported by Simon Josefsson.
32512
32513 2010-01-12  Bruno Haible  <bruno@clisp.org>
32514
32515         * tests/test-cond.c (main): When skipping the test, show the reason.
32516
32517 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32518
32519         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32520
32521 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32522
32523         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32524         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32525
32526 2010-01-12  Eric Blake  <ebb9@byu.net>
32527
32528         build: guarantee AS_VAR_IF
32529         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32530         (gl_AS_VAR_IF): Move...
32531         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32532         Reported by Simon Josefsson.
32533
32534 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32535
32536         * lib/stdio.in.h: Fix typo.
32537
32538 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32539
32540         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32541         libgpg-error.
32542
32543 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32544
32545         * tests/test-xalloc-die.sh: Use $EXEEXT.
32546
32547 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32548             Bruno Haible  <bruno@clisp.org>
32549
32550         getlogin, getlogin_r: Avoid test failure.
32551         * tests/test-getlogin.c: Include <stdio.h>.
32552         (main): Skip the test when the function fails because stdin is not a
32553         tty.
32554         * tests/test-getlogin_r.c: Include <stdio.h>.
32555         (main): Skip the test when the function fails because stdin is not a
32556         tty.
32557
32558 2010-01-11  Eric Blake  <ebb9@byu.net>
32559
32560         tests: avoid more large file warnings
32561         * tests/test-fflush.c: Avoid warning about ftell use.
32562         * tests/test-fseek.c: Avoid warning about fseek use.
32563
32564 2010-01-10  Bruno Haible  <bruno@clisp.org>
32565
32566         nproc: Work better on Linux when /proc and /sys are not mounted.
32567         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32568         as lower bound when, on glibc/Linux systems,
32569         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32570         Suggested by Pádraig Brady <P@draigbrady.com>.
32571         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32572
32573         nproc: Refactor.
32574         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32575         extracted from num_processors.
32576         (num_processors): Call it.
32577
32578 2010-01-11  Jim Meyering  <meyering@redhat.com>
32579
32580         utimecmp: avoid new warning from upcoming gcc-4.5.0
32581         * lib/utimecmp.c (BILLION): Define using #define rather than an
32582         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32583
32584 2010-01-11  Eric Blake  <ebb9@byu.net>
32585
32586         math: add portability warnings for classification macros
32587         * modules/math (Depends-on): Add warn-on-use.
32588         (Makefile.am): Provide new substitutions.
32589         * m4/math_h.m4 (gl_MATH_H): Require inline.
32590         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32591         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32592         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32593         implement warnings.
32594
32595         unistd: warn on use of environ without module
32596         * modules/unistd (Depends-on): Add warn-on-use.
32597         (Makefile.am): Provide new substitutions.
32598         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32599         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32600
32601         stdio: warn on suspicious uses
32602         * modules/stdio (Depends-on): Add warn-on-use.
32603         (Makefile.am): Provide new substitutions.
32604         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32605         fseeko.
32606         * lib/stdio.in.h (gets): Always warn on use.
32607         (fseek, ftell): Adjust when warnings are issued, and honor
32608         _GL_NO_LARGE_FILES as a way to silence the warning.
32609         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32610         any warning about large file offsets.
32611         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32612         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32613         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32614         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32615         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32616         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32617         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32618         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32619
32620         warn-on-use: new module
32621         * modules/warn-on-use: New file.
32622         * build-aux/warn-on-use.h: Likewise.
32623         * m4/warn-on-use.m4: Likewise.
32624         * MODULES.html.sh (Support for building): Mention it.
32625
32626 2010-01-10  Bruno Haible  <bruno@clisp.org>
32627
32628         Tests for module 'unistr/u32-strdup'.
32629         * modules/unistr/u32-strdup-tests: New file.
32630         * tests/unistr/test-u32-strdup.c: New file.
32631
32632         Tests for module 'unistr/u16-strdup'.
32633         * modules/unistr/u16-strdup-tests: New file.
32634         * tests/unistr/test-u16-strdup.c: New file.
32635
32636         Tests for module 'unistr/u8-strdup'.
32637         * modules/unistr/u8-strdup-tests: New file.
32638         * tests/unistr/test-u8-strdup.c: New file.
32639         * tests/unistr/test-strdup.h: New file.
32640
32641         Tests for module 'unistr/u32-strncmp'.
32642         * modules/unistr/u32-strncmp-tests: New file.
32643         * tests/unistr/test-u32-strncmp.c: New file.
32644
32645         Tests for module 'unistr/u16-strncmp'.
32646         * modules/unistr/u16-strncmp-tests: New file.
32647         * tests/unistr/test-u16-strncmp.c: New file.
32648
32649         Tests for module 'unistr/u8-strncmp'.
32650         * modules/unistr/u8-strncmp-tests: New file.
32651         * tests/unistr/test-u8-strncmp.c: New file.
32652         * tests/unistr/test-strncmp.h: New file.
32653
32654         Tests for module 'unistr/u32-strcoll'.
32655         * modules/unistr/u32-strcoll-tests: New file.
32656         * tests/unistr/test-u32-strcoll.c: New file.
32657
32658         Tests for module 'unistr/u16-strcoll'.
32659         * modules/unistr/u16-strcoll-tests: New file.
32660         * tests/unistr/test-u16-strcoll.c: New file.
32661
32662         Tests for module 'unistr/u8-strcoll'.
32663         * modules/unistr/u8-strcoll-tests: New file.
32664         * tests/unistr/test-u8-strcoll.c: New file.
32665
32666         Tests for module 'unistr/u32-strcmp'.
32667         * modules/unistr/u32-strcmp-tests: New file.
32668         * tests/unistr/test-u32-strcmp.c: New file.
32669         * tests/unistr/test-u32-strcmp.h: New file.
32670
32671         Tests for module 'unistr/u16-strcmp'.
32672         * modules/unistr/u16-strcmp-tests: New file.
32673         * tests/unistr/test-u16-strcmp.c: New file.
32674         * tests/unistr/test-u16-strcmp.h: New file.
32675
32676         Tests for module 'unistr/u8-strcmp'.
32677         * modules/unistr/u8-strcmp-tests: New file.
32678         * tests/unistr/test-u8-strcmp.c: New file.
32679         * tests/unistr/test-u8-strcmp.h: New file.
32680         * tests/unistr/test-strcmp.h: New file.
32681
32682         Tests for module 'unistr/u32-strncat'.
32683         * modules/unistr/u32-strncat-tests: New file.
32684         * tests/unistr/test-u32-strncat.c: New file.
32685
32686         Tests for module 'unistr/u16-strncat'.
32687         * modules/unistr/u16-strncat-tests: New file.
32688         * tests/unistr/test-u16-strncat.c: New file.
32689
32690         Tests for module 'unistr/u8-strncat'.
32691         * modules/unistr/u8-strncat-tests: New file.
32692         * tests/unistr/test-u8-strncat.c: New file.
32693         * tests/unistr/test-strncat.h: New file.
32694
32695         Tests for module 'unistr/u32-strcat'.
32696         * modules/unistr/u32-strcat-tests: New file.
32697         * tests/unistr/test-u32-strcat.c: New file.
32698
32699         Tests for module 'unistr/u16-strcat'.
32700         * modules/unistr/u16-strcat-tests: New file.
32701         * tests/unistr/test-u16-strcat.c: New file.
32702
32703         Tests for module 'unistr/u8-strcat'.
32704         * modules/unistr/u8-strcat-tests: New file.
32705         * tests/unistr/test-u8-strcat.c: New file.
32706         * tests/unistr/test-strcat.h: New file.
32707
32708         Tests for module 'unistr/u32-stpncpy'.
32709         * modules/unistr/u32-stpncpy-tests: New file.
32710         * tests/unistr/test-u32-stpncpy.c: New file.
32711
32712         Tests for module 'unistr/u16-stpncpy'.
32713         * modules/unistr/u16-stpncpy-tests: New file.
32714         * tests/unistr/test-u16-stpncpy.c: New file.
32715
32716         Tests for module 'unistr/u8-stpncpy'.
32717         * modules/unistr/u8-stpncpy-tests: New file.
32718         * tests/unistr/test-u8-stpncpy.c: New file.
32719         * tests/unistr/test-stpncpy.h: New file.
32720
32721         Tests for module 'unistr/u32-strncpy'.
32722         * modules/unistr/u32-strncpy-tests: New file.
32723         * tests/unistr/test-u32-strncpy.c: New file.
32724
32725         Tests for module 'unistr/u16-strncpy'.
32726         * modules/unistr/u16-strncpy-tests: New file.
32727         * tests/unistr/test-u16-strncpy.c: New file.
32728
32729         Tests for module 'unistr/u8-strncpy'.
32730         * modules/unistr/u8-strncpy-tests: New file.
32731         * tests/unistr/test-u8-strncpy.c: New file.
32732         * tests/unistr/test-strncpy.h: New file.
32733
32734         Tests for module 'unistr/u32-stpcpy'.
32735         * modules/unistr/u32-stpcpy-tests: New file.
32736         * tests/unistr/test-u32-stpcpy.c: New file.
32737
32738         Tests for module 'unistr/u16-stpcpy'.
32739         * modules/unistr/u16-stpcpy-tests: New file.
32740         * tests/unistr/test-u16-stpcpy.c: New file.
32741
32742         Tests for module 'unistr/u8-stpcpy'.
32743         * modules/unistr/u8-stpcpy-tests: New file.
32744         * tests/unistr/test-u8-stpcpy.c: New file.
32745         * tests/unistr/test-stpcpy.h: New file.
32746
32747         Tests for module 'unistr/u32-strcpy'.
32748         * modules/unistr/u32-strcpy-tests: New file.
32749         * tests/unistr/test-u32-strcpy.c: New file.
32750
32751         Tests for module 'unistr/u16-strcpy'.
32752         * modules/unistr/u16-strcpy-tests: New file.
32753         * tests/unistr/test-u16-strcpy.c: New file.
32754
32755         Tests for module 'unistr/u8-strcpy'.
32756         * modules/unistr/u8-strcpy-tests: New file.
32757         * tests/unistr/test-u8-strcpy.c: New file.
32758         * tests/unistr/test-strcpy.h: New file.
32759
32760         Tests for module 'unistr/u32-strnlen'.
32761         * modules/unistr/u32-strnlen-tests: New file.
32762         * tests/unistr/test-u32-strnlen.c: New file.
32763
32764         Tests for module 'unistr/u16-strnlen'.
32765         * modules/unistr/u16-strnlen-tests: New file.
32766         * tests/unistr/test-u16-strnlen.c: New file.
32767
32768         Tests for module 'unistr/u8-strnlen'.
32769         * modules/unistr/u8-strnlen-tests: New file.
32770         * tests/unistr/test-u8-strnlen.c: New file.
32771         * tests/unistr/test-strnlen.h: New file.
32772
32773         Tests for module 'unistr/u32-strlen'.
32774         * modules/unistr/u32-strlen-tests: New file.
32775         * tests/unistr/test-u32-strlen.c: New file.
32776
32777         Tests for module 'unistr/u16-strlen'.
32778         * modules/unistr/u16-strlen-tests: New file.
32779         * tests/unistr/test-u16-strlen.c: New file.
32780
32781         Tests for module 'unistr/u8-strlen'.
32782         * modules/unistr/u8-strlen-tests: New file.
32783         * tests/unistr/test-u8-strlen.c: New file.
32784
32785         Tests for module 'unistr/u32-prev'.
32786         * modules/unistr/u32-prev-tests: New file.
32787         * tests/unistr/test-u32-prev.c: New file.
32788
32789         Tests for module 'unistr/u16-prev'.
32790         * modules/unistr/u16-prev-tests: New file.
32791         * tests/unistr/test-u16-prev.c: New file.
32792
32793         Tests for module 'unistr/u8-prev'.
32794         * modules/unistr/u8-prev-tests: New file.
32795         * tests/unistr/test-u8-prev.c: New file.
32796
32797         Tests for module 'unistr/u32-next'.
32798         * modules/unistr/u32-next-tests: New file.
32799         * tests/unistr/test-u32-next.c: New file.
32800
32801         Tests for module 'unistr/u16-next'.
32802         * modules/unistr/u16-next-tests: New file.
32803         * tests/unistr/test-u16-next.c: New file.
32804
32805         Tests for module 'unistr/u8-next'.
32806         * modules/unistr/u8-next-tests: New file.
32807         * tests/unistr/test-u8-next.c: New file.
32808
32809         Tests for module 'unistr/u32-strmbtouc'.
32810         * modules/unistr/u32-strmbtouc-tests: New file.
32811         * tests/unistr/test-u32-strmbtouc.c: New file.
32812
32813         Tests for module 'unistr/u16-strmbtouc'.
32814         * modules/unistr/u16-strmbtouc-tests: New file.
32815         * tests/unistr/test-u16-strmbtouc.c: New file.
32816
32817         Tests for module 'unistr/u8-strmbtouc'.
32818         * modules/unistr/u8-strmbtouc-tests: New file.
32819         * tests/unistr/test-u8-strmbtouc.c: New file.
32820
32821         Tests for module 'unistr/u32-strmblen'.
32822         * modules/unistr/u32-strmblen-tests: New file.
32823         * tests/unistr/test-u32-strmblen.c: New file.
32824
32825         Tests for module 'unistr/u16-strmblen'.
32826         * modules/unistr/u16-strmblen-tests: New file.
32827         * tests/unistr/test-u16-strmblen.c: New file.
32828
32829         Tests for module 'unistr/u8-strmblen'.
32830         * modules/unistr/u8-strmblen-tests: New file.
32831         * tests/unistr/test-u8-strmblen.c: New file.
32832
32833         Tests for module 'unistr/u32-cpy-alloc'.
32834         * modules/unistr/u32-cpy-alloc-tests: New file.
32835         * tests/unistr/test-u32-cpy-alloc.c: New file.
32836
32837         Tests for module 'unistr/u16-cpy-alloc'.
32838         * modules/unistr/u16-cpy-alloc-tests: New file.
32839         * tests/unistr/test-u16-cpy-alloc.c: New file.
32840
32841         Tests for module 'unistr/u8-cpy-alloc'.
32842         * modules/unistr/u8-cpy-alloc-tests: New file.
32843         * tests/unistr/test-u8-cpy-alloc.c: New file.
32844         * tests/unistr/test-cpy-alloc.h: New file.
32845
32846         Tests for module 'unistr/u32-mbsnlen'.
32847         * modules/unistr/u32-mbsnlen-tests: New file.
32848         * tests/unistr/test-u32-mbsnlen.c: New file.
32849
32850         Tests for module 'unistr/u16-mbsnlen'.
32851         * modules/unistr/u16-mbsnlen-tests: New file.
32852         * tests/unistr/test-u16-mbsnlen.c: New file.
32853
32854         Tests for module 'unistr/u8-mbsnlen'.
32855         * modules/unistr/u8-mbsnlen-tests: New file.
32856         * tests/unistr/test-u8-mbsnlen.c: New file.
32857
32858         Tests for module 'unistr/u32-chr'.
32859         * modules/unistr/u32-chr-tests: New file.
32860         * tests/unistr/test-u32-chr.c: New file.
32861
32862         Tests for module 'unistr/u16-chr'.
32863         * modules/unistr/u16-chr-tests: New file.
32864         * tests/unistr/test-u16-chr.c: New file.
32865
32866         Tests for module 'unistr/u8-chr'.
32867         * modules/unistr/u8-chr-tests: New file.
32868         * tests/unistr/test-u8-chr.c: New file.
32869         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32870
32871         Tests for module 'unistr/u32-cmp2'.
32872         * modules/unistr/u32-cmp2-tests: New file.
32873         * tests/unistr/test-u32-cmp2.c: New file.
32874
32875         Tests for module 'unistr/u16-cmp2'.
32876         * modules/unistr/u16-cmp2-tests: New file.
32877         * tests/unistr/test-u16-cmp2.c: New file.
32878
32879         Tests for module 'unistr/u8-cmp2'.
32880         * modules/unistr/u8-cmp2-tests: New file.
32881         * tests/unistr/test-u8-cmp2.c: New file.
32882         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32883
32884         Tests for module 'unistr/u32-cmp'.
32885         * modules/unistr/u32-cmp-tests: New file.
32886         * tests/unistr/test-u32-cmp.c: New file.
32887
32888         Tests for module 'unistr/u16-cmp'.
32889         * modules/unistr/u16-cmp-tests: New file.
32890         * tests/unistr/test-u16-cmp.c: New file.
32891
32892         Tests for module 'unistr/u8-cmp'.
32893         * modules/unistr/u8-cmp-tests: New file.
32894         * tests/unistr/test-u8-cmp.c: New file.
32895         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32896
32897         Tests for module 'unistr/u32-set'.
32898         * modules/unistr/u32-set-tests: New file.
32899         * tests/unistr/test-u32-set.c: New file.
32900
32901         Tests for module 'unistr/u16-set'.
32902         * modules/unistr/u16-set-tests: New file.
32903         * tests/unistr/test-u16-set.c: New file.
32904
32905         Tests for module 'unistr/u8-set'.
32906         * modules/unistr/u8-set-tests: New file.
32907         * tests/unistr/test-u8-set.c: New file.
32908         * tests/unistr/test-set.h: New file.
32909
32910         Tests for module 'unistr/u32-move'.
32911         * modules/unistr/u32-move-tests: New file.
32912         * tests/unistr/test-u32-move.c: New file.
32913
32914         Tests for module 'unistr/u16-move'.
32915         * modules/unistr/u16-move-tests: New file.
32916         * tests/unistr/test-u16-move.c: New file.
32917
32918         Tests for module 'unistr/u8-move'.
32919         * modules/unistr/u8-move-tests: New file.
32920         * tests/unistr/test-u8-move.c: New file.
32921         * tests/unistr/test-move.h: New file.
32922
32923         Tests for module 'unistr/u32-cpy'.
32924         * modules/unistr/u32-cpy-tests: New file.
32925         * tests/unistr/test-u32-cpy.c: New file.
32926
32927         Tests for module 'unistr/u16-cpy'.
32928         * modules/unistr/u16-cpy-tests: New file.
32929         * tests/unistr/test-u16-cpy.c: New file.
32930
32931         Tests for module 'unistr/u8-cpy'.
32932         * modules/unistr/u8-cpy-tests: New file.
32933         * tests/unistr/test-u8-cpy.c: New file.
32934         * tests/unistr/test-cpy.h: New file.
32935
32936 2010-01-09  Bruno Haible  <bruno@clisp.org>
32937
32938         Tests for module 'unistr/u32-uctomb'.
32939         * modules/unistr/u32-uctomb-tests: New file.
32940         * tests/unistr/test-u32-uctomb.c: New file.
32941
32942         Tests for module 'unistr/u16-uctomb'.
32943         * modules/unistr/u16-uctomb-tests: New file.
32944         * tests/unistr/test-u16-uctomb.c: New file.
32945
32946         Tests for module 'unistr/u8-uctomb'.
32947         * modules/unistr/u8-uctomb-tests: New file.
32948         * tests/unistr/test-u8-uctomb.c: New file.
32949
32950         Tests for module 'unistr/u32-mbtoucr'.
32951         * modules/unistr/u32-mbtoucr-tests: New file.
32952         * tests/unistr/test-u32-mbtoucr.c: New file.
32953
32954         Tests for module 'unistr/u16-mbtoucr'.
32955         * modules/unistr/u16-mbtoucr-tests: New file.
32956         * tests/unistr/test-u16-mbtoucr.c: New file.
32957
32958         Tests for module 'unistr/u8-mbtoucr'.
32959         * modules/unistr/u8-mbtoucr-tests: New file.
32960         * tests/unistr/test-u8-mbtoucr.c: New file.
32961
32962         Tests for module 'unistr/u32-mbtouc'.
32963         * modules/unistr/u32-mbtouc-tests: New file.
32964         * tests/unistr/test-u32-mbtouc.c: New file.
32965
32966         Tests for module 'unistr/u16-mbtouc'.
32967         * modules/unistr/u16-mbtouc-tests: New file.
32968         * tests/unistr/test-u16-mbtouc.c: New file.
32969
32970         Tests for module 'unistr/u8-mbtouc'.
32971         * modules/unistr/u8-mbtouc-tests: New file.
32972         * tests/unistr/test-u8-mbtouc.c: New file.
32973
32974         Tests for module 'unistr/u32-mbtouc-unsafe'.
32975         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32976         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32977         * tests/unistr/test-u32-mbtouc.h: New file.
32978
32979         Tests for module 'unistr/u16-mbtouc-unsafe'.
32980         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32981         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32982         * tests/unistr/test-u16-mbtouc.h: New file.
32983
32984         Tests for module 'unistr/u8-mbtouc-unsafe'.
32985         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32986         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32987         * tests/unistr/test-u8-mbtouc.h: New file.
32988
32989         Tests for module 'unistr/u32-mblen'.
32990         * modules/unistr/u32-mblen-tests: New file.
32991         * tests/unistr/test-u32-mblen.c: New file.
32992
32993         Tests for module 'unistr/u16-mblen'.
32994         * modules/unistr/u16-mblen-tests: New file.
32995         * tests/unistr/test-u16-mblen.c: New file.
32996
32997         Tests for module 'unistr/u8-mblen'.
32998         * modules/unistr/u8-mblen-tests: New file.
32999         * tests/unistr/test-u8-mblen.c: New file.
33000
33001         Tests for module 'unistr/u32-to-u16'.
33002         * modules/unistr/u32-to-u16-tests: New file.
33003         * tests/unistr/test-u32-to-u16.c: New file.
33004
33005         Tests for module 'unistr/u32-to-u8'.
33006         * modules/unistr/u32-to-u8-tests: New file.
33007         * tests/unistr/test-u32-to-u8.c: New file.
33008
33009         Tests for module 'unistr/u16-to-u32'.
33010         * modules/unistr/u16-to-u32-tests: New file.
33011         * tests/unistr/test-u16-to-u32.c: New file.
33012
33013         Tests for module 'unistr/u16-to-u8'.
33014         * modules/unistr/u16-to-u8-tests: New file.
33015         * tests/unistr/test-u16-to-u8.c: New file.
33016
33017         Tests for module 'unistr/u8-to-u32'.
33018         * modules/unistr/u8-to-u32-tests: New file.
33019         * tests/unistr/test-u8-to-u32.c: New file.
33020
33021         Tests for module 'unistr/u8-to-u16'.
33022         * modules/unistr/u8-to-u16-tests: New file.
33023         * tests/unistr/test-u8-to-u16.c: New file.
33024
33025         Tests for module 'unistr/u32-check'.
33026         * modules/unistr/u32-check-tests: New file.
33027         * tests/unistr/test-u32-check.c: New file.
33028
33029         Tests for module 'unistr/u16-check'.
33030         * modules/unistr/u16-check-tests: New file.
33031         * tests/unistr/test-u16-check.c: New file.
33032
33033         Tests for module 'unistr/u8-check'.
33034         * modules/unistr/u8-check-tests: New file.
33035         * tests/unistr/test-u8-check.c: New file.
33036
33037         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33038         (category_equals): New function.
33039         (main): Add more tests.
33040         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33041
33042         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33043
33044 2010-01-10  Bruno Haible  <bruno@clisp.org>
33045
33046         unistr/u*-strcoll: Try harder to distinguish different strings.
33047         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33048         compare s1 and s2 to see if they are different.
33049
33050 2010-01-10  Bruno Haible  <bruno@clisp.org>
33051
33052         unistr/u*-stpncpy: Fix the return value.
33053         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33054         description of the return value consistent with stpncpy in glibc.
33055         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33056         written non-NUL unit.
33057
33058 2010-01-10  Bruno Haible  <bruno@clisp.org>
33059
33060         unistr/u*-next: Add missing dependencies.
33061         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33062         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33063         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33064
33065 2010-01-10  Bruno Haible  <bruno@clisp.org>
33066
33067         unistr/u8-mbsnlen: Fix return value for incomplete character.
33068         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33069         u8_mblen.
33070         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33071         Remove unistr/u8-mblen.
33072         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33073         u16_mblen.
33074         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33075         Remove unistr/u16-mblen.
33076
33077 2010-01-10  Bruno Haible  <bruno@clisp.org>
33078
33079         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33080         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33081         Reported by Brian Gough <bjg@gnu.org> and
33082         Chris Clayton <chris2553@googlemail.com> via
33083         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33084
33085 2010-01-09  Bruno Haible  <bruno@clisp.org>
33086
33087         unistr/u16-to-u32: Reject invalid input.
33088         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33089         u16_mbtouc.
33090         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33091         Remove unistr/u16-mbtouc.
33092
33093         unistr/u16-to-u8: Reject invalid input.
33094         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33095         u16_mbtouc.
33096         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33097         Remove unistr/u16-mbtouc.
33098
33099         unistr/u8-to-u32: Reject invalid input.
33100         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33101         u8_mbtouc.
33102         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33103         Remove unistr/u8-mbtouc.
33104
33105         unistr/u8-to-u16: Reject invalid input.
33106         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33107         u8_mbtouc.
33108         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33109         Remove unistr/u8-mbtouc.
33110
33111 2010-01-09  Bruno Haible  <bruno@clisp.org>
33112
33113         Tests for module 'getlogin'.
33114         * modules/getlogin-tests: New file.
33115         * tests/test-getlogin.c: New file.
33116
33117         New module 'getlogin'.
33118         * lib/unistd.in.h (getlogin): New declaration.
33119         * lib/getlogin.c: New file.
33120         * m4/getlogin.m4: New file.
33121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33122         HAVE_GETLOGIN.
33123         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33124         HAVE_GETLOGIN.
33125         * modules/getlogin: New file.
33126         * doc/posix-functions/getlogin.texi: Mention the new module.
33127         Reported by John W. Eaton <jwe@gnu.org>.
33128
33129 2010-01-09  Bruno Haible  <bruno@clisp.org>
33130
33131         getlogin_r: Support for native Windows.
33132         * lib/getlogin_r.c: Include <windows.h>
33133         (getlogin_r): Implement for native Windows.
33134         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33135         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33136         via John W. Eaton <jwe@gnu.org>.
33137
33138 2010-01-09  Bruno Haible  <bruno@clisp.org>
33139
33140         getlogin_r: Small fixes.
33141         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33142         succeeds.
33143         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33144         before testing whether getlogin_r is declared. No need to set
33145         HAVE_DECL_GETLOGIN_R to 1.
33146         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33147
33148 2010-01-09  Bruno Haible  <bruno@clisp.org>
33149
33150         * lib/unistd.in.h (getlogin_r): Add comment.
33151
33152 2010-01-09  Bruno Haible  <bruno@clisp.org>
33153
33154         Tests for module 'getlogin_r'.
33155         * modules/getlogin_r-tests: New file.
33156         * tests/test-getlogin_r.c: New file.
33157
33158 2010-01-09  Jim Meyering  <meyering@redhat.com>
33159
33160         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33161         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33162         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33163
33164 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33165
33166         * lib/dup2.c (rpl_dup2): Improve comment.
33167
33168 2010-01-08  Eric Blake  <ebb9@byu.net>
33169
33170         maint.mk: allow packages to add makefile @@ exceptions
33171         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33172         (sc_makefile_check): Rename...
33173         (sc_makefile_at_at_check): ...to this, and use hook.
33174
33175         dup2: work around mingw bug
33176         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33177         Reported by Simon Josefsson.
33178
33179 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33180
33181         glob: Fix C++ compilation.
33182         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33183         C++.
33184
33185 2010-01-07  Bruno Haible  <bruno@clisp.org>
33186
33187         Fix indentation of wctype.in.h, broken since 2007-01-06.
33188         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33189
33190 2010-01-07  Bruno Haible  <bruno@clisp.org>
33191
33192         mbslen: Avoid collision with system function.
33193         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33194         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33195         * m4/mbslen.m4: New file.
33196         * modules/mbslen (Files): Add it.
33197         (configure.ac): Invoke gl_MBSLEN.
33198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33199         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33200         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33201         via Ian Beckwith <ianb@erislabs.net>.
33202
33203 2010-01-07  Bruno Haible  <bruno@clisp.org>
33204
33205         dirent: Document the last fix.
33206         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33207
33208 2010-01-07  Bruno Haible  <bruno@clisp.org>
33209
33210         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33211         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33212         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33213         va_list are defined.
33214         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33215         Reported by Eric Blake.
33216
33217 2010-01-07  Bruno Haible  <bruno@clisp.org>
33218
33219         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33220         * modules/xlist (Depends-on): Add 'list',
33221         * modules/xoset (Depends-on): Add 'oset'.
33222         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33223
33224 2010-01-07  Bruno Haible  <bruno@clisp.org>
33225
33226         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33227         * doc/posix-functions/strncasecmp.texi: Likewise.
33228
33229 2010-01-07  Bruno Haible  <bruno@clisp.org>
33230
33231         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33232
33233 2010-01-07  John W. Eaton  <jwe@octave.org>
33234
33235         wctype: allow C++ use
33236         * lib/wctype.in.h: Add extern "C" block for C++.
33237
33238 2010-01-06  Eric Blake  <ebb9@byu.net>
33239
33240         maint.mk: detect incorrect GFDL usage
33241         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33242
33243 2010-01-06  Jim Meyering  <meyering@redhat.com>
33244         and Eric Blake  <ebb9@byu.net>
33245
33246         maint.mk: ignore multi-line copyright in NEWS
33247         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33248
33249 2010-01-06  Eric Blake  <ebb9@byu.net>
33250
33251         select: add missing dependency
33252         * modules/select-tests (Depends-on): Move sockets dependency...
33253         * modules/select (Depends-on): ...here.
33254         Reported by Ian Beckwith.
33255
33256         doc: regenerate INSTALL
33257         * doc/INSTALL: Reflect recent autoconf update.
33258         * doc/INSTALL.ISO: Likewise.
33259         * doc/INSTALL.UTF-8: Likewise.
33260
33261         pread: fix compilation on glibc
33262         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33263         Reported by Ralf Wildenhues.
33264
33265         dirent: fix test failure
33266         * lib/dirent.in.h (includes): Guarantee ino_t.
33267         Reported by Ralf Wildenhues.
33268
33269 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33270
33271         linkat, renameat: avoid bad free
33272         * lib/at-func2.c (at_func2): Fix typo.
33273         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33274
33275 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33276
33277         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33278         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33279         to avoid failure of symlink test later.
33280
33281 2010-01-06  Eric Blake  <ebb9@byu.net>
33282
33283         stdio, unistd: guarantee ssize_t
33284         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33285         2008 are exposed when needed.
33286         * lib/stdio.in.h (includes): Likewise.
33287         Reported by Ralf Wildenhues.
33288
33289 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33290
33291         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33292         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33293         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33294
33295 2010-01-06  Jim Meyering  <meyering@redhat.com>
33296
33297         readtokens: this module *does* require xalloc.h
33298         It uses only functions that were omitted by the old syntax-check rule.
33299         * lib/readtokens.c: Include "xalloc.h" once again.
33300         * modules/readtokens (Depends-on): Add xalloc.
33301         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33302
33303 2010-01-05  Eric Blake  <ebb9@byu.net>
33304
33305         maint: support 'make announcement' from a VPATH build
33306         * top/maint.mk (announcement): Look for correct NEWS file.
33307
33308 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33309
33310         utimens (fdutimens): ignore a negative FD, per contract
33311         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33312         when we have a valid file descriptor.  Otherwise, using a brand
33313         new glibc (with just-patched futimens that now fails with EBADF)
33314         would cause this function to fail with ENOSYS.
33315         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33316         See also http://bugzilla.redhat.com/552320.
33317
33318 2010-01-05  Eric Blake  <ebb9@byu.net>
33319
33320         strcase: document what it provides
33321         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33322         gnulib module.
33323         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33324         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33325
33326 2010-01-05  Jim Meyering  <meyering@redhat.com>
33327
33328         maint: remove useless inclusions of "xalloc.h"
33329         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33330         * lib/readtokens.c: Likewise.
33331         * lib/same.c: Likewise.
33332         * modules/getloadavg (Depends-on): Remove xalloc.
33333         * modules/readtokens: Likewise.
33334         * modules/same: Likewise.
33335
33336         maint.mk: include 4 more function names in alloca.h-checking regexp
33337         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33338         regexp.  Before, we would give a false-positive (saying alloca.h
33339         is included unnecessarily) when the only uses involved omitted symbols.
33340
33341         xalloc.h: use consistent formatting
33342         * lib/xalloc.h: Move declarations to start in the first column.
33343
33344 2010-01-05  Eric Blake  <ebb9@byu.net>
33345
33346         mkdir: avoid xalloc
33347         * lib/mkdir.c (includes): Drop unused header.
33348         Reported by John W. Eaton.
33349
33350 2010-01-04  Jim Meyering  <meyering@redhat.com>
33351
33352         nl_langinfo: avoid configure-time syntax error
33353         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33354         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33355         the empty string.  Don't let that provoke a shell syntax error.
33356
33357         regcomp, regexec, fnmatch: avoid array bounds read error
33358         * lib/regcomp.c (build_equiv_class): From glibc:
33359         Use only the low 24 bits of a findidx return value as an index
33360         into the weights array.  Patch by Ulrich Drepper:
33361         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33362         * lib/regexec.c (check_node_accept_bytes): Likewise.
33363         * lib/fnmatch_loop.c (FCT): Likewise.
33364
33365         regcomp: skip collseq lookup when there are no rules
33366         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33367         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33368
33369         regcomp: recognize ill-formed { } expressions
33370         * lib/regcomp.c (parse_dup_op): From glibc:
33371         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33372
33373         regcomp: fix typo in comment
33374         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33375         s/satisfy/satisfies/.
33376
33377         regcomp: sync from glibc: remove dead store
33378         * lib/regcomp.c (duplicate_node_closure): Remove useless
33379         search_duplicated_node call and dead store.
33380
33381         regcomp: sync from glibc; always use nl_langinfo
33382         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33383         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33384         * modules/regex (Depends-on): Add nl_langinfo.
33385
33386 2010-01-04  Eric Blake  <ebb9@byu.net>
33387
33388         fdopendir: fix configure test
33389         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33390
33391 2010-01-01  Bruno Haible  <bruno@clisp.org>
33392
33393         wchar: Remove unused configure check.
33394         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33395
33396 2010-01-01  Eric Blake  <ebb9@byu.net>
33397
33398         headers: make check of system header explicit
33399         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33400         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33401         ourselves.
33402         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33403         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33404         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33405         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33406         internals.
33407         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33408         missing.
33409         Suggested by Bruno Haible.
33410
33411 2010-01-01  Jim Meyering  <meyering@redhat.com>
33412
33413         ChangeLog: tweak to eliminate unnecessary copyright line
33414         * ChangeLog: Remove a copyright line that was mistakenly updated
33415         by today's update-copyright run.  Reported by Eric Blake.
33416
33417         test-update-copyright: don't let envvar setting cause test failure
33418         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33419
33420 2010-01-01  Bruno Haible  <bruno@clisp.org>
33421
33422         localename: Avoid gcc warning.
33423         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33424         function if it is not used.
33425
33426 2010-01-01  Jim Meyering  <meyering@redhat.com>
33427
33428         update nearly all FSF copyright year lists to include 2010
33429         Use the same procedure as for 2009, outlined in
33430         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33431
33432         version-etc: set COPYRIGHT_YEAR to 2010
33433         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33434
33435 2009-12-31  Eric Blake  <ebb9@byu.net>
33436
33437         doc: correct availability of cygwin 1.5.x getopt
33438         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33439         variables.
33440         * doc/posix-functions/opterr.texi (opterr): Likewise.
33441         * doc/posix-functions/optind.texi (optind): Likewise.
33442         * doc/posix-functions/optopt.texi (optopt): Likewise.
33443         * doc/posix-functions/tzname.texi (tzname): Likewise.
33444
33445         openat: update maintainer
33446         * modules/openat (Maintainer): Add myself.
33447
33448         utimens: avoid shadowing warning
33449         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33450         buffers into one, to avoid shadowing, as well as avoiding a
33451         redundant stat.
33452         Reported by Jim Meyering.
33453
33454         test-dup2: avoid compiler warning
33455         * tests/test-dup2.c (is_inheritable): Only define if used.
33456
33457 2010-01-01  Bruno Haible  <bruno@clisp.org>
33458
33459         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33460         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33461         defined, use wctomb instead of wcrtomb.
33462
33463 2010-01-01  Bruno Haible  <bruno@clisp.org>
33464
33465         iconv: Reject native Solaris iconv.
33466         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33467         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33468
33469 2009-12-31  Bruno Haible  <bruno@clisp.org>
33470
33471         * tests/test-signal.c (main): Remove test of 'SIG'.
33472
33473 2009-12-31  Bruno Haible  <bruno@clisp.org>
33474
33475         spawn: Fix incomplete fix.
33476         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33477         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33478         warnings for GNULIB_POSIXCHECK again.
33479         Reported by Eric Blake.
33480
33481 2009-12-31  Bruno Haible  <bruno@clisp.org>
33482
33483         Avoid namespace pollution on glibc systems.
33484         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33485         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33486         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33487         glibc systems.
33488
33489 2009-12-31  Bruno Haible  <bruno@clisp.org>
33490
33491         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33492         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33493         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33494         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33495         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33496         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33497         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33498
33499 2009-12-31  Bruno Haible  <bruno@clisp.org>
33500
33501         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33502         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33503         afterwards.
33504
33505 2009-12-31  Bruno Haible  <bruno@clisp.org>
33506
33507         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33508         SYS_UTSNAME_H.
33509
33510 2009-12-31  Bruno Haible  <bruno@clisp.org>
33511
33512         spawn: Fix misapplied patch.
33513         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33514         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33515         warnings for GNULIB_POSIXCHECK.
33516
33517 2009-12-31  Bruno Haible  <bruno@clisp.org>
33518
33519         times: Update after sys_times changed.
33520         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33521         * modules/times (Files): Add it.
33522         (configure.ac): Invoke gl_FUNC_TIMES.
33523
33524 2009-12-31  Bruno Haible  <bruno@clisp.org>
33525
33526         Use AC_C_INLINE where necessary.
33527         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33528         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33529         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33530         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33531         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33532         * m4/mbiter.m4 (gl_MBITER): Likewise.
33533         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33534         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33535         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33536         * modules/u64 (configure.ac): Likewise.
33537
33538 2009-12-31  Bruno Haible  <bruno@clisp.org>
33539
33540         Use AC_C_INLINE instead of module 'inline' where possible.
33541         * modules/inline (Description): Clarify purpose.
33542         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33543         * modules/count-one-bits (Depends-on): Remove inline.
33544         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33545         * modules/openat (Depends-on): Remove inline.
33546         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33547         instead of depending on module 'inline'.
33548         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33549         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33550         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33551         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33552         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33553         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33554         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33555         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33556         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33557         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33558         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33559         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33560         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33561         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33562         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33563         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33564         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33565         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33566         Likewise.
33567         * modules/unictype/property-ascii-hex-digit (Depends-on,
33568         configure.ac): Likewise.
33569         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33570         configure.ac): Likewise.
33571         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33572         configure.ac): Likewise.
33573         * modules/unictype/property-bidi-block-separator (Depends-on,
33574         configure.ac): Likewise.
33575         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33576         configure.ac): Likewise.
33577         * modules/unictype/property-bidi-common-separator (Depends-on,
33578         configure.ac): Likewise.
33579         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33580         Likewise.
33581         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33582         configure.ac): Likewise.
33583         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33584         configure.ac): Likewise.
33585         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33586         configure.ac): Likewise.
33587         * modules/unictype/property-bidi-european-digit (Depends-on,
33588         configure.ac): Likewise.
33589         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33590         configure.ac): Likewise.
33591         * modules/unictype/property-bidi-left-to-right (Depends-on,
33592         configure.ac): Likewise.
33593         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33594         configure.ac): Likewise.
33595         * modules/unictype/property-bidi-other-neutral (Depends-on,
33596         configure.ac): Likewise.
33597         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33598         Likewise.
33599         * modules/unictype/property-bidi-segment-separator (Depends-on,
33600         configure.ac): Likewise.
33601         * modules/unictype/property-bidi-whitespace (Depends-on,
33602         configure.ac): Likewise.
33603         * modules/unictype/property-combining (Depends-on, configure.ac):
33604         Likewise.
33605         * modules/unictype/property-composite (Depends-on, configure.ac):
33606         Likewise.
33607         * modules/unictype/property-currency-symbol (Depends-on,
33608         configure.ac): Likewise.
33609         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33610         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33611         Likewise.
33612         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33613         configure.ac): Likewise.
33614         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33615         Likewise.
33616         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33617         Likewise.
33618         * modules/unictype/property-extender (Depends-on, configure.ac):
33619         Likewise.
33620         * modules/unictype/property-format-control (Depends-on, configure.ac):
33621         Likewise.
33622         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33623         Likewise.
33624         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33625         Likewise.
33626         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33627         Likewise.
33628         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33629         Likewise.
33630         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33631         Likewise.
33632         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33633         Likewise.
33634         * modules/unictype/property-id-start (Depends-on, configure.ac):
33635         Likewise.
33636         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33637         Likewise.
33638         * modules/unictype/property-ids-binary-operator (Depends-on,
33639         configure.ac): Likewise.
33640         * modules/unictype/property-ids-trinary-operator (Depends-on,
33641         configure.ac): Likewise.
33642         * modules/unictype/property-ignorable-control (Depends-on,
33643         configure.ac): Likewise.
33644         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33645         Likewise.
33646         * modules/unictype/property-join-control (Depends-on, configure.ac):
33647         Likewise.
33648         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33649         Likewise.
33650         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33651         Likewise.
33652         * modules/unictype/property-logical-order-exception (Depends-on,
33653         configure.ac): Likewise.
33654         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33655         Likewise.
33656         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33657         * modules/unictype/property-non-break (Depends-on, configure.ac):
33658         Likewise.
33659         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33660         Likewise.
33661         * modules/unictype/property-numeric (Depends-on, configure.ac):
33662         Likewise.
33663         * modules/unictype/property-other-alphabetic (Depends-on,
33664         configure.ac): Likewise.
33665         * modules/unictype/property-other-default-ignorable-code-point
33666         (Depends-on, configure.ac): Likewise.
33667         * modules/unictype/property-other-grapheme-extend (Depends-on,
33668         configure.ac): Likewise.
33669         * modules/unictype/property-other-id-continue (Depends-on,
33670         configure.ac): Likewise.
33671         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33672         Likewise.
33673         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33674         Likewise.
33675         * modules/unictype/property-other-math (Depends-on, configure.ac):
33676         Likewise.
33677         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33678         Likewise.
33679         * modules/unictype/property-paired-punctuation (Depends-on,
33680         configure.ac): Likewise.
33681         * modules/unictype/property-paragraph-separator (Depends-on,
33682         configure.ac): Likewise.
33683         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33684         Likewise.
33685         * modules/unictype/property-pattern-white-space (Depends-on,
33686         configure.ac): Likewise.
33687         * modules/unictype/property-private-use (Depends-on, configure.ac):
33688         Likewise.
33689         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33690         Likewise.
33691         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33692         Likewise.
33693         * modules/unictype/property-radical (Depends-on, configure.ac):
33694         Likewise.
33695         * modules/unictype/property-sentence-terminal (Depends-on,
33696         configure.ac): Likewise.
33697         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33698         Likewise.
33699         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33700         * modules/unictype/property-terminal-punctuation (Depends-on,
33701         configure.ac): Likewise.
33702         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33703         Likewise.
33704         * modules/unictype/property-unassigned-code-value (Depends-on,
33705         configure.ac): Likewise.
33706         * modules/unictype/property-unified-ideograph (Depends-on,
33707         configure.ac): Likewise.
33708         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33709         Likewise.
33710         * modules/unictype/property-variation-selector (Depends-on,
33711         configure.ac): Likewise.
33712         * modules/unictype/property-white-space (Depends-on, configure.ac):
33713         Likewise.
33714         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33715         Likewise.
33716         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33717         Likewise.
33718         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33719         Likewise.
33720         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33721         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33722         Likewise.
33723
33724 2009-12-31  Bruno Haible  <bruno@clisp.org>
33725
33726         Remove unnecessary AC_C_INLINE invocation.
33727         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33728         since 2009-08-21.
33729
33730 2009-12-31  Jim Meyering  <meyering@redhat.com>
33731
33732         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33733         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33734         With this change, we can all remove the gpg_key_ID = ... definition
33735         from our respective cfg.mk files.
33736
33737         maint.mk: create announcement template in ~/, not in /tmp
33738         * top/maint.mk (emit_upload_commands): Adjust.
33739         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33740         Remove temporary file, .ci-msg.
33741
33742 2009-12-31  Eric Blake  <ebb9@byu.net>
33743
33744         link-warning: always build headers with link warnings
33745         * modules/arpa_inet (Makefile.am): Always build replacement
33746         header.
33747         * modules/ctype (Makefile.am): Likewise.
33748         * modules/dirent (Makefile.am): Likewise.
33749         * modules/inttypes (Makefile.am): Likewise.
33750         * modules/langinfo (Makefile.am): Likewise.
33751         * modules/locale (Makefile.am): Likewise.
33752         * modules/spawn (Makefile.am): Likewise.
33753         * modules/sys_file (Makefile.am): Likewise.
33754         * modules/sys_ioctl (Makefile.am): Likewise.
33755         * modules/sys_select (Makefile.am): Likewise.
33756         * modules/sys_socket (Makefile.am): Likewise.
33757         * modules/sys_times (Makefile.am): Likewise.
33758         * modules/sys_utsname (Makefile.am): Likewise.
33759         * modules/sys_wait (Makefile.am): Likewise.
33760         * modules/wchar (Makefile.am): Likewise.
33761         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33762         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33763         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33764         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33765         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33766         Likewise.
33767         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33768         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33769         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33770         Likewise.
33771         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33772         Likewise.
33773         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33774         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33775         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33776         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33777         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33778         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33779         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33780         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33781         (gl_WCHAR_H_DEFAULTS): Likewise.
33782
33783 2009-12-31  Eric Blake  <ebb9@byu.net>
33784
33785         signal, spawn: use link warnings
33786         * lib/signal.in.h (sigset_t): Make unconditional.
33787         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33788         (sigpending, sigprocmask, sigaction): Add link warnings.
33789         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33790         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33791         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33792         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33793         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33794         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33795         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33796         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33797         (posix_spawn_file_actions_destroy)
33798         (posix_spawn_file_actions_addopen)
33799         (posix_spawn_file_actions_addclose)
33800         (posix_spawn_file_actions_adddup2): Likewise.
33801         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33802         * tests/test-signal.c (main): Enhance test.
33803
33804         spawn: improve wrapper support
33805         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33806         (gl_SPAWN_H_DEFAULTS): New defaults.
33807         * modules/spawn (Makefile.am): Substitute them.
33808         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33809         Only declare if missing or broken.
33810
33811         sys_times, sys_utsname: use include_next
33812         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33813         header.
33814         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33815         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33816         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33817         * modules/sys_times (Depends-on): Add include_next.
33818         (Makefile.am): Substitute additional values.
33819         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33820         * lib/sys_times.in.h (includes): Include native header, if
33821         available.
33822         * lib/sys_utsname.in.h (includes): Likewise.
33823         * tests/test-sys_times.c (main): Enhance test.
33824
33825         fdutimensat: revert prior patch
33826         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33827         utimens.h.
33828         Reported by Bruno Haible.
33829
33830 2009-12-30  Eric Blake  <ebb9@byu.net>
33831
33832         sys_wait: drop link-warning dependency
33833         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33834         link-warning efforts.
33835         * lib/sys_wait.in.h: Likewise.
33836
33837         fdutimensat: remove bogus dependency
33838         * modules/fdutimensat (Depends-on): Drop inline.
33839
33840         unistd: fix typo
33841         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33842
33843 2009-12-30  Bruno Haible  <bruno@clisp.org>
33844
33845         Fix compilation error with Solaris cc.
33846         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33847         * lib/unicase/u16-is-invariant.c: Likewise.
33848         * lib/unicase/u32-is-invariant.c: Likewise.
33849         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33850
33851 2009-12-30  Bruno Haible  <bruno@clisp.org>
33852
33853         Fix test crash.
33854         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33855         locales.
33856         Reported by Simon Josefsson <simon@josefsson.org>.
33857
33858 2009-12-30  Bruno Haible  <bruno@clisp.org>
33859
33860         Fix compilation error on most platforms.
33861         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33862         Reported by Simon Josefsson <simon@josefsson.org>
33863         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33864
33865 2009-12-30  Eric Blake  <ebb9@byu.net>
33866
33867         futimens, utimensat: work around ntfs-3g bug
33868         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33869         a ctime bug is present, and expand workaround to cover ntfs-3g.
33870         * lib/utimens.c (fdutimens, lutimens): Likewise.
33871         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33872         (validate_timespec): Adjust return value.
33873         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33874         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33875         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33876
33877 2009-12-29  Eric Blake  <ebb9@byu.net>
33878
33879         link-warning: make usage consistent
33880         * modules/ctype (Depends-on): Add link-warning.
33881         (Makefile.am): Update rules accordingly.
33882         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33883         * modules/locale (Depends-on, Makefile.am): Likewise.
33884         * modules/sys_file (Makefile.am): Likewise.
33885         * modules/getopt-posix (Makefile.am): Delete unused link warning
33886         efforts.
33887         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33888         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33889         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33890         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33891
33892         stdio: remove unused variables
33893         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33894         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33895         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33896
33897         tests: test more substitute headers
33898         * modules/ctype-tests: New file.
33899         * modules/dirent-tests: Likewise.
33900         * modules/spawn-tests: Likewise.
33901         * modules/sys_file-tests: Likewise.
33902         * modules/sys_ioctl-tests: Likewise.
33903         * modules/sys_wait-tests: Likewise.
33904         * tests/test-ctype.c: Likewise.
33905         * tests/test-dirent.c: Likewise.
33906         * tests/test-spawn.c: Likewise.
33907         * tests/test-sys_file.c: Likewise.
33908         * tests/test-sys_ioctl.c: Likewise.
33909         * tests/test-sys_wait.c: Likewise.
33910         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33911         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33912         whether or not flock is in use.
33913
33914         tests: remove License section from module
33915         * modules/arpa_inet-tests: Remove unneeded section.
33916         * modules/byteswap-tests: Likewise.
33917         * modules/ceilf-tests: Likewise.
33918         * modules/ceill-tests: Likewise.
33919         * modules/crypto/des-tests: Likewise.
33920         * modules/crypto/gc-arcfour-tests: Likewise.
33921         * modules/crypto/gc-arctwo-tests: Likewise.
33922         * modules/crypto/gc-des-tests: Likewise.
33923         * modules/crypto/gc-hmac-md5-tests: Likewise.
33924         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33925         * modules/crypto/gc-md2-tests: Likewise.
33926         * modules/crypto/gc-md4-tests: Likewise.
33927         * modules/crypto/gc-md5-tests: Likewise.
33928         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33929         * modules/crypto/gc-rijndael-tests: Likewise.
33930         * modules/crypto/gc-sha1-tests: Likewise.
33931         * modules/crypto/gc-tests: Likewise.
33932         * modules/crypto/md2-tests: Likewise.
33933         * modules/crypto/md4-tests: Likewise.
33934         * modules/fcntl-h-tests: Likewise.
33935         * modules/floorf-tests: Likewise.
33936         * modules/floorl-tests: Likewise.
33937         * modules/frexp-nolibm-tests: Likewise.
33938         * modules/frexp-tests: Likewise.
33939         * modules/frexpl-nolibm-tests: Likewise.
33940         * modules/frexpl-tests: Likewise.
33941         * modules/getaddrinfo-tests: Likewise.
33942         * modules/inttypes-tests: Likewise.
33943         * modules/isfinite-tests: Likewise.
33944         * modules/isinf-tests: Likewise.
33945         * modules/ldexpl-tests: Likewise.
33946         * modules/locale-tests: Likewise.
33947         * modules/math-tests: Likewise.
33948         * modules/netdb-tests: Likewise.
33949         * modules/netinet_in-tests: Likewise.
33950         * modules/printf-frexp-tests: Likewise.
33951         * modules/printf-frexpl-tests: Likewise.
33952         * modules/priv-set-tests: Likewise.
33953         * modules/random_r-tests: Likewise.
33954         * modules/round-tests: Likewise.
33955         * modules/roundf-tests: Likewise.
33956         * modules/roundl-tests: Likewise.
33957         * modules/search-tests: Likewise.
33958         * modules/select-tests: Likewise.
33959         * modules/signal-tests: Likewise.
33960         * modules/stdbool-tests: Likewise.
33961         * modules/stddef-tests: Likewise.
33962         * modules/stdint-tests: Likewise.
33963         * modules/stdio-tests: Likewise.
33964         * modules/stdlib-tests: Likewise.
33965         * modules/string-tests: Likewise.
33966         * modules/strings-tests: Likewise.
33967         * modules/sys_select-tests: Likewise.
33968         * modules/sys_socket-tests: Likewise.
33969         * modules/sys_stat-tests: Likewise.
33970         * modules/sys_time-tests: Likewise.
33971         * modules/sys_utsname-tests: Likewise.
33972         * modules/sysexits-tests: Likewise.
33973         * modules/time-tests: Likewise.
33974         * modules/trunc-tests: Likewise.
33975         * modules/truncf-tests: Likewise.
33976         * modules/truncl-tests: Likewise.
33977         * modules/tsearch-tests: Likewise.
33978         * modules/unistd-tests: Likewise.
33979         * modules/wchar-tests: Likewise.
33980         * modules/wctype-tests: Likewise.
33981
33982         tests: fix license on several tests
33983         * tests/test-des.c: Update to GPLv3+.
33984         * tests/test-flock.c: Likewise.
33985         * tests/test-fsync.c: Likewise.
33986         * tests/test-futimens.h: Likewise.
33987         * tests/test-gc-arcfour.c: Likewise.
33988         * tests/test-gc-arctwo.c: Likewise.
33989         * tests/test-gc-des.c: Likewise.
33990         * tests/test-gc-hmac-md5.c: Likewise.
33991         * tests/test-gc-hmac-sha1.c: Likewise.
33992         * tests/test-gc-md2.c: Likewise.
33993         * tests/test-gc-md4.c: Likewise.
33994         * tests/test-gc-md5.c: Likewise.
33995         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33996         * tests/test-gc-rijndael.c: Likewise.
33997         * tests/test-gc-sha1.c: Likewise.
33998         * tests/test-gc.c: Likewise.
33999         * tests/test-getcwd.c: Likewise.
34000         * tests/test-link.c: Likewise.
34001         * tests/test-link.h: Likewise.
34002         * tests/test-lutimens.h: Likewise.
34003         * tests/test-md2.c: Likewise.
34004         * tests/test-md4.c: Likewise.
34005         * tests/test-mkdir.h: Likewise.
34006         * tests/test-rename.c: Likewise.
34007         * tests/test-rename.h: Likewise.
34008         * tests/test-safe-alloc.c: Likewise.
34009         * tests/test-utimens-common.h: Likewise.
34010         * tests/test-utimens.h: Likewise.
34011
34012         maint: sync license texts
34013         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34014         * doc/gpl-3.0.texi: Revert copyright year update.
34015         * doc/lgpl-3.0.texi: Likewise.
34016
34017 2009-12-29  Jim Meyering  <meyering@redhat.com>
34018
34019         update nearly all FSF copyright year lists to include 2009
34020         The files named by the following are exempted:
34021             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34022               test -f "$dst" && { echo "$dst"; continue; }
34023               test -d "$dst" || continue
34024               echo "$dst"/$(basename "$src")
34025             done > exempt
34026             git ls-files tests/unictype >> exempt
34027         In the remaining files, convert to all-interval notation if
34028         - there is already at least one year interval like 2000-2003
34029         - the file is maintained by me
34030         - the file is in lib/uni*/, where that style already prevails
34031         Otherwise, use update-copyright's default.
34032
34033 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34034         and Eric Blake  <ebb9@byu.net>
34035
34036         tests: don't require debug system() to pass
34037         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34038         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34039         * tests/test-unlink.h (test_unlink_func): Likewise.
34040         * tests/test-fstatat.c (main): ...into callers.
34041         * tests/test-lstat.c (main): Likewise.
34042         * tests/test-rmdir.c (main): Likewise.
34043         * tests/test-unlink.c (main): Likewise.
34044         * tests/test-unlinkat.c (main): Likewise.
34045         * tests/test-areadlink-with-size.c (main): Don't require a
34046         debug-only system call to pass, aiding cross-testing to mingw.
34047         * tests/test-areadlink.c (main): Likewise.
34048         * tests/test-areadlinkat-with-size.c (main): Likewise.
34049         * tests/test-areadlinkat.c (main): Likewise.
34050         * tests/test-canonicalize-lgpl.c (main): Likewise.
34051         * tests/test-canonicalize.c (main): Likewise.
34052         * tests/test-chown.c (main): Likewise.
34053         * tests/test-fchownat.c (main): Likewise.
34054         * tests/test-lchown.c (main): Likewise.
34055         * tests/test-fdutimensat.c (main): Likewise.
34056         * tests/test-futimens.c (main): Likewise.
34057         * tests/test-link.c (main): Likewise.
34058         * tests/test-linkat.c (main): Likewise.
34059         * tests/test-mkdir.c (main): Likewise.
34060         * tests/test-mkdirat.c (main): Likewise.
34061         * tests/test-mkfifo.c (main): Likewise.
34062         * tests/test-mkfifoat.c (main): Likewise.
34063         * tests/test-mknod.c (main): Likewise.
34064         * tests/test-readlink.c (main): Likewise.
34065         * tests/test-remove.c (main): Likewise.
34066         * tests/test-rename.c (main): Likewise.
34067         * tests/test-renameat.c (main): Likewise.
34068         * tests/test-symlink.c (main): Likewise.
34069         * tests/test-symlinkat.c (main): Likewise.
34070         * tests/test-utimens.c (main): Likewise.
34071         * tests/test-utimensat.c (main): Likewise.
34072
34073 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34074
34075         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34076         on $(UNUSED_PARAMETER_H) to avoid build failure.
34077
34078 2009-12-28  Jim Meyering  <meyering@redhat.com>
34079
34080         update-copyright: you may specify a max. line length other than 72
34081         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34082
34083         maint: use consistent FSF copyright line syntax
34084         * lib/posixtm.c: Add missing comma in FSF copyright line.
34085         * lib/posixtm.h: Likewise.
34086         * lib/getugroups.c: Add missing ", Inc.".
34087
34088         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34089         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34090         FSF copyright line.  Remove trailing blanks.
34091
34092 2009-12-28  Eric Blake  <ebb9@byu.net>
34093
34094         test-dup2: reduce dependencies
34095         * modules/cloexec (Configure.ac): Set witness.
34096         * modules/dup2-tests (Depends-on): Drop cloexec.
34097         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34098         not present.
34099         Suggested by Bruno Haible.
34100
34101 2009-12-26  Bruno Haible  <bruno@clisp.org>
34102
34103         Remove an unneeded dependency.
34104         * modules/fseterr (Depends-on): Remove dup2.
34105
34106 2009-12-26  Eric Blake  <ebb9@byu.net>
34107
34108         tests: use macros.h in more places
34109         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34110         (ASSERT_STREAM): Provide default of stderr.
34111         * tests/test-dirent-safer.c: Include macros.h, using alternate
34112         stream for assertions.
34113         * tests/test-dup-safer.c: Likewise.
34114         * tests/test-freopen-safer.c: Likewise.
34115         * tests/test-getopt.c: Likewise.
34116         * tests/test-openat-safer.c: Likewise.
34117         * tests/test-pipe.c: Likewise.
34118         * tests/test-popen-safer.c: Likewise.
34119         * modules/dirent-safer-tests (Files): Include macros.h.
34120         * modules/unistd-safer-tests (Files): Likewise.
34121         * modules/freopen-safer-tests (Files): Likewise.
34122         * modules/getopt-posix-tests (Files): Likewise.
34123         * modules/openat-safer-tests (Files): Likewise.
34124         * modules/pipe-tests (Files): Likewise.
34125
34126 2009-12-26  Bruno Haible  <bruno@clisp.org>
34127
34128         javacomp: Portability fix.
34129         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34130         that it also works on Solaris.
34131
34132 2009-12-26  Bruno Haible  <bruno@clisp.org>
34133
34134         localename: Fix storage allocation of gl_locale_name_thread's result.
34135         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34136         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34137         all platforms that have 'uselocale'.
34138         (gl_locale_name_thread_unsafe): New function, extracted from
34139         gl_locale_name_thread.
34140         (gl_locale_name_thread): Call struniq on all platforms that have
34141         'uselocale'.
34142         * tests/test-localename.c (test_locale_name_thread): Check that the
34143         resulting strings are permanently allocated.
34144         * modules/localename-tests (Depends-on): Add strdup.
34145
34146 2009-12-26  Bruno Haible  <bruno@clisp.org>
34147
34148         * tests/test-localename.c (categories): Fill in the strings.
34149
34150 2009-12-26  Jim Meyering  <meyering@redhat.com>
34151
34152         isdir: complete the removal of m4/isdir.m4
34153         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34154
34155         isdir: clean up, since at least grep still uses it
34156         * lib/isdir.c: Include "isdir.h".
34157         (S_ISDIR): Remove now-unneeded definition.
34158         * modules/isdir (Files): Add lib/isdir.h.
34159         * lib/isdir.h: New file, with declaration.
34160         * m4/isdir.m4: Remove file -- unneeded.
34161
34162 2009-12-25  Bruno Haible  <bruno@clisp.org>
34163
34164         selinux-h: Make generated .h files standalone.
34165         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34166         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34167         * lib/se-selinux.in.h: Likewise.
34168         * modules/selinux-h (Depends-on): Add unused-parameter.
34169         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34170         selinux/selinux.h and selinux/context.h.
34171         Suggested by Eric Blake.
34172
34173 2009-12-25  Bruno Haible  <bruno@clisp.org>
34174
34175         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34176         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34177         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34178         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34179         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34180
34181 2009-12-24  Bruno Haible  <bruno@clisp.org>
34182
34183         openat: Fix warning.
34184         * lib/openat-proc.c: Include <unistd.h>.
34185
34186 2009-12-24  Bruno Haible  <bruno@clisp.org>
34187
34188         New module 'unused-parameter'.
34189         * build-aux/unused-parameter.h: New file, extracted from earlier
34190         gnulib-common.m4.
34191         * modules/unused-parameter: New file.
34192         * lib/unistr.h: Include unused-parameter.h.
34193         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34194         _GL_UNUSED.
34195         * modules/unistr/base (Depends-on): Add unused-parameter.
34196
34197 2009-12-24  Bruno Haible  <bruno@clisp.org>
34198
34199         Add missing dependencies to 'extensions' module.
34200         * m4/extensions.m4: Add comment.
34201         * modules/accept4 (Depends-on): Add extensions.
34202         * modules/dup3 (Depends-on): Likewise.
34203         * modules/fcntl (Depends-on): Likewise.
34204         * modules/futimens (Depends-on): Likewise.
34205         * modules/mknod (Depends-on): Likewise.
34206         * modules/pipe2 (Depends-on): Likewise.
34207         * modules/stat-time (Depends-on): Likewise.
34208         * modules/strcasestr-simple (Depends-on): Likewise.
34209         * modules/strsignal (Depends-on): Likewise.
34210         * modules/utimensat (Depends-on): Likewise.
34211         * modules/localcharset (Depends-on): Likewise. Needed because of
34212         gl_FCNTL_O_FLAGS.
34213         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34214         AC_TYPE_MBSTATE_T.
34215         * modules/wcsnrtombs (Depends-on): Likewise.
34216         * modules/wcsrtombs (Depends-on): Likewise.
34217
34218 2009-12-24  Bruno Haible  <bruno@clisp.org>
34219
34220         binary-io: Avoid gcc warning due to SET_BINARY.
34221         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34222         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34223
34224 2009-12-24  Bruno Haible  <bruno@clisp.org>
34225
34226         Avoid future namespace pollution on glibc systems.
34227         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34228         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34229         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34230         glibc systems.
34231
34232 2009-12-24  Bruno Haible  <bruno@clisp.org>
34233
34234         Refactor common macros used in tests.
34235         * tests/macros.h: New file.
34236         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34237         and/or <stdlib.h>, if appropriate.
34238         (ASSERT, SIZEOF): Remove macros.
34239         * tests/test-areadlink-with-size.c: Likewise.
34240         * tests/test-areadlinkat.c: Likewise.
34241         * tests/test-areadlinkat-with-size.c: Likewise.
34242         * tests/test-argmatch.c: Likewise.
34243         * tests/test-argv-iter.c: Likewise.
34244         * tests/test-array-mergesort.c: Likewise.
34245         * tests/test-array_list.c: Likewise.
34246         * tests/test-array_oset.c: Likewise.
34247         * tests/test-avltree_list.c: Likewise.
34248         * tests/test-avltree_oset.c: Likewise.
34249         * tests/test-avltreehash_list.c: Likewise.
34250         * tests/test-base64.c: Likewise.
34251         * tests/test-binary-io.c: Likewise.
34252         * tests/test-bitrotate.c: Likewise.
34253         * tests/test-btowc.c: Likewise.
34254         * tests/test-byteswap.c: Likewise.
34255         * tests/test-c-ctype.c: Likewise.
34256         * tests/test-c-stack.c: Likewise.
34257         * tests/test-c-strcasecmp.c: Likewise.
34258         * tests/test-c-strcasestr.c: Likewise.
34259         * tests/test-c-strncasecmp.c: Likewise.
34260         * tests/test-c-strstr.c: Likewise.
34261         * tests/test-canonicalize-lgpl.c: Likewise.
34262         * tests/test-canonicalize.c: Likewise.
34263         * tests/test-carray_list.c: Likewise.
34264         * tests/test-ceilf1.c: Likewise.
34265         * tests/test-ceilf2.c: Likewise.
34266         * tests/test-ceill.c: Likewise.
34267         * tests/test-chown.c: Likewise.
34268         * tests/test-cloexec.c: Likewise.
34269         * tests/test-copy-acl.c: Likewise.
34270         * tests/test-copy-file.c: Likewise.
34271         * tests/test-count-one-bits.c: Likewise.
34272         * tests/test-dprintf-posix.c: Likewise.
34273         * tests/test-dup2.c: Likewise.
34274         * tests/test-dup3.c: Likewise.
34275         * tests/test-duplocale.c: Likewise.
34276         * tests/test-fbufmode.c: Likewise.
34277         * tests/test-fchdir.c: Likewise.
34278         * tests/test-fchownat.c: Likewise.
34279         * tests/test-fcntl-safer.c: Likewise.
34280         * tests/test-fcntl.c: Likewise.
34281         * tests/test-fdopendir.c: Likewise.
34282         * tests/test-fdutimensat.c: Likewise.
34283         * tests/test-fflush2.c: Likewise.
34284         * tests/test-file-has-acl.c: Likewise.
34285         * tests/test-filevercmp.c: Likewise.
34286         * tests/test-flock.c: Likewise.
34287         * tests/test-floorf1.c: Likewise.
34288         * tests/test-floorf2.c: Likewise.
34289         * tests/test-floorl.c: Likewise.
34290         * tests/test-fnmatch.c: Likewise.
34291         * tests/test-fopen.h: Likewise.
34292         * tests/test-fpending.c: Likewise.
34293         * tests/test-fprintf-posix.c: Likewise.
34294         * tests/test-fpurge.c: Likewise.
34295         * tests/test-freadable.c: Likewise.
34296         * tests/test-freadahead.c: Likewise.
34297         * tests/test-freading.c: Likewise.
34298         * tests/test-freadptr.c: Likewise.
34299         * tests/test-freadptr2.c: Likewise.
34300         * tests/test-freadseek.c: Likewise.
34301         * tests/test-freopen.c: Likewise.
34302         * tests/test-frexp.c: Likewise.
34303         * tests/test-frexpl.c: Likewise.
34304         * tests/test-fseek.c: Likewise.
34305         * tests/test-fseeko.c: Likewise.
34306         * tests/test-fstatat.c: Likewise.
34307         * tests/test-fstrcmp.c: Likewise.
34308         * tests/test-fsync.c: Likewise.
34309         * tests/test-ftell.c: Likewise.
34310         * tests/test-ftello.c: Likewise.
34311         * tests/test-func.c: Likewise.
34312         * tests/test-futimens.c: Likewise.
34313         * tests/test-fwritable.c: Likewise.
34314         * tests/test-fwriting.c: Likewise.
34315         * tests/test-getcwd.c: Likewise.
34316         * tests/test-getdate.c: Likewise.
34317         * tests/test-getdelim.c: Likewise.
34318         * tests/test-getdtablesize.c: Likewise.
34319         * tests/test-getgroups.c: Likewise.
34320         * tests/test-getline.c: Likewise.
34321         * tests/test-getndelim2.c: Likewise.
34322         * tests/test-glob.c: Likewise.
34323         * tests/test-hash.c: Likewise.
34324         * tests/test-i-ring.c: Likewise.
34325         * tests/test-iconv-utf.c: Likewise.
34326         * tests/test-iconv.c: Likewise.
34327         * tests/test-idpriv-drop.c: Likewise.
34328         * tests/test-idpriv-droptemp.c: Likewise.
34329         * tests/test-inet_ntop.c: Likewise.
34330         * tests/test-inet_pton.c: Likewise.
34331         * tests/test-isblank.c: Likewise.
34332         * tests/test-isfinite.c: Likewise.
34333         * tests/test-isinf.c: Likewise.
34334         * tests/test-isnan.c: Likewise.
34335         * tests/test-isnand.h: Likewise.
34336         * tests/test-isnanf.h: Likewise.
34337         * tests/test-isnanl.h: Likewise.
34338         * tests/test-lchown.c: Likewise.
34339         * tests/test-ldexpl.c: Likewise.
34340         * tests/test-link.c: Likewise.
34341         * tests/test-linkat.c: Likewise.
34342         * tests/test-linked_list.c: Likewise.
34343         * tests/test-linkedhash_list.c: Likewise.
34344         * tests/test-localename.c: Likewise.
34345         * tests/test-lseek.c: Likewise.
34346         * tests/test-lstat.c: Likewise.
34347         * tests/test-mbmemcasecmp.c: Likewise.
34348         * tests/test-mbmemcasecoll.c: Likewise.
34349         * tests/test-mbrtowc.c: Likewise.
34350         * tests/test-mbscasecmp.c: Likewise.
34351         * tests/test-mbscasestr1.c: Likewise.
34352         * tests/test-mbscasestr2.c: Likewise.
34353         * tests/test-mbscasestr3.c: Likewise.
34354         * tests/test-mbscasestr4.c: Likewise.
34355         * tests/test-mbschr.c: Likewise.
34356         * tests/test-mbscspn.c: Likewise.
34357         * tests/test-mbsinit.c: Likewise.
34358         * tests/test-mbsncasecmp.c: Likewise.
34359         * tests/test-mbsnrtowcs.c: Likewise.
34360         * tests/test-mbspbrk.c: Likewise.
34361         * tests/test-mbspcasecmp.c: Likewise.
34362         * tests/test-mbsrchr.c: Likewise.
34363         * tests/test-mbsrtowcs.c: Likewise.
34364         * tests/test-mbsspn.c: Likewise.
34365         * tests/test-mbsstr1.c: Likewise.
34366         * tests/test-mbsstr2.c: Likewise.
34367         * tests/test-mbsstr3.c: Likewise.
34368         * tests/test-memchr.c: Likewise.
34369         * tests/test-memchr2.c: Likewise.
34370         * tests/test-memcmp.c: Likewise.
34371         * tests/test-memmem.c: Likewise.
34372         * tests/test-memrchr.c: Likewise.
34373         * tests/test-mkdir.c: Likewise.
34374         * tests/test-mkdirat.c: Likewise.
34375         * tests/test-mkfifo.c: Likewise.
34376         * tests/test-mkfifoat.c: Likewise.
34377         * tests/test-mknod.c: Likewise.
34378         * tests/test-nanosleep.c: Likewise.
34379         * tests/test-nl_langinfo.c: Likewise.
34380         * tests/test-obstack-printf.c: Likewise.
34381         * tests/test-open.c: Likewise.
34382         * tests/test-openat.c: Likewise.
34383         * tests/test-pipe-filter-gi1.c: Likewise.
34384         * tests/test-pipe-filter-gi2-main.c: Likewise.
34385         * tests/test-pipe-filter-ii1.c: Likewise.
34386         * tests/test-pipe-filter-ii2-main.c: Likewise.
34387         * tests/test-pipe2.c: Likewise.
34388         * tests/test-popen.h: Likewise.
34389         * tests/test-posixtm.c: Likewise.
34390         * tests/test-pread.c: Likewise.
34391         * tests/test-printf-frexp.c: Likewise.
34392         * tests/test-printf-frexpl.c: Likewise.
34393         * tests/test-printf-posix.c: Likewise.
34394         * tests/test-priv-set.c: Likewise.
34395         * tests/test-quotearg.c: Likewise.
34396         * tests/test-random_r.c: Likewise.
34397         * tests/test-rawmemchr.c: Likewise.
34398         * tests/test-rbtree_list.c: Likewise.
34399         * tests/test-rbtree_oset.c: Likewise.
34400         * tests/test-rbtreehash_list.c: Likewise.
34401         * tests/test-readlink.c: Likewise.
34402         * tests/test-remove.c: Likewise.
34403         * tests/test-rename.c: Likewise.
34404         * tests/test-renameat.c: Likewise.
34405         * tests/test-rmdir.c: Likewise.
34406         * tests/test-round1.c: Likewise.
34407         * tests/test-roundf1.c: Likewise.
34408         * tests/test-roundl.c: Likewise.
34409         * tests/test-safe-alloc.c: Likewise.
34410         * tests/test-sameacls.c: Likewise.
34411         * tests/test-set-mode-acl.c: Likewise.
34412         * tests/test-setenv.c: Likewise.
34413         * tests/test-sigaction.c: Likewise.
34414         * tests/test-signbit.c: Likewise.
34415         * tests/test-sleep.c: Likewise.
34416         * tests/test-snprintf-posix.c: Likewise.
34417         * tests/test-snprintf.c: Likewise.
34418         * tests/test-sprintf-posix.c: Likewise.
34419         * tests/test-stat-time.c: Likewise.
34420         * tests/test-stat.c: Likewise.
34421         * tests/test-strcasestr.c: Likewise.
34422         * tests/test-strchrnul.c: Likewise.
34423         * tests/test-strerror.c: Likewise.
34424         * tests/test-striconv.c: Likewise.
34425         * tests/test-striconveh.c: Likewise.
34426         * tests/test-striconveha.c: Likewise.
34427         * tests/test-strsignal.c: Likewise.
34428         * tests/test-strstr.c: Likewise.
34429         * tests/test-strtod.c: Likewise.
34430         * tests/test-strverscmp.c: Likewise.
34431         * tests/test-symlink.c: Likewise.
34432         * tests/test-symlinkat.c: Likewise.
34433         * tests/test-trunc1.c: Likewise.
34434         * tests/test-trunc2.c: Likewise.
34435         * tests/test-truncf1.c: Likewise.
34436         * tests/test-truncf2.c: Likewise.
34437         * tests/test-truncl.c: Likewise.
34438         * tests/test-uname.c: Likewise.
34439         * tests/test-unlink.c: Likewise.
34440         * tests/test-unlinkat.c: Likewise.
34441         * tests/test-unsetenv.c: Likewise.
34442         * tests/test-usleep.c: Likewise.
34443         * tests/test-utimens.c: Likewise.
34444         * tests/test-utimensat.c: Likewise.
34445         * tests/test-vasnprintf-posix.c: Likewise.
34446         * tests/test-vasnprintf-posix2.c: Likewise.
34447         * tests/test-vasnprintf.c: Likewise.
34448         * tests/test-vasprintf-posix.c: Likewise.
34449         * tests/test-vasprintf.c: Likewise.
34450         * tests/test-vdprintf-posix.c: Likewise.
34451         * tests/test-vfprintf-posix.c: Likewise.
34452         * tests/test-vprintf-posix.c: Likewise.
34453         * tests/test-vsnprintf-posix.c: Likewise.
34454         * tests/test-vsnprintf.c: Likewise.
34455         * tests/test-vsprintf-posix.c: Likewise.
34456         * tests/test-wcrtomb.c: Likewise.
34457         * tests/test-wcsnrtombs.c: Likewise.
34458         * tests/test-wcsrtombs.c: Likewise.
34459         * tests/test-wctype.c: Likewise.
34460         * tests/test-wcwidth.c: Likewise.
34461         * tests/test-xfprintf-posix.c: Likewise.
34462         * tests/test-xmemdup0.c: Likewise.
34463         * tests/test-xprintf-posix.c: Likewise.
34464         * tests/test-xvasprintf.c: Likewise.
34465         * tests/unicase/test-locale-language.c: Likewise.
34466         * tests/unicase/test-mapping-part1.h: Likewise.
34467         * tests/unicase/test-predicate-part1.h: Likewise.
34468         * tests/unicase/test-u8-casecmp.c: Likewise.
34469         * tests/unicase/test-u8-casecoll.c: Likewise.
34470         * tests/unicase/test-u8-casefold.c: Likewise.
34471         * tests/unicase/test-u8-is-cased.c: Likewise.
34472         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34473         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34474         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34475         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34476         * tests/unicase/test-u8-tolower.c: Likewise.
34477         * tests/unicase/test-u8-totitle.c: Likewise.
34478         * tests/unicase/test-u8-toupper.c: Likewise.
34479         * tests/unicase/test-u16-casecmp.c: Likewise.
34480         * tests/unicase/test-u16-casecoll.c: Likewise.
34481         * tests/unicase/test-u16-casefold.c: Likewise.
34482         * tests/unicase/test-u16-is-cased.c: Likewise.
34483         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34484         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34485         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34486         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34487         * tests/unicase/test-u16-tolower.c: Likewise.
34488         * tests/unicase/test-u16-totitle.c: Likewise.
34489         * tests/unicase/test-u16-toupper.c: Likewise.
34490         * tests/unicase/test-u32-casecmp.c: Likewise.
34491         * tests/unicase/test-u32-casecoll.c: Likewise.
34492         * tests/unicase/test-u32-casefold.c: Likewise.
34493         * tests/unicase/test-u32-is-cased.c: Likewise.
34494         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34495         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34496         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34497         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34498         * tests/unicase/test-u32-tolower.c: Likewise.
34499         * tests/unicase/test-u32-totitle.c: Likewise.
34500         * tests/unicase/test-u32-toupper.c: Likewise.
34501         * tests/unicase/test-ulc-casecmp.c: Likewise.
34502         * tests/unicase/test-ulc-casecoll.c: Likewise.
34503         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34504         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34505         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34506         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34507         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34508         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34509         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34510         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34511         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34512         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34513         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34514         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34515         * tests/unictype/test-bidi_byname.c: Likewise.
34516         * tests/unictype/test-bidi_name.c: Likewise.
34517         * tests/unictype/test-bidi_of.c: Likewise.
34518         * tests/unictype/test-bidi_test.c: Likewise.
34519         * tests/unictype/test-block_list.c: Likewise.
34520         * tests/unictype/test-block_of.c: Likewise.
34521         * tests/unictype/test-block_test.c: Likewise.
34522         * tests/unictype/test-categ_and.c: Likewise.
34523         * tests/unictype/test-categ_and_not.c: Likewise.
34524         * tests/unictype/test-categ_byname.c: Likewise.
34525         * tests/unictype/test-categ_name.c: Likewise.
34526         * tests/unictype/test-categ_none.c: Likewise.
34527         * tests/unictype/test-categ_of.c: Likewise.
34528         * tests/unictype/test-categ_or.c: Likewise.
34529         * tests/unictype/test-categ_test_withtable.c: Likewise.
34530         * tests/unictype/test-combining.c: Likewise.
34531         * tests/unictype/test-decdigit.c: Likewise.
34532         * tests/unictype/test-digit.c: Likewise.
34533         * tests/unictype/test-mirror.c: Likewise.
34534         * tests/unictype/test-numeric.c: Likewise.
34535         * tests/unictype/test-pr_byname.c: Likewise.
34536         * tests/unictype/test-pr_test.c: Likewise.
34537         * tests/unictype/test-predicate-part1.h: Likewise.
34538         * tests/unictype/test-scripts.c: Likewise.
34539         * tests/unictype/test-sy_c_ident.c: Likewise.
34540         * tests/unictype/test-sy_java_ident.c: Likewise.
34541         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34542         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34543         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34544         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34545         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34546         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34547         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34548         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34549         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34550         * tests/uninorm/test-compat-decomposition.c: Likewise.
34551         * tests/uninorm/test-composition.c: Likewise.
34552         * tests/uninorm/test-decomposing-form.c: Likewise.
34553         * tests/uninorm/test-decomposition.c: Likewise.
34554         * tests/uninorm/test-u8-nfc.c: Likewise.
34555         * tests/uninorm/test-u8-nfd.c: Likewise.
34556         * tests/uninorm/test-u8-nfkc.c: Likewise.
34557         * tests/uninorm/test-u8-nfkd.c: Likewise.
34558         * tests/uninorm/test-u8-normcmp.c: Likewise.
34559         * tests/uninorm/test-u8-normcoll.c: Likewise.
34560         * tests/uninorm/test-u16-nfc.c: Likewise.
34561         * tests/uninorm/test-u16-nfd.c: Likewise.
34562         * tests/uninorm/test-u16-nfkc.c: Likewise.
34563         * tests/uninorm/test-u16-nfkd.c: Likewise.
34564         * tests/uninorm/test-u16-normcmp.c: Likewise.
34565         * tests/uninorm/test-u16-normcoll.c: Likewise.
34566         * tests/uninorm/test-u32-nfc.c: Likewise.
34567         * tests/uninorm/test-u32-nfd.c: Likewise.
34568         * tests/uninorm/test-u32-nfkc.c: Likewise.
34569         * tests/uninorm/test-u32-nfkd.c: Likewise.
34570         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34571         * tests/uninorm/test-u32-normcmp.c: Likewise.
34572         * tests/uninorm/test-u32-normcoll.c: Likewise.
34573         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34574         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34575         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34576         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34577         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34578         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34579         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34580         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34581         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34582         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34583         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34584         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34585         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34586         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34587         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34588         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34589         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34590         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34591         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34592         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34593         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34594         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34595         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34596         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34597         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34598         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34599         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34600         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34601         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34602         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34603         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34604         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34605         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34606         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34607         * tests/uniwidth/test-u8-width.c: Likewise.
34608         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34609         * tests/uniwidth/test-u16-width.c: Likewise.
34610         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34611         * tests/uniwidth/test-u32-width.c: Likewise.
34612         * tests/uniwidth/test-uc_width.c: Likewise.
34613         * tests/uniwidth/test-uc_width2.c: Likewise.
34614         * modules/acl-tests (Files): Add tests/macros.h.
34615         * modules/areadlink-tests (Files): Likewise.
34616         * modules/areadlink-with-size-tests (Files): Likewise.
34617         * modules/areadlinkat-tests (Files): Likewise.
34618         * modules/areadlinkat-with-size-tests (Files): Likewise.
34619         * modules/argmatch-tests (Files): Likewise.
34620         * modules/argv-iter-tests (Files): Likewise.
34621         * modules/array-list-tests (Files): Likewise.
34622         * modules/array-mergesort-tests (Files): Likewise.
34623         * modules/array-oset-tests (Files): Likewise.
34624         * modules/avltree-list-tests (Files): Likewise.
34625         * modules/avltree-oset-tests (Files): Likewise.
34626         * modules/avltreehash-list-tests (Files): Likewise.
34627         * modules/base64-tests (Files): Likewise.
34628         * modules/binary-io-tests (Files): Likewise.
34629         * modules/bitrotate-tests (Files): Likewise.
34630         * modules/btowc-tests (Files): Likewise.
34631         * modules/byteswap-tests (Files): Likewise.
34632         * modules/c-ctype-tests (Files): Likewise.
34633         * modules/c-stack-tests (Files): Likewise.
34634         * modules/c-strcase-tests (Files): Likewise.
34635         * modules/c-strcasestr-tests (Files): Likewise.
34636         * modules/c-strstr-tests (Files): Likewise.
34637         * modules/canonicalize-lgpl-tests (Files): Likewise.
34638         * modules/canonicalize-tests (Files): Likewise.
34639         * modules/carray-list-tests (Files): Likewise.
34640         * modules/ceilf-tests (Files): Likewise.
34641         * modules/ceill-tests (Files): Likewise.
34642         * modules/chown-tests (Files): Likewise.
34643         * modules/cloexec-tests (Files): Likewise.
34644         * modules/copy-file-tests (Files): Likewise.
34645         * modules/count-one-bits-tests (Files): Likewise.
34646         * modules/dprintf-posix-tests (Files): Likewise.
34647         * modules/dup2-tests (Files): Likewise.
34648         * modules/dup3-tests (Files): Likewise.
34649         * modules/duplocale-tests (Files): Likewise.
34650         * modules/fbufmode-tests (Files): Likewise.
34651         * modules/fchdir-tests (Files): Likewise.
34652         * modules/fcntl-safer-tests (Files): Likewise.
34653         * modules/fcntl-tests (Files): Likewise.
34654         * modules/fdopendir-tests (Files): Likewise.
34655         * modules/fdutimensat-tests (Files): Likewise.
34656         * modules/fflush-tests (Files): Likewise.
34657         * modules/filevercmp-tests (Files): Likewise.
34658         * modules/flock-tests (Files): Likewise.
34659         * modules/floorf-tests (Files): Likewise.
34660         * modules/floorl-tests (Files): Likewise.
34661         * modules/fnmatch-tests (Files): Likewise.
34662         * modules/fopen-safer-tests (Files): Likewise.
34663         * modules/fopen-tests (Files): Likewise.
34664         * modules/fpending-tests (Files): Likewise.
34665         * modules/fprintf-posix-tests (Files): Likewise.
34666         * modules/fpurge-tests (Files): Likewise.
34667         * modules/freadable-tests (Files): Likewise.
34668         * modules/freadahead-tests (Files): Likewise.
34669         * modules/freading-tests (Files): Likewise.
34670         * modules/freadptr-tests (Files): Likewise.
34671         * modules/freadseek-tests (Files): Likewise.
34672         * modules/freopen-tests (Files): Likewise.
34673         * modules/frexp-nolibm-tests (Files): Likewise.
34674         * modules/frexp-tests (Files): Likewise.
34675         * modules/frexpl-nolibm-tests (Files): Likewise.
34676         * modules/frexpl-tests (Files): Likewise.
34677         * modules/fseek-tests (Files): Likewise.
34678         * modules/fseeko-tests (Files): Likewise.
34679         * modules/fstrcmp-tests (Files): Likewise.
34680         * modules/fsync-tests (Files): Likewise.
34681         * modules/ftell-tests (Files): Likewise.
34682         * modules/ftello-tests (Files): Likewise.
34683         * modules/func-tests (Files): Likewise.
34684         * modules/futimens-tests (Files): Likewise.
34685         * modules/fwritable-tests (Files): Likewise.
34686         * modules/fwriting-tests (Files): Likewise.
34687         * modules/getcwd-tests (Files): Likewise.
34688         * modules/getdate-tests (Files): Likewise.
34689         * modules/getdelim-tests (Files): Likewise.
34690         * modules/getdtablesize-tests (Files): Likewise.
34691         * modules/getgroups-tests (Files): Likewise.
34692         * modules/getline-tests (Files): Likewise.
34693         * modules/getndelim2-tests (Files): Likewise.
34694         * modules/glob-tests (Files): Likewise.
34695         * modules/hash-tests (Files): Likewise.
34696         * modules/i-ring-tests (Files): Likewise.
34697         * modules/iconv-tests (Files): Likewise.
34698         * modules/iconv_open-utf-tests (Files): Likewise.
34699         * modules/idpriv-drop-tests (Files): Likewise.
34700         * modules/idpriv-droptemp-tests (Files): Likewise.
34701         * modules/inet_ntop-tests (Files): Likewise.
34702         * modules/inet_pton-tests (Files): Likewise.
34703         * modules/isblank-tests (Files): Likewise.
34704         * modules/isfinite-tests (Files): Likewise.
34705         * modules/isinf-tests (Files): Likewise.
34706         * modules/isnan-tests (Files): Likewise.
34707         * modules/isnand-nolibm-tests (Files): Likewise.
34708         * modules/isnand-tests (Files): Likewise.
34709         * modules/isnanf-nolibm-tests (Files): Likewise.
34710         * modules/isnanf-tests (Files): Likewise.
34711         * modules/isnanl-nolibm-tests (Files): Likewise.
34712         * modules/isnanl-tests (Files): Likewise.
34713         * modules/lchown-tests (Files): Likewise.
34714         * modules/ldexpl-tests (Files): Likewise.
34715         * modules/link-tests (Files): Likewise.
34716         * modules/linkat-tests (Files): Likewise.
34717         * modules/linked-list-tests (Files): Likewise.
34718         * modules/linkedhash-list-tests (Files): Likewise.
34719         * modules/localename-tests (Files): Likewise.
34720         * modules/lseek-tests (Files): Likewise.
34721         * modules/lstat-tests (Files): Likewise.
34722         * modules/mbmemcasecmp-tests (Files): Likewise.
34723         * modules/mbmemcasecoll-tests (Files): Likewise.
34724         * modules/mbrtowc-tests (Files): Likewise.
34725         * modules/mbscasecmp-tests (Files): Likewise.
34726         * modules/mbscasestr-tests (Files): Likewise.
34727         * modules/mbschr-tests (Files): Likewise.
34728         * modules/mbscspn-tests (Files): Likewise.
34729         * modules/mbsinit-tests (Files): Likewise.
34730         * modules/mbsncasecmp-tests (Files): Likewise.
34731         * modules/mbsnrtowcs-tests (Files): Likewise.
34732         * modules/mbspbrk-tests (Files): Likewise.
34733         * modules/mbspcasecmp-tests (Files): Likewise.
34734         * modules/mbsrchr-tests (Files): Likewise.
34735         * modules/mbsrtowcs-tests (Files): Likewise.
34736         * modules/mbsspn-tests (Files): Likewise.
34737         * modules/mbsstr-tests (Files): Likewise.
34738         * modules/memchr-tests (Files): Likewise.
34739         * modules/memchr2-tests (Files): Likewise.
34740         * modules/memcmp-tests (Files): Likewise.
34741         * modules/memmem-tests (Files): Likewise.
34742         * modules/memrchr-tests (Files): Likewise.
34743         * modules/mkdir-tests (Files): Likewise.
34744         * modules/mkfifo-tests (Files): Likewise.
34745         * modules/mkfifoat-tests (Files): Likewise.
34746         * modules/mknod-tests (Files): Likewise.
34747         * modules/nanosleep-tests (Files): Likewise.
34748         * modules/nl_langinfo-tests (Files): Likewise.
34749         * modules/obstack-printf-tests (Files): Likewise.
34750         * modules/open-tests (Files): Likewise.
34751         * modules/openat-tests (Files): Likewise.
34752         * modules/pipe-filter-gi-tests (Files): Likewise.
34753         * modules/pipe-filter-ii-tests (Files): Likewise.
34754         * modules/pipe2-tests (Files): Likewise.
34755         * modules/popen-safer-tests (Files): Likewise.
34756         * modules/popen-tests (Files): Likewise.
34757         * modules/posixtm-tests (Files): Likewise.
34758         * modules/pread-tests (Files): Likewise.
34759         * modules/printf-frexp-tests (Files): Likewise.
34760         * modules/printf-frexpl-tests (Files): Likewise.
34761         * modules/printf-posix-tests (Files): Likewise.
34762         * modules/priv-set-tests (Files): Likewise.
34763         * modules/quotearg-tests (Files): Likewise.
34764         * modules/random_r-tests (Files): Likewise.
34765         * modules/rawmemchr-tests (Files): Likewise.
34766         * modules/rbtree-list-tests (Files): Likewise.
34767         * modules/rbtree-oset-tests (Files): Likewise.
34768         * modules/rbtreehash-list-tests (Files): Likewise.
34769         * modules/readlink-tests (Files): Likewise.
34770         * modules/remove-tests (Files): Likewise.
34771         * modules/rename-tests (Files): Likewise.
34772         * modules/renameat-tests (Files): Likewise.
34773         * modules/rmdir-tests (Files): Likewise.
34774         * modules/round-tests (Files): Likewise.
34775         * modules/roundf-tests (Files): Likewise.
34776         * modules/roundl-tests (Files): Likewise.
34777         * modules/safe-alloc-tests (Files): Likewise.
34778         * modules/setenv-tests (Files): Likewise.
34779         * modules/sigaction-tests (Files): Likewise.
34780         * modules/signbit-tests (Files): Likewise.
34781         * modules/sleep-tests (Files): Likewise.
34782         * modules/snprintf-posix-tests (Files): Likewise.
34783         * modules/snprintf-tests (Files): Likewise.
34784         * modules/sprintf-posix-tests (Files): Likewise.
34785         * modules/stat-tests (Files): Likewise.
34786         * modules/stat-time-tests (Files): Likewise.
34787         * modules/strcasestr-tests (Files): Likewise.
34788         * modules/strchrnul-tests (Files): Likewise.
34789         * modules/strerror-tests (Files): Likewise.
34790         * modules/striconv-tests (Files): Likewise.
34791         * modules/striconveh-tests (Files): Likewise.
34792         * modules/striconveha-tests (Files): Likewise.
34793         * modules/strsignal-tests (Files): Likewise.
34794         * modules/strstr-tests (Files): Likewise.
34795         * modules/strtod-tests (Files): Likewise.
34796         * modules/strverscmp-tests (Files): Likewise.
34797         * modules/symlink-tests (Files): Likewise.
34798         * modules/symlinkat-tests (Files): Likewise.
34799         * modules/trunc-tests (Files): Likewise.
34800         * modules/truncf-tests (Files): Likewise.
34801         * modules/truncl-tests (Files): Likewise.
34802         * modules/uname-tests (Files): Likewise.
34803         * modules/unicase/cased-tests (Files): Likewise.
34804         * modules/unicase/ignorable-tests (Files): Likewise.
34805         * modules/unicase/locale-language-tests (Files): Likewise.
34806         * modules/unicase/tolower-tests (Files): Likewise.
34807         * modules/unicase/totitle-tests (Files): Likewise.
34808         * modules/unicase/toupper-tests (Files): Likewise.
34809         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34810         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34811         * modules/unicase/u8-casefold-tests (Files): Likewise.
34812         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34813         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34814         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34815         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34816         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34817         * modules/unicase/u8-tolower-tests (Files): Likewise.
34818         * modules/unicase/u8-totitle-tests (Files): Likewise.
34819         * modules/unicase/u8-toupper-tests (Files): Likewise.
34820         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34821         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34822         * modules/unicase/u16-casefold-tests (Files): Likewise.
34823         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34824         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34825         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34826         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34827         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34828         * modules/unicase/u16-tolower-tests (Files): Likewise.
34829         * modules/unicase/u16-totitle-tests (Files): Likewise.
34830         * modules/unicase/u16-toupper-tests (Files): Likewise.
34831         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34832         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34833         * modules/unicase/u32-casefold-tests (Files): Likewise.
34834         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34835         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34836         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34837         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34838         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34839         * modules/unicase/u32-tolower-tests (Files): Likewise.
34840         * modules/unicase/u32-totitle-tests (Files): Likewise.
34841         * modules/unicase/u32-toupper-tests (Files): Likewise.
34842         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34843         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34844         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34845         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34846         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34847         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34848         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34849         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34850         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34851         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34852         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34853         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34854         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34855         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34856         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34857         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34858         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34859         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34860         * modules/unictype/block-list-tests (Files): Likewise.
34861         * modules/unictype/block-of-tests (Files): Likewise.
34862         * modules/unictype/block-test-tests (Files): Likewise.
34863         * modules/unictype/category-C-tests (Files): Likewise.
34864         * modules/unictype/category-Cc-tests (Files): Likewise.
34865         * modules/unictype/category-Cf-tests (Files): Likewise.
34866         * modules/unictype/category-Cn-tests (Files): Likewise.
34867         * modules/unictype/category-Co-tests (Files): Likewise.
34868         * modules/unictype/category-Cs-tests (Files): Likewise.
34869         * modules/unictype/category-L-tests (Files): Likewise.
34870         * modules/unictype/category-Ll-tests (Files): Likewise.
34871         * modules/unictype/category-Lm-tests (Files): Likewise.
34872         * modules/unictype/category-Lo-tests (Files): Likewise.
34873         * modules/unictype/category-Lt-tests (Files): Likewise.
34874         * modules/unictype/category-Lu-tests (Files): Likewise.
34875         * modules/unictype/category-M-tests (Files): Likewise.
34876         * modules/unictype/category-Mc-tests (Files): Likewise.
34877         * modules/unictype/category-Me-tests (Files): Likewise.
34878         * modules/unictype/category-Mn-tests (Files): Likewise.
34879         * modules/unictype/category-N-tests (Files): Likewise.
34880         * modules/unictype/category-Nd-tests (Files): Likewise.
34881         * modules/unictype/category-Nl-tests (Files): Likewise.
34882         * modules/unictype/category-No-tests (Files): Likewise.
34883         * modules/unictype/category-P-tests (Files): Likewise.
34884         * modules/unictype/category-Pc-tests (Files): Likewise.
34885         * modules/unictype/category-Pd-tests (Files): Likewise.
34886         * modules/unictype/category-Pe-tests (Files): Likewise.
34887         * modules/unictype/category-Pf-tests (Files): Likewise.
34888         * modules/unictype/category-Pi-tests (Files): Likewise.
34889         * modules/unictype/category-Po-tests (Files): Likewise.
34890         * modules/unictype/category-Ps-tests (Files): Likewise.
34891         * modules/unictype/category-S-tests (Files): Likewise.
34892         * modules/unictype/category-Sc-tests (Files): Likewise.
34893         * modules/unictype/category-Sk-tests (Files): Likewise.
34894         * modules/unictype/category-Sm-tests (Files): Likewise.
34895         * modules/unictype/category-So-tests (Files): Likewise.
34896         * modules/unictype/category-Z-tests (Files): Likewise.
34897         * modules/unictype/category-Zl-tests (Files): Likewise.
34898         * modules/unictype/category-Zp-tests (Files): Likewise.
34899         * modules/unictype/category-Zs-tests (Files): Likewise.
34900         * modules/unictype/category-and-not-tests (Files): Likewise.
34901         * modules/unictype/category-and-tests (Files): Likewise.
34902         * modules/unictype/category-byname-tests (Files): Likewise.
34903         * modules/unictype/category-name-tests (Files): Likewise.
34904         * modules/unictype/category-none-tests (Files): Likewise.
34905         * modules/unictype/category-of-tests (Files): Likewise.
34906         * modules/unictype/category-or-tests (Files): Likewise.
34907         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34908         * modules/unictype/combining-class-tests (Files): Likewise.
34909         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34910         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34911         * modules/unictype/ctype-blank-tests (Files): Likewise.
34912         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34913         * modules/unictype/ctype-digit-tests (Files): Likewise.
34914         * modules/unictype/ctype-graph-tests (Files): Likewise.
34915         * modules/unictype/ctype-lower-tests (Files): Likewise.
34916         * modules/unictype/ctype-print-tests (Files): Likewise.
34917         * modules/unictype/ctype-punct-tests (Files): Likewise.
34918         * modules/unictype/ctype-space-tests (Files): Likewise.
34919         * modules/unictype/ctype-upper-tests (Files): Likewise.
34920         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34921         * modules/unictype/decimal-digit-tests (Files): Likewise.
34922         * modules/unictype/digit-tests (Files): Likewise.
34923         * modules/unictype/mirror-tests (Files): Likewise.
34924         * modules/unictype/numeric-tests (Files): Likewise.
34925         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34926         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34927         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34928         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34929         Likewise.
34930         * modules/unictype/property-bidi-block-separator-tests (Files):
34931         Likewise.
34932         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34933         Likewise.
34934         * modules/unictype/property-bidi-common-separator-tests (Files):
34935         Likewise.
34936         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34937         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34938         Likewise.
34939         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34940         Likewise.
34941         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34942         Likewise.
34943         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34944         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34945         Likewise.
34946         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34947         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34948         Likewise.
34949         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34950         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34951         * modules/unictype/property-bidi-segment-separator-tests (Files):
34952         Likewise.
34953         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34954         * modules/unictype/property-byname-tests (Files): Likewise.
34955         * modules/unictype/property-combining-tests (Files): Likewise.
34956         * modules/unictype/property-composite-tests (Files): Likewise.
34957         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34958         * modules/unictype/property-dash-tests (Files): Likewise.
34959         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34960         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34961         Likewise.
34962         * modules/unictype/property-deprecated-tests (Files): Likewise.
34963         * modules/unictype/property-diacritic-tests (Files): Likewise.
34964         * modules/unictype/property-extender-tests (Files): Likewise.
34965         * modules/unictype/property-format-control-tests (Files): Likewise.
34966         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34967         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34968         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34969         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34970         * modules/unictype/property-hyphen-tests (Files): Likewise.
34971         * modules/unictype/property-id-continue-tests (Files): Likewise.
34972         * modules/unictype/property-id-start-tests (Files): Likewise.
34973         * modules/unictype/property-ideographic-tests (Files): Likewise.
34974         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34975         * modules/unictype/property-ids-trinary-operator-tests (Files):
34976         Likewise.
34977         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34978         * modules/unictype/property-iso-control-tests (Files): Likewise.
34979         * modules/unictype/property-join-control-tests (Files): Likewise.
34980         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34981         * modules/unictype/property-line-separator-tests (Files): Likewise.
34982         * modules/unictype/property-logical-order-exception-tests (Files):
34983         Likewise.
34984         * modules/unictype/property-lowercase-tests (Files): Likewise.
34985         * modules/unictype/property-math-tests (Files): Likewise.
34986         * modules/unictype/property-non-break-tests (Files): Likewise.
34987         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34988         * modules/unictype/property-numeric-tests (Files): Likewise.
34989         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34990         * modules/unictype/property-other-default-ignorable-code-point-tests
34991         (Files): Likewise.
34992         * modules/unictype/property-other-grapheme-extend-tests (Files):
34993         Likewise.
34994         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34995         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34996         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34997         * modules/unictype/property-other-math-tests (Files): Likewise.
34998         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34999         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35000         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35001         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35002         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35003         * modules/unictype/property-private-use-tests (Files): Likewise.
35004         * modules/unictype/property-punctuation-tests (Files): Likewise.
35005         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35006         * modules/unictype/property-radical-tests (Files): Likewise.
35007         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35008         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35009         * modules/unictype/property-space-tests (Files): Likewise.
35010         * modules/unictype/property-terminal-punctuation-tests (Files):
35011         Likewise.
35012         * modules/unictype/property-test-tests (Files): Likewise.
35013         * modules/unictype/property-titlecase-tests (Files): Likewise.
35014         * modules/unictype/property-unassigned-code-value-tests (Files):
35015         Likewise.
35016         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35017         * modules/unictype/property-uppercase-tests (Files): Likewise.
35018         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35019         * modules/unictype/property-white-space-tests (Files): Likewise.
35020         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35021         * modules/unictype/property-xid-start-tests (Files): Likewise.
35022         * modules/unictype/property-zero-width-tests (Files): Likewise.
35023         * modules/unictype/scripts-tests (Files): Likewise.
35024         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35025         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35026         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35027         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35028         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35029         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35030         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35031         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35032         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35033         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35034         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35035         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35036         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35037         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35038         * modules/uninorm/composition-tests (Files): Likewise.
35039         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35040         * modules/uninorm/decomposition-tests (Files): Likewise.
35041         * modules/uninorm/filter-tests (Files): Likewise.
35042         * modules/uninorm/nfc-tests (Files): Likewise.
35043         * modules/uninorm/nfd-tests (Files): Likewise.
35044         * modules/uninorm/nfkc-tests (Files): Likewise.
35045         * modules/uninorm/nfkd-tests (Files): Likewise.
35046         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35047         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35048         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35049         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35050         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35051         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35052         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35053         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35054         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35055         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35056         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35057         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35058         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35059         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35060         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35061         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35062         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35063         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35064         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35065         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35066         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35067         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35068         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35069         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35070         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35071         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35072         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35073         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35074         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35075         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35076         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35077         * modules/uniwidth/u8-width-tests (Files): Likewise.
35078         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35079         * modules/uniwidth/u16-width-tests (Files): Likewise.
35080         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35081         * modules/uniwidth/u32-width-tests (Files): Likewise.
35082         * modules/uniwidth/width-tests (Files): Likewise.
35083         * modules/unlink-tests (Files): Likewise.
35084         * modules/unsetenv-tests (Files): Likewise.
35085         * modules/usleep-tests (Files): Likewise.
35086         * modules/utimens-tests (Files): Likewise.
35087         * modules/utimensat-tests (Files): Likewise.
35088         * modules/vasnprintf-posix-tests (Files): Likewise.
35089         * modules/vasnprintf-tests (Files): Likewise.
35090         * modules/vasprintf-posix-tests (Files): Likewise.
35091         * modules/vasprintf-tests (Files): Likewise.
35092         * modules/vdprintf-posix-tests (Files): Likewise.
35093         * modules/vfprintf-posix-tests (Files): Likewise.
35094         * modules/vprintf-posix-tests (Files): Likewise.
35095         * modules/vsnprintf-posix-tests (Files): Likewise.
35096         * modules/vsnprintf-tests (Files): Likewise.
35097         * modules/vsprintf-posix-tests (Files): Likewise.
35098         * modules/wcrtomb-tests (Files): Likewise.
35099         * modules/wcsnrtombs-tests (Files): Likewise.
35100         * modules/wcsrtombs-tests (Files): Likewise.
35101         * modules/wctype-tests (Files): Likewise.
35102         * modules/wcwidth-tests (Files): Likewise.
35103         * modules/xmemdup0-tests (Files): Likewise.
35104         * modules/xprintf-posix-tests (Files): Likewise.
35105         * modules/xvasprintf-tests (Files): Likewise.
35106
35107 2009-12-24  Eric Blake  <ebb9@byu.net>
35108
35109         test-nanosleep: fix typo
35110         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35111         patch.
35112         Reported by Bruno Haible.
35113
35114 2009-12-24  Bruno Haible  <bruno@clisp.org>
35115
35116         Reduce namespace pollution on glibc systems.
35117         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35118         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35119         systems.
35120         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35121         <getopt.h> on glibc systems.
35122         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35123         systems.
35124         * lib/fcntl.c: Include <unistd.h> here instead.
35125
35126 2009-12-24  Bruno Haible  <bruno@clisp.org>
35127
35128         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35129
35130 2009-12-24  Eric Blake  <ebb9@byu.net>
35131
35132         tests: add signature checks
35133         * tests/signature.h (SIGNATURE_CHECK): New file.
35134         * modules/atexit-tests (Files): Use it.
35135         * modules/btowc-tests (Files): Likewise.
35136         * modules/canonicalize-lgpl-tests (Files): Likewise.
35137         * modules/ceilf-tests (Files): Likewise.
35138         * modules/ceill-tests (Files): Likewise.
35139         * modules/chown-tests (Files): Likewise.
35140         * modules/dprintf-posix-tests (Files): Likewise.
35141         * modules/dup2-tests (Files): Likewise.
35142         * modules/dup3-tests (Files): Likewise.
35143         * modules/duplocale-tests (Files): Likewise.
35144         * modules/fchdir-tests (Files): Likewise.
35145         * modules/fcntl-tests (Files): Likewise.
35146         * modules/fdopendir-tests (Files): Likewise.
35147         * modules/fflush-tests (Files): Likewise.
35148         * modules/flock-tests (Files): Likewise.
35149         * modules/floorf-tests (Files): Likewise.
35150         * modules/floorl-tests (Files): Likewise.
35151         * modules/fnmatch-tests (Files): Likewise.
35152         * modules/fopen-tests (Files): Likewise.
35153         * modules/fprintf-posix-tests (Files): Likewise.
35154         * modules/freopen-tests (Files): Likewise.
35155         * modules/frexp-nolibm-tests (Files): Likewise.
35156         * modules/frexp-tests (Files): Likewise.
35157         * modules/frexpl-nolibm-tests (Files): Likewise.
35158         * modules/frexpl-tests (Files): Likewise.
35159         * modules/fseek-tests (Files): Likewise.
35160         * modules/fseeko-tests (Files): Likewise.
35161         * modules/fsync-tests (Files): Likewise.
35162         * modules/ftell-tests (Files): Likewise.
35163         * modules/ftello-tests (Files): Likewise.
35164         * modules/futimens-tests (Files): Likewise.
35165         * modules/getaddrinfo-tests (Files): Likewise.
35166         * modules/getcwd-tests (Files): Likewise.
35167         * modules/getdelim-tests (Files): Likewise.
35168         * modules/getdtablesize-tests (Files): Likewise.
35169         * modules/getgroups-tests (Files): Likewise.
35170         * modules/gethostname-tests (Files): Likewise.
35171         * modules/getline-tests (Files): Likewise.
35172         * modules/getopt-posix-tests (Files): Likewise.
35173         * modules/gettimeofday-tests (Files): Likewise.
35174         * modules/glob-tests (Files): Likewise.
35175         * modules/iconv-tests (Files): Likewise.
35176         * modules/inet_ntop-tests (Files): Likewise.
35177         * modules/inet_pton-tests (Files): Likewise.
35178         * modules/isblank-tests (Files): Likewise.
35179         * modules/lchown-tests (Files): Likewise.
35180         * modules/ldexpl-tests (Files): Likewise.
35181         * modules/link-tests (Files): Likewise.
35182         * modules/linkat-tests (Files): Likewise.
35183         * modules/lseek-tests (Files): Likewise.
35184         * modules/lstat-tests (Files): Likewise.
35185         * modules/mbrtowc-tests (Files): Likewise.
35186         * modules/mbsinit-tests (Files): Likewise.
35187         * modules/mbsnrtowcs-tests (Files): Likewise.
35188         * modules/mbsrtowcs-tests (Files): Likewise.
35189         * modules/memchr-tests (Files): Likewise.
35190         * modules/memcmp-tests (Files): Likewise.
35191         * modules/memmem-tests (Files): Likewise.
35192         * modules/memrchr-tests (Files): Likewise.
35193         * modules/mkdir-tests (Files): Likewise.
35194         * modules/mkfifo-tests (Files): Likewise.
35195         * modules/mkfifoat-tests (Files): Likewise.
35196         * modules/mknod-tests (Files): Likewise.
35197         * modules/nanosleep-tests (Files): Likewise.
35198         * modules/nl_langinfo-tests (Files): Likewise.
35199         * modules/obstack-printf-tests (Files): Likewise.
35200         * modules/open-tests (Files): Likewise.
35201         * modules/openat-tests (Files): Likewise.
35202         * modules/perror-tests (Files): Likewise.
35203         * modules/pipe2-tests (Files): Likewise.
35204         * modules/poll-tests (Files): Likewise.
35205         * modules/popen-tests (Files): Likewise.
35206         * modules/posix_spawn-tests (Files): Likewise.
35207         * modules/posix_spawnp-tests (Files): Likewise.
35208         * modules/pread-tests (Files): Likewise.
35209         * modules/printf-posix-tests (Files): Likewise.
35210         * modules/pty-tests (Files): Likewise.
35211         * modules/random_r-tests (Files): Likewise.
35212         * modules/rawmemchr-tests (Files): Likewise.
35213         * modules/readlink-tests (Files): Likewise.
35214         * modules/remove-tests (Files): Likewise.
35215         * modules/rename-tests (Files): Likewise.
35216         * modules/renameat-tests (Files): Likewise.
35217         * modules/rmdir-tests (Files): Likewise.
35218         * modules/round-tests (Files): Likewise.
35219         * modules/roundf-tests (Files): Likewise.
35220         * modules/roundl-tests (Files): Likewise.
35221         * modules/select-tests (Files): Likewise.
35222         * modules/setenv-tests (Files): Likewise.
35223         * modules/sigaction-tests (Files): Likewise.
35224         * modules/sleep-tests (Files): Likewise.
35225         * modules/snprintf-posix-tests (Files): Likewise.
35226         * modules/snprintf-tests (Files): Likewise.
35227         * modules/sprintf-posix-tests (Files): Likewise.
35228         * modules/stat-tests (Files): Likewise.
35229         * modules/strcasestr-tests (Files): Likewise.
35230         * modules/strchrnul-tests (Files): Likewise.
35231         * modules/strerror-tests (Files): Likewise.
35232         * modules/strsignal-tests (Files): Likewise.
35233         * modules/strstr-tests (Files): Likewise.
35234         * modules/strtod-tests (Files): Likewise.
35235         * modules/strverscmp-tests (Files): Likewise.
35236         * modules/symlink-tests (Files): Likewise.
35237         * modules/symlinkat-tests (Files): Likewise.
35238         * modules/times-tests (Files): Likewise.
35239         * modules/trunc-tests (Files): Likewise.
35240         * modules/truncf-tests (Files): Likewise.
35241         * modules/truncl-tests (Files): Likewise.
35242         * modules/tsearch-tests (Files): Likewise.
35243         * modules/uname-tests (Files): Likewise.
35244         * modules/unlink-tests (Files): Likewise.
35245         * modules/unsetenv-tests (Files): Likewise.
35246         * modules/usleep-tests (Files): Likewise.
35247         * modules/utimensat-tests (Files): Likewise.
35248         * modules/vasprintf-tests (Files): Likewise.
35249         * modules/vdprintf-posix-tests (Files): Likewise.
35250         * modules/vfprintf-posix-tests (Files): Likewise.
35251         * modules/vprintf-posix-tests (Files): Likewise.
35252         * modules/vsnprintf-posix-tests (Files): Likewise.
35253         * modules/vsnprintf-tests (Files): Likewise.
35254         * modules/vsprintf-posix-tests (Files): Likewise.
35255         * modules/wcrtomb-tests (Files): Likewise.
35256         * modules/wcsnrtombs-tests (Files): Likewise.
35257         * modules/wcsrtombs-tests (Files): Likewise.
35258         * modules/wcwidth-tests (Files): Likewise.
35259         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35260         * tests/test-isinf.c (isinf): Likewise.
35261         * tests/test-isnan.c (isnan): Likewise.
35262         * tests/test-signbit.c (signbit): Likewise.
35263         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35264         declaration, either as macro or with correct signature.
35265         (select): Ensure function under test is declared with correct
35266         signature in correct header.
35267         * tests/test-atexit.c (atexit): Likewise.
35268         * tests/test-btowc.c (btowc): Likewise.
35269         * tests/test-canonicalize-lgpl.c (realpath)
35270         (canonicalize_file_name): Likewise.
35271         * tests/test-ceilf1.c (ceilf): Likewise.
35272         * tests/test-ceill.c (ceill): Likewise.
35273         * tests/test-chown.c (chown): Likewise.
35274         * tests/test-dprintf-posix.c (dprintf): Likewise.
35275         * tests/test-dup2.c (dup2): Likewise.
35276         * tests/test-dup3.c (dup3): Likewise.
35277         * tests/test-duplocale.c (duplocale): Likewise.
35278         * tests/test-fchdir.c (fchdir): Likewise.
35279         * tests/test-fchownat.c (fchownat): Likewise.
35280         * tests/test-fcntl.c (fcntl): Likewise.
35281         * tests/test-fdopendir.c (fdopendir): Likewise.
35282         * tests/test-fflush.c (fflush): Likewise.
35283         * tests/test-flock.c (flock): Likewise.
35284         * tests/test-floorf1.c (floorf): Likewise.
35285         * tests/test-floorl.c (floorl): Likewise.
35286         * tests/test-fnmatch.c (fnmatch): Likewise.
35287         * tests/test-fopen.c (fopen): Likewise.
35288         * tests/test-fprintf-posix.c (fprintf): Likewise.
35289         * tests/test-freopen.c (freopen): Likewise.
35290         * tests/test-frexp.c (frexp): Likewise.
35291         * tests/test-frexpl.c (frexpl): Likewise.
35292         * tests/test-fseek.c (fseek): Likewise.
35293         * tests/test-fseeko.c (fseeko): Likewise.
35294         * tests/test-fstatat.c (fstatat): Likewise.
35295         * tests/test-fsync.c (fsync): Likewise.
35296         * tests/test-ftell.c (ftell): Likewise.
35297         * tests/test-ftello.c (ftello): Likewise.
35298         * tests/test-futimens.c (futimens): Likewise.
35299         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35300         (gai_strerror): Likewise.
35301         * tests/test-getcwd.c (getcwd): Likewise.
35302         * tests/test-getdelim.c (getdelim): Likewise.
35303         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35304         * tests/test-getgroups.c (getgroups): Likewise.
35305         * tests/test-gethostname.c (gethostname): Likewise.
35306         * tests/test-getline.c (getline): Likewise.
35307         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35308         Likewise.
35309         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35310         * tests/test-glob.c (glob, globfree): Likewise.
35311         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35312         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35313         * tests/test-inet_pton.c (inet_pton): Likewise.
35314         * tests/test-isblank.c (isblank): Likewise.
35315         * tests/test-lchown.c (lchown): Likewise.
35316         * tests/test-ldexpl.c (ldexpl): Likewise.
35317         * tests/test-link.c (link): Likewise.
35318         * tests/test-linkat.c (linkat): Likewise.
35319         * tests/test-lseek.c (lseek): Likewise.
35320         * tests/test-lstat.c (lstat): Likewise.
35321         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35322         * tests/test-mbsinit.c (mbsinit): Likewise.
35323         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35324         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35325         * tests/test-memchr.c (memchr): Likewise.
35326         * tests/test-memcmp.c (memcmp): Likewise.
35327         * tests/test-memmem.c (memmem): Likewise.
35328         * tests/test-memrchr.c (memrchr): Likewise.
35329         * tests/test-mkdir.c (mkdir): Likewise.
35330         * tests/test-mkdirat.c (mkdirat): Likewise.
35331         * tests/test-mkfifo.c (mkfifo): Likewise.
35332         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35333         * tests/test-mknod.c (mknod): Likewise.
35334         * tests/test-nanosleep.c (nanosleep): Likewise.
35335         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35336         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35337         Likewise.
35338         * tests/test-open.c (open): Likewise.
35339         * tests/test-openat.c (openat): Likewise.
35340         * tests/test-perror.c (perror): Likewise.
35341         * tests/test-pipe2.c (pipe2): Likewise.
35342         * tests/test-poll.c (poll): Likewise.
35343         * tests/test-popen.c (popen, pclose): Likewise.
35344         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35345         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35346         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35347         (posix_spawn_file_actions_destroy)
35348         (posix_spawn_file_actions_addclose)
35349         (posix_spawn_file_actions_addopen)
35350         (posix_spawn_file_actions_adddup2): Likewise.
35351         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35352         * tests/test-pread.c (pread): Likewise.
35353         * tests/test-printf-posix.c (printf): Likewise.
35354         * tests/test-pty.c (openpty, forkpty): Likewise.
35355         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35356         (random_r): Likewise.
35357         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35358         * tests/test-readlink.c (readlink): Likewise.
35359         * tests/test-remove.c (remove): Likewise.
35360         * tests/test-rename.c (rename): Likewise.
35361         * tests/test-renameat.c (renameat): Likewise.
35362         * tests/test-rmdir.c (rmdir): Likewise.
35363         * tests/test-round1.c (round): Likewise.
35364         * tests/test-roundf1.c (roundf): Likewise.
35365         * tests/test-roundl.c (roundl): Likewise.
35366         * tests/test-setenv.c (setenv): Likewise.
35367         * tests/test-sigaction.c (sigaction): Likewise.
35368         * tests/test-sleep.c (sleep): Likewise.
35369         * tests/test-snprintf.c (snprintf): Likewise.
35370         * tests/test-sprintf-posix.c (sprintf): Likewise.
35371         * tests/test-stat.c (stat): Likewise.
35372         * tests/test-stpncpy.c (stpncpy): Likewise.
35373         * tests/test-strcasestr.c (strcasestr): Likewise.
35374         * tests/test-strchrnul.c (strchrnul): Likewise.
35375         * tests/test-strerror.c (strerror): Likewise.
35376         * tests/test-strsignal.c (strsignal): Likewise.
35377         * tests/test-strstr.c (strstr): Likewise.
35378         * tests/test-strtod.c (strtod): Likewise.
35379         * tests/test-strverscmp.c (strverscmp): Likewise.
35380         * tests/test-symlink.c (symlink): Likewise.
35381         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35382         * tests/test-times.c (times): Likewise.
35383         * tests/test-trunc1.c (trunc): Likewise.
35384         * tests/test-truncf1.c (truncf): Likewise.
35385         * tests/test-truncl.c (truncl): Likewise.
35386         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35387         Likewise.
35388         * tests/test-uname.c (uname): Likewise.
35389         * tests/test-unlink.c (unlink): Likewise.
35390         * tests/test-unlinkat.c (unlinkat): Likewise.
35391         * tests/test-unsetenv.c (unsetenv): Likewise.
35392         * tests/test-usleep.c (usleep): Likewise.
35393         * tests/test-utimensat.c (utimensat): Likewise.
35394         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35395         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35396         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35397         * tests/test-vprintf-posix.c (vprintf): Likewise.
35398         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35399         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35400         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35401         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35402         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35403         * tests/test-wcwidth.c (wcwidth): Likewise.
35404
35405         build: pull in conditional headers during GNULIB_POSIXCHECK
35406         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35407         definitions from any conditionally-included headers.
35408         * lib/stdlib.in.h (includes): Likewise.
35409         * lib/unistd.in.h (includes): Likewise.
35410
35411 2009-12-24  Bruno Haible  <bruno@clisp.org>
35412
35413         * tests/test-argv-iter.c: Include header file being tested immediately
35414         after config.h.
35415         * tests/test-base64.c: Likewise.
35416         * tests/test-flock.c: Likewise.
35417         * tests/test-fsync.c: Likewise.
35418         * tests/test-getdate.c: Likewise.
35419         * tests/test-getndelim2.c: Likewise.
35420         * tests/test-isfinite.c: Likewise.
35421         * tests/test-isinf.c: Likewise.
35422         * tests/test-strerror.c: Likewise.
35423         * tests/test-strsignal.c: Likewise.
35424
35425 2009-12-23  Eric Blake  <ebb9@byu.net>
35426
35427         unistd: work around cygwin bug
35428         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35429         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35430         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35431
35432 2009-12-23  Bruno Haible  <bruno@clisp.org>
35433
35434         localename: More tests.
35435         * tests/test-localename.c (SIZEOF): New macro.
35436         (categories): New variable.
35437         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35438         test_locale_name_default): Add test w.r.t. thread locale.
35439         (test_locale_name_thread): New function.
35440         (main): Invoke it.
35441
35442         localename: Make aware of thread locale.
35443         * lib/localename.h (gl_locale_name_thread): New declaration.
35444         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35445         behaviour with respect to thread locale.
35446         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35447         <langinfo.h>, glthread/lock.h.
35448         (SIZE_BITS): New macro.
35449         (string_hash): New function.
35450         (struct hash_node): New type.
35451         (HASH_TABLE_SIZE): New macro.
35452         (struniq_hash_table, struniq_lock): New variables.
35453         (struniq): New function.
35454         (gl_locale_name_thread): New function.
35455         (gl_locale_name): Invoke it.
35456         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35457         * modules/localename (Depends-on): Add lock.
35458         Reported by Mike Gran <spk121@yahoo.com>.
35459
35460 2009-12-23  Eric Blake  <ebb9@byu.net>
35461
35462         va-args: new module
35463         * modules/va-args: New file.
35464         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35465         * MODULES.html.sh (Core language properties): Mention it.
35466
35467         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35468         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35469         named alias for __attribute__((__unused__)).
35470         * lib/chown.c: Update client.
35471         * lib/fchmodat.c: Likewise.
35472         * lib/fts.c: Likewise.
35473         * lib/getdate.y: Likewise.
35474         * lib/getgroups.c: Likewise.
35475         * lib/getopt.c: Likewise.
35476         * lib/getugroups.c: Likewise.
35477         * lib/mkdir.c: Likewise.
35478         * lib/mkfifo.c: Likewise.
35479         * lib/mkfifoat.c: Likewise.
35480         * lib/mknod.c: Likewise.
35481         * lib/mknodat.c: Likewise.
35482         * lib/readlink.c: Likewise.
35483         * lib/se-context.in.h: Likewise.
35484         * lib/se-selinux.in.h: Likewise.
35485         * lib/sockets.c: Likewise.
35486         * lib/symlink.c: Likewise.
35487         * lib/symlinkat.c: Likewise.
35488         * lib/unicodeio.c: Likewise.
35489         * lib/unistr.h: Likewise.
35490         * tests/test-areadlink.c: Likewise.
35491         * tests/test-areadlinkat.c: Likewise.
35492         * tests/test-filenamecat.c: Likewise.
35493         * tests/test-fseeko.c: Likewise.
35494         * tests/test-ftello.c: Likewise.
35495         * tests/test-getdate.c: Likewise.
35496         * tests/test-getgroups.c: Likewise.
35497         * tests/test-gethostname.c: Likewise.
35498         * tests/test-quotearg.c: Likewise.
35499         * tests/test-version-etc.c: Likewise.
35500         * tests/test-xalloc-die.c: Likewise.
35501         * tests/test-xfprintf-posix.c: Likewise.
35502         * tests/test-xprintf-posix.c: Likewise.
35503         * tests/test-xvasprintf.c: Likewise.
35504
35505         tests: avoid compiler warnings
35506         * tests/test-fcntl.c (main): Delete unused parameters.
35507         * tests/test-freopen-safer.c (main): Likewise.
35508         * tests/test-xalloc-die.c (main): Mark unused parameters.
35509         * tests/test-fseeko.c (main): Likewise.
35510         * tests/test-ftello.c (main): Likewise.
35511         * tests/test-nanosleep.c (main): Avoid declaration warning.
35512         * tests/test-sleep.c (main): Likewise.
35513         * tests/test-unsetenv.c (main): Silence warning about string
35514         literal.
35515         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35516
35517 2009-12-23  Bruno Haible  <bruno@clisp.org>
35518
35519         * tests/test-localename.c (test_locale_name): New function, extracted
35520         from main. Also test mixed situations.
35521         (test_locale_name_posix, test_locale_name_environ,
35522         test_locale_name_default): New functions.
35523         (main): Invoke them all.
35524         * modules/localename-tests (configure.ac): Test for newlocale.
35525
35526 2009-12-23  Bruno Haible  <bruno@clisp.org>
35527
35528         unistd: Ensure getcwd gets declared before being overridden.
35529         * lib/unistd.in.h: Conditionally include <io.h>.
35530
35531 2009-12-22  Bruno Haible  <bruno@clisp.org>
35532
35533         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35534         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35535         (gl_WCHAR_H): Invoke it.
35536         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35537         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35538         Reported by Karl Berry <karl@freefriends.org>.
35539
35540 2009-12-22  Eric Blake  <ebb9@byu.net>
35541
35542         math, unistd: avoid redundant includes
35543         * lib/math.in.h (isnan): No need to re-include <math.h>.
35544         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35545
35546         getsubopt: work around cygwin bug
35547         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35548         avoid conflicting with system getsubopt.
35549         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35550         bug.
35551
35552         getopt: synchronize from glibc
35553         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35554         parameter order.  Adjust all callers.
35555         (_getopt_internal_r, main): Adjust quoting in error messages.
35556         Drop considerations for outdated POSIX 1003.2 error message.
35557         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35558         callers.
35559         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35560
35561         test-getopt: test stderr behavior
35562         * modules/getopt-posix-tests (Depends-on): Add dup2.
35563         * tests/test-getopt.c (ASSERT): Avoid stderr.
35564         (main): Move stderr to a temporary file.
35565         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35566         Instead, add parameter to inform caller if output occurred.
35567         (test_getopt): Adjust all existing tests to expect silence, and
35568         add new tests of leading ":".
35569         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35570         glibc shortcomings with leading "-:" or "+:" in optstring.
35571         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35572         Likewise.
35573         * doc/posix-functions/getopt.texi (getopt): Likewise.
35574
35575         test-getopt: enhance test
35576         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35577         supports optind=0.
35578         * tests/test-getopt.c (OPTIND_MIN): Move...
35579         * tests/test-getopt.h (OPTIND_MIN): ...here.
35580         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35581         Require that optind=0 works, since modern BSD supports it in
35582         addition to optreset, and since coreutils expects it.
35583         (test_getopt_long_only): New test.
35584         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35585         glibc shortcomings with 'W;', and enforcement of optind=0.
35586         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35587         Likewise.
35588
35589 2009-12-21  Bruno Haible  <bruno@clisp.org>
35590
35591         localename: Improvements for MacOS X and Cygwin.
35592         * lib/localename.h (gl_locale_name_environ): New declaration.
35593         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35594         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35595         (gl_locale_name_posix): Invoke it.
35596         (gl_locale_name_default): Add comments. Use Windows native API also on
35597         Cygwin.
35598
35599 2009-12-21  Bruno Haible  <bruno@clisp.org>
35600
35601         Update list of Win32 locale ids.
35602         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35603         (LANG_SAMI): Renamed from LANG_SAAMI.
35604         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35605         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35606         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35607         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35608         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35609         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35610         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35611         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35612         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35613         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35614         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35615         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35616         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35617         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35618         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35619         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35620         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35621         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35622         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35623         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35624         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35625         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35626         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35627         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35628         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35629         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35630         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35631         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35632         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35633         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35634         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35635         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35636         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35637         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35638         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35639         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35640         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35641         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35642         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35643         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35644         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35645         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35646         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35647         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35648         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35649         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35650         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35651         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35652         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35653         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35654         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35655         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35656         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35657         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35658         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35659         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35660         Add more languages and countries for Sami, Sorbian. Add more countries
35661         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35662         for Pashto. Change country for Syriac, Tswana.
35663
35664 2009-12-21  Eric Blake  <ebb9@byu.net>
35665
35666         test-utimens: avoid spurious failure
35667         * tests/test-chown.h (nap): Factor...
35668         * tests/nap.h: ...into new file.
35669         * tests/test-lchown.h (nap): Avoid duplication.
35670         * tests/test-utimens-common.h (nap): Use shared implementation,
35671         necessary on file systems with 1-second resolution.
35672         * modules/chown-tests (Files): Include new file.
35673         * modules/fdutimensat-tests (Files): Likewise.
35674         * modules/futimens-tests (Files): Likewise.
35675         * modules/lchown-tests (Files): Likewise.
35676         * modules/openat-tests (Files): Likewise.
35677         * modules/utimens-tests (Files): Likewise.
35678         * modules/utimensat-tests (Files): Likewise.
35679
35680 2009-12-19  Eric Blake  <ebb9@byu.net>
35681
35682         futimens, utimensat: work around Linux bug
35683         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35684         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35685         * lib/utimensat.c (rpl_utimensat): Work around it.
35686         * lib/futimens.c (rpl_futimens): Adjust comment.
35687
35688         utimens: work around Linux ctime bug
35689         * lib/utimens.c (detect_ctime_bug): New helper function.
35690         (update_timespec): Differentiate between workaround needed for
35691         this bug vs. what is needed for systems that lack utimensat.
35692         (fdutimens, lutimens): Work around bug.
35693
35694         utimens: check for ctime update
35695         * tests/test-utimens-common.h (check_ctime): Define.
35696         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35697         * tests/test-futimens.h (test_futimens): Likewise.
35698         * tests/test-lutimens.h (test_lutimens): Likewise.
35699         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35700         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35701
35702 2009-12-19  Bruno Haible  <bruno@clisp.org>
35703
35704         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35705         * tests/test-dprintf-posix2.sh: New file.
35706         * tests/test-dprintf-posix2.c: New file.
35707         * modules/dprintf-posix-tests (Files): Add them.
35708         (configure.ac): Check for getrlimit and setrlimit.
35709         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35710
35711 2009-12-19  Bruno Haible  <bruno@clisp.org>
35712
35713         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35714         * tests/test-fprintf-posix3.sh: New file.
35715         * tests/test-fprintf-posix3.c: New file.
35716         * modules/fprintf-posix-tests (Files): Add them.
35717         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35718
35719 2009-12-19  Eric Blake  <ebb9@byu.net>
35720
35721         dirfd: fix prototype
35722         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35723         * lib/dirfd.c (dirfd): Likewise.
35724
35725         canonicalize: reduce memory usage
35726         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35727         allocation to size.
35728         Reported by Solar Designer <solar@openwall.com>.
35729
35730 2009-12-19  Bruno Haible  <bruno@clisp.org>
35731
35732         New module attribute 'Applicability'.
35733         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35734         * gnulib-tool: New option --extract-applicability.
35735         (func_usage): Document it.
35736         (sed_extract_prog): Recognize it.
35737         (func_get_applicability): New function.
35738         (func_import): Generalize handling of 'link-warning' module.
35739         * modules/link-warning (Applicability): New section.
35740         * modules/arg-nonnull (Applicability): New section.
35741         Repoted by Simon Josefsson <simon@josefsson.org>.
35742
35743 2009-12-19  Bruno Haible  <bruno@clisp.org>
35744
35745         fflush: tweak
35746         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35747         * lib/fseeko.c (rpl_fseeko): Likewise.
35748
35749 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35750
35751         * lib/gl_list.h: Fix typo in comment.
35752
35753 2009-12-16  Eric Blake  <ebb9@byu.net>
35754
35755         fcntl: use to simplify other modules
35756         * modules/cloexec (Depends-on): Add fcntl.
35757         * modules/fchdir (Depends-on): Likewise.
35758         * modules/fd-safer-flag (Depends-on): Likewise.
35759         * modules/unistd-safer (Depends-on): Likewise.
35760         * modules/dup3 (configure.ac): Set module indicator.
35761         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35762         missing.
35763         * lib/fchdir.c (_gl_register_dup): Fix comment.
35764         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35765         * lib/dup-safer.c (dup_safer): Likewise.
35766         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35767         * lib/dup3.c (dup3): Likewise.
35768         * tests/test-fchdir.c (main): Enhance test.
35769         Fixes a dup_cloexec bug reported by Ondřej Vašík.
35770
35771         fcntl: port portions of fcntl to mingw
35772         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35773         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35774         replacement for mingw.
35775         * modules/fcntl (Description): Update.
35776         (Depends-on): Add dup2.
35777         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35778         * modules/fcntl-h (Makefile.am): Substitute it.
35779         * lib/fcntl.in.h (fcntl): Update declaration.
35780         (F_DUPFD, F_GETFD): New macros, when needed.
35781         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35782         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35783         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35784         we now guarantee.
35785
35786         fcntl: work around cygwin bug in F_DUPFD
35787         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35788         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35789         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35790         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35791         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35792
35793         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35794         * modules/fcntl (Files): List new files.
35795         (configure.ac): Run a test.
35796         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35797         * lib/fcntl.c (rpl_fcntl): Likewise.
35798         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35799         (gl_FCNTL_H): Always replace fcntl.h.
35800         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35801         * lib/fcntl.in.h (fcntl): Declare replacement.
35802         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35803         needed, plus a witness.
35804         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35805         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35806         * tests/test-fcntl.c: New file.
35807         * modules/fcntl-tests: Likewise.
35808
35809         binary-io: avoid potential compilation warning
35810         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35811         directives.
35812
35813         fflush: avoid compilation error on NetBSD
35814         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35815         between off_t and fpos_t, since the latter is sometimes a struct.
35816         * lib/fseeko.c (rpl_fseeko): Likewise.
35817         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35818
35819 2009-12-15  Eric Blake  <ebb9@byu.net>
35820
35821         fcntl-h, stdio, sys_ioctl: fix declarations
35822         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35823         function must not take arguments.
35824         * lib/sys_ioctl.in.h (ioctl): Likewise.
35825         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35826         (open): Add a link warning.
35827
35828 2009-12-15  Jim Meyering  <meyering@redhat.com>
35829
35830         areadlink, areadlink-with-size: relax license to LGPLv2+
35831         * modules/areadlink (License): Relax to LGPLv2+.
35832         * modules/areadlink-with-size (License): Likewise.
35833
35834 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35835             Bruno Haible  <bruno@clisp.org>
35836
35837         *printf: Fix memory leak.
35838         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35839         * lib/vfprintf.c (vfprintf): Likewise.
35840         * lib/dprintf.c (dprintf): Likewise.
35841         * lib/vdprintf.c (vdprintf): Likewise.
35842
35843 2009-12-14  Eric Blake  <ebb9@byu.net>
35844
35845         accept4: adjust module dependencies
35846         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35847
35848         utimens: one more try at avoiding compiler warning
35849         * lib/utimens.c (lutimens): Lower scope of result.
35850
35851 2009-12-13  Bruno Haible  <bruno@clisp.org>
35852
35853         Move the malloc checking from module 'list' to new module 'xlist'.
35854         * modules/xlist: New file.
35855         * lib/gl_xlist.h: New file.
35856         * lib/gl_xlist.c: New file.
35857         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35858         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35859         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35860         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35861         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35862         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35863         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35864         gl_sortedlist_nx_add): New declarations.
35865         (struct gl_list_implementation): Rename and change methods accordingly.
35866         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35867         (gl_list_nx_create): Renamed from gl_list_create.
35868         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35869         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35870         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35871         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35872         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35873         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35874         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35875         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35876         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35877         gl_list_create_empty.
35878         (gl_list_nx_create): Renamed from gl_list_create.
35879         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35880         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35881         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35882         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35883         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35884         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35885         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35886         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35887         * lib/gl_array_list.c: Don't include xalloc.h.
35888         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35889         NULL upon out-of-memory.
35890         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35891         out-of-memory.
35892         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35893         Change return type to 'int'.
35894         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35895         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35896         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35897         upon out-of-memory.
35898         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35899         upon out-of-memory.
35900         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35901         upon out-of-memory.
35902         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35903         upon out-of-memory.
35904         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35905         out-of-memory.
35906         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35907         Update.
35908         (gl_array_list_implementation): Update.
35909         * lib/gl_carray_list.c: Don't include xalloc.h.
35910         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35911         Return NULL upon out-of-memory.
35912         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35913         out-of-memory.
35914         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35915         Change return type to 'int'.
35916         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35917         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35918         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35919         upon out-of-memory.
35920         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35921         upon out-of-memory.
35922         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35923         out-of-memory.
35924         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35925         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35926         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35927         Update.
35928         (gl_carray_list_implementation): Update.
35929         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35930         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35931         gl_linked_create_empty. Return NULL upon out-of-memory.
35932         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35933         out-of-memory.
35934         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35935         Change return type to 'int'. Return -1 upon out-of-memory.
35936         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35937         out-of-memory.
35938         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35939         upon out-of-memory.
35940         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35941         upon out-of-memory.
35942         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35943         NULL upon out-of-memory.
35944         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35945         upon out-of-memory.
35946         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35947         out-of-memory.
35948         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35949         Update.
35950         * lib/gl_linked_list.c: Don't include xalloc.h.
35951         (gl_linked_list_implementation): Update.
35952         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35953         (add_to_bucket): Change return type to 'int'.
35954         (gl_linkedhash_list_implementation): Update.
35955         * lib/gl_anytree_list1.h (free_subtree): New function.
35956         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35957         gl_tree_create_empty. Return NULL upon out-of-memory.
35958         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35959         Change return type to 'int'. Return -1 upon out-of-memory.
35960         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35961         out-of-memory.
35962         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35963         (gl_tree_remove_node): New function, moved here from
35964         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35965         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35966         Update.
35967         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35968         malloc, not xmalloc. Return NULL upon out-of-memory.
35969         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35970         out-of-memory.
35971         (gl_tree_remove_node_from_tree): New function, extracted from
35972         gl_tree_remove_node.
35973         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35974         upon out-of-memory.
35975         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35976         out-of-memory.
35977         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35978         upon out-of-memory.
35979         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35980         upon out-of-memory.
35981         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35982         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35983         not xmalloc. Return NULL upon out-of-memory.
35984         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35985         out-of-memory.
35986         (gl_tree_remove_node_from_tree): New function, extracted from
35987         gl_tree_remove_node.
35988         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35989         upon out-of-memory.
35990         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35991         out-of-memory.
35992         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35993         upon out-of-memory.
35994         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35995         upon out-of-memory.
35996         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35997         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35998         gl_anytree_list1.h before gl_anyavltree_list2.h.
35999         (gl_avltree_list_implementation): Update.
36000         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36001         gl_anytree_list1.h before gl_anyavltree_list2.h.
36002         (gl_rbtree_list_implementation): Update.
36003         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36004         Change return type to 'int'. Return -1 upon out-of-memory. Use
36005         __builtin_expect.
36006         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36007         (gl_avltreehash_list_implementation): Update.
36008         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36009         (gl_rbtreehash_list_implementation): Update.
36010         * modules/array-list (Depends-on): Remove xalloc.
36011         * modules/carray-list (Depends-on): Likewise.
36012         * modules/linked-list (Depends-on): Likewise.
36013         * modules/linkedhash-list (Depends-on): Likewise.
36014         * modules/avltree-list (Depends-on): Likewise.
36015         * modules/rbtree-list (Depends-on): Likewise.
36016         * modules/avltreehash-list (Depends-on): Likewise.
36017         * modules/rbtreehash-list (Depends-on): Likewise.
36018
36019         * modules/xsublist: New file.
36020         * lib/gl_xsublist.h: New file.
36021         * lib/gl_xsublist.c: New file.
36022         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36023         (gl_sublist_nx_create): New declaration.
36024         * lib/gl_sublist.c: Don't include xalloc.h.
36025         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36026         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36027         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36028         Change return type to 'int'. Return -1 upon out-of-memory.
36029         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36030         upon out-of-memory.
36031         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36032         NULL upon out-of-memory.
36033         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36034         upon out-of-memory.
36035         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36036         NULL upon out-of-memory.
36037         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36038         NULL upon out-of-memory.
36039         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36040         upon out-of-memory.
36041         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36042         (gl_sublist_list_implementation): Update.
36043         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36044         upon out-of-memory.
36045         * modules/sublist (Depends-on): Remove xalloc.
36046
36047         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36048         * tests/test-carray_list.c: Likewise.
36049         * tests/test-linked_list.c: Likewise.
36050         * tests/test-linkedhash_list.c: Likewise.
36051         * tests/test-avltree_list.c: Likewise.
36052         * tests/test-rbtree_list.c: Likewise.
36053         * tests/test-avltreehash_list.c: Likewise.
36054         * tests/test-rbtreehash_list.c: Likewise.
36055         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36056         * modules/carray-list-tests (Makefile.am): Likewise.
36057         * modules/linked-list-tests (Makefile.am): Likewise.
36058         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36059         * modules/avltree-list-tests (Makefile.am): Likewise.
36060         * modules/rbtree-list-tests (Makefile.am): Likewise.
36061         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36062         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36063
36064         * NEWS: Mention the changes.
36065
36066         * lib/clean-temp.c: Include gl_xlist.h.
36067         * modules/clean-temp (Depends-on): Add xlist.
36068
36069         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36070         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36071
36072         * tests/test-array_oset.c: Include gl_xlist.h.
36073         * modules/array-oset-tests (Depends-on): Add xlist.
36074
36075         Reported by José E. Marchesi <jemarch@gnu.org>.
36076
36077 2009-12-13  Bruno Haible  <bruno@clisp.org>
36078
36079         Move the malloc checking from module 'oset' to new module 'xoset'.
36080         * modules/xoset: New file.
36081         * lib/gl_xoset.h: New file.
36082         * lib/gl_xoset.c: New file.
36083         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36084         declarations.
36085         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36086         (struct gl_oset_implementation): Rename and change methods accordingly.
36087         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36088         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36089         'int'. Mark as __warn_unused_result__.
36090         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36091         gl_oset_create_empty.
36092         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36093         'int'.
36094         * lib/gl_array_oset.c: Don't include xalloc.h.
36095         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36096         malloc, not xmalloc.
36097         (grow): Change return type to 'int'. Don't call xalloc_die.
36098         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36099         to 'int'.
36100         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36101         'int'.
36102         (gl_array_oset_implementation): Update.
36103         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36104         gl_tree_create_empty.
36105         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36106         'int'.
36107         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36108         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36109         xmalloc.
36110         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36111         not xmalloc.
36112         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36113         xmalloc.
36114         (gl_avltree_oset_implementation): Update.
36115         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36116         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36117         xmalloc.
36118         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36119         not xmalloc.
36120         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36121         xmalloc.
36122         (gl_rbtree_oset_implementation): Update.
36123         * modules/array-oset (Depends-on): Remove xalloc.
36124         * modules/avltree-oset (Depends-on): Likewise.
36125         * modules/rbtree-oset (Depends-on): Likewise.
36126         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36127         * tests/test-avltree_oset.c: Likewise.
36128         * tests/test-rbtree_oset.c: Likewise.
36129         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36130         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36131         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36132         * NEWS: Mention the change.
36133
36134 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36135
36136         maint.mk: allow a project to override release-prep commands
36137         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36138         commands into a new rule.
36139         (release-prep): New rule.
36140         (release-prep-hook): New overridable variable.
36141
36142 2009-12-13  Bruno Haible  <bruno@clisp.org>
36143
36144         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36145
36146 2009-12-13  Jim Meyering  <meyering@redhat.com>
36147
36148         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36149         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36150
36151 2009-12-12  Bruno Haible  <bruno@clisp.org>
36152
36153         duplocale: Tweak.
36154         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36155
36156 2009-12-12  Karl Berry  <karl@gnu.org>
36157
36158         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36159
36160 2009-12-12  Bruno Haible  <bruno@clisp.org>
36161
36162         * m4/po.m4: Undo incorrect untabification.
36163
36164 2009-12-12  Bruno Haible  <bruno@clisp.org>
36165
36166         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36167         * modules/c-strtod (Depends-on): Add locale.
36168         * modules/c-strtold (Depends-on): Likewise.
36169
36170 2009-12-12  Bruno Haible  <bruno@clisp.org>
36171
36172         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36173
36174 2009-12-11  Eric Blake  <ebb9@byu.net>
36175
36176         setenv: relax requirement in light of POSIX ruling
36177         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36178         not NULL.
36179         * tests/test-setenv.c (main): Relax test.
36180         * tests/test-unsetenv.c (main): Likewise.
36181         * doc/posix-functions/setenv.texi (setenv): Document this.
36182         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36183
36184 2009-12-11  Bruno Haible  <bruno@clisp.org>
36185
36186         New module 'fd-safer-flag'.
36187         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36188         * lib/dup-safer.c (dup_safer_flag): Remove function.
36189         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36190         * lib/fd-safer.c (fd_safer_flag): Remove function.
36191         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36192         * modules/cloexec (configure.ac): Drop indicator macro.
36193         * modules/fd-safer-flag: New file.
36194         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36195         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36196         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36197
36198 2009-12-11  Bruno Haible  <bruno@clisp.org>
36199
36200         Tests for module 'nl_langinfo'.
36201         * modules/nl_langinfo-tests: New file.
36202         * tests/test-nl_langinfo.sh: New file.
36203         * tests/test-nl_langinfo.c: New file.
36204
36205         New module 'nl_langinfo'.
36206         * lib/nl_langinfo.c: New file.
36207         * m4/nl_langinfo.m4: New file.
36208         * modules/nl_langinfo: New file.
36209         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36210
36211 2009-12-11  Bruno Haible  <bruno@clisp.org>
36212
36213         Tests for module 'langinfo'.
36214         * modules/langinfo-tests: New file.
36215         * tests/test-langinfo.c: New file.
36216
36217         New module 'langinfo'.
36218         * lib/langinfo.in.h: New file.
36219         * m4/langinfo_h.m4: New file.
36220         * modules/langinfo: New file.
36221         * doc/posix-headers/langinfo.texi: Mention the new module.
36222
36223 2009-12-11  Bruno Haible  <bruno@clisp.org>
36224
36225         * lib/config.charset: Untabify.
36226
36227 2009-12-11  Bruno Haible  <bruno@clisp.org>
36228
36229         * modules/unistd-safer (configure.ac): Drop indicator macro.
36230
36231 2009-12-11  Bruno Haible  <bruno@clisp.org>
36232
36233         Move pipe2-safer code to its own file.
36234         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36235         * lib/pipe-safer.c (pipe2_safer): Remove function.
36236         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36237         (Makefile.am): Add it to lib_SOURCES.
36238
36239 2009-12-10  Bruno Haible  <bruno@clisp.org>
36240
36241         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36242
36243 2009-12-10  Bruno Haible  <bruno@clisp.org>
36244
36245         Declare which arguments expect non-NULL values, for GCC and clang.
36246         * build-aux/arg-nonnull.h: New file.
36247         * modules/arg-nonnull: New file.
36248         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36249         (inet_ntop, inet_pton): Use it.
36250         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36251         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36252         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36253         (open, openat): Use it.
36254         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36255         (fnmatch): Use it.
36256         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36257         (getopt, getopt_long, getopt_long_only): Use it.
36258         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36259         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36260         Use it.
36261         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36262         (iconv_open): Use it.
36263         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36264         (strtoimax, strtoumax): Use it.
36265         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36266         (duplocale): Use it.
36267         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36268         (frexp, frexpl): Use it.
36269         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36270         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36271         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36272         (tsearch, tfind, tdelete, twalk): Use it.
36273         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36274         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36275         sigpending): Use it.
36276         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36277         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36278         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36279         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36280         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36281         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36282         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36283         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36284         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36285         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36286         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36287         Use it.
36288         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36289         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36290         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36291         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36292         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36293         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36294         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36295         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36296         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36297         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36298         strtoull, unsetenv): Use it.
36299         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36300         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36301         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36302         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36303         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36304         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36305         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36306         (strcasecmp, strncasecmp): Use it.
36307         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36308         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36309         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36310         rpl_setsockopt): Use it.
36311         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36312         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36313         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36314         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36315         (gettimeofday): Use it.
36316         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36317         (times): Use it.
36318         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36319         (uname): Use it.
36320         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36321         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36322         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36323         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36324         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36325         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36326         unlinkat, write): Use it.
36327         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36328         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36329         * lib/argv-iter.h: Include arg-nonnull.h.
36330         (_ATTRIBUTE_NONNULL_): Remove macro.
36331         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36332         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36333         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36334         optimization.
36335         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36336         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36337         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36338         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36339         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36340         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36341         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36342         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36343         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36344         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36345         * modules/dirent (Depends-on): Add arg-nonnull.
36346         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36347         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36348         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36349         * modules/fnmatch (Depends-on): Add arg-nonnull.
36350         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36351         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36352         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36353         * modules/glob (Depends-on): Add arg-nonnull.
36354         (Makefile.am): Insert arg-nonnull.h into glob.h.
36355         * modules/iconv_open (Depends-on): Add arg-nonnull.
36356         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36357         * modules/inttypes (Depends-on): Add arg-nonnull.
36358         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36359         * modules/locale (Depends-on): Add arg-nonnull.
36360         (Makefile.am): Insert arg-nonnull.h into locale.h.
36361         * modules/math (Depends-on): Add arg-nonnull.
36362         (Makefile.am): Insert arg-nonnull.h into math.h.
36363         * modules/netdb (Depends-on): Add arg-nonnull.
36364         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36365         * modules/search (Depends-on): Add arg-nonnull.
36366         (Makefile.am): Insert arg-nonnull.h into search.h.
36367         * modules/signal (Depends-on): Add arg-nonnull.
36368         (Makefile.am): Insert arg-nonnull.h into signal.h.
36369         * modules/spawn (Depends-on): Add arg-nonnull.
36370         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36371         * modules/stdio (Depends-on): Add arg-nonnull.
36372         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36373         * modules/stdlib (Depends-on): Add arg-nonnull.
36374         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36375         * modules/string (Depends-on): Add arg-nonnull.
36376         (Makefile.am): Insert arg-nonnull.h into string.h.
36377         * modules/strings (Depends-on): Add arg-nonnull.
36378         (Makefile.am): Insert arg-nonnull.h into strings.h.
36379         * modules/sys_socket (Depends-on): Add arg-nonnull.
36380         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36381         * modules/sys_stat (Depends-on): Add arg-nonnull.
36382         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36383         * modules/sys_time (Depends-on): Add arg-nonnull.
36384         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36385         * modules/sys_times (Depends-on): Add arg-nonnull.
36386         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36387         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36388         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36389         * modules/time (Depends-on): Add arg-nonnull.
36390         (Makefile.am): Insert arg-nonnull.h into time.h.
36391         * modules/unistd (Depends-on): Add arg-nonnull.
36392         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36393         * modules/wchar (Depends-on): Add arg-nonnull.
36394         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36395         * modules/argv-iter (Depends-on): Add arg-nonnull.
36396         * tests/test-canonicalize.c (null_ptr): New function.
36397         (main): Use it.
36398         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36399         (main): Use it.
36400         * tests/test-memmem.c (null_ptr): New function.
36401         (main): Use it.
36402         Reported by Jim Meyering.
36403
36404 2009-12-10  Bruno Haible  <bruno@clisp.org>
36405
36406         Use spaces for indentation, not tabs.
36407         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36408         * m4/*.m4: Untabify.
36409         * build-aux/*.h: Untabify.
36410         * tests/**/*.[hc]: Untabify.
36411         * README: New section "Indent with spaces, not TABs", based on
36412         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36413         * NEWS: Mention the change.
36414
36415 2009-12-10  Bruno Haible  <bruno@clisp.org>
36416
36417         pty test: Fix link error.
36418         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36419         test_pty_LDADD.
36420
36421 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36422
36423         * modules/pty: New file.
36424         * modules/pty-tests: New file.
36425         * m4/pty.m4: New file.
36426         * tests/test-pty.c: New file.
36427         * doc/glibc-headers/pty.texi: Modified.
36428         * doc/glibc-functions/forkpty.texi: Modified.
36429         * doc/glibc-functions/openpty.texi: Modified.
36430
36431 2009-12-10  Bruno Haible  <bruno@clisp.org>
36432
36433         Avoid syntax error in C++ mode.
36434         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36435
36436 2009-12-10  Bruno Haible  <bruno@clisp.org>
36437
36438         Use sed with option -e.
36439         * gnulib-tool (func_version, func_emit_copyright_notice,
36440         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36441         option -e to sed.
36442         * modules/link-warning (Makefile.am): Likewise.
36443
36444 2009-12-10  Jim Meyering  <meyering@redhat.com>
36445
36446         mgetgroups: do not write bytes beyond end of malloc'd buffer
36447         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36448         username, we call getgroups with a one-element-shorter buffer,
36449         but still told it the length was original, max_n_groups.
36450
36451 2009-12-09  Eric Blake  <ebb9@byu.net>
36452
36453         cloexec: relax license
36454         * modules/cloexec (Maintainer): Add myself.
36455         (License): Use LGPL, not GPL.
36456
36457         link-warning: optimize generation
36458         * modules/link-warning (Makefile.am): Reduce process usage.
36459
36460 2009-12-09  Bruno Haible  <bruno@clisp.org>
36461
36462         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36463         workaround was added on 2009-11-17.
36464
36465 2009-12-09  Jim Meyering  <meyering@redhat.com>
36466             Bruno Haible  <bruno@clisp.org>
36467
36468         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36469         * modules/link-warning (Makefile.am): Make the comment-removing sed
36470         command more robust in the face of bootstrap-prepended comment lines.
36471
36472 2009-12-09  Bruno Haible  <bruno@clisp.org>
36473
36474         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36475         most one group.
36476
36477 2009-12-09  Simon Josefsson <simon@josefsson.org>
36478             Bruno Haible  <bruno@clisp.org>
36479
36480         * build-aux/link-warning.h: Add copyright notice.
36481         * modules/link-warning (Makefile.am): Generate link-warning.h from
36482         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36483         * NEWS: Mention change in link-warning module.
36484         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36485         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36486         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36487         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36488         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36489         * modules/math (Makefile.am): Add dependency to math.h.
36490         * modules/search (Makefile.am): Add dependency to search.h.
36491         * modules/signal (Makefile.am): Add dependency to signal.h.
36492         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36493         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36494         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36495         * modules/string (Makefile.am): Add dependency to string.h.
36496         * modules/strings (Makefile.am): Add dependency to strings.h.
36497         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36498         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36499         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36500         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36501         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36502         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36503         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36504         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36505         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36506
36507 2009-12-09  Bruno Haible  <bruno@clisp.org>
36508
36509         fchdir: Optimize away rpl_fstat when possible.
36510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36511         REPLACE_OPEN_DIRECTORY.
36512         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36513
36514 2009-12-09  Bruno Haible  <bruno@clisp.org>
36515
36516         * lib/fchdir.c: Update comment.
36517
36518 2009-12-09  Bruno Haible  <bruno@clisp.org>
36519
36520         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36521
36522 2009-12-08  Eric Blake  <ebb9@byu.net>
36523
36524         fchdir: avoid memory leak on re-registration.
36525         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36526
36527 2009-12-08  Jim Meyering  <meyering@redhat.com>
36528
36529         init.sh: avoid Solaris 10 /bin/sh portability problem
36530         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36531         sourced script:
36532           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36533           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36534           bar
36535         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36536         and two tests used that idiom.
36537         * tests/init.sh: Update suggested usage comments.
36538         (path_prepend_): New function, to be used in place
36539         of the --src-path=DIR option.
36540         (setup_): Move PATH-prepending code into path_prepend_.
36541         * tests/test-pread.sh: Adapt to new usage.
36542         * tests/test-xalloc-die.sh: Likewise.
36543
36544 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36545
36546         * doc/gnulib.texi (Glibc pty.h): Add.
36547         * doc/glibc-functions/forkpty.texi: Add.
36548         * doc/glibc-functions/openpty.texi: Add.
36549         Suggested by Bruno Haible.
36550
36551 2009-12-08  Eric Blake  <ebb9@byu.net>
36552
36553         fchdir: fix logic bugs
36554         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36555         * tests/test-fchdir.c (main): Enhance test.
36556         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36557         is in use.
36558
36559         dup2: fix logic bugs
36560         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36561         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36562         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36563         exists.
36564         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36565
36566 2009-12-07  Eric Blake  <ebb9@byu.net>
36567
36568         unlink: fix m4 detection
36569         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36570
36571         unistd-safer: add unit test
36572         * modules/unistd-safer-tests: New file.
36573         * tests/test-dup-safer.c: Likewise.
36574         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36575         * tests/test-dup2.c (setmode): Likewise.
36576         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36577
36578         cloexec: preserve text vs. binary across dup_cloexec
36579         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36580         mode.
36581         * modules/dup2-tests (Depends-on): Add binary-io.
36582         * modules/cloexec-tests (Depends-on): Likewise.
36583         * tests/test-dup2.c (setmode, is_mode): New helpers.
36584         (main): Add tests that translation mode is preserved.
36585         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36586         Reported by Bruno Haible.
36587
36588         mgetgroups: reduce duplicate listings
36589         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36590         resulting array.
36591         * tests/test-chown.h (test_chown): Simplify client.
36592         * tests/test-lchown.h (test_lchown): Likewise.
36593
36594 2009-12-06  Bruno Haible  <bruno@clisp.org>
36595
36596         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36597         value.
36598
36599 2009-12-06  Bruno Haible  <bruno@clisp.org>
36600
36601         * lib/progname.c: Include stdio.h, stdlib.h.
36602         (set_program_name): Reject a NULL argument.
36603
36604 2009-12-05  Eric Blake  <ebb9@byu.net>
36605
36606         pipe2-safer: new module
36607         * modules/pipe2-safer: New file.
36608         * lib/unistd-safer.h (pipe2_safer): New prototype.
36609         * lib/unistd--.h (pipe2): New wrapper.
36610         * lib/pipe-safer.c (pipe2_safer): New function.
36611         * modules/pipe (Depends-on): Add pipe2-safer.
36612         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36613
36614         stdlib-safer: preserve cloexec flag for mkostemp[s]
36615         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36616         fd_safer_flag.
36617
36618         unistd-safer: allow preservation of cloexec status via flag
36619         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36620         prototypes.
36621         * lib/dup-safer.c (dup_safer_flag): New function.
36622         * lib/fd-safer.c (fd_safer_flag): Likewise.
36623         * modules/cloexec (configure.ac): Set witness.
36624
36625         test-dup2: enhance test
36626         * modules/dup2-tests (Depends-on): Add cloexec.
36627         * tests/test-dup2.c (main): Enhance test.
36628
36629         cloexec: add dup_cloexec
36630         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36631         header and comments.
36632         * lib/cloexec.c (set_cloexec_flag): Add comments.
36633         (dup_cloexec): New function, with mingw implementation borrowed
36634         from...
36635         * lib/w32spawn.h (dup_noinherit): ...here.
36636         * modules/execute (Depends-on): Add cloexec.
36637         * modules/pipe (Depends-on): Likewise.
36638         * modules/cloexec (Depends-on): Add dup2.
36639         * modules/cloexec-tests (Files): New file.
36640         * tests/test-cloexec.c: Likewise.
36641
36642         test-xalloc-die: fix test for mingw
36643         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36644         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36645         directory and .exe suffix off argv[0] output.
36646
36647         test-fseeko: fix test for mingw
36648         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36649         than undefining fseek, so test will pass on mingw.
36650
36651 2009-12-05  Bruno Haible  <bruno@clisp.org>
36652
36653         * lib/progname.h (set_program_name): Clarify specification.
36654         * lib/progname.c (set_program_name): Likewise.
36655         Reported by Jim Meyering.
36656
36657 2009-12-05  Jim Meyering  <meyering@redhat.com>
36658
36659         maint.mk: backslash-escape parens in default regexp
36660         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36661         backslash-escape the literal parentheses.
36662
36663         maint.mk: news-date-check: use grep -E
36664         * top/maint.mk (today): Define a Make variable, not a...
36665         (news-date-check): ...shell variable.
36666         (news-date-regexp): Use the Make variable.
36667         Use grep's -E option.  Change the failing diagnostic to mention
36668         the variable, $(news-date-regexp).
36669
36670 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36671
36672         maintainer-makefile: allow customization of NEWS entry format
36673         * top/maint.mk (news-date-regexp): New overridable variable.
36674         (news-date-check): Use it.
36675
36676 2009-12-04  Eric Blake  <ebb9@byu.net>
36677
36678         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36679         * lib/mgetgroups.h (xgetgroups): New prototype.
36680         * lib/mgetgroups.c (xgetgroups): New wrapper.
36681         (mgetgroups): Handle ENOSYS.
36682         * modules/mgetgroups (Depends-on): Add realloc.
36683         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36684
36685         mgetgroups: avoid argument promotion issues with -1
36686         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36687         for invalid gid_t.
36688         * tests/test-chown.h (getegid, test_chown): Likewise.
36689         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36690
36691 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36692
36693         exclude: Fix header file problems.
36694         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36695
36696 2009-12-01  Jim Meyering  <meyering@redhat.com>
36697
36698         fts: fts_open: do not let an empty string cause immediate failure
36699         This is required in support of GNU rm, for which the command
36700         "rm A '' B" must process and remove both A and B, in spite of
36701         the empty string argument.
36702         * lib/fts.c (fts_open): Do not let the presence of an empty string
36703         cause fts_open to fail immediately.  Most fts-using tools must be
36704         able to process all arguments, in order, and can be expected to
36705         diagnose such arguments themselves.
36706
36707 2009-11-30  Eric Blake  <ebb9@byu.net>
36708
36709         utimens: fix compilation error
36710         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36711         Declare variable at right scope.
36712
36713 2009-11-29  Jim Meyering  <meyering@redhat.com>
36714
36715         bootstrap: handle perl-5.11's changed --version output
36716         * build-aux/bootstrap (get_version): Handle perl separately,
36717         since perl-5.11's --version output is different.
36718
36719 2009-11-28  Jim Meyering  <meyering@redhat.com>
36720
36721         userspec: depend on the inttostr module, too
36722         * modules/userspec (Depends-on): Add inttostr.
36723
36724         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36725         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36726         number of MAXUID when it evaluates to (uid_t) -1.
36727         Likewise for group ID.  Reported by Matt McCutchen in
36728         <http://savannah.gnu.org/bugs/?28113>
36729
36730         userspec: reformat to use spaces, not TABs
36731         * lib/userspec.c: Expand TABs to spaces.
36732         Add Emacs' "indent-tabs-mode: nil" hint.
36733
36734 2009-11-27  Eric Blake  <ebb9@byu.net>
36735
36736         getopt-gnu: flush out another BSD bug
36737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36738         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36739         flush out BSD bug.
36740         * tests/test-getopt.h (test_getopt): End lists with NULL.
36741         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36742         (test_getopt_long_posix): Enhance test.
36743         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36744         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36745         getopt-gnu.
36746         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36747         Likewise.
36748
36749 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36750
36751         * modules/idpriv-droptemp-tests (Notice): Fix text.
36752
36753 2009-11-27  Jim Meyering  <meyering@redhat.com>
36754
36755         test-xalloc-die: avoid spurious failure due to libtool argv difference
36756         In a libtool-enabled project, this test would fail due to a difference
36757         in the emitted program name, e.g.,
36758         -test-xalloc-die: memory exhausted
36759         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36760         Use program to avoid that.
36761         * modules/xalloc-die-tests (Depends-on): Add progname.
36762         * tests/test-xalloc-die.c: Include progname.h".
36763         (program_name): Remove decl.
36764         (main): Call set_program_name.
36765         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36766
36767 2009-11-26  Richard Jones  <rjones@redhat.com>
36768
36769         w32sock: leave win32 error in place.
36770         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36771
36772 2009-11-26  Eric Blake  <ebb9@byu.net>
36773
36774         init.sh: suggest to use skip_ and fail_ functions in comments
36775         * tests/init.sh: Add a sentence.
36776
36777 2009-11-25  Bruno Haible  <bruno@clisp.org>
36778
36779         init.sh: add documentation in comments
36780         * tests/init.sh: Add some developer and user documentation.
36781
36782 2009-11-26  Jim Meyering  <meyering@redhat.com>
36783
36784         init.sh: accommodate even those who specify bogus srcdir manually
36785         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36786         configure-time tests to be sanitized, so that there is no need to
36787         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36788         (with no double quotes) suffices.  However, since tests may be
36789         invoked manually, and since you may explicitly set srcdir to the
36790         name of a directory containing spaces, do quote its uses here.
36791         * tests/test-pread.sh: Likewise.
36792         Suggested by Bruno Haible.
36793
36794         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36795         * tests/test-pread.sh: Write no data into the pipe, because
36796         test-pread actually reads none.  This avoids a diagnostic,
36797         "bash: echo: write error: Broken pipe", that arises in the unusual
36798         event something is ignoring SIGPIPE, and might be interpreted
36799         as some sort of failure.  Reported by Bruno Haible.
36800
36801 2009-11-25  Jim Meyering  <meyering@redhat.com>
36802
36803         test-pread: cover failure with ESPIPE and EINVAL
36804         * tests/test-pread.c (main): Test for failure, too.
36805         * tests/test-pread.sh: Invoke with stdin on a pipe.
36806         Suggested by Eric Blake.
36807
36808         pread: improvement and fix
36809         * modules/pread (Depends-on): Depend on lseek, for portability to
36810         e.g., mingw.  Suggested by Eric Blake.
36811         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36812
36813         unistd.in.h: correct declaration of pread
36814         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36815         Reported by Richard W.M. Jones.
36816
36817         test-pread.sh: distribute the test script
36818         * modules/pread-tests (Files): Include test-pread.sh.
36819
36820         test-pread.sh: clean up
36821         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36822         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36823         That is unnecessary, since it's always ".".
36824         Suggestion from Eric Blake.
36825
36826         test-pread.sh: make executable
36827         * tests/test-pread.sh: Set executable bit.
36828         Reported by Eric Blake.
36829
36830         correct typo in test-pread.sh
36831         * tests/test-pread.sh: Add #! line.
36832
36833         test pread
36834         * tests/test-pread.c: New file.
36835         * tests/test-pread.sh: Likewise.
36836         * modules/pread-tests: Likewise.
36837
36838         pread: new module
36839         * modules/pread: New file.
36840         * lib/unistd.in.h (pread): Define/declare.
36841         * lib/pread.c (pread): New file.
36842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36843         * modules/unistd (Makefile.am): Substitute witnesses.
36844         * doc/posix-functions/pread.texi (pread): Update.
36845         * MODULES.html.sh: Add pread.
36846
36847 2009-11-25  Jim Meyering  <meyering@redhat.com>
36848
36849         tests/init.sh: new file to be used via most *.sh tests
36850         * tests/init.sh: New file.
36851
36852 2009-11-25  Eric Blake  <ebb9@byu.net>
36853
36854         utimens: work around older Linux failure with symlinks
36855         * lib/utimens.c (lutimensat_works_really): New variable.
36856         (fdutimens, lutimens): Use it to manage kernels that support
36857         nanosecond times on files, but not on symlinks.
36858         Reported by Ondřej Vašík.
36859
36860         utimes: fix configure grammar
36861         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36862
36863 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36864
36865         regex: Fix fastmap for multibyte character ranges.
36866         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36867         characters when a multibyte character range is included.
36868
36869 2009-11-22  Andy Wingo  <wingo@pobox.com>
36870
36871         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36872         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36873
36874 2009-11-24  Bruno Haible  <bruno@clisp.org>
36875
36876         doc: Most *_l functions exist in MacOS X 10.5.
36877         * doc/posix-functions/duplocale.texi: Update platforms list.
36878         * doc/posix-functions/freelocale.texi: Likewise.
36879         * doc/posix-functions/newlocale.texi: Likewise.
36880         * doc/posix-functions/uselocale.texi: Likewise.
36881         * doc/posix-functions/isalnum_l.texi: Likewise.
36882         * doc/posix-functions/isalpha_l.texi: Likewise.
36883         * doc/posix-functions/isblank_l.texi: Likewise.
36884         * doc/posix-functions/iscntrl_l.texi: Likewise.
36885         * doc/posix-functions/isdigit_l.texi: Likewise.
36886         * doc/posix-functions/isgraph_l.texi: Likewise.
36887         * doc/posix-functions/islower_l.texi: Likewise.
36888         * doc/posix-functions/isprint_l.texi: Likewise.
36889         * doc/posix-functions/ispunct_l.texi: Likewise.
36890         * doc/posix-functions/isspace_l.texi: Likewise.
36891         * doc/posix-functions/isupper_l.texi: Likewise.
36892         * doc/posix-functions/iswalnum_l.texi: Likewise.
36893         * doc/posix-functions/iswalpha_l.texi: Likewise.
36894         * doc/posix-functions/iswblank_l.texi: Likewise.
36895         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36896         * doc/posix-functions/iswctype_l.texi: Likewise.
36897         * doc/posix-functions/iswdigit_l.texi: Likewise.
36898         * doc/posix-functions/iswgraph_l.texi: Likewise.
36899         * doc/posix-functions/iswlower_l.texi: Likewise.
36900         * doc/posix-functions/iswprint_l.texi: Likewise.
36901         * doc/posix-functions/iswpunct_l.texi: Likewise.
36902         * doc/posix-functions/iswspace_l.texi: Likewise.
36903         * doc/posix-functions/iswupper_l.texi: Likewise.
36904         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36905         * doc/posix-functions/isxdigit_l.texi: Likewise.
36906         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36907         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36908         * doc/posix-functions/strcoll_l.texi: Likewise.
36909         * doc/posix-functions/strfmon_l.texi: Likewise.
36910         * doc/posix-functions/strftime_l.texi: Likewise.
36911         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36912         * doc/posix-functions/strxfrm_l.texi: Likewise.
36913         * doc/posix-functions/tolower_l.texi: Likewise.
36914         * doc/posix-functions/toupper_l.texi: Likewise.
36915         * doc/posix-functions/towctrans_l.texi: Likewise.
36916         * doc/posix-functions/towlower_l.texi: Likewise.
36917         * doc/posix-functions/towupper_l.texi: Likewise.
36918         * doc/posix-functions/wcscoll_l.texi: Likewise.
36919         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36920         * doc/posix-functions/wctrans_l.texi: Likewise.
36921         * doc/posix-functions/wctype_l.texi: Likewise.
36922         * doc/glibc-functions/strptime_l.texi: Likewise.
36923         * doc/glibc-functions/strtod_l.texi: Likewise.
36924         * doc/glibc-functions/strtof_l.texi: Likewise.
36925         * doc/glibc-functions/strtol_l.texi: Likewise.
36926         * doc/glibc-functions/strtold_l.texi: Likewise.
36927         * doc/glibc-functions/strtoll_l.texi: Likewise.
36928         * doc/glibc-functions/strtoul_l.texi: Likewise.
36929         * doc/glibc-functions/strtoull_l.texi: Likewise.
36930         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36931         * doc/glibc-functions/wcstod_l.texi: Likewise.
36932         * doc/glibc-functions/wcstof_l.texi: Likewise.
36933         * doc/glibc-functions/wcstol_l.texi: Likewise.
36934         * doc/glibc-functions/wcstold_l.texi: Likewise.
36935         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36936         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36937         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36938
36939 2009-11-24  Bruno Haible  <bruno@clisp.org>
36940
36941         duplocale: Fix logic bug.
36942         * lib/duplocale.c: Don't include <langinfo.h>.
36943         (_NL_LOCALE_NAME): Remove macro.
36944         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36945         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36946
36947 2009-11-23  Jim Meyering  <meyering@redhat.com>
36948
36949         test-update-copyright: don't hard-code /usr/bin/perl
36950         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36951         perl to print the current year.  Gilles Espinasse reported that
36952         the replaced use of perl was hard-coded as /usr/bin/perl.
36953
36954 2009-11-23  Bruno Haible  <bruno@clisp.org>
36955
36956         duplocale: Add support for glibc 2.3.x.
36957         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36958
36959 2009-11-22  Bruno Haible  <bruno@clisp.org>
36960
36961         vasnprintf: Tiny optimization.
36962         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36963         MacOS X.
36964
36965 2009-11-22  Bruno Haible  <bruno@clisp.org>
36966
36967         Tests for module 'duplocale'.
36968         * modules/duplocale-tests: New file.
36969         * tests/test-duplocale.c: New file.
36970
36971         New module 'duplocale'.
36972         * m4/duplocale.m4: New file.
36973         * lib/locale.in.h (duplocale): New declaration.
36974         * lib/duplocale.c: New file.
36975         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36976         gl_LOCALE_H_DEFAULTS): New macros.
36977         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36978         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36979         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36980         REPLACE_DUPLOCALE.
36981         * modules/duplocale: New file.
36982         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36983
36984 2009-11-22  Bruno Haible  <bruno@clisp.org>
36985
36986         * modules/locale-tests (configure.ac): Test for newlocale function.
36987         * tests/test-locale.c: When the system has extended locale functions,
36988         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36989
36990         locale: Make locale_t available when possible.
36991         * lib/locale.in.h: Include <xlocale.h> when it exists.
36992         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36993         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36994         * modules/locale (Depends-on): Add extensions.
36995         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36996         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36997
36998 2009-11-22  Bruno Haible  <bruno@clisp.org>
36999
37000         Add comments.
37001         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37002         invocation.
37003         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37004         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37005         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37006
37007 2009-11-22  Bruno Haible  <bruno@clisp.org>
37008
37009         error: account for the possibility of freopen (stdout).
37010         * lib/error.c: Include <unistd.h>.
37011         (flush_stdout): New function, extracted from error and error_at_line.
37012         Determine stdout's fd dynamically.
37013         (error, error_at_line): Invoke flush_stdout.
37014         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37015         * modules/error (Depends-on): Add unistd.
37016
37017 2009-11-22  Bruno Haible  <bruno@clisp.org>
37018
37019         diffseq: Add comment.
37020         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37021
37022 2009-11-22  Jim Meyering  <meyering@redhat.com>
37023
37024         c-stack: avoid defining an unused static function
37025         * lib/c-stack.c (find_stack_direction): Do not define this function
37026         when it will not be used.
37027
37028         diffseq: avoid spurious gcc warnings
37029         * lib/diffseq.h (IF_LINT2): Define.
37030         (compareseq): Use it to initialize two members of "part".
37031         This avoids two used-uninitialized warnings.
37032
37033 2009-11-21  Jim Meyering  <meyering@redhat.com>
37034
37035         c-stack: avoid "ignoring return value of `write'" warning
37036         * lib/c-stack.c: Include "ignore-value.h".
37037         (die): Explicitly ignore each write return value.
37038         * modules/c-stack (Depends-on): Add ignore-value.
37039
37040 2009-11-21  Bruno Haible  <bruno@clisp.org>
37041
37042         diffseq: reduce scope of variable 'best'.
37043         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37044         variable, earlier used for two different purposes.
37045
37046 2009-11-21  Jim Meyering  <meyering@redhat.com>
37047
37048         diffseq: remove useless assignment to "best"
37049         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37050         assignment.  At that point "best" is already guaranteed to be zero.
37051
37052 2009-11-20  Eric Blake  <ebb9@byu.net>
37053
37054         build: mention ftp redirector in release announcements
37055         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37056         values that used to come from cfg.mk; mention FTP redirect URL.
37057         * build-aux/announce-gen: Mention the mirror list.
37058         Suggested by Karl Berry.
37059
37060         nanosleep: improve port to mingw
37061         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37062         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37063         LIB_NANOSLEEP, but only when needed.
37064         * modules/select (Link): Document LIBSOCKET.
37065         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37066         enough.
37067
37068         nanosleep: work around cygwin bug
37069         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37070         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37071         bug.
37072         (getnow): Delete, not needed.
37073         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37074         LIB_CLOCK_GETTIME.
37075         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37076         clock-time, gettime.
37077         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37078         bug.
37079         * modules/nanosleep-tests: New test.
37080         * tests/test-nanosleep.c: New file.
37081
37082         sleep: work around cygwin bug
37083         * lib/sleep.c (rpl_sleep): Work around the bug.
37084         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37085         (gl_PREREQ_SLEEP): Delete unused macro.
37086         * modules/sleep (Depends-on): Add verify.
37087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37088         * modules/unistd (Makefile.am): Substitute witness.
37089         * lib/unistd.in.h (sleep): Update prototype.
37090         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37091         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37092         * modules/sleep-tests (Depends-on): Check for alarm.
37093
37094 2009-11-20  Jim Meyering  <meyering@redhat.com>
37095
37096         maint.mk: improve sc_prohibit_magic_number_exit
37097         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37098         so it does not match uses like System.exit(1).
37099         Add comments showing how to correct all offenders.
37100
37101 2009-11-19  Eric Blake  <ebb9@byu.net>
37102
37103         xalloc-die-tests: add missing library
37104         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37105
37106         test-xvasprintf: silence compiler warnings
37107         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37108         empty string from gcc.
37109
37110 2009-11-19  Jim Meyering  <meyering@redhat.com>
37111
37112         xfreopen: new module, from coreutils
37113         * modules/xfreopen: New module.
37114         * lib/xfreopen.c: New file.
37115         * lib/xfreopen.h: New file.
37116         * MODULES.html.sh (File stream based Input/Output"): Add it.
37117
37118 2009-11-19  Eric Blake  <ebb9@byu.net>
37119
37120         manywarnings: depend on warnings
37121         * modules/manywarnings (Depends-on): Add warnings.
37122
37123         build: avoid compiler warnings
37124         * lib/select.c (rpl_select): Delete unused variable.
37125         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37126
37127 2009-11-18  Eric Blake  <ebb9@byu.net>
37128
37129         tests: avoid false negative with --with-packager
37130         * tests/test-version-etc.sh: Discard packager information.
37131         * tests/test-argp-version-etc-1.sh: Likewise.
37132         Reported by Mike Frysinger.
37133
37134         utimens: fix regression on Solaris
37135         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37136         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37137         can only change fd timestamps via futimesat.  Instead, use an
37138         additional witness macro to avoid BSD bug.
37139         Reported by Jim Meyering.
37140
37141 2009-11-17  Eric Blake  <ebb9@byu.net>
37142
37143         usleep: use it to simplify tests
37144         * modules/stat-time-tests (Depends-on): Add usleep.
37145         (configure.ac): Drop usleep check.
37146         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37147         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37148         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37149         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37150         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37151         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37152         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37153         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37154         Likewise.
37155         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37156         * tests/test-lchown.h (nap): Likewise.
37157         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37158         * tests/test-stat-time.c (nap): Likewise.
37159         * tests/test-utimens-common.h (nap): Update comments.
37160
37161         usleep: new module
37162         * modules/usleep: New file.
37163         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37164         * lib/usleep.c (usleep): Likewise.
37165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37166         * modules/unistd (Makefile.am): Substitute witnesses.
37167         * lib/unistd.in.h (usleep): Add declaration.
37168         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37169         * MODULES.html.sh (Date and time): Likewise.
37170         * modules/usleep-tests (Depends-on): New test.
37171         * tests/test-usleep.c: New file.
37172
37173         chown: work around OpenBSD bug
37174         * lib/chown.c (rpl_chown): Work around the bug.
37175         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37176         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37177         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37178         * modules/chown (Depends-on): Add stdbool.
37179         * modules/lchown (Depends-on): Likewise.
37180         * doc/posix-functions/chown.texi (chown): Document the bug.
37181         * doc/posix-functions/lchown.texi (lchown): Likewise.
37182         * tests/test-lchown.h (test_chown): Relax test.
37183
37184         mkstemp: avoid conflict with C++ keyword template
37185         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37186         * lib/mkostemp.c (mkostemp): Likewise.
37187         * lib/mkostemps.c (mkostemps): Likewise.
37188         * lib/mkstemp.c (mkstemp): Likewise.
37189         * lib/mkstemps.c (mkstemps): Likewise.
37190
37191         xalloc-die-tests: optimize
37192         * tests/test-xalloc-die.sh: Reduce number of processes.
37193
37194 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37195
37196         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37197         patch from ludo@gnu.org (Ludovic Courtès).
37198
37199 2009-11-17  Jim Meyering  <meyering@redhat.com>
37200
37201         version-etc: use proper license string
37202         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37203         * modules/version-etc-fsf: Likewise.
37204
37205 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37206
37207         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37208         printed to stdout.  Deal with EOL differences.
37209
37210 2009-11-17  Eric Blake  <ebb9@byu.net>
37211
37212         unsetenv: work around Solaris bug
37213         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37214         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37215         Reported by Jim Meyering.
37216
37217         vasnprintf: avoid compiler warnings
37218         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37219         variables.
37220         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37221
37222 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37223
37224         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37225         settings since xalloc-die is no longer the self test,
37226         xalloc-die.sh is.
37227
37228 2009-11-17  Jim Meyering  <meyering@redhat.com>
37229
37230         test-xalloc-die.sh: make the code agree with the commit log
37231         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37232         at the end, just in case you happen to have a test-xalloc-die
37233         program in some other PATH directory.
37234
37235         test-xalloc-die.sh: fix a portability bug
37236         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37237         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37238         Otherwise, argv[0] (as often seen in diagnostics) would be too
37239         system-dependent, sometimes with, and sometimes without the leading "./".
37240
37241         version-etc-fsf: relax license to LGPLv3+
37242         * modules/version-etc-fsf (License): Relax license.
37243
37244 2009-11-16  Eric Blake  <ebb9@byu.net>
37245
37246         xalloc-die-tests: avoid printing null pointer
37247         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37248         shell script.
37249         * tests/test-xalloc-die.c (program_name): Declare.
37250         * tests/test-xalloc-die.sh (tmpfiles): New file.
37251
37252         setenv, unsetenv: work around various bugs
37253         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37254         (setenv) [HAVE_SETENV]: Work around bugs.
37255         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37256         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37257         for bugs.
37258         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37259         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37261         * modules/stdlib (Makefile.am): Update substitutions.
37262         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37263         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37264         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37265         * modules/setenv-tests: New test.
37266         * modules/unsetenv-tests: Likewise.
37267         * tests/test-setenv.c: New file.
37268         * tests/test-unsetenv.c: Likewise.
37269
37270 2009-11-16  Jim Meyering  <meyering@redhat.com>
37271
37272         version-etc: relax license to LGPLv3+
37273         * modules/version-etc (License): Relax license.
37274
37275         better AC_REQUIRE expanded-before-required-warning avoidance
37276         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37277         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37278         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37279         which is no longer needed.
37280
37281 2009-11-16  Eric Blake  <ebb9@byu.net>
37282
37283         test-freading: clean up temporary file
37284         * tests/test-freading.c (main): Remove file on success, and use
37285         ASSERT more liberally.
37286         Reported by Jim Meyering.
37287
37288 2009-11-16  Jim Meyering  <meyering@redhat.com>
37289
37290         avoid new AC_REQUIRE expanded-before-required warnings
37291         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37292         merely using it.
37293         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37294         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37295
37296 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37297
37298         * tests/test-xalloc-die.c: New file.
37299         * modules/xalloc-die-tests: New file.
37300         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37301         XFAIL_TESTS so it can be appended by modules.
37302
37303 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37304
37305         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37306         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37307
37308 2009-11-14  Eric Blake  <ebb9@byu.net>
37309
37310         fnmatch: avoid compiler warning
37311         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37312         to silence compiler warning about mismatch signedness in ?:.
37313         Reported by Robert Millan.
37314
37315         intprops: add double-inclusion guard
37316         * lib/intprops.h: Allow idempotent includes.
37317         Suggested by Bruce Korb.
37318
37319         openat: detect Solaris fchownat bug
37320         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37321         penalizing glibc chownat when only lchownat is broken.
37322         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37323         trailing slash bugs.
37324         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37325         * modules/openat-tests (Files): Include more files.
37326         (Depends-on): Add mgetgroups, sleep, stat-time.
37327         (configure.ac): Add additional checks.
37328         (Makefile.am): Build new test.
37329         * tests/test-fchownat.c: New file.
37330
37331         lchown: detect Solaris and FreeBSD bug
37332         * lib/lchown.c (rpl_lchown): Work around bug.
37333         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37335         * modules/unistd (Makefile.am): Populate it.
37336         * lib/unistd.in.h (lchown): Update declaration.
37337         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37338         * modules/lchown-tests: New file.
37339         * tests/test-lchown.h (test_lchown): Likewise.
37340         * tests/test-lchown.c (main): Likewise.
37341
37342         chown: detect Solaris and FreeBSD bug
37343         * lib/chown.c (rpl_chown): Work around bug.
37344         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37345         (gl_PREREQ_CHOWN): Delete.
37346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37347         * modules/unistd (Makefile.am): Populate it.
37348         * lib/unistd.in.h (chown): Update declaration.
37349         * lib/lchown.c (chown): Update client.
37350         * modules/lchown (Depends-on): Add lstat.
37351         * doc/posix-functions/chown.texi (chown): Document the bug.
37352         * doc/posix-functions/getgroups.texi (getgroups): Document
37353         getgroups pitfall.
37354         * modules/chown-tests: New file.
37355         * tests/test-chown.h (test_chown): Likewise.
37356         * tests/test-chown.c (main): Likewise.
37357
37358 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37359
37360         gnulib-tool: correctly detect absence of m4 directories
37361         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37362
37363 2009-11-14  Jim Meyering  <meyering@redhat.com>
37364
37365         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37366         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37367
37368 2009-11-14  John W. Eaton  <jwe@gnu.org>
37369
37370         strftime.h: wrap funtion declaration in extern "C" block
37371         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37372
37373 2009-11-13  Eric Blake  <ebb9@byu.net>
37374
37375         getgroups: avoid compiler warning
37376         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37377
37378         getgroups: work around FreeBSD bug
37379         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37380         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37381         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37382         * tests/test-getgroups.c (main): Fix buffer overrun.
37383
37384         getgroups: avoid compilation failure
37385         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37386         * modules/getgroups (Depends-on): Add stdint.
37387
37388 2009-11-13  Jim Meyering  <meyering@redhat.com>
37389
37390         test-getgroups: avoid compilation failure
37391         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37392
37393 2009-11-13  Eric Blake  <ebb9@byu.net>
37394
37395         mgetgroups: new module, taken from coreutils
37396         * modules/mgetgroups: New file.
37397         * lib/mgetgroups.h: Likewise.
37398         * lib/mgetgroups.c (mgetgroups): Likewise.
37399         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37400         * MODULES.html.sh (Users and groups): Mention it.
37401
37402         getgroups: don't expose GETGROUPS_T to user
37403         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37404         an element at a time if GETGROUPS_T is wrong size.
37405         * lib/getugroups.h (getugroups): Change signature.
37406         * lib/unistd.in.h (getgroups): Likewise.
37407         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37408         signature needs fixing.
37409         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37410         AC_TYPE_GETGROUPS.
37411         * modules/group-member (Depends-on): Add getgroups.
37412         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37413         (group_member): Rely on getgroups replacement.
37414         * lib/getugroups.c (getugroups): Use gid_t.
37415         * tests/test-getgroups.c (main): Likewise.
37416         * NEWS: Mention the signature change.
37417         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37418         problem with signature.
37419         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37420         GETGROUPS_T is still useful for setgroups.
37421
37422         getgroups, getugroups: provide stubs for mingw
37423         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37424         * lib/getugroups.c (getugroups): Likewise.
37425         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37426         function.  Modernize replacement scheme.
37427         (gl_PREREQ_GETGROUPS): Delete.
37428         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37429         * modules/getgroups (configure.ac): Declare witness.
37430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37431         * modules/unistd (Depends-on): Substitute witness.
37432         * lib/unistd.in.h (getgroups): Declare replacement.
37433
37434         getgroups: avoid calling exit
37435         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37436         drop xalloc.
37437         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37438         dependencies.
37439         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37440         exiting, in the rare case of malloc failure.
37441
37442         getgroups: fix logic error
37443         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37444         has more than 20 groups.
37445         * modules/getgroups-tests: New test.
37446         * tests/test-getgroups.c: New file.
37447
37448 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37449
37450         * tests/test-base64.c: Improve.
37451
37452 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37453
37454         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37455         Blake <ebb9@byu.net>.
37456
37457 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37458
37459         * tests/test-xvasprintf.c: Add %s%s related checks.
37460
37461 2009-11-12  Eric Blake  <ebb9@byu.net>
37462
37463         version-etc: match standards.texi style
37464         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37465         and use <> only for URLs.
37466
37467 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37468
37469         fts: do not fail on a submount during traversal
37470         * lib/fts.c (fts_build): Read the stat info again after opening
37471         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37472         Original report at http://bugzilla.redhat.com/501848.
37473
37474 2009-11-12  Jim Meyering  <meyering@redhat.com>
37475
37476         bootstrap: sync from coreutils
37477         * build-aux/bootstrap (bootstrap_epilogue): New function.
37478         Use git_modules_config in one more place.  This make bootstrap's
37479         --gnulib-srcdir option more useful for testing.
37480
37481         bootstrap: generalize autoheader check
37482         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37483         AC_CONFIG_HEADERS.
37484
37485 2009-11-11  Eric Blake  <ebb9@byu.net>
37486
37487         mkfifoat: use new modules for Solaris and BSD bugs
37488         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37489         * lib/mkfifoat.c (mknodat): Split...
37490         * lib/mknodat.c (mknodat): ...into new file.
37491         * modules/mkfifoat (Files): Ship new file.
37492         (Depends-on): Add mkfifo, mknod.
37493         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37494         (Depends-on): Add symlink.
37495         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37496         redundant with test_mkfifo.h.
37497         (do_mkfifoat, do_mknodat): New helpers.
37498
37499         mknod: new module
37500         * modules/mknod: New file.
37501         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37502         * lib/mknod.c (mknod): Likewise.
37503         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37504         defaults.
37505         * modules/sys_stat (Makefile.am): Substitute them.
37506         * lib/sys_stat.in.h (mknod): Declare replacement.
37507         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37508         Document it.
37509         * doc/posix-functions/mknod.texi (mknod): Likewise.
37510         * modules/mknod-tests: New test.
37511         * tests/test-mknod.c: Likewise.
37512
37513         mkfifo: new module
37514         * modules/mkfifo: New file.
37515         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37516         * lib/mkfifo.c (mkfifo): Likewise.
37517         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37518         defaults.
37519         * modules/sys_stat (Makefile.am): Substitute them.
37520         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37521         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37522         Document it.
37523         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37524         * modules/mkfifo-tests: New test.
37525         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37526         from test-mkfifoat.c.
37527         * tests/test-mkfifo.c: New file.
37528
37529         readlink: detect FreeBSD bug
37530         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37531         slash on symlink.
37532         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37533         * tests/test-readlink.h (test_readlink): Enhance test.
37534
37535         symlink: detect FreeBSD bug
37536         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37537         slash on symlink.
37538         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37539         * tests/test-symlink.h (test_symlink): Enhance test.
37540
37541 2009-11-10  Eric Blake  <ebb9@byu.net>
37542
37543         link: detect FreeBSD bug
37544         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37545         symlink.
37546         * doc/posix-functions/link.texi (link): Document the bug.
37547         * tests/test-link.h (test_link): Enhance test.
37548         * tests/test-linkat.c (main): Update caller.
37549
37550         unlink, remove: detect FreeBSD bug
37551         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37552         slash on symlink.
37553         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37554         * doc/posix-functions/remove.texi (remove): Likewise.
37555         * tests/test-unlink.h (test_unlink): Enhance test.
37556         * tests/test-remove.c (main): Likewise.
37557
37558 2009-11-09  Eric Blake  <ebb9@byu.net>
37559
37560         rename: detect FreeBSD bug
37561         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37562         slash on symlink.
37563         * modules/renameat-tests (Depends-on): Add filenamecat.
37564         * tests/test-rename.h (test_rename): Allow one more errno.
37565         * tests/test-renameat.c (main): Likewise.
37566         * doc/posix-functions/rename.texi (rename): Document the bug.
37567
37568         open: detect FreeBSD bug
37569         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37570         symlink.
37571         * doc/posix-functions/open.texi (open): Document the bug.
37572         * doc/posix-functions/utimes.texi (utimes): Likewise.
37573         * tests/test-open.h (test_open): Add parameters, and test symlink
37574         handling.
37575         * tests/test-open.c (main): Adjust caller.
37576         * tests/test-fcntl-safer.c (main): Likewise.
37577         * modules/open-tests (Depends-on): Add stdbool, symlink.
37578         * modules/fcntl-safer-tests (Depends-on): Likewise.
37579         * tests/test-openat.c (main): Add test-open tests.
37580
37581         stat: detect FreeBSD bug
37582         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37583         symlink.
37584         * doc/posix-functions/stat.texi (stat): Document the bug.
37585         * tests/test-stat.h (test_stat_func): Add argument.
37586         * tests/test-stat.c (main): Adjust caller.
37587         * tests/test-fstatat.c (main): Likewise.
37588         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37589         Reported by Jim Meyering.
37590
37591 2009-11-09  James Youngman  <jay@gnu.org>
37592
37593         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37594         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37595
37596 2009-11-08  Jim Meyering  <meyering@redhat.com>
37597
37598         utimens: remove invalid futimesat call
37599         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37600         It used the file descriptor of the target file as the DIR_FD
37601         parameter and NULL as the file name.  That caused failure with
37602         errno == EFAULT on FreeBSD-8.0-rc2
37603
37604 2009-11-07  Eric Blake  <ebb9@byu.net>
37605
37606         fflush, freadseek: use fseeko, not fseek
37607         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37608         (clear_ungetc_buffer): Avoid potential problems on large files.
37609         * lib/freadseek.c (freadseek): Likewise.
37610         * modules/freadseek (Depends-on): Add fseeko.
37611         * modules/fseek (configure.ac): Set a witness.
37612         * tests/test-fflush.c (main): Use fseeko.
37613         * tests/test-fpurge.c (fseek): Disable link warning.
37614         * tests/test-freadable.c (fseek): Likewise.
37615         * tests/test-freading.c (fseek): Likewise.
37616         * tests/test-fseeko.c (fseek): Likewise.
37617         * tests/test-ftell.c (fseek): Likewise.
37618         * tests/test-ftello.c (fseek): Likewise.
37619         * tests/test-fwritable.c (fseek): Likewise.
37620         * tests/test-fwriting.c (fseek): Likewise.
37621
37622 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37623
37624         * modules/memchr (Depends-on): Drop getpagesize dependency.
37625
37626 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37627
37628         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37629         Reported by Ludovic Courtès.
37630         * build-aux/pmccabe2html: Improve example usage.
37631         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37632
37633 2009-11-06  Jim Meyering  <meyering@redhat.com>
37634
37635         do-release-commit-and-tag: New module.
37636         Automate the release-commit and tag process.
37637         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37638         * modules/do-release-commit-and-tag: New file.
37639         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37640
37641 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37642
37643         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37644         because test-select.c uses inet_pton.
37645
37646 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37647
37648         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37649         GETADDRINFO_LIB.  Bump serial number.
37650         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37651         Suggested by Eric Blake <ebb9@byu.net>.
37652
37653 2009-11-05  Eric Blake  <ebb9@byu.net>
37654
37655         strtod: detect darwin bug
37656         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37657         Reported by Leo Davis.
37658
37659         freopen-safer: new module
37660         * modules/freopen-safer: New module.
37661         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37662         * lib/freopen-safer.c (freopen_safer): New file.
37663         * lib/stdio-safer.h (freopen_safer): New declaration.
37664         * lib/stdio--.h (freopen): New override.
37665         * MODULES.html.sh (File stream based Input/Output): Mention it.
37666         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37667         freopen-safer module.
37668         * doc/posix-functions/stderr.texi (stderr): Likewise.
37669         * doc/posix-functions/stdin.texi (stdin): Likewise.
37670         * doc/posix-functions/stdout.texi (stdout): Likewise.
37671         * modules/freopen-safer-tests: New test.
37672         * tests/test-reopen-safer.c: New file.
37673
37674 2009-11-05  Jim Meyering  <meyering@redhat.com>
37675
37676         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37677         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37678
37679 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37680
37681         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37682
37683 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37684
37685         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37686
37687 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37688
37689         Fix link error.
37690         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37691         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37692
37693 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37694
37695         * tests/test-func.c: Also test value of __func__.
37696
37697 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37698
37699         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37700         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37701
37702 2009-11-05  Bruno Haible  <bruno@clisp.org>
37703
37704         Fix link error.
37705         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37706         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37707         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37708
37709 2009-11-05  Bruno Haible  <bruno@clisp.org>
37710
37711         Tests for module 'inet_pton'.
37712         * modules/inet_pton-tests: New file.
37713         * tests/test-inet_pton.c: New file.
37714
37715 2009-11-05  Bruno Haible  <bruno@clisp.org>
37716
37717         Tests for module 'inet_ntop'.
37718         * modules/inet_ntop-tests: New file.
37719         * tests/test-inet_ntop.c: New file.
37720
37721 2009-11-04  Eric Blake  <ebb9@byu.net>
37722
37723         stdlib-safer: wrap all mkstemp variants
37724         * modules/mkostemp (configure.ac): Set witness.
37725         * modules/mkostemps (configure.ac): Likewise.
37726         * modules/mkstemps (configure.ac): Likewise.
37727         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37728         (mkstemps_safer): Wrap more functions.
37729         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37730         wrapping.
37731         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37732         (mkstemps_safer): Implement the wrappers.
37733
37734         mkstemps, mkostemps: new modules
37735         * modules/mkostemps: New module.
37736         * modules/mkstemps: Likewise.
37737         * lib/mkostemps.c (mkostemps): New file.
37738         * lib/mkstemps.c (mkstemps): Likewise.
37739         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37740         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37742         * modules/stdlib (Makefile.am): Substitute them.
37743         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37744         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37745         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37746         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37747         * MODULES.html.sh (File system functions): Mention them.
37748
37749         tempname: resync from glibc
37750         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37751         same values for __GT_FILE as glibc.  Abort even when assertions
37752         are disabled.
37753         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37754         match its value otherwise.  Allow idempotent inclusion.
37755         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37756         * lib/mkostemp.c (mkostemp): Likewise.
37757         * lib/mkstemp.c (mkstemp): Likewise.
37758         * lib/tmpfile.c (tmpfile): Likewise.
37759         * NEWS: Document this.
37760
37761         utimens: fix use of futimens on older Linux
37762         * lib/utimens.c (fdutimens): Use updated, rather than original,
37763         timespec to avoid bug in older Linux kernel.
37764         Reported by Simon Josefsson.
37765
37766 2009-11-04  Bruno Haible  <bruno@clisp.org>
37767
37768         Make num_processors more flexible and consistent.
37769         * lib/nproc.h (enum nproc_query): New type.
37770         (num_processors): Add a 'query' argument.
37771         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37772         (num_processors): Add a 'query' argument. Test the value of the
37773         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37774         mingw, count the number of CPUs available for the current process.
37775         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37776         Check for sched_getaffinity and sched_getaffinity_np.
37777         * modules/nproc (Depends-on): Add c-ctype, extensions.
37778         * NEWS: Mention the change.
37779
37780 2009-11-03  Bruno Haible  <bruno@clisp.org>
37781
37782         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37783
37784 2009-11-03  Jim Meyering  <meyering@redhat.com>
37785
37786         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37787         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37788         if it is defined.
37789
37790 2009-11-02  Eric Blake  <ebb9@byu.net>
37791
37792         mktime, timegm: share common declaration
37793         * lib/mktime-internal.h: New file.
37794         * lib/mktime.c: Use it rather than open-coding a declaration.
37795         * lib/timegm.c: Likewise.
37796         * modules/mktime (Files): Ship it.
37797         * modules/timegm (Files): Likewise.
37798         Suggested by Bruno Haible.
37799
37800         test-update-copyright: update test to match script changes
37801         * tests/test-update-copyright.sh: Avoid hard-coding perl
37802         location.  Don't update *.bak created by earlier runs.
37803
37804 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37805             Simon Josefsson  <simon@josefsson.org>
37806             Bruno Haible  <bruno@clisp.org>
37807
37808         Fix link error on Solaris 8.
37809         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37810         also in libnsl. Define also INET_PTON_LIB.
37811         * modules/inet_pton (Link): New section.
37812
37813 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37814             Bruno Haible  <bruno@clisp.org>
37815
37816         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37817         * modules/inet_ntop (Link): New section.
37818         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37819
37820 2009-11-02  Eric Blake  <ebb9@byu.net>
37821
37822         maint: avoid compiler warnings in m4 macros
37823         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37824         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37825
37826 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37827
37828         * m4/pmccabe2html.m4: Remove file.
37829         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37830         function.  Change maintainer.
37831         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37832         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37833         Courtès).
37834
37835 2009-10-31  Eric Blake  <ebb9@byu.net>
37836
37837         fseeko: fix m4 regression
37838         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37839         regression from 2009-10-27.
37840         Reported by Ralf Wildenhues.
37841
37842 2009-10-31  Jim Meyering  <meyering@redhat.com>
37843
37844         inttostr: aesthetics and improved (compile-time) safety
37845         Define inttype_is_signed rather than inttype_is_unsigned,
37846         since the sole use is via "#if inttype_is_signed".
37847         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37848         inttype_is_unsigned.
37849         * lib/offtostr.c (inttype_is_signed): Likewise.
37850         * lib/uinttostr.c (inttype_is_signed): Likewise.
37851         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37852         * lib/inttostr.c (inttostr): Use verify to cross-check the
37853         inttype_is_signed value and the signedness of the actual type.
37854         * modules/inttostr (Depends-on): Add verify.
37855
37856 2009-10-30  Eric Blake  <ebb9@byu.net>
37857
37858         build: avoid compiler warnings
37859         * lib/fchmodat.c (lchmod): Mark unused variables.
37860         * lib/getopt.c (_getopt_initialize): Likewise.
37861         * lib/mktime.c (__mktime_internal): Provide prototype.
37862         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37863         older gcc that do not understand #pragma GCC diagnostic.
37864         * lib/uinttostr.c (inttype_is_unsigned): Define.
37865         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37866
37867 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37868
37869         stat: fix compilation on AIX
37870         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37871         only see struct stat64.
37872
37873 2009-10-30  Eric Blake  <ebb9@byu.net>
37874
37875         exclude: make more robust
37876         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37877         rather than masking a coding bug.
37878         Suggested by Bruno Haible.
37879
37880 2009-10-30  Jim Meyering  <meyering@redhat.com>
37881
37882         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37883         Rather than putting #!/usr/bin/perl on the first line,
37884         start with a variant of what's recommended by "man perlrun" that
37885         invokes the first "perl" program from your shell's search path.
37886         * build-aux/gitlog-to-changelog: Replace #!... as above.
37887         Add a "Local Variables" perl mode setting.
37888         Prompted by a patch from Ludovic Courtès.
37889         Improved by Eric Blake.
37890         * build-aux/useless-if-before-free: Likewise.
37891         * build-aux/announce-gen: Likewise.
37892         * build-aux/update-copyright: Likewise.
37893
37894 2009-10-29  Eric Blake  <ebb9@byu.net>
37895
37896         filenamecat-lgpl: adjust clients
37897         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37898         filenamecat.
37899         * modules/renameat (Depends-on): Likewise.
37900
37901         filenamecat: split into filenamecat-lgpl
37902         * modules/filenamecat-lgpl: New module.
37903         * modules/filenamecat (Files): Move library-safe files into
37904         filenamecat-lgpl.
37905         (Depends-on): Add filenamecat-lgpl.
37906         (configure.ac): Declare witness.
37907         * lib/filenamecat.h (file_name_concat): Only declare when using
37908         GPL module.
37909         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37910         Move...
37911         * lib/filenamecat-lgpl.c: ...into new file.
37912         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37913         (gl_FILE_NAME_CONCAT): Use it.
37914         * MODULES.html.sh (File system functions): Mention new module.
37915
37916         argp: avoid memory leak
37917         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37918         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37919         base_name, since the latter malloc()s and can call exit().
37920         Leak introduced 2006-07-03.
37921
37922         dirname-lgpl: adjust clients that don't need full dirname
37923         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37924         * modules/filenamecat (Depends-on): Likewise.
37925         * modules/linkat (Depends-on): Likewise.
37926         * modules/mkancesdirs (Depends-on): Likewise.
37927         * modules/mkdir (Depends-on): Likewise.
37928         * modules/openat (Depends-on): Likewise.
37929         * modules/savewd (Depends-on): Likewise.
37930         * modules/rename (Depends-on): Likewise.
37931         (License): Relax license.
37932         * modules/mkdir-tests (Depends-on): Drop progname.
37933         (Makefile.am): Delete unneeded LDADD.
37934         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37935
37936         dirname: split into dirname-lgpl
37937         * modules/dirname-lgpl: New module.
37938         * modules/dirname (Files): Move library-safe files into
37939         dirname-lgpl.
37940         (Depends-on): Add dirname-lgpl.
37941         (configure.ac): Declare witness.
37942         * modules/double-slash-root (License): Relax license.
37943         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37944         module.
37945         * lib/dirname.c (dir_len, mdir_name): Move...
37946         * lib/dirname-lgpl.c: ...into new file.
37947         * lib/basename.c (last_component, base_len): Move...
37948         * lib/basename-lgpl.c: ...into new file.
37949         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37950         (gl_DIRNAME): Use it.
37951         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37952         Mention new module.
37953         * modules/dirname-tests (Depends-on): Add progname.
37954         * tests/test-dirname.c (program_name): Delete.
37955
37956         mkdir: make safe for libraries
37957         * modules/mkdir (Depends-on): Drop xalloc.
37958         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37959         exit.
37960
37961         tests: avoid some compiler warnings
37962         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37963         literals.
37964         * tests/test-memchr.c (main): Avoid type mismatch.
37965         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37966         * tests/test-base64.c (main): Likewise.
37967         * tests/test-getdelim.c (main): Likewise.
37968         * tests/test-gethostname.c (main): Likewise.
37969         * tests/test-getline.c (main): Likewise.
37970         * tests/test-netinet_in.c (main): Likewise.
37971         * tests/test-select.c (open_server_socket, main): Likewise.
37972         * tests/test-select-stdin.c (main): Likewise.
37973         * tests/test-sockets.c (main): Likewise.
37974         * tests/test-strsignal.c (main): Likewise.
37975         * tests/test-sys_select.c (main): Likewise.
37976         * tests/test-sys_socket.c (main): Likewise.
37977         * tests/test-u64.c (main): Likewise.
37978         * tests/test-xfprintf-posix.c (main): Likewise.
37979         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37980
37981         sockets: avoid compiler warning
37982         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37983
37984         maint: detect usage(1) and other suspicious exits
37985         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37986
37987 2009-10-29  Jim Meyering  <meyering@redhat.com>
37988
37989         timespec: long-to-int truncation could make timespec_cmp malfunction
37990         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37991         a multiple of 2^32 nanoseconds as no difference.
37992
37993 2009-10-28  Jim Meyering  <meyering@redhat.com>
37994
37995         fprintftime: wrap macro code argument in "do {...} while(0)"
37996         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37997         cpy macro must be a statement that can be followed by a semicolon.
37998         Now that the else clause contains a comment and is hence longer
37999         than one line, I require curly braces.  That in turn requires
38000         that we wrap this code block in the standard do...while(0).
38001
38002         fprintftime: remove stray semicolon from previous change
38003         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38004
38005         fprintftime: avoid a warning about ignored fwrite return value
38006         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38007         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38008         that is unsafe.
38009         * modules/fprintftime (Depends-on): Add ignore-value.
38010
38011         exclude: avoid an unwarranted warning
38012         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38013
38014 2009-10-27  Eric Blake  <ebb9@byu.net>
38015
38016         fseek: avoid compilation failure when fflush is replaced
38017         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38018         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38019         module is in use.
38020         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38021         module is not in use; since REPLACE_FSEEK worked otherwise.
38022         (GNULIB_FTELLO): Likewise for ftell.
38023         Reported by Ian Beckwith and others.
38024
38025 2009-10-27  Bruno Haible  <bruno@clisp.org>
38026
38027         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38028         Reported by Jim Meyering.
38029
38030 2009-10-27  Jim Meyering  <jim@meyering.net>
38031             Bruno Haible  <bruno@clisp.org>
38032
38033         Avoid warning despite dropping the return value of fwrite.
38034         * lib/unicodeio.c: Include ignore-value.h.
38035         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38036         * modules/unicodeio (Depends-on): Add ignore-value.
38037
38038 2009-10-26  Eric Blake  <ebb9@byu.net>
38039
38040         areadlinkat: fix fallback path
38041         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38042         pointer and zero.
38043
38044 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38045
38046         Use a better IO block size for modern systems
38047         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38048         * lib/md2.c: Likewise.
38049         * lib/md4.c: Likewise.
38050         * lib/md5.c: Likewise.
38051         * lib/sha1.c: Likewise.
38052         * lib/sha256.c: Likewise.
38053         * lib/sha512.c: Likewise.
38054
38055 2009-10-22  Eric Blake  <ebb9@byu.net>
38056
38057         tests: avoid several compiler warnings
38058         * tests/test-getcwd.c (main): Avoid buffer underflow.
38059         * tests/test-getdate.c (main): String literals are not safe with
38060         putenv, so use setenv.  Declare unused argument.
38061         * modules/getdate-tests (Depends-on): Add setenv.
38062         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38063         problems with string literals in char *.
38064         * tests/test-hash.c (main): Avoid shadowing declaration.
38065         (insert_new): Treat string literals as char const *.
38066         * tests/test-getopt.h (test_getopt): Likewise.
38067         (getopt_loop): Alter types to minimize casting elsewhere.
38068         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38069         (test_getopt_long_posix): Likewise.
38070         (do_getopt_long): Add wrapper to minimize casting.
38071         * tests/test-atexit.c (clear_temp_file): Use void.
38072         * tests/test-areadlink-with-size.c (main): Declare unused
38073         arguments.
38074         * tests/test-areadlink.c (main): Likewise.
38075         * tests/test-areadlinkat-with-size.c (main): Likewise.
38076         * tests/test-areadlinkat.c (main): Likewise.
38077         * tests/test-canonicalize-lgpl.c (main): Likewise.
38078         * tests/test-canonicalize.c (main): Likewise.
38079         * tests/test-dirent-safer.c (main): Likewise.
38080         * tests/test-dirname.c (main): Likewise.
38081         * tests/test-dup2.c (main): Likewise.
38082         * tests/test-fchdir.c (main): Likewise.
38083         * tests/test-fcntl-h.c (main): Likewise.
38084         * tests/test-fcntl-safer.c (main): Likewise.
38085         * tests/test-fdopendir.c (main): Likewise.
38086         * tests/test-fdutimensat.c (main): Likewise.
38087         * tests/test-fflush.c (main): Likewise.
38088         * tests/test-filenamecat.c (main): Likewise.
38089         * tests/test-filevercmp.c (main): Likewise.
38090         * tests/test-fopen-safer.c (main): Likewise.
38091         * tests/test-fopen.c (main): Likewise.
38092         * tests/test-fpending.c (main): Likewise.
38093         * tests/test-fpurge.c (main): Likewise.
38094         * tests/test-freading.c (main): Likewise.
38095         * tests/test-fstatat.c (main): Likewise.
38096         * tests/test-fsync.c (main): Likewise.
38097         * tests/test-futimens.c (main): Likewise.
38098         * tests/test-getndelim2.c (main): Likewise.
38099         * tests/test-gettimeofday.c (main): Likewise.
38100         * tests/test-getopt.c (main): Likewise.
38101         * tests/test-i-ring.c (main): Likewise.
38102         * tests/test-inttypes.c (main): Likewise.
38103         * tests/test-link.c (main): Likewise.
38104         * tests/test-lstat.c (main): Likewise.
38105         * tests/test-math.c (main): Likewise.
38106         * tests/test-md5.c (main): Likewise.
38107         * tests/test-memchr2.c (main): Likewise.
38108         * tests/test-memrchr.c (main): Likewise.
38109         * tests/test-mkdir.c (main): Likewise.
38110         * tests/test-mkdirat.c (main): Likewise.
38111         * tests/test-mkfifoat.c (main): Likewise.
38112         * tests/test-open.c (main): Likewise.
38113         * tests/test-openat-safer.c (main): Likewise.
38114         * tests/test-openat.c (main): Likewise.
38115         * tests/test-quotearg.c (main): Likewise.
38116         * tests/test-rawmemchr.c (main): Likewise.
38117         * tests/test-readlink.c (main): Likewise.
38118         * tests/test-remove.c (main): Likewise.
38119         * tests/test-rename.c (main): Likewise.
38120         * tests/test-renameat.c (main): Likewise.
38121         * tests/test-rmdir.c (main): Likewise.
38122         * tests/test-sha1.c (main): Likewise.
38123         * tests/test-signal.c (main): Likewise.
38124         * tests/test-sigaction.c (main): Likewise.
38125         * tests/test-stat.c (main): Likewise.
38126         * tests/test-stat-time.c (main): Likewise.
38127         * tests/test-stddef.c (main): Likewise.
38128         * tests/test-stdint.c (main): Likewise.
38129         * tests/test-stdio.c (main): Likewise.
38130         * tests/test-stdlib.c (main): Likewise.
38131         * tests/test-strchrnul.c (main): Likewise.
38132         * tests/test-strerror.c (main): Likewise.
38133         * tests/test-string.c (main): Likewise.
38134         * tests/test-strtod.c (main): Likewise.
38135         * tests/test-strverscmp.c (main): Likewise.
38136         * tests/test-symlink.c (main): Likewise.
38137         * tests/test-symlinkat.c (main): Likewise.
38138         * tests/test-sys_stat.c (main): Likewise.
38139         * tests/test-sys_time.c (main): Likewise.
38140         * tests/test-time.c (main): Likewise.
38141         * tests/test-unistd.c (main): Likewise.
38142         * tests/test-unlink.c (main): Likewise.
38143         * tests/test-unlinkat.c (main): Likewise.
38144         * tests/test-utimens.c (main): Likewise.
38145         * tests/test-utimensat.c (main): Likewise.
38146         * tests/test-version-etc.c (main): Likewise.
38147         * tests/test-wchar.c (main): Likewise.
38148         * tests/test-wctype.c (main): Likewise.
38149         * tests/test-xprintf-posix.c (main): Likewise.
38150         * tests/test-posixtm.c (main): Likewise.
38151         (STREQ): Delete unused macro.
38152         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38153         shadowed variables.
38154         * tests/test-memchr.c (main): Likewise.
38155
38156 2009-10-21  Eric Blake  <ebb9@byu.net>
38157
38158         areadlinkat: avoid failure on older glibc
38159         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38160         rather than mis-comparing 0 against FUNC_RESULT of char*.
38161
38162 2009-10-21  Bruno Haible  <bruno@clisp.org>
38163
38164         * modules/stpncpy (License): Relicense under LGPLv2+.
38165         Reported by David Lutterkort <lutter@redhat.com>.
38166
38167 2009-10-20  Eric Blake  <ebb9@byu.net>
38168
38169         utimensat: work around Solaris 9 bug
38170         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38171         has trailing slash bugs.
38172         * tests/test-lutimens.h (test_lutimens): Enhance test.
38173         * tests/test-utimens.h (test_utimens): Likewise.
38174         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38175         * doc/posix-functions/utimes.texi (utimes): Likewise.
38176         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38177         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38178         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38179         * doc/posix-functions/futimens.texi (futimens): Likewise.
38180
38181         fdutimensat: new module
38182         * modules/fdutimensat: New file.
38183         * lib/fdutimensat.c (fdutimensat): Likewise.
38184         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38185         * MODULES.html.sh (File system functions): Mention module.
38186         * modules/fdutimensat-tests: New test.
38187         * tests/test-fdutimensat.c: Likewise.
38188
38189         doc: regenerate INSTALL
38190         * doc/INSTALL: Reflect recent autoconf update.
38191         * doc/INSTALL.ISO: Likewise.
38192         * doc/INSTALL.UTF-8: Likewise.
38193
38194 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38195
38196         acl: warn if ACL support is not detected
38197         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38198
38199 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38200
38201         * lib/nproc.h: Add extern "C" block for C++.
38202
38203 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38204             Bruno Haible  <bruno@clisp.org>
38205
38206         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38207         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38208         * doc/posix-functions/isalpha.texi: Likewise.
38209         * doc/posix-functions/isblank.texi: Likewise.
38210         * doc/posix-functions/iscntrl.texi: Likewise.
38211         * doc/posix-functions/isdigit.texi: Likewise.
38212         * doc/posix-functions/isgraph.texi: Likewise.
38213         * doc/posix-functions/islower.texi: Likewise.
38214         * doc/posix-functions/isprint.texi: Likewise.
38215         * doc/posix-functions/ispunct.texi: Likewise.
38216         * doc/posix-functions/isspace.texi: Likewise.
38217         * doc/posix-functions/isupper.texi: Likewise.
38218         * doc/posix-functions/isxdigit.texi: Likewise.
38219
38220 2009-10-18  Bruno Haible  <bruno@clisp.org>
38221
38222         Tests for module 'isblank'.
38223         * modules/isblank-tests: New file.
38224         * tests/test-isblank.c: New file.
38225
38226         New module 'isblank'.
38227         * lib/isblank.c: New file.
38228         * m4/isblank.m4: New file.
38229         * modules/isblank: New file.
38230         * doc/posix-functions/isblank.texi: Mention the new module.
38231
38232 2009-10-18  Bruno Haible  <bruno@clisp.org>
38233
38234         New module 'ctype'.
38235         * lib/ctype.in.h: New file.
38236         * m4/ctype.m4: New file.
38237         * modules/ctype: New file.
38238         * doc/posix-headers/ctype.texi: Mention the new module.
38239
38240 2009-10-18  Jim Meyering  <meyering@redhat.com>
38241
38242         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38243         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38244         right after its initialization, rather than farther down.
38245         Keeping these in close proximity makes it easier to ensure
38246         that each such variable is initialized.  E.g.,
38247
38248             LIB_CLOCK_GETTIME=
38249             AC_SUBST([LIB_CLOCK_GETTIME])
38250
38251         This change also increments these serial numbers.
38252         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38253         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38254         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38255
38256 2009-10-18  Bruno Haible  <bruno@clisp.org>
38257
38258         Don't let environment variables perturb build.
38259         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38260         (gl_PREREQ_GETHRXTIME): ... not here.
38261
38262 2009-10-18  Bruno Haible  <bruno@clisp.org>
38263
38264         Avoid symlink attack in localcharset module.
38265         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38266         (O_NOFOLLOW): Define fallback.
38267         (get_charset_aliases): Don't open the file if it is a symbolic link.
38268         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38269         gl_FCNTL_H.
38270         (gl_FCNTL_H): Require it.
38271         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38272         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38273         Reported by Fergal Glynn <fglynn@veracode.com>.
38274
38275 2009-10-18  Bruno Haible  <bruno@clisp.org>
38276
38277         Implement nproc for mingw.
38278         * lib/nproc.c: Include <windows.h>
38279         (num_processors): On native Windows platforms, try GetSystemInfo.
38280
38281 2009-10-18  Bruno Haible  <bruno@clisp.org>
38282
38283         Implement nproc for IRIX.
38284         * lib/nproc.c: Include <sys/sysmp.h>.
38285         (num_processors): On IRIX systems, try sysmp.
38286         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38287
38288 2009-10-18  Bruno Haible  <bruno@clisp.org>
38289
38290         Implement nproc for HP-UX.
38291         * lib/nproc.c: Include <sys/pstat.h>
38292         (num_processors): On HP-UX systems, try pstat_getdynamic.
38293         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38294         pstat_getdynamic.
38295
38296 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38297             Bruno Haible  <bruno@clisp.org>
38298
38299         Implement nproc for NetBSD, OpenBSD.
38300         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38301         (ARRAY_SIZE): New macro.
38302         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38303         * m4/nproc.m4: New file.
38304         * modules/nproc (Files): Add m4/nproc.m4.
38305         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38306         (Makefile.am): Instead, augment lib_SOURCES.
38307
38308 2009-10-18  Bruno Haible  <bruno@clisp.org>
38309
38310         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38311         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38312         sys/param.h.
38313
38314 2009-10-16  Eric Blake  <ebb9@byu.net>
38315
38316         utimensat: new module
38317         * modules/utimensat: New file.
38318         * lib/utimensat.c (utimensat): Likewise.
38319         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38320         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38321         so we can work around Linux bugs.
38322         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38323         * modules/sys_stat (Makefile.am): Substitute them.
38324         * lib/sys_stat.in.h (utimensat): Declare it.
38325         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38326         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38327         * modules/utimensat-tests: New test.
38328         * tests/test-utimensat.c: Likewise.
38329
38330         utimens: let lutimens work on non-symlinks
38331         * lib/utimens.c (lutimens): Fall back to utimens rather than
38332         failing with ENOSYS, when file is not a symlink.
38333         (utimens): Reduce redirection.
38334         * tests/test-lutimens.h (test_lutimens): Update test to cover
38335         non-symlinks.
38336         * tests/test-utimens.h (test_utimens): Update test to cover
38337         symlinks.
38338         * tests/test-utimens.c (main): Update caller.
38339
38340         utimens: cache whether utimensat syscall works
38341         * lib/utimens.c (utimensat_works_really): New cache variable.
38342         (fdutimens, lutimens): Use it to avoid failing syscall.
38343
38344         test-stat-time, test-utimens: improve portability
38345         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38346         ext4 on alpha, and for cygwin.
38347         * tests/test-utimens-common.h: New file.
38348         (nap): Factor delays into single function.
38349         * tests/test-lutimens.h (test_lutimens): Use new header.
38350         * tests/test-futimens.h (test_futimens): Likewise.
38351         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38352         timestamps to occur from same machine, as was done previously for
38353         test_utimens.
38354         * modules/utimens-tests (Files): Ship new file.
38355         * modules/futimens-tests (Files): Likewise.
38356         Reported in part by Jim Meyering.
38357
38358         sys_stat: sort replacement declarations
38359         * lib/sys_stat.in.h: Sort declarations.
38360         * lib/futimens.c (futimens): Fix typo.
38361
38362 2009-10-15  Jim Meyering  <meyering@redhat.com>
38363
38364         don't let environment settings perturb build
38365         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38366         could cause a configure-time and/or build-time malfunction.
38367         Typically, a configure-time function-in-library test is performed
38368         via code like this:
38369
38370           LIB_VAR=
38371           AC_SUBST([LIB_VAR])
38372           prefix_saved_LIBS=$LIBS
38373             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38374                        [test "$ac_cv_search_FUNC" = "none required" ||
38375                         LIB_VAR=$ac_cv_search_FUNC])
38376           LIBS=$prefix_saved_LIBS
38377
38378         However, in each of the files affected by this change, the LIB_VAR=
38379         initialization was omitted.  Thus, when set in the environment, its
38380         value would propagate into generated Makefiles when FUNC is not found
38381         in LIB_NAME.
38382         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38383         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38385
38386 2009-10-14  Eric Blake  <ebb9@byu.net>
38387
38388         fchdir: avoid infinite recursion in mingw
38389         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38390         recursing.
38391
38392         test-stat-time: port to mingw
38393         * tests/test-stat-time.c (force_unlink): Return a value.
38394         (test_ctime) [W32]: Fix compilation error.
38395         (nap): Don't call usleep with too large an argument.  Use
38396         force_unlink.
38397         * doc/pastposix-functions/usleep.texi (usleep): Document the
38398         portability issue.
38399
38400 2009-10-13  Jim Meyering  <meyering@redhat.com>
38401
38402         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38403         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38404         * modules/pipe-filter-ii: Likewise.
38405         * modules/sys_socket-tests: Likewise.
38406         * modules/tsearch-tests: Likewise.
38407         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38408         (check): Depend on it.
38409
38410 2009-10-12  Eric Blake  <ebb9@byu.net>
38411
38412         utimens-tests: port to NFS file systems
38413         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38414         comparisons to avoid spurious failures from timestamp drift
38415         between NFS machines.
38416
38417 2009-10-12  Eric Blake  <ebb9@byu.net>
38418
38419         stat-time-tests: minor cleanups
38420         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38421         * tests/test-stat-time.c (nap): Separate assignment from call.
38422         Suggested by Paolo Bonzini and Bruno Haible.
38423
38424         sys_stat: guarantee struct timespec
38425         * lib/sys_stat.in.h (includes): Always include <time.h>
38426         * modules/sys_stat (Depends-on): Add time.
38427         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38428         mode_t permission values.
38429         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38430         get at subsecond timestamps.
38431
38432 2009-10-10  Eric Blake  <ebb9@byu.net>
38433
38434         futimens: new module
38435         * modules/futimens: New file.
38436         * lib/futimens.c (futimens): Likewise.
38437         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38438         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38439         we can work around Linux bugs.
38440         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38441         * modules/sys_stat (Makefile.am): Substitute them.
38442         * lib/sys_stat.in.h (futimens): Declare it.
38443         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38444         * doc/posix-functions/futimens.texi (futimens): Likewise.
38445         * modules/futimens-tests: New test.
38446         * tests/test-futimens.c: Likewise.
38447
38448         utimens: introduce fdutimens
38449         * lib/utimens.h (fdutimens): New prototype.
38450         * lib/utimens.c (gl_futimens): Move guts...
38451         (fdutimens): ...to new interface.
38452         * tests/test-utimens.c (do_fdutimens): Use it.
38453
38454         utimens: add UTIME_NOW and UTIME_OMIT support
38455         * lib/utimens.c (validate_timespec, update_timespec): New helper
38456         functions.
38457         (gl_futimens, lutimens): Use them.
38458         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38459         stdbool, sys_stat.
38460         (Link): Mention resulting library dependency.
38461         * modules/utimecmp (Link): Likewise.
38462         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38463         (Makefile.am): Pick up library dependency.
38464         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38465         definition.
38466         * tests/test-sys_stat.c: Test the definitions.
38467         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38468         * NEWS: Document library dependency.
38469
38470         utimecmp: support symlink timestamps
38471         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38472         hashing when possible.  Use pathconf when available.
38473         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38474         * modules/utimecmp (Depends-on): Add lstat.
38475
38476         utimens: add lutimens interface
38477         * lib/utimens.c (lutimens): New function.
38478         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38479         * lib/utimens.h (lutimens): Declare new interface.
38480         * tests/test-utimens.c (main): Enhance test.
38481         * tests/test-lutimens.h (test_lutimens): New file.
38482         * modules/utimens-tests (Files): Distribute it.
38483         (Depends-on): Add symlink.
38484         (configure.ac): Check for usleep.
38485
38486         utimens: validate futimens usage
38487         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38488         fewer syscalls on failure later on.  Avoid compiler warning on
38489         mingw.
38490         * modules/utimens (Depends-on): Add dup2.
38491
38492         utimens: add test
38493         * modules/utimens-tests: New test.
38494         * tests/test-utimens.h: New file.
38495         * tests/test-futimens.h: Likewise.
38496         * tests/test-utimens.c: Likewise.
38497
38498         doc: mention timestamp portability issues
38499         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38500         instead.
38501         * doc/posix-functions/utime.texi (utime): Likewise.
38502         * doc/posix-functions/utimes.texi (utimes): Likewise.
38503         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38504         instead.
38505         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38506         module.
38507         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38508         Mention weakness with symlink timestamps.
38509         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38510         to utimensat/futimens instead.
38511         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38512
38513         test-dup2: enhance test
38514         * tests/test-dup2.c (main): Also check AT_FDCWD.
38515
38516         test-stat-time: avoid more spurious failures
38517         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38518         xfs; and avoid race if the two timestamps cross quantization edge.
38519
38520         relocatable: prefer 'file system' over 'filesystem'
38521         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38522         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38523         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38524         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38525         * lib/relocatable.c (compute_curr_prefix): Likewise.
38526
38527 2009-10-10  Jim Meyering  <meyering@redhat.com>
38528
38529         stat-time-tests: check for the usleep function
38530         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38531
38532 2009-10-10  Bruno Haible  <bruno@clisp.org>
38533
38534         * modules/xnanosleep: Put the Link section after the Include section.
38535
38536 2009-10-09  Eric Blake  <ebb9@byu.net>
38537
38538         dup2: work around FreeBSD 6.1 bug
38539         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38540         * doc/posix-functions/dup2.texi (dup2): Document it.
38541         Reported by Nelson H. F. Beebe and Jim Meyering.
38542
38543         test-stat-time: port to buggy NFS clients
38544         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38545         (test_ctime): Also skip test if mtime and ctime are skewed.
38546
38547         maint: prefer 'file system' over 'filesystem'
38548         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38549         * doc/posix-functions/lstat.texi (lstat): Likewise.
38550         * lib/file-has-acl.c (file_has_acl): Likewise.
38551         * lib/fwriteerror.c [TEST]: Likewise.
38552         * tests/test-areadlink.h (test_areadlink): Likewise.
38553         * tests/test-areadlinkat-with-size.c (main): Likewise.
38554         * tests/test-areadlinkat.c (main): Likewise.
38555         * tests/test-canonicalize-lgpl.c (main): Likewise.
38556         * tests/test-canonicalize.c (main): Likewise.
38557         * tests/test-fstatat.c (main): Likewise.
38558         * tests/test-linkat.c (main): Likewise.
38559         * tests/test-lstat.h (test_lstat_func): Likewise.
38560         * tests/test-mkdir.h (test_mkdir): Likewise.
38561         * tests/test-readlink.h (test_readlink): Likewise.
38562         * tests/test-remove.c (main): Likewise.
38563         * tests/test-rename.h (test_rename): Likewise.
38564         * tests/test-renameat.c (main): Likewise.
38565         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38566         * tests/test-symlink.h (test_symlink): Likewise.
38567         * tests/test-symlinkat.c (main): Likewise.
38568         * tests/test-unlink.h (test_unlink_func): Likewise.
38569         * tests/test-unlinkat.c (main): Likewise.
38570
38571         maint: make realtime library usage explicit
38572         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38573         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38574         * modules/settime (Link): Likewise.
38575         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38576
38577         test-stat-time: speed up execution
38578         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38579         warning on mingw.
38580         (nap): New helper function.
38581         (prepare_test): Use it to reduce sleep time.
38582         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38583         execution.
38584         * modules/stat-time-tests (configure.ac): Check for usleep.
38585
38586 2009-10-09  Jim Meyering  <meyering@redhat.com>
38587
38588         selinux-h: always use getfilecon wrappers
38589         * lib/getfilecon.c: New file.
38590         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38591         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38592         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38593         (fgetfilecon): Provide a stub.
38594         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38595         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38596         file unconditionally.
38597         When <selinux/selinux.h> is found, arrange to use wrappers.
38598         * modules/selinux-h (Files): Add getfilecon.c.
38599         (Makefile.am): Substitute include-next-related bits
38600         into the now-always-generated selinux/selinux.h file.
38601         * doc/glibc-functions/lgetfilecon.texi: New file.
38602         * doc/glibc-functions/fgetfilecon.texi: New file.
38603         * doc/glibc-functions/getfilecon.texi: New file.
38604         * doc/glibc-functions/getfilecon-desc.texi: New file.
38605         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38606         which to pull in the new files.
38607         * MODULES.html.sh (Misc): Add selinux-h.
38608
38609 2009-10-08  Jim Meyering  <meyering@redhat.com>
38610
38611         unistd: fix comment typo
38612         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38613
38614 2009-10-08  Eric Blake  <ebb9@byu.net>
38615
38616         areadlink: use SIZE_MAX consistently
38617         * modules/areadlink (Depends-on): Add stdint.
38618         * modules/areadlink-with-size (Depends-on): Likewise.
38619         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38620         gives NULL; drop sys/types, since unistd gives size_t; and add
38621         stdint for SIZE_MAX.
38622         (SIZE_MAX): Rely on headers.
38623         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38624         and add stdint.
38625         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38626         (SIZE_MAX): Likewise.
38627         (INITIAL_BUF_SIZE): Turn into enum.
38628         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38629
38630 2009-10-08  Jim Meyering  <meyering@redhat.com>
38631
38632         areadlinkat: avoid compilation failure
38633         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38634         Fix typo in comment.
38635
38636 2009-10-07  Eric Blake  <ebb9@byu.net>
38637
38638         areadlinkat-with-size: new module
38639         * modules/areadlinkat-with-size: New module.
38640         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38641         * lib/areadlink.h (areadlinkat): Declare it.
38642         * MODULES.html.sh (File system functions): Mention it.
38643         * modules/areadlinkat-with-size-tests: New test.
38644         * tests/test-areadlinkat-with-size.c: New file.
38645
38646         xreadlinkat: new module
38647         * modules/xreadlinkat: New module.
38648         * lib/xreadlinkat.c (xreadlinkat): New file.
38649         * lib/xreadlink.h (xreadlinkat): Declare it.
38650         * MODULES.html.sh (File system functions): Mention it.
38651
38652         areadlinkat: new module
38653         * lib/at-func.c (FUNC_FAIL): New define.
38654         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38655         * modules/areadlinkat: New module.
38656         * lib/linkat.c (areadlinkat): Move...
38657         * lib/areadlinkat.c (areadlinkat): ...to new file.
38658         * lib/areadlink.h (areadlinkat): Declare it.
38659         * modules/linkat (Depends-on): Add areadlinkat.
38660         * MODULES.html.sh (File system functions): Mention it.
38661         * modules/areadlinkat-tests: New test.
38662         * tests/test-areadlinkat.c: New file.
38663
38664         areadlink, areadlink-with-size: add tests
38665         * modules/areadlink-tests: New test.
38666         * modules/areadlink-with-size-tests: Likewise.
38667         * tests/test-areadlink.h: New file.
38668         * tests/test-areadlink.c: Likewise.
38669         * tests/test-areadlink-with-size.c: Likewise.
38670
38671         maint: minor cleanups
38672         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38673         _UNUSED_PARAMETER_ instead.
38674         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38675         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38676         * modules/linkat-tests (Files): Distribute test-link.h.
38677
38678         openat, utimens: whitespace cleanup
38679         * lib/openat.c: Prefer space throughout, rather than mix of 8
38680         spaces vs. tabs.
38681         * lib/at-func.c: Likewise.
38682         * lib/utimens.c: Likewise.
38683
38684         openat: avoid using wrong fd
38685         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38686         working directory chooses same fd.
38687         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38688
38689         mkdir, mkdirat: fix cygwin 1.5.x bug
38690         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38691         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38692         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38693         bug.
38694         (gl_PREREQ_MKDIR): Delete unused macro.
38695         * modules/mkdir (Files): Track file rename.
38696         (configure.ac): Update macro name.
38697         * modules/openat (Depends-on): Add mkdir.
38698         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38699
38700         mkdir, mkdirat: add tests
38701         * modules/mkdir-tests: New test.
38702         * tests/test-mkdir.h: New file.
38703         * tests/test-mkdir.c: Likewise.
38704         * tests/test-mkdirat.c: Likewise.
38705         * modules/openat-tests (Files): Add new files.
38706         (Makefile.am): Run new test.
38707
38708 2009-10-06  Eric Blake  <ebb9@byu.net>
38709
38710         doc: tweak *at function documentation
38711         * doc/posix-functions/faccessat.texi (faccessat): Mention
38712         known issue with replacement.
38713         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38714         * doc/posix-functions/linkat.texi (linkat): Likewise.
38715         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38716         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38717         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38718         * doc/posix-functions/renameat.texi (renameat): Likewise.
38719         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38720
38721         openat: fix GNU/Hurd bug in unlinkat
38722         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38723         broken.
38724         * doc/posix-functions/unlink.texi (unlink): Document this.
38725         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38726
38727         fdopendir: fix GNU/Hurd bug
38728         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38729         allowing non-directory fds.
38730         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38731         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38732         * modules/dirent (Makefile.am): Substitute it.
38733         * lib/dirent.in.h (fdopendir): Declare replacement.
38734         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38735         * tests/test-fdopendir.c (main): Test something other than
38736         /dev/null, since on Hurd that behaves like a directory.
38737
38738         test-symlink: port to GNU/Hurd
38739         * tests/test-symlink.h (test_symlink): Relax expected errno.
38740
38741         doc: tweak more cygwin information
38742         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38743         now compatible with glibc.
38744         * doc/posix-functions/getopt.texi (getopt): Likewise.
38745
38746         getopt-gnu: add another test
38747         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38748         guarantee behavior relied on by m4.
38749         * tests/test-getopt.c (main): Use it.
38750         * modules/getopt-posix-tests (Depends-on): Add setenv.
38751         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38752
38753         getopt: fix compilation on darwin
38754         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38755         include.
38756         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38757         Reported by Ludovic Courtès.
38758
38759 2009-10-06  Bruno Haible  <bruno@clisp.org>
38760
38761         * modules/size_max (Description): Discourage its use.
38762         Reported by Simon Josefsson.
38763
38764 2009-10-06  Jim Meyering  <meyering@redhat.com>
38765
38766         linkat: avoid compilation failure
38767         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38768
38769 2009-10-05  Eric Blake  <ebb9@byu.net>
38770
38771         linkat: support Linux 2.6.17
38772         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38773         linkat on Linux, but allow cache variable override.
38774         * lib/linkat.c (rpl_linkat): Define override.
38775         * modules/linkat (Depends-on): Add symlinkat.
38776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38777         * modules/unistd (Makefile.am): Substitute it.
38778         * lib/unistd.in.h (linkat): Declare replacement.
38779         Reported by Pádraig Brady.
38780
38781         quotearg: port test to systems with C.UTF-8 locale
38782         * tests/test-quotearg.c (struct result_strings): Add another
38783         member, differentiating between C.ASCII and C.UTF-8 handling.
38784         (compare_strings): Add parameter.
38785         (main): Adjust all callers.
38786
38787         getopt: avoid clash with FreeBSD _getopt_internal
38788         * lib/getopt.in.h (_getopt_internal): Override the name.
38789         * lib/getopt_int.h (includes): Pick up any overrides.
38790         Reported by Reuben Thomas.
38791
38792         hash: allow C89 compilation
38793         * lib/hash.c (check_tuning): Move declaration before statement.
38794         Reported by Reuben Thomas.
38795
38796 2009-10-05  Karl Berry  <karl@gnu.org>
38797
38798         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38799
38800 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38801             Bruno Haible  <bruno@clisp.org>
38802
38803         * lib/uname.c (uname): Use a table-driven algorithm to compute
38804         Windows NT versions.
38805
38806 2009-10-04  Bruno Haible  <bruno@clisp.org>
38807
38808         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38809         program_invocation_short_name.
38810         * modules/progname (configure.ac): Test for presence of
38811         program_invocation_short_name.
38812         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38813
38814 2009-10-04  Bruno Haible  <bruno@clisp.org>
38815
38816         * lib/progname.c (set_program_name): Fix comment.
38817         Reported by Jim Meyering.
38818
38819 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38820             Bruno Haible  <bruno@clisp.org>
38821
38822         * lib/uname.c: Include <string.h>.
38823         (uname): Do only one call to GetVersionEx in the common case.
38824
38825 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38826             Bruno Haible  <bruno@clisp.org>
38827
38828         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38829         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38830         (uname): Add support for Windows CE and various non-x86 CPU types.
38831
38832 2009-10-03  Bruno Haible  <bruno@clisp.org>
38833
38834         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38835         invocation to tests/configure.ac.
38836         Reported by Ian Beckwith <ianb@erislabs.net>.
38837
38838 2009-10-02  Eric Blake  <ebb9@byu.net>
38839
38840         fchdir: avoid compiler warning
38841         * lib/fchdir.c (canonicalize_file_name)
38842         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38843
38844         test-open: support mingw errno values
38845         * tests/test-open.h (test_open): Relax test.
38846         * tests/test-fopen.h (test_fopen): Likewise.
38847         * tests/test-openat-safer.c (main): Likewise.
38848
38849         open: fix opening directory on mingw
38850         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38851
38852         test-open: on GNU/Hurd, /dev/null is a directory
38853         * tests/test-fopen.h (main): Rename...
38854         (test_fopen): ...to this.  Use a guaranteed non-directory when
38855         confirming open behavior on trailing slash.
38856         * tests/test-openat-safer.c (main): Likewise.
38857         * tests/test-open.h (main): Likewise....
38858         (test_open): ...to this.
38859         * tests/test-fopen.c (main): Adjust caller.
38860         * tests/test-fopen-safer.c (main): Likewise.
38861         * tests/test-open.c (main): Likewise.
38862         * tests/test-fcntl-safer.c (main): Likewise.
38863         Reported by Samuel Thibault.
38864
38865         rename, fchdir: don't ignore chdir failure
38866         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38867         * lib/rename.c (rpl_rename) [W32]: Likewise.
38868         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38869         an empty destination directory if source cannot be renamed,
38870         although there is still possibility for failure.
38871         * doc/posix-functions/rename.texi (rename): Document the race.
38872         Reported by Jim Meyering.
38873
38874         maint: cleanup whitespace in recent commits
38875         * lib/rename.c (rpl_rename): Remove tabs.
38876         * tests/test-link.h (test_link): Likewise.
38877         * lib/fchdir.c (get_name): Likewise.
38878         Reported by Jim Meyering.
38879
38880 2009-10-02  Ben Pfaff  <blp@gnu.org>
38881
38882         relocatable-prog-wrapper: Add missing dependency on
38883         double-slash-root.
38884         * modules/relocatable-prog-wrapper: Add dependency.
38885         Reported by Ian Beckwith <ianb@erislabs.net>.
38886
38887 2009-10-02  Eric Blake  <ebb9@byu.net>
38888
38889         renameat: fix Solaris bugs
38890         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38891         needed fixing.
38892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38893         * modules/stdio (Makefile.am): Substitute it.
38894         * lib/stdio.in.h (renameat): Declare replacement.
38895         * lib/renameat.c (rpl_renameat): Implement fix.
38896
38897         renameat: new module
38898         * modules/renameat: New file.
38899         * lib/renameat.c (renameat): Likewise.
38900         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38901         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38902         * modules/stdio (Makefile.am): Substitute them.
38903         * lib/stdio.in.h (renameat): Declare it.
38904         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38905         * doc/posix-functions/renameat.texi (renameat): Likewise.
38906         * modules/renameat-tests: New test.
38907         * tests/test-renameat.c: Likewise.
38908
38909         rename: fix mingw bugs
38910         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38911         directory overwrite bugs.
38912
38913         rename: fix another cygwin 1.5 bug
38914         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38915         checks.
38916         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38917         unnecessary cygwin workarounds.  Also work around bug with moving
38918         full directory onto an empty one.
38919         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38920
38921         rename-dest-slash: merge into rename module
38922         * modules/rename-dest-slash (Status): Mark obsolete.
38923         (Depends-on): Add rename.
38924         (Files): Let rename do it all.
38925         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38926         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38927         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38928         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38929         * lib/rename.c (rpl_rename): Update comments.
38930
38931         rename: fix cygwin 1.5.x bugs
38932         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38933         * lib/rename.c (rpl_rename): Work around them.
38934         * modules/rename (Depends-on): Add same-inode.
38935
38936         rename: fix Solaris 10 bug
38937         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38938         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38939         was the only bug.
38940
38941         rename: fix Solaris 9 bug
38942         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38943         on non-directory.  Avoid calling exit.
38944         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38945         strdup.
38946         * modules/rename-tests (Depends-on): Drop lstat.
38947         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38948         (gl_PREREQ_RENAME): Delete unused macro.
38949
38950         rename-dest-slash: fix NetBSD bug
38951         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38952         links.
38953         * modules/rename-dest-slash (Depends-on): Add same-inode.
38954
38955         rename-tests: new test, exposes several platform bugs
38956         * modules/rename-tests: New file.
38957         * tests/test-rename.h: Likewise.
38958         * tests/test-rename.c: Likewise.
38959         * doc/posix-functions/rename.texi (rename): Improve documentation,
38960         including bugs that will eventually be fixed in gnulib.
38961
38962 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38963
38964         * lib/uname.c: Include <stdlib.h>
38965         (uname): Assume version info is available.
38966
38967 2009-10-02  Jim Meyering  <meyering@redhat.com>
38968
38969         gnu-web-doc-update: correct --help output
38970         * build-aux/gnu-web-doc-update: Make --help output relevant.
38971
38972         gnu-web-doc-update: add standard options
38973         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38974
38975         gnu-web-doc-update: New module.
38976         Use this script to automatically update the on-line web documentation
38977         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38978         * modules/gnu-web-doc-update: New file, from coreutils.
38979         * build-aux/gnu-web-doc-update: New script.
38980
38981 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38982
38983         link: LoadLibrary is not needed.
38984         * lib/link.c: Use GetModuleHandle.
38985
38986 2009-10-01  Eric Blake  <ebb9@byu.net>
38987
38988         getopt: bump serial number
38989         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38990         change.
38991
38992         tests: tighten link, rmdir, and remove tests
38993         * tests/test-link.h (includes): No need to use <config.h> here.
38994         Clean up if directory hard link was created, otherwise test for
38995         trailing '.'.
38996         * tests/test-linkat.c (main): Simplify.
38997         * tests/test-remove.c (main): Enhance test for trailing '.'.
38998         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38999
39000 2009-10-01  Jim Meyering  <meyering@redhat.com>
39001
39002         maint.mk: requiring "make major" was annoying, for a "minor" release.
39003         What is intended is "stable", to contrast with alpha and beta,
39004         so require "make stable", not "make major".
39005         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39006         (get_tool_versions): Likewise.
39007         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39008
39009 2009-09-30  Ben Pfaff  <blp@gnu.org>
39010
39011         Fix broken build of replacement for Windows tmpfile().
39012         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39013         flags argument added along with the 'mkostemp' module.
39014
39015 2009-09-28  Bruno Haible  <bruno@clisp.org>
39016
39017         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39018         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39019         to 'remove_elt'.
39020         (gl_list_remove): Update.
39021         * lib/gl_list.c (gl_list_remove): Update.
39022         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39023         to 'remove_elt'.
39024         (gl_oset_remove): Update.
39025         * lib/gl_list.c (gl_oset_remove): Update.
39026         Reported by Eric Blake.
39027
39028 2009-09-28  Eric Blake  <ebb9@byu.net>
39029
39030         doc: mention yet more cygwin 1.7 status
39031         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39032         cygwin.
39033         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39034         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39035
39036         argp: fix test failure
39037         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39038         that are not upper-case.  Pass correct range to tolower.
39039
39040 2009-09-27  Jim Meyering  <meyering@redhat.com>
39041
39042         test-yesno: work around sparc-dash here-document infelicity
39043         Without this change, the literal \177 byte in a here document
39044         would make dash 0.5.5.1-3 access uninitialized memory.
39045         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39046         Instead, use a marker, "@", and filter through tr to create the desired
39047         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39048
39049 2009-09-27  Bruno Haible  <bruno@clisp.org>
39050
39051         Disable untested support for new flavours of ACLs on AIX.
39052         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39053         progress.
39054         * lib/set-mode-acl.c (qset_acl): Likewise.
39055
39056 2008-12-07  Bruno Haible  <bruno@clisp.org>
39057
39058         Add support for new flavours of ACLs on AIX. (Untested.)
39059         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39060         (file_has_acl): Add support for newer AIX.
39061         * lib/set-mode-acl.c (qset_acl): Likewise.
39062         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39063         Rainer Tammer <tammer@tammer.net>.
39064
39065 2009-09-26  Eric Blake  <ebb9@byu.net>
39066
39067         argp: fix compilation of getopt
39068         * lib/getopt.in.h (includes): Use different guard than glibc.
39069         Reported by Sergey Poznyakoff.
39070
39071         doc: mention more cygwin 1.7 status
39072         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39073         bug.
39074         * doc/posix-functions/execl.texi (execl): Likewise.
39075         * doc/posix-functions/execle.texi (execle): Likewise.
39076         * doc/posix-functions/execlp.texi (execlp): Likewise.
39077         * doc/posix-functions/execv.texi (execv): Likewise.
39078         * doc/posix-functions/execve.texi (execve): Likewise.
39079         * doc/posix-functions/execvp.texi (execvp): Likewise.
39080         * doc/glibc-functions/canonicalize_file_name.texi
39081         (canonicalize_file_name): Cygwin 1.7 now provides this.
39082         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39083         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39084         on AT_SYMLINK_NOFOLLOW.
39085
39086 2009-09-24  Eric Blake  <ebb9@byu.net>
39087
39088         test-linkat: make test more robust
39089         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39090
39091         getopt: fix inclusion guards for cygwin
39092         * modules/getopt-posix (Depends-on): Add include-next.
39093         (Makefile.am): Substitute more items in replacement header.
39094         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39095         <getopt.h>.
39096         * lib/getopt.in.h (includes): Use split inclusion guard, and
39097         prefer <getopt.h> over include <unistd.h> when one is present.
39098         (option): Also override name of 'struct option'.
39099
39100         same-inode: revert prior change; it is not yet ready
39101         * NEWS: Undo mention of this change.
39102         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39103         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39104         * lib/cycle-check.c (cycle_check): Likewise.
39105         * lib/same.c (same_name): Likewise.
39106         * lib/at-func2.c (at_func2): Likewise.
39107
39108 2009-09-23  Eric Blake  <ebb9@byu.net>
39109
39110         linkat: new module
39111         * modules/linkat: New file.
39112         * lib/at-func2.c (at_func2): Likewise.
39113         * lib/linkat.c (linkat): Likewise.
39114         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39115         * lib/openat-priv.h (at_func2): Add declaration.
39116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39117         * modules/unistd (Makefile.am): Substitute them.
39118         * lib/unistd.in.h (linkat): Declare it.
39119         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39120         * doc/posix-functions/linkat.texi (linkat): Likewise.
39121         * doc/posix-functions/link.texi (link): Tweak wording.
39122         * tests/test-link.c (main): Move guts...
39123         * tests/test-link.h (test_link): ...into new file.
39124         * modules/linkat-tests: New test.
39125         * tests/test-linkat.c: Likewise.
39126         * modules/link-tests (Files): Ship new file.
39127         (Depends-on): Add stdbool.
39128
39129         dirname: add library-safe mdir_name
39130         * lib/dirname.h (mdir_name): New prototype.
39131         * lib/dirname.c (dir_name): Move guts...
39132         (mdir_name): ...to new function that avoids xalloc_die.
39133
39134         fchdir: another mingw fix
39135         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39136         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39137         on mingw (where it has not yet been ported), and make it optional
39138         elsewhere.
39139         (_gl_register_fd): Use it.
39140
39141         same-inode: make SAME_INODE tri-state, to port to mingw
39142         * NEWS: Mention this change.
39143         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39144         st_ino always being 0.
39145         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39146         * lib/cycle-check.c (cycle_check): Likewise.
39147         * lib/same.c (same_name): Likewise.
39148
39149         lstat: avoid mingw compilation error
39150         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39151         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39152         lstat ourselves.
39153         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39154         was adequate.
39155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39156         the checks for lstat.
39157         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39158
39159         link: fix test failure on Solaris 9
39160         * lib/link.c (rpl_link): Don't assume link will catch bogus
39161         trailing slash on source.
39162
39163         test-symlinkat: enhance test
39164         * tests/test-readlink.c (main): Move guts...
39165         * tests/test-readlink.h (test_readlink): ...into new file.
39166         * tests/test-symlink.c (main): Move guts...
39167         * tests/test-symlink.h (test_symlink): ...into new file.
39168         * tests/test-symlinkat.c (main): Use new files for further
39169         coverage.
39170         (do_symlink, do_readlink): New helper functions.
39171         * modules/symlink-tests (Files): Ship new file.
39172         (Depends-on): Add stdbool.
39173         * modules/readlink-tests (Files): Ship new file.
39174         (Depends-on): Add stdbool.
39175         * modules/symlinkat-tests (Files): Use new files.
39176
39177 2009-09-23  Eric Blake  <ebb9@byu.net>
39178
39179         readlink: document portability issue with symlink length
39180         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39181         systems have bogus st_size on symlinks, and mention the
39182         areadlink-with-size module.
39183         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39184         * doc/posix-functions/readlink.texi (readlink): Mention the
39185         areadlink module, and ERANGE failure.
39186         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39187         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39188
39189         readlink: fix Solaris 9 bug with trailing slash
39190         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39191         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39192         * doc/posix-functions/readlink.texi (readlink): Document this.
39193         * modules/readlink-tests: New test.
39194         * tests/test-readlink.c: Likewise.
39195
39196         readlink: fix cygwin 1.5.x bug with return type
39197         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39198         * lib/unistd.in.h (readlink): Use ssize_t.
39199         * lib/readlink.c (readlink): Likewise.
39200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39201         * modules/unistd (Makefile.am): Substitute it.
39202         * lib/unistd.in.h (readlink): Declare replacement.
39203         * doc/posix-functions/readlink.texi (readlink): Document this.
39204
39205         symlink: use throughout gnulib
39206         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39207         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39208         symlink is not used.
39209         * modules/symlinkat (Depends-on): Add symlink.
39210         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39211         * modules/canonicalize-tests (Depends-on): Likewise.
39212         * modules/lstat-tests (Depends-on): Likewise.
39213         * modules/openat-tests (Depends-on): Likewise.
39214         * modules/remove-tests (Depends-on): Likewise.
39215         * modules/rmdir-tests (Depends-on): Likewise.
39216         * modules/unlink-tests (Depends-on): Likewise.
39217         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39218         * tests/test-canonicalize.c (symlink): Likewise.
39219         * tests/test-fstatat.c (symlink): Likewise.
39220         * tests/test-lstat.c (symlink): Likewise.
39221         * tests/test-remove.c (symlink): Likewise.
39222         * tests/test-rmdir.c (symlink): Likewise.
39223         * tests/test-unlink.c (symlink): Likewise.
39224         * tests/test-unlinkat.c (symlink): Likewise.
39225
39226         symlink: new module, for Solaris 9 bug
39227         * modules/symlink: New file.
39228         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39229         * lib/symlink.c: Likewise.
39230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39231         * modules/unistd (Makefile.am): Substitute them.
39232         * lib/unistd.in.h (symlink): Declare replacement.
39233         * MODULES.html.sh (File system functions): Mention it.
39234         * doc/posix-functions/symlink.texi (symlink): Likewise.
39235         * modules/symlink-tests: New test.
39236         * tests/test-symlink.c: Likewise.
39237
39238 2009-09-23  Bruno Haible  <bruno@clisp.org>
39239
39240         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39241         when needed.
39242         Test case: gnulib-tool --import --with-tests atexit inttypes.
39243         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39244
39245 2009-09-23  Bruno Haible  <bruno@clisp.org>
39246
39247         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39248         subcommand, not in a subshell.
39249
39250 2009-09-22  Eric Blake  <ebb9@byu.net>
39251
39252         unistd: sort replacement declarations
39253         * lib/unistd.in.h: Sort declarations.
39254
39255         open, openat: minor optimization
39256         * lib/open.c (open): If open succeeded, len is non-zero.
39257         * lib/openat.c (rpl_openat): Likewise.
39258
39259         link-follow: ensure correct result
39260         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39261         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39262         distinguish between possible failures.
39263
39264 2009-09-21  Eric Blake  <ebb9@byu.net>
39265
39266         fts: avoid compiler warning
39267         * lib/fts.c (dirent_inode_sort_may_be_useful)
39268         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39269
39270 2009-09-19  Bruno Haible  <bruno@clisp.org>
39271
39272         * lib/progreloc.c (canonicalize_file_name): New declaration.
39273
39274 2009-09-19  Eric Blake  <ebb9@byu.net>
39275
39276         link: fix quoting
39277         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39278
39279         openat: fix openat bugs on Solaris 9
39280         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39281         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39282         * modules/openat (Depends-on): Add open.
39283         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39284         * modules/fcntl-h (Makefile.am): Substitute it.
39285         * lib/fcntl.in.h (openat): Declare replacement.
39286         * doc/posix-functions/openat.texi (openat): Document this.
39287
39288         openat: move fstatat and unlinkat into correct files
39289         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39290         compiled.
39291         * lib/openat.c (fstatat, unlinkat): Move...
39292         * lib/fstatat.c (fstatat): ...into correct files.
39293         * lib/unlinkat.c (unlinkat): Likewise.
39294
39295         openat: fix unlinkat bugs on Solaris 9
39296         * lib/unlinkat.c (unlinkat): New file.
39297         * modules/openat (Depends-on): Add unlink.
39298         (Files): Distribute it.
39299         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39300         trailing slash behavior is broken.
39301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39302         * modules/unistd (Makefile.am): Substitute it.
39303         * lib/unistd.in.h (unlinkat): Declare replacement.
39304         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39305
39306         openat: fix fstatat bugs on Solaris 9
39307         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39308         stat.
39309         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39310
39311         test-unlinkat: enhance test, to expose Solaris 9 bug
39312         * tests/test-unlink.c (main): Factor guts...
39313         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39314         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39315         * tests/test-rmdir.c (main): Adjust caller.
39316         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39317         (unlinker): New helper function.
39318         (rmdirat): Enhance check.
39319         * modules/rmdir-tests (Depends-on): Add stdbool.
39320         * modules/unlink-tests (Depends-on): Likewise.
39321         (Files): Add test-unlink.h.
39322         * modules/openat-tests (Files): Likewise.
39323         (Depends-on): Add unlinkdir.
39324
39325         test-fstatat: new test, to expose Solaris 9 bugs
39326         * tests/test-stat.c (main): Factor guts...
39327         * tests/test-stat.h (test_stat_func): ...into new file.
39328         * tests/test-lstat.c (main): Factor guts...
39329         * tests/test-lstat.h (test_lstat_func): ...into new file.
39330         * tests/test-fstatat.c: New file.
39331         * modules/stat-tests (Files): Add test-stat.h.
39332         * modules/lstat-tests (Files): Add test-lstat.h.
39333         (Depends-on): Add stdbool.
39334         * modules/openat-tests (Depends-on): Add pathmax.
39335         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39336         (Makefile.am): Run new test.
39337
39338         remove: new module, for mingw and Solaris 9 bugs
39339         * modules/remove: New file.
39340         * lib/remove.c: Likewise.
39341         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39342         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39343         * modules/stdio (Makefile.am): Use them.
39344         * lib/stdio.in.h (remove): Declare replacement.
39345         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39346         * doc/posix-functions/remove.texi (remove): Likewise.
39347         * modules/remove-tests: New test.
39348         * tests/test-remove.c: Likewise.
39349
39350         unlink: new module, for Solaris 9 bug
39351         * modules/unlink: New file.
39352         * lib/unlink.c: Likewise.
39353         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39355         * modules/unistd (Makefile.am): Use them.
39356         * lib/unistd.in.h (stat): Declare replacement.
39357         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39358         * doc/posix-functions/unlink.texi (unlink): Likewise.
39359         * modules/unlink-tests: New test.
39360         * tests/test-unlink.c: Likewise.
39361
39362         lstat: fix Solaris 9 bug
39363         * lib/lstat.c (lstat): Also check for trailing slash on
39364         non-symlink, non-directories.  Use stat module to simplify logic.
39365         * doc/posix-functions/lstat.texi (lstat): Document it.
39366         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39367         (configure.ac): Check for symlink.
39368         * tests/test-lstat.c (main): Add more tests.
39369
39370         stat: add as dependency to other modules
39371         * modules/chown (Depends-on): Add stat.
39372         * modules/euidaccess (Depends-on): Likewise.
39373         * modules/fchdir (Depends-on): Likewise.
39374         * modules/isdir (Depends-on): Likewise.
39375         * modules/link (Depends-on): Likewise.
39376         * modules/lstat (Depends-on): Likewise.
39377         * modules/mkdir-p (Depends-on): Likewise.
39378         * modules/modechange (Depends-on): Likewise.
39379         * modules/open (Depends-on): Likewise.
39380         * modules/readlink (Depends-on): Likewise.
39381         * modules/same (Depends-on): Likewise.
39382
39383         stat: fix Solaris 9 bug
39384         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39385         slash.
39386         * lib/stat.c (rpl_stat): Work around it.
39387         * doc/posix-functions/stat.texi (stat): Update documentation.
39388
39389         stat: new module, for mingw bug
39390         * modules/stat: New file.
39391         * lib/stat.c: Likewise.
39392         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39393         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39394         * modules/sys_stat (Makefile.am): Use them.
39395         * lib/sys_stat.in.h (stat): Declare replacement.
39396         * lib/openat.c (fstatat): Deal with lstat and stat being function
39397         macros.
39398         * modules/openat (Depends-on): Add inline.
39399         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39400         * doc/posix-functions/stat.texi (stat): Likewise.
39401         * modules/stat-tests: New test.
39402         * tests/test-stat.c: Likewise.
39403
39404 2009-09-19  Jim Meyering  <meyering@redhat.com>
39405
39406         syntax-check: detect unnecessary inclusion of canonicalize.h
39407         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39408
39409 2009-09-19  Eric Blake  <ebb9@byu.net>
39410
39411         canonicalize-lgpl: adjust clients to use correct header
39412         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39413         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39414         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39415         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39416         * lib/progreloc.c (includes): Likewise.
39417
39418 2009-09-19  Jim Meyering  <meyering@redhat.com>
39419
39420         test-posixtm.c: correct a comment
39421         * tests/test-posixtm.c: Correct first-line comment.
39422         Spotted by Eric Blake.
39423
39424 2009-09-16  Jim Meyering  <meyering@redhat.com>
39425
39426         posixtm-tests: make T const-correct; add a test case
39427         * tests/test-posixtm.c (T): Declare const.
39428         Add a test for -(2^31+1).
39429         Remove useless can-succeed-only-in-2002 test.
39430
39431         posixtm-tests: adjust the sole failing test
39432         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39433         expected output matches what mktime now produces.  Cross-checked via
39434         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39435
39436         posixtm: move #ifdef'd tests into a new module
39437         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39438         * tests/test-posixtm.c: ... this new file.
39439         * modules/posixtm-tests: New module.
39440
39441 2009-09-19  Eric Blake  <ebb9@byu.net>
39442
39443         openat: simplify use of at-func.c
39444         * lib/at-func.c (includes): Include prerequisites here, to
39445         simplify requirements on client files.
39446         * lib/openat-priv.h: Add double-inclusion guard.
39447         * lib/faccessat.c (includes): Simplify.
39448         * lib/fchmodat.c (includes): Likewise.
39449         * lib/fchownat.c (includes): Likewise.
39450         * lib/mkdirat.c (includes): Likewise.
39451         * lib/mkfifoat.c (includes): Likewise.
39452         * lib/symlinkat.c (includes): Likewise.
39453
39454         openat: allow return of fd 0
39455         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39456         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39457         unistd-safer.
39458         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39459         <fcntl.h>; this module does not leak fds.
39460         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39461         must be allowed to return 0, leaving openat_safer to add the
39462         safety.
39463         (openat_permissive): Avoid writing to just-opened fd 2 if
39464         restoring the current directory fails.
39465         * lib/openat-die.c (openat_restore_fail): Add comment.
39466         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39467         (save_cwd): Guarantee safe fd, but without use of open_safer.
39468         * tests/test-openat.c: New test.
39469         * modules/openat-tests (Files, Makefile.am): Distribute and build
39470         new file.
39471
39472         relocatable-prog-wrapper: fix build
39473         * modules/relocatable-prog-wrapper (Files): Update name of
39474         canonicalize m4 file, broken on 2009-09-17.
39475         Reported by emad hajjar <aleppos@hotmail.com>.
39476
39477 2009-09-19  Bruno Haible  <bruno@clisp.org>
39478
39479         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39480         * lib/safe-alloc.c: Likewise.
39481         Reported by Ian Beckwith <ianb@erislabs.net>.
39482
39483 2009-09-18  Bruno Haible  <bruno@clisp.org>
39484
39485         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39486         Reported by <erobles@sensacd.com.mx>.
39487
39488 2009-09-17  Eric Blake  <ebb9@byu.net>
39489
39490         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39491         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39492         slashes when checking if last component is missing.
39493         * tests/test-canonicalize.c (main): Test this.
39494
39495         canonicalize, canonicalize-lgpl: honor // if distinct from /
39496         * modules/canonicalize (Files): Add double-slash-root.m4.
39497         * modules/canonicalize-lgpl (Files): Likewise.
39498         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39499         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39500         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39501         fallback definition.
39502         (canonicalize_filename_mode): Use it to protect //.
39503         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39504         (__realpath): Likewise.
39505         * tests/test-canonicalize.c (main): Test this.
39506         * tests/test-canonicalize-lgpl.c (main): Likewise.
39507         * modules/canonicalize-tests (Depends-on): Add same-inode.
39508         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39509
39510         canonicalize-lgpl: fix glibc bug with trailing slash
39511         * m4/canonicalize-lgpl.m4: Move contents...
39512         * m4/canonicalize.m4: ...here.
39513         (gl_CANONICALIZE_LGPL): Factor realpath check...
39514         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39515         glibc 2.3.5 bug, fixed 2005-04-27.
39516         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39517         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39518         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39519         * modules/canonicalize-lgpl (Files): Manage file rename.
39520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39521         * modules/stdlib (Makefile.am): Substitute witness.
39522         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39523         is needed.
39524         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39525         replacement is required.
39526         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39527         * doc/glibc-functions/canonicalize_file_name.texi
39528         (canonicalize_file_name): Document this.
39529         * doc/posix-functions/realpath.texi (realpath): Likewise.
39530
39531         canonicalize-lgpl: reject non-directory with trailing slash
39532         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39533         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39534         catches failures in glibc 2.3.5.
39535         * tests/test-canonicalize.c (main): Likewise.
39536
39537         canonicalize-lgpl: use native realpath if it works
39538         * lib/canonicalize-lgpl.c (realpath): Guard with
39539         FUNC_REALPATH_WORKS.
39540         * lib/stdlib.in.h (realpath): Make declaration optional based on
39541         HAVE_REALPATH.
39542         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39543         native realpath works.
39544         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39545         * modules/stdlib (Makefile.am): Substitute witness.
39546
39547         canonicalize, canonicalize-lgpl: use <stdlib.h>
39548         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39549         (Include): Mention <stdlib.h>.
39550         (configure.ac): Mention functions we provide.
39551         * modules/canonicalize (configure.ac): Likewise.
39552         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39553         realpath if canonicalize_file_name is missing.
39554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39555         * modules/stdlib (Makefile.am): Substitute witnesses.
39556         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39557         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39558         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39559         * NEWS: Document this.
39560         * doc/glibc-functions/canonicalize_file_name.texi
39561         (canonicalize_file_name): Likewise.
39562         * doc/posix-functions/realpath.texi (realpath): Likewise.
39563         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39564
39565         test-canonicalize: consolidate into single C program
39566         * tests/test-canonicalize.sh: Delete; move setup into...
39567         * tests/test-canonicalize.c (main): ...the program, making it
39568         easier to run in debugger.  Add some tests.
39569         * modules/canonicalize-tests (Files): Remove unused file.
39570         (Depends-on): Add progname.
39571         (configure.ac, Makefile.am): Simplify.
39572
39573         test-canonicalize-lgpl: consolidate into single C program
39574         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39575         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39576         easier to run in debugger.  Add some tests.
39577         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39578         (configure.ac, Makefile.am): Simplify.
39579
39580         canonicalize: avoid resolvepath
39581         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39582         unnecessary checks.
39583         * lib/canonicalize.c (includes): Simplify.
39584         (canonicalize_file_name): Drop resolvepath implementation.
39585         * modules/canonicalize (Depends-on): Drop filenamecat.
39586
39587         canonicalize: don't lose errno
39588         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39589         over calls to free.
39590
39591         canonicalize: simplify errno handling
39592         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39593         assignment.
39594
39595         canonicalize, canonicalize-lgpl: update module dependencies
39596         * modules/canonicalize (Depends-on): Add extensions, lstat,
39597         pathmax, stdlib.
39598         (Files): Drop pathmax.h.
39599         (configure.ac): Adjust macro name.
39600         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39601         lstat, stdlib, sys_stat.
39602         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39603         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39604         extensions.
39605         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39606         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39607         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39608         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39609         declaration, if available.
39610         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39611         we can rely on the readlink module.
39612         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39613         (includes): Use <unistd.h> unconditionally.
39614
39615 2009-09-17  Eric Blake  <ebb9@byu.net>
39616
39617         maint: make Include sections of modules consistent
39618         * modules/alloca: Use only header name; no need to list #include.
39619         * modules/alloca-opt: Likewise.
39620         * modules/arpa_inet: Likewise.
39621         * modules/canon-host: Likewise.
39622         * modules/configmake: Likewise.
39623         * modules/dirent: Likewise.
39624         * modules/eealloc: Likewise.
39625         * modules/environ: Likewise.
39626         * modules/fchdir: Likewise.
39627         * modules/fcntl: Likewise.
39628         * modules/fcntl-h: Likewise.
39629         * modules/gethrxtime: Likewise.
39630         * modules/gettime: Likewise.
39631         * modules/ignore-value: Likewise.
39632         * modules/inet_ntop: Likewise.
39633         * modules/inet_pton: Likewise.
39634         * modules/inttypes: Likewise.
39635         * modules/isnand-nolibm: Likewise.
39636         * modules/isnanf-nolibm: Likewise.
39637         * modules/mbchar: Likewise.
39638         * modules/mbfile: Likewise.
39639         * modules/mbiter: Likewise.
39640         * modules/mbuiter: Likewise.
39641         * modules/netdb: Likewise.
39642         * modules/netinet_in: Likewise.
39643         * modules/nproc: Likewise.
39644         * modules/pagealign_alloc: Likewise.
39645         * modules/poll: Likewise.
39646         * modules/printf-frexp: Likewise.
39647         * modules/pthread: Likewise.
39648         * modules/putenv: Likewise.
39649         * modules/random_r: Likewise.
39650         * modules/relocatable-prog: Likewise.
39651         * modules/search: Likewise.
39652         * modules/select: Likewise.
39653         * modules/selinux-h: Likewise.
39654         * modules/settime: Likewise.
39655         * modules/signal: Likewise.
39656         * modules/size_max: Likewise.
39657         * modules/socklen: Likewise.
39658         * modules/ssize_t: Likewise.
39659         * modules/stdarg: Likewise.
39660         * modules/stdbool: Likewise.
39661         * modules/stddef: Likewise.
39662         * modules/stdint: Likewise.
39663         * modules/stdio: Likewise.
39664         * modules/stdlib: Likewise.
39665         * modules/string: Likewise.
39666         * modules/strings: Likewise.
39667         * modules/sys_file: Likewise.
39668         * modules/sys_ioctl: Likewise.
39669         * modules/sys_select: Likewise.
39670         * modules/sys_socket: Likewise.
39671         * modules/sys_stat: Likewise.
39672         * modules/sys_time: Likewise.
39673         * modules/sys_times: Likewise.
39674         * modules/sys_utsname: Likewise.
39675         * modules/sys_wait: Likewise.
39676         * modules/sysexits: Likewise.
39677         * modules/time: Likewise.
39678         * modules/times: Likewise.
39679         * modules/tmpfile: Likewise.
39680         * modules/trim: Likewise.
39681         * modules/unistd: Likewise.
39682         * modules/wchar: Likewise.
39683         * modules/wctype: Likewise.
39684
39685 2009-09-17  Bruno Haible  <bruno@clisp.org>
39686
39687         Make getdate.y compile on QNX and NetBSD 5 / i386.
39688         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39689         TIME_T_FITS_IN_LONG_INT.
39690         * lib/getdate.y (long_time_t): New type.
39691         (relative_time): Change type of 'seconds' field to long_time_t.
39692         (get_date): Update types of local variables. Check against overflow
39693         during conversion from long_time_t to time_t.
39694         Reported by Matt Kraai <kraai@ftbfs.org>
39695         and Hasso Tepper <hasso@netbsd.org>.
39696
39697 2009-09-17  Bruno Haible  <bruno@clisp.org>
39698
39699         * modules/COPYING: Update copyright years.
39700         * modules/README: Likeiwse.
39701         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39702         Reported by Ian Beckwith <ianb@erislabs.net>.
39703
39704 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39705
39706         * users.txt: Update references for gnuit package.
39707
39708 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39709
39710         * m4/getdelim.m4: Fix typo in copyright line.
39711
39712 2009-09-17  Bruno Haible  <bruno@clisp.org>
39713
39714         * lib/atoll.c: Use the standard header with GPL copyright.
39715         * lib/argz.in.h: Likewise.
39716         * lib/glob.c: Likewise.
39717         * lib/glob-libc.h: Likewise.
39718         * lib/random_r.c: Likewise.
39719         * lib/siglist.h: Likewise.
39720         * lib/strsignal.c: Likewise.
39721         Reported by Ian Beckwith <ianb@erislabs.net>.
39722
39723 2009-09-17  Eric Blake  <ebb9@byu.net>
39724
39725         rmdir: ensure correct dependency order
39726         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39727
39728 2009-09-17  Bruno Haible  <bruno@clisp.org>
39729
39730         Disable assertion that fails on NetBSD 5 / i386.
39731         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39732         Reported by Sam Steingold <sds@gnu.org>
39733         and Hasso Tepper <hasso@netbsd.org>.
39734
39735 2009-09-16  Eric Blake  <ebb9@byu.net>
39736
39737         unlinkdir: port to mingw
39738         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39739         on which no one can unlink a directory.
39740
39741         stdlib: sort witness names
39742         * modules/stdlib (Makefile.am): Sort replacements.
39743         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39744         * lib/stdlib.in.h: Likewise.
39745
39746         parse-duration-tests: avoid link failure
39747         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39748         LIBINTL.
39749         Reported by Tom G. Christensen.
39750
39751         openat-tests: ensure unlinkat behaves like rmdir
39752         * tests/test-rmdir.c (main): Factor guts...
39753         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39754         * modules/rmdir-tests (Files): Ship new file.
39755         * modules/openat-tests: New test.
39756         * tests/test-unlinkat.c: Likewise.
39757
39758         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39759         * modules/rmdir-errno (Status, Notice): Now obsolete.
39760
39761         rmdir: work around cygwin 1.5.x and mingw bugs
39762         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39763         * lib/rmdir.c (rmdir): Work around it.
39764         * modules/rmdir (Status, Notice): No longer obsolete.
39765         (Files): Add dos.m4.
39766         (Depends-on): Add unistd.
39767         (configure.ac): Set witnesses.
39768         (License): Relax to LGPLv2+.
39769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39770         * modules/unistd (Makefile.am): Substitute witnesses.
39771         * lib/unistd.in.h (rmdir): Declare replacement.
39772         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39773         * modules/rmdir-tests: New tests.
39774         * tests/test-rmdir.c: Likewise.
39775
39776 2009-09-15  Eric Blake  <ebb9@byu.net>
39777
39778         fchdir: improve use of replacement functions
39779         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39780         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39781         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39782         REPLACE_CLOSEDIR.
39783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39784         * modules/sys_stat (Makefile.am): Substitute correct witness.
39785         * modules/dirent (Makefile.am): Likewise.
39786         * modules/unistd (Makefile.am): Likewise.
39787         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39788         * lib/unistd.in.h (dup): Likewise.
39789         * lib/sys_stat.in.h (fstat): Likewise.
39790
39791         maint: ignore gnulib-tool temp files
39792         * .gitignore: Ignore files created during gnulib-tool --test.
39793
39794 2009-09-13  Jim Meyering  <meyering@redhat.com>
39795
39796         posixtm: don't reject a time that specify "60" as the number of seconds
39797         * lib/posixtm.c (posixtime): The code to reject invalid dates
39798         would also reject a time specified with the .60 suffix.
39799         But POSIX allows that, in order to accommodate leap seconds.
39800         So don't reject it.
39801         (main): Adjust tests accordingly.
39802         * modules/posixtm (Depends-on): Add stpcpy.
39803
39804 2009-09-11  Jim Meyering  <meyering@redhat.com>
39805
39806         announce-gen: include [$release_type] in emitted Subject:
39807         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39808         e.g., [stable] in the emitted Subject: line.
39809
39810 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39811
39812         Remove obsolete macros from several modules.
39813         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39814         obsolete Autoconf macros with their modern counterparts.
39815         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39816         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39817         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39818         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39819         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39820         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39821         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39822         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39823         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39824         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39825         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39826         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39827         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39828         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39829         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39830         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39831         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39832         * m4/time_r.m4 (gl_TIME_R): Likewise.
39833         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39834         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39835         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39836
39837         Fix copyright header in build-aux scripts.
39838         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39839         recommendation.
39840         * build-aux/ncftpput-ftp: Likewise.
39841         * build-aux/update-copyright: Likewise.
39842
39843 2009-09-09  Eric Blake  <ebb9@byu.net>
39844
39845         test-link: allow Linux choice of errno
39846         * tests/test-link.c (main): Relax test for alternate error.
39847
39848         strndup: fix improper m4 caching
39849         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39850         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39851         (gl_PREREQ_STRNDUP): Delete.
39852         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39853         * modules/string (Makefile.am): Substitute it.
39854         * lib/string.in.h (strndup): Modernize prototype.
39855
39856         getcwd: port to mingw
39857         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39858         different from the POSIX assumptions made throughout the getcwd
39859         module; fortunately, the mingw getcwd does not need replacement.
39860         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39861         * modules/getcwd-tests: New test.
39862         * tests/test-getcwd.c: Likewise.
39863
39864         link: fix platform bugs
39865         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39866         * lib/link.c (link): Work around them.  Fix related mingw bug.
39867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39868         * modules/unistd (Makefile.am): Substitute it.
39869         * lib/unistd.in.h (link): Declare replacement.
39870         * doc/posix-functions/link.texi (link): Document this.
39871         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39872
39873         test-link: consolidate into single C program, test more cases
39874         * tests/test-link.sh: Delete.
39875         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39876         at least Cygwin and Solaris.
39877         * modules/link-tests (Files): Remove unused file.
39878         (Depends-on): Add errno, sys_stat.
39879         (Makefile.am): Simplify.
39880
39881 2009-09-08  Bruno Haible  <bruno@clisp.org>
39882
39883         Work around towlower, towupper bug on mingw.
39884         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39885         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39886         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39887         * doc/posix-functions/towupper.texi: Likewise.
39888         Reported by Eric Blake.
39889
39890 2009-09-08  Jim Meyering  <meyering@redhat.com>
39891
39892         build: don't try to run autoheader if we don't use it
39893         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39894         is not used in configure.ac.
39895
39896 2009-09-08  Eric Blake  <ebb9@byu.net>
39897
39898         euidaccess: fix compilation error
39899         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39900
39901         rawmemchr: relax license
39902         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39903         okay.
39904         Reported by Jim Meyering.
39905
39906         mkfifoat: new module
39907         * modules/mkfifoat: New file.
39908         * lib/mkfifoat.c: Likewise.
39909         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39910         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39911         * modules/sys_stat (Makefile.am): Use them.
39912         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39913         * MODULES.html.sh (File system functions): Mention module.
39914         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39915         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39916         * modules/mkfifoat-tests: New test.
39917         * tests/test-mkfifoat.c: Likewise.
39918
39919         strchrnul: relax license
39920         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39921         okay.
39922         Reported by Jim Meyering.
39923
39924 2009-09-08  Eric Blake  <ebb9@byu.net>
39925
39926         fstatat: fix compilation on Solaris
39927         * lib/fstatat.c (includes): Add fcntl.h.
39928         Reported by Pádraig Brady.
39929
39930 2009-09-07  Eric Blake  <ebb9@byu.net>
39931
39932         rename: modernize replacement
39933         * modules/rename (Depends-on): Add stdio.
39934         (configure.ac): Declare witness.
39935         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39936         stdio take care of replacement.
39937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39938         * modules/stdio (Makefile.am): Substitute them.
39939         * lib/stdio.in.h (rename): Declare replacement.
39940         * lib/rename.c (includes): Allow cross-compilation to non-windows
39941         machines.
39942         * doc/posix-functions/rename.texi (rename): Improve
39943         documentation.
39944
39945         stdio: sort witness names
39946         * modules/stdio (Makefile.am): Sort replacements.
39947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39948         * lib/stdio.in.h: Likewise.
39949
39950         getcwd: minor cleanups
39951         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39952         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39953
39954         openat: provide more convenience names
39955         * modules/faccessat (configure.ac): Add C witness.
39956         * lib/unistd.in.h (readlinkat): Fix typo.
39957         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39958         convenience wrappers.
39959         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39960         wrappers in syntax checks.
39961
39962 2009-09-06  Eric Blake  <ebb9@byu.net>
39963
39964         doc: fix comments in recent patches
39965         * lib/faccessat.c: Mention correct function.
39966         * lib/fchmodat.c: Likewise.
39967         * lib/fchownat.c: Likewise.
39968         * lib/symlinkat.c: Likewise.
39969         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39970         constants.
39971
39972         faccessat, symlinkat: continue cleanup of previous patch
39973         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39974         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39975         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39977         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39978         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39979         set.
39980
39981 2009-09-06  Bruno Haible  <bruno@clisp.org>
39982
39983         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39984         (fstatat): Declare if GNULIB_FSTATAT is set.
39985         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39986         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39987         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39988         * modules/fcntl-h (Files): Remove m4/openat.m4.
39989         * modules/sys_stat (Files): Remove m4/openat.m4.
39990         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39991         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39992         * modules/unistd (Files): Remove m4/openat.m4.
39993         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39994         GNULIB_OPENAT.
39995         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39996         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39997         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39998         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39999         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40000         gl_OPENAT_DEFAULTS.
40001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40002         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40003         Don't require gl_OPENAT_DEFAULTS.
40004         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40005         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40006         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40007         (gl_OPENAT_DEFAULTS): Remove macro.
40008
40009 2009-09-06  Bruno Haible  <bruno@clisp.org>
40010
40011         * modules/openat (configure.ac): Remove unneeded witness.
40012
40013 2009-09-06  Bruno Haible  <bruno@clisp.org>
40014
40015         Set errno to ENOSYS when a function is entirely unsupported.
40016         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40017         EOPNOTSUPP.
40018         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40019         * modules/chown (Depends-on): Remove errno.
40020
40021 2009-09-06  Bruno Haible  <bruno@clisp.org>
40022
40023         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40024
40025 2009-09-06  Bruno Haible  <bruno@clisp.org>
40026
40027         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40028
40029 2009-09-06  Ben Pfaff  <blp@gnu.org>
40030             Bruno Haible  <bruno@clisp.org>
40031
40032         Work around a glibc bug in strtok_r.
40033         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40034         Undefine if UNDEFINE_STRTOK_R is set.
40035         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40037         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40038         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40039         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40040         UNDEFINE_STRTOK_R.
40041         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40042
40043 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40044
40045         exclude: minor fix
40046         * lib/exclude.c: Include wctype.h
40047
40048 2009-09-06  Akim Demaille  <demaille@gostai.com>
40049
40050         bootstrap: improve error message
40051         * build-aux/bootstrap (find_tool): Upon failure, report the list
40052         of candidates.
40053         Honor the initial value of the envvar.
40054
40055 2009-09-05  Eric Blake  <ebb9@byu.net>
40056
40057         symlinkat: new module
40058         * modules/symlinkat: New file.
40059         * lib/symlinkat.c: Likewise.
40060         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40062         * modules/unistd (Makefile.am): Use them.
40063         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40064         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40065         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40066         * MODULES.html.sh (File system functions): Mention module.
40067         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40068         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40069         * modules/symlinkat-tests: New test.
40070         * tests/test-symlinkat.c: Likewise.
40071
40072         test-openat-safer: add more checks
40073         * tests/test-openat-safer.c (main): Check more code paths.
40074
40075 2009-09-05  Jim Meyering  <meyering@redhat.com>
40076
40077         syntax-check: detect unnecessary inclusion of openat.h
40078         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40079
40080 2009-09-05  Bruno Haible  <bruno@clisp.org>
40081
40082         Support towlower, towupper.
40083         * doc/posix-functions/towlower.texi: Mention module wctype.
40084         * doc/posix-functions/towupper.texi: Likewise.
40085         * lib/wctype.in.h (towlower, towupper): New functions.
40086         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40087         (ASSERT): New macro.
40088         (e): New variable.
40089         (main): Test also towlower, towupper. Test WEOF argument.
40090         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40091
40092 2009-09-05  Bruno Haible  <bruno@clisp.org>
40093
40094         Fix conversion behaviour when the input is invalid.
40095         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40096         mark occurring in first pass of indirect conversion.
40097         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40098         input.
40099         Found by clang's static analyzer.
40100
40101 2009-09-05  Bruno Haible  <bruno@clisp.org>
40102
40103         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40104         where direct conversion is possible.
40105
40106 2009-09-04  Eric Blake  <ebb9@byu.net>
40107
40108         openat: fail with ENOENT on empty name
40109         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40110         buffer.
40111
40112         link-follow: fix logic bug in prior patch
40113         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40114         reversed sense of yes and no in prior patch.  Avoid confusing
40115         compilation failure with desired semantics.
40116
40117         link-follow: accomodate mingw and cross-compilation
40118         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40119         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40120         cross-compilation results to -1, to make linkat easier to
40121         implement when cross-compiling.  Trivially support mingw.
40122         * modules/link-follow (configure.ac): Call new name.
40123         * NEWS: Mention this.
40124
40125 2009-09-03  Eric Blake  <ebb9@byu.net>
40126
40127         faccessat: compile replacement
40128         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40129         needed.
40130
40131         fts: fix compilation error
40132         * lib/fts.c (includes): Re-add "openat.h", for
40133         openat_needs_fchdir.
40134
40135         faccessat: new module
40136         * modules/faccessat: New file.
40137         * lib/faccessat.c: Likewise.
40138         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40140         * modules/unistd (Makefile.am): Use it.
40141         * lib/unistd.in.h (faccessat): Declare it.
40142         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40143         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40144         * MODULES.html.sh (File system functions): Mention it.
40145         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40146         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40147
40148         euidaccess: prefer POSIX over non-standard implementation
40149         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40150         * lib/euidaccess.c (euidaccess): Use it if available.
40151
40152         openat: make template easier to use
40153         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40154         AT_FUNC_F2 to be undefined.
40155         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40156         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40157         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40158         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40159         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40160         Likewise.
40161         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40162         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40163         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40164         Likewise.
40165
40166         openat: declare in POSIX headers
40167         * NEWS: Mention this.
40168         * modules/openat (configure.ac): Declare witnesses.
40169         (Depends-on): Add fcntl-h, sys_stat, unistd.
40170         (Include): Mention correct headers.
40171         * modules/fcntl-h (Depends-on): Add link-warning.
40172         (Files): Add openat.m4.
40173         (Makefile.am): Substitute witnesses.
40174         * modules/sys_stat (Files, Makefile.am): Likewise.
40175         * modules/unistd (Files, Makefile.am): Likewise.
40176         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40177         (gl_OPENAT_DEFAULTS): New macro.
40178         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40180         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40181         (SYS_STAT_H): Remove unused variable.
40182         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40183         * lib/fcntl--.h (includes): Remove unneeded header.
40184         * lib/openat-safer.c (includes): Likewise.
40185         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40186         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40187         appropriate headers.
40188         (__OPENAT_PREFIX): Delete.
40189         * lib/fcntl.in.h (openat): Provide declaration.
40190         (AT_FDCWD): Fix Solaris bug.
40191         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40192         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40193         * lib/fchmodat.c (includes):  Adjust to find declaration.
40194         * lib/fchownat.c (includes): Likewise.
40195         * lib/mkdirat.c (includes): Likewise.
40196         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40197         still visible.
40198
40199 2009-09-02  Eric Blake  <ebb9@byu.net>
40200
40201         errno: use consistently
40202         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40203         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40204         * lib/canonicalize.c (ELOOP): Likewise.
40205         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40206         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40207         * lib/lchown.c (EOPNOTSUPP): Likewise.
40208         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40209         * lib/savewd.c (ESTALE): Likewise.
40210         * lib/settime.c (ENOSYS): Likewise.
40211         * lib/utimens.c (ENOSYS): Likewise.
40212         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40213         * lib/chdir-safer.c (ELOOP): Likewise.
40214         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40215         * modules/c-stack (Depends-on): Add errno.
40216         * modules/canonicalize (Depends-on): Likewise.
40217         * modules/chdir-safer (Depends-on): Likewise.
40218         * modules/fdopendir (Depends-on): Likewise.
40219         * modules/inet_ntop (Depends-on): Likewise.
40220         * modules/inet_pton (Depends-on): Likewise.
40221         * modules/lchown (Depends-on): Likewise.
40222         * modules/openat (Depends-on): Likewise.
40223         * modules/savewd (Depends-on): Likewise.
40224         * modules/settime (Depends-on): Likewise.
40225         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40226
40227         fts: avoid leaking fds
40228         * modules/fts (Depends-on): Add cloexec.
40229         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40230         flag.
40231
40232         fts: make directory fds more robust
40233         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40234         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40235
40236         backupfile, chdir-long, fts, savedir: make safer
40237         * lib/backupfile.c (includes): Use "dirent--.h", since
40238         numbered_backup can write to stderr during readdir.
40239         * lib/savedir.c (includes): Likewise.
40240         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40241         emulation can write to stderr on failure.
40242         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40243         * lib/getcwd.c: Document why opendir_safer is unused.
40244         * lib/glob.c: Likewise.
40245         * lib/scandir.c: Likewise.
40246         * lib/openat-proc.c: Likewise, for open_safer.
40247         * modules/backupfile (Depends-on): Add dirent-safer.
40248         * modules/savedir (Depends-on): Likewise.
40249         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40250         * modules/chdir-long (Depends-on): Add openat-safer.
40251
40252         openat-safer: new module
40253         * modules/openat-safer: New file.
40254         * lib/openat-safer.c: Likewise.
40255         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40256         * lib/fcntl-safer.h (openat_safer): Declare.
40257         * lib/fcntl--.h (openat): Override.
40258         * MODULES.html.sh (File descriptor based I/O): Mention it.
40259         * lib/openat.h: Add double-inclusion guards.
40260         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40261         "fcntl--.h", so we can implement openat.
40262         * modules/openat-safer-tests: New test.
40263         * tests/test-openat-safer.c: New file.
40264
40265         dirent-safer: new module
40266         * modules/dirent-safer: New file.
40267         * lib/dirent--.h: Likewise.
40268         * lib/dirent-safer.h: Likewise.
40269         * lib/opendir-safer.c: Likewise.
40270         * m4/dirent-safer.m4: Likewise.
40271         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40272         * modules/dirent-safer-tests: New test.
40273         * tests/test-dirent-safer.c: New file.
40274         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40275
40276         fdopendir: optimize on mingw
40277         * lib/unistd.in.h (_gl_directory_name): New prototype.
40278         * lib/fchdir.c (_gl_directory_name): Implement it.
40279         (fchdir): Use it to simplify implementation.
40280         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40281         fchdir, when available, to avoid calling [f]chdir().
40282
40283         fdopendir: split into its own module
40284         * lib/openat.c (fdopendir): Move...
40285         * lib/fdopendir.c: ...into new file.
40286         * modules/fdopendir: New module.
40287         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40288         * modules/openat (Depends-on): Add fdopendir.
40289         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40290         fdopendir here.
40291         * modules/savedir (Depends-on): Only need fdopendir, not full
40292         openat.
40293         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40294         * lib/openat.h (fdopendir): Drop prototype.
40295         * lib/dirent.in.h (fdopendir): Provide prototype.
40296         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40297         * modules/dirent (Makefile.am): Substitute them.
40298         * MODULES.html.sh (File system functions): Mention it.
40299         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40300         * modules/fdopendir-tests: New file.
40301         * tests/test-fdopendir.c: Likewise.
40302
40303         fchdir: use more consistent macro convention
40304         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40305         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40306         REPLACE_FCHDIR, rather than relying on config.h macros.
40307         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40308         inside a single make-time REPLACE_FCHDIR block, rather than using
40309         the config.h FCHDIR_REPLACEMENT.
40310         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40311         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40312         Manage fstat replacement.
40313         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40314         REPLACE_FCHDIR.
40315         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40316         (Makefile.am): Substitute REPLACE_FCHDIR.
40317         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40318         FCHDIR_REPLACEMENT.
40319         * lib/dup-safer.c (dup_safer): Likewise.
40320         * lib/dup2.c (rpl_dup2): Likewise.
40321         * lib/dup3.c (rpl_dup3): Likewise.
40322         * lib/open.c (rpl_open): Likewise.
40323
40324         fchdir: simplify error handling, and support dup3
40325         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40326         stdbool, malloc-posix, realloc-posix.
40327         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40328         (ensure_dirs_slot): Return false on allocation failure.
40329         (rpl_dup2): Delete.
40330         (_gl_register_dup): New function.
40331         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40332         (_gl_register_fd): Close fd on allocation failure.
40333         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40334         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40335         prototype.
40336         (rpl_dup2_fchdir): Delete prototype.
40337         * lib/open.c (open): Update caller.
40338         * lib/dup2.c (dup2): Track fchdir metadata.
40339         * lib/dup3.c (dup3): Likewise.
40340         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40341         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40342
40343 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40344
40345         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40346         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40347         don't pass arguments to AC_OUTPUT.
40348
40349 2009-09-02  Bruno Haible  <bruno@clisp.org>
40350
40351         * modules/mkdtemp (License): Relicense under LGPLv2+.
40352         Reported by Paolo Bonzini.
40353
40354 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40355
40356         Replace uses of obsolete autoconf macros in Jim's modules.
40357         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40358         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40359         can evoke a warning from autoconf when run with -Wobsolete
40360         enabled.  They were declared obsolete for good reasons (see
40361         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40362         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40363         should not continue using the deprecated macros.
40364         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40365         obsolete Autoconf macros with modern counterparts.
40366         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40367         * m4/dos.m4 (gl_AC_DOS): Likewise.
40368         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40369         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40370         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40371         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40372         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40373         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40374         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40375         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40376         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40377         Likewise.
40378         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40379         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40380         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40381         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40382         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40383         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40384
40385 2009-09-01  Eric Blake  <ebb9@byu.net>
40386
40387         fchdir: fix off-by-one bug in previous patch
40388         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40389         (_gl_unregister_fd): Delete useless if.
40390
40391 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40392
40393         maint.mk: sort the list of syntax-check rules
40394         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40395         easier to get a sense of progress when the rules are run sequentially
40396         and take a long time.
40397
40398 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40399
40400         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40401         * modules/netinet_in: Likewise.
40402         * modules/sys_file: Likewise.
40403         * modules/sys_ioctl: Likewise.
40404         * modules/sys_select: Likewise.
40405         * modules/sys_socket: Likewise.
40406         * modules/sys_stat: Likewise.
40407         * modules/sys_time: Likewise.
40408         * modules/sys_times: Likewise.
40409         * modules/sys_utsname: Likewise.
40410         * modules/sys_wait: Likewise.
40411
40412 2009-09-01  Jim Meyering  <meyering@redhat.com>
40413
40414         fts: help ensure that return values are not ignored
40415         * lib/fts_.h (__GNUC_PREREQ): Define.
40416         (__attribute_warn_unused_result__): Define.
40417         (fts_children, fts_close, fts_open, fts_read): Declare with
40418         __attribute_warn_unused_result__.
40419
40420         fts: fts_close now fails also when closing a dir file descriptor fails
40421         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40422         and propagate to caller, along with errno.
40423
40424         announce-gen: correct formatting in --help output
40425         * build-aux/announce-gen (usage): Move the one-line description in
40426         --help output "up", to where it belongs, just after Usage:.
40427
40428 2009-08-31  Eric Blake  <ebb9@byu.net>
40429
40430         fchdir: port to mingw
40431         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40432         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40433         opened, then use a substitute.
40434         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40435         replacement.
40436         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40437         (_gl_register_fd): No need to check stat if open already filters
40438         all directories.
40439         (fchdir): Fix error condition to match POSIX.
40440         * modules/fchdir (Depends-on): Add sys_stat.
40441         * doc/posix-functions/open.texi (open): Document the limitation.
40442         * modules/fchdir-tests: New file.
40443         * tests/test-fchdir.c: Likewise.
40444
40445         canonicalize: allow cross-testing from cygwin to mingw
40446         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40447         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40448         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40449         Likewise.
40450         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40451         target does not support symlinks.
40452         * tests/test-canonicalize-lgpl.sh: Likewise.
40453
40454         chown: avoid compilation warning on mingw
40455         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40456         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40457         mingw.
40458         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40459         * modules/chown (Depends-on): Add errno.
40460
40461 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40462
40463         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40464         command.
40465
40466 2009-08-31  Jim Meyering  <meyering@redhat.com>
40467
40468         canonicalize: remove useless initialization
40469         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40470         initialization of local, "end".
40471
40472 2009-08-30  Bruno Haible  <bruno@clisp.org>
40473
40474         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40475         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40476         ENOSYS.
40477
40478 2009-08-30  Bruno Haible  <bruno@clisp.org>
40479
40480         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40481         /usr/xpg4/bin/tr when it exists.
40482         * tests/test-pipe-filter-gi1.sh: Likewise.
40483
40484 2009-08-30  Bruno Haible  <bruno@clisp.org>
40485
40486         Work around deficient /usr/bin/id program on Solaris.
40487         * tests/test-file-has-acl.sh (ID): New variable.
40488         * tests/test-set-mode-acl.sh (ID): Likewise.
40489         * tests/test-copy-acl.sh (ID): Likewise.
40490         * tests/test-copy-file.sh (ID): Likewise.
40491
40492 2009-08-30  Bruno Haible  <bruno@clisp.org>
40493
40494         New module 'xstriconveh'.
40495         * lib/xstriconveh.h: New file.
40496         * lib/xstriconveh.c: New file.
40497         * modules/xstriconveh: New file.
40498
40499 2009-08-30  Bruno Haible  <bruno@clisp.org>
40500
40501         Make it easier to use mem_cd_iconveh.
40502         * lib/striconveh.h (iconveh_t): New type.
40503         (iconveh_open, iconveh_close): New declarations.
40504         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40505         with a single 'const iconveh_t *' argument.
40506         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40507         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40508         with a single 'const iconveh_t *' argument.
40509         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40510         * tests/test-striconveh.c (main): Update.
40511         * NEWS: Mention the change.
40512
40513 2009-08-30  Bruno Haible  <bruno@clisp.org>
40514
40515         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40516         problem.
40517
40518 2009-08-30  Bruno Haible  <bruno@clisp.org>
40519
40520         Work around iconv_open problem on Solaris.
40521         * lib/iconv_open-solaris.gperf: New file.
40522         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40523         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40524         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40525         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40526         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40527         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40528
40529 2009-08-29  Jim Meyering  <meyering@redhat.com>
40530
40531         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40532         * top/maint.mk (cvs-check): Remove target; it was just an alias
40533         to the better-named vc-diff-check.
40534         (maintainer-distcheck): Remove rule.  It was used only from
40535         the (alpha/beta/major) target, and all of its commands but one
40536         were coreutils-specific.
40537         (vc-dist): Remove rule.
40538         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40539         Run vc-diff-check, not vc-dist.
40540         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40541
40542 2009-08-27  Bruno Haible  <bruno@clisp.org>
40543
40544         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40545         of 0.
40546
40547 2009-08-27  Bruno Haible  <bruno@clisp.org>
40548
40549         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40550         compilers.
40551         * doc/func.texi: Document the SunPRO C bug.
40552
40553 2009-08-27  Bruno Haible  <bruno@clisp.org>
40554
40555         Fix link error on Solaris.
40556         * tests/test-parse-duration.c (xstrdup): Remove function.
40557
40558 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40559
40560         ignore-value: handle pointer types, too
40561         * lib/ignore-value.h (__attribute__): Remove definition.
40562         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40563         of a more concise and more-often effective "(void) i" statement.
40564         (ignore_ptr): New function to suppress warnings from functions that
40565         return pointers, and to make it explicit that one function doesn't
40566         handle all cases.
40567
40568 2009-08-25  Bruno Haible  <bruno@clisp.org>
40569
40570         dup2: work around a Linux bug.
40571         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40572         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40573         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40574         Reported by Simon Josefsson.
40575
40576 2009-08-25  Jim Meyering  <meyering@redhat.com>
40577
40578         libguestfs uses gnulib
40579         * users.txt: Add libguestfs.
40580
40581 2009-08-24  Eric Blake  <ebb9@byu.net>
40582
40583         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40584         * lib/pipe2.c (includes): Add binary-io.h.
40585         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40586
40587 2009-08-24  Bruno Haible  <bruno@clisp.org>
40588
40589         Tolerate declared but missing accept4 syscall.
40590         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40591         available.
40592         * lib/sys_socket.in.h (accept4): If the function is already present,
40593         override it.
40594         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40595         * modules/accept4 (Makefile.am): Compile accept4.c always.
40596         Reported by Paolo Bonzini and Eric Blake.
40597
40598 2009-08-23  Bruno Haible  <bruno@clisp.org>
40599
40600         New module 'accept4'.
40601         * lib/sys_socket.in.h (accept4): New declaration.
40602         * lib/accept4.c: New file.
40603         * m4/accept4.m4: New file.
40604         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40605         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40606         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40607         HAVE_ACCEPT4.
40608         * modules/accept4: New file.
40609         * doc/glibc-functions/accept4.texi: Mention the new module.
40610
40611 2009-08-24  Jim Meyering  <meyering@redhat.com>
40612
40613         progname: also set global program_invocation_name, when possible
40614         Before this change, a libtool-enabled program that calls glibc's
40615         error function would report the program name as
40616         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40617         * modules/progname (configure.ac): Check for a declaration of
40618         program_invocation_name.
40619         * lib/progname.c:  Include <errno.h>.
40620         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40621         Set program_invocation_name.
40622
40623 2009-08-23  Bruno Haible  <bruno@clisp.org>
40624
40625         * lib/dup3.c: Include <string.h>.
40626
40627 2009-08-23  Bruno Haible  <bruno@clisp.org>
40628
40629         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40630         * lib/pipe2.c (pipe2): Likewise.
40631         Suggested by Eric Blake.
40632
40633 2009-08-23  Bruno Haible  <bruno@clisp.org>
40634
40635         Tolerate declared but missing dup3 syscall.
40636         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40637         * lib/unistd.in.h (dup3): If the function is already present,
40638         override it.
40639         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40640         * modules/dup3 (Makefile.am): Compile dup3.c always.
40641         Reported by Paolo Bonzini.
40642
40643 2009-08-23  Bruno Haible  <bruno@clisp.org>
40644
40645         Tolerate declared but missing pipe2 syscall.
40646         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40647         available.
40648         * lib/unistd.in.h (pipe2): If the function is already present,
40649         override it.
40650         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40651         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40652         Reported by Paolo Bonzini.
40653
40654 2009-08-23  Bruno Haible  <bruno@clisp.org>
40655
40656         * lib/pipe2.c (pipe2): Move #ifs inside function.
40657
40658 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40659
40660         quotearg: document limitations of quote_these_too
40661         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40662         those limitations are created.
40663         * lib/quotearg.h (set_char_quoting): Document that digits and
40664         letters that are special after backslash are not permitted.
40665         (quotearg_char): Cross-reference set_char_quoting documentation.
40666
40667 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40668
40669         quotearg: implement custom_quoting_style
40670         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40671         right_quote fields.
40672         (set_custom_quoting): New public function.
40673         (quotearg_buffer_restyled): Add left_quote and right_quote
40674         arguments, handle them very much like locale quoting, and update
40675         all uses.
40676         (quotearg_n_custom): New public function.
40677         (quotearg_n_custom_mem): New public function.
40678         (quotearg_custom): New public function.
40679         (quotearg_custom_mem): New public function.
40680         * lib/quotearg.h: Prototype and document new public functions.
40681         (enum quoting_style): For escape_quoting_style and
40682         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40683         ignored even though they're otherwise like c_quoting_style.
40684         Add custom_quoting_style member and document with comparison to
40685         clocale_quoting_style.
40686         * tests/test-quotearg.c (custom_quotes): New array.
40687         (custom_results): New array.
40688         (main): Extend to test custom quoting.
40689
40690 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40691
40692         quotearg: fix right quote escaping when it's in quote_these_too
40693         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40694         quote, be sure to prepend only one backslash.
40695         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40696         (main): Test it.
40697
40698 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40699
40700         quotearg-tests: test escaping of embedded locale quotes
40701         * tests/test-quotearg.c (struct result_strings): Add member for
40702         new input.
40703         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40704         (inputs): Add new input.
40705         (results_g): Add expected results.
40706         (flag_results): Likewise.
40707         (locale_results): Likewise.
40708         (compare_strings): Check those.
40709
40710 2009-08-23  Bruno Haible  <bruno@clisp.org>
40711
40712         Tests for module 'dup3'.
40713         * modules/dup3-tests: New file.
40714         * tests/test-dup3.c: New file.
40715
40716         New module 'dup3'.
40717         * lib/unistd.in.h (dup3): New declaration.
40718         * lib/dup3.c: New file.
40719         * m4/dup3.m4: New file.
40720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40721         HAVE_DUP3.
40722         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40723         * modules/dup3: New file.
40724         * doc/glibc-functions/dup3.texi: Mention the new module.
40725
40726 2009-08-23  Bruno Haible  <bruno@clisp.org>
40727
40728         Tweak the dup2 test.
40729         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40730         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40731         the test file is still empty. Fix argument order of lseek.
40732
40733 2009-08-23  Bruno Haible  <bruno@clisp.org>
40734
40735         Avoid test link errors when the modules getopt-gnu, gettext are used.
40736         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40737         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40738
40739 2009-08-23  Bruno Haible  <bruno@clisp.org>
40740
40741         Fix getdtablesize() on mingw.
40742         * lib/getdtablesize.c (getdtablesize): Implement differently.
40743         * lib/unistd.in.h (getdtablesize): Improve comment.
40744
40745 2009-08-23  Bruno Haible  <bruno@clisp.org>
40746
40747         New module 'mkostemp'.
40748         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40749         * lib/stdlib.in.h (mksotemp): New declaration.
40750         * lib/mkostemp.c: New file, from glibc with modifications.
40751         * lib/tempname.h (GT_FILE): Remove outdated comment.
40752         (gen_tempname): Add flags argument.
40753         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40754         (__GT_FILE): Map to 1.
40755         (small_open, large_open): Remove macros.
40756         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40757         * lib/mkstemp.c (mkstemp): Update.
40758         * lib/mkdtemp.c (mkdtemp): Likewise.
40759         * m4/mkostemp.m4: New file.
40760         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40761         HAVE_MKOSTEMP.
40762         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40763         HAVE_MKOSTEMP.
40764         * modules/mkostemp: New file, based on modules/mkstemp.
40765         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40766         * NEWS: Mention the change.
40767
40768 2009-08-23  Bruno Haible  <bruno@clisp.org>
40769
40770         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40771         Reported by Eric Blake.
40772
40773 2009-08-23  Bruno Haible  <bruno@clisp.org>
40774
40775         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40776         Reported by Eric Blake.
40777
40778 2009-08-23  Bruno Haible  <bruno@clisp.org>
40779
40780         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40781         * modules/pipe2 (Depends-on): Likewise.
40782
40783 2009-08-23  Eric Blake  <ebb9@byu.net>
40784
40785         fcntl-h: add O_TTY_INIT support
40786         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40787         * tests/test-fcntl-h.c (o): Test it.
40788         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40789
40790         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40791         * modules/fcntl: Move <fcntl.h> header replacement...
40792         * modules/fcntl-h: ...to new name, so as not to collide with
40793         like-named function.
40794         * tests/test-fcntl.c: Rename...
40795         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40796         * modules/fcntl-tests: Rename...
40797         * modules/fcntl-h-tests: ...to this.  Update test file name.
40798         * modules/chdir-long (Depends-on): Update clients.
40799         * modules/chdir-safer (Depends-on): Likewise.
40800         * modules/fcntl-safer (Depends-on): Likewise.
40801         * modules/fts (Depends-on): Likewise.
40802         * modules/mkancesdirs (Depends-on): Likewise.
40803         * modules/mkdir-p (Depends-on): Likewise.
40804         * modules/open (Depends-on): Likewise.
40805         * modules/savewd (Depends-on): Likewise.
40806         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40807         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40808
40809 2009-08-22  Bruno Haible  <bruno@clisp.org>
40810
40811         * modules/binary-io (License): Relicense under LGPL.
40812         * modules/pipe2 (License): Likewise.
40813
40814 2009-08-22  Bruno Haible  <bruno@clisp.org>
40815
40816         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40817         return value.
40818         * lib/pipe-filter-gi.c (filter_init): Likewise.
40819         Reported by Eric Blake.
40820
40821 2009-08-22  Bruno Haible  <bruno@clisp.org>
40822
40823         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40824         * modules/pipe (Depends-on): Add pipe2.
40825
40826 2009-08-22  Bruno Haible  <bruno@clisp.org>
40827
40828         Tests for module 'pipe2'.
40829         * modules/pipe2-tests: New file.
40830         * tests/test-pipe2.c: New file.
40831
40832         New module 'pipe2'.
40833         * lib/unistd.in.h (pipe2): New declaration.
40834         * lib/pipe2.c: New file.
40835         * m4/pipe2.m4: New file.
40836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40837         HAVE_PIPE2.
40838         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40839         * modules/pipe2: New file.
40840         * doc/glibc-functions/pipe2.texi: Mention the new module.
40841
40842 2009-08-22  Bruno Haible  <bruno@clisp.org>
40843
40844         Reference some new glibc functions.
40845         * doc/glibc-functions/accept4.texi: New file.
40846         * doc/glibc-functions/dup3.texi: New file.
40847         * doc/glibc-functions/mkostemp.texi: New file.
40848         * doc/glibc-functions/pipe2.texi: New file.
40849         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40850         (Glibc sys/socket.h): Refer to accept4.
40851         (Glibc unistd.h): Refer to dup3, pipe2.
40852         Reported by Eric Blake.
40853
40854 2009-08-22  Jim Meyering  <meyering@redhat.com>
40855             Bruno Haible  <bruno@clisp.org>
40856
40857         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40858         This makes it so packages using automake-1.11's silent-rules option
40859         can print e.g., a single "GEN    configmake.h" line, rather than
40860         the 30+ statements that perform the job.  If you want to see the
40861         actual commands, you can still run "make V=1".
40862         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40863         so that make output is abbreviated when those variables are defined
40864         appropriately.
40865         * modules/argz: Likewise.
40866         * modules/arpa_inet: Likewise.
40867         * modules/byteswap: Likewise.
40868         * modules/configmake: Likewise.
40869         * modules/dirent: Likewise.
40870         * modules/errno: Likewise.
40871         * modules/fcntl: Likewise.
40872         * modules/float: Likewise.
40873         * modules/fnmatch: Likewise.
40874         * modules/getopt-posix: Likewise.
40875         * modules/glob: Likewise.
40876         * modules/iconv_open: Likewise.
40877         * modules/inttypes: Likewise.
40878         * modules/localcharset: Likewise.
40879         * modules/locale: Likewise.
40880         * modules/math: Likewise.
40881         * modules/netdb: Likewise.
40882         * modules/netinet_in: Likewise.
40883         * modules/poll: Likewise.
40884         * modules/posix_spawnp-tests: Likewise.
40885         * modules/sched: Likewise.
40886         * modules/search: Likewise.
40887         * modules/selinux-h: Likewise.
40888         * modules/signal: Likewise.
40889         * modules/spawn: Likewise.
40890         * modules/stdarg: Likewise.
40891         * modules/stdbool: Likewise.
40892         * modules/stddef: Likewise.
40893         * modules/stdint: Likewise.
40894         * modules/stdio: Likewise.
40895         * modules/stdlib: Likewise.
40896         * modules/string: Likewise.
40897         * modules/strings: Likewise.
40898         * modules/sys_file: Likewise.
40899         * modules/sys_ioctl: Likewise.
40900         * modules/sys_select: Likewise.
40901         * modules/sys_socket: Likewise.
40902         * modules/sys_stat: Likewise.
40903         * modules/sys_time: Likewise.
40904         * modules/sys_times: Likewise.
40905         * modules/sys_utsname: Likewise.
40906         * modules/sys_wait: Likewise.
40907         * modules/sysexits: Likewise.
40908         * modules/time: Likewise.
40909         * modules/unistd: Likewise.
40910         * modules/wchar: Likewise.
40911         * modules/wctype: Likewise.
40912
40913 2009-08-22  Jim Meyering  <meyering@redhat.com>
40914
40915         announce-gen: detect write failure
40916         * build-aux/announce-gen: Add Coda at end.
40917         Remove equivalent-but-more-verbose block at top.
40918
40919 2009-08-19  Akim Demaille  <demaille@gostai.com>
40920
40921         bootstrap: --help to stdout.
40922         * bootstrap (usage): Don't send --help to stderr.
40923         Use a here doc instead of a long string.
40924
40925 2009-08-21  Eric Blake  <ebb9@byu.net>
40926
40927         test-popen-safer: split from test-popen
40928         * tests/test-popen.c (main): Move...
40929         * tests/test-popen.h: ...into new file.
40930         * tests/test-popen-safer2.c: New file.
40931         * modules/popen-tests (Files): Add test-popen.h.
40932         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40933         Suggested by Bruno Haible.
40934
40935         test-fcntl-safer: split from test-open
40936         * tests/test-open.c (main): Move...
40937         * tests/test-open.h: ...into new file.
40938         * tests/test-fcntl-safer.c: New file.
40939         * modules/open-tests (Files): Add test-open.h.
40940         * modules/fcntl-safer-tests: New file.
40941         Suggested by Bruno Haible.
40942
40943         test-fopen-safer: split from test-fopen
40944         * tests/test-fopen.c (main): Move...
40945         * tests/test-fopen.h: ...into new file.
40946         * tests/test-fopen-safer.c: New file.
40947         * modules/fopen-tests (Files): Add test-fopen.h.
40948         * modules/fopen-safer-tests: New file.
40949         Suggested by Bruno Haible.
40950
40951 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40952
40953         popen-safer: test O_CLOEXEC at run-time.
40954         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40955
40956 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40957
40958         fcntl: move more flags to the header
40959         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40960         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40961         * lib/fcntl.in.h: Do both things here.
40962
40963 2009-08-21  Jim Meyering  <meyering@redhat.com>
40964
40965         consistently remove $@-t before redirecting to it
40966         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40967         * modules/alloca-opt: Likewise.
40968         * modules/byteswap: Likewise.
40969         * modules/fnmatch: Likewise.
40970         * modules/getopt-posix: Likewise.
40971         * modules/glob: Likewise.
40972         * modules/poll: Likewise.
40973         * modules/posix_spawnp-tests: Likewise.
40974         * modules/sys_socket: Likewise.
40975         * modules/sysexits: Likewise.
40976
40977 2009-08-21  Eric Blake  <ebb9@byu.net>
40978
40979         popen: simplify access to original popen
40980         * lib/popen.c (rpl_popen): No need to worry about popen being a
40981         macro.
40982         Reported by Bruno Haible.
40983
40984 2009-08-20  Eric Blake  <ebb9@byu.net>
40985
40986         build: avoid some compiler warnings
40987         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40988         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40989         type.
40990         (new_exclude_segment, excluded_file_pattern_p)
40991         (excluded_file_name_p): Reduce scope.
40992         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40993         old-style declaration.
40994
40995 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40996
40997         * tests/test-exclude1.sh: Handle Windows EOL.
40998         * tests/test-exclude2.sh: Likewise.
40999         * tests/test-exclude3.sh: Likewise.
41000         * tests/test-exclude4.sh: Likewise.
41001         * tests/test-exclude5.sh: Likewise.
41002         * tests/test-exclude6.sh: Likewise.
41003         * tests/test-exclude7.sh: Likewise.
41004
41005 2009-08-19  Akim Demaille  <demaille@gostai.com>
41006
41007         bootstrap: find sha1sum when named gsha1sum.
41008         * bootstrap (find_tool): New.
41009         ($SHA1SUM): New.
41010         Use it.
41011
41012 2009-08-20  Jim Meyering  <meyering@redhat.com>
41013
41014         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41015         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41016         expression that converts "." in a file name to "\." in the resulting
41017         regexp.  Start with a dummy statement, so that prior shell variable
41018         definitions are expanded portably.  Reported by Simon Josefsson.
41019
41020 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41021
41022         Fix polling for writeability of a screen buffer.
41023         * lib/poll.c: Distinguish input and screen buffers for the
41024         Win32 implementation.
41025         * lib/select.c: Likewise.
41026
41027 2009-08-19  Eric Blake  <ebb9@byu.net>
41028
41029         popen-safer: prevent popen from clobbering std descriptors
41030         * modules/popen-safer: New file.
41031         * lib/popen-safer.c: Likewise.
41032         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41033         * lib/stdio--.h (popen): Provide override.
41034         * lib/stdio-safer.h (popen_safer): Provide declaration.
41035         * tests/test-popen.c (includes): Partially test this.
41036         * modules/popen-safer-tests: New file, for more tests.
41037         * tests/test-popen-safer.c: Likewise.
41038         * MODULES.html.sh (file stream based Input/Output): Mention it.
41039
41040         tests: test some of the *-safer modules
41041         * modules/fopen-safer (Depends-on): Add fopen.
41042         * modules/fcntl-safer (Depends-on): Add fcntl.
41043         * modules/stdlib-safer (Depends-on): Add stdlib.
41044         (configure.ac): Set indicator.
41045         * modules/unistd-safer (configure.ac): Likewise.
41046         * modules/tmpfile-safer (configure.ac): Likewise.
41047         (Depends-on): Add tmpfile.
41048         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41049         active.
41050         * tests/test-fopen.c (includes): Test safer versions when they are
41051         in use.
41052         * tests/test-open.c (includes): Likewise.
41053
41054         popen: fix cygwin 1.5 bug when stdin closed
41055         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41056         * modules/popen: New file.
41057         * modules/popen-tests: Likewise.
41058         * tests/test-popen.c: Likewise.
41059         * m4/popen.m4: Likewise.
41060         * lib/popen.c: Likewise.
41061         * lib/stdio.in.h (popen): New declaration.
41062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41063         * modules/stdio (Makefile.am): Likewise.
41064         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41065
41066 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41067
41068         maint.mk: give full control over update-copyright exclusions
41069         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41070         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41071         (update-copyright): Don't force inclusion of top-level
41072         ChangeLog.  Don't force exclusion of all COPYING files, but make
41073         them the default exclusion instead.
41074
41075 2009-08-16  Bruno Haible  <bruno@clisp.org>
41076
41077         Fix test failures on Solaris 10.
41078         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41079         tests when Solaris iconv() is used.
41080         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41081         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41082         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41083         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41084         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41085
41086 2009-08-16  Bruno Haible  <bruno@clisp.org>
41087
41088         Fix test failures on Solaris 10.
41089         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41090         'tr' program and pass it as first argument.
41091         * tests/test-pipe-filter-gi1.sh: Likewise.
41092         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41093         program as first argument.
41094         * tests/test-pipe-filter-gi1.c (main): Likewise.
41095
41096 2009-08-16  Eric Blake  <ebb9@byu.net>
41097
41098         fpurge: fix previous commits
41099         * modules/fpurge (Makefile.am): Make replacement conditional,
41100         partially reverting 2007-04-29 change; missed in previous
41101         attempt.
41102         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41103         is missing.
41104
41105 2009-08-16  Bruno Haible  <bruno@clisp.org>
41106
41107         Clarify fpurge's effect on the file position.
41108         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41109         * tests/test-fpurge.c (main): Make a second pass for checking the file
41110         position.
41111
41112 2009-08-16  Bruno Haible  <bruno@clisp.org>
41113
41114         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41115         declaration of fpurge is missing.
41116         * tests/test-fpurge.c (main): Check that the file has not more contents
41117         than expected. Close the file before removing it.
41118
41119 2009-08-15  Eric Blake  <ebb9@byu.net>
41120
41121         fpurge: don't wrap working cygwin implementation
41122         * lib/fpurge.c (fpurge): Fix comment typo.
41123         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41124         1.7 to avoid replacement.
41125         * tests/test-fpurge.c (main): Enhance test.
41126
41127 2009-08-15  Eric Blake  <ebb9@byu.net>
41128         and Jim Meyering  <meyering@redhat.com>
41129
41130         test-update-copyright: skip if perl is insufficient
41131         * tests/test-update-copyright.sh: Failure to run maintainer tool
41132         should not cause testsuite failure on cygwin 1.5.
41133
41134 2009-08-14  Eric Blake  <ebb9@byu.net>
41135
41136         doc: mention more functions added in cygwin 1.7.0
41137         * doc/posix-headers/limits.texi (limits.h): Update for recent
41138         cygwin additions.
41139         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41140         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41141         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41142         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41143         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41144
41145 2009-08-14  Eric Blake  <ebb9@byu.net>
41146
41147         maint.mk: simplify update-copyright rule
41148         * top/maint.mk (update-copyright-local): Delete, and document how
41149         to do it in cfg.mk instead.
41150         (update-copyright-exclude-regexp): Delete, and document how to do
41151         it in .x-update-copyright instead.
41152         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41153         exclude ChangeLog.
41154
41155 2009-08-14  Bruno Haible  <bruno@clisp.org>
41156
41157         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41158
41159 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41160
41161         maint.mk: support update-copyright-env
41162         * top/maint.mk (update-copyright-env): Define place-holder.
41163         (update-copyright): Expand $(update-copyright-env) before
41164         invoking update-copyright.
41165
41166 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41167
41168         update-copyright: implement forced reformatting
41169         * build-aux/update-copyright: Implement and document
41170         UPDATE_COPYRIGHT_FORCE.
41171         * tests/test-update-copyright.sh: Test it.
41172
41173 2009-08-14  Eric Blake  <ebb9@byu.net>
41174         and Bruno Haible  <bruno@clisp.org>
41175
41176         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41177         * tests/test-locale.c: Revert previous patch related to NULL.
41178         * tests/test-stdio.c: Likewise.
41179         * tests/test-stdlib.c: Likewise.
41180         * tests/test-string.c: Likewise.
41181         * tests/test-unistd.c: Likewise.
41182         * modules/time-tests (Depends-on): Add verify.
41183         * modules/wchar-tests (Depends-on): Likewise.
41184         * tests/test-time.c: Test for NULL compliance.
41185         * tests/test-wchar.c: Likewise.
41186         * modules/locale (Depends-on): Add stddef.
41187         * modules/stdio (Depends-on): Likewise.
41188         * modules/stdlib (Depends-on): Likewise.
41189         * modules/string (Depends-on): Likewise.
41190         * modules/time (Depends-on): Likewise.
41191         * modules/unistd (Depends-on): Likewise.
41192         * modules/wchar (Depends-on): Likewise.
41193         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41194         * lib/stdlib.in.h (includes): Likewise.
41195         * lib/string.in.h (includes): Likewise.
41196         * lib/time.in.h (includes): Likewise.
41197         * lib/unistd.in.h (includes): Likewise.
41198         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41199         replaced.
41200         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41201         * m4/stddef_h.m4: New file.
41202         * modules/stddef: Likewise.
41203         * lib/stddef.in.h: Likewise.
41204         * modules/stddef-tests: Likewise.
41205         * tests/test-stddef.c: Likewise.
41206         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41207         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41208         * doc/posix-headers/locale.texi (locale.h): Likewise.
41209         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41210         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41211         * doc/posix-headers/string.texi (string.h): Likewise.
41212         * doc/posix-headers/time.texi (time.h): Likewise.
41213         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41214         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41215
41216 2009-08-14  Eric Blake  <ebb9@byu.net>
41217
41218         doc: improve git diff of texinfo files
41219         * .gitattributes: Add rule for *.texi files, with hint on how to
41220         use it.
41221         Copied from m4, and based on a report by Bruno Haible.
41222
41223 2009-08-14  Bruno Haible  <bruno@clisp.org>
41224
41225         Disable multithread support by default on Cygwin 1.5.x for real.
41226         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41227
41228 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41229
41230         update-copyright: much ado about intervals
41231         * build-aux/update-copyright: Implement and document
41232         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41233         of copyright year intervals.
41234         Also, document UPDATE_COPYRIGHT_YEAR.
41235         * tests/test-update-copyright.sh: Test it.
41236
41237         update-copyright: convert 2-digit to 4-digit years
41238         * build-aux/update-copyright: Implement and document.
41239         * tests/test-update-copyright.sh: Update.
41240
41241 2009-08-14  Jim Meyering  <meyering@redhat.com>
41242
41243         test-exclude: avoid coreutils "make check" failure
41244         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41245         just as in test-argmatch.c.
41246
41247 2009-08-13  Eric Blake  <ebb9@byu.net>
41248
41249         test-dup2: fix bad assumption
41250         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41251         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41252
41253         test-version-etc: fix CRLF portability issue
41254         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41255         recognize \r.
41256         * tests/test-argp-version-etc-1.sh: Likewise.
41257
41258         getopt: update client modules
41259         * modules/argp (Depends-on): Use getopt-gnu.
41260         * modules/git-merge-changelog (Depends-on): Likewise.
41261         * modules/long-options (Depends-on): Likewise.
41262         * modules/xstrtol (Depends-on): Likewise.
41263
41264 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41265
41266         * tests/test-version-etc.sh: Don't fail on different
41267         project/version.  Don't fail on CRLF differences.  Rewrite to use
41268         multiple -e instead of multiple sed forks, suggested by Eric Blake
41269         <ebb9@byu.net>.
41270         * tests/test-argp-version-etc-1.sh: Likewise.
41271
41272 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41273
41274         * tests/test-version-etc.sh: Don't fail on different
41275         project/version.
41276
41277 2009-08-12  Bruno Haible  <bruno@clisp.org>
41278
41279         Tests for modules 'getopt-posix', 'getopt-gnu'.
41280         * modules/getopt-posix-tests: New file.
41281         * tests/test-getopt.c: New file.
41282         * tests/test-getopt.h: New file.
41283         * tests/test-getopt_long.h: New file.
41284
41285         New modules 'getopt-posix', 'getopt-gnu'.
41286         * modules/getopt-gnu: New file, renamed from modules/getopt.
41287         * modules/getopt-posix: New file.
41288         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41289         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41290         (gl_GETOPT): Remove macro.
41291         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41292         Disable the test against BSD systems that declare optreset. Test
41293         against mingw bug. Test against lack of support of optional arguments
41294         on many platforms.
41295         * doc/glibc-headers/getopt.texi: Update module name and list of
41296         relevant platforms.
41297         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41298         'getopt-gnu' and more portability problems.
41299         * NEWS: Mention the changes.
41300
41301 2009-08-12  Bruno Haible  <bruno@clisp.org>
41302
41303         Ensure that optarg etc. get declared by <unistd.h>.
41304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41305         AC_USE_SYSTEM_EXTENSIONS.
41306         * modules/getopt (Depends-on): Add 'extensions'.
41307
41308 2009-08-12  Bruno Haible  <bruno@clisp.org>
41309
41310         Avoid test link errors.
41311         * modules/pipe-filter-ii-tests (Makefile.am): Define
41312         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41313         * modules/pipe-filter-gi-tests (Makefile.am): Define
41314         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41315         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41316
41317 2009-08-12  Bruno Haible  <bruno@clisp.org>
41318
41319         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41320         gl_GETOPT_SUBSTITUTE before.
41321         (gl_GETOPT): Use it.
41322         * m4/argp.m4 (gl_ARGP): Update.
41323         Reported by Sergey Poznyakoff.
41324
41325         * m4/getopt.m4: Reorder macros.
41326         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41327         (gl_GETOPT_SUBSTITUTE): Remove macro.
41328
41329 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41330
41331         Minor improvement in gitlog-to-changelog
41332
41333         * build-aux/gitlog-to-changelog: New option `--format' makes
41334         output format string configurable.
41335
41336 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41337
41338         Optimize exclude: use hash tables for non-wildcard patterns.
41339
41340         * lib/exclude.c: Include hash.h and mbuiter.h
41341         (struct exclude_pattern, exclude_segment): New data types.
41342         (struct exclude): Rewrite.
41343         (fnmatch_pattern_has_wildcards): New function.
41344         (new_exclude_segment, free_exclude_segment): New functions.
41345         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41346         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41347         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41348         * modules/exclude: Depend on hash and mbuiter.
41349
41350         * modules/exclude-tests: New file.
41351         * tests/test-exclude.c: New file.
41352         * tests/test-exclude1.sh: New file.
41353         * tests/test-exclude2.sh: New file.
41354         * tests/test-exclude3.sh: New file.
41355         * tests/test-exclude4.sh: New file.
41356         * tests/test-exclude5.sh: New file.
41357         * tests/test-exclude6.sh: New file.
41358         * tests/test-exclude7.sh: New file.
41359
41360 2009-08-12  Bruno Haible  <bruno@clisp.org>
41361
41362         Ensure that getopt() gets declared by <unistd.h>.
41363         * lib/unistd.in.h: Conditionally include getopt.h.
41364         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41365         Set GNULIB_UNISTD_H_GETOPT.
41366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41367         GNULIB_UNISTD_H_GETOPT.
41368         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41369
41370 2009-08-12  Bruno Haible  <bruno@clisp.org>
41371
41372         Clarify logic.
41373         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41374         gl_replace_getopt instead of GETOPT_H.
41375
41376 2009-08-12  Bruno Haible  <bruno@clisp.org>
41377
41378         * m4/getopt.m4: Add comments.
41379
41380 2009-08-12  Bruno Haible  <bruno@clisp.org>
41381
41382         Disable multithread support by default on Cygwin 1.5.x.
41383         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41384         set gl_use_threads=no if not specified otherwise.
41385
41386 2009-08-11  Bruno Haible  <bruno@clisp.org>
41387
41388         Avoid compilation error on NetBSD 5.0.
41389         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41390         * tests/test-stdio.c: Likewise.
41391         * tests/test-stdlib.c: Likewise.
41392         * tests/test-string.c: Likewise.
41393         * tests/test-unistd.c: Likewise.
41394         Reported by Greg Troxel <gdt@ir.bbn.com>
41395         at <https://savannah.gnu.org/support/?106973>.
41396
41397 2009-08-11  Bruno Haible  <bruno@clisp.org>
41398
41399         * modules/dup2-tests (Depends-on): Remove close.
41400
41401         Undo 2009-07-19 commit.
41402         * modules/acl-tests (Depends-on): Remove close.
41403         * modules/binary-io-tests (Depends-on): Likewise.
41404         * modules/closein-tests (Depends-on): Likewise.
41405         * modules/flock-tests (Depends-on): Likewise.
41406         * modules/fsync-tests (Depends-on): Likewise.
41407         * modules/lseek-tests (Depends-on): Likewise.
41408         * modules/pipe-tests (Depends-on): Likewise.
41409         * modules/posix_spawn-tests (Depends-on): Likewise.
41410         * modules/posix_spawnp-tests (Depends-on): Likewise.
41411         * modules/stat-time-tests (Depends-on): Likewise.
41412         * modules/yesno-tests (Depends-on): Likewise.
41413
41414 2009-08-10  Bruno Haible  <bruno@clisp.org>
41415
41416         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41417
41418 2009-08-10  Bruno Haible  <bruno@clisp.org>
41419
41420         Fix a gcc warning.
41421         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41422
41423 2009-08-10  Bruno Haible  <bruno@clisp.org>
41424
41425         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41426         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41427         not only the first time.
41428         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41429         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41430         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41431         is 1, not only the the first time.
41432
41433 2009-08-10  Bruno Haible  <bruno@clisp.org>
41434
41435         Make it possible to use module 'gethostname' without module 'close'.
41436         * lib/unistd.in.h (close): Evoke a link error only if
41437         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41439         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41440         * modules/unistd (Makefile.am): Substitute
41441         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41442         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41443         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41444         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41445         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41446         * modules/sys_ioctl (Makefile.am): Substitute
41447         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41448         * modules/socket (configure.ac): On native Windows, set
41449         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41450         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41451         Reported by Sam Steingold <sds@gnu.org>.
41452
41453 2009-08-10  Bruno Haible  <bruno@clisp.org>
41454
41455         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41456         * modules/ioctl (configure.ac): Likewise.
41457
41458 2009-08-10  Bruno Haible  <bruno@clisp.org>
41459
41460         Avoid collision between gnulib wrapper and libintl wrapper.
41461         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41462         already defined in intl/printf.c.
41463         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41464         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41465
41466 2009-08-09  Bruno Haible  <bruno@clisp.org>
41467
41468         Make <sys/select.h> really self-contained, also on Solaris 10.
41469         * lib/sys_select.in.h: Include <string.h>.
41470         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41471         Solaris 10 problem.
41472         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41473         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41474         Reported by Jim Meyering.
41475
41476 2009-08-09  Bruno Haible  <bruno@clisp.org>
41477
41478         Avoid warnings from 'aclocal' that are due to a use of macro name
41479         AM_XGETTEXT_OPTION that is not defined in automake.
41480         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41481         automake.
41482         * modules/error (configure.ac): Likewise.
41483         * modules/propername (configure.ac): Likewise.
41484         * modules/vasprintf (configure.ac): Likewise.
41485         * modules/verror (configure.ac): Likewise.
41486         * modules/xprintf (configure.ac): Likewise.
41487         * modules/xvasprintf (configure.ac): Likewise.
41488
41489 2009-08-08  Bruno Haible  <bruno@clisp.org>
41490
41491         Avoid compilation error in C++ mode.
41492         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41493         Reported by Sam Steingold <sds@gnu.org>.
41494
41495 2009-08-08  Bruno Haible  <bruno@clisp.org>
41496
41497         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41498         for the various Unix platforms.
41499         * doc/posix-headers/limits.texi: Update platforms list regarding
41500         HOST_NAME_MAX.
41501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41502
41503 2009-08-07  Jim Meyering  <meyering@redhat.com>
41504
41505         selinux-at: fix typo in a comment
41506         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41507         Spotted by Paolo Bonzini.
41508
41509         selinux-at: remove redundant m4 code, add documentation
41510         * modules/selinux-at (configure.ac): Remove redundant code.
41511         LIB_SELINUX is already set via the dependent module, selinux-h.
41512         (Include): Add quotes around selinux-at.h.
41513         * lib/selinux-at.h: Add documentation.
41514         Reported by Bruno Haible in
41515         http://marc.info/?l=gnulib-bug&m=124958988300749
41516
41517 2009-08-07  Bruno Haible  <bruno@clisp.org>
41518
41519         Avoid link error on MacOS X 10.3 and 10.4.
41520         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41521         on non-ELF systems.
41522         * lib/argp-pv.c (argp_program_version): Likewise.
41523         Reported by Simon Josefsson.
41524
41525 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41526
41527         * tests/test-version-etc.sh: Use $EXEEXT.
41528
41529 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41530
41531         update-copyright: update documentation to point to maint.mk
41532         * build-aux/update-copyright: Here.
41533
41534 2009-08-06  Jim Meyering  <meyering@redhat.com>
41535
41536         maint.mk: support update-copyright-local
41537         * top/maint.mk (update-copyright-local): Define place-holder.
41538         (update-copyright): Depend on $(update-copyright-local).
41539
41540 2009-08-06  Jim Meyering  <meyering@redhat.com>
41541
41542         selinux-at: new module
41543         Initially written for coreutils, this module will soon be
41544         used by findutils, too.
41545         * MODULES.html.sh [Misc]: Add selinux-at.
41546         * lib/selinux-at.h: New file, from coreutils.
41547         * lib/selinux-at.c: Likewise.
41548         * modules/selinux-at: Likewise.
41549         (License): Change from LGPL to GPL, since it depends
41550         on the GPL'd openat module.
41551
41552         doc: update README
41553         * README: Remove references to cogito.
41554         Remove cvs-repo-updating instructions from 2007.
41555         Don't imply that CVS is better if you have limited disk space.
41556
41557 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41558
41559         update-copyright: support C-style comments
41560         * build-aux/update-copyright: Implement and document.
41561         * tests/test-update-copyright.sh: Test.
41562
41563 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41564
41565         update-copyright: support omitted "(C)"
41566         * build-aux/update-copyright: Implement and document.  Also,
41567         allow variable whitespace before "(C)".
41568         * tests/test-update-copyright.sh: Test.
41569
41570 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41571
41572         update-copyright: don't trip on non-FSF copyright statements
41573         * build-aux/update-copyright: Fix so that the first correctly
41574         formatted FSF copyright statement is recognized no matter what
41575         appears before it.  Update documentation.
41576         * tests/test-update-copyright.sh: Test that.
41577
41578 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41579
41580         update-copyright: clean up code a little
41581         * build-aux/update-copyright: Append "_re" to the name of any
41582         variable holding a regular expression.
41583         Replace "old" and "new" with "stmt" in variable names.
41584         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41585         handled correctly.
41586         Format code more consistently.
41587
41588 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41589
41590         update-copyright-tests: improve portability
41591         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41592         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41593
41594 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41595
41596         update-copyright: support @copyright{} and &copy;
41597         * build-aux/update-copyright: Implement and document.
41598         * tests/test-update-copyright.sh: Test.
41599
41600 2009-08-04  Jim Meyering  <meyering@redhat.com>
41601
41602         update-copyright-tests: correctly test EOL=\r\n handling
41603         * tests/test-update-copyright.sh: Put \r at the end of some lines
41604         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41605
41606         maint.mk: make update-copyright exclusion list more configurable
41607         * top/maint.mk (update-copyright): Default to excluding COPYING,
41608         but allow an override, in case someone does want to update that file.
41609
41610         maint.mk: don't update copyright date in COPYING
41611         * top/maint.mk (update-copyright): Exclude COPYING.
41612
41613         maint.mk: add a copyright-updating rule
41614         * top/maint.mk (update-copyright): New rule.
41615         Derived from coreutils/Makefile.am.
41616
41617         update-copyright: rename some variables
41618         * build-aux/update-copyright: Rename a few variables for clarity.
41619         Tweak syntax.  List Joel E. Denny as coauthor.
41620
41621 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41622
41623         update-copyright: fix bug for 2-digit last year and add tests
41624         * build-aux/update-copyright: Fix bug.
41625         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41626         specified.
41627         * modules/update-copyright-tests: New
41628         * tests/test-update-copyright.sh: New.
41629
41630 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41631
41632         update-copyright: handle leading tabs in line prefix
41633         * build-aux/update-copyright: Count leading tabs as 8 spaces
41634         when computing margin.  This helps with the formatting of
41635         ChangeLogs, for example.
41636         Fix documentation a little.
41637
41638 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41639
41640         update-copyright: support EOL=\r\n
41641         * build-aux/update-copyright: Implement that.
41642
41643 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41644
41645         update-copyright: automatically format copyright statements
41646         * build-aux/update-copyright: Implement that.
41647         Also, be a little more predictable and safer by always failing
41648         when the full copyright format is not perfectly recognized as an
41649         unbroken whole.  Discussed at
41650         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41651         Rewrite documentation.
41652
41653 2009-08-03  Bruno Haible  <bruno@clisp.org>
41654
41655         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41656
41657 2009-08-02  Bruno Haible  <bruno@clisp.org>
41658
41659         Tests for module 'uname'.
41660         * modules/uname-tests: New file.
41661         * tests/test-uname.c: New file.
41662
41663         New module 'uname'.
41664         * lib/uname.c: New file.
41665         * m4/uname.m4: New file.
41666         * modules/uname: New file.
41667         * doc/posix-functions/uname.texi: Mention the new module.
41668
41669 2009-08-02  Bruno Haible  <bruno@clisp.org>
41670
41671         Tests for module 'sys_utsname'.
41672         * modules/sys_utsname-tests: New file.
41673         * tests/test-sys_utsname.c: New file.
41674
41675         New module 'sys_utsname'.
41676         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41677         * m4/sys_utsname_h.m4: New file.
41678         * modules/sys_utsname: New file.
41679         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41680
41681 2009-08-02  Bruno Haible  <bruno@clisp.org>
41682
41683         Implicitly initialize the sockets library.
41684         * lib/gethostname.c: Include sockets.h.
41685         (rpl_gethostname): Invoke gl_sockets_startup.
41686         * lib/socket.c: Include sockets.h.
41687         (rpl_socket): Invoke gl_sockets_startup.
41688         * modules/gethostname (Depends-on): Add sockets.
41689         * modules/socket (Depends-on): Likewise.
41690         * tests/test-poll.c: Don't include sockets.h.
41691         (main): Don't invoke gl_sockets_startup.
41692         * tests/test-select.c: Don't include sockets.h.
41693         (main): Don't invoke gl_sockets_startup.
41694
41695 2009-08-02  Bruno Haible  <bruno@clisp.org>
41696
41697         Allow multiple calls to gl_sockets_startup.
41698         * lib/sockets.c (initialized_sockets_version): New variable.
41699         (gl_sockets_startup): Do nothing if already called for this or a higher
41700         version.
41701         (gl_sockets_cleanup): Reset initialized_sockets_version.
41702
41703 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41704
41705         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41706         different project/version.
41707
41708 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41709             Bruno Haible  <bruno@clisp.org>
41710
41711         Tests for module 'pipe-filter-gi'.
41712         * modules/pipe-filter-gi-tests: New file.
41713         * tests/test-pipe-filter-gi1.sh: New file.
41714         * tests/test-pipe-filter-gi1.c: New file.
41715         * tests/test-pipe-filter-gi2.sh: New file.
41716         * tests/test-pipe-filter-gi2-main.c: New file.
41717         * tests/test-pipe-filter-gi2-child.c: New file.
41718
41719         New module 'pipe-filter-gi'.
41720         * lib/pipe-filter-gi.c: New file.
41721         * modules/pipe-filter-gi: New file.
41722
41723 2009-08-02  Bruno Haible  <bruno@clisp.org>
41724             Paolo Bonzini  <bonzini@gnu.org>
41725
41726         Tests for module 'pipe-filter-ii'.
41727         * modules/pipe-filter-ii-tests: New file.
41728         * tests/test-pipe-filter-ii1.sh: New file.
41729         * tests/test-pipe-filter-ii1.c: New file.
41730         * tests/test-pipe-filter-ii2.sh: New file.
41731         * tests/test-pipe-filter-ii2-main.c: New file.
41732         * tests/test-pipe-filter-ii2-child.c: New file.
41733
41734         New module 'pipe-filter-ii'.
41735         * lib/pipe-filter.h: New file.
41736         * lib/pipe-filter-ii.c: New file.
41737         * lib/pipe-filter-aux.h: New file.
41738         * modules/pipe-filter-ii: New file.
41739
41740 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41741
41742         * lib/gc-libgcrypt.c: Change copyright to FSF.
41743         * lib/gc-gnulib.c: Likewise.
41744
41745 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41746
41747         * lib/gethostname.c: Include limits.h.
41748
41749 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41750             Bruno Haible  <bruno@clisp.org>
41751
41752         Ensure HOST_NAME_MAX as part of the gethostname module.
41753         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41754         define also HOST_NAME_MAX.
41755         * tests/test-gethostname.c: Include <limits.h>.
41756         (main): Check also HOST_NAME_MAX.
41757         * doc/posix-headers/limits.texi: Document the mingw problem.
41758
41759 2009-08-02  Bruno Haible  <bruno@clisp.org>
41760
41761         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41762         Add comments.
41763
41764 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41765
41766         * lib/gethostname.c: Add Windows wrapper.
41767         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41768         * modules/gethostname: Depend on sys_socket & errno, for also
41769         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41770         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41771
41772 2009-07-31  Jim Meyering  <meyering@redhat.com>
41773
41774         getloadavg: fix symbol name in comment
41775         * lib/getloadavg.c: Correct a typo I introduced when adding
41776         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41777         Matt Kraai spotted the problem.
41778
41779 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41780
41781         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41782         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41783         code also if ! defined N_NAME_POINTER.
41784         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41785         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41786         but the n_name member is a 12-byte array.
41787
41788 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41789
41790         update-copyright: generalize comment handling
41791         * build-aux/update-copyright: Handle copyright statements
41792         within more comment styles.
41793         Document usage.
41794         Report any file with an external copyright holder or parse failure.
41795
41796 2009-07-29  Jim Meyering  <meyering@redhat.com>
41797
41798         mktime: correct setting of REPLACE_MKTIME
41799         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41800
41801         update-copyright: new module
41802         * modules/update-copyright: New file.
41803         * build-aux/update-copyright: New file.
41804         * MODULES.html.sh (maint+release support): Add update-copyright.
41805
41806 2009-07-27  Bruno Haible  <bruno@clisp.org>
41807
41808         Fix compilation error when <ctime> is used and mktime is replaced.
41809         * lib/time.in.h (mktime): New declaration.
41810         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41811         REPLACE_MKTIME instead of defining mktime in config.h.
41812         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41813         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41814         Reported by Ross McFarland <rwmcfa1@neces.com>.
41815
41816 2009-07-27  Bruno Haible  <bruno@clisp.org>
41817
41818         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41819         Reported by Matt Kraai <mkraai@beckman.com>.
41820
41821 2009-07-25  Jim Meyering  <meyering@redhat.com>
41822
41823         maint.mk: avoid warnings about missing files
41824         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41825         diagnostic when .prev-version does not exist.
41826         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41827         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41828         nonexistent cfg.mk.
41829         Suggestions from Simon Josefsson.
41830
41831 2009-07-25  Bruno Haible  <bruno@clisp.org>
41832
41833         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41834         defined as macros. Needed on QNX 6.4.1.
41835         Reported by Matt Kraai <mkraai@beckman.com>.
41836
41837 2009-07-23  Jim Meyering  <meyering@redhat.com>
41838
41839         maint.mk: invoke "make dist" with a working value of XZ_OPT
41840         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41841
41842 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41843
41844         Make fseeko.c compile on QNX.
41845         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41846
41847 2009-07-22  Peter Simons  <simons@cryp.to>
41848
41849         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41850         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41851         * lib/md4.h: Likewise.
41852         * lib/md5.h: Likewise.
41853         * lib/sha1.h: Likewise.
41854         * lib/sha256.h: Likewise.
41855         * lib/sha512.h: Likewise.
41856
41857         tests-sha1: don't assign literal string to 'char *' variable
41858         * tests/test-sha1.c (main): Declare locals with "const" to match
41859         attributes of the right hand side.
41860
41861 2009-07-21  Eric Blake  <ebb9@byu.net>
41862
41863         dup2: fix more mingw problems
41864         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41865         fd to itself.
41866         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41867         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41868         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41869         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41870         care of mingw bugs.
41871
41872 2009-07-21  Jim Meyering  <meyering@redhat.com>
41873
41874         vc-list-files: avoid failure when /bin/sh is dash
41875         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41876         On some Debian based systems, /bin/sh is a symlink to dash, and running
41877         this command would omit the "/" following each 'tests' prefix:
41878           dash -x build-aux/vc-list-files -C . tests
41879         That is because bash and dash work differently:
41880           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41881           bash ok
41882           dash odd
41883
41884 2009-07-21  Eric Blake  <ebb9@byu.net>
41885
41886         dup2-tests: test previous patch
41887         * modules/dup2-tests: New file.
41888         * tests/test-dup2.c: Likewise.
41889         * tests/test-open.c (main): Avoid unspecified behavior.
41890         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41891         test.
41892
41893         dup2: work around mingw and cygwin 1.5 bug
41894         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41896         * modules/unistd (Makefile.am): Substitute it.
41897         * lib/unistd.in.h (dup2): Declare the replacement.
41898         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41899         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41900         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41901         * modules/execute (Depends-on): Add dup2.
41902         * modules/fseterr (Depends-on): Likewise.
41903         * modules/pipe (Depends-on): Likewise.
41904         * modules/posix_spawn-internal (Depends-on): Likewise.
41905
41906 2009-07-21  Bruno Haible  <bruno@clisp.org>
41907
41908         * modules/.gitattributes: New file.
41909
41910 2009-07-20  Bruno Haible  <bruno@clisp.org>
41911
41912         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41913         (main): Use it.
41914
41915 2009-07-20  Eric Blake  <ebb9@byu.net>
41916
41917         test-pipe: make a bit more robust.
41918         * tests/test-pipe.c (myerr): Allow error messages regardless of
41919         what we do to stderr.
41920         (test_pipe): Rearrange to avoid deadlock.
41921         (child_main): Try a larger read, to ensure we avoided deadlock.
41922         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41923         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41924         if misused.
41925
41926 2009-07-19  Jim Meyering  <meyering@redhat.com>
41927
41928         fts: avoid false-positive cycle-detection
41929         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41930         for each new command line argument.
41931
41932 2009-07-19  Bruno Haible  <bruno@clisp.org>
41933
41934         Fix build error on mingw with the modules sys_select and unistd.
41935         * modules/acl-tests (Depends-on): Add close.
41936         * modules/binary-io-tests (Depends-on): Likewise.
41937         * modules/closein-tests (Depends-on): Likewise.
41938         * modules/flock-tests (Depends-on): Likewise.
41939         * modules/fsync-tests (Depends-on): Likewise.
41940         * modules/lseek-tests (Depends-on): Likewise.
41941         * modules/pipe-tests (Depends-on): Likewise.
41942         * modules/posix_spawn-tests (Depends-on): Likewise.
41943         * modules/posix_spawnp-tests (Depends-on): Likewise.
41944         * modules/stat-time-tests (Depends-on): Likewise.
41945         * modules/yesno-tests (Depends-on): Likewise.
41946
41947 2009-07-19  Bruno Haible  <bruno@clisp.org>
41948
41949         Unify conditionals.
41950         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41951         macros, not at the compiler macros.
41952         * lib/pipe.c: Likewise.
41953         * lib/execute.c: Likewise.
41954         * lib/spawni.c: Likewise.
41955
41956 2009-07-19  Bruno Haible  <bruno@clisp.org>
41957
41958         Fix handling of closed stdin/stdout/stderr on mingw.
41959         * lib/w32spawn.h: Include unistd.h.
41960         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41961         file descriptor with O_NOINHERIT flag.
41962         (fd_safer_noinherit): New function, based on fd-safer.c.
41963         (dup_safer_noinherit): New function, based on dup-safer.c.
41964         (undup_safer_noinherit): New function.
41965         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41966         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41967         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41968         instead of fd_safer.
41969         * tests/test-pipe.c: Include <windows.h>.
41970         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41971         result.
41972
41973         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41974         from main.
41975         (test_pipe): Pass an extra argument for disambiguation.
41976         (main): Invoke parent_main or child_main.
41977
41978         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41979         consistently.
41980
41981 2009-07-18  Eric Blake  <ebb9@byu.net>
41982
41983         test-pipe: fix mingw build
41984         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41985
41986 2009-07-18  Bruno Haible  <bruno@clisp.org>
41987
41988         * modules/pipe-tests (Makefile.am): Fix typo.
41989
41990 2009-07-18  Eric Blake  <ebb9@byu.net>
41991
41992         error: fix mingw build
41993         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41994         Reported by Bruno Haible.
41995
41996         error: avoid undefined use of stdout
41997         * lib/error.c (error, error_at_line): Check that fd 1 is open
41998         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41999         is handling faults and the close_stdout module wants to report the
42000         detection of closed stdout as an error.
42001
42002 2009-07-17  Eric Blake  <ebb9@byu.net>
42003
42004         pipe: be robust in face of closed fds
42005         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42006         should cause child to misbehave.
42007         * modules/pipe-tests: New module.
42008         * tests/test-pipe.c: New file.
42009         * tests/test-pipe.sh: New file.
42010         Reported by Akim Demaille.
42011
42012 2009-07-14  Bruno Haible  <bruno@clisp.org>
42013
42014         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42015         Reported by anonymous kc.
42016
42017 2009-07-07  Jim Meyering  <meyering@redhat.com>
42018
42019         maint.mk: don't look for translatable strings in *.m4 or *.mk
42020         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42021         when searching for translatable strings.
42022
42023 2009-07-05  Jim Meyering  <meyering@redhat.com>
42024
42025         remove superfluous parentheses in STREQ definition
42026         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42027         * lib/getugroups.c (STREQ): Likewise.
42028         * lib/fnmatch.c (STREQ): Likewise.
42029         Spotted by Bruno Haible.
42030
42031 2009-07-04  Jim Meyering  <meyering@redhat.com>
42032
42033         argv-iter: new module
42034         * MODULES.html.sh: Add argv-iter.
42035         * lib/argv-iter.c, lib/argv-iter.h: New files.
42036         * modules/argv-iter: New file.
42037         * modules/argv-iter-tests: New file.
42038         * tests/test-argv-iter.c: Test it.
42039
42040 2009-07-04  Bruno Haible  <bruno@clisp.org>
42041
42042         Fix assertion.
42043         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42044         contains more exact copies of a given entry than file2, leave the extra
42045         copies unpaired rather than aborting.
42046         Reported by Eric Blake.
42047
42048 2009-07-02  Bruno Haible  <bruno@clisp.org>
42049
42050         Speedup git-merge-changelog for git cherry-pick.
42051         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42052         (entries_mapping_get): New function, extracted from compute_mapping.
42053         (entries_mapping_reverse_get): New function.
42054         (compute_mapping): Add a 'full' argument. Return the result in a
42055         'struct entries_mapping'.
42056         (main): Update. Access the mappings through entries_mapping_get.
42057         Reported by Eric Blake.
42058
42059 2009-07-02  Bruno Haible  <bruno@clisp.org>
42060
42061         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42062         best_i.
42063
42064 2009-07-02  Bruno Haible  <bruno@clisp.org>
42065
42066         Speed up approximate search for matching ChangeLog entries.
42067         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42068         argument. Call fstrcmp_bounded instead of fstrcmp.
42069         (compute_mapping, try_split_merged_entry, main): Update callers.
42070
42071 2009-07-02  Bruno Haible  <bruno@clisp.org>
42072
42073         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42074
42075 2009-06-30  Bruno Haible  <bruno@clisp.org>
42076
42077         Reduce the number of uc_is_cased calls.
42078         * lib/unicase.h (casing_suffix_context_t): Add
42079         'first_char_except_ignorable' field.
42080         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42081         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42082         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42083         Update initializer.
42084         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42085         case-ignorable characters.
42086         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42087         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42088         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42089         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42090         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42091
42092 2009-06-30  Bruno Haible  <bruno@clisp.org>
42093
42094         Tests for module 'unicase/ignorable'.
42095         * modules/unicase/ignorable-tests: New file.
42096         * tests/unicase/test-ignorable.c: New file, generated by
42097         gen-uni-tables.
42098
42099         Tests for module 'unicase/cased'.
42100         * modules/unicase/cased-tests: New file.
42101         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42102         * tests/unicase/test-predicate-part1.h: New file, derived from
42103         tests/unictype/test-predicate-part1.h.
42104         * tests/unicase/test-predicate-part2.h: New file, same as
42105         tests/unictype/test-predicate-part2.h.
42106
42107         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42108         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42109         (output_casing_properties): New function.
42110         (main): Call it.
42111         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42112         * lib/unicase/cased.c: Include unictype/bitmap.h.
42113         (uc_is_cased): Define through a bitmap lookup.
42114         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42115         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42116         (uc_is_case_ignorable): Define through a bitmap lookup.
42117         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42118         lib/unictype/bitmap.h.
42119         (Depends-on): Add inline. Clean up.
42120         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42121         lib/unictype/bitmap.h.
42122         (Depends-on): Add inline. Clean up.
42123         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42124         recognition.
42125         * tests/unicase/test-u16-tolower.c (main): Likewise.
42126         * tests/unicase/test-u32-tolower.c (main): Likewise.
42127
42128 2009-06-30  Bruno Haible  <bruno@clisp.org>
42129
42130         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42131         * lib/unicase/u16-casemap.c: Likewise.
42132         * lib/unicase/u32-casemap.c: Likewise.
42133
42134 2009-06-29  Bruno Haible  <bruno@clisp.org>
42135
42136         Define u32_casefold as a wrapper around u32_ct_casefold.
42137         * lib/unicase/u32-casefold.c: Update.
42138         * modules/unicase/u32-casefold (Depends-on): Add
42139         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42140         unicase/empty-suffix-context. Clean up.
42141
42142         Define u16_casefold as a wrapper around u16_ct_casefold.
42143         * lib/unicase/u16-casefold.c: Update.
42144         * modules/unicase/u16-casefold (Depends-on): Add
42145         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42146         unicase/empty-suffix-context. Clean up.
42147
42148         Define u8_casefold as a wrapper around u8_ct_casefold.
42149         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42150         * lib/unicase/u8-casefold.c: Update.
42151         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42152         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42153
42154         Define u32_totitle as a wrapper around u32_ct_totitle.
42155         * lib/unicase/u32-totitle.c: Update.
42156         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42157         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42158
42159         Define u16_totitle as a wrapper around u16_ct_totitle.
42160         * lib/unicase/u16-totitle.c: Update.
42161         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42162         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42163
42164         Define u8_totitle as a wrapper around u8_ct_totitle.
42165         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42166         functions.
42167         (FUNC): Delegate to U_CT_TOTITLE.
42168         * lib/unicase/u8-totitle.c: Update.
42169         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42170         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42171
42172         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42173         invocation.
42174         * modules/unicase/u32-tolower (Depends-on): Add
42175         unicase/empty-prefix-context, unicase/empty-suffix-context.
42176
42177         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42178         invocation.
42179         * modules/unicase/u16-tolower (Depends-on): Add
42180         unicase/empty-prefix-context, unicase/empty-suffix-context.
42181
42182         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42183         * modules/unicase/u8-tolower (Depends-on): Add
42184         unicase/empty-prefix-context, unicase/empty-suffix-context.
42185
42186         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42187         invocation.
42188         * modules/unicase/u32-toupper (Depends-on): Add
42189         unicase/empty-prefix-context, unicase/empty-suffix-context.
42190
42191         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42192         invocation.
42193         * modules/unicase/u16-toupper (Depends-on): Add
42194         unicase/empty-prefix-context, unicase/empty-suffix-context.
42195
42196         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42197         * modules/unicase/u8-toupper (Depends-on): Add
42198         unicase/empty-prefix-context, unicase/empty-suffix-context.
42199
42200         New module 'unicase/u32-ct-casefold'.
42201         * lib/unicase/u32-ct-casefold.c: New file.
42202         * modules/unicase/u32-ct-casefold: New file.
42203
42204         New module 'unicase/u16-ct-casefold'.
42205         * lib/unicase/u16-ct-casefold.c: New file.
42206         * modules/unicase/u16-ct-casefold: New file.
42207
42208         New module 'unicase/u8-ct-casefold'.
42209         * lib/unicase/u8-ct-casefold.c: New file.
42210         * lib/unicase/u-ct-casefold.h: New file, derived from
42211         lib/unicase/u-casefold.h.
42212         * modules/unicase/u8-ct-casefold: New file.
42213
42214         New module 'unicase/u32-ct-totitle'.
42215         * lib/unicase/u32-ct-totitle.c: New file.
42216         * modules/unicase/u32-ct-totitle: New file.
42217
42218         New module 'unicase/u16-ct-totitle'.
42219         * lib/unicase/u16-ct-totitle.c: New file.
42220         * modules/unicase/u16-ct-totitle: New file.
42221
42222         New module 'unicase/u8-ct-totitle'.
42223         * lib/unicase/u8-ct-totitle.c: New file.
42224         * lib/unicase/u-ct-totitle.h: New file, derived from
42225         lib/unicase/u-totitle.h.
42226         * modules/unicase/u8-ct-totitle: New file.
42227
42228         New module 'unicase/u32-ct-tolower'.
42229         * lib/unicase/u32-ct-tolower.c: New file.
42230         * modules/unicase/u32-ct-tolower: New file.
42231
42232         New module 'unicase/u16-ct-tolower'.
42233         * lib/unicase/u16-ct-tolower.c: New file.
42234         * modules/unicase/u16-ct-tolower: New file.
42235
42236         New module 'unicase/u8-ct-tolower'.
42237         * lib/unicase/u8-ct-tolower.c: New file.
42238         * modules/unicase/u8-ct-tolower: New file.
42239
42240         New module 'unicase/u32-ct-toupper'.
42241         * lib/unicase/u32-ct-toupper.c: New file.
42242         * modules/unicase/u32-ct-toupper: New file.
42243
42244         New module 'unicase/u16-ct-toupper'.
42245         * lib/unicase/u16-ct-toupper.c: New file.
42246         * modules/unicase/u16-ct-toupper: New file.
42247
42248         New module 'unicase/u8-ct-toupper'.
42249         * lib/unicase/u8-ct-toupper.c: New file.
42250         * modules/unicase/u8-ct-toupper: New file.
42251
42252         Add context arguments to u*_casemap functions.
42253         * lib/unicase/unicasemap.h: Include unicase.h.
42254         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42255         suffix_context arguments.
42256         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42257         functions.
42258         (FUNC): Add prefix_context and suffix_context arguments. Use
42259         uc_is_cased and uc_is_case_ignorable.
42260         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42261         * lib/unicase/u16-casemap.c: Likewise.
42262         * lib/unicase/u32-casemap.c: Likewise.
42263         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42264         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42265         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42266         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42267         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42268         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42269
42270         New module 'unicase/u32-suffix-context'.
42271         * lib/unicase/u32-suffix-context.c: New file.
42272         * modules/unicase/u32-suffix-context: New file.
42273
42274         New module 'unicase/u16-suffix-context'.
42275         * lib/unicase/u16-suffix-context.c: New file.
42276         * modules/unicase/u16-suffix-context: New file.
42277
42278         New module 'unicase/u8-suffix-context'.
42279         * lib/unicase/u8-suffix-context.c: New file.
42280         * lib/unicase/u-suffix-context.h: New file.
42281         * modules/unicase/u8-suffix-context: New file.
42282
42283         New module 'unicase/empty-suffix-context'.
42284         * lib/unicase/empty-suffix-context.c: New file.
42285         * modules/unicase/empty-suffix-context: New file.
42286
42287         New module 'unicase/u32-prefix-context'.
42288         * lib/unicase/u32-prefix-context.c: New file.
42289         * modules/unicase/u32-prefix-context: New file.
42290
42291         New module 'unicase/u16-prefix-context'.
42292         * lib/unicase/u16-prefix-context.c: New file.
42293         * modules/unicase/u16-prefix-context: New file.
42294
42295         New module 'unicase/u8-prefix-context'.
42296         * lib/unicase/u8-prefix-context.c: New file.
42297         * lib/unicase/u-prefix-context.h: New file.
42298         * lib/unicase/context.h: New file.
42299         * modules/unicase/u8-prefix-context: New file.
42300
42301         New module 'unicase/empty-prefix-context'.
42302         * lib/unicase/empty-prefix-context.c: New file.
42303         * modules/unicase/empty-prefix-context: New file.
42304
42305         New module 'unicase/ignorable'.
42306         * lib/unicase/ignorable.c: New file.
42307         * modules/unicase/ignorable: New file.
42308
42309         New module 'unicase/cased'.
42310         * lib/unicase/caseprop.h: New file.
42311         * lib/unicase/cased.c: New file.
42312         * modules/unicase/cased: New file.
42313
42314         New functions for case mapping of substrings.
42315         * lib/unicase.h (casing_prefix_context_t): New type.
42316         (unicase_empty_prefix_context): New variable.
42317         (u8_casing_prefix_context, u16_casing_prefix_context,
42318         u32_casing_prefix_context, u8_casing_prefixes_context,
42319         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42320         declarations.
42321         (casing_suffix_context_t): New type.
42322         (unicase_empty_suffix_context): New variable.
42323         (u8_casing_suffix_context, u16_casing_suffix_context,
42324         u32_casing_suffix_context, u8_casing_suffixes_context,
42325         u16_casing_suffixes_context, u32_casing_suffixes_context,
42326         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42327         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42328         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42329         declarations.
42330
42331 2009-06-28  Jim Meyering  <meyering@redhat.com>
42332
42333         boostrap: indent only with spaces
42334         * build-aux/bootstrap: Indent only with spaces, never TABs.
42335
42336         bootstrap: split long lines
42337         * build-aux/bootstrap: Keep line length < 80.
42338
42339         bootstrap: sync from coreutils
42340         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42341         just as autoreconf does.  Verify a list of prerequisite
42342         package-name,version-number pairs if defined in bootstrap.conf.
42343         Refer to README-prereq, if prerequisites are not satisfied.
42344
42345 2009-06-27  Eric Blake  <ebb9@byu.net>
42346
42347         tests: add test for bogus NULL definition
42348         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42349         * tests/test-stdlib.c: Likewise.
42350         * tests/test-string.c: Likewise.
42351         * tests/test-locale.c: Likewise.
42352         * tests/test-unistd.c: Likewise.
42353         * modules/stdio-tests (Depends-on): Add verify.
42354         * modules/stdlib-tests (Depends-on): Likewise.
42355         * modules/string-tests (Depends-on): Likewise.
42356         * modules/locale-tests (Depends-on): Likewise.
42357         * modules/unistd-tests (Depends-on): Likewise.
42358
42359 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42360
42361         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42362         self-explaining comment.
42363         * m4/selinux-selinux-h: Update serial.
42364         (gl_LIBSELINUX): New macro, adding a warning for missing development
42365         packages to code extracted from...
42366         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42367         Add warning for missing development packages here, too.
42368
42369 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42370
42371         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42372
42373 2009-06-25  Eric Blake  <ebb9@byu.net>
42374
42375         version-etc: fix regression
42376         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42377         gcc.
42378         (version_etc): Use it, to catch bugs with trailing NULL.
42379         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42380         (version_etc_va): Fix logic bug.
42381         * modules/version-etc-tests: Add test.
42382         * tests/test-version-etc.c: New file.
42383         * tests/test-version-etc.sh: Likewise.
42384
42385 2009-06-25  Sam Steingold  <sds@gnu.org>
42386
42387         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42388         mbtowc declaration.
42389
42390 2009-06-25  Eric Blake  <ebb9@byu.net>
42391
42392         fpurge: migrate into <stdio.h>
42393         * lib/fpurge.h: Delete...
42394         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42395         * lib/fpurge.c (fpurge): Change declaring header.
42396         * modules/fpurge (Files): Drop deleted file.
42397         (Depends-on): Add stdio.
42398         (configure.ac): Set witness.
42399         * modules/stdio (Makefile.am): Support fpurge macros.
42400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42401         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42402         * lib/fflush.c: Update client.
42403         * tests/test-fpurge.c: Likewise.
42404         * NEWS: Mention the change.
42405
42406 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42407
42408         * lib/argp-version-etc.c (program_authors): Add const
42409         qualifier.
42410         * lib/version-etc.c: Fix typos in the comments.
42411         * modules/argp-version-etc: Depends on version-etc.
42412
42413 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42414
42415         argp-version-etc: new module.
42416
42417         * lib/argp-version-etc.c: New file.
42418         * lib/argp-version-etc.h: New file.
42419         * modules/argp-version-etc: New file.
42420         * modules/argp-version-etc-tests: New file.
42421         * tests/test-argp-version-etc.c: New test.
42422         * tests/test-argp-version-etc-1.sh: New test.
42423
42424 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42425
42426         Provide additional interfaces and documentation for version-etc
42427         module.
42428
42429         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42430         interfaces.
42431         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42432         prototypes.
42433
42434 2009-06-24  Bruno Haible  <bruno@clisp.org>
42435
42436         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42437         HAVE_LIB${NAME} macro.
42438         Reported by Sam Steingold <sds@gnu.org>.
42439
42440 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42441
42442         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42443         needed.
42444
42445 2009-06-21  Bruno Haible  <bruno@clisp.org>
42446
42447         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42448         work.
42449         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42450         together with LIB${NAME}, LTLIB${NAME}.
42451         Reported by Sam Steingold <sds@gnu.org>.
42452
42453 2009-06-20  Jim Meyering  <meyering@redhat.com>
42454
42455         tests: make sc_require_test_exit_idiom more generic
42456         * top/maint.mk (Exit_witness_file): New overridable variable.
42457         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42458         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42459
42460 2009-06-19  Jim Meyering  <meyering@redhat.com>
42461
42462         hash: reverse order of src/dst parameters in an internal interface
42463         * lib/hash.c (transfer_entries): Reverse order of parameters to
42464         put DST before SRC.  Adjust callers.
42465
42466         tests: test-hash: avoid wholesale duplication
42467         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42468         Instead, use a loop and add a single conditional.
42469
42470         tests: test-hash: allow seed selection via a command line argument
42471         * tests/test-hash.c (get_seed): New function.
42472         (main): Use it.
42473
42474 2009-06-19  Eric Blake  <ebb9@byu.net>
42475
42476         hash: avoid memory leak on allocation failure
42477         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42478         failure.  Factor repeated algorithm...
42479         (transfer_entries): ...into new helper routine.
42480         (hash_delete): React to hash_rehash return value.
42481
42482         hash: reduce memory pressure in hash_rehash no-op case
42483         * lib/hash.c (next_prime): Avoid overflow.
42484         (hash_initialize): Factor bucket size computation...
42485         (compute_bucket_size): ...into new helper function.
42486         (hash_rehash): Use new function and open coding to reduce memory
42487         pressure, and avoid a memory leak in USE_OBSTACK code.
42488         Reported by Jim Meyering.
42489
42490 2009-06-18  Eric Blake  <ebb9@byu.net>
42491
42492         hash: make rotation more obvious
42493         * modules/hash (Depends-on): Add bitrotate and stdint.
42494         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42495         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42496         (SIZE_MAX): Rely on headers for definition.
42497         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42498         (raw_hasher): Use rotr_sz.
42499         Suggested by Jim Meyering.
42500
42501         hash: fix memory leak in last patch
42502         * lib/hash.c (hash_rehash): Avoid memory leak.
42503
42504         hash: avoid no-op rehashing
42505         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42506
42507         hash: provide default callback functions
42508         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42509         (hash_initialize): Use them as defaults.
42510         * tests/test-hash.c (main): Test this.
42511
42512         hash: minor optimization
42513         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42514         when possible.
42515         (hash_initialize): Document this promise.
42516         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42517         * tests/test-hash.c (hash_compare_strings): Test this.
42518
42519 2009-06-18  Bruno Haible  <bruno@clisp.org>
42520
42521         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42522         going to be replaced anyway.
42523
42524 2009-06-18  Bruno Haible  <bruno@clisp.org>
42525
42526         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42527         in one place.
42528         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42529         be replaced anyway.
42530
42531 2009-06-18  Eric Blake  <ebb9@byu.net>
42532
42533         hash: check for resize before insertion
42534         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42535         threshold before insertion, so that a pathological hash_rehash
42536         that fills every bucket can still trigger another rehash.
42537
42538 2009-06-18  Jim Meyering  <meyering@redhat.com>
42539
42540         hash-tests: add a loop around the small tests
42541         * tests/test-hash.c (main): Repeat small tests with selected
42542         small initial table sizes.
42543
42544 2009-06-17  Eric Blake  <ebb9@byu.net>
42545
42546         hash: minor cleanups
42547         * lib/hash.h (hash_entry): Make opaque, by moving...
42548         * lib/hash.c (hash_entry): ...here.
42549         (hash_insert): Clarify restrictions on what can be inserted.
42550         (hash_get_next): Clarify when it is safe to remove an element
42551         during traversal.
42552         (check_tuning): Skip verification when tuning is known safe.
42553         (hash_initialize): Clarify restrictions on tuning.
42554
42555 2009-06-17  Jim Meyering  <jim@meyering.net>
42556         and Eric Blake  <ebb9@byu.net>
42557
42558         hash-tests: new module
42559         * modules/hash-tests: New file.
42560         * tests/test-hash.c: New file.
42561
42562 2009-06-17  Eric Blake  <ebb9@byu.net>
42563
42564         strstr-simple: document new module
42565         * MODULES.html.sh: Document new module.
42566
42567         strstr, strcasestr: replace on platforms with broken memchr
42568         * modules/strstr: Split into...
42569         * modules/strstr-simple: ...new module that does not care about
42570         performance, but does care about glibc bug.
42571         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42572         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42573         if platform memchr is broken, per Debian bug 521737.
42574         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42575         memchr.
42576         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42577         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42578         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42579         * modules/mountlist (Depends-on): Add strstr-simple.
42580         * modules/gen-uni-tables (Depends-on): Likewise.
42581         * modules/argz (Depends-on): Add strstr.
42582
42583 2009-06-17  Bruno Haible  <bruno@clisp.org>
42584
42585         * modules/posix_spawn-internal (Depends-on): Add errno.
42586
42587 2009-06-17  Bruno Haible  <bruno@clisp.org>
42588
42589         Define missing ESTALE on Interix 3.5.
42590         * lib/errno.in.h (ESTALE): Assign a value if missing.
42591         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42592         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42593         missing.
42594         * doc/posix-headers/errno.texi: Mention the Interix bug.
42595         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42596
42597 2009-06-15  Eric Blake  <ebb9@byu.net>
42598
42599         memchr, memchr2: add valgrind exception
42600         * lib/memchr.valgrind: New file.
42601         * lib/memchr2.valgrind: New file.
42602         * modules/memchr (Files): Distribute valgrind file.
42603         * modules/memchr2 (Files): Likewise.
42604
42605         docs: memchr is no longer obsolete
42606         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42607         * lib/string.in.h (memchr): Simplify logic.
42608
42609 2009-06-14  Jim Meyering  <meyering@redhat.com>
42610
42611         link-follow: fix the "checking..." message to not mention trailing slash
42612         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42613         never considered trailing slashes.
42614
42615 2009-06-14  Bruno Haible  <bruno@clisp.org>
42616
42617         * m4/memchr.m4: Mention also the bug on IA-64.
42618         * doc/posix-functions/memchr.texi: Likewise.
42619
42620 2009-06-12  Eric Blake  <ebb9@byu.net>
42621
42622         memchr: detect broken x86_64 and alpha implementations
42623         * modules/memchr-tests (Depends-on): Move mmap detection...
42624         * modules/memchr (Depends-on): ...here.
42625         (configure.ac): Set indicator.
42626         * lib/string.in.h (memchr): Declare replacement.
42627         * modules/string (Makefile.am): Trigger replacement.
42628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42629         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42630         bugs.
42631         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42632         * modules/getpagesize (License): Relax license.
42633
42634 2009-06-11  Bruno Haible  <bruno@clisp.org>
42635
42636         * lib/idpriv.h: Add more references.
42637
42638 2009-06-08  Bruno Haible  <bruno@clisp.org>
42639
42640         Tests for module 'idpriv-droptemp'.
42641         * modules/idpriv-droptemp-tests: New file.
42642         * tests/test-idpriv-droptemp.sh: New file.
42643         * tests/test-idpriv-droptemp.su.sh: New file.
42644         * tests/test-idpriv-droptemp.c: New file.
42645
42646         New module 'idpriv-droptemp'.
42647         * lib/idpriv-droptemp.c: New file.
42648         * modules/idpriv-droptemp: New file.
42649
42650 2009-06-08  Bruno Haible  <bruno@clisp.org>
42651
42652         Tests for module 'idpriv-drop'.
42653         * modules/idpriv-drop-tests: New file.
42654         * tests/test-idpriv-drop.sh: New file.
42655         * tests/test-idpriv-drop.su.sh: New file.
42656         * tests/test-idpriv-drop.c: New file.
42657
42658         New module 'idpriv-drop'.
42659         * lib/idpriv.h: New file.
42660         * lib-idpriv-drop.c: New file.
42661         * m4/idpriv.m4: New file.
42662         * modules/idpriv-drop: New file.
42663
42664 2009-06-08  Bruno Haible  <bruno@clisp.org>
42665
42666         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42667         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42668         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42669         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42670         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42671         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42672         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42673
42674 2009-06-08  Eric Blake  <ebb9@byu.net>
42675
42676         test-strstr: use memory fence, when possible
42677         * tests/test-strstr.c (main): Use memory fence, in order to be
42678         more likely to trigger Debian bug 521737.
42679         * modules/strstr-tests (Files): Pull in additional files.
42680
42681         memchr: no longer obsolete, for wider field testing
42682         * modules/memchr (Status, Notice): Delete, this module is no
42683         longer obsolete.
42684         * modules/vasnprintf (Depends-on): Add memchr.
42685
42686 2009-06-07  Jim Meyering  <meyering@redhat.com>
42687
42688         hash: declare some functions with the warn_unused_result attribute
42689         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42690
42691 2009-06-07  Bruno Haible  <bruno@clisp.org>
42692
42693         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42694         Reported by Eric Blake.
42695
42696 2009-06-06  Eric Blake  <ebb9@byu.net>
42697
42698         test-alignof: fix typo with long double
42699         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42700         compiler error.
42701
42702 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42703
42704         Escape non-texinfo { and }s.
42705         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42706         markup error.
42707
42708 2009-06-04  Jim Meyering  <meyering@redhat.com>
42709
42710         gitlog-to-changelog: don't infloop on an empty commit log
42711         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42712         Reported by Boris Petersen <transacid@centerim.org>.
42713
42714 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42715
42716         version-etc: extend for packagers
42717         Add three new configure options, intended for packagers:
42718           --with-packager="packager name"
42719           --with-packager-version="packager-specific version"
42720           --with-packager-bug-reports="packager bug reporting"
42721         An example with coreutils:
42722           $ ./configure \
42723             --with-packager=Gentoo \
42724             --with-packager-bug-report=http://bugs.gentoo.org/ \
42725             --with-packager-version="patchset 1.6"
42726           $ ./src/ls --version | head -n2
42727           ls (GNU coreutils) 7.1-dirty
42728           Packaged by Gentoo (patchset 1.6)
42729         Note that the bug reporting info via --help doesn't show up because
42730         coreutils uses its own custom emit_bug_reporting_address() implementation
42731         in src/system.h.  If it didn't, it'd look like:
42732           $ ./src/ls --help | tail -n4
42733           Report bugs to <bug-coreutils@gnu.org>.
42734           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42735           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42736           General help using GNU software: <http://www.gnu.org/gethelp/>.
42737         * lib/version-etc.c: Print new information, if provided.
42738         * m4/version-etc.m4: New file.
42739         * modules/version-etc (Files): Add m4/version-etc.m4.
42740         (configure.ac): Add gl_VERSION_ETC.
42741
42742 2009-05-31  Bruno Haible  <bruno@clisp.org>
42743
42744         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42745         and 'int64_t'.
42746         * modules/alignof-tests (Dependencies): Add stdint.
42747         Reported by Eric Blake.
42748
42749 2009-05-31  Bruno Haible  <bruno@clisp.org>
42750
42751         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42752         restriction due to compiler bugs.
42753         Reported by Eric Blake.
42754
42755 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42756             Bruno Haible  <bruno@clisp.org>
42757
42758         Fix test-alignof failure.
42759         * lib/alignof.h (alignof_slot): New macro.
42760         (alignof_type): New macro, with the same semantics as the previous
42761         'alignof'.
42762         (alignof): Alias to alignof_slot.
42763         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42764         check that the results are usable as constant expressions.
42765
42766 2009-05-31  Bruno Haible  <bruno@clisp.org>
42767
42768         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42769         * tests/test-memchr.c (main): Check that memchr does not read past the
42770         first occurrence of the byte.
42771         * tests/test-strstr.c (main): Update comment.
42772         Suggested by Eric Blake.
42773
42774 2009-05-30  Bruno Haible  <bruno@clisp.org>
42775
42776         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42777         detail how to use dumpbin.
42778         Reported by David Byron <dbyron@dbyron.com>.
42779
42780 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42781
42782         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42783
42784 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42785
42786         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42787
42788 2009-05-28  Bruno Haible  <bruno@clisp.org>
42789
42790         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42791         build-aux/ files.
42792
42793 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42794
42795         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42796
42797 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42798
42799         * gnulib-tool (sed_transform_main_lib_file)
42800         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42801         regexps.
42802
42803 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42804
42805         * tests/test-strstr.c: Add another self-test.
42806         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42807         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42808
42809 2009-05-23  Bruno Haible  <bruno@clisp.org>
42810
42811         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42812         change.
42813
42814 2009-05-21  Bruno Haible  <bruno@clisp.org>
42815
42816         Simplify use of mode_t varargs.
42817         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42818         uses 'mode_t' or 'int'.
42819         * lib/openat.c (openat): Likewise.
42820         * lib/open-safer.c (open_safer): Likewise.
42821         * m4/mode_t.m4: New file.
42822         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42823         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42824         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42825         * modules/open (Files): Add m4/mode_t.m4.
42826         * modules/openat (Files): Likewise.
42827         * modules/fcntl-safer (Files): Likewise.
42828         Suggested by Eric Blake.
42829
42830 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42831
42832         * doc/glibc-functions/fallocate.texi: New file.
42833         * doc/gnulib.texi: Include it.
42834
42835 2009-05-21  Eric Blake  <ebb9@byu.net>
42836             Bruno Haible  <bruno@clisp.org>
42837
42838         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42839         invocations.
42840         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42841
42842 2009-05-21  Eric Blake  <ebb9@byu.net>
42843             Bruno Haible  <bruno@clisp.org>
42844
42845         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42846         include_next. Fix of 2008-11-20 commit.
42847         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42848         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42849         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42850         NEXT_MATH_H.
42851         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42852         instead of NEXT_MATH_H.
42853
42854 2009-05-21  Bruno Haible  <bruno@clisp.org>
42855
42856         Avoid redefinition warnings for SIZE_MAX.
42857         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42858         Reported by Simon Josefsson.
42859
42860 2009-05-21  Bruno Haible  <bruno@clisp.org>
42861
42862         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42863         AC_CACHE_VAL.
42864
42865 2009-05-20  Bruno Haible  <bruno@clisp.org>
42866
42867         Make zeroptr.h work on mingw.
42868         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42869         mprotect.
42870         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42871         * modules/memchr2-tests (configure.ac): Likewise.
42872         * modules/memcmp-tests (configure.ac): Likewise.
42873         * modules/memmem-tests (configure.ac): Likewise.
42874         * modules/memrchr-tests (configure.ac): Likewise.
42875         Reported by Simon Josefsson.
42876
42877 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42878
42879         * tests/test-glob.c: Include string.h for strcmp prototype.
42880
42881 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42882
42883         * modules/getdelim (Depends-on): Add explicit stdint, although it
42884         was implicitly already pulled in via realloc-posix.
42885         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42886
42887 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42888
42889         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42890         G. Christensen" <tgc@jupiterrise.com>.
42891         * m4/sys_socket_h.m4: Check for sa_family_t.
42892         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42893         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42894         * tests/test-sys_socket.c: Check that sa_family_t works.
42895
42896 2009-05-18  Eric Blake  <ebb9@byu.net>
42897
42898         maint.mk: allow gnulib_dir in VPATH build
42899         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42900
42901 2009-05-15  Jim Meyering  <meyering@redhat.com>
42902
42903         maint.mk: Give gnulib_dir a default definition.
42904         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42905         Thus, most packages no longer need to specify this variable in cfg.mk
42906
42907 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42908
42909         rename.m4: fix typos that would make non-mingw cross-configure fail
42910         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42911
42912 2009-05-13  Eric Blake  <ebb9@byu.net>
42913
42914         mmap-anon: avoid out-of-order autoconf expansion
42915         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42916         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42917         * modules/memchr-tests (Depends-on): Add extensions.
42918         * modules/memchr2-tests (Depends-on): Add extensions.
42919         * modules/memcmp-tests (Depends-on): Add extensions.
42920         * modules/memmem-tests (Depends-on): Add extensions.
42921         * modules/memrchr-tests (Depends-on): Add extensions.
42922
42923 2009-05-13  Bruno Haible  <bruno@clisp.org>
42924
42925         Make some tests ISO C 99 compliant.
42926         * tests/zerosize-ptr.h: New file.
42927         * tests/test-memchr.c: Include zerosize-ptr.h.
42928         (main): Use a zero-size object pointer instead of NULL.
42929         * tests/test-memchr2.c: Include zerosize-ptr.h.
42930         (main): Use a zero-size object pointer instead of NULL.
42931         * tests/test-memcmp.c: Include zerosize-ptr.h.
42932         (main): Use a zero-size object pointer instead of NULL.
42933         * tests/test-memmem.c: Include zerosize-ptr.h.
42934         (main): Use a zero-size object pointer instead of NULL.
42935         * tests/test-memrchr.c: Include zerosize-ptr.h.
42936         (main): Use a zero-size object pointer instead of NULL.
42937         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42938         m4/mmap-anon.m4.
42939         (Depends-on): Add getpagesize.
42940         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42941         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42942         m4/mmap-anon.m4.
42943         (Depends-on): Add getpagesize.
42944         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42945         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42946         m4/mmap-anon.m4.
42947         (Depends-on): Add getpagesize.
42948         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42949         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42950         m4/mmap-anon.m4.
42951         (Depends-on): Add getpagesize.
42952         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42953         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42954         m4/mmap-anon.m4.
42955         (Depends-on): Add getpagesize.
42956         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42957
42958 2009-05-12  Bruno Haible  <bruno@clisp.org>
42959
42960         Tests for module 'alignof'.
42961         * modules/alignof-tests: New file.
42962         * tests/test-alignof.c: New file.
42963
42964 2009-05-12  Bruno Haible  <bruno@clisp.org>
42965
42966         Fix alignof macro.
42967         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42968         vendor compilers that are always correct.
42969
42970 2009-05-12  Bruno Haible  <bruno@clisp.org>
42971
42972         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42973         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42974         not whether its fully works.
42975
42976 2009-05-12  Bruno Haible  <bruno@clisp.org>
42977
42978         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42979
42980 2009-05-12  Jim Meyering  <meyering@redhat.com>
42981
42982         * top/maint.mk: Adjust backslash alignment.
42983
42984 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42985
42986         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42987
42988 2009-05-11  Eric Blake  <ebb9@byu.net>
42989
42990         argp: avoid undefined behavior
42991         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42992         macros.
42993
42994 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42995
42996         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42997         user.name to prevent git commit from complaining.
42998
42999 2009-05-10  Bruno Haible  <bruno@clisp.org>
43000
43001         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43002         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43003         it rewrites every file name only once.
43004         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43005
43006 2009-05-08  Bruno Haible  <bruno@clisp.org>
43007
43008         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43009         instead of 'max'.
43010
43011 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43012
43013         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43014         sockaddr_storage test.
43015
43016 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43017
43018         * modules/sys_socket (Makefile.am): Substitute
43019         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43020         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43021         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43022         * tests/test-sys_socket.c: Check sockaddr_storage.
43023
43024 2009-05-08  Bruno Haible  <bruno@clisp.org>
43025
43026         New module 'alignof'.
43027         * lib/alignof.h: New file.
43028         * modules/alignof: New file.
43029
43030 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43031             Bruno Haible  <bruno@clisp.org>
43032
43033         Fix test-file-has-acl on FreeBSD.
43034         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43035         mask is implicitly added.
43036         * tests/test-file-has-acl.c: Include <signal.h>.
43037         (main): Terminate the test after 5 seconds.
43038         * modules/acl-tests (configure.ac): Check for alarm function.
43039
43040 2009-05-04  Bruno Haible  <bruno@clisp.org>
43041
43042         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43043         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43044         * modules/errno (configure.ac): Drop AC_REQUIRE.
43045         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43046         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43047
43048 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43049
43050         * modules/glob-tests: New module.
43051         * tests/test-glob.c: Add.
43052
43053 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43054
43055         * modules/fnmatch-tests: New module.
43056         * tests/test-fnmatch.c: Add.
43057
43058 2009-05-04  Eric Blake  <ebb9@byu.net>
43059
43060         maint: make the new no-submodule-changes rule VPATH-safe
43061         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43062
43063 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43064             Bruno Haible  <bruno@clisp.org>
43065
43066         acl: Fix infinite loop on FreeBSD.
43067         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43068         of return value from acl_get_entry.
43069         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43070         Likewise.
43071
43072 2009-05-03  Bruno Haible  <bruno@clisp.org>
43073
43074         * lib/acl-internal.h (acl_entries): Clarify return value.
43075         * lib/acl_entries.c (acl_entries): Likewise.
43076
43077 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43078
43079         Bug fix in acl module.
43080         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43081
43082 2009-05-03  Bruno Haible  <bruno@clisp.org>
43083
43084         Create gperf-generated file in the source dir, not in the build dir.
43085         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43086         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43087         * modules/unicase/locale-language (unicase/locale-languages.h):
43088         Likewise.
43089         * modules/unicase/special-casing (unicase/special-casing-table.h):
43090         Likewise.
43091         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43092         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43093         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43094         Reported by Ralf Wildenhues.
43095
43096 2009-05-03  Bruno Haible  <bruno@clisp.org>
43097
43098         * modules/fnmatch (Description, configure.ac): Taken from
43099         fnmatch-posix.
43100         * modules/fnmatch-posix: Turn into a symbolic reference to the
43101         'fnmatch' module, and deprecate.
43102         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43103
43104 2009-05-03  Bruno Haible  <bruno@clisp.org>
43105
43106         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43107         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43108         Reported by Ralf Wildenhues.
43109
43110 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43111
43112         * m4/fnmatch.m4: Fix fnmatch re-define.
43113
43114 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43115
43116         priv-set: new module and tests; adapt write-any-file
43117         * lib/priv-set.c: New file.
43118         * lib/priv-set.h: New file.
43119         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43120         * lib/write-any-file.c: Simplify by using priv-set module.
43121         * m4/priv-set.m4: New file.
43122         * modules/priv-set: New file.
43123         * modules/unlinkdir: Add dependency on priv-set module.
43124         * modules/write-any-file: Likewise.
43125
43126         Tests for module 'priv-set'.
43127         * modules/priv-set-tests: New file.
43128         * tests/test-priv-set.c: New file.
43129
43130 2009-05-03  Jim Meyering  <meyering@redhat.com>
43131             Bruno Haible  <bruno@clisp.org>
43132
43133         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43134         use the converted UTF-8 variant of the name instead.
43135
43136 2009-05-03  Jim Meyering  <meyering@redhat.com>
43137
43138         tests: tighten some getdate tests
43139         * tests/test-getdate.c (main): Tighten tests: require equality,
43140         not just greater than.  Set TZ envvar to UTC0.
43141
43142 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43143
43144         getdate: correctly interpret "next monday" when run on a Monday
43145         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43146         that e.g., "next tues" (when run on a tuesday) results in a date
43147         that is one week in the future, and not today's date.
43148         I.e., add a week when the wday is the same as the current one.
43149         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43150         and earlier by Martin Bernreuther and Jan Minář.
43151         * tests/test-getdate.c (main): Check that "next DAY" is always in
43152         the future and that "last DAY" is always in the past.
43153
43154 2009-05-02  Jim Meyering  <meyering@redhat.com>
43155
43156         build: ensure that a release build fails when a submodule is unclean
43157         * top/maint.mk (no-submodule-changes): New rule.
43158         (alpha beta major): Depend on it.
43159
43160 2009-05-02  Bruno Haible  <bruno@clisp.org>
43161
43162         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43163         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43164         shell variable gl_fnmatch_required to detect which variant is
43165         requested.
43166         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43167         gl_FUNC_FNMATCH_POSIX.
43168         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43169         exclude fnmatch-posix.
43170
43171 2009-05-02  Bruno Haible  <bruno@clisp.org>
43172
43173         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43174         * modules/mbsrtowcs (License): Change to LGPLv2+.
43175         * modules/strnlen1 (License): Likewise.
43176         Reported by Simon Josefsson.
43177
43178 2009-05-02  Bruno Haible  <bruno@clisp.org>
43179
43180         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43181         "cross".
43182         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43183         gnulib-tool was called with option --source-base=lib.
43184
43185 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43186
43187         Use automake *-local hooks without commands, for extensibility.
43188         * modules/localcharset (Makefile.am): Rename install-exec-local
43189         rule to install-exec-localcharset, and make it a prerequisite of
43190         install-exec-local.  Likewise, rename the uninstall-local rule to
43191         uninstall-localcharset, and make it a prerequisite of the former.
43192
43193 2009-05-01  Bruno Haible  <bruno@clisp.org>
43194
43195         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43196         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43197         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43199         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43200         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43201         m4/locale-zh.m4, m4/codeset.m4.
43202
43203         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43204         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43205         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43206         m4/locale-zh.m4.
43207
43208         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43209         REPLACE_WCRTOMB if mbstate_t must be replaced.
43210         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43211         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43212
43213 2009-05-01  Bruno Haible  <bruno@clisp.org>
43214
43215         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43216         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43217         dngettext, dcngettext, textdomain, bindtextdomain,
43218         bind_textdomain_codeset): Undefine before redefining.
43219
43220 2009-04-30  Bruno Haible  <bruno@clisp.org>
43221
43222         Fix bug introduced on 2009-04-25.
43223         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43224         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43225         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43226         is defined.
43227         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43228         is defined.
43229         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43230         is defined.
43231         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43232
43233 2009-04-28  Bruno Haible  <bruno@clisp.org>
43234
43235         Comment tweaks.
43236         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43237         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43238         * lib/unicase.h (u*_casexfrm): Likewise.
43239         Reported by Paolo Bonzini.
43240
43241 2009-04-28  Bruno Haible  <bruno@clisp.org>
43242
43243         Fix a compilation error.
43244         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43245         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43246         Reported by Jim Meyering.
43247
43248 2009-04-27  Bruno Haible  <bruno@clisp.org>
43249
43250         New module 'libunistring'.
43251         * modules/libunistring: New file.
43252         * m4/libunistring.m4: New file.
43253         * MODULES.html.sh (Unicode string functions): Add it.
43254
43255 2009-04-27  Eric Blake  <ebb9@byu.net>
43256
43257         maint.mk: allow package-specific header to provide <config.h>
43258         * top/maint.mk (sc_require_config_h): New variable.
43259         (sc_require_config_h, sc_require_config_h_first): Use it.
43260
43261 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43262
43263         * top/maint.mk (sc_avoid_if_before_free): Except
43264         useless-if-before-free script.
43265
43266 2009-04-27  Eric Blake  <ebb9@byu.net>
43267
43268         maintainer-makefile: depend on all required helper scripts
43269         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43270         useless-if-before-free.
43271         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43272         version, rather than assuming gnulib checkout is available.
43273         Reported by Simen Josefsson.
43274
43275 2009-04-26  Bruno Haible  <bruno@clisp.org>
43276
43277         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43278         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43279         "../" or "..".
43280
43281 2009-04-26  Bruno Haible  <bruno@clisp.org>
43282
43283         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43284         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43285         AC_LIB_HAVE_LINKFLAGS.
43286
43287 2009-04-26  Bruno Haible  <bruno@clisp.org>
43288
43289         Simplify calling convention of u*_conv_from_encoding.
43290         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43291         u32_conv_from_encoding): Expect a resultbuf argument and return the
43292         result directly as a pointer.
43293         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43294         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43295         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43296         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43297         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43298         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43299         Update.
43300         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43301         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43302         * lib/vasnprintf.c (VASNPRINTF): Update.
43303         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43304         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43305         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43306         * NEWS: Mention the change.
43307
43308 2009-04-26  Bruno Haible  <bruno@clisp.org>
43309
43310         Simplify calling convention of u*_conv_to_encoding.
43311         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43312         u32_conv_to_encoding): Expect a resultbuf argument and return the
43313         result directly as a pointer.
43314         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43315         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43316         freeing scaled_offsets if mem_iconveha failed.
43317         * lib/unicase/u-casexfrm.h (FUNC): Update.
43318         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43319         * lib/vasnprintf.c (VASNPRINTF): Update.
43320         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43321         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43322         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43323         * NEWS: Mention the change.
43324
43325 2009-04-26  Bruno Haible  <bruno@clisp.org>
43326
43327         Avoid test failures on AIX and OSF/1.
43328         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43329         malloc(0).
43330         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43331         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43332         Likewise.
43333         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43334         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43335         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43336         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43337         * doc/posix-functions/malloc.texi: Document the portability problem
43338         related to malloc(0).
43339
43340 2009-04-26  Bruno Haible  <bruno@clisp.org>
43341
43342         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43343         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43344         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43345
43346 2009-04-25  Bruno Haible  <bruno@clisp.org>
43347
43348         Avoid link error when creating a namespace clean library.
43349         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43350         as macro with arguments if already defined as an alias.
43351         * lib/signbitf.c (gl_signbitf): Don't undefine.
43352         * lib/signbitd.c (gl_signbitd): Don't undefine.
43353         * lib/signbitl.c (gl_signbitl): Don't undefine.
43354
43355 2009-04-25  Jim Meyering  <meyering@redhat.com>
43356
43357         vc-list-files: fix another quoting bug
43358         * build-aux/vc-list-files: Avoid sed backslash expansion
43359         of pathological directory names.
43360
43361 2009-04-25  Eric Blake  <ebb9@byu.net>
43362
43363         vc-list-files: fix shell quoting error
43364         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43365         timestamp.
43366
43367 2009-04-25  Jim Meyering  <meyering@redhat.com>
43368
43369         vc-list-files: restore lost functionality with subdir argument
43370         * build-aux/vc-list-files: When given a non-"." sub-directory
43371         argument, substitute the $dir/ prefix back onto each resulting name.
43372         Otherwise, coreutils' root_tests check would fail.
43373
43374 2009-04-24  Eric Blake  <ebb9@byu.net>
43375
43376         vc-list-files: ignore git symlinks
43377         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43378         than ls-files, to ignore git symlinks.
43379
43380         maint.mk: import improvements from m4
43381         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43382         (move_if_change): Delete unused macro.
43383         (news-date-check, vc-diff-check): Support VPATH builds.
43384         (announcement): Likewise.  Split --bootstrap-tools list...
43385         (boostrap-tools): ...into separate list, which can be overridden
43386         in cfg.mk.
43387         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43388         requiring dependency on useless-if-before-free module.
43389         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43390         Support VPATH builds.
43391
43392 2009-04-24  Jim Meyering  <meyering@redhat.com>
43393
43394         maint.mk: remove coreutils-specific rules and variables
43395         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43396         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43397         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43398
43399         maint.mk: remove obsolete rule
43400         * top/maint.mk (rel-check): Remove rule.
43401         (WGET, WGETFLAGS): Remove now-unused variables.
43402
43403 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43404
43405         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43406         consistency.
43407
43408         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43409         '$(PATH_SEPARATOR)' instead of ':'.
43410
43411 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43412
43413         * lib/getopt1.c (main): Use 'const' for static array.
43414
43415 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43416
43417         * top/maint.mk: Sync with coreutils.
43418         * NEWS: Explain incompatibilities.
43419
43420 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43421             Bruno Haible  <bruno@clisp.org>
43422
43423         Fix cross-compilation results.
43424         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43425         statement, as third argument of AC_TRY_RUN.
43426         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43427         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43428         Likewise.
43429         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43430         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43431         Likewise.
43432         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43433         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43434         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43435
43436 2009-04-20  Bruno Haible  <bruno@clisp.org>
43437
43438         Avoid test failure on mingw.
43439         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43440
43441 2009-04-20  Bruno Haible  <bruno@clisp.org>
43442
43443         Avoid compilation error on mingw.
43444         * modules/localename-tests (Depends-on): Add locale.
43445
43446 2009-04-19  Bruno Haible  <bruno@clisp.org>
43447
43448         Support for building a shared library on Windows platforms.
43449         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43450         (main): Test the presence of UNINORM_NFC here.
43451         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43452         (main): Test the presence of UNINORM_NFD here.
43453         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43454         (main): Test the presence of UNINORM_NFKC here.
43455         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43456         (main): Test the presence of UNINORM_NFKD here.
43457
43458 2009-04-19  Bruno Haible  <bruno@clisp.org>
43459
43460         Avoid a compiler warning.
43461         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43462         Change type of variable 'sequence'.
43463
43464 2009-04-19  Bruno Haible  <bruno@clisp.org>
43465
43466         * modules/configmake (Makefile.am): When the contents of configmake.h
43467         does not change, arrange to preserve its modification time.
43468
43469 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43470
43471         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43472         gettext domain.
43473
43474 2009-04-16  Jim Meyering  <meyering@redhat.com>
43475
43476         useless-if-before-free: improve conversion code
43477         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43478         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43479
43480 2009-04-14  Bruno Haible  <bruno@clisp.org>
43481
43482         * modules/fcntl (Depends-on): Add extensions.
43483         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43484
43485 2009-04-12  Ben Pfaff  <blp@gnu.org>
43486
43487         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43488         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43489
43490 2009-03-20  Ben Pfaff  <blp@gnu.org>
43491
43492         Make rename replace existing destinations on Windows.
43493         * m4/rename.m4: Add test for Mingw.
43494         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43495         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43496         * doc/posix-functions/rename.texi: Document.
43497
43498 2009-04-10  Bruno Haible  <bruno@clisp.org>
43499
43500         New include file "iconveh.h".
43501         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43502         * lib/striconveh.h: Include it.
43503         (enum iconv_ilseq_handler): Remove definition.
43504         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43505         striconveh.h.
43506         * lib/striconveha.c: Include striconveh.h.
43507         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43508         * modules/striconveh (Files): Add lib/iconveh.h.
43509         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43510         lib/striconveh.h.
43511
43512 2009-04-10  Bruno Haible  <bruno@clisp.org>
43513
43514         * lib/uniconv.h: Update comment.
43515
43516 2009-04-10  Bruno Haible  <bruno@clisp.org>
43517
43518         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43519         always.
43520         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43521         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43522         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43523         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43524         "unistring-notinline.h", so that the function gets defined always.
43525         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43526         * lib/unistr/u8-uctomb.c: Likewise.
43527         * lib/unistr/u16-mbtouc.c: Likewise.
43528         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43529         * lib/unistr/u16-uctomb.c: Likewise.
43530         * lib/unistr/u32-mbtouc.c: Likewise.
43531         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43532         * lib/unistr/u32-uctomb.c: Likewise.
43533
43534 2009-04-10  Bruno Haible  <bruno@clisp.org>
43535
43536         Mark 'utime' obsolete.
43537         * modules/utime (Status, Notice): New sections.
43538         Suggested by Jim Meyering.
43539
43540         Fix cross-compile guess for utime test.
43541         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43542         autoconf.
43543         * doc/posix-functions/utime.texi: Give more precisions.
43544         Reported by Jan <ipif@ymail.com>.
43545
43546 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43547
43548         filevercmp: correct today's change
43549         * lib/filevercmp.c: Also handle coreutils' test inputs.
43550         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43551
43552         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43553         for reporting it.
43554         * lib/filevercmp.c: Special handle for "", "." and "..".
43555         * tests/test-filevercmp.c: Enlarge the set suite.
43556
43557 2009-04-07  Jim Meyering  <meyering@redhat.com>
43558
43559         useless-if-before-free: show how to remove braced useless free, too
43560         * build-aux/useless-if-before-free: still only in a comment, though.
43561
43562 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43563
43564         maint.mk: import changes to syntax-check macros from coreutils
43565         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43566         Use them in the relevant macros.
43567
43568 2009-04-06  Bruno Haible  <bruno@clisp.org>
43569
43570         Fix unportable use of bit-fields.
43571         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43572         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43573         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43574
43575 2009-04-06  Bruno Haible  <bruno@clisp.org>
43576
43577         Avoid test failures on AIX and OSF/1.
43578         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43579         that malloc(0) = NULL.
43580         * tests/unicase/test-u8-tolower.c (check): Likewise.
43581         * tests/unicase/test-u8-totitle.c (check): Likewise.
43582         * tests/unicase/test-u8-toupper.c (check): Likewise.
43583         * tests/unicase/test-u16-casefold.c (check): Likewise.
43584         * tests/unicase/test-u16-tolower.c (check): Likewise.
43585         * tests/unicase/test-u16-totitle.c (check): Likewise.
43586         * tests/unicase/test-u16-toupper.c (check): Likewise.
43587         * tests/unicase/test-u32-casefold.c (check): Likewise.
43588         * tests/unicase/test-u32-tolower.c (check): Likewise.
43589         * tests/unicase/test-u32-totitle.c (check): Likewise.
43590         * tests/unicase/test-u32-toupper.c (check): Likewise.
43591         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43592         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43593         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43594         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43595         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43596         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43597         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43598         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43599         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43600         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43601         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43602         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43603
43604 2009-04-05  Bruno Haible  <bruno@clisp.org>
43605
43606         Work around an autoconf limitation.
43607         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43608         comment line if it would be longer than 3 KB.
43609
43610 2009-04-05  Bruno Haible  <bruno@clisp.org>
43611
43612         Avoid test failure with libiconv-1.13.
43613         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43614         of the expected test results.
43615
43616 2009-04-05  Bruno Haible  <bruno@clisp.org>
43617
43618         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43619         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43620         that it should be installed.
43621
43622 2009-04-05  Bruno Haible  <bruno@clisp.org>
43623
43624         * gnulib-tool: New option --copy-file.
43625         (func_usage): Document it.
43626         (func_dest_tmpfilename): Moved out of func_import.
43627         (func_add_file, func_update_file): New functions, extracted from
43628         func_import.
43629         (func_import): Update.
43630
43631 2009-04-05  Karl Berry  <karl@gnu.org>
43632
43633         * README: prominently mention gnulib-tool.
43634         Rearrange sections so getting the code is near the top.
43635
43636 2009-04-05  Bruno Haible  <bruno@clisp.org>
43637
43638         * lib/unicase.h: Mention u*_cmp2.
43639         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43640         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43641         * lib/unicase/ulc-casecmp.c: Likewise.
43642         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43643         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43644         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43645         unistr/u8-cmp.
43646         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43647         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43648         unistr/u16-cmp.
43649         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43650         unistr/u32-cmp.
43651
43652         * lib/uninorm.h: Mention u*_cmp2.
43653         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43654         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43655         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43656         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43657         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43658         unistr/u8-cmp.
43659         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43660         unistr/u16-cmp.
43661         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43662         unistr/u32-cmp.
43663
43664         New module 'unistr/u32-cmp2'.
43665         * lib/unistr/u32-cmp2.c: New file.
43666         * modules/unistr/u32-cmp2: New file.
43667
43668         New module 'unistr/u16-cmp2'.
43669         * lib/unistr/u16-cmp2.c: New file.
43670         * modules/unistr/u16-cmp2: New file.
43671
43672         New module 'unistr/u8-cmp2'.
43673         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43674         * lib/unistr/u8-cmp2.c: New file.
43675         * lib/unistr/u-cmp2.h: New file.
43676         * modules/unistr/u8-cmp2: New file.
43677
43678 2009-04-05  Bruno Haible  <bruno@clisp.org>
43679
43680         * lib/unictype.h (uc_property_is_valid): New macro.
43681         * tests/unictype/test-pr_byname.c (main): Use it.
43682
43683         * lib/unistr.h: Doc fixes.
43684         * lib/uniconv.h: Doc fixes.
43685         * lib/unictype.h: Doc fixes.
43686
43687 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43688
43689         Port coreutils 7.2 to Solaris 8.
43690
43691         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43692         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43693         for Solaris 8.  This is a bit of a hack, as it means it's the
43694         caller's responsibility to add -lnsl if needed, but most likely it
43695         won't be needed since only getaddrinfo uses this and getaddrinfo
43696         isn't needed on Solaris 8.
43697
43698         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43699         problem to Solaris 8 encountered with coreutils 7.2, which
43700         resulted in a message "fnmatch.c:292: warning: passing argument 4
43701         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43702         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43703
43704 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43705
43706         * m4/ld-version-script.m4: Add FIXME comment.
43707
43708 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43709
43710         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43711         SOVERSION variable.
43712
43713 2009-04-02  Bruno Haible  <bruno@clisp.org>
43714
43715         * Makefile (info, html, dvi, pdf): Combine the rules.
43716         Suggested by Jim Meyering.
43717
43718 2009-04-01  Bruno Haible  <bruno@clisp.org>
43719
43720         * Makefile (info, html, dvi, pdf): New targets.
43721         Reported by Reuben Thomas <rrt@sc3d.org>.
43722
43723 2009-04-01  Bruno Haible  <bruno@clisp.org>
43724
43725         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43726         can be put into PATH.
43727         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43728
43729 2009-04-01  Bruno Haible  <bruno@clisp.org>
43730
43731         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43732
43733 2009-04-01  Bruno Haible  <bruno@clisp.org>
43734
43735         Rename module 'visibility'.
43736         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43737         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43738         * doc/gnulib.texi: Update.
43739         * MODULES.html.sh (Misc): Update.
43740         * NEWS: Mention the change.
43741
43742 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43743
43744         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43745         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43746         Eric Blake <ebb9@byu.net> for review.
43747         * MODULES.html.sh: Add lib-msvc-compat.
43748         * doc/gnulib.texi: Link to new section.
43749         * m4/ld-output-def.m4: New file.
43750         * doc/ld-output-def.texi: New file.
43751
43752 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43753
43754         Rename ld-version-script to lib-symbol-versions.  Suggested by
43755         Bruno Haible <bruno@clisp.org>.
43756         * modules/ld-version-script: Renamed to lib-symbol-versions.
43757         * doc/ld-version-script.texi: Fix module name.
43758         * MODULES.html.sh: Add lib-symbol-versions.
43759
43760 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43761
43762         * modules/u64-tests: New file.
43763         * tests/test-u64.c: New file.
43764
43765 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43766
43767         * MODULES.html.sh: Mention u64.
43768         * modules/u64: New module.
43769         * modules/crypto/sha512: Depend on u64 module instead of providing
43770         u64.h.
43771
43772 2009-03-27  Eric Blake  <ebb9@byu.net>
43773
43774         test-strerror: make debugging EAI_SYSTEM easier
43775         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43776         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43777         failure was EAI_SYSTEM.
43778
43779 2009-03-25  Bruno Haible  <bruno@clisp.org>
43780
43781         Fix a problem with --enable-relocatable on Solaris 7.
43782         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43783         since 2008-02-24.
43784
43785 2009-03-25  Eric Blake  <ebb9@byu.net>
43786
43787         test-sockets: avoid gcc warning
43788         * tests/test-sockets.c (main): Silence compiler warning.
43789
43790 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43791
43792         New modules nproc, pthread, contributed by Glen Lenker.
43793
43794         * MODULES.html.sh: Add pthread, nproc.
43795         * lib/nproc.c: New file.
43796         * lib/nproc.h: New file.
43797         * lib/pthread.in.h: New file.
43798         * m4/pthread.m4: New file.
43799         * modules/nproc: New file.
43800         * modules/pthread: New file.
43801
43802 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43803
43804         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43805         New variable.
43806
43807 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43808
43809         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43810         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43811         * tests/test-filevercmp.c: Add tests for backup suffixes.
43812
43813 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43814
43815         * modules/stdlib (Depends-on): Add stdint, needed when defining
43816         struct random_data on, for example, HP-UX 10.20.  Reported by
43817         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43818
43819 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43820
43821         * lib/readline.c (readline): Call fflush on stdout after printing
43822         prompt.
43823
43824 2009-03-20  Bruno Haible  <bruno@clisp.org>
43825
43826         Remove dependency from 'close' module to -lws2_32 on native Windows.
43827         * lib/close-hook.h: New file.
43828         * lib/close-hook.c: New file.
43829         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43830         w32sock.h.
43831         (_gl_close_fd_maybe_socket): Remove function.
43832         (rpl_close): Invoke execute_all_close_hooks instead of
43833         _gl_close_fd_maybe_socket.
43834         * lib/sockets.c: Include close-hook.h, w32sock.h.
43835         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43836         (close_sockets_hook): New variable.
43837         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43838         (gl_sockets_cleanup): Unregister it.
43839         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43840         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43841         * modules/close-hook: New file.
43842         * modules/close (Files): Remove lib/w32sock.h.
43843         (Depends-on): Add close-hook.
43844         (Link): Remove section.
43845         * modules/sockets (Files): Add lib/w32sock.h.
43846         (Depends-on): Add close-hook.
43847         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43848         invocation.
43849         * NEWS: Mention that LIB_CLOSE is gone.
43850
43851 2009-03-23  Eric Blake  <ebb9@byu.net>
43852
43853         signal-tests: test previous patch
43854         * tests/test-signal.c: New file.
43855         * modules/signal-tests: Likewise.
43856
43857         signal.h: always support 'volatile sig_atomic_t'
43858         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43859         (gl_SIGNAL_H_DEFAULTS): Add a default.
43860         * modules/signal (Makefile.am): Substitute if needed.
43861         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43862         users can blindly add volatile.
43863         * doc/posix-headers/signal.texi (signal.h): Document it.
43864         Reported by Matthew Woehlke.
43865
43866 2009-03-23  Jim Meyering  <meyering@redhat.com>
43867
43868         pathmax: PATH_MAX: use pathconf only when available
43869         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43870         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43871         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43872         This avoids a link failure in a PSP cross-compilation environment
43873         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43874
43875         * lib/vasnprintf.c (divide): Fix typo in comment.
43876
43877 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43878
43879         * gnulib-tool (func_filter_filelist): Fix comment.
43880
43881 2009-03-20  Bruno Haible  <bruno@clisp.org>
43882
43883         Make sockets.h self-contained.
43884         * lib/sockets.c: Include sockets.h first.
43885         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43886
43887 2009-03-19  Eric Blake  <ebb9@byu.net>
43888
43889         doc: mention more functions added in cygwin 1.7.0
43890         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43891         addition.
43892         * doc/posix-functions/log2f.texi: Likewise.
43893
43894 2009-03-19  Jim Meyering  <meyering@redhat.com>
43895
43896         fsusage: avoid syntax error due to statement-before-declaration
43897         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43898         after all declarations.  Reported by Matthew Woehlke in
43899         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43900
43901 2009-03-18  Eric Blake  <ebb9@byu.net>
43902
43903         build-aux/compile: sync from automake
43904         * build-aux/compile: New file, from automake.
43905         * config/srclist.txt: Mention build-aux/compile.
43906
43907 2009-03-17  Bruno Haible  <bruno@clisp.org>
43908
43909         * lib/git-merge-changelog.c: Fix typo in comment.
43910         Reported by Reuben Thomas <rrt@sc3d.org>.
43911
43912 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43913
43914         * m4/regex.m4: update and improve help for
43915         --without-included-regex.
43916
43917 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43918
43919         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43920         failure on missing include files.
43921
43922 2009-03-17  Eric Blake  <ebb9@byu.net>
43923
43924         doc: mention more functions added in cygwin 1.7.0
43925         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43926         addition.
43927         * doc/posix-functions/fwscanf.texi: Likewise.
43928         * doc/posix-functions/swprintf.texi: Likewise.
43929         * doc/posix-functions/swscanf.texi: Likewise.
43930         * doc/posix-functions/vfwprintf.texi: Likewise.
43931         * doc/posix-functions/vfwscanf.texi: Likewise.
43932         * doc/posix-functions/vswprintf.texi: Likewise.
43933         * doc/posix-functions/vswscanf.texi: Likewise.
43934         * doc/posix-functions/vwprintf.texi: Likewise.
43935         * doc/posix-functions/vwscanf.texi: Likewise.
43936         * doc/posix-functions/wcscasecmp.texi: Likewise.
43937         * doc/posix-functions/wcsdup.texi: Likewise.
43938         * doc/posix-functions/wcsftime.texi: Likewise.
43939         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43940         * doc/posix-functions/wprintf.texi: Likewise.
43941         * doc/posix-functions/wscanf.texi: Likewise.
43942         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43943
43944 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43945
43946         maint.mk: really add $(AM_MAKEFLAGS)
43947         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43948         was inadvertently omitted in the last commit.
43949         Spotted by Bruno Haible.
43950
43951         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43952         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43953         $(AM_MAKEFLAGS)' rather than plain `make'.
43954
43955         gnulib-tool: execute $MAKE not make
43956         * gnulib-tool: Default $MAKE to 'make'.
43957         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43958         than make.  Initialize $MAKE in the do-autobuild script.
43959
43960         gnulib-tool: use $MAKE not make in generated files
43961         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43962         make, in generated files.  Initialize $MAKE in the do-autobuild
43963         script.
43964
43965         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43966
43967         GNUmakefile: disable parallelism only for multiple, recursive targets
43968         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43969         additions in the Makefile.
43970         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43971         by Automake.
43972         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43973         are listed on the command line and at least one of them is
43974         listed in $(ALL_RECURSIVE_TARGETS).
43975
43976 2009-03-14  Bruno Haible  <bruno@clisp.org>
43977
43978         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43979         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43980         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43981         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43982         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43983         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43984         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43985         unistr/u8-uctomb.
43986         * modules/unistr/u8-strchr (Depends-on): Likewise.
43987         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43988         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43989         unistr/u16-uctomb.
43990         * modules/unistr/u16-strchr (Depends-on): Likewise.
43991         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43992
43993 2009-03-12  Bruno Haible  <bruno@clisp.org>
43994
43995         Work around select() bug on Interix 3.5.
43996         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43997         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43998         * m4/select.m4: New file.
43999         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44000         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44001         * modules/select (Files): Add m4/select.m4.
44002         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44003         * modules/nanosleep (Depends-on): Add select.
44004         * modules/poll (Depends-on): Likewise.
44005         * doc/posix-functions/select.texi: Mention the Interix bug.
44006         Reported by Markus Duft <mduft@gentoo.org>.
44007
44008         * lib/select.c: Renamed from lib/winsock-select.c.
44009         * modules/select (Files): Add lib/select.c, remove
44010         lib/winsock-select.c.
44011         (configure.ac): Update.
44012
44013 2009-03-12  Jim Meyering  <meyering@redhat.com>
44014
44015         avoid gcc warnings about unused macro definitions
44016         * lib/readtokens.c (STREQ): Remove unused definition.
44017         * lib/xmalloc.c (SIZE_MAX): Likewise.
44018         * lib/openat-die.c (N_): Likewise.
44019         * lib/mountlist.c (SIZE_MAX): Remove definition.
44020         Instead, include <stdint.h>.
44021         * lib/readutmp.c: Likewise.
44022         * modules/readutmp (Depends-on): Add stdint.
44023         * modules/mountlist (Depends-on): Add stdint.
44024         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44025
44026 2009-03-10  Bruno Haible  <bruno@clisp.org>
44027
44028         Tests for module 'mbmemcasecoll'.
44029         * modules/mbmemcasecoll-tests: New file.
44030         * tests/test-mbmemcasecoll1.sh: New file.
44031         * tests/test-mbmemcasecoll2.sh: New file.
44032         * tests/test-mbmemcasecoll3.sh: New file.
44033         * tests/test-mbmemcasecoll.c: New file.
44034
44035         New module 'mbmemcasecoll'.
44036         * lib/mbmemcasecoll.h: New file.
44037         * lib/mbmemcasecoll.c: New file.
44038         * modules/mbmemcasecoll: New file.
44039
44040         * tests/test-mbmemcasecmp.h: New file, extracted from
44041         tests/test-mbmemcasecmp.c.
44042         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44043         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44044         (main): Update.
44045         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44046
44047 2009-03-09  Bruno Haible  <bruno@clisp.org>
44048
44049         Tests for module 'mbmemcasecmp'.
44050         * modules/mbmemcasecmp-tests: New file.
44051         * tests/test-mbmemcasecmp1.sh: New file.
44052         * tests/test-mbmemcasecmp2.sh: New file.
44053         * tests/test-mbmemcasecmp3.sh: New file.
44054         * tests/test-mbmemcasecmp.c: New file.
44055
44056         New module 'mbmemcasecmp'.
44057         * lib/mbmemcasecmp.h: New file.
44058         * lib/mbmemcasecmp.c: New file.
44059         * modules/mbmemcasecmp: New file.
44060
44061 2009-03-09  Bruno Haible  <bruno@clisp.org>
44062
44063         Tests for module 'unicase/ulc-casecoll'.
44064         * modules/unicase/ulc-casecoll-tests: New file.
44065         * tests/unicase/test-ulc-casecoll1.sh: New file.
44066         * tests/unicase/test-ulc-casecoll2.sh: New file.
44067         * tests/unicase/test-ulc-casecoll.c: New file.
44068
44069         New module 'unicase/ulc-casecoll'.
44070         * lib/unicase.h (ulc_casecoll): New declaration.
44071         * lib/unicase/ulc-casecoll.c: New file.
44072         * modules/unicase/ulc-casecoll: New file.
44073
44074         New module 'unicase/ulc-casexfrm'.
44075         * lib/unicase.h (ulc_casexfrm): New declaration.
44076         * lib/unicase/ulc-casexfrm.c: New file.
44077         * modules/unicase/ulc-casexfrm: New file.
44078
44079 2009-03-09  Bruno Haible  <bruno@clisp.org>
44080
44081         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44082         invocations.
44083
44084         * m4/mbscasecmp.m4: Remove file.
44085         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44086         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44087
44088         * m4/mbscasestr.m4: Remove file.
44089         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44090         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44091
44092         * m4/mbschr.m4: Remove file.
44093         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44094         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44095
44096         * m4/mbscspn.m4: Remove file.
44097         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44098         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44099
44100         * m4/mbslen.m4: Remove file.
44101         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44102         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44103
44104         * m4/mbsncasecmp.m4: Remove file.
44105         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44106         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44107
44108         * m4/mbsnlen.m4: Remove file.
44109         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44110         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44111
44112         * m4/mbspbrk.m4: Remove file.
44113         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44114         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44115
44116         * m4/mbspcasecmp.m4: Remove file.
44117         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44118         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44119
44120         * m4/mbsrchr.m4: Remove file.
44121         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44122         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44123
44124         * m4/mbssep.m4: Remove file.
44125         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44126         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44127
44128         * m4/mbsspn.m4: Remove file.
44129         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44130         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44131
44132         * m4/mbsstr.m4: Remove file.
44133         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44134         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44135
44136         * m4/mbstok_r.m4: Remove file.
44137         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44138         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44139
44140         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44141
44142         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44143         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44144
44145         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44146
44147 2009-03-08  Bruno Haible  <bruno@clisp.org>
44148
44149         Tests for module 'unicase/ulc-casecmp'.
44150         * modules/unicase/ulc-casecmp-tests: New file.
44151         * tests/unicase/test-ulc-casecmp1.sh: New file.
44152         * tests/unicase/test-ulc-casecmp2.sh: New file.
44153         * tests/unicase/test-ulc-casecmp.c: New file.
44154
44155         New module 'unicase/ulc-casecmp'.
44156         * lib/unicase.h (ulc_casecmp): New declaration.
44157         * lib/unicase/ulc-casecmp.c: New file.
44158         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44159         'const SRC_UNIT *'.
44160         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44161         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44162         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44163         * modules/unicase/ulc-casecmp: New file.
44164
44165         Tests for module 'unicase/u32-is-cased'.
44166         * modules/unicase/u32-is-cased-tests: New file.
44167         * tests/unicase/test-u32-is-cased.c: New file.
44168
44169         Tests for module 'unicase/u16-is-cased'.
44170         * modules/unicase/u16-is-cased-tests: New file.
44171         * tests/unicase/test-u16-is-cased.c: New file.
44172
44173         Tests for module 'unicase/u8-is-cased'.
44174         * modules/unicase/u8-is-cased-tests: New file.
44175         * tests/unicase/test-u8-is-cased.c: New file.
44176         * tests/unicase/test-is-cased.h: New file.
44177
44178         New module 'unicase/u32-is-cased'.
44179         * lib/unicase/u32-is-cased.c: New file.
44180         * modules/unicase/u32-is-cased: New file.
44181
44182         New module 'unicase/u16-is-cased'.
44183         * lib/unicase/u16-is-cased.c: New file.
44184         * modules/unicase/u16-is-cased: New file.
44185
44186         New module 'unicase/u8-is-cased'.
44187         * lib/unicase/u8-is-cased.c: New file.
44188         * lib/unicase/u-is-cased.h: New file.
44189         * modules/unicase/u8-is-cased: New file.
44190
44191         Tests for module 'unicase/u32-is-casefolded'.
44192         * modules/unicase/u32-is-casefolded-tests: New file.
44193         * tests/unicase/test-u32-is-casefolded.c: New file.
44194
44195         Tests for module 'unicase/u16-is-casefolded'.
44196         * modules/unicase/u16-is-casefolded-tests: New file.
44197         * tests/unicase/test-u16-is-casefolded.c: New file.
44198
44199         Tests for module 'unicase/u8-is-casefolded'.
44200         * modules/unicase/u8-is-casefolded-tests: New file.
44201         * tests/unicase/test-u8-is-casefolded.c: New file.
44202         * tests/unicase/test-is-casefolded.h: New file.
44203
44204         New module 'unicase/u32-is-casefolded'.
44205         * lib/unicase/u32-is-casefolded.c: New file.
44206         * modules/unicase/u32-is-casefolded: New file.
44207
44208         New module 'unicase/u16-is-casefolded'.
44209         * lib/unicase/u16-is-casefolded.c: New file.
44210         * modules/unicase/u16-is-casefolded: New file.
44211
44212         New module 'unicase/u8-is-casefolded'.
44213         * lib/unicase/u8-is-casefolded.c: New file.
44214         * modules/unicase/u8-is-casefolded: New file.
44215
44216         Tests for module 'unicase/u32-is-titlecase'.
44217         * modules/unicase/u32-is-titlecase-tests: New file.
44218         * tests/unicase/test-u32-is-titlecase.c: New file.
44219
44220         Tests for module 'unicase/u16-is-titlecase'.
44221         * modules/unicase/u16-is-titlecase-tests: New file.
44222         * tests/unicase/test-u16-is-titlecase.c: New file.
44223
44224         Tests for module 'unicase/u8-is-titlecase'.
44225         * modules/unicase/u8-is-titlecase-tests: New file.
44226         * tests/unicase/test-u8-is-titlecase.c: New file.
44227         * tests/unicase/test-is-titlecase.h: New file.
44228
44229         New module 'unicase/u32-is-titlecase'.
44230         * lib/unicase/u32-is-titlecase.c: New file.
44231         * modules/unicase/u32-is-titlecase: New file.
44232
44233         New module 'unicase/u16-is-titlecase'.
44234         * lib/unicase/u16-is-titlecase.c: New file.
44235         * modules/unicase/u16-is-titlecase: New file.
44236
44237         New module 'unicase/u8-is-titlecase'.
44238         * lib/unicase/u8-is-titlecase.c: New file.
44239         * modules/unicase/u8-is-titlecase: New file.
44240
44241         Tests for module 'unicase/u32-is-lowercase'.
44242         * modules/unicase/u32-is-lowercase-tests: New file.
44243         * tests/unicase/test-u32-is-lowercase.c: New file.
44244
44245         Tests for module 'unicase/u16-is-lowercase'.
44246         * modules/unicase/u16-is-lowercase-tests: New file.
44247         * tests/unicase/test-u16-is-lowercase.c: New file.
44248
44249         Tests for module 'unicase/u8-is-lowercase'.
44250         * modules/unicase/u8-is-lowercase-tests: New file.
44251         * tests/unicase/test-u8-is-lowercase.c: New file.
44252         * tests/unicase/test-is-lowercase.h: New file.
44253
44254         New module 'unicase/u32-is-lowercase'.
44255         * lib/unicase/u32-is-lowercase.c: New file.
44256         * modules/unicase/u32-is-lowercase: New file.
44257
44258         New module 'unicase/u16-is-lowercase'.
44259         * lib/unicase/u16-is-lowercase.c: New file.
44260         * modules/unicase/u16-is-lowercase: New file.
44261
44262         New module 'unicase/u8-is-lowercase'.
44263         * lib/unicase/u8-is-lowercase.c: New file.
44264         * modules/unicase/u8-is-lowercase: New file.
44265
44266         Tests for module 'unicase/u32-is-uppercase'.
44267         * modules/unicase/u32-is-uppercase-tests: New file.
44268         * tests/unicase/test-u32-is-uppercase.c: New file.
44269
44270         Tests for module 'unicase/u16-is-uppercase'.
44271         * modules/unicase/u16-is-uppercase-tests: New file.
44272         * tests/unicase/test-u16-is-uppercase.c: New file.
44273
44274         Tests for module 'unicase/u8-is-uppercase'.
44275         * modules/unicase/u8-is-uppercase-tests: New file.
44276         * tests/unicase/test-u8-is-uppercase.c: New file.
44277         * tests/unicase/test-is-uppercase.h: New file.
44278
44279         New module 'unicase/u32-is-uppercase'.
44280         * lib/unicase/u32-is-uppercase.c: New file.
44281         * modules/unicase/u32-is-uppercase: New file.
44282
44283         New module 'unicase/u16-is-uppercase'.
44284         * lib/unicase/u16-is-uppercase.c: New file.
44285         * modules/unicase/u16-is-uppercase: New file.
44286
44287         New module 'unicase/u8-is-uppercase'.
44288         * lib/unicase/u8-is-uppercase.c: New file.
44289         * modules/unicase/u8-is-uppercase: New file.
44290
44291         New module 'unicase/u32-is-invariant'.
44292         * lib/unicase/u32-is-invariant.c: New file.
44293         * modules/unicase/u32-is-invariant: New file.
44294
44295         New module 'unicase/u16-is-invariant'.
44296         * lib/unicase/u16-is-invariant.c: New file.
44297         * modules/unicase/u16-is-invariant: New file.
44298
44299         New module 'unicase/u8-is-invariant'.
44300         * lib/unicase/u8-is-invariant.c: New file.
44301         * lib/unicase/invariant.h: New file.
44302         * lib/unicase/u-is-invariant.h: New file.
44303         * modules/unicase/u8-is-invariant: New file.
44304
44305         Tests for module 'unicase/u32-casecoll'.
44306         * modules/unicase/u32-casecoll-tests: New file.
44307         * tests/unicase/test-u32-casecoll.c: New file.
44308
44309         Tests for module 'unicase/u16-casecoll'.
44310         * modules/unicase/u16-casecoll-tests: New file.
44311         * tests/unicase/test-u16-casecoll.c: New file.
44312
44313         Tests for module 'unicase/u8-casecoll'.
44314         * modules/unicase/u8-casecoll-tests: New file.
44315         * tests/unicase/test-u8-casecoll.c: New file.
44316
44317         New module 'unicase/u32-casecoll'.
44318         * lib/unicase/u32-casecoll.c: New file.
44319         * modules/unicase/u32-casecoll: New file.
44320
44321         New module 'unicase/u16-casecoll'.
44322         * lib/unicase/u16-casecoll.c: New file.
44323         * modules/unicase/u16-casecoll: New file.
44324
44325         New module 'unicase/u8-casecoll'.
44326         * lib/unicase/u8-casecoll.c: New file.
44327         * lib/unicase/u-casecoll.h: New file.
44328         * modules/unicase/u8-casecoll: New file.
44329
44330         New module 'unicase/u32-casexfrm'.
44331         * lib/unicase/u32-casexfrm.c: New file.
44332         * modules/unicase/u32-casexfrm: New file.
44333
44334         New module 'unicase/u16-casexfrm'.
44335         * lib/unicase/u16-casexfrm.c: New file.
44336         * modules/unicase/u16-casexfrm: New file.
44337
44338         New module 'unicase/u8-casexfrm'.
44339         * lib/unicase/u8-casexfrm.c: New file.
44340         * lib/unicase/u-casexfrm.h: New file.
44341         * modules/unicase/u8-casexfrm: New file.
44342
44343         Tests for module 'unicase/u32-casecmp'.
44344         * modules/unicase/u32-casecmp-tests: New file.
44345         * tests/unicase/test-u32-casecmp.c: New file.
44346
44347         Tests for module 'unicase/u16-casecmp'.
44348         * modules/unicase/u16-casecmp-tests: New file.
44349         * tests/unicase/test-u16-casecmp.c: New file.
44350
44351         Tests for module 'unicase/u8-casecmp'.
44352         * modules/unicase/u8-casecmp-tests: New file.
44353         * tests/unicase/test-u8-casecmp.c: New file.
44354         * tests/unicase/test-casecmp.h: New file.
44355
44356         New module 'unicase/u32-casecmp'.
44357         * lib/unicase/u32-casecmp.c: New file.
44358         * modules/unicase/u32-casecmp: New file.
44359
44360         New module 'unicase/u16-casecmp'.
44361         * lib/unicase/u16-casecmp.c: New file.
44362         * modules/unicase/u16-casecmp: New file.
44363
44364         New module 'unicase/u8-casecmp'.
44365         * lib/unicase/u8-casecmp.c: New file.
44366         * lib/unicase/u-casecmp.h: New file.
44367         * modules/unicase/u8-casecmp: New file.
44368
44369         Tests for module 'unicase/u32-casefold'.
44370         * modules/unicase/u32-casefold-tests: New file.
44371         * tests/unicase/test-u32-casefold.c: New file.
44372
44373         Tests for module 'unicase/u16-casefold'.
44374         * modules/unicase/u16-casefold-tests: New file.
44375         * tests/unicase/test-u16-casefold.c: New file.
44376
44377         Tests for module 'unicase/u8-casefold'.
44378         * modules/unicase/u8-casefold-tests: New file.
44379         * tests/unicase/test-u8-casefold.c: New file.
44380
44381         New module 'unicase/u32-casefold'.
44382         * lib/unicase/u32-casefold.c: New file.
44383         * modules/unicase/u32-casefold: New file.
44384
44385         New module 'unicase/u16-casefold'.
44386         * lib/unicase/u16-casefold.c: New file.
44387         * modules/unicase/u16-casefold: New file.
44388
44389         New module 'unicase/u8-casefold'.
44390         * lib/unicase/u8-casefold.c: New file.
44391         * lib/unicase/u-casefold.h: New file.
44392         * modules/unicase/u8-casefold: New file.
44393
44394         New module 'unicase/tocasefold'.
44395         * lib/unicase/casefold.h: New file.
44396         * lib/unicase/tocasefold.c: New file.
44397         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44398         * modules/unicase/tocasefold: New file.
44399
44400         Tests for module 'unicase/u32-totitle'.
44401         * modules/unicase/u32-totitle-tests: New file.
44402         * tests/unicase/test-u32-totitle.c: New file.
44403
44404         Tests for module 'unicase/u16-totitle'.
44405         * modules/unicase/u16-totitle-tests: New file.
44406         * tests/unicase/test-u16-totitle.c: New file.
44407
44408         Tests for module 'unicase/u8-totitle'.
44409         * modules/unicase/u8-totitle-tests: New file.
44410         * tests/unicase/test-u8-totitle.c: New file.
44411
44412         New module 'unicase/u32-totitle'.
44413         * lib/unicase/u32-totitle.c: New file.
44414         * modules/unicase/u32-totitle: New file.
44415
44416         New module 'unicase/u16-totitle'.
44417         * lib/unicase/u16-totitle.c: New file.
44418         * modules/unicase/u16-totitle: New file.
44419
44420         New module 'unicase/u8-totitle'.
44421         * lib/unicase/u8-totitle.c: New file.
44422         * lib/unicase/u-totitle.h: New file.
44423         * modules/unicase/u8-totitle: New file.
44424
44425         Tests for module 'unicase/u32-tolower'.
44426         * modules/unicase/u32-tolower-tests: New file.
44427         * tests/unicase/test-u32-tolower.c: New file.
44428
44429         Tests for module 'unicase/u16-tolower'.
44430         * modules/unicase/u16-tolower-tests: New file.
44431         * tests/unicase/test-u16-tolower.c: New file.
44432
44433         Tests for module 'unicase/u8-tolower'.
44434         * modules/unicase/u8-tolower-tests: New file.
44435         * tests/unicase/test-u8-tolower.c: New file.
44436
44437         New module 'unicase/u32-tolower'.
44438         * lib/unicase/u32-tolower.c: New file.
44439         * modules/unicase/u32-tolower: New file.
44440
44441         New module 'unicase/u16-tolower'.
44442         * lib/unicase/u16-tolower.c: New file.
44443         * modules/unicase/u16-tolower: New file.
44444
44445         New module 'unicase/u8-tolower'.
44446         * lib/unicase/u8-tolower.c: New file.
44447         * modules/unicase/u8-tolower: New file.
44448
44449         Tests for module 'unicase/u32-toupper'.
44450         * modules/unicase/u32-toupper-tests: New file.
44451         * tests/unicase/test-u32-toupper.c: New file.
44452
44453         Tests for module 'unicase/u16-toupper'.
44454         * modules/unicase/u16-toupper-tests: New file.
44455         * tests/unicase/test-u16-toupper.c: New file.
44456
44457         Tests for module 'unicase/u8-toupper'.
44458         * modules/unicase/u8-toupper-tests: New file.
44459         * tests/unicase/test-u8-toupper.c: New file.
44460
44461         New module 'unicase/u32-toupper'.
44462         * lib/unicase/u32-toupper.c: New file.
44463         * modules/unicase/u32-toupper: New file.
44464
44465         New module 'unicase/u16-toupper'.
44466         * lib/unicase/u16-toupper.c: New file.
44467         * modules/unicase/u16-toupper: New file.
44468
44469         New module 'unicase/u8-toupper'.
44470         * lib/unicase/u8-toupper.c: New file.
44471         * modules/unicase/u8-toupper: New file.
44472
44473         New module 'unicase/u32-casemap'.
44474         * lib/unicase/u32-casemap.c: New file.
44475         * modules/unicase/u32-casemap: New file.
44476
44477         New module 'unicase/u16-casemap'.
44478         * lib/unicase/u16-casemap.c: New file.
44479         * modules/unicase/u16-casemap: New file.
44480
44481         New module 'unicase/u8-casemap'.
44482         * lib/unicase/unicasemap.h: New file.
44483         * lib/unicase/u8-casemap.c: New file.
44484         * lib/unicase/u-casemap.h: New file.
44485         * modules/unicase/u8-casemap: New file.
44486
44487         New module 'unicase/special-casing'.
44488         * lib/unicase/special-casing.h: New file.
44489         * lib/unicase/special-casing.c: New file.
44490         * lib/unicase/special-casing-table.gperf: New file, generated by
44491         gen-uni-tables.c.
44492         * modules/unicase/special-casing: New file.
44493
44494         Tests for module 'unicase/locale-language'.
44495         * modules/unicase/locale-language-tests: New file.
44496         * tests/unicase/test-locale-language.sh: New file.
44497         * tests/unicase/test-locale-language.c: New file.
44498
44499         New module 'unicase/locale-language'.
44500         * lib/unicase/locale-language.c: New file.
44501         * lib/unicase/locale-languages.gperf: New file.
44502         * modules/unicase/locale-language: New file.
44503
44504         Generate more tables for case conversion and case folding.
44505         * lib/gen-uni-tables.c (SCC_*): New enum items.
44506         (struct special_casing_rule): New type.
44507         (casing_rules, num_casing_rules, allocated_casing_rules): New
44508         variables.
44509         (add_casing_rule, fill_casing_rules): New functions.
44510         (struct casefold_rule): New type.
44511         (casefolding_rules, num_casefolding_rules,
44512         allocated_casefolding_rules): New variables.
44513         (fill_casefolding_rules): New function.
44514         (unicode_casefold): New variable.
44515         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44516         sort_casing_rules, output_casing_rules): New functions.
44517         (main): Accept to more arguments: SpecialCasing.txt and
44518         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44519         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44520         Output mapping for casefolding.
44521
44522         * lib/unicase.h: Include stdbool.h, uninorm.h.
44523         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44524         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44525         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44526         arguments.
44527         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44528         resultp arguments.
44529         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44530         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44531         resultp arguments.
44532         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44533         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44534         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44535         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44536         declarations.
44537         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44538
44539 2009-03-08  Bruno Haible  <bruno@clisp.org>
44540
44541         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44542         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44543         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44544         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44545
44546 2009-03-07  Bruno Haible  <bruno@clisp.org>
44547
44548         Adjust u*_normcmp, u*_normcoll API.
44549         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44550         u16_normcoll, u32_normcoll): Change failure conventions.
44551         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44552         errno and return -1.
44553         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44554
44555 2009-03-07  Bruno Haible  <bruno@clisp.org>
44556
44557         Tests for module 'uninorm/u32-normcoll'.
44558         * modules/uninorm/u32-normcoll-tests: New file.
44559         * tests/uninorm/test-u32-normcoll.c: New file.
44560
44561         Tests for module 'uninorm/u16-normcoll'.
44562         * modules/uninorm/u16-normcoll-tests: New file.
44563         * tests/uninorm/test-u16-normcoll.c: New file.
44564
44565         Tests for module 'uninorm/u8-normcoll'.
44566         * modules/uninorm/u8-normcoll-tests: New file.
44567         * tests/uninorm/test-u8-normcoll.c: New file.
44568
44569 2009-03-07  Bruno Haible  <bruno@clisp.org>
44570
44571         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44572         tests/uninorm/test-u32-normcmp.c.
44573         * tests/uninorm/test-u32-normcmp.c: Include it.
44574         (test_nonascii): New function, extracted from main. Add some more
44575         tests.
44576         (main): Invoke test_ascii and test_nonascii.
44577         * modules/uninorm/u32-normcmp-tests (Files): Add
44578         tests/uninorm/test-u32-normcmp.h.
44579         (Depends-on): Remove uninorm/u32-normcmp.
44580
44581         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44582         tests/uninorm/test-u16-normcmp.c.
44583         * tests/uninorm/test-u16-normcmp.c: Include it.
44584         (test_nonascii): New function, extracted from main. Add some more
44585         tests.
44586         (main): Invoke test_ascii and test_nonascii.
44587         * modules/uninorm/u16-normcmp-tests (Files): Add
44588         tests/uninorm/test-u16-normcmp.h.
44589         (Depends-on): Remove uninorm/u16-normcmp.
44590
44591         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44592         tests/uninorm/test-u8-normcmp.c.
44593         * tests/uninorm/test-u8-normcmp.c: Include it.
44594         (test_nonascii): New function, extracted from main. Add some more
44595         tests.
44596         (main): Invoke test_ascii and test_nonascii.
44597         * modules/uninorm/u8-normcmp-tests (Files): Add
44598         tests/uninorm/test-u8-normcmp.h.
44599         (Depends-on): Remove uninorm/u8-normcmp.
44600
44601 2009-03-07  Bruno Haible  <bruno@clisp.org>
44602
44603         New module 'uninorm/u32-normcoll'.
44604         * lib/uninorm/u32-normcoll.c: New file.
44605         * modules/uninorm/u32-normcoll: New file.
44606
44607         New module 'uninorm/u16-normcoll'.
44608         * lib/uninorm/u16-normcoll.c: New file.
44609         * modules/uninorm/u16-normcoll: New file.
44610
44611         New module 'uninorm/u8-normcoll'.
44612         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44613         declarations.
44614         * lib/uninorm/u8-normcoll.c: New file.
44615         * lib/uninorm/u-normcoll.h: New file.
44616         * modules/uninorm/u8-normcoll: New file.
44617
44618         New module 'uninorm/u32-normxfrm'.
44619         * lib/uninorm/u32-normxfrm.c: New file.
44620         * modules/uninorm/u32-normxfrm: New file.
44621
44622         New module 'uninorm/u16-normxfrm'.
44623         * lib/uninorm/u16-normxfrm.c: New file.
44624         * modules/uninorm/u16-normxfrm: New file.
44625
44626         New module 'uninorm/u8-normxfrm'.
44627         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44628         declarations.
44629         * lib/uninorm/u8-normxfrm.c: New file.
44630         * lib/uninorm/u-normxfrm.h: New file.
44631         * modules/uninorm/u8-normxfrm: New file.
44632
44633 2009-03-07  Bruno Haible  <bruno@clisp.org>
44634
44635         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44636         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44637         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44638
44639 2009-03-07  Bruno Haible  <bruno@clisp.org>
44640
44641         New module 'memxfrm'.
44642         * lib/memxfrm.h: New file.
44643         * lib/memxfrm.c: New file.
44644         * modules/memxfrm: New file.
44645
44646 2009-03-07  Bruno Haible  <bruno@clisp.org>
44647
44648         New module 'memcmp2'.
44649         * lib/memcmp2.h: New file.
44650         * lib/memcmp2.c: New file.
44651         * modules/memcmp2: New file.
44652
44653 2009-03-07  Bruno Haible  <bruno@clisp.org>
44654
44655         Tests for module 'uninorm/decomposing-form'.
44656         * modules/uninorm/decomposing-form-tests: New file.
44657         * tests/uninorm/test-decomposing-form.c: New file.
44658
44659         New module 'uninorm/decomposing-form'.
44660         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44661         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44662         Add 'decomposing_variant' field.
44663         * lib/uninorm/decomposing-form.c: New file.
44664         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44665         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44666         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44667         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44668         * modules/uninorm/decomposing-form: New file.
44669         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44670         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44671
44672 2009-03-07  Bruno Haible  <bruno@clisp.org>
44673
44674         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44675         strings.
44676
44677 2009-03-06  Bruno Haible  <bruno@clisp.org>
44678
44679         Tests for module 'uninorm/u32-normcmp'.
44680         * tests/uninorm/test-u32-normcmp.c: New file.
44681         * modules/uninorm/u32-normcmp-tests: New file.
44682
44683         Tests for module 'uninorm/u16-normcmp'.
44684         * tests/uninorm/test-u16-normcmp.c: New file.
44685         * modules/uninorm/u16-normcmp-tests: New file.
44686
44687         Tests for module 'uninorm/u8-normcmp'.
44688         * tests/uninorm/test-u8-normcmp.c: New file.
44689         * modules/uninorm/u8-normcmp-tests: New file.
44690
44691         New module 'uninorm/u32-normcmp'.
44692         * lib/uninorm/u32-normcmp.c: New file.
44693         * modules/uninorm/u32-normcmp: New file.
44694
44695         New module 'uninorm/u16-normcmp'.
44696         * lib/uninorm/u16-normcmp.c: New file.
44697         * modules/uninorm/u16-normcmp: New file.
44698
44699         New module 'uninorm/u8-normcmp'.
44700         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44701         declarations.
44702         * lib/uninorm/u8-normcmp.c: New file.
44703         * lib/uninorm/u-normcmp.h: New file.
44704         * modules/uninorm/u8-normcmp: New file.
44705
44706 2009-03-06  Bruno Haible  <bruno@clisp.org>
44707
44708         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44709         Reported by Eric Blake.
44710
44711 2009-03-06  Eric Blake  <ebb9@byu.net>
44712             Bruno Haible  <bruno@clisp.org>
44713
44714         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44715         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44716         condition.
44717         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44718         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44719         condition.
44720         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44721
44722 2009-03-06  Eric Blake  <ebb9@byu.net>
44723
44724         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44725         to avoid compiler warnings.
44726         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44727
44728 2009-03-05  Bruno Haible  <bruno@clisp.org>
44729
44730         * tests/test-ftell.c (main): Disable test beyond end of file on
44731         FreeMiNT.
44732         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44733
44734 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44735
44736         * lib/filevercmp.c: Move hidden files up in ordering.
44737         * tests/test-filevercmp.c: Add tests for hidden files.
44738
44739 2009-03-04  Bruno Haible  <bruno@clisp.org>
44740
44741         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44742         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44743         AM_CFLAGS.
44744         Reported by Simon Josefsson.
44745
44746 2009-03-03  Bruno Haible  <bruno@clisp.org>
44747
44748         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44749         Reported by Simon Josefsson.
44750
44751         * doc/ld-version-script.texi: Update node reference.
44752
44753 2009-03-03  Bruno Haible  <bruno@clisp.org>
44754
44755         * modules/visibility (License): Change to 'unlimited'.
44756         Suggested by Simon Josefsson.
44757
44758 2009-03-03  Jim Meyering  <meyering@redhat.com>
44759
44760         unlinkdir: cannot_unlink_dir may modify process state
44761         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44762         it's neither thread-safe nor appropriate for use in a library.
44763
44764 2009-03-03  Eric Blake  <ebb9@byu.net>
44765
44766         test-closein: silence test under Darwin
44767         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44768         care if it dies from EPIPE or EBADF.
44769
44770 2009-03-03  Bruno Haible  <bruno@clisp.org>
44771
44772         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44773         earlier.
44774         * doc/visibility.texi: Fix @node and @section.
44775
44776 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44777
44778         * doc/gnulib.texi: Link to sections for ld version script and
44779         visibility.
44780         * doc/visibility.texi: Add @node and @section.
44781         * modules/ld-version-script: New module.
44782         * m4/ld-version-script.m4: New file.
44783         * doc/ld-version-script.texi: New file.
44784
44785 2009-03-02  David Lutterkort  <lutter@redhat.com>
44786
44787         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44788         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44789
44790 2009-03-02  Bruno Haible  <bruno@clisp.org>
44791
44792         * doc/visibility.texi: Mention libtool's -export-symbols option.
44793
44794 2009-03-02  Jim Meyering  <meyering@redhat.com>
44795
44796         announce-gen: new option: --no-print-checksums
44797         * build-aux/announce-gen (usage): Describe it.
44798         (print_checksums): Print a newline here, not in the [*] footnote.
44799         (main): Honor it.
44800
44801 2009-03-01  Bruno Haible  <bruno@clisp.org>
44802
44803         Use socklen_t in the native Windows replacements prototypes.
44804         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44805         instead of 'int'.
44806         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44807         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44808         * modules/getsockopt (Depends-on): Add socklen.
44809         * modules/setsockopt (Depends-on): Add socklen.
44810
44811 2009-03-01  Bruno Haible  <bruno@clisp.org>
44812
44813         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44814         least 4.2.
44815
44816 2009-03-01  Eric Blake  <ebb9@byu.net>
44817             Bruno Haible  <bruno@clisp.org>
44818
44819         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44820         error messages.
44821         * lib/wait-process.c (wait_subprocess): Omit error message about
44822         deadly signal sent to the child of termsigp != NULL.
44823
44824 2009-03-01  Eric Blake  <ebb9@byu.net>
44825
44826         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44827
44828 2009-03-01  Bruno Haible  <bruno@clisp.org>
44829
44830         Avoid a gcc warning.
44831         * tests/test-sched.c (b): Make global.
44832         Reported by Eric Blake.
44833
44834 2009-01-19  Martin Lambers  <marlam@marlam.de>
44835
44836         Provide POSIX semantics for socket timeout options on W32.
44837         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44838         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44839         * modules/setsockopt: Depend on sys_time module for struct timeval.
44840         * modules/getsockopt: Depend on sys_time module for struct timeval.
44841
44842 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44843
44844         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44845         __USE_GNU, for consistency with netdb.in.h.
44846         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44847
44848 2009-03-01  Bruno Haible  <bruno@clisp.org>
44849
44850         More support for FreeMiNT.
44851         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44852         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44853
44854 2009-03-01  Bruno Haible  <bruno@clisp.org>
44855
44856         More support for FreeMiNT.
44857         * lib/fpurge.c (fpurge): Correct last commit.
44858         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44859
44860 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44861
44862         Fix unportable awk script in vc-list-files.
44863         * build-aux/vc-list-files: In the replacement awk script, use
44864         substr with a second argument of 1, not zero.
44865         Report by Simon Josefsson.
44866
44867 2009-02-28  Bruno Haible  <bruno@clisp.org>
44868
44869         More support for FreeMiNT.
44870         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44871         to FreeMiNT today.
44872         * lib/fwriting.c (fwriting): Likewise.
44873         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44874
44875 2009-02-28  Bruno Haible  <bruno@clisp.org>
44876
44877         * tests/test-freadseek.c (main): Disable test beyond end of file on
44878         FreeMiNT.
44879         * tests/test-ftello.c (main): Likewise.
44880         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44881
44882 2009-02-28  Bruno Haible  <bruno@clisp.org>
44883
44884         Add tentative support for FreeMiNT.
44885         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44886         * lib/fpurge.c (fpurge): Likewise.
44887         * lib/freadable.c (freadable): Likewise.
44888         * lib/freading.c (freading): Likewise.
44889         * lib/freadptr.c (freadptr): Likewise.
44890         * lib/freadseek.c (freadptrinc): Likewise.
44891         * lib/fseeko.c (rpl_fseeko): Likewise.
44892         * lib/fseterr.c (fseterr): Likewise.
44893         * lib/fwritable.c (fwritable): Likewise.
44894         * lib/fwriting.c (fwriting): Likewise.
44895         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44896         Hourihane.
44897         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44898
44899 2009-02-28  Bruno Haible  <bruno@clisp.org>
44900
44901         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44902         SIGCHLD.
44903         Reported by Jim Meyering.
44904
44905 2009-02-28  Bruno Haible  <bruno@clisp.org>
44906
44907         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44908         Mention the results of these tests on various platforms.
44909         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44910         order.
44911         * doc/posix-functions/printf.texi: Likewise.
44912         * doc/posix-functions/snprintf.texi: Likewise.
44913         * doc/posix-functions/sprintf.texi: Likewise.
44914         * doc/posix-functions/vfprintf.texi: Likewise.
44915         * doc/posix-functions/vprintf.texi: Likewise.
44916         * doc/posix-functions/vsnprintf.texi: Likewise.
44917         * doc/posix-functions/vsprintf.texi: Likewise.
44918         * doc/glibc-functions/obstack_printf.texi: Likewise.
44919         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44920
44921 2009-02-28  Bruno Haible  <bruno@clisp.org>
44922
44923         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44924         Reported by Loïc Minier <lool@dooz.org>.
44925
44926 2009-02-27  Bruno Haible  <bruno@clisp.org>
44927
44928         * gnulib-tool (func_import): Make the sed expression used to create the
44929         sed script for updating the .gitignore file POSIX compliant.
44930         Reported by Eric Blake.
44931
44932 2009-02-27  Bruno Haible  <bruno@clisp.org>
44933
44934         * gnulib-tool (sed): Don't alias as "sed --posix".
44935         Reported by Eric Blake.
44936
44937 2009-02-27  Bruno Haible  <bruno@clisp.org>
44938
44939         Avoid test link errors.
44940         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44941         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44942         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44943         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44944         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44945
44946 2009-02-27  Bruno Haible  <bruno@clisp.org>
44947
44948         Avoid spurious "(cached)" in configure output.
44949         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44950         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44951         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44952         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44953         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44954         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44955         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44956         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44957         Reported by Eric Blake.
44958
44959 2009-02-27  Eric Blake  <ebb9@byu.net>
44960
44961         printf: fix regression in previous patch
44962         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44963
44964 2009-02-27  Bruno Haible  <bruno@clisp.org>
44965
44966         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44967         value.
44968         * lib/stdint.in.h: Likewise.
44969         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44970
44971 2009-02-27  Eric Blake  <ebb9@byu.net>
44972
44973         doc: mention more functions added in cygwin 1.7.0
44974         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44975         addition.
44976         * doc/posix-functions/open_wmemstream.texi: Likewise.
44977         * doc/posix-functions/wcsnlen.texi: Likewise.
44978         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44979         * doc/posix-functions/wcstod.texi: Likewise.
44980         * doc/posix-functions/wcstof.texi: Likewise.
44981         * doc/posix-functions/wcstoimax.texi: Likewise.
44982         * doc/posix-functions/wcstok.texi: Likewise.
44983         * doc/posix-functions/wcstoumax.texi: Likewise.
44984
44985         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44986         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44987         * doc/posix-functions/fprintf.texi: Update.
44988         * doc/posix-functions/printf.texi: Update.
44989         * doc/posix-functions/snprintf.texi: Update.
44990         * doc/posix-functions/sprintf.texi: Update.
44991         * doc/posix-functions/vfprintf.texi: Update.
44992         * doc/posix-functions/vprintf.texi: Update.
44993         * doc/posix-functions/vsnprintf.texi: Update.
44994         * doc/posix-functions/vsprintf.texi: Update.
44995         * doc/glibc-functions/obstack_printf.texi: Update.
44996         * doc/glibc-functions/obstack_vprintf.texi: Update.
44997
44998 2009-02-26  Eric Blake  <ebb9@byu.net>
44999
45000         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45001         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45002         compilation bug by using runtime conversion.
45003         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45004         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45005         * modules/ceill-tests (Files): Use nan.h.
45006         * modules/floorl-tests (Files): Likewise.
45007         * modules/frexpl-tests (Files): Likewise.
45008         * modules/isnanl-tests (Files): Likewise.
45009         * modules/ldexpl-tests (Files): Likewise.
45010         * modules/roundl-tests (Files): Likewise.
45011         * modules/truncl-tests (Files): Likewise.
45012         * tests/test-ceill.c (main): Use a working NaN.
45013         * tests/test-floorl.c (main): Likewise.
45014         * tests/test-frexpl.c (main): Likewise.
45015         * tests/test-isnan.c (test_long_double): Likewise.
45016         * tests/test-isnanl.h (main): Likewise.
45017         * tests/test-ldexpl.h (main): Likewise.
45018         * tests/test-roundl.h (main): Likewise.
45019         * tests/test-truncl.h (main): Likewise.
45020         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45021
45022 2009-02-26  Eric Blake  <ebb9@byu.net>
45023             Bruno Haible  <bruno@clisp.org>
45024
45025         Work around a *printf bug with %ls on Solaris.
45026         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45027         precision is specified, sprintf stops converting the wide string
45028         argument when the number of bytes that have been produced by this
45029         conversion equals or exceeds the precision.
45030         * doc/posix-functions/fprintf.texi: Update.
45031         * doc/posix-functions/printf.texi: Update.
45032         * doc/posix-functions/snprintf.texi: Update.
45033         * doc/posix-functions/sprintf.texi: Update.
45034         * doc/posix-functions/vfprintf.texi: Update.
45035         * doc/posix-functions/vprintf.texi: Update.
45036         * doc/posix-functions/vsnprintf.texi: Update.
45037         * doc/posix-functions/vsprintf.texi: Update.
45038         * doc/glibc-functions/obstack_printf.texi: Update.
45039         * doc/glibc-functions/obstack_vprintf.texi: Update.
45040
45041 2009-02-26  Eric Blake  <ebb9@byu.net>
45042
45043         stdlib: favor compiler check of random.h
45044         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45045         to avoid an ObjC random.h installed by Swarm.
45046
45047 2009-02-26  Bruno Haible  <bruno@clisp.org>
45048
45049         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45050         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45051         Reported by Gary V. Vaughan <gary@gnu.org>.
45052
45053 2009-02-26  Bruno Haible  <bruno@clisp.org>
45054
45055         Fix *printf behaviour regarding the %ls directive.
45056         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45057         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45058         NEED_PRINTF_DIRECTIVE_LS.
45059         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45060         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45061         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45062         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45063         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45064         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45065         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45066         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45067         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45068         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45069         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45070         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45071         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45072         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45073         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45074         * doc/posix-functions/fprintf.texi: Update.
45075         * doc/posix-functions/printf.texi: Update.
45076         * doc/posix-functions/snprintf.texi: Update.
45077         * doc/posix-functions/sprintf.texi: Update.
45078         * doc/posix-functions/vfprintf.texi: Update.
45079         * doc/posix-functions/vprintf.texi: Update.
45080         * doc/posix-functions/vsnprintf.texi: Update.
45081         * doc/posix-functions/vsprintf.texi: Update.
45082         * doc/glibc-functions/obstack_printf.texi: Update.
45083         * doc/glibc-functions/obstack_vprintf.texi: Update.
45084         Reported by Eric Blake.
45085
45086 2009-02-25  Bruno Haible  <bruno@clisp.org>
45087
45088         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45089         with known value.
45090         Reported by Gary V. Vaughan <gary@gnu.org>.
45091
45092 2009-02-25  Bruno Haible  <bruno@clisp.org>
45093
45094         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45095         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45096         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45097         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45098         Reported by Gary V. Vaughan <gary@gnu.org>.
45099
45100 2009-02-25  Bruno Haible  <bruno@clisp.org>
45101
45102         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45103         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45104         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45105         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45106         Reported by Gary V. Vaughan <gary@gnu.org>.
45107
45108 2009-02-25  Eric Blake  <ebb9@byu.net>
45109
45110         tests: skip fseek/ftell tests if ungetc is broken
45111         * m4/ungetc.m4: New file.
45112         * modules/fseek-tests: Split test, so ungetc dependency is
45113         separate from rest of test.
45114         * modules/fseeko-tests: Likewise.
45115         * modules/ftell-tests: Likewise.
45116         * modules/ftello-tests: Likewise.
45117         * tests/test-fseek.c (main): Isolate ungetc dependency.
45118         * tests/test-fseeko.c (main): Likewise.
45119         * tests/test-ftell.c (main): Likewise.
45120         * tests/test-ftello.c (main): Likewise.
45121         * tests/test-fseek2.sh: New file.
45122         * tests/test-fseeko2.sh: Likewise.
45123         * tests/test-ftell2.sh: Likewise.
45124         * tests/test-ftello2.sh: Likewise.
45125
45126 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
45127
45128         test-getaddrinfo: fix usage of skip return code 77
45129         * tests/test-gettaddrinfo.c: Return skip code 77 only
45130         for first occurance of skip (4x77 is not 77)
45131
45132 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45133
45134         strtod: avoid C99 decl-after-statement
45135         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45136
45137 2009-02-24  Eric Blake  <ebb9@byu.net>
45138
45139         strtod: detect HP-UX 11.31 bug
45140         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45141         Reported by Gary V. Vaughan.
45142
45143 2009-02-23  Bruno Haible  <bruno@clisp.org>
45144
45145         Fix invalid read past end of memory block.
45146         * lib/vasnprintf.c (DCHAR_SET): Define.
45147         (local_wcslen): Define only when needed.
45148         (local_strnlen, local_wcsnlen): New functions.
45149         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45150         directives that involve a conversion ourselves.
45151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45152         wcsnlen, mbrtowc, wcrtomb.
45153         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45154         * tests/test-vasprintf-posix.c (test_function): Likewise.
45155         * tests/test-snprintf-posix.h (test_function): Likewise.
45156         * tests/test-sprintf-posix.h (test_function): Likewise.
45157         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45158
45159 2009-02-22  Bruno Haible  <bruno@clisp.org>
45160
45161         Implement new clarified decomposition of Hangul syllables.
45162         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45163         of type LTV, return only a pairwise decomposition.
45164         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45165         Likewise.
45166         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45167         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45168         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45169
45170 2009-02-22  Bruno Haible  <bruno@clisp.org>
45171
45172         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45173         zero-length results and shrink excess allocated memory.
45174         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45175         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45176         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45177         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45178         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45179         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45180         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45181         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45182         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45183         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45184         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45185         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45186
45187 2009-02-21  Bruno Haible  <bruno@clisp.org>
45188
45189         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45190         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45191         spaces after a period. Put a space between a macro name and its
45192         argument list. Trivial rewordings.
45193         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45194         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45195         (main): Return 0 explicitly.
45196
45197 2009-02-21  Bruno Haible  <bruno@clisp.org>
45198
45199         Tests for module 'uninorm/filter'.
45200         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45201         * modules/uninorm/filter-tests: New file.
45202
45203         New module 'uninorm/filter'.
45204         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45205         uninorm_filter_flush, uninorm_filter_free): New declarations.
45206         * lib/uninorm/uninorm-filter.c: New file.
45207         * modules/uninorm/filter: New file.
45208
45209 2009-02-21  Bruno Haible  <bruno@clisp.org>
45210
45211         Tests for module 'uninorm/nfkc'.
45212         * tests/uninorm/test-nfkc.c: New file.
45213         * tests/uninorm/test-u8-nfkc.c: New file.
45214         * tests/uninorm/test-u16-nfkc.c: New file.
45215         * tests/uninorm/test-u32-nfkc.c: New file.
45216         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45217         * tests/uninorm/test-u32-nfkc-big.c: New file.
45218         * modules/uninorm/nfkc-tests: New file.
45219
45220         New module 'uninorm/nfkc'.
45221         * lib/uninorm/nfkc.c: New file.
45222         * modules/uninorm/nfkc: New file.
45223
45224         Tests for module 'uninorm/nfkd'.
45225         * tests/uninorm/test-nfkd.c: New file.
45226         * tests/uninorm/test-u8-nfkd.c: New file.
45227         * tests/uninorm/test-u16-nfkd.c: New file.
45228         * tests/uninorm/test-u32-nfkd.c: New file.
45229         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45230         * tests/uninorm/test-u32-nfkd-big.c: New file.
45231         * modules/uninorm/nfkd-tests: New file.
45232
45233         New module 'uninorm/nfkd'.
45234         * lib/uninorm/nfkd.c: New file.
45235         * modules/uninorm/nfkd: New file.
45236
45237         Tests for module 'uninorm/nfc'.
45238         * tests/uninorm/test-nfc.c: New file.
45239         * tests/uninorm/test-u8-nfc.c: New file.
45240         * tests/uninorm/test-u16-nfc.c: New file.
45241         * tests/uninorm/test-u32-nfc.c: New file.
45242         * tests/uninorm/test-u32-nfc-big.sh: New file.
45243         * tests/uninorm/test-u32-nfc-big.c: New file.
45244         * modules/uninorm/nfc-tests: New file.
45245
45246         New module 'uninorm/nfc'.
45247         * lib/uninorm/nfc.c: New file.
45248         * modules/uninorm/nfc: New file.
45249
45250         Tests for module 'uninorm/nfd'.
45251         * tests/uninorm/test-nfd.c: New file.
45252         * tests/uninorm/test-u8-nfd.c: New file.
45253         * tests/uninorm/test-u16-nfd.c: New file.
45254         * tests/uninorm/test-u32-nfd.c: New file.
45255         * tests/uninorm/test-u32-nfd-big.sh: New file.
45256         * tests/uninorm/test-u32-nfd-big.c: New file.
45257         * tests/uninorm/test-u32-normalize-big.h: New file.
45258         * tests/uninorm/test-u32-normalize-big.c: New file.
45259         * tests/uninorm/NormalizationTest.txt: New file, created from
45260         Unicode 5.1.0 NormalizationTest.txt.
45261         * modules/uninorm/nfd-tests: New file.
45262
45263         New module 'uninorm/nfd'.
45264         * lib/uninorm/nfd.c: New file.
45265         * modules/uninorm/nfd: New file.
45266
45267         New module 'uninorm/u32-normalize'.
45268         * lib/uninorm/u32-normalize.c: New file.
45269         * modules/uninorm/u32-normalize: New file.
45270
45271         New module 'uninorm/u16-normalize'.
45272         * lib/uninorm/u16-normalize.c: New file.
45273         * modules/uninorm/u16-normalize: New file.
45274
45275         New module 'uninorm/u8-normalize'.
45276         * lib/uninorm/u8-normalize.c: New file.
45277         * lib/uninorm/normalize-internal.h: New file.
45278         * lib/uninorm/u-normalize-internal.h: New file.
45279         * modules/uninorm/u8-normalize: New file.
45280
45281         New module 'uninorm/decompose-internal'.
45282         * lib/uninorm/decompose-internal.c: New file.
45283         * modules/uninorm/decompose-internal: New file.
45284
45285         Tests for module 'uninorm/composition'.
45286         * tests/uninorm/test-composition.c: New file.
45287         * modules/uninorm/composition-tests: New file.
45288
45289         New module 'uninorm/composition'.
45290         * lib/uninorm/composition.c: New file.
45291         * lib/uninorm/composition-table.gperf: New file, generated by
45292         gen-uni-tables.
45293         * modules/uninorm/composition: New file.
45294
45295         Tests for module 'uninorm/compat-decomposition'.
45296         * tests/uninorm/test-compat-decomposition.c: New file.
45297         * modules/uninorm/compat-decomposition-tests: New file.
45298
45299         New module 'uninorm/compat-decomposition'.
45300         * lib/uninorm/decompose-internal.h: New file.
45301         * lib/uninorm/compat-decomposition.c: New file.
45302         * modules/uninorm/compat-decomposition: New file.
45303
45304         Tests for module 'uninorm/canonical-decomposition'.
45305         * tests/uninorm/test-canonical-decomposition.c: New file.
45306         * modules/uninorm/canonical-decomposition-tests: New file.
45307
45308         New module 'uninorm/canonical-decomposition'.
45309         * lib/uninorm/canonical-decomposition.c: New file.
45310         * modules/uninorm/canonical-decomposition: New file.
45311
45312         Tests for module 'uninorm/decomposition'.
45313         * tests/uninorm/test-decomposition.c: New file.
45314         * modules/uninorm/decomposition-tests: New file.
45315
45316         New module 'uninorm/decomposition'.
45317         * lib/uninorm/decomposition.c: New file.
45318         * modules/uninorm/decomposition: New file.
45319
45320         New module 'uninorm/decomposition-table'.
45321         * lib/uninorm/decomposition-table.h: New file.
45322         * lib/uninorm/decomposition-table.c: New file.
45323         * lib/uninorm/decomposition-table1.h: New file, generated by
45324         gen-uni-tables.
45325         * lib/uninorm/decomposition-table2.h: New file, generated by
45326         gen-uni-tables.
45327         * modules/uninorm/decomposition-table: New file.
45328
45329         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45330         (UC_DECOMP_*): New enumeration items.
45331         (get_decomposition): New function.
45332         (struct decomp_table): New type.
45333         (output_decomposition, output_decomposition_tables): New functions.
45334         (unicode_composition_exclusions): New variable.
45335         (fill_composition_exclusions, debug_output_composition_tables): New
45336         functions.
45337         (main): Accept one more argument. Invoke fill_composition_exclusions.
45338         Output decomposition and composition tables.
45339
45340         New module 'uninorm/base'.
45341         * lib/uninorm.h: New file.
45342         * lib/unictype.h: Update comment.
45343         * modules/uninorm/base: New file.
45344
45345 2009-02-21  David Lutterkort  <lutter@redhat.com>
45346
45347         Tests for module 'safe-alloc'.
45348         * tests/test-safe-alloc.c: New file.
45349         * modules/safe-alloc-tests: New file.
45350
45351         New module 'safe-alloc'.
45352         * lib/safe-alloc.h: New file.
45353         * lib/safe-alloc.c: New file.
45354         * m4/safe-alloc.m4: New file.
45355         * modules/safe-alloc: New file.
45356         * doc/safe-alloc.texi: New file.
45357         * doc/gnulib.texi: Include it.
45358         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45359         safe-alloc.
45360
45361 2009-02-18  Bruno Haible  <bruno@clisp.org>
45362
45363         Fix link error on non-glibc systems.
45364         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45365         variable.
45366         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45367
45368 2009-02-18  Jim Meyering  <meyering@redhat.com>
45369
45370         fts: avoid used-uninitialized error due to recent change
45371         * lib/fts.c (fts_read): Guard uses of the new member,
45372         parent->fts_n_dirs_remaining, since it's not relevant for
45373         the parent of a directory specified on the command-line.
45374
45375 2009-02-17  James Youngman  <jay@gnu.org>
45376             Bruno Haible  <bruno@clisp.org>
45377
45378         * m4/include_next.m4: Reformulate comment.
45379
45380 2009-02-16  Jim Meyering  <meyering@redhat.com>
45381
45382         fts: add #if guards so that the fts_lgpl module still builds
45383         * lib/fts.c: Guard just-added hash-table-using parts with
45384         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45385         Reported by Simon Josefsson.
45386
45387 2009-02-15  Bruno Haible  <bruno@clisp.org>
45388
45389         * modules/array-mergesort-tests: New file.
45390         * tests/test-array-mergesort.c: New file.
45391
45392         New module 'array-mergesort'.
45393         * modules/array-mergesort: New file.
45394         * lib/array-mergesort.h: New file.
45395
45396 2009-02-15  Bruno Haible  <bruno@clisp.org>
45397
45398         Fix 2009-02-07 commit.
45399         * lib/gen-uni-tables.c (output_predicate, output_category,
45400         output_combclass, output_bidi_category, output_decimal_digit,
45401         output_digit, output_numeric, output_mirror, output_scripts,
45402         output_ident_category, output_simple_mapping): Fix format directives.
45403         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45404
45405 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45406
45407         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45408         fixes are available from IBM.
45409
45410 2009-02-13  Jim Meyering  <meyering@redhat.com>
45411
45412         fts: arrange not to stat non-directories in more cases
45413         This makes GNU find (when it doesn't need to stat each file)
45414         *much* more efficient at traversing reiserfs file systems.
45415         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45416         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45417         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45418         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45419         (leaf_optimization_applies): New function.
45420         (LCO_hash, LCO_compare): New helper functions.
45421         (link_count_optimize_ok): New function.
45422         (fts_stat): Initialize new member (if dir).
45423         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45424         we've just stat'ed a directory.  Skip the stat call when possible.
45425         ---
45426         Note this AFS-related exchange:
45427         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45428         and note find's pioctl call in find/fstype.c.
45429         But that is necessary only if you want to enable the
45430         optimization for AFS, and for now, I don't.
45431
45432         fts: move a function definition "up" (no semantic change)
45433         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45434         "up" to precede upcoming use of a related function.
45435
45436 2009-02-11  Jim Meyering  <meyering@redhat.com>
45437
45438         fts: correct internal computation of nlinks (optimization-related)
45439         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45440         whether the current entry is a directory, so don't test it.
45441
45442 2009-02-10  Bruno Haible  <bruno@clisp.org>
45443
45444         Tests for module 'uniwbrk/ulc-wordbreaks'.
45445         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45446         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45447         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45448
45449         Tests for module 'uniwbrk/u32-wordbreaks'.
45450         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45451         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45452
45453         Tests for module 'uniwbrk/u16-wordbreaks'.
45454         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45455         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45456
45457         Tests for module 'uniwbrk/u8-wordbreaks'.
45458         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45459         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45460
45461 2009-02-10  Bruno Haible  <bruno@clisp.org>
45462
45463         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45464         property.
45465         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45466         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45467         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45468
45469 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45470
45471         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45472         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45473
45474 2009-02-10  Bruno Haible  <bruno@clisp.org>
45475
45476         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45477         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45478         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45479         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45480         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45481         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45482
45483 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45484
45485         * lib/sockets.h (gl_fd_to_handle): New function.
45486
45487         * tests/test-sockets.c: Call gl_fd_to_handle.
45488
45489 2009-02-09  Bruno Haible  <bruno@clisp.org>
45490
45491         * doc/havelib.texi: Document the conventions on bi-arch systems.
45492
45493 2009-02-08  Bruno Haible  <bruno@clisp.org>
45494
45495         Document the AC_LIB_LINKFLAGS macro.
45496         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45497         * doc/gnulib.texi: Include it.
45498
45499 2009-02-08  Bruno Haible  <bruno@clisp.org>
45500
45501         Fix wrong order of sections, compared to TOC.
45502         * doc/gnulib.texi: Include relocatable-maint.texi after the
45503         "Regular expressions" node, not before.
45504
45505 2009-02-08  Bruno Haible  <bruno@clisp.org>
45506
45507         Tests for module 'unicase/totitle'.
45508         * modules/unicase/totitle-tests: New file.
45509
45510         Tests for module 'unicase/tolower'.
45511         * modules/unicase/tolower-tests: New file.
45512
45513         Tests for module 'unicase/toupper'.
45514         * modules/unicase/toupper-tests: New file.
45515         * tests/unicase/test-mapping-part1.h: New file.
45516         * tests/unicase/test-mapping-part2.h: New file.
45517
45518         New module 'unicase/totitle'.
45519         * modules/unicase/totitle: New file.
45520         * lib/unicase/totitle.c: New file.
45521
45522         New module 'unicase/tolower'.
45523         * modules/unicase/tolower: New file.
45524         * lib/unicase/tolower.c: New file.
45525
45526         New module 'unicase/toupper'.
45527         * modules/unicase/toupper: New file.
45528         * lib/unicase/toupper.c: New file.
45529         * lib/unicase/simple-mapping.h: New file.
45530
45531         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45532         (mapping_table): New structure.
45533         (output_simple_mapping): New function.
45534         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45535         * modules/gen-uni-tables (Description): Update.
45536         * lib/unicase/toupper.h: New file, automatically generated by
45537         gen-uni-tables.
45538         * lib/unicase/tolower.h: New file, automatically generated by
45539         gen-uni-tables.
45540         * lib/unicase/totitle.h: New file, automatically generated by
45541         gen-uni-tables.
45542         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45543         gen-uni-tables.
45544         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45545         gen-uni-tables.
45546         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45547         gen-uni-tables.
45548
45549         New module 'unicase/base'.
45550         * modules/unicase/base: New file.
45551         * lib/unicase.h: New file.
45552
45553 2009-02-08  Bruno Haible  <bruno@clisp.org>
45554
45555         New module 'uniwbrk/ulc-wordbreaks'.
45556         * modules/uniwbrk/ulc-wordbreaks: New file.
45557         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45558
45559         New module 'uniwbrk/u32-wordbreaks'.
45560         * modules/uniwbrk/u32-wordbreaks: New file.
45561         * lib/uniwbrk/u32-wordbreaks.c: New file.
45562
45563         New module 'uniwbrk/u16-wordbreaks'.
45564         * modules/uniwbrk/u16-wordbreaks: New file.
45565         * lib/uniwbrk/u16-wordbreaks.c: New file.
45566
45567         New module 'uniwbrk/u8-wordbreaks'.
45568         * modules/uniwbrk/u8-wordbreaks: New file.
45569         * lib/uniwbrk/u8-wordbreaks.c: New file.
45570         * lib/uniwbrk/u-wordbreaks.h: New file.
45571
45572         New module 'uniwbrk/table'.
45573         * modules/uniwbrk/table: New file.
45574         * lib/uniwbrk/wbrktable.h: New file.
45575         * lib/uniwbrk/wbrktable.c: New file.
45576
45577         New module 'uniwbrk/wordbreak-property'.
45578         * modules/uniwbrk/wordbreak-property: New file.
45579         * lib/uniwbrk/wordbreak-property.c: New file.
45580
45581         * lib/gen-uni-tables.c (WBP_*): New enum items.
45582         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45583         (unicode_org_wbp): New variable.
45584         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45585         New functions.
45586         (wbp_table): New structure.
45587         (output_wbp, output_wbrk_tables): New functions.
45588         (main): Accept additional argument. Invoke fill_org_wbp,
45589         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45590         output_wbrk_tables.
45591         * modules/gen-uni-tables (Description): Update.
45592         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45593         gen-uni-tables.
45594
45595         New module 'uniwbrk/base'.
45596         * modules/uniwbrk/base: New file.
45597         * lib/uniwbrk.h: New file.
45598
45599 2009-02-08  Bruno Haible  <bruno@clisp.org>
45600
45601         Update to Unicode 5.1.0.
45602         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45603         U+2185..U+2188.
45604         (is_property_default_ignorable_code_point): Don't include characters
45605         of category Cc or Cs and not-a-characters.
45606         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45607         U+0D79, U+109E, U+109F, U+A60C.
45608         * lib/unictype/bidi_of.h: Regenerated.
45609         * lib/unictype/blocks.h: Regenerated.
45610         * lib/unictype/categ_C.h: Regenerated.
45611         * lib/unictype/categ_Cf.h: Regenerated.
45612         * lib/unictype/categ_Cn.h: Regenerated.
45613         * lib/unictype/categ_L.h: Regenerated.
45614         * lib/unictype/categ_Ll.h: Regenerated.
45615         * lib/unictype/categ_Lm.h: Regenerated.
45616         * lib/unictype/categ_Lo.h: Regenerated.
45617         * lib/unictype/categ_Lu.h: Regenerated.
45618         * lib/unictype/categ_M.h: Regenerated.
45619         * lib/unictype/categ_Mc.h: Regenerated.
45620         * lib/unictype/categ_Me.h: Regenerated.
45621         * lib/unictype/categ_Mn.h: Regenerated.
45622         * lib/unictype/categ_N.h: Regenerated.
45623         * lib/unictype/categ_Nd.h: Regenerated.
45624         * lib/unictype/categ_Nl.h: Regenerated.
45625         * lib/unictype/categ_No.h: Regenerated.
45626         * lib/unictype/categ_P.h: Regenerated.
45627         * lib/unictype/categ_Pd.h: Regenerated.
45628         * lib/unictype/categ_Pe.h: Regenerated.
45629         * lib/unictype/categ_Pf.h: Regenerated.
45630         * lib/unictype/categ_Pi.h: Regenerated.
45631         * lib/unictype/categ_Po.h: Regenerated.
45632         * lib/unictype/categ_Ps.h: Regenerated.
45633         * lib/unictype/categ_S.h: Regenerated.
45634         * lib/unictype/categ_Sk.h: Regenerated.
45635         * lib/unictype/categ_Sm.h: Regenerated.
45636         * lib/unictype/categ_So.h: Regenerated.
45637         * lib/unictype/categ_of.h: Regenerated.
45638         * lib/unictype/combining.h: Regenerated.
45639         * lib/unictype/ctype_alnum.h: Regenerated.
45640         * lib/unictype/ctype_alpha.h: Regenerated.
45641         * lib/unictype/ctype_graph.h: Regenerated.
45642         * lib/unictype/ctype_lower.h: Regenerated.
45643         * lib/unictype/ctype_print.h: Regenerated.
45644         * lib/unictype/ctype_punct.h: Regenerated.
45645         * lib/unictype/ctype_upper.h: Regenerated.
45646         * lib/unictype/decdigit.h: Regenerated.
45647         * lib/unictype/digit.h: Regenerated.
45648         * lib/unictype/mirror.h: Regenerated.
45649         * lib/unictype/numeric.h: Regenerated.
45650         * lib/unictype/pr_alphabetic.h: Regenerated.
45651         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45652         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45653         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45654         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45655         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45656         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45657         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45658         * lib/unictype/pr_combining.h: Regenerated.
45659         * lib/unictype/pr_dash.h: Regenerated.
45660         * lib/unictype/pr_decimal_digit.h: Regenerated.
45661         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45662         * lib/unictype/pr_deprecated.h: Regenerated.
45663         * lib/unictype/pr_diacritic.h: Regenerated.
45664         * lib/unictype/pr_extender.h: Regenerated.
45665         * lib/unictype/pr_format_control.h: Regenerated.
45666         * lib/unictype/pr_grapheme_base.h: Regenerated.
45667         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45668         * lib/unictype/pr_grapheme_link.h: Regenerated.
45669         * lib/unictype/pr_id_continue.h: Regenerated.
45670         * lib/unictype/pr_id_start.h: Regenerated.
45671         * lib/unictype/pr_ideographic.h: Regenerated.
45672         * lib/unictype/pr_ignorable_control.h: Regenerated.
45673         * lib/unictype/pr_lowercase.h: Regenerated.
45674         * lib/unictype/pr_math.h: Regenerated.
45675         * lib/unictype/pr_numeric.h: Regenerated.
45676         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45677         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45678         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45679         * lib/unictype/pr_other_id_continue.h: Regenerated.
45680         * lib/unictype/pr_other_lowercase.h: Regenerated.
45681         * lib/unictype/pr_other_math.h: Regenerated.
45682         * lib/unictype/pr_punctuation.h: Regenerated.
45683         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45684         * lib/unictype/pr_soft_dotted.h: Regenerated.
45685         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45686         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45687         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45688         * lib/unictype/pr_uppercase.h: Regenerated.
45689         * lib/unictype/pr_xid_continue.h: Regenerated.
45690         * lib/unictype/pr_xid_start.h: Regenerated.
45691         * lib/unictype/pr_zero_width.h: Regenerated.
45692         * lib/unictype/scripts.h: Regenerated.
45693         * lib/unictype/scripts_byname.gperf: Regenerated.
45694         * lib/unictype/sy_java_ident.h: Regenerated.
45695         * lib/unilbrk/lbrkprop1.h: Regenerated.
45696         * lib/unilbrk/lbrkprop2.h: Regenerated.
45697         * tests/unictype/test-categ_C.c: Regenerated.
45698         * tests/unictype/test-categ_Cf.c: Regenerated.
45699         * tests/unictype/test-categ_Cn.c: Regenerated.
45700         * tests/unictype/test-categ_L.c: Regenerated.
45701         * tests/unictype/test-categ_Ll.c: Regenerated.
45702         * tests/unictype/test-categ_Lm.c: Regenerated.
45703         * tests/unictype/test-categ_Lo.c: Regenerated.
45704         * tests/unictype/test-categ_Lu.c: Regenerated.
45705         * tests/unictype/test-categ_M.c: Regenerated.
45706         * tests/unictype/test-categ_Mc.c: Regenerated.
45707         * tests/unictype/test-categ_Me.c: Regenerated.
45708         * tests/unictype/test-categ_Mn.c: Regenerated.
45709         * tests/unictype/test-categ_N.c: Regenerated.
45710         * tests/unictype/test-categ_Nd.c: Regenerated.
45711         * tests/unictype/test-categ_Nl.c: Regenerated.
45712         * tests/unictype/test-categ_No.c: Regenerated.
45713         * tests/unictype/test-categ_P.c: Regenerated.
45714         * tests/unictype/test-categ_Pd.c: Regenerated.
45715         * tests/unictype/test-categ_Pe.c: Regenerated.
45716         * tests/unictype/test-categ_Pf.c: Regenerated.
45717         * tests/unictype/test-categ_Pi.c: Regenerated.
45718         * tests/unictype/test-categ_Po.c: Regenerated.
45719         * tests/unictype/test-categ_Ps.c: Regenerated.
45720         * tests/unictype/test-categ_S.c: Regenerated.
45721         * tests/unictype/test-categ_Sk.c: Regenerated.
45722         * tests/unictype/test-categ_Sm.c: Regenerated.
45723         * tests/unictype/test-categ_So.c: Regenerated.
45724         * tests/unictype/test-ctype_alnum.c: Regenerated.
45725         * tests/unictype/test-ctype_alpha.c: Regenerated.
45726         * tests/unictype/test-ctype_graph.c: Regenerated.
45727         * tests/unictype/test-ctype_lower.c: Regenerated.
45728         * tests/unictype/test-ctype_print.c: Regenerated.
45729         * tests/unictype/test-ctype_punct.c: Regenerated.
45730         * tests/unictype/test-ctype_upper.c: Regenerated.
45731         * tests/unictype/test-decdigit.h: Regenerated.
45732         * tests/unictype/test-digit.h: Regenerated.
45733         * tests/unictype/test-numeric.h: Regenerated.
45734         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45735         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45736         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45737         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45738         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45739         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45740         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45741         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45742         * tests/unictype/test-pr_combining.c: Regenerated.
45743         * tests/unictype/test-pr_dash.c: Regenerated.
45744         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45745         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45746         * tests/unictype/test-pr_deprecated.c: Regenerated.
45747         * tests/unictype/test-pr_diacritic.c: Regenerated.
45748         * tests/unictype/test-pr_extender.c: Regenerated.
45749         * tests/unictype/test-pr_format_control.c: Regenerated.
45750         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45751         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45752         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45753         * tests/unictype/test-pr_id_continue.c: Regenerated.
45754         * tests/unictype/test-pr_id_start.c: Regenerated.
45755         * tests/unictype/test-pr_ideographic.c: Regenerated.
45756         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45757         * tests/unictype/test-pr_lowercase.c: Regenerated.
45758         * tests/unictype/test-pr_math.c: Regenerated.
45759         * tests/unictype/test-pr_numeric.c: Regenerated.
45760         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45761         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45762         Regenerated.
45763         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45764         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45765         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45766         * tests/unictype/test-pr_other_math.c: Regenerated.
45767         * tests/unictype/test-pr_punctuation.c: Regenerated.
45768         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45769         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45770         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45771         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45772         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45773         * tests/unictype/test-pr_uppercase.c: Regenerated.
45774         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45775         * tests/unictype/test-pr_xid_start.c: Regenerated.
45776         * tests/unictype/test-pr_zero_width.c: Regenerated.
45777
45778         Update to Unicode 5.1.0.
45779         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45780         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45781         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45782         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45783         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45784         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45785         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45786         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45787         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45788         (nonspacing_table_ind): Update.
45789         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45790
45791         Update to Unicode 5.1.0.
45792         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45793         code transform.
45794         * lib/uniname/uniname.c (unicode_character_name,
45795         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45796         * lib/uniname/uninames.h: Regenerated.
45797         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45798
45799 2009-02-07  Bruno Haible  <bruno@clisp.org>
45800
45801         Merge gen-ctype and gen-lbrk into a single program.
45802         * lib/gen-uni-tables.c: New file, incorporating
45803         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45804         Add directory prefixes to the names of the generated files.
45805         * lib/unictype/gen-ctype.c: Remove file.
45806         * lib/unilbrk/gen-lbrk.c: Remove file.
45807         * modules/gen-uni-tables: New file.
45808         * modules/unictype/gen-ctype: Remove file.
45809         * modules/unilbrk/gen-lbrk: Remove file.
45810
45811 2009-02-07  Bruno Haible  <bruno@clisp.org>
45812
45813         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45814
45815         New module 'unistr/u32-strcoll'.
45816         * modules/unistr/u32-strcoll: New file.
45817         * lib/unistr/u32-strcoll.c: New file.
45818
45819         New module 'unistr/u16-strcoll'.
45820         * modules/unistr/u16-strcoll: New file.
45821         * lib/unistr/u16-strcoll.c: New file.
45822
45823         New module 'unistr/u8-strcoll'.
45824         * modules/unistr/u8-strcoll: New file.
45825         * lib/unistr/u8-strcoll.c: New file.
45826         * lib/unistr/u-strcoll.h: New file.
45827
45828 2009-02-07  Bruno Haible  <bruno@clisp.org>
45829
45830         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45831         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45832         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45833         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45834         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45835         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45836
45837 2009-02-07  Bruno Haible  <bruno@clisp.org>
45838
45839         Make 64-bit clean.
45840         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45841         output_combclass, output_bidi_category, output_decimal_digit,
45842         output_digit, output_numeric, output_mirror, output_scripts,
45843         output_ident_category): Use proper width specifier in format strings.
45844
45845 2009-02-07  Bruno Haible  <bruno@clisp.org>
45846
45847         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45848         failure behaviour.
45849
45850 2009-02-07  Jim Meyering  <meyering@redhat.com>
45851
45852         regex: avoid compilation failure with upcoming gcc-4.4
45853         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45854         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45855         "... error: integer overflow in preprocessor expression".
45856
45857 2009-02-05  Ben Pfaff  <blp@gnu.org>
45858
45859         Fix link errors on Windows when close module is used.
45860         * modules/close: Add $(LIB_CLOSE) to Link section.
45861         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45862         $(LIB_CLOSE) on Windows.
45863
45864 2009-02-05  Jim Meyering  <meyering@redhat.com>
45865
45866         still avoid unused-parameter warnings, but do it cleanly
45867         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45868         (get_fs_usage): Cast to void instead.
45869         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45870         (dev_from_mount_options, read_file_system_list): Cast to void.
45871         Prompted by Bruno Haible.
45872
45873 2009-02-04  Jim Meyering  <meyering@redhat.com>
45874
45875         fsusage.c: correct copyright year
45876         * lib/fsusage.c: Reflect year in which the change is pushed into
45877
45878         avoid misc. warnings
45879         * lib/fsusage.c (UNUSED_PARAM): Define.
45880         (get_fs_usage): Mark parameter "disk" as unused.
45881         * lib/getugroups.c (getgrent): Use "void" in prototype.
45882         * lib/mountlist.c: Mark unused parameters.
45883         (read_file_system_list): Declare a local with "const".
45884         * lib/nanosleep.c (getnow): Declare static.
45885         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45886
45887         dirfd: set errno upon failure
45888         * lib/dirfd.c: Include <errno.h>.
45889         Set errno to ENOTSUP when returning -1.
45890         * modules/dirfd (Depends-on): Add errno.
45891         Suggested by John Kodis <kodis@comcast.net>.
45892
45893 2009-02-01  Bruno Haible  <bruno@clisp.org>
45894
45895         Don't assume sizeof (long) >= sizeof (void *).
45896         * lib/memcmp.c: Include stdint.h.
45897         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45898         srcp2 to 'const byte *'.
45899         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45900         types to uintptr_t.
45901         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45902         * modules/memcmp (Depends-on): Add stdint.
45903         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45904
45905 2009-01-30  Eric Blake  <ebb9@byu.net>
45906
45907         fix more require-before-expand issues
45908         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45909         expand, AC_PROG_AWK.
45910         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45911
45912 2009-01-28  Eric Blake  <ebb9@byu.net>
45913
45914         version-etc: use consistent URL formatting
45915         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45916         Improve formatting.  Use fputs for string without %.
45917
45918 2009-01-28  Jim Meyering  <meyering@redhat.com>
45919
45920         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45921         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45922         "underquoted definition of NAME" from autoconf-2.59.
45923
45924 2009-01-28  Bruno Haible  <bruno@clisp.org>
45925
45926         * doc/gnulib.texi: Add "Obsolete modules" to index.
45927
45928 2009-01-28  Jim Meyering  <meyering@redhat.com>
45929
45930         useless-if-before-free: recognize more variants
45931         * build-aux/useless-if-before-free: Also recognize e.g.,
45932         if (NULL != p) free (p);
45933
45934 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45935
45936         test-getaddrinfo: skip (don't fail) this test when there's no network
45937         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45938         on the presumption that it means you lack network access.
45939
45940 2009-01-26  Jim Meyering  <meyering@redhat.com>
45941
45942         fflush: avoid warnings on modern systems
45943         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45944         pos and result, into scopes where they're used.
45945
45946 2009-01-26  Eric Blake  <ebb9@byu.net>
45947
45948         Silence warning reintroduced by recent extensions patch.
45949         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45950         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45951         autoconf.
45952
45953         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45954         * m4/00gnulib.m4: New file.
45955         * gnulib-tool (func_get_filelist): Always use it.
45956         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45957         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45958
45959 2009-01-25  Bruno Haible  <bruno@clisp.org>
45960
45961         Make test-quotearg work on MacOS X and AIX.
45962         * tests/test-quotearg.sh: New file.
45963         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45964         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45965         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45966         include <libintl.h>.
45967         (fake_locale): Remove variable.
45968         (gettext, dgettext, dcgettext): Remove functions.
45969         (main): Instead of setting a fake locale, set a real locale. Call
45970         textdomain and bindtextdomain.
45971         * modules/quotearg-tests (Files): Add the new files.
45972         (Depends-on): Add gettext, setenv, unsetenv.
45973         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45974         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45975         Augment TESTS_ENVIRONMENT.
45976
45977 2009-01-25  Bruno Haible  <bruno@clisp.org>
45978
45979         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45980         fr_FR.ISO8859-1 locale on MacOS X.
45981         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45982         ja_JP.eucJP locale on MacOS X.
45983         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45984         zh_CN.GB18030 locale on MacOS X.
45985
45986 2009-01-25  Bruno Haible  <bruno@clisp.org>
45987
45988         Avoid link errors on MacOS X 10.3.
45989         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45990         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45991
45992 2009-01-25  Bruno Haible  <bruno@clisp.org>
45993
45994         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45995         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45996         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45997         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45998         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45999         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46000         posix_spawnattr_init, posix_spawnattr_setsigmask,
46001         posix_spawnattr_setflags, posix_spawnattr_destroy.
46002
46003         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46004         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46005         * modules/execute (Files): Remove m4/posix_spawn.m4.
46006         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46007         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46008         posix_spawnattr_init, posix_spawnattr_setsigmask,
46009         posix_spawnattr_setflags, posix_spawnattr_destroy.
46010
46011 2009-01-25  Bruno Haible  <bruno@clisp.org>
46012
46013         * lib/glthread/threadlib.c: Include <stdlib.h>.
46014
46015 2009-01-25  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/glthread/threadlib.c (dummy): New declaration.
46018
46019 2009-01-25  Bruno Haible  <bruno@clisp.org>
46020
46021         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46022         multibyte characters also for the GB18030 encoding. Don't crash when
46023         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46024
46025 2009-01-25  Bruno Haible  <bruno@clisp.org>
46026
46027         Avoid redefining 'struct random_data' on OSF/1 5.1.
46028         * lib/stdlib.in.h: Include <random.h> if it exists.
46029         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46030         HAVE_RANDOM_H. Include <random.h> when testing whether
46031         'struct random_data' exists.
46032         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46033
46034 2009-01-25  Bruno Haible  <bruno@clisp.org>
46035
46036         Don't install charset.alias on MacOS X >= 10.3.
46037         * lib/localcharset.c (DARWIN7): New macro.
46038         (get_charset_aliases): Hardcode the result for Darwin7.
46039         * modules/localcharset (install-exec-local): Don't install
46040         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46041
46042 2009-01-25  Bruno Haible  <bruno@clisp.org>
46043
46044         Don't install charset.alias on mingw and Cygwin.
46045         * modules/localcharset (install-exec-local): Don't install
46046         charset.alias on mingw and Cygwin, if the file does not yet exist.
46047         The result for these platforms is hardcoded in localcharset.c.
46048
46049 2009-01-25  Bruno Haible  <bruno@clisp.org>
46050
46051         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46052         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46053         before requiring AC_USE_SYSTEM_EXTENSIONS.
46054
46055 2009-01-25  Jim Meyering  <meyering@redhat.com>
46056
46057         c-strtod: avoid warnings
46058         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46059         "assignment discards qualifiers from pointer target type" warnings.
46060
46061 2009-01-24  Bruno Haible  <bruno@clisp.org>
46062
46063         Add support for non-UTF-8 locales on MacOS X.
46064         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46065         canonical encodings. For Darwin 7 and newer, don't map traditional
46066         encodings to UTF-8.
46067         Reported by Vincent Lefevre <vincent@vinc17.org>
46068         at <http://savannah.gnu.org/bugs/?25235>.
46069
46070 2009-01-24  Bruno Haible  <bruno@clisp.org>
46071
46072         * doc/gnulib.texi (Obsolete modules): New section.
46073         Reported by Mike Frysinger <vapier@gentoo.org>.
46074
46075 2009-01-24  Bruno Haible  <bruno@clisp.org>
46076
46077         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46078         (%.dvi): New rule.
46079
46080 2009-01-24  Bruno Haible  <bruno@clisp.org>
46081
46082         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46083         Reported by Eric Blake.
46084
46085 2009-01-24  Bruno Haible  <bruno@clisp.org>
46086
46087         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46088         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46089         Reported by Gary V. Vaughan <gary@gnu.org>.
46090
46091 2009-01-24  Bruno Haible  <bruno@clisp.org>
46092
46093         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46094
46095 2009-01-23  Bruno Haible  <bruno@clisp.org>
46096
46097         Make c-strtod, c-strtold usable in libraries.
46098         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46099         (C_STRTOD): Call strdup instead of xstrdup.
46100         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46101         * modules/c-strtold (Depends-on): Likewise.
46102         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46103         * NEWS: Mention the change.
46104         Reported by Michael Gold <mgold@ncf.ca>.
46105
46106 2009-01-23  Jim Meyering  <meyering@redhat.com>
46107
46108         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46109         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46110         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46111
46112 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46113
46114         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46115         GNU CoreUtils.
46116         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46117         * modules/version-etc (Description): Update.
46118
46119 2009-01-22  Bruno Haible  <bruno@clisp.org>
46120
46121         Cache the C locale object.
46122         * lib/c-strtod.c (c_locale_cache): New variable.
46123         (c_locale): New function.
46124         (C_STRTOD): Use it, and don't call freelocale.
46125         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46126         Suggested by Paolo Bonzini.
46127
46128 2009-01-21  Bruno Haible  <bruno@clisp.org>
46129
46130         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46131         conditions other than overflow.
46132
46133 2009-01-21  Bruno Haible  <bruno@clisp.org>
46134
46135         * lib/c-strtod.c: Include errno.h.
46136         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46137         value from STRTOD_L and STRTOD.
46138
46139 2009-01-21  Bruno Haible  <bruno@clisp.org>
46140         and Jim Meyering  <meyering@redhat.com>
46141
46142         nanosleep: skip configure test (fail it) for apple universal builds
46143         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46144         universal builds, assume that nanosleep does not work.
46145         * modules/nanosleep (Depends-on): Add multiarch.
46146
46147         mktime: skip configure test (fail it) for apple universal builds
46148         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46149         universal builds, assume that mktime does not work.
46150         * modules/mktime (Depends-on): Add multiarch.
46151
46152 2009-01-21  Eric Blake  <ebb9@byu.net>
46153
46154         multiarch: avoid expand-before-require warning
46155         * modules/multiarch (configure.ac): Require, rather than expand,
46156         gl_MULTIARCH.
46157         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46158         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46159         enforce that all clients require it.  Partial reversion of
46160         2008-12-29 patch.
46161
46162         error: avoid expand-before-require warning
46163         * modules/errno (configure.ac): Require, rather than expand,
46164         gl_HEADER_ERRNO_H.
46165         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46166         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46167         enforce that all clients require it.
46168
46169         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46170         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46171         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46172         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46173
46174 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46175
46176         Revert:
46177         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46178
46179         regex: do not depend on obsolete modules.
46180         * modules/regex: Remove memcmp and memmove.
46181
46182 2009-01-20  Bruno Haible  <bruno@clisp.org>
46183
46184         Make the 'link' module link on Windows NT 4.
46185         * lib/link.c (_WIN32_WINNT): Don't define.
46186         (CreateHardLinkFuncType): New type.
46187         (CreateHardLinkFunc, initialized): New variables.
46188         (initialize): New function.
46189         (link): Invoke CreateHardLink indirectly through the function pointer.
46190
46191 2009-01-20  Bruno Haible  <bruno@clisp.org>
46192
46193         Fix compilation failure on mingw.
46194         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46195
46196 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46197
46198         * doc/c-strtod.texi: Mention a couple of restrictions.
46199
46200 2009-01-20  Jim Meyering  <meyering@redhat.com>
46201
46202         gettimeofday: move more declarations out of functions
46203         * lib/gettimeofday.c: Move extern declarations of tzset and
46204         gmtime out of containing functions.  Prompted by Bruno Haible.
46205
46206 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46207
46208         regex: do not depend on obsolete modules.
46209         * modules/regex: Remove memcmp and memmove.
46210
46211 2009-01-19  Bruno Haible  <bruno@clisp.org>
46212
46213         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46214         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46215         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46216         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46217         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46218
46219 2009-01-19  Bruno Haible  <bruno@clisp.org>
46220
46221         * tests/test-link.c: Include <errno.h>.
46222         (main): Exit with code 77 when a hard link cannot be created due to
46223         the file system.
46224         * tests/test-link.sh: Skip test when a hard link cannot be created due
46225         to the file system.
46226         Suggested by Eric Blake.
46227
46228 2009-01-19  Martin Lambers  <marlam@marlam.de>
46229
46230         * modules/link-tests: New file.
46231         * tests/test-link.sh: New file.
46232         * tests/test-link.c: New file.
46233
46234 2009-01-19  Eric Blake  <ebb9@byu.net>
46235
46236         doc: mention another function added in cygwin 1.7.0
46237         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46238         Another new function in cygwin 1.7.
46239
46240 2009-01-19  Bruno Haible  <bruno@clisp.org>
46241
46242         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46243         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46244         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46245         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46246         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46247         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46248         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46249         * m4/md4.m4 (gl_MD4): Likewise.
46250         * m4/md5.m4 (gl_MD5): Likewise.
46251         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46252         * m4/sha1.m4 (gl_SHA1): Likewise.
46253         * m4/sha256.m4 (gl_SHA256): Likewise.
46254         * m4/sha512.m4 (gl_SHA512): Likewise.
46255
46256 2009-01-19  Bruno Haible  <bruno@clisp.org>
46257
46258         * modules/uniname/uniname-tests (Depends-on): Add progname.
46259         * tests/uniname/test-uninames.c: Include progname.h.
46260         (main): Call set_program_name.
46261
46262         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46263         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46264         (main): Call set_program_name.
46265
46266         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46267         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46268         (main): Call set_program_name.
46269
46270         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46271         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46272         (main): Call set_program_name.
46273
46274         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46275         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46276         (main): Call set_program_name.
46277
46278         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46279         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46280         (main): Call set_program_name.
46281
46282         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46283         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46284         (main): Call set_program_name.
46285
46286         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46287         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46288         (main): Call set_program_name.
46289
46290         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46291         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46292         (main): Call set_program_name.
46293
46294 2009-01-19  Eric Blake  <ebb9@byu.net>
46295
46296         test-unistd: test previous patch
46297         * tests/test-unistd.c: Test *_FILENO macros.
46298
46299         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46300         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46301         Guarantee a definition.
46302         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46303         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46304         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46305         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46306         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46307         Likewise.
46308         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46309         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46310         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46311         Likewise.
46312         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46313         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46314         (STDERR_FILENO): Likewise.
46315         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46316         (STDERR_FILENO): Likewise.
46317         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46318         (STDERR_FILENO): Likewise.
46319         Reported by Elbert Pol.
46320
46321 2009-01-19  Eric Blake  <ebb9@byu.net>
46322
46323         doc: mention more functions added in cygwin 1.7.0
46324         * doc/posix-functions/abort.texi (abort): Update wording related
46325         to cygwin.
46326         * doc/posix-functions/daylight.texi (daylight): Likewise.
46327         * doc/posix-functions/optarg.texi (optarg): Likewise.
46328         * doc/posix-functions/optarg.texi (opterr): Likewise.
46329         * doc/posix-functions/optarg.texi (optind): Likewise.
46330         * doc/posix-functions/optarg.texi (optopt): Likewise.
46331         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46332         worked in 1.5.x, and was withdrawn in 1.7.
46333         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46334         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46335         cygwin versions.
46336         * doc/posix-functions/perror.texi (perror): Likewise.
46337         * doc/posix-functions/printf.texi (printf): Likewise.
46338         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46339         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46340         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46341         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46342         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46343         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46344         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46345         Likewise.
46346         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46347         Likewise.
46348         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46349         this function.
46350         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46351         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46352         Likewise.
46353         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46354         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46355         * doc/posix-functions/confstr.texi (confstr): Likewise.
46356         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46357         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46358         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46359         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46360         * doc/posix-functions/fputws.texi (fputws): Likewise.
46361         * doc/posix-functions/fwide.texi (fwide): Likewise.
46362         * doc/posix-functions/getwc.texi (getwc): Likewise.
46363         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46364         * doc/posix-functions/putwc.texi (putwc): Likewise.
46365         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46366         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46367         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46368         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46369         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46370         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46371         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46372         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46373         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46374         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46375         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46376
46377 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46378
46379         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46380         * lib/ioctl.c: Include <sys/ioctl.h>.
46381
46382 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46383
46384         * modules/getdate-tests (Depends-on): Add progname.
46385         * tests/test-getdate.c: Use progname module, to avoid link errors
46386         on non-glibc systems.
46387
46388 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46389
46390         * modules/filenamecat-tests (Depends-on): Add progname.
46391         * modules/fstrcmp-tests (Depends-on): Likewise.
46392
46393         * tests/test-filenamecat.c: Use progname module, to avoid link
46394         errors on non-glibc systems.
46395         * tests/test-fstrcmp.c: Likewise.
46396
46397 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46398
46399         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46400         * lib/gettimeofday.c: Move extern declaration out of function.
46401
46402 2009-01-18  Bruno Haible  <bruno@clisp.org>
46403
46404         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46405         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46406         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46407
46408 2009-01-18  Bruno Haible  <bruno@clisp.org>
46409
46410         * lib/strftime.c (MEMPCPY): Remove unused macro.
46411         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46412
46413 2009-01-18  Martin Lambers  <marlam@marlam.de>
46414
46415         New module 'link'.
46416         * lib/unistd.in.h (link): New declaration.
46417         * lib/link.c: New file.
46418         * m4/link.m4: New file.
46419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46420         HAVE_LINK.
46421         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46422         * modules/link: New file.
46423         * doc/posix-functions/link.texi: Mention the new module.
46424
46425 2009-01-18  Bruno Haible  <bruno@clisp.org>
46426
46427         * tests/test-avltree_list.c (main): Call set_program_name.
46428         * tests/test-avltree_oset.c (main): Likewise.
46429         * tests/test-obstack-printf.c: Include progname.h.
46430         (main): Call set_program_name.
46431         * tests/test-quotearg.c: Include progname.h.
46432         (main): Call set_program_name.
46433         * tests/test-xmemdup0.c: Include progname.h.
46434         (main): Call set_program_name.
46435
46436 2009-01-18  Bruno Haible  <bruno@clisp.org>
46437
46438         New module 'alphasort'.
46439         * lib/dirent.in.h (alphasort): New declaration.
46440         * lib/alphasort.c: New file, from glibc with modifications.
46441         * m4/alphasort.m4: New file.
46442         * modules/alphasort: New file.
46443         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46444         HAVE_ALPHASORT.
46445         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46446         HAVE_ALPHASORT.
46447         * doc/posix-functions/alphasort.texi: Mention the new module and the
46448         portability problems.
46449
46450 2009-01-18  Bruno Haible  <bruno@clisp.org>
46451
46452         New module 'scandir'.
46453         * lib/dirent.in.h (scandir): New declaration.
46454         * lib/scandir.c: New file, from glibc with modifications.
46455         * m4/scandir.m4: New file.
46456         * modules/scandir: New file.
46457         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46458         HAVE_SCANDIR.
46459         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46460         HAVE_SCANDIR.
46461         * doc/posix-functions/scandir.texi: Mention the new module and the
46462         portability problems.
46463
46464 2009-01-17  Bruno Haible  <bruno@clisp.org>
46465
46466         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46467         Update documentation.
46468         (func_remove_suffix): Escape all dots in the suffix. Update
46469         documentation.
46470         (func_filter_filelist): Update documentation.
46471         Reported by Ralf Wildenhues.
46472
46473 2009-01-17  Bruno Haible  <bruno@clisp.org>
46474
46475         * modules/dprintf-posix-tests: New file.
46476         * tests/test-dprintf-posix.sh: New file.
46477         * tests/test-dprintf-posix.c: New file.
46478
46479         New modules 'dprintf', 'dprintf-posix'.
46480         * lib/stdio.in.h (dprintf): New declaration.
46481         * lib/dprintf.c: New file.
46482         * m4/dprintf.m4: New file.
46483         * m4/dprintf-posix.m4: New file.
46484         * modules/dprintf: New file.
46485         * modules/dprintf-posix: New file.
46486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46487         HAVE_DPRINTF, REPLACE_DPRINTF.
46488         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46489         HAVE_DPRINTF, REPLACE_DPRINTF.
46490         * doc/posix-functions/dprintf.texi: Mention the new modules.
46491
46492 2009-01-17  Bruno Haible  <bruno@clisp.org>
46493
46494         * modules/vdprintf-posix-tests: New file.
46495         * tests/test-vdprintf-posix.sh: New file.
46496         * tests/test-vdprintf-posix.c: New file.
46497
46498         New modules 'vdprintf', 'vdprintf-posix'.
46499         * lib/stdio.in.h (vdprintf): New declaration.
46500         * lib/vdprintf.c: New file.
46501         * m4/vdprintf.m4: New file.
46502         * m4/vdprintf-posix.m4: New file.
46503         * modules/vdprintf: New file.
46504         * modules/vdprintf-posix: New file.
46505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46506         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46507         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46508         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46509         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46510
46511 2009-01-17  Bruno Haible  <bruno@clisp.org>
46512
46513         Fix replacement of fopen on mingw.
46514         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46515         mingw.
46516
46517 2009-01-17  Bruno Haible  <bruno@clisp.org>
46518
46519         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46520         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46521
46522 2009-01-17  Bruno Haible  <bruno@clisp.org>
46523
46524         Avoid test-fflush2.sh failure on mingw.
46525         * tests/test-fflush2.c: Include binary-io.h.
46526         (main): Put standard input into binary mode.
46527         * modules/fflush-tests (Depends-on): Add binary-io.
46528
46529 2009-01-17  Bruno Haible  <bruno@clisp.org>
46530
46531         * lib/wchar.in.h: In another particular situation, include only the
46532         system's <wchar.h> file.
46533         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46534         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46535         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46536
46537 2009-01-17  Bruno Haible  <bruno@clisp.org>
46538
46539         Support for stripping executables in --enable-relocatable.
46540         * build-aux/install-reloc: Expect one more argument, or an environment
46541         variable RELOC_STRIP_PROG. If set, strip the destination program and
46542         its wrapper.
46543         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46544         RELOC_STRIP_PROG.
46545         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46546         to set RELOCATABLE_STRIP.
46547         * NEWS: Mention the new Makefile requirement.
46548
46549 2009-01-17  Bruno Haible  <bruno@clisp.org>
46550
46551         * build-aux/install-reloc: Remove debugging information left over by
46552         C compiler on MacOS X.
46553
46554 2009-01-17  Bruno Haible  <bruno@clisp.org>
46555
46556         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46557         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46558         _NSGetExecutablePath.
46559
46560 2009-01-16  Jim Meyering  <meyering@redhat.com>
46561
46562         strerror: avoid warnings about discarding "const"
46563         * lib/strerror.c (rpl_strerror): Instead of returning a const
46564         string from each and every "case", use a variable, and add a single
46565         cast after the switch.
46566
46567 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46568
46569         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46570
46571 2009-01-16  Bruno Haible  <bruno@clisp.org>
46572
46573         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46574         array initializer syntax that also works in C++ mode.
46575         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46576
46577 2009-01-16  Jim Meyering  <meyering@redhat.com>
46578
46579         poll: suppress a warning
46580         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46581         to ignore "...unsigned expression < 0 is always false" warnings.
46582
46583 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46584
46585         poll: remove declarations of unused variables
46586         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46587         sockbuf and optlen.
46588
46589 2009-01-15  Bruno Haible  <bruno@clisp.org>
46590
46591         Make fflush-after-ungetc POSIX compliant on BSD systems.
46592         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46593         (clear_ungetc_buffer): Implement also for other systems.
46594         (rpl_fflush): On glibc systems, invoke
46595         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46596         clear_ungetc_buffer after fetching the stream's position, not before.
46597
46598 2009-01-15  Bruno Haible  <bruno@clisp.org>
46599
46600         Make fflush-after-ungetc POSIX compliant on glibc systems.
46601         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46602         after ungetc.
46603         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46604         (rpl_fflush): On glibc systems, simply call the system's fflush
46605         function after clearing the ungetc buffer.
46606         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46607         Instead, lseek only to the end of file, then use the system's fseeko
46608         for the rest. On glibc systems, reset the EOF indicator bit.
46609
46610 2009-01-15  Jim Meyering  <meyering@redhat.com>
46611
46612         openmp.m4: revert quote-adding change, for portability to older autoconf
46613         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46614         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46615         Simon Josefsson noticed the problem when using autoconf-2.61.
46616
46617 2009-01-15  Bruno Haible  <bruno@clisp.org>
46618
46619         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46620         * tests/test-fflush2.c (ASSERT): Always fail.
46621         (main): Add two tests for fflush() after ungetc(), taking into account
46622         the Austin Group's clarification.
46623         Suggested by Eric Blake.
46624
46625 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46626
46627         mktime.m4: remove K&R-style function prototypes
46628         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46629         for the Sun C++ compiler.
46630
46631 2009-01-14  Bruno Haible  <bruno@clisp.org>
46632
46633         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46634         while including <wchar.h>.
46635         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46636         the system's <wchar.h> file.
46637         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46638
46639 2009-01-14  Bruno Haible  <bruno@clisp.org>
46640
46641         * m4/csharp.m4: Don't mention gettext on the serial number line.
46642         * m4/csharpexec.m4: Likewise.
46643         * m4/eaccess.m4: Likewise.
46644         * m4/javaexec.m4: Likewise.
46645         * m4/sig_atomic_t.m4: Likewise.
46646         * m4/tmpdir.m4: Likewise.
46647         * m4/intldir.m4: Bump gettext version.
46648         * m4/lib-ld.m4: Likewise.
46649
46650 2009-01-14  Bruno Haible  <bruno@clisp.org>
46651
46652         * lib/progname.c (set_program_name): Add more comments.
46653         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46654
46655 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46656
46657         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46658         were sys/stat.h does not define it.
46659
46660 2009-01-14  Jim Meyering  <meyering@redhat.com>
46661
46662         many *.m4 files: improve m4 quoting
46663         99% of this change was performed by running the following commands:
46664         git ls-files | grep '\.m4$' | xargs perl -pi \
46665           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46666           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46667           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46668           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46669         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46670         The remainder were to add Copyright dates, increment serial numbers,
46671         undo some changes in comments, exclude m4/intl.m4, and add quotes
46672         around the "1" in ",1" where the unusual spacing prohibited the
46673         above regexps from doing the job.  For more details, see
46674         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46675         * m4/acl.m4: Modified.
46676         * m4/afs.m4: Likewise.
46677         * m4/alloca.m4: Likewise.
46678         * m4/argp.m4: Likewise.
46679         * m4/argz.m4: Likewise.
46680         * m4/atexit.m4: Likewise.
46681         * m4/bison-i18n.m4: Likewise.
46682         * m4/bison.m4: Likewise.
46683         * m4/byteswap.m4: Likewise.
46684         * m4/c-stack.m4: Likewise.
46685         * m4/c-strtod.m4: Likewise.
46686         * m4/calloc.m4: Likewise.
46687         * m4/canonicalize-lgpl.m4: Likewise.
46688         * m4/chown.m4: Likewise.
46689         * m4/clock_time.m4: Likewise.
46690         * m4/codeset.m4: Likewise.
46691         * m4/copy-file.m4: Likewise.
46692         * m4/csharp.m4: Likewise.
46693         * m4/csharpcomp.m4: Likewise.
46694         * m4/csharpexec.m4: Likewise.
46695         * m4/d-ino.m4: Likewise.
46696         * m4/d-type.m4: Likewise.
46697         * m4/dirfd.m4: Likewise.
46698         * m4/double-slash-root.m4: Likewise.
46699         * m4/eaccess.m4: Likewise.
46700         * m4/eealloc.m4: Likewise.
46701         * m4/environ.m4: Likewise.
46702         * m4/errno_h.m4: Likewise.
46703         * m4/euidaccess.m4: Likewise.
46704         * m4/execute.m4: Likewise.
46705         * m4/fatal-signal.m4: Likewise.
46706         * m4/fchdir.m4: Likewise.
46707         * m4/fcntl_h.m4: Likewise.
46708         * m4/fileblocks.m4: Likewise.
46709         * m4/filenamecat.m4: Likewise.
46710         * m4/findprog.m4: Likewise.
46711         * m4/flexmember.m4: Likewise.
46712         * m4/fnmatch.m4: Likewise.
46713         * m4/fopen.m4: Likewise.
46714         * m4/fpending.m4: Likewise.
46715         * m4/fprintf-posix.m4: Likewise.
46716         * m4/free.m4: Likewise.
46717         * m4/frexp.m4: Likewise.
46718         * m4/frexpl.m4: Likewise.
46719         * m4/fsusage.m4: Likewise.
46720         * m4/ftruncate.m4: Likewise.
46721         * m4/gc-camellia.m4: Likewise.
46722         * m4/gc-random.m4: Likewise.
46723         * m4/gc.m4: Likewise.
46724         * m4/getaddrinfo.m4: Likewise.
46725         * m4/getcwd-abort-bug.m4: Likewise.
46726         * m4/getcwd-path-max.m4: Likewise.
46727         * m4/getdate.m4: Likewise.
46728         * m4/getdomainname.m4: Likewise.
46729         * m4/getgroups.m4: Likewise.
46730         * m4/gethostname.m4: Likewise.
46731         * m4/gethrxtime.m4: Likewise.
46732         * m4/getline.m4: Likewise.
46733         * m4/getloadavg.m4: Likewise.
46734         * m4/getndelim2.m4: Likewise.
46735         * m4/getpass.m4: Likewise.
46736         * m4/gettext.m4: Likewise.
46737         * m4/gettime.m4: Likewise.
46738         * m4/gettimeofday.m4: Likewise.
46739         * m4/gnulib-common.m4: Likewise.
46740         * m4/group-member.m4: Likewise.
46741         * m4/host-os.m4: Likewise.
46742         * m4/iconv.m4: Likewise.
46743         * m4/iconv_open.m4: Likewise.
46744         * m4/inet_ntop.m4: Likewise.
46745         * m4/inet_pton.m4: Likewise.
46746         * m4/inline.m4: Likewise.
46747         * m4/intldir.m4: Likewise.
46748         * m4/intlmacosx.m4: Likewise.
46749         * m4/intmax.m4: Likewise.
46750         * m4/intmax_t.m4: Likewise.
46751         * m4/inttypes.m4: Likewise.
46752         * m4/inttypes_h.m4: Likewise.
46753         * m4/inttypes-pri.m4: Likewise.
46754         * m4/isapipe.m4: Likewise.
46755         * m4/isnand.m4: Likewise.
46756         * m4/isnanf.m4: Likewise.
46757         * m4/isnanl.m4: Likewise.
46758         * m4/javacomp.m4: Likewise.
46759         * m4/javaexec.m4: Likewise.
46760         * m4/jm-winsz1.m4: Likewise.
46761         * m4/jm-winsz2.m4: Likewise.
46762         * m4/lchown.m4: Likewise.
46763         * m4/lcmessage.m4: Likewise.
46764         * m4/ldexpl.m4: Likewise.
46765         * m4/lib-ld.m4: Likewise.
46766         * m4/lib-link.m4: Likewise.
46767         * m4/libsigsegv.m4: Likewise.
46768         * m4/link-follow.m4: Likewise.
46769         * m4/localcharset.m4: Likewise.
46770         * m4/locale-fr.m4: Likewise.
46771         * m4/locale-ja.m4: Likewise.
46772         * m4/locale-tr.m4: Likewise.
46773         * m4/locale-zh.m4: Likewise.
46774         * m4/lock.m4: Likewise.
46775         * m4/longlong.m4: Likewise.
46776         * m4/ls-mntd-fs.m4: Likewise.
46777         * m4/lstat.m4: Likewise.
46778         * m4/malloc.m4: Likewise.
46779         * m4/mathl.m4: Likewise.
46780         * m4/mbrtowc.m4: Likewise.
46781         * m4/mbstate_t.m4: Likewise.
46782         * m4/mbswidth.m4: Likewise.
46783         * m4/memchr.m4: Likewise.
46784         * m4/memcmp.m4: Likewise.
46785         * m4/memcpy.m4: Likewise.
46786         * m4/memmem.m4: Likewise.
46787         * m4/memmove.m4: Likewise.
46788         * m4/mempcpy.m4: Likewise.
46789         * m4/memrchr.m4: Likewise.
46790         * m4/memset.m4: Likewise.
46791         * m4/minmax.m4: Likewise.
46792         * m4/mkdir-slash.m4: Likewise.
46793         * m4/mkdtemp.m4: Likewise.
46794         * m4/mktime.m4: Likewise.
46795         * m4/mmap-anon.m4: Likewise.
46796         * m4/mountlist.m4: Likewise.
46797         * m4/nanosleep.m4: Likewise.
46798         * m4/nls.m4: Likewise.
46799         * m4/nocrash.m4: Likewise.
46800         * m4/open.m4: Likewise.
46801         * m4/openat.m4: Likewise.
46802         * m4/openmp.m4: Likewise.
46803         * m4/pathmax.m4: Likewise.
46804         * m4/perl.m4: Likewise.
46805         * m4/physmem.m4: Likewise.
46806         * m4/pipe.m4: Likewise.
46807         * m4/po.m4: Likewise.
46808         * m4/poll.m4: Likewise.
46809         * m4/posixtm.m4: Likewise.
46810         * m4/posixver.m4: Likewise.
46811         * m4/printf-frexp.m4: Likewise.
46812         * m4/printf-frexpl.m4: Likewise.
46813         * m4/printf-posix.m4: Likewise.
46814         * m4/printf-posix-rpl.m4: Likewise.
46815         * m4/printf.m4: Likewise.
46816         * m4/progtest.m4: Likewise.
46817         * m4/putenv.m4: Likewise.
46818         * m4/readline.m4: Likewise.
46819         * m4/readlink.m4: Likewise.
46820         * m4/readutmp.m4: Likewise.
46821         * m4/realloc.m4: Likewise.
46822         * m4/regex.m4: Likewise.
46823         * m4/relocatable.m4: Likewise.
46824         * m4/relocatable-lib.m4: Likewise.
46825         * m4/rename-dest-slash.m4: Likewise.
46826         * m4/rename.m4: Likewise.
46827         * m4/rmdir-errno.m4: Likewise.
46828         * m4/rmdir.m4: Likewise.
46829         * m4/roundf.m4: Likewise.
46830         * m4/roundl.m4: Likewise.
46831         * m4/rpmatch.m4: Likewise.
46832         * m4/save-cwd.m4: Likewise.
46833         * m4/selinux-selinux-h.m4: Likewise.
46834         * m4/setenv.m4: Likewise.
46835         * m4/settime.m4: Likewise.
46836         * m4/sig2str.m4: Likewise.
46837         * m4/sig_atomic_t.m4: Likewise.
46838         * m4/signalblocking.m4: Likewise.
46839         * m4/signbit.m4: Likewise.
46840         * m4/sigpipe.m4: Likewise.
46841         * m4/sockets.m4: Likewise.
46842         * m4/sockpfaf.m4: Likewise.
46843         * m4/st_dm_mode.m4: Likewise.
46844         * m4/stat-time.m4: Likewise.
46845         * m4/stdbool.m4: Likewise.
46846         * m4/stdint.m4: Likewise.
46847         * m4/stdint_h.m4: Likewise.
46848         * m4/stpcpy.m4: Likewise.
46849         * m4/stpncpy.m4: Likewise.
46850         * m4/strcase.m4: Likewise.
46851         * m4/strchrnul.m4: Likewise.
46852         * m4/strcspn.m4: Likewise.
46853         * m4/strdup.m4: Likewise.
46854         * m4/strftime.m4: Likewise.
46855         * m4/strndup.m4: Likewise.
46856         * m4/strnlen.m4: Likewise.
46857         * m4/strpbrk.m4: Likewise.
46858         * m4/strptime.m4: Likewise.
46859         * m4/strsep.m4: Likewise.
46860         * m4/strtod.m4: Likewise.
46861         * m4/strtoimax.m4: Likewise.
46862         * m4/strtok_r.m4: Likewise.
46863         * m4/strtol.m4: Likewise.
46864         * m4/strtoll.m4: Likewise.
46865         * m4/strtoul.m4: Likewise.
46866         * m4/strtoull.m4: Likewise.
46867         * m4/strtoumax.m4: Likewise.
46868         * m4/strverscmp.m4: Likewise.
46869         * m4/threadlib.m4: Likewise.
46870         * m4/timegm.m4: Likewise.
46871         * m4/tm_gmtoff.m4: Likewise.
46872         * m4/tmpdir.m4: Likewise.
46873         * m4/tmpfile.m4: Likewise.
46874         * m4/tzset.m4: Likewise.
46875         * m4/uintmax_t.m4: Likewise.
46876         * m4/unlinkdir.m4: Likewise.
46877         * m4/unlocked-io.m4: Likewise.
46878         * m4/uptime.m4: Likewise.
46879         * m4/userspec.m4: Likewise.
46880         * m4/utimbuf.m4: Likewise.
46881         * m4/utime.m4: Likewise.
46882         * m4/utimes-null.m4: Likewise.
46883         * m4/utimes.m4: Likewise.
46884         * m4/vararrays.m4: Likewise.
46885         * m4/vasnprintf.m4: Likewise.
46886         * m4/vfprintf-posix.m4: Likewise.
46887         * m4/vprintf-posix.m4: Likewise.
46888         * m4/wait-process.m4: Likewise.
46889         * m4/wchar_t.m4: Likewise.
46890         * m4/wint_t.m4: Likewise.
46891         * m4/write-any-file.m4: Likewise.
46892         * m4/yield.m4: Likewise.
46893
46894 2009-01-13  Bruno Haible  <bruno@clisp.org>
46895
46896         Avoid test-copy-file.sh failures when ACL support insufficient.
46897         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46898         TESTS_ENVIRONMENT.
46899         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46900         Reported by Jim Meyering.
46901
46902 2009-01-13  Bruno Haible  <bruno@clisp.org>
46903
46904         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46905         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46906         * modules/unistdio/u8-printf-parse (Files): Likewise.
46907         * modules/unistdio/u32-printf-parse (Files): Likewise.
46908         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46909
46910 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46911
46912         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46913         and m4/inttypes_h.m4 too.
46914
46915 2009-01-12  Eric Blake  <ebb9@byu.net>
46916
46917         tests: IRIX 6.2 cc can't compile -0.0 into .data
46918         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46919         rather than at compile-time.
46920         * tests/test-floorl.c (minus_zero): Likewise.
46921         * tests/test-frexpl.c (minus_zero): Likewise.
46922         * tests/test-isnan.c (minus_zerol): Likewise.
46923         * tests/test-isnanl.h (minus_zero): Likewise.
46924         * tests/test-ldexpl.c (minus_zero): Likewise.
46925         * tests/test-roundl.c (minus_zero): Likewise.
46926         * tests/test-signbit.c (minus_zerol): Likewise.
46927         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46928         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46929         * tests/test-truncl.c (minus_zero): Likewise.
46930         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46931         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46932         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46933
46934 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46935
46936         regex: fix glibc bug 9697
46937         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46938         handling.
46939
46940 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46941
46942         regex: fix glibc bug 697
46943         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46944         being NULL also if there are no backreferences.
46945
46946 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46947
46948         regex: merge glibc changes
46949         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46950         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46951         re_string_skip_chars, re_string_reconstruct): Likewise.
46952         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46953
46954 2009-01-07  Jim Meyering  <meyering@redhat.com>
46955
46956         poll: filter through cppi
46957         * lib/poll.c: Indent cpp directives to reflect nesting.
46958
46959 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46960
46961         poll: don't return uninitialized
46962         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46963
46964 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46965
46966         avoid compile failure on AIX 6.1
46967         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46968         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46969
46970 2009-01-04  Jim Meyering  <meyering@redhat.com>
46971
46972         remove duplicate inclusion of <stdio.h>
46973         * tests/test-fprintf-posix.c: Likewise.
46974         * tests/test-printf-posix.c: Likewise.
46975         * tests/test-snprintf-posix.c: Likewise.
46976         * tests/test-sprintf-posix.c: Likewise.
46977         * tests/test-vasprintf-posix.c: Likewise.
46978         * tests/test-vfprintf-posix.c: Likewise.
46979         * tests/test-vprintf-posix.c: Likewise.
46980         * tests/test-vsnprintf-posix.c: Likewise.
46981         * tests/test-vsprintf-posix.c: Likewise.
46982
46983 2009-01-03  Jim Meyering  <meyering@redhat.com>
46984
46985         gnulib-tool: fix sed-based filtering
46986         * gnulib-tool (func_filter_filelist): Remove extra backslash
46987         in sed_fff_filter definition.
46988
46989 2009-01-02  Jim Meyering  <meyering@redhat.com>
46990
46991         strftime: avoid compilation failure on Solaris 2.6
46992         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46993         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46994         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46995         be available.  Reported by Tom G. Christensen.  Details in
46996         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46997
46998 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46999             Bruno Haible  <bruno@clisp.org>
47000
47001         Speed up gnulib-tool by doing more string processing through shell
47002         built-ins.
47003         * gnulib-tool (fast_func_append): New variable.
47004         (func_remove_prefix, func_remove_suffix): New functions.
47005         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47006         (func_filter_filelist): New function.
47007         (func_get_dependencies): Use func_remove_suffix instead of sed.
47008         (func_get_automake_snippet): Use func_filter_filelist instead of a
47009         subshell and sed invocation.
47010
47011 2009-01-01  Bruno Haible  <bruno@clisp.org>
47012
47013         Fix a security bug.
47014         * gnulib-tool (func_import, import, update): Don't allow the characters
47015         '"', '$', '`', '\' in macro arguments that become part of commands that
47016         are evaluated.
47017
47018 2009-01-01  Bruno Haible  <bruno@clisp.org>
47019
47020         * gnulib-tool (func_reset_sigpipe): Add more comments.
47021
47022 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47023
47024         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47025         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47026         already know the answer.
47027
47028 2009-01-01  Jim Meyering  <meyering@redhat.com>
47029
47030         * lib/version-etc.c (version_etc_va): Update copyright year.
47031
47032 2008-12-30  Bruno Haible  <bruno@clisp.org>
47033
47034         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47035         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47036         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47037
47038 2008-12-29  Eric Blake  <ebb9@byu.net>
47039
47040         multiarch: avoid autoconf AC_REQUIRE bug
47041         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47042         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47043         2.63 and older.
47044         Reported by Bruno Haible, and analyzed in
47045         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47046
47047 2008-12-29  Bruno Haible  <bruno@clisp.org>
47048
47049         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47050         files in subdirectories correctly.
47051         Reported by Ralf Wildenhues.
47052
47053 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47054
47055         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47056         rather than 'join FILE -', for Solaris join.
47057
47058 2008-12-29  Bruno Haible  <bruno@clisp.org>
47059
47060         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47061         quoting.
47062         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47063         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47064         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47065         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47066         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47067         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47068         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47069         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47070         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47071         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47072         * m4/nls.m4 (AM_NLS): Likewise.
47073         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47074         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47075         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47076         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47077         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47078         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47079         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47080         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47081         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47082         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47083         * m4/xsize.m4 (gl_XSIZE): Likewise.
47084         Suggested by Jim Meyering.
47085
47086 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47087
47088         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47089         * lib/parse-duration.c: use a switch instead of cascading if's.
47090
47091 2008-12-29  Eric Blake  <ebb9@byu.net>
47092
47093         wchar.h: supply WEOF on Irix 5.3
47094         * lib/wchar.in.h (wint_t): Also supply WEOF.
47095         * lib/wctype.in.h (wint_t): Likewise.
47096         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47097         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47098         Reported by Tom G. Christensen.
47099
47100 2008-12-26  Bruno Haible  <bruno@clisp.org>
47101
47102         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47103         i486, i586, i686.
47104
47105 2008-12-26  Bruno Haible  <bruno@clisp.org>
47106
47107         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47108
47109 2008-12-26  Bruno Haible  <bruno@clisp.org>
47110
47111         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47112         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47113         not __STDC_CONSTANT_MACROS.
47114         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47115
47116 2008-12-25  Bruno Haible  <bruno@clisp.org>
47117
47118         Add support for universal builds to vasnprintf.
47119         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47120         universal builds, guess no.
47121         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47122         * modules/vasprintf-posix (Depends-on): Likewise.
47123         * modules/fprintf-posix (Depends-on): Likewise.
47124         * modules/vfprintf-posix (Depends-on): Likewise.
47125         * modules/snprintf-posix (Depends-on): Likewise.
47126         * modules/vsnprintf-posix (Depends-on): Likewise.
47127         * modules/sprintf-posix (Depends-on): Likewise.
47128         * modules/vsprintf-posix (Depends-on): Likewise.
47129         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47130         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47131         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47132         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47133         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47134         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47135         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47136
47137         Add support for universal builds to <inttypes.h>.
47138         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47139         _SCNu64_PREFIX): In Apple
47140         universal builds, define directly, using _LP64.
47141         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47142         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47143         * modules/inttypes (Depends-on): Add multiarch.
47144         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47145
47146         Add support for universal builds to <stdint.h>.
47147         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47148         universal builds, define directly, using _LP64.
47149         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47150         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47151         and size_t.
47152         * modules/stdint (Depends-on): Add multiarch.
47153         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47154
47155         New module 'multiarch'.
47156         * modules/multiarch: New file.
47157         * m4/multiarch.m4: New file.
47158
47159 2008-12-25  Bruno Haible  <bruno@clisp.org>
47160
47161         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47162
47163 2008-12-25  Bruno Haible  <bruno@clisp.org>
47164
47165         * modules/btowc (License): Relicense under LGPLv2+.
47166         * modules/mbsinit (License): Likewise.
47167         * modules/mbrtowc (License): Likewise.
47168         * modules/wcrtomb (License): Likewise.
47169         * modules/streq (License): Likewise.
47170         Reported by David Lutterkort <lutter@redhat.com>.
47171
47172 2008-12-23  Bruno Haible  <bruno@clisp.org>
47173
47174         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47175
47176 2008-12-23  Bruno Haible  <bruno@clisp.org>
47177
47178         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47179         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47180         GETADDRINFO_LIB, not in LIBS.
47181         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47182         * modules/canon-host (Link): Likewise.
47183         * NEWS: Mention the change.
47184         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47185         GETADDRINFO_LIB.
47186
47187 2008-12-22  Bruno Haible  <bruno@clisp.org>
47188
47189         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47190         * doc/posix-functions/iswalpha_l.texi: Likewise.
47191         * doc/posix-functions/iswblank_l.texi: Likewise.
47192         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47193         * doc/posix-functions/iswctype_l.texi: Likewise.
47194         * doc/posix-functions/iswdigit_l.texi: Likewise.
47195         * doc/posix-functions/iswgraph_l.texi: Likewise.
47196         * doc/posix-functions/iswlower_l.texi: Likewise.
47197         * doc/posix-functions/iswprint_l.texi: Likewise.
47198         * doc/posix-functions/iswpunct_l.texi: Likewise.
47199         * doc/posix-functions/iswspace_l.texi: Likewise.
47200         * doc/posix-functions/iswupper_l.texi: Likewise.
47201         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47202         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47203         * doc/posix-functions/open_wmemstream.texi: Likewise.
47204         * doc/posix-functions/swscanf.texi: Likewise.
47205         * doc/posix-functions/towctrans_l.texi: Likewise.
47206         * doc/posix-functions/towlower.texi: Likewise.
47207         * doc/posix-functions/towlower_l.texi: Likewise.
47208         * doc/posix-functions/towupper.texi: Likewise.
47209         * doc/posix-functions/towupper_l.texi: Likewise.
47210         * doc/posix-functions/vfwprintf.texi: Likewise.
47211         * doc/posix-functions/vfwscanf.texi: Likewise.
47212         * doc/posix-functions/vswscanf.texi: Likewise.
47213         * doc/posix-functions/vwprintf.texi: Likewise.
47214         * doc/posix-functions/vwscanf.texi: Likewise.
47215         * doc/posix-functions/wcpcpy.texi: Likewise.
47216         * doc/posix-functions/wcpncpy.texi: Likewise.
47217         * doc/posix-functions/wcscasecmp.texi: Likewise.
47218         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47219         * doc/posix-functions/wcscoll_l.texi: Likewise.
47220         * doc/posix-functions/wcsdup.texi: Likewise.
47221         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47222         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47223         * doc/posix-functions/wcsnlen.texi: Likewise.
47224         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47225         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47226         * doc/posix-functions/wctrans_l.texi: Likewise.
47227         * doc/posix-functions/wctype_l.texi: Likewise.
47228         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47229         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47230         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47231         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47232         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47233         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47234         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47235         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47236         * doc/glibc-functions/wcschrnul.texi: Likewise.
47237         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47238         * doc/glibc-functions/wcstod_l.texi: Likewise.
47239         * doc/glibc-functions/wcstof_l.texi: Likewise.
47240         * doc/glibc-functions/wcstol_l.texi: Likewise.
47241         * doc/glibc-functions/wcstold_l.texi: Likewise.
47242         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47243         * doc/glibc-functions/wcstoq.texi: Likewise.
47244         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47245         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47246         * doc/glibc-functions/wcstouq.texi: Likewise.
47247         * doc/glibc-functions/wmempcpy.texi: Likewise.
47248
47249 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47250             Eric Blake  <ebb9@byu.net>
47251             Paolo Bonzini  <bonzini@gnu.org>
47252             Bruno Haible  <bruno@clisp.org>
47253
47254         Make c-stack work on Haiku.
47255         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47256         (c_stack_action): Use SA_ONSTACK flag.
47257
47258 2008-12-22  Bruno Haible  <bruno@clisp.org>
47259
47260         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47261
47262 2008-12-22  Bruno Haible  <bruno@clisp.org>
47263
47264         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47265         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47266         being overridden.
47267         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47268         New macros.
47269         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47270         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47271         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47272         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47273
47274 2008-12-22  Bruno Haible  <bruno@clisp.org>
47275
47276         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47277         from test code.
47278
47279 2008-12-22  Eric Blake  <ebb9@byu.net>
47280
47281         Avoid gcc warnings on cygwin.
47282         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47283         Avoid unused variable.
47284         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47285         Likewise.
47286
47287 2008-12-22  Bruno Haible  <bruno@clisp.org>
47288
47289         Remove HAVE_MBRTOWC conditionals.
47290         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47291         (mbscasecmp): Assume mbrtowc function.
47292         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47293         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47294         * lib/mbschr.c: Include mbuiter.h unconditionally.
47295         (mbschr): Assume mbrtowc function.
47296         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47297         (mbscspn): Assume mbrtowc function.
47298         * lib/mbslen.c: Include mbuiter.h unconditionally.
47299         (mbslen): Assume mbrtowc function.
47300         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47301         (mbsncasecmp): Assume mbrtowc function.
47302         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47303         (mbsnlen): Assume mbrtowc function.
47304         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47305         (mbspbrk): Assume mbrtowc function.
47306         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47307         (mbspcasecmp): Assume mbrtowc function.
47308         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47309         (mbsrchr): Assume mbrtowc function.
47310         * lib/mbssep.c: Include mbuiter.h unconditionally.
47311         (mbssep): Assume mbrtowc function.
47312         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47313         (mbsspn): Assume mbrtowc function.
47314         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47315         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47316         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47317         (mbstok_r): Assume mbrtowc function.
47318         * lib/propername.c: Include mbuiter.h unconditionally.
47319         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47320         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47321         (trim2): Assume mbrtowc function.
47322         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47323         (mbsnwidth): Assume mbrtowc function.
47324         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47325         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47326         fallback definitions.
47327         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47328
47329 2008-12-22  Bruno Haible  <bruno@clisp.org>
47330
47331         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47332
47333 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47334
47335         * modules/regex: Request emulations for the mb*/wc* functions we need.
47336         * m4/regex.m4: Don't look for those functions here.
47337         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47338
47339 2008-12-22  Bruno Haible  <bruno@clisp.org>
47340
47341         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47342
47343 2008-12-21  Bruno Haible  <bruno@clisp.org>
47344
47345         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47346         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47347         (Include): Remove conditionalization.
47348         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47349         (Include): Remove conditionalization.
47350         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47351         (Include): Remove conditionalization.
47352         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47353         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47354         * NEWS: Mention the change.
47355         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47356         via Sergey Poznyakoff <gray@gnu.org.ua>.
47357
47358 2008-12-21  Bruno Haible  <bruno@clisp.org>
47359
47360         * MODULES.html.sh (Extended multibyte and wide character utilities
47361         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47362         wcrtomb, wcsrtombs.
47363         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47364         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47365         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47366         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47367
47368 2008-12-21  Bruno Haible  <bruno@clisp.org>
47369
47370         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47371
47372 2008-12-21  Bruno Haible  <bruno@clisp.org>
47373
47374         * modules/wcsnrtombs-tests: New file.
47375         * tests/test-wcsnrtombs1.sh: New file.
47376         * tests/test-wcsnrtombs2.sh: New file.
47377         * tests/test-wcsnrtombs3.sh: New file.
47378         * tests/test-wcsnrtombs4.sh: New file.
47379         * tests/test-wcsnrtombs.c: New file.
47380
47381         New module 'wcsnrtombs'.
47382         * lib/wchar.in.h (wcsnrtombs): New declaration.
47383         * lib/wcsnrtombs.c: New file.
47384         * lib/wcsrtombs-state.c: New file.
47385         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47386         (internal_state): Remove variable.
47387         * m4/wcsnrtombs.m4: New file.
47388         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47389         compilation units.
47390         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47391         HAVE_WCSNRTOMBS.
47392         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47393         HAVE_WCSNRTOMBS.
47394         * modules/wcsnrtombs: New file.
47395         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47396         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47397
47398 2008-12-21  Bruno Haible  <bruno@clisp.org>
47399
47400         * modules/wcsrtombs-tests: New file.
47401         * tests/test-wcsrtombs1.sh: New file.
47402         * tests/test-wcsrtombs2.sh: New file.
47403         * tests/test-wcsrtombs3.sh: New file.
47404         * tests/test-wcsrtombs4.sh: New file.
47405         * tests/test-wcsrtombs.c: New file.
47406
47407         New module 'wcsrtombs'.
47408         * lib/wchar.in.h (wcsrtombs): New declaration.
47409         * lib/wcsrtombs.c: New file.
47410         * m4/wcsrtombs.m4: New file.
47411         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47412         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47413         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47414         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47415         * modules/wcsrtombs: New file.
47416         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47417         bugs.
47418
47419 2008-12-21  Bruno Haible  <bruno@clisp.org>
47420
47421         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47422         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47423         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47424         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47425         if not correct.
47426         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47427         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47428         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47429         m4/locale-zh.m4, m4/codeset.m4.
47430         * doc/posix-functions/wcrtomb.texi: Document the bug.
47431
47432 2008-12-21  Bruno Haible  <bruno@clisp.org>
47433
47434         Work around a btowc() bug on IRIX 6.5.
47435         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47436         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47437         REPLACE_WTOBC if not.
47438         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47439         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47440         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47441
47442 2008-12-21  Bruno Haible  <bruno@clisp.org>
47443
47444         * modules/wcrtomb-tests: New file.
47445         * tests/test-wcrtomb.sh: New file.
47446         * tests/test-wcrtomb.c: New file.
47447
47448         New module 'wcrtomb'.
47449         * lib/wchar.in.h (wcrtomb): New declaration.
47450         * lib/wcrtomb.c: New file.
47451         * m4/wcrtomb.m4: New file.
47452         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47453         HAVE_WCRTOMB.
47454         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47455         HAVE_WCRTOMB.
47456         * modules/wcrtomb: New file.
47457         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47458
47459 2008-12-21  Bruno Haible  <bruno@clisp.org>
47460
47461         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47462         * modules/mbsrtowcs (Files): Likewise.
47463         * modules/wctob (Files): Likewise.
47464         * modules/c-strcase-tests (Files): Likewise.
47465         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47466         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47467         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47468         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47469         * modules/vasnprintf-posix-tests (Files): Likewise.
47470
47471 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47472
47473         gitlog-to-changelog: pass all command-line arguments to git-log
47474         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47475         it is sometimes convenient to filter the commits in various ways.
47476         gitlog-to-changelog only allows --since to specify a start date,
47477         but git-log itself supports many other filtering mechanisms.
47478         At the moment, I want to filter by branch name.  Rather than
47479         adding a --branch option to gitlog-to-changelog, it seems more
47480         flexible to simply pass all options directly to git-log and let
47481         git do the work.  Notice that this effectively makes --since a
47482         redundant option for gitlog-to-changelog, but removing it would
47483         require current usage to change since calls would then require
47484         an additional '--'.
47485
47486 2008-12-21  Bruno Haible  <bruno@clisp.org>
47487
47488         * modules/mbsnrtowcs-tests: New file.
47489         * tests/test-mbsnrtowcs1.sh: New file.
47490         * tests/test-mbsnrtowcs2.sh: New file.
47491         * tests/test-mbsnrtowcs3.sh: New file.
47492         * tests/test-mbsnrtowcs4.sh: New file.
47493         * tests/test-mbsnrtowcs.c: New file.
47494
47495         New module 'mbsnrtowcs'.
47496         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47497         * lib/mbsnrtowcs.c: New file.
47498         * lib/mbsrtowcs-state.c: New file.
47499         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47500         (internal_state): Remove variable.
47501         * m4/mbsnrtowcs.m4: New file.
47502         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47503         compilation units.
47504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47505         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47506         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47507         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47508         * modules/mbsnrtowcs: New file.
47509         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47510         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47511         portability problem.
47512
47513 2008-12-21  Bruno Haible  <bruno@clisp.org>
47514
47515         Work around mbsrtowcs bug.
47516         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47517         (gl_FUNC_MBSRTOWCS): Invoke it.
47518         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47519         m4/locale-zh.m4.
47520         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47521
47522 2008-12-21  Bruno Haible  <bruno@clisp.org>
47523
47524         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47525
47526 2008-12-21  Bruno Haible  <bruno@clisp.org>
47527
47528         Update doc for AIX.
47529         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47530         16-bit wchar_t type.
47531         * doc/posix-functions/btowc.texi: Likewise.
47532         * doc/posix-functions/fgetwc.texi: Likewise.
47533         * doc/posix-functions/fgetws.texi: Likewise.
47534         * doc/posix-functions/fputwc.texi: Likewise.
47535         * doc/posix-functions/fputws.texi: Likewise.
47536         * doc/posix-functions/fwide.texi: Likewise.
47537         * doc/posix-functions/fwprintf.texi: Likewise.
47538         * doc/posix-functions/fwscanf.texi: Likewise.
47539         * doc/posix-functions/getwchar.texi: Likewise.
47540         * doc/posix-functions/getwc.texi: Likewise.
47541         * doc/posix-functions/iswalnum.texi: Likewise.
47542         * doc/posix-functions/iswalpha.texi: Likewise.
47543         * doc/posix-functions/iswblank.texi: Likewise.
47544         * doc/posix-functions/iswcntrl.texi: Likewise.
47545         * doc/posix-functions/iswctype.texi: Likewise.
47546         * doc/posix-functions/iswdigit.texi: Likewise.
47547         * doc/posix-functions/iswgraph.texi: Likewise.
47548         * doc/posix-functions/iswlower.texi: Likewise.
47549         * doc/posix-functions/iswprint.texi: Likewise.
47550         * doc/posix-functions/iswpunct.texi: Likewise.
47551         * doc/posix-functions/iswspace.texi: Likewise.
47552         * doc/posix-functions/iswupper.texi: Likewise.
47553         * doc/posix-functions/iswxdigit.texi: Likewise.
47554         * doc/posix-functions/mbrtowc.texi: Likewise.
47555         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47556         * doc/posix-functions/mbstowcs.texi: Likewise.
47557         * doc/posix-functions/mbtowc.texi: Likewise.
47558         * doc/posix-functions/putwchar.texi: Likewise.
47559         * doc/posix-functions/putwc.texi: Likewise.
47560         * doc/posix-functions/swprintf.texi: Likewise.
47561         * doc/posix-functions/tolower.texi: Likewise.
47562         * doc/posix-functions/toupper.texi: Likewise.
47563         * doc/posix-functions/towctrans.texi: Likewise.
47564         * doc/posix-functions/ungetwc.texi: Likewise.
47565         * doc/posix-functions/vswprintf.texi: Likewise.
47566         * doc/posix-functions/wcrtomb.texi: Likewise.
47567         * doc/posix-functions/wcscat.texi: Likewise.
47568         * doc/posix-functions/wcschr.texi: Likewise.
47569         * doc/posix-functions/wcscmp.texi: Likewise.
47570         * doc/posix-functions/wcscoll.texi: Likewise.
47571         * doc/posix-functions/wcscpy.texi: Likewise.
47572         * doc/posix-functions/wcscspn.texi: Likewise.
47573         * doc/posix-functions/wcsftime.texi: Likewise.
47574         * doc/posix-functions/wcslen.texi: Likewise.
47575         * doc/posix-functions/wcsncat.texi: Likewise.
47576         * doc/posix-functions/wcsncmp.texi: Likewise.
47577         * doc/posix-functions/wcsncpy.texi: Likewise.
47578         * doc/posix-functions/wcspbrk.texi: Likewise.
47579         * doc/posix-functions/wcsrchr.texi: Likewise.
47580         * doc/posix-functions/wcsrtombs.texi: Likewise.
47581         * doc/posix-functions/wcsspn.texi: Likewise.
47582         * doc/posix-functions/wcsstr.texi: Likewise.
47583         * doc/posix-functions/wcstod.texi: Likewise.
47584         * doc/posix-functions/wcstof.texi: Likewise.
47585         * doc/posix-functions/wcstoimax.texi: Likewise.
47586         * doc/posix-functions/wcstok.texi: Likewise.
47587         * doc/posix-functions/wcstold.texi: Likewise.
47588         * doc/posix-functions/wcstoll.texi: Likewise.
47589         * doc/posix-functions/wcstol.texi: Likewise.
47590         * doc/posix-functions/wcstombs.texi: Likewise.
47591         * doc/posix-functions/wcstoull.texi: Likewise.
47592         * doc/posix-functions/wcstoul.texi: Likewise.
47593         * doc/posix-functions/wcstoumax.texi: Likewise.
47594         * doc/posix-functions/wcswidth.texi: Likewise.
47595         * doc/posix-functions/wcsxfrm.texi: Likewise.
47596         * doc/posix-functions/wctob.texi: Likewise.
47597         * doc/posix-functions/wctomb.texi: Likewise.
47598         * doc/posix-functions/wctrans.texi: Likewise.
47599         * doc/posix-functions/wctype.texi: Likewise.
47600         * doc/posix-functions/wcwidth.texi: Likewise.
47601         * doc/posix-functions/wmemchr.texi: Likewise.
47602         * doc/posix-functions/wmemcmp.texi: Likewise.
47603         * doc/posix-functions/wmemcpy.texi: Likewise.
47604         * doc/posix-functions/wmemmove.texi: Likewise.
47605         * doc/posix-functions/wmemset.texi: Likewise.
47606         * doc/posix-functions/wprintf.texi: Likewise.
47607         * doc/posix-functions/wscanf.texi: Likewise.
47608
47609 2008-12-21  Bruno Haible  <bruno@clisp.org>
47610
47611         Update doc for HP-UX 11.11.
47612         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47613         in HP-UX version 11.00, not in all versions of HP-UX 11.
47614         * doc/posix-functions/fwide.texi: Likewise.
47615         * doc/posix-functions/fwprintf.texi: Likewise.
47616         * doc/posix-functions/fwscanf.texi: Likewise.
47617         * doc/posix-functions/inet_ntop.texi: Likewise.
47618         * doc/posix-functions/inet_pton.texi: Likewise.
47619         * doc/posix-functions/mbrlen.texi: Likewise.
47620         * doc/posix-functions/mbrtowc.texi: Likewise.
47621         * doc/posix-functions/mbsinit.texi: Likewise.
47622         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47623         * doc/posix-functions/swprintf.texi: Likewise.
47624         * doc/posix-functions/swscanf.texi: Likewise.
47625         * doc/posix-functions/towctrans.texi: Likewise.
47626         * doc/posix-functions/vfwprintf.texi: Likewise.
47627         * doc/posix-functions/vswprintf.texi: Likewise.
47628         * doc/posix-functions/vwprintf.texi: Likewise.
47629         * doc/posix-functions/wcrtomb.texi: Likewise.
47630         * doc/posix-functions/wcsrtombs.texi: Likewise.
47631         * doc/posix-functions/wcsstr.texi: Likewise.
47632         * doc/posix-functions/wctob.texi: Likewise.
47633         * doc/posix-functions/wctrans.texi: Likewise.
47634         * doc/posix-functions/wmemchr.texi: Likewise.
47635         * doc/posix-functions/wmemcmp.texi: Likewise.
47636         * doc/posix-functions/wmemcpy.texi: Likewise.
47637         * doc/posix-functions/wmemmove.texi: Likewise.
47638         * doc/posix-functions/wmemset.texi: Likewise.
47639         * doc/posix-functions/wprintf.texi: Likewise.
47640         * doc/posix-functions/wscanf.texi: Likewise.
47641
47642 2008-12-21  Bruno Haible  <bruno@clisp.org>
47643
47644         Work around a portability problem.
47645         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47646         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47647
47648 2008-12-20  Bruno Haible  <bruno@clisp.org>
47649
47650         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47651         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47652         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47653         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47654         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47655
47656         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47657         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47658         set.
47659         (GNULIB_defined_mbstate_t): New macro.
47660         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47661         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47662         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47663         reuses the system's mbrtowc function but works around the bugs.
47664         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47665         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47666         macros.
47667         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47668         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47669         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47670         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47671         REPLACE_MBSINIT if mbsinit needs to be overridden.
47672         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47673         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47674         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47675         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47676         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47677         m4/locale-zh.m4.
47678         (Depends): Add mbsinit.
47679         * modules/mbsinit (Depends): Add mbrtowc.
47680         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47681
47682 2008-12-20  Bruno Haible  <bruno@clisp.org>
47683
47684         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47685         so that there are no conversion errors on AIX.
47686         * tests/test-mbsrtowcs.c (main): LIkewise.
47687
47688 2008-12-20  Bruno Haible  <bruno@clisp.org>
47689
47690         Work around wctob bug on Solaris <= 9.
47691         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47692         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47693         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47694         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47695         * modules/wctob (Files): Add m4/locale-fr.m4.
47696         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47697
47698 2008-12-20  Bruno Haible  <bruno@clisp.org>
47699
47700         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47701         /dev/null.
47702         * tests/test-select-in.sh: Likewise.
47703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47704
47705 2008-12-20  Bruno Haible  <bruno@clisp.org>
47706
47707         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47708         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47709         Cygwin 1.5.x.
47710
47711 2008-12-20  Bruno Haible  <bruno@clisp.org>
47712
47713         Ensure mbstate_t is defined on HP-UX 11.11.
47714         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47715         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47716         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47717         AC_USE_SYSTEM_EXTENSIONS.
47718         * modules/fnmatch (Depends-on): Add extensions.
47719         * modules/mbrlen (Depends-on): Likewise.
47720         * modules/mbrtowc (Depends-on): Likewise.
47721         * modules/mbsinit (Depends-on): Likewise.
47722         * modules/mbsrtowcs (Depends-on): Likewise.
47723         * modules/mbswidth (Depends-on): Likewise.
47724         * modules/quotearg (Depends-on): Likewise.
47725         * modules/strftime (Depends-on): Likewise.
47726
47727 2008-12-20  Bruno Haible  <bruno@clisp.org>
47728
47729         Ensure wctob is declared on IRIX 6.5.
47730         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47731         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47732         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47733         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47734         of HAVE_WCTOB.
47735         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47736         HAVE_WCTOB.
47737         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47738
47739 2008-12-19  Bruno Haible  <bruno@clisp.org>
47740
47741         * modules/mbsrtowcs-tests: New file.
47742         * tests/test-mbsrtowcs1.sh: New file.
47743         * tests/test-mbsrtowcs2.sh: New file.
47744         * tests/test-mbsrtowcs3.sh: New file.
47745         * tests/test-mbsrtowcs4.sh: New file.
47746         * tests/test-mbsrtowcs.c: New file.
47747
47748         New module 'mbsrtowcs'.
47749         * lib/wchar.in.h (mbsrtowcs): New declaration.
47750         * lib/mbsrtowcs.c: New file.
47751         * m4/mbsrtowcs.m4: New file.
47752         * modules/mbsrtowcs: New file.
47753         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47754         HAVE_MBSRTOWCS.
47755         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47756         HAVE_MBSRTOWCS.
47757         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47758
47759 2008-12-19  Bruno Haible  <bruno@clisp.org>
47760
47761         New module 'mbrlen'.
47762         * lib/wchar.in.h (mbrlen): New declaration.
47763         * lib/mbrlen.c: New file.
47764         * m4/mbrlen.m4: New file.
47765         * modules/mbrlen: New file.
47766         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47767         HAVE_MBRLEN.
47768         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47769         HAVE_MBRLEN.
47770         * doc/posix-functions/mbrlen.texi: Document the new module.
47771
47772 2008-12-19  Bruno Haible  <bruno@clisp.org>
47773
47774         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47775         * modules/mbrtowc (Depends-on): Add verify.
47776         Suggested by Paul Eggert.
47777
47778 2008-12-18  Bruno Haible  <bruno@clisp.org>
47779
47780         * modules/mbsinit-tests: New file.
47781         * tests/test-mbsinit.sh: New file.
47782         * tests/test-mbsinit.c: New file.
47783
47784 2008-12-18  Bruno Haible  <bruno@clisp.org>
47785
47786         * modules/mbrtowc-tests: New file.
47787         * tests/test-mbrtowc1.sh: New file.
47788         * tests/test-mbrtowc2.sh: New file.
47789         * tests/test-mbrtowc3.sh: New file.
47790         * tests/test-mbrtowc4.sh: New file.
47791         * tests/test-mbrtowc.c: New file.
47792
47793         New module 'mbrtowc'.
47794         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47795         mbsinit and mbrtowc.
47796         (mbrtowc): New declaration.
47797         * lib/mbrtowc.c: New file.
47798         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47799         * modules/mbrtowc: New file.
47800         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47801         HAVE_MBRTOWC.
47802         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47803         HAVE_MBRTOWC.
47804         * doc/posix-functions/mbrtowc.texi: Document the new module.
47805
47806 2008-12-18  Bruno Haible  <bruno@clisp.org>
47807
47808         New module 'wctob'.
47809         * lib/wchar.in.h (wctob): New declaration.
47810         * lib/wctob.c: New file.
47811         * m4/wctob.m4: New file.
47812         * modules/wctob: New file.
47813         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47814         HAVE_WCTOB.
47815         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47816         * doc/posix-functions/wctob.texi: Document the new module.
47817
47818 2008-12-18  Bruno Haible  <bruno@clisp.org>
47819
47820         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47821         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47822
47823 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47824
47825         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47826         G. Christensen" <tgc@jupiterrise.com>.
47827
47828         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47829         G. Christensen" <tgc@jupiterrise.com>.
47830
47831         * lib/flock.c: Need to include string.h.  Reported by "Tom
47832         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47833         <ebb9@byu.net>.
47834
47835 2008-12-18  Bruno Haible  <bruno@clisp.org>
47836
47837         * m4/locale-ja.m4: New file, from GNU gettext.
47838
47839 2008-12-17  Bruno Haible  <bruno@clisp.org>
47840
47841         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47842         Suggested by Eric Blake.
47843
47844 2008-12-17  Bruno Haible  <bruno@clisp.org>
47845
47846         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47847
47848 2008-12-17  Bruno Haible  <bruno@clisp.org>
47849
47850         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47851         * modules/mbsinit (Depends-on): Add verify.
47852         Suggested by Paul Eggert.
47853
47854 2008-12-17  Bruno Haible  <bruno@clisp.org>
47855
47856         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47857         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47858         gl_FUNC_MBRTOWC.
47859         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47860         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47861         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47862         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47863         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47864         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47865         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47866         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47867         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47868         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47869         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47870         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47871         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47872         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47873         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47874         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47875         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47876         * modules/trim (configure.ac): Likewise.
47877
47878 2008-12-17  Bruno Haible  <bruno@clisp.org>
47879
47880         * modules/btowc-tests: New file.
47881         * tests/test-btowc1.sh: New file.
47882         * tests/test-btowc2.sh: New file.
47883         * tests/test-btowc.c: New file.
47884
47885         New module 'btowc'.
47886         * lib/wchar.in.h (btowc): New declaration.
47887         * lib/btowc.c: New file.
47888         * m4/btowc.m4: New file.
47889         * modules/btowc: New file.
47890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47891         HAVE_BTOWC.
47892         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47893         * doc/posix-functions/btowc.texi: Document the new module.
47894
47895 2008-12-17  Bruno Haible  <bruno@clisp.org>
47896
47897         New module 'mbsinit'.
47898         * lib/wchar.in.h (mbsinit): New declaration.
47899         * lib/mbsinit.c: New file.
47900         * m4/mbsinit.m4: New file.
47901         * modules/mbsinit: New file.
47902         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47903         HAVE_MBSINIT.
47904         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47905         HAVE_MBSINIT.
47906         * doc/posix-functions/mbsinit.texi: Document the new module.
47907
47908 2008-12-16  Bruno Haible  <bruno@clisp.org>
47909
47910         * lib/unistd.in.h: Add comment.
47911         * tests/test-environ.c: Don't include <stdlib.h>.
47912
47913 2008-12-16  Bruno Haible  <bruno@clisp.org>
47914
47915         * lib/parse-duration.h (parse_duration): Document return value
47916         convention.
47917         * lib/parse-duration.c: Include specification header first. Add
47918         comments.
47919         (_): Remove macro.
47920         (parse_year_month_day, parse_hour_minute_second): Move side effects
47921         outside of strchr call.
47922         (parse_non_iso8601): Move side effects outside of isspace call.
47923         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47924         call.
47925
47926 2008-12-16  Bruno Haible  <bruno@clisp.org>
47927
47928         * tests/test-parse-duration.sh: Produce no output when the test
47929         succeeds.
47930
47931 2008-12-16  Bruno Haible  <bruno@clisp.org>
47932
47933         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47934         expressions.
47935
47936 2008-12-15  Bruno Haible  <bruno@clisp.org>
47937
47938         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47939         * doc/glibc-functions/flistxattr.texi: Likewise.
47940         * doc/glibc-functions/fopencookie.texi: Likewise.
47941         * doc/glibc-functions/fremovexattr.texi: Likewise.
47942         * doc/glibc-functions/fsetxattr.texi: Likewise.
47943         * doc/glibc-functions/getxattr.texi: Likewise.
47944         * doc/glibc-functions/lgetxattr.texi: Likewise.
47945         * doc/glibc-functions/listxattr.texi: Likewise.
47946         * doc/glibc-functions/llistxattr.texi: Likewise.
47947         * doc/glibc-functions/lremovexattr.texi: Likewise.
47948         * doc/glibc-functions/lsetxattr.texi: Likewise.
47949         * doc/glibc-functions/removexattr.texi: Likewise.
47950         * doc/glibc-functions/setxattr.texi: Likewise.
47951         * doc/posix-functions/open_memstream.texi: Likewise.
47952
47953 2008-12-15  Eric Blake  <ebb9@byu.net>
47954
47955         Update doc for cygwin 1.7.
47956         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47957         functions.
47958         * doc/posix-functions/fchmodat.texi: Likewise.
47959         * doc/posix-functions/fchownat.texi: Likewise.
47960         * doc/posix-functions/fdopendir.texi: Likewise.
47961         * doc/posix-functions/fmemopen.texi: Likewise.
47962         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47963         * doc/posix-functions/fstatat.texi: Likewise.
47964         * doc/posix-functions/futimens.texi: Likewise.
47965         * doc/posix-functions/gai_strerror.texi: Likewise.
47966         * doc/posix-functions/getaddrinfo.texi: Likewise.
47967         * doc/posix-functions/getnameinfo.texi: Likewise.
47968         * doc/posix-functions/if_freenameindex.texi: Likewise.
47969         * doc/posix-functions/if_indextoname.texi: Likewise.
47970         * doc/posix-functions/if_nameindex.texi: Likewise.
47971         * doc/posix-functions/if_nametoindex.texi: Likewise.
47972         * doc/posix-functions/insque.texi: Likewise.
47973         * doc/posix-functions/linkat.texi: Likewise.
47974         * doc/posix-functions/llrint.texi: Likewise.
47975         * doc/posix-functions/llrintf.texi: Likewise.
47976         * doc/posix-functions/llrintl.texi: Likewise.
47977         * doc/posix-functions/lockf.texi: Likewise.
47978         * doc/posix-functions/lrintl.texi: Likewise.
47979         * doc/posix-functions/mkdirat.texi: Likewise.
47980         * doc/posix-functions/mkfifoat.texi: Likewise.
47981         * doc/posix-functions/mknodat.texi: Likewise.
47982         * doc/posix-functions/mq_close.texi: Likewise.
47983         * doc/posix-functions/mq_getattr.texi: Likewise.
47984         * doc/posix-functions/mq_notify.texi: Likewise.
47985         * doc/posix-functions/mq_open.texi: Likewise.
47986         * doc/posix-functions/mq_receive.texi: Likewise.
47987         * doc/posix-functions/mq_send.texi: Likewise.
47988         * doc/posix-functions/mq_setattr.texi: Likewise.
47989         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47990         * doc/posix-functions/mq_timedsend.texi: Likewise.
47991         * doc/posix-functions/mq_unlink.texi: Likewise.
47992         * doc/posix-functions/open_memstream.texi: Likewise.
47993         * doc/posix-functions/openat.texi: Likewise.
47994         * doc/posix-functions/posix_fadvise.texi: Likewise.
47995         * doc/posix-functions/posix_fallocate.texi: Likewise.
47996         * doc/posix-functions/posix_madvise.texi: Likewise.
47997         * doc/posix-functions/posix_memalign.texi: Likewise.
47998         * doc/posix-functions/posix_openpt.texi: Likewise.
47999         * doc/posix-functions/readlinkat.texi: Likewise.
48000         * doc/posix-functions/remque.texi: Likewise.
48001         * doc/posix-functions/renameat.texi: Likewise.
48002         * doc/posix-functions/rintl.texi: Likewise.
48003         * doc/posix-functions/sem_unlink.texi: Likewise.
48004         * doc/posix-functions/shm_open.texi: Likewise.
48005         * doc/posix-functions/shm_unlink.texi: Likewise.
48006         * doc/posix-functions/signgam.texi: Likewise.
48007         * doc/posix-functions/sigset.texi: Likewise.
48008         * doc/posix-functions/stpcpy.texi: Likewise.
48009         * doc/posix-functions/stpncpy.texi: Likewise.
48010         * doc/posix-functions/strerror.texi: Likewise.
48011         * doc/posix-functions/strtod.texi: Likewise.
48012         * doc/posix-functions/symlinkat.texi: Likewise.
48013         * doc/posix-functions/unlinkat.texi: Likewise.
48014         * doc/posix-functions/utimensat.texi: Likewise.
48015         * doc/glibc-functions/bindresvport.texi: Likewise.
48016         * doc/glibc-functions/dn_expand.texi: Likewise.
48017         * doc/glibc-functions/exp10.texi: Likewise.
48018         * doc/glibc-functions/exp10f.texi: Likewise.
48019         * doc/glibc-functions/fgetxattr.texi: Likewise.
48020         * doc/glibc-functions/flistxattr.texi: Likewise.
48021         * doc/glibc-functions/fopencookie.texi: Likewise.
48022         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48023         * doc/glibc-functions/fremovexattr.texi: Likewise.
48024         * doc/glibc-functions/fsetxattr.texi: Likewise.
48025         * doc/glibc-functions/getifaddrs.texi: Likewise.
48026         * doc/glibc-functions/getxattr.texi: Likewise.
48027         * doc/glibc-functions/lgetxattr.texi: Likewise.
48028         * doc/glibc-functions/listxattr.texi: Likewise.
48029         * doc/glibc-functions/llistxattr.texi: Likewise.
48030         * doc/glibc-functions/lremovexattr.texi: Likewise.
48031         * doc/glibc-functions/lsetxattr.texi: Likewise.
48032         * doc/glibc-functions/pow10.texi: Likewise.
48033         * doc/glibc-functions/pow10f.texi: Likewise.
48034         * doc/glibc-functions/rcmd_af.texi: Likewise.
48035         * doc/glibc-functions/removexattr.texi: Likewise.
48036         * doc/glibc-functions/res_init.texi: Likewise.
48037         * doc/glibc-functions/res_mkquery.texi: Likewise.
48038         * doc/glibc-functions/res_query.texi: Likewise.
48039         * doc/glibc-functions/res_querydomain.texi: Likewise.
48040         * doc/glibc-functions/res_send.texi: Likewise.
48041         * doc/glibc-functions/rresvport_af.texi: Likewise.
48042         * doc/glibc-functions/setxattr.texi: Likewise.
48043         * doc/glibc-functions/strcasestr.texi: Likewise.
48044
48045 2008-12-15  Bruno Haible  <bruno@clisp.org>
48046
48047         Fix compilation error on OSF/1 4.0.
48048         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48049         <sys/time.h>, simply delegate to the system header.
48050         Reported by Daniel Richard G. <oss@teragram.com>.
48051
48052 2008-12-15  Bruno Haible  <bruno@clisp.org>
48053
48054         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48055         * doc/posix-functions/fchmodat.texi: Likewise.
48056         * doc/posix-functions/fchownat.texi: Likewise.
48057         * doc/posix-functions/fdopendir.texi: Likewise.
48058         * doc/posix-functions/fstatat.texi: Likewise.
48059         * doc/posix-functions/mkdirat.texi: Likewise.
48060         * doc/posix-functions/unlinkat.texi: Likewise.
48061
48062 2008-12-14  Bruno Haible  <bruno@clisp.org>
48063
48064         Update doc for POSIX:2008.
48065         * doc/posix-functions/faccessat.texi: New file.
48066         * doc/posix-functions/fchmodat.texi: New file.
48067         * doc/posix-functions/fchownat.texi: New file.
48068         * doc/posix-functions/fdopendir.texi: New file.
48069         * doc/posix-functions/fstatat.texi: New file.
48070         * doc/posix-functions/futimens.texi: New file.
48071         * doc/posix-functions/linkat.texi: New file.
48072         * doc/posix-functions/mkdirat.texi: New file.
48073         * doc/posix-functions/mkfifoat.texi: New file.
48074         * doc/posix-functions/mknodat.texi: New file.
48075         * doc/posix-functions/open_wmemstream.texi: New file.
48076         * doc/posix-functions/openat.texi: New file.
48077         * doc/posix-functions/psiginfo.texi: New file.
48078         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48079         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48080         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48081         * doc/posix-functions/readlinkat.texi: New file.
48082         * doc/posix-functions/renameat.texi: New file.
48083         * doc/posix-functions/strerror_l.texi: New file.
48084         * doc/posix-functions/symlinkat.texi: New file.
48085         * doc/posix-functions/unlinkat.texi: New file.
48086         * doc/posix-functions/utimensat.texi: New file.
48087         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48088
48089 2008-12-14  Bruno Haible  <bruno@clisp.org>
48090
48091         Update doc for POSIX:2008.
48092         * doc/posix-functions/alphasort.texi: Renamed from
48093         doc/glibc-functions/alphasort.texi.
48094         * doc/posix-functions/dirfd.texi: Renamed from
48095         doc/glibc-functions/dirfd.texi.
48096         * doc/posix-functions/dprintf.texi: Renamed from
48097         doc/glibc-functions/dprintf.texi.
48098         * doc/posix-functions/duplocale.texi: Renamed from
48099         doc/glibc-functions/duplocale.texi.
48100         * doc/posix-functions/fexecve.texi: Renamed from
48101         doc/glibc-functions/fexecve.texi.
48102         * doc/posix-functions/fmemopen.texi: Renamed from
48103         doc/glibc-functions/fmemopen.texi.
48104         * doc/posix-functions/freelocale.texi: Renamed from
48105         doc/glibc-functions/freelocale.texi.
48106         * doc/posix-functions/getdate_err.texi: Renamed from
48107         doc/glibc-functions/getdate_err.texi.
48108         * doc/posix-functions/isalnum_l.texi: Renamed from
48109         doc/glibc-functions/isalnum_l.texi.
48110         * doc/posix-functions/isalpha_l.texi: Renamed from
48111         doc/glibc-functions/isalpha_l.texi.
48112         * doc/posix-functions/isblank_l.texi: Renamed from
48113         doc/glibc-functions/isblank_l.texi.
48114         * doc/posix-functions/iscntrl_l.texi: Renamed from
48115         doc/glibc-functions/iscntrl_l.texi.
48116         * doc/posix-functions/isdigit_l.texi: Renamed from
48117         doc/glibc-functions/isdigit_l.texi.
48118         * doc/posix-functions/isgraph_l.texi: Renamed from
48119         doc/glibc-functions/isgraph_l.texi.
48120         * doc/posix-functions/islower_l.texi: Renamed from
48121         doc/glibc-functions/islower_l.texi.
48122         * doc/posix-functions/isprint_l.texi: Renamed from
48123         doc/glibc-functions/isprint_l.texi.
48124         * doc/posix-functions/ispunct_l.texi: Renamed from
48125         doc/glibc-functions/ispunct_l.texi.
48126         * doc/posix-functions/isspace_l.texi: Renamed from
48127         doc/glibc-functions/isspace_l.texi.
48128         * doc/posix-functions/isupper_l.texi: Renamed from
48129         doc/glibc-functions/isupper_l.texi.
48130         * doc/posix-functions/iswalnum_l.texi: Renamed from
48131         doc/glibc-functions/iswalnum_l.texi.
48132         * doc/posix-functions/iswalpha_l.texi: Renamed from
48133         doc/glibc-functions/iswalpha_l.texi.
48134         * doc/posix-functions/iswblank_l.texi: Renamed from
48135         doc/glibc-functions/iswblank_l.texi.
48136         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48137         doc/glibc-functions/iswcntrl_l.texi.
48138         * doc/posix-functions/iswctype_l.texi: Renamed from
48139         doc/glibc-functions/iswctype_l.texi.
48140         * doc/posix-functions/iswdigit_l.texi: Renamed from
48141         doc/glibc-functions/iswdigit_l.texi.
48142         * doc/posix-functions/iswgraph_l.texi: Renamed from
48143         doc/glibc-functions/iswgraph_l.texi.
48144         * doc/posix-functions/iswlower_l.texi: Renamed from
48145         doc/glibc-functions/iswlower_l.texi.
48146         * doc/posix-functions/iswprint_l.texi: Renamed from
48147         doc/glibc-functions/iswprint_l.texi.
48148         * doc/posix-functions/iswpunct_l.texi: Renamed from
48149         doc/glibc-functions/iswpunct_l.texi.
48150         * doc/posix-functions/iswspace_l.texi: Renamed from
48151         doc/glibc-functions/iswspace_l.texi.
48152         * doc/posix-functions/iswupper_l.texi: Renamed from
48153         doc/glibc-functions/iswupper_l.texi.
48154         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48155         doc/glibc-functions/iswxdigit_l.texi.
48156         * doc/posix-functions/isxdigit_l.texi: Renamed from
48157         doc/glibc-functions/isxdigit_l.texi.
48158         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48159         doc/glibc-functions/mbsnrtowcs.texi.
48160         * doc/posix-functions/mkdtemp.texi: Renamed from
48161         doc/glibc-functions/mkdtemp.texi.
48162         * doc/posix-functions/newlocale.texi: Renamed from
48163         doc/glibc-functions/newlocale.texi.
48164         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48165         doc/glibc-functions/nl_langinfo_l.texi.
48166         * doc/posix-functions/open_memstream.texi: Renamed from
48167         doc/glibc-functions/open_memstream.texi.
48168         * doc/posix-functions/opterr.texi: Renamed from
48169         doc/glibc-functions/opterr.texi.
48170         * doc/posix-functions/optind.texi: Renamed from
48171         doc/glibc-functions/optind.texi.
48172         * doc/posix-functions/optopt.texi: Renamed from
48173         doc/glibc-functions/optopt.texi.
48174         * doc/posix-functions/psignal.texi: Renamed from
48175         doc/glibc-functions/psignal.texi.
48176         * doc/posix-functions/scandir.texi: Renamed from
48177         doc/glibc-functions/scandir.texi.
48178         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48179         doc/glibc-functions/sched_get_priority_min.texi.
48180         * doc/posix-functions/signgam.texi: Renamed from
48181         doc/glibc-functions/signgam.texi.
48182         * doc/posix-functions/stpcpy.texi: Renamed from
48183         doc/glibc-functions/stpcpy.texi.
48184         * doc/posix-functions/stpncpy.texi: Renamed from
48185         doc/glibc-functions/stpncpy.texi.
48186         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48187         doc/glibc-functions/strcasecmp_l.texi.
48188         * doc/posix-functions/strcoll_l.texi: Renamed from
48189         doc/glibc-functions/strcoll_l.texi.
48190         * doc/posix-functions/strfmon_l.texi: Renamed from
48191         doc/glibc-functions/strfmon_l.texi.
48192         * doc/posix-functions/strftime_l.texi: Renamed from
48193         doc/glibc-functions/strftime_l.texi.
48194         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48195         doc/glibc-functions/strncasecmp_l.texi.
48196         * doc/posix-functions/strndup.texi: Renamed from
48197         doc/glibc-functions/strndup.texi.
48198         * doc/posix-functions/strnlen.texi: Renamed from
48199         doc/glibc-functions/strnlen.texi.
48200         * doc/posix-functions/strsignal.texi: Renamed from
48201         doc/glibc-functions/strsignal.texi.
48202         * doc/posix-functions/strxfrm_l.texi: Renamed from
48203         doc/glibc-functions/strxfrm_l.texi.
48204         * doc/posix-functions/timer_gettime.texi: Renamed from
48205         doc/glibc-functions/timer_gettime.texi.
48206         * doc/posix-functions/tolower_l.texi: Renamed from
48207         doc/glibc-functions/tolower_l.texi.
48208         * doc/posix-functions/toupper_l.texi: Renamed from
48209         doc/glibc-functions/toupper_l.texi.
48210         * doc/posix-functions/towctrans_l.texi: Renamed from
48211         doc/glibc-functions/towctrans_l.texi.
48212         * doc/posix-functions/towlower_l.texi: Renamed from
48213         doc/glibc-functions/towlower_l.texi.
48214         * doc/posix-functions/towupper_l.texi: Renamed from
48215         doc/glibc-functions/towupper_l.texi.
48216         * doc/posix-functions/uselocale.texi: Renamed from
48217         doc/glibc-functions/uselocale.texi.
48218         * doc/posix-functions/vdprintf.texi: Renamed from
48219         doc/glibc-functions/vdprintf.texi.
48220         * doc/posix-functions/wcpcpy.texi:
48221         Renamed from doc/glibc-functions/wcpcpy.texi.
48222         * doc/posix-functions/wcpncpy.texi: Renamed from
48223         doc/glibc-functions/wcpncpy.texi.
48224         * doc/posix-functions/wcscasecmp.texi: Renamed from
48225         doc/glibc-functions/wcscasecmp.texi.
48226         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48227         doc/glibc-functions/wcscasecmp_l.texi.
48228         * doc/posix-functions/wcscoll_l.texi: Renamed from
48229         doc/glibc-functions/wcscoll_l.texi.
48230         * doc/posix-functions/wcsdup.texi: Renamed from
48231         doc/glibc-functions/wcsdup.texi.
48232         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48233         doc/glibc-functions/wcsncasecmp.texi.
48234         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48235         doc/glibc-functions/wcsncasecmp_l.texi.
48236         * doc/posix-functions/wcsnlen.texi: Renamed from
48237         doc/glibc-functions/wcsnlen.texi.
48238         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48239         doc/glibc-functions/wcsnrtombs.texi.
48240         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48241         doc/glibc-functions/wcsxfrm_l.texi.
48242         * doc/posix-functions/wctrans_l.texi: Renamed from
48243         doc/glibc-functions/wctrans_l.texi.
48244         * doc/posix-functions/wctype_l.texi: Renamed from
48245         doc/glibc-functions/wctype_l.texi.
48246         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48247         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48248         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48249         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48250         these subsections.
48251         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48252         Remove sections.
48253
48254 2008-12-14  Bruno Haible  <bruno@clisp.org>
48255
48256         Update doc for POSIX:2008.
48257         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48258
48259 2008-12-14  Bruno Haible  <bruno@clisp.org>
48260
48261         Update doc for POSIX:2008.
48262         * doc/pastposix-functions/bcmp.texi: Renamed from
48263         doc/posix-functions/bcmp.texi.
48264         * doc/pastposix-functions/bcopy.texi: Renamed from
48265         doc/posix-functions/bcopy.texi.
48266         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48267         doc/posix-functions/bsd_signal.texi.
48268         * doc/pastposix-functions/bzero.texi: Renamed from
48269         doc/posix-functions/bzero.texi.
48270         * doc/pastposix-functions/ecvt.texi: Renamed from
48271         doc/posix-functions/ecvt.texi.
48272         * doc/pastposix-functions/fcvt.texi: Renamed from
48273         doc/posix-functions/fcvt.texi.
48274         * doc/pastposix-functions/ftime.texi: Renamed from
48275         doc/posix-functions/ftime.texi.
48276         * doc/pastposix-functions/gcvt.texi: Renamed from
48277         doc/posix-functions/gcvt.texi.
48278         * doc/pastposix-functions/getcontext.texi: Renamed from
48279         doc/posix-functions/getcontext.texi.
48280         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48281         doc/posix-functions/gethostbyaddr.texi.
48282         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48283         doc/posix-functions/gethostbyname.texi.
48284         * doc/pastposix-functions/getwd.texi: Renamed from
48285         doc/posix-functions/getwd.texi.
48286         * doc/pastposix-functions/h_errno.texi: Renamed from
48287         doc/posix-functions/h_errno.texi.
48288         * doc/pastposix-functions/index.texi: Renamed from
48289         doc/posix-functions/index.texi.
48290         * doc/pastposix-functions/makecontext.texi: Renamed from
48291         doc/posix-functions/makecontext.texi.
48292         * doc/pastposix-functions/mktemp.texi: Renamed from
48293         doc/posix-functions/mktemp.texi.
48294         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48295         doc/posix-functions/pthread_attr_getstackaddr.texi.
48296         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48297         doc/posix-functions/pthread_attr_setstackaddr.texi.
48298         * doc/pastposix-functions/rindex.texi: Renamed from
48299         doc/posix-functions/rindex.texi.
48300         * doc/pastposix-functions/scalb.texi: Renamed from
48301         doc/posix-functions/scalb.texi.
48302         * doc/pastposix-functions/setcontext.texi: Renamed from
48303         doc/posix-functions/setcontext.texi.
48304         * doc/pastposix-functions/swapcontext.texi: Renamed from
48305         doc/posix-functions/swapcontext.texi.
48306         * doc/pastposix-functions/ualarm.texi: Renamed from
48307         doc/posix-functions/ualarm.texi.
48308         * doc/pastposix-functions/usleep.texi: Renamed from
48309         doc/posix-functions/usleep.texi.
48310         * doc/pastposix-functions/vfork.texi: Renamed from
48311         doc/posix-functions/vfork.texi.
48312         * doc/pastposix-functions/wcswcs.texi: Renamed from
48313         doc/posix-functions/wcswcs.texi.
48314         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48315         (Function Substitutes): Update.
48316
48317 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48318
48319         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48320         m4/strerror.m4.
48321
48322 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48323             Bruno Haible  <bruno@clisp.org>
48324
48325         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48326
48327 2008-12-13  Bruno Haible  <bruno@clisp.org>
48328
48329         * modules/strtoull (Depends-on): Remove unistd.
48330
48331 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48332
48333         * modules/strtoull (Depends-on): Add stdlib.
48334
48335 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48336
48337         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48338
48339 2008-12-10  Jim Meyering  <meyering@redhat.com>
48340
48341         gl_ASSERT: don't say assertions are disabled when they're not
48342         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48343         "checking whether to enable assertions... no", when they are in
48344         fact enabled.  This is solely a bug in the output of configure.
48345         In spite of saying "no", NDEBUG was not defined in that case.
48346         Also, as noted by Eric Blake, leave assertions enabled upon
48347         --enable-assert=INVALID.
48348
48349 2008-12-10  Bruno Haible  <bruno@clisp.org>
48350
48351         Change MODULES.html to refer to POSIX:2008 where possible.
48352         * MODULES.html.sh (POSIX2008_URL): New variable.
48353         (posix_headers): Remove sys/timeb, ucontext.
48354         (posix2001_headers): New variable.
48355         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48356         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48357         index, makecontext, mktemp, pthread_attr_getstackaddr,
48358         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48359         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48360         (posix2001_functions): New variable.
48361         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48362         otherwise.
48363
48364 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48365
48366         add missing include to parse-duration.c
48367         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48368         * modules/parse-duration (Depends-on): Add xalloc.
48369
48370         fix sed script reading maint.mk
48371         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48372         (syntax-check-rules): Use it.
48373
48374 2008-12-09  Bruno Haible  <bruno@clisp.org>
48375
48376         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48377         MacOS X 10.4/PowerPC.
48378         Reported by Simon Josefsson.
48379
48380 2008-12-08  Jim Meyering  <meyering@redhat.com>
48381
48382         work around mingw's lack of some S_IF definitions
48383         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48384         Reported by Simon Josefsson.
48385
48386 2008-12-08  Bruno Haible  <bruno@clisp.org>
48387
48388         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48389         applied to variables. Needed on MacOS X 10.4/PowerPC.
48390         Reported by Simon Josefsson.
48391
48392 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48393         and Eric Blake  <ebb9@byu.net>
48394
48395         assert: honor --enable-assert
48396         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48397         order to honor --enable-assert, rather than treating it as a
48398         synonym for --disable-assert.
48399
48400 2008-12-08  Jim Meyering  <meyering@redhat.com>
48401
48402         * lib/posixtm.c: Remove now-useless declaration of mktime.
48403
48404         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48405
48406 2008-12-07  Bruno Haible  <bruno@clisp.org>
48407
48408         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48409         test_once): Mark functions as static.
48410         * tests/test-tls.c (test_tls): Likewise.
48411
48412 2008-12-07  Bruno Haible  <bruno@clisp.org>
48413
48414         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48415         iconv_register_autodetect.
48416
48417 2008-12-07  Jim Meyering  <meyering@redhat.com>
48418
48419         posixtm.c: avoid a warning
48420         * lib/posixtm.c (posixtime): Don't initialize tm0.
48421         It's no longer needed to placate gcc4's -Wuninitialized,
48422         and the attempt to placate would elicit a new warning.
48423
48424         unicodeio.c: mark unused parameters
48425         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48426         (fallback_failure_callback): Likewise.
48427
48428 2008-12-07  Bruno Haible  <bruno@clisp.org>
48429
48430         * gnulib-tool (func_create_testdir): When building the tests
48431         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48432         Reported by Simon Josefsson.
48433
48434 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48435
48436         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48437
48438 2008-12-06  Bruno Haible  <bruno@clisp.org>
48439
48440         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48441         Suggested by Eric Blake.
48442
48443 2008-12-06  Bruno Haible  <bruno@clisp.org>
48444
48445         Fix a c-stack test failure on MacOS X.
48446         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48447         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48448         handler for SIGBUS as well.
48449         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48450         install a signal handler for SIGBUS as well.
48451         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48452
48453 2008-12-06  Bruno Haible  <bruno@clisp.org>
48454
48455         Advocacy documentation.
48456         * doc/gnulib-intro.texi (Benefits): New section.
48457         * doc/gnulib.texi: Update.
48458
48459 2008-12-06  Bruno Haible  <bruno@clisp.org>
48460
48461         Document the 'manywarnings' module.
48462         * doc/manywarnings.texi: New file.
48463         * doc/gnulib.texi: Include it.
48464
48465 2008-12-05  Eric Blake  <ebb9@byu.net>
48466
48467         tests: silence some gcc warnings
48468         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48469         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48470         type mismatches.
48471
48472 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48473             Bruno Haible  <bruno@clisp.org>
48474
48475         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48476
48477 2008-11-29  Jim Meyering  <meyering@redhat.com>
48478
48479         unicodeio.c: mark unused parameters
48480         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48481         (fallback_failure_callback): Likewise.
48482
48483         fts: fix a thinko
48484         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48485         (set_stat_type): Return S_IF*-valued "type" directly.
48486         Prompted by James Youngman's spotting a related bug.
48487         Confirmed by further testing through find.
48488
48489         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48490         * lib/fts.c (D_TYPE): Define.
48491         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48492         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48493         (s_ifmt_shift_bits): New function.
48494         (set_stat_type): New function.
48495         (fts_build): When not calling fts_stat, call set_stat_type
48496         to propagate dirent.d_type info to fts_read caller.
48497         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48498         fts_statp->st_mode type information may be valid.
48499
48500 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48501
48502         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48503         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48504         <sds@gnu.org>.
48505
48506 2008-11-20  Bruno Haible  <bruno@clisp.org>
48507
48508         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48509         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48510         INCLUDE_NEXT.
48511         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48512         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48513         * modules/math (Makefile.am): Substitute
48514         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48515         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48516
48517 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48518             Bruno Haible  <bruno@clisp.org>
48519
48520         * lib/stdint.in.h: Define all type macros so that their expansion is
48521         a single typedef'ed token. Fixes a compilation failure in Boost which
48522         does "using ::int8_t;".
48523
48524 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48525
48526         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48527         gl_MANYWARN_ALL_GCC.
48528         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48529         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48530         * modules/manywarnings: New file.
48531         * MODULES.html.sh: Mention manywarnings module.
48532
48533 2008-11-18  Bruno Haible  <bruno@clisp.org>
48534
48535         * doc/gnulib-tool.texi (Unit tests): New section.
48536
48537 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48538
48539         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48540         paths like 'lib/po/foo.po'.
48541
48542 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48543
48544         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48545         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48546
48547 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48548
48549         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48550         parameter works.
48551
48552 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48553
48554         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48555
48556 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48557
48558         * modules/parse-duration-tests: New file.
48559         * tests/test-parse-duration.sh: New file.
48560         * tests/test-parse-duration.c: New file.
48561
48562         New module 'parse-duration'.
48563         * lib/parse-duration.h: New file.
48564         * lib/parse-duration.c: New file.
48565         * modules/parse-duration: New file.
48566
48567 2008-11-17  Bruno Haible  <bruno@clisp.org>
48568
48569         * tests/test-select-out.sh: Comment out the first pipe test.
48570         Reported by Simon Josefsson.
48571
48572 2008-11-17  Bruno Haible  <bruno@clisp.org>
48573
48574         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48575         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48576         gl_HOSTENT.
48577
48578 2008-11-17  Bruno Haible  <bruno@clisp.org>
48579
48580         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48581         -lnetwork and -lnet. Needed for Haiku and BeOS.
48582
48583 2008-11-16  Bruno Haible  <bruno@clisp.org>
48584
48585         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48586
48587 2008-11-16  Bruno Haible  <bruno@clisp.org>
48588
48589         Avoid test failure on Haiku.
48590         * tests/test-fsync.c: Include <errno.h>.
48591         (main): Don't require that fsync (0) fails.
48592
48593 2008-11-15  Bruno Haible  <bruno@clisp.org>
48594
48595         New module 'hostent'.
48596         * modules/hostent: New file.
48597         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48598
48599 2008-11-15  Bruno Haible  <bruno@clisp.org>
48600
48601         New module 'servent'.
48602         * modules/servent: New file.
48603         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48604
48605 2008-11-15  Bruno Haible  <bruno@clisp.org>
48606
48607         Avoid generating same test program with two different rules.
48608         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48609         test-frexp to test-frexp-nolibm.
48610         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48611         test-frexpl to test-frexpl-nolibm.
48612
48613 2008-11-15  Bruno Haible  <bruno@clisp.org>
48614
48615         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48616         $(FREXPL_LIBM).
48617
48618 2008-11-15  Bruno Haible  <bruno@clisp.org>
48619
48620         * lib/netdb.in.h: Activate the definitions also when the system's
48621         <netdb.h> has 'struct addrinfo'.
48622         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48623         EAI_OVERFLOW or AI_NUMERICSERV.
48624         * doc/posix-headers/netdb.texi: Document the problem.
48625
48626 2008-11-15  Bruno Haible  <bruno@clisp.org>
48627
48628         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48629
48630         Make the 'sched' module work on platforms where <sched.h> exists but
48631         is incomplete (such as Haiku).
48632         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48633         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48634         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48635         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48636         HAVE_STRUCT_SCHED_PARAM.
48637         * modules/sched (Depends-on): Add include_next.
48638         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48639         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48640         * doc/posix-headers/sched.texi: Document the issue.
48641
48642 2008-11-13  Jim Meyering  <meyering@redhat.com>
48643
48644         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48645         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48646         test would fail due to the difference in the Report bugs to ...
48647         line.  The expected address is empty, "<>", while the actual
48648         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48649
48650 2008-11-12  Bruno Haible  <bruno@clisp.org>
48651
48652         lstat: don't compile lstat.c on systems lacking lstat
48653         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48654         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48655         Reported by Daniel P. Berrange via Jim Meyering.
48656
48657 2008-11-12  Jim Meyering  <meyering@redhat.com>
48658
48659         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48660
48661 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48662
48663         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48664         instead.
48665
48666 2008-11-12  Bruno Haible  <bruno@clisp.org>
48667
48668         * lib/unicodeio.c: Include unistr.h.
48669         (utf8_wctomb): Remove function.
48670         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48671
48672 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48673
48674         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48675         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48676         <bruno@clisp.org>.
48677         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48678
48679 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48680
48681         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48682         * doc/gnulib.texi: Add section for warnings.
48683
48684 2008-11-11  Bruno Haible  <bruno@clisp.org>
48685
48686         * lib/sockets.h: Add a comment.
48687
48688 2008-11-11  Karl Berry  <karl@gnu.org>
48689
48690         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48691
48692 2008-11-11  Eric Blake  <ebb9@byu.net>
48693
48694         fdl.texi: avoid git symlinks
48695         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48696
48697 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48698
48699         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48700
48701 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48702
48703         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48704         (gl_WARN_ADD): Substitute $2 if literal.
48705
48706 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48707
48708         * m4/warning.m4: Remove.
48709
48710 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48711
48712         * m4/warnings.m4: Almost complete rewrite. :-)
48713
48714 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48715
48716         * modules/warnings: New module.
48717         * m4/warnings.m4: New file.
48718         * MODULES.html.sh: Mention warnings module.
48719         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48720         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48721
48722 2008-11-10  Eric Blake  <ebb9@byu.net>
48723
48724         fdl.texi: make a symlink to the latest version
48725         * doc/standards.texi: Revert today's earlier change.
48726         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48727         * doc/fdl.texi: ...and replace this with a symlink to the newer
48728         fdl-1.3.texi.
48729
48730 2008-11-10  Bruno Haible  <bruno@clisp.org>
48731
48732         * tests/test-select-fd.c (main): Accept the result file name as fourth
48733         argument.
48734         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48735         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48736
48737 2008-11-10  Bruno Haible  <bruno@clisp.org>
48738
48739         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48740         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48741         as autoconf-substituted macros.
48742         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48743         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48744         gl_NETDB_H_DEFAULTS. Set these variables.
48745         * modules/netdb (Makefile.am): Substitute these variables.
48746
48747 2008-11-10  Eric Blake  <ebb9@byu.net>
48748
48749         standards.texi: include correct file for FDL 1.3
48750         * doc/standards.texi (GNU Free Documentation License): Change
48751         include file to pull in FDL 1.3, not 1.2.
48752
48753         fdl.texi: revert accidental change to license
48754         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48755
48756 2008-11-10  Bruno Haible  <bruno@clisp.org>
48757
48758         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48759         cross-compiling guesses also when the native compile gives no result.
48760
48761 2008-11-10  Bruno Haible  <bruno@clisp.org>
48762
48763         * lib/spawni.c (__spawni): Force variable into the stack.
48764
48765 2008-11-10  Bruno Haible  <bruno@clisp.org>
48766
48767         Add support for Haiku.
48768         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48769         glibc and BeOS, but also on Haiku.
48770         * lib/fpurge.c (fpurge): Likewise.
48771         * lib/freadable.c (freadable): Likewise.
48772         * lib/freadahead.c (freadahead): Likewise.
48773         * lib/freading.c (freading): Likewise.
48774         * lib/freadptr.c (freadptr): Likewise.
48775         * lib/freadseek.c (freadptrinc): Likewise.
48776         * lib/fseeko.c (rpl_fseeko): Likewise.
48777         * lib/fseterr.c (fseterr): Likewise.
48778         * lib/fwritable.c (fwritable): Likewise.
48779         * lib/fwriting.c (fwriting): Likewise.
48780         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48781
48782 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48783
48784         * lib/config.charset: Treat Haiku like BeOS.
48785
48786 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48787
48788         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48789         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48790
48791 2008-11-08  Bruno Haible  <bruno@clisp.org>
48792
48793         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48794         AC_CACHE_CHECK.
48795
48796 2008-11-08  Bruno Haible  <bruno@clisp.org>
48797
48798         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48799
48800 2008-11-08  Bruno Haible  <bruno@clisp.org>
48801
48802         * tests/test-select-fd.c: New file.
48803         * tests/test-select-in.sh: New file.
48804         * tests/test-select-out.sh: New file.
48805         * tests/test-select-stdin.c: New file.
48806         * modules/select-tests (Files): Add the new files.
48807         (Depends-on): Add gettimeofday.
48808         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48809         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48810         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48811
48812 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48813             Bruno Haible  <bruno@clisp.org>
48814
48815         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48816
48817 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48818
48819         * build-aux/pmccabe2html: Added support for C++ source files.
48820
48821 2008-11-05  Ben Pfaff  <blp@gnu.org>
48822
48823         Fix lib/close.c build on Windows.
48824         * modules/close (Files): Add lib/w32sock.h.
48825
48826 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48827
48828         Accept Bison's NEWS format.
48829         * build-aux/announce-gen (print_news_deltas): Tweak
48830         $re_prefix.
48831
48832 2008-11-04  Bruno Haible  <bruno@clisp.org>
48833
48834         * modules/random_r (Maintainer): Add glibc.
48835
48836 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48837
48838         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48839         by karl@freefriends.org (Karl Berry).
48840         * doc/alloca.texi: Likewise.
48841         * doc/c-ctype.texi: Likewise.
48842         * doc/c-strcase.texi: Likewise.
48843         * doc/c-strcaseeq.texi: Likewise.
48844         * doc/c-strcasestr.texi: Likewise.
48845         * doc/c-strstr.texi: Likewise.
48846         * doc/c-strtod.texi: Likewise.
48847         * doc/c-strtold.texi: Likewise.
48848         * doc/ctime.texi: Likewise.
48849         * doc/error.texi: Likewise.
48850         * doc/fdl.texi: Likewise.
48851         * doc/gcd.texi: Likewise.
48852         * doc/getdate.texi: Likewise.
48853         * doc/gnulib-intro.texi: Likewise.
48854         * doc/gnulib-tool.texi: Likewise.
48855         * doc/gnulib.texi: Likewise.
48856         * doc/inet_ntoa.texi: Likewise.
48857         * doc/maintain.texi: Likewise.
48858         * doc/make-stds.texi: Likewise.
48859         * doc/quote.texi: Likewise.
48860         * doc/regexprops-generic.texi: Likewise.
48861         * doc/standards.texi: Likewise.
48862         * doc/verify.texi: Likewise.
48863         * doc/visibility.texi: Likewise.
48864         * doc/gnulib.texi (GNU Free Documentation License): Include
48865         fdl-1.3.texi instead of fdl.texi.
48866
48867 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48868
48869         * doc/fdl-1.3.texi: New file, from
48870         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48871         * modules/fdl-1.3: Add.
48872         * MODULES.html.sh: Add fdl-1.3.
48873
48874 2008-11-03  Bruno Haible  <bruno@clisp.org>
48875
48876         Make determination of absolute name of header file work with AIX xlc.
48877         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48878         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48879         preprocessing.
48880         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48881         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48882
48883 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48884
48885         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48886         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48887         <ludo@gnu.org>.
48888
48889 2008-11-02  Bruno Haible  <bruno@clisp.org>
48890
48891         Mark 'strpbrk' obsolete.
48892         * modules/strpbrk (Status, Notice): New sections.
48893         * modules/strtok_r (Depends-on): Add strpbrk.
48894
48895 2008-11-02  Bruno Haible  <bruno@clisp.org>
48896
48897         Mark 'strdup' obsolete.
48898         * modules/strdup (Status, Notice): New sections.
48899         * modules/findprog (Depends-on): Add strdup.
48900         * modules/getaddrinfo (Depends-on): Likewise.
48901         * modules/localename (Depends-on): Likewise.
48902         * modules/relocatable-lib (Depends-on): Likewise.
48903         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48904         * modules/relocatable-prog (Depends-on): Likewise.
48905         * modules/trim (Depends-on): Likewise.
48906         * modules/unictype/gen-ctype (Depends-on): Likewise.
48907         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48908
48909 2008-11-02  Bruno Haible  <bruno@clisp.org>
48910
48911         Mark 'strcspn' obsolete.
48912         * modules/strcspn (Status, Notice): New sections.
48913
48914 2008-11-02  Bruno Haible  <bruno@clisp.org>
48915
48916         Mark 'rmdir' obsolete.
48917         * modules/rmdir (Status, Notice): New sections.
48918         * modules/clean-temp (Depends-on): Add rmdir.
48919         * modules/openat (Depends-on): Likewise.
48920
48921 2008-11-02  Bruno Haible  <bruno@clisp.org>
48922
48923         Mark 'raise' obsolete.
48924         * modules/raise (Status, Notice): New sections.
48925         (Include): Specify <signal.h>.
48926         * modules/stdio (Depends-on): Add raise.
48927         * modules/write (Depends-on): Likewise.
48928
48929 2008-11-02  Bruno Haible  <bruno@clisp.org>
48930
48931         Mark 'memset' obsolete.
48932         * modules/memset (Status, Notice): New sections.
48933
48934 2008-11-02  Bruno Haible  <bruno@clisp.org>
48935
48936         Mark 'memmove' obsolete.
48937         * modules/memmove (Status, Notice): New sections.
48938         * modules/argp (Depends-on): Add memmove.
48939         * modules/argz (Depends-on): Likewise.
48940         * modules/canonicalize (Depends-on): Likewise.
48941         * modules/canonicalize-lgpl (Depends-on): Likewise.
48942         * modules/fts (Depends-on): Likewise.
48943         * modules/getcwd (Depends-on): Likewise.
48944         * modules/human (Depends-on): Likewise.
48945         * modules/regex (Depends-on): Likewise.
48946         * modules/striconveh (Depends-on): Likewise.
48947         * modules/trim (Depends-on): Likewise.
48948         * modules/unistr/u8-move (Depends-on): Likewise.
48949         * modules/unistr/u16-move (Depends-on): Likewise.
48950         * modules/unistr/u32-move (Depends-on): Likewise.
48951
48952 2008-11-02  Bruno Haible  <bruno@clisp.org>
48953
48954         Mark 'memcpy' obsolete.
48955         * modules/memcpy (Status, Notice): New sections.
48956
48957 2008-11-02  Bruno Haible  <bruno@clisp.org>
48958
48959         Mark 'memcmp' obsolete.
48960         * modules/memcmp (Status, Notice): New sections.
48961         * modules/argmatch (Depends-on): Add memchr.
48962         * modules/backupfile (Depends-on): Likewise.
48963         * modules/c-strcasestr (Depends-on): Likewise.
48964         * modules/crypto/des (Depends-on): Likewise.
48965         * modules/csharpcomp (Depends-on): Likewise.
48966         * modules/fnmatch (Depends-on): Likewise.
48967         * modules/git-merge-changelog (Depends-on): Likewise.
48968         * modules/isnand (Depends-on): Likewise.
48969         * modules/isnand-nolibm (Depends-on): Likewise.
48970         * modules/isnanf (Depends-on): Likewise.
48971         * modules/isnanf-nolibm (Depends-on): Likewise.
48972         * modules/isnanl (Depends-on): Likewise.
48973         * modules/isnanl-nolibm (Depends-on): Likewise.
48974         * modules/mbchar (Depends-on): Likewise.
48975         * modules/memcoll (Depends-on): Likewise.
48976         * modules/quotearg (Depends-on): Likewise.
48977         * modules/regex (Depends-on): Likewise.
48978         * modules/relocatable-prog (Depends-on): Likewise.
48979         * modules/same (Depends-on): Likewise.
48980         * modules/signbit (Depends-on): Likewise.
48981         * modules/strcasestr-simple (Depends-on): Likewise.
48982         * modules/unictype/gen-ctype (Depends-on): Likewise.
48983         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48984         * modules/uniname/uniname (Depends-on): Likewise.
48985         * modules/unistr/u8-cmp (Depends-on): Likewise.
48986
48987 2008-11-02  Bruno Haible  <bruno@clisp.org>
48988
48989         Mark 'memchr' obsolete.
48990         * modules/memchr (Status, Notice): New sections.
48991         * modules/argp (Depends-on): Add memchr.
48992         * modules/base64 (Depends-on): Likewise.
48993         * modules/c-strcasestr (Depends-on): Likewise.
48994         * modules/chdir-long (Depends-on): Likewise.
48995         * modules/fnmatch (Depends-on): Likewise.
48996         * modules/getsubopt (Depends-on): Likewise.
48997         * modules/git-merge-changelog (Depends-on): Likewise.
48998         * modules/glob (Depends-on): Likewise.
48999         * modules/strcasestr-simple (Depends-on): Likewise.
49000         * modules/strnlen (Depends-on): Likewise.
49001
49002 2008-11-02  Bruno Haible  <bruno@clisp.org>
49003
49004         Mark 'atexit' obsolete.
49005         * modules/atexit (Status, Notice): New sections.
49006         * modules/chdir-long (Depends-on): Add atexit.
49007         * modules/wait-process (Depends-on): Likewise.
49008
49009 2008-11-02  Bruno Haible  <bruno@clisp.org>
49010
49011         * gnulib-tool: New option --with-obsolete.
49012         (func_usage): Document it.
49013         (func_modules_transitive_closure): Drop obsolete dependencies if
49014         incobsolete is not true.
49015         (func_import): Read and save the incobsolete variable to the cache.
49016
49017 2008-11-02  Bruno Haible  <bruno@clisp.org>
49018
49019         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49020         * gnulib-tool: New option --extract-status.
49021         (func_usage): Document it.
49022         (sed_extract_prog): Recognize it.
49023         (func_get_status): New function.
49024
49025 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49026
49027         * modules/sockets (License): Change from LGPL to LGPLv2+.
49028
49029 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49030
49031         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49032
49033 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49034
49035         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49036         Mention times and sys_times.
49037         * modules/sys_times, modules/sys_times-tests: New modules.
49038         * modules/times, modules/times-tests: Likewise
49039         * m4/sys_times_h.m4: New file.
49040         * lib/sys_times.in.h: Likewise
49041         * lib/times.c: Likewise.
49042         * tests/test-sys_times.c: Likewise.
49043         * tests/test-times.c: Likewise.
49044         * doc/posix-headers/sys_times.texi: Update.
49045         * doc/posix-functions/times.texi: Update.
49046
49047 2008-10-28  Jim Meyering  <meyering@redhat.com>
49048
49049         * modules/tempname (Depends-on): Add lstat.
49050
49051         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49052
49053 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49054
49055         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49056         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49057         using idiom used elsewhere in gnulib.
49058
49059 2008-10-27  Jim Meyering  <meyering@redhat.com>
49060
49061         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49062
49063 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49064
49065         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49066         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49067         programs.
49068         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49069
49070 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49071
49072         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49073
49074 2008-10-27  Bruno Haible  <bruno@clisp.org>
49075
49076         * tests/test-lstat.c: Include <stdio.h>.
49077
49078 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49079
49080         * modules/lstat-tests: New module.
49081         * tests/test-lstat.c: New file.
49082
49083 2008-10-26  Jim Meyering  <meyering@redhat.com>
49084
49085         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49086
49087 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49088             Bruno Haible  <bruno@clisp.org>
49089
49090         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49091         * modules/configmake (Include): Add a note that the include must come
49092         after all system headers.
49093         * lib/javaversion.c: Include configmake.h after all other includes.
49094
49095 2008-10-26  Bruno Haible  <bruno@clisp.org>
49096
49097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49098         HAVE_STRUCT_RANDOM_DATA to 1.
49099         (gl_STDLIB_H): Simplify.
49100
49101 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49102
49103         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49104         substitute HAVE_STRUCT_RANDOM_DATA.
49105         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49106         random_data.
49107         * modules/stdlib (Makefile.am): Substitute
49108         HAVE_STRUCT_RANDOM_DATA.
49109
49110 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49111
49112         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49113         * doc/gnulib-intro.texi (Copyright): Likewise.
49114
49115 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49116
49117         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49118         findings.
49119
49120 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49121             Bruno Haible  <bruno@clisp.org>
49122
49123         * lib/unistd.in.h: Include <winsock2.h>.
49124         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49125         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49126         Provide dummy declarations.
49127         (gethostname): Override.
49128         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49129         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49130         gl_PREREQ_SYS_H_WINSOCK2.
49131         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49132         * doc/posix-functions/gethostname.texi: More details.
49133
49134 2008-10-25  Bruno Haible  <bruno@clisp.org>
49135
49136         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49137         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49138         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49139
49140         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49141         here ...
49142         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49143         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49144         gl_UNISTD_H_DEFAULTS.
49145
49146 2008-10-25  Eric Blake  <ebb9@byu.net>
49147
49148         signbit: avoid spurious compiler failure
49149         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49150         declarations inside function.
49151
49152 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49153             Bruno Haible  <bruno@clisp.org>
49154
49155         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49156         * modules/random_r (Depends-on): Add stdint.
49157
49158 2008-10-24  Bruno Haible  <bruno@clisp.org>
49159
49160         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49161         Eggert.
49162         * modules/strerror (License): Likewise.
49163
49164 2008-10-24  Jim Meyering  <meyering@redhat.com>
49165
49166         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49167         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49168
49169 2008-10-24  Eric Blake  <ebb9@byu.net>
49170
49171         getgroups: fix compilation when getgroups is available
49172         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49173         but with <config.h> override of getgroups disabled.
49174
49175 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49176
49177         * doc/gnulib.texi (Header files): Add note about C++ problems.
49178         Explained by Bruno Haible <bruno@clisp.org>.
49179
49180 2008-10-23  Bruno Haible  <bruno@clisp.org>
49181
49182         Define a dummy SA_NODEFER macro on Interix.
49183         * lib/signal.in.h (SA_NODEFER): Define fallback.
49184         Reported by Aleksey Cheusov <cheusov@tut.by> via
49185         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49186
49187 2008-10-23  Bruno Haible  <bruno@clisp.org>
49188
49189         * modules/freadahead (License): Change to LGPLv2+.
49190         Suggested by Simon Josefsson.
49191
49192 2008-10-23  Jim Meyering  <meyering@redhat.com>
49193
49194         random_r: new module
49195         * modules/random_r: New file.
49196         * m4/random_r.m4: New file.
49197         * lib/random_r.c: New file, from glibc.
49198         * modules/random_r-tests: New file.
49199         * tests/test-random_r.c: New file.
49200         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49201          Declare.
49202         (RAND_MAX): Define.
49203         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49204         * modules/stdlib: Substitute them, too.
49205         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49206         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49207         * doc/glibc-functions/random_r.texi: Likewise.
49208         * doc/glibc-functions/setstate_r.texi: Likewise.
49209         * doc/glibc-functions/srandom_r.texi: Likewise.
49210         * config/srclist.txt: Mention it.
49211
49212 2008-10-23  David Lutterkort  <lutter@redhat.com>
49213
49214         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49215         link requirement
49216
49217 2008-10-23  Jim Meyering  <meyering@redhat.com>
49218
49219         selinux-h: mark parameters of stub functions as intentionally unused
49220         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49221         * lib/se-context.in.h: Likewise.
49222
49223 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49224
49225         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49226
49227 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49228
49229         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49230
49231 2008-10-22  Eric Blake  <ebb9@byu.net>
49232
49233         glthread/thread: avoid compiler warning
49234         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49235         Add unreachable abort to silence compiler.
49236
49237 2008-10-22  Eric Blake  <ebb9@byu.net>
49238
49239         netdb: also supply struct addrinfo for cygwin 1.5.x
49240         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49241         older cygwin.
49242         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49243         cygwin.
49244         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49245
49246 2008-10-22  Bruno Haible  <bruno@clisp.org>
49247
49248         * users.txt: Update entry about pspp.
49249
49250 2008-10-21  Bruno Haible  <bruno@clisp.org>
49251
49252         Simplification.
49253         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49254         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49255
49256         Simplification.
49257         * lib/ioctl.c (ioctl): Don't undefine.
49258         * lib/socket.c (socket): Don't undefine.
49259
49260         Remove unused module indicator macros.
49261         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49262         GNULIB_$1 as a C macro.
49263
49264         * doc/posix-functions/close.texi: Undo last change.
49265         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49266         Windows platforms.
49267
49268 2008-10-21  Bruno Haible  <bruno@clisp.org>
49269
49270         Add gethostname() declaration to <unistd.h>.
49271         * lib/unistd.in.h (gethostname): New declaration.
49272         * lib/gethostname.c: Include <unistd.h>.
49273         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49274         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49276         and HAVE_GETHOSTNAME.
49277         * modules/gethostname (Depends-on): Add unistd.
49278         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49279         (Include): Specify <unistd.h>.
49280         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49281         HAVE_GETHOSTNAME.
49282         * tests/test-gethostname.c: Include <unistd.h> first.
49283
49284 2008-10-21  Bruno Haible  <bruno@clisp.org>
49285
49286         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49287         * modules/select-tests (Depends-on): Likewise.
49288         Reported by Simon Josefsson.
49289
49290 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49291
49292         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49293         * lib/accept.c: New file, based on winsock.c.
49294         * lib/bind.c: New file, based on winsock.c.
49295         * lib/connect.c: New file, based on winsock.c.
49296         * lib/getpeername.c: New file, based on winsock.c.
49297         * lib/getsockname.c: New file, based on winsock.c.
49298         * lib/getsockopt.c: New file, based on winsock.c.
49299         * lib/ioctl.c: New file, based on winsock.c.
49300         * lib/listen.c: New file, based on winsock.c.
49301         * lib/recv.c: New file, based on winsock.c.
49302         * lib/recvfrom.c: New file, based on winsock.c.
49303         * lib/send.c: New file, based on winsock.c.
49304         * lib/sendto.c: New file, based on winsock.c.
49305         * lib/setsockopt.c: New file, based on winsock.c.
49306         * lib/shutdown.c: New file, based on winsock.c.
49307         * lib/socket.c: New file, based on winsock.c.
49308         * lib/w32sock.h: New file, based on winsock.c.
49309         * lib/winsock.c: Remove file.
49310         * modules/accept: Likewise.
49311         * modules/bind: Likewise.
49312         * modules/connect: Likewise.
49313         * modules/getpeername: Likewise.
49314         * modules/getsockname: Likewise.
49315         * modules/getsockopt: Likewise.
49316         * modules/ioctl: Likewise.
49317         * modules/listen: Likewise.
49318         * modules/recv: Likewise.
49319         * modules/recvfrom: Likewise.
49320         * modules/send: Likewise.
49321         * modules/sendto: Likewise.
49322         * modules/setsockopt: Likewise.
49323         * modules/shutdown: Likewise.
49324         * modules/socket: Use socket.c instead of winsock.c.
49325         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49326         * doc/posix-functions/accept.texi: Doc fix.
49327         * doc/posix-functions/bind.texi: Doc fix.
49328         * doc/posix-functions/close.texi: Doc fix.
49329         * doc/posix-functions/connect.texi: Doc fix.
49330         * doc/posix-functions/getpeername.texi: Doc fix.
49331         * doc/posix-functions/getsockname.texi: Doc fix.
49332         * doc/posix-functions/getsockopt.texi: Doc fix.
49333         * doc/posix-functions/ioctl.texi: Doc fix.
49334         * doc/posix-functions/listen.texi: Doc fix.
49335         * doc/posix-functions/recv.texi: Doc fix.
49336         * doc/posix-functions/recvfrom.texi: Doc fix.
49337         * doc/posix-functions/send.texi: Doc fix.
49338         * doc/posix-functions/sendto.texi: Doc fix.
49339         * doc/posix-functions/setsockopt.texi: Doc fix.
49340         * doc/posix-functions/shutdown.texi: Doc fix.
49341         * doc/posix-functions/socket.texi: Doc fix.
49342
49343 2008-10-20  Bruno Haible  <bruno@clisp.org>
49344
49345         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49346         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49347         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49348         as an alias for SIGABRT.
49349         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49350         (sigaction): Map it to SIGABRT.
49351         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49352
49353 2008-10-20  Bruno Haible  <bruno@clisp.org>
49354
49355         * lib/fts.c: Don't include lstat.h.
49356         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49357
49358         Move the lstat() declaration to <sys/stat.h>.
49359         * lib/lstat.h: Remove file.
49360         * lib/sys_stat.in.h: Add special invocation convention.
49361         (lstat): New declaration.
49362         * lib/lstat.c (orig_lstat): New function.
49363         (rpl_lstat): Use orig_lstat instead of lstat.
49364         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49365         AC_C_INLINE. Set REPLACE_LSTAT.
49366         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49367         and REPLACE_LSTAT.
49368         * modules/lstat (Files): Remove lib/lstat.h.
49369         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49370         (Include): Specify <sys/stat.h> instead of lstat.h.
49371         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49372         REPLACE_LSTAT.
49373         * NEWS: Mention the change.
49374
49375 2008-10-20  Bruno Haible  <bruno@clisp.org>
49376
49377         * modules/posix_spawn-tests: New file.
49378         * tests/test-posix_spawn3.c: New file.
49379
49380 2008-10-20  Bruno Haible  <bruno@clisp.org>
49381
49382         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49383         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49384         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49385         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49386         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49387
49388 2008-10-20  Bruno Haible  <bruno@clisp.org>
49389
49390         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49391         of posix_spawn on AIX 5.3.
49392
49393 2008-10-20  Bruno Haible  <bruno@clisp.org>
49394
49395         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49396
49397 2008-10-20  Bruno Haible  <bruno@clisp.org>
49398
49399         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49400         of AC_LANG_PROGRAM.
49401
49402 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49403
49404         * lib/netdb.in.h: Don't define GNU specific constants until they
49405         are supported or needed.  Reported by Bruno Haible
49406         <bruno@clisp.org>.
49407
49408 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49409
49410         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49411
49412 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49413
49414         * lib/getaddrinfo.h: Remove file.
49415         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49416         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49417         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49418         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49419         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49420         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49421         * tests/test-getaddrinfo.c: Likewise.
49422         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49423         * NEWS: Mention change.
49424
49425 2008-10-19  Bruno Haible  <bruno@clisp.org>
49426
49427         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49428
49429 2008-10-19  Bruno Haible  <bruno@clisp.org>
49430
49431         * lib/wait-process.c: Include simply <sys/wait.h>.
49432         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49433         WIFSTOPPED): Remove fallback definitions.
49434         * modules/wait-process (Depends-on): Add sys_wait.
49435
49436         New module 'sys_wait'.
49437         * modules/sys_wait: New file.
49438         * lib/sys_wait.in.h: New file, partially copied from
49439         lib/wait-process.c.
49440         * m4/sys_wait_h.m4: New file.
49441         * doc/posix-headers/sys_wait.texi: Mention the new module.
49442
49443 2008-10-19  Bruno Haible  <bruno@clisp.org>
49444
49445         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49446
49447 2008-10-19  Bruno Haible  <bruno@clisp.org>
49448
49449         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49450         * lib/wait-process.c (WAIT_T): Remove type.
49451         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49452         (wait_subprocess): Update.
49453
49454 2008-10-19  Bruno Haible  <bruno@clisp.org>
49455
49456         New module 'atoll'.
49457         * modules/atoll: New file.
49458         * lib/stdlib.in.h (atoll): New declaration.
49459         * lib/atoll.c: New file, from glibc with modifications.
49460         * m4/atoll.m4: New file.
49461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49462         HAVE_ATOLL.
49463         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49464         * doc/posix-functions/atoll.texi: Mention the new module.
49465
49466 2008-10-19  Bruno Haible  <bruno@clisp.org>
49467
49468         Add strtoull() declaration to <stdlib.h>.
49469         * lib/stdlib.in.h (strtoull): New declaration.
49470         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49471         Set HAVE_STRTOULL.
49472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49473         HAVE_STRTOULL.
49474         * modules/strtoull (Depends-on): Add stdlib.
49475         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49476         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49477         HAVE_STRTOULL.
49478
49479 2008-10-19  Bruno Haible  <bruno@clisp.org>
49480
49481         Add strtoll() declaration to <stdlib.h>.
49482         * lib/stdlib.in.h (strtoll): New declaration.
49483         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49484         Set HAVE_STRTOLL.
49485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49486         HAVE_STRTOLL.
49487         * modules/strtoll (Depends-on): Add stdlib.
49488         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49489         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49490
49491 2008-10-19  Bruno Haible  <bruno@clisp.org>
49492
49493         * modules/bcopy (Depends-on): Add strings.
49494         (Include): Specify <strings.h>.
49495
49496 2008-10-19  Bruno Haible  <bruno@clisp.org>
49497
49498         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49499
49500 2008-10-19  Bruno Haible  <bruno@clisp.org>
49501
49502         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49503         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49504         mingw.
49505
49506 2008-10-19  Bruno Haible  <bruno@clisp.org>
49507
49508         * lib/atanl.c: Don't include isnanl.h.
49509         * lib/cosl.c: Likewise.
49510         * lib/ldexpl.c: Likewise.
49511         * lib/logl.c: Likewise.
49512         * lib/sinl.c: Likewise.
49513         * lib/sqrtl.c: Likewise.
49514         * lib/tanl.c: Likewise.
49515
49516         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49517         * lib/isnanf.h: Remove file.
49518         * lib/isnand.h: Remove file.
49519         * lib/isnanl.h: Remove file.
49520         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49521         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49522         macros.
49523         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49524         HAVE_ISNANF, don't define it as a C macro.
49525         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49526         HAVE_ISNAND, don't define it as a C macro.
49527         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49528         HAVE_ISNANL, don't define it as a C macro.
49529         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49530         HAVE_ISNAN[FDL].
49531         * modules/isnanf (Files): Remove lib/isnanf.h.
49532         (Depends-on): Add math.
49533         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49534         (Include): Specify <math.h> instead of isnanf.h.
49535         * modules/isnand (Files): Remove lib/isnand.h.
49536         (Depends-on): Add math.
49537         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49538         (Include): Specify <math.h> instead of isnand.h.
49539         * modules/isnanl (Files): Remove lib/isnanl.h.
49540         (Depends-on): Add math.
49541         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49542         (Include): Specify <math.h> instead of isnanl.h.
49543         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49544         HAVE_ISNAN[FDL].
49545         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49546         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49547         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49548         * NEWS: Mention the change.
49549
49550 2008-10-18  Bruno Haible  <bruno@clisp.org>
49551
49552         Add getusershell(), setusershell(), endusershell() declarations to
49553         <unistd.h>.
49554         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49555         declarations.
49556         * lib/getusershell.c: Include unistd.h.
49557         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49558         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49559         HAVE_GETUSERSHELL.
49560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49561         and HAVE_GETUSERSHELL.
49562         * modules/getusershell (Depends-on): Add unistd, extensions.
49563         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49564         (Include): Specify <unistd.h>.
49565         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49566         HAVE_GETUSERSHELL.
49567
49568 2008-10-18  Bruno Haible  <bruno@clisp.org>
49569
49570         Add a getloadavg() declaration to <stdlib.h>.
49571         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49572         getloadavg declaration.
49573         (getloadavg): New declaration.
49574         * lib/getloadavg.c: Include <stdlib.h> first.
49575         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49576         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49577         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49579         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49580         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49581         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49582         (Include): Specify <stdlib.h>.
49583         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49584         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49585
49586 2008-10-18  Bruno Haible  <bruno@clisp.org>
49587
49588         * lib/dirchownmod.c: Don't include lchmod.h.
49589
49590         Move the lchmod() declaration to <sys/stat.h>.
49591         * lib/lchmod.h: Remove file.
49592         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49593         (lchmod): New declaration, moved here from lib/lchown.h.
49594         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49595         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49596         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49597         and HAVE_LCHMOD.
49598         * modules/lchmod (Files): Remove lib/lchmod.h.
49599         (Depends-on): Add sys_stat, extensions.
49600         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49601         (Include): Specify <sys/stat.h> instead of lchmod.h.
49602         * modules/sys_stat (Depends-on): Add link-warning.
49603         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49604         definition of GL_LINK_WARNING.
49605         * NEWS: Mention the change.
49606
49607 2008-10-18  Bruno Haible  <bruno@clisp.org>
49608
49609         * lib/fchdir.c: Don't include dirfd.h.
49610         * lib/fts.c: Likewise.
49611         * lib/getcwd.c: Likewise.
49612         * lib/glob.c: Likewise.
49613
49614         Move the dirfd() declaration to <dirent.h>.
49615         * lib/dirfd.h: Remove file.
49616         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49617         (dirfd): New declaration.
49618         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49619         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49620         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49621         HAVE_DECL_DIRFD.
49622         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49623         HAVE_DECL_DIRFD.
49624         * modules/dirfd (Files): Remove lib/dirfd.h.
49625         (Depends-on): Add dirent, extensions.
49626         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49627         (Include): Specify <dirent.h> instead of dirfd.h.
49628         * modules/dirent (Depends-on): Add link-warning.
49629         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49630         definition of GL_LINK_WARNING.
49631         * NEWS: Mention the change.
49632
49633 2008-10-18  Bruno Haible  <bruno@clisp.org>
49634
49635         Move the euidaccess() declaration to <unistd.h>.
49636         * lib/euidaccess.h: Remove file.
49637         * lib/unistd.in.h (euidaccess): New declaration.
49638         * lib/euidaccess.c: Don't include euidaccess.h.
49639         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49640         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49642         and HAVE_EUIDACCESS.
49643         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49644         (Depends-on): Add unistd.
49645         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49646         (Include): Specify <unistd.h> instead of euidaccess.h.
49647         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49648         HAVE_EUIDACCESS.
49649         * NEWS: Mention the change.
49650
49651 2008-10-18  Bruno Haible  <bruno@clisp.org>
49652
49653         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49654
49655         Move the getdomainname() declaration to <unistd.h>.
49656         * lib/getdomainname.h: Remove file.
49657         * lib/unistd.in.h (getdomainname): New declaration.
49658         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49659         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49660         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49661         HAVE_GETDOMAINNAME.
49662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49663         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49664         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49665         (Depends-on): Add unistd, extensions.
49666         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49667         (Includes): Specify <unistd.h> instead of getdomainname.h.
49668         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49669         HAVE_GETDOMAINNAME.
49670         * NEWS: Mention the change.
49671
49672 2008-10-18  Bruno Haible  <bruno@clisp.org>
49673
49674         * modules/dirent: New file.
49675         * m4/dirent_h.m4: New file.
49676         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49677         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49678         * modules/fchdir (Files): Remove lib/dirent.in.h.
49679         (Depends-on): Add dirent.
49680         (Makefile.am): Move rules to modules/dirent.
49681         * doc/posix-headers/dirent.texi: Mention the new module.
49682
49683 2008-10-18  Bruno Haible  <bruno@clisp.org>
49684
49685         Avoid -Wunused-parameter warnings in public gnulib header files.
49686         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49687         macro.
49688         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49689
49690 2008-10-18  Bruno Haible  <bruno@clisp.org>
49691
49692         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49693         * doc/glibc-functions/error.texi: Mention the module 'error'.
49694         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49695         * doc/glibc-functions/getdomainname.texi: Mention the module
49696         'getdomainname'.
49697         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49698         * doc/glibc-functions/getpagesize.texi: Mention the module
49699         'getpagesize'.
49700         * doc/glibc-functions/getusershell.texi: Mention the module
49701         'getusershell'.
49702         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49703         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49704         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49705         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49706         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49707         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49708         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49709         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49710         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49711         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49712         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49713         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49714         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49715         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49716
49717 2008-10-17  Bruno Haible  <bruno@clisp.org>
49718
49719         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49720         HP-UX and IRIX, use -0.0L.
49721         * tests/test-ceill.c (minus_zero): Likewise.
49722         * tests/test-floorl.c (minus_zero): Likewise.
49723         * tests/test-frexpl.c (minus_zero): Likewise.
49724         * tests/test-isnan.c (minus_zerol): Likewise.
49725         * tests/test-isnanl.h (minus_zero): Likewise.
49726         * tests/test-ldexpl.c (minus_zero): Likewise.
49727         * tests/test-roundl.c (minus_zero): Likewise.
49728         * tests/test-signbit.c (minus_zerol): Likewise.
49729         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49730         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49731         * tests/test-truncl.c (minus_zero): Likewise.
49732         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49733         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49734         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49735         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49736
49737 2008-10-17  Bruno Haible  <bruno@clisp.org>
49738
49739         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49740         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49741         that it gets activated only for gcc >= 3.0.
49742         * lib/dirent.in.h: Likewise.
49743         * lib/errno.in.h: Likewise.
49744         * lib/fcntl.in.h: Likewise.
49745         * lib/float.in.h: Likewise.
49746         * lib/iconv.in.h: Likewise.
49747         * lib/inttypes.in.h: Likewise.
49748         * lib/locale.in.h: Likewise.
49749         * lib/math.in.h: Likewise.
49750         * lib/netdb.in.h: Likewise.
49751         * lib/netinet_in.in.h: Likewise.
49752         * lib/search.in.h: Likewise.
49753         * lib/signal.in.h: Likewise.
49754         * lib/spawn.in.h: Likewise.
49755         * lib/stdarg.in.h: Likewise.
49756         * lib/stdint.in.h: Likewise.
49757         * lib/stdio.in.h: Likewise.
49758         * lib/stdlib.in.h: Likewise.
49759         * lib/string.in.h: Likewise.
49760         * lib/strings.in.h: Likewise.
49761         * lib/sys_file.in.h: Likewise.
49762         * lib/sys_ioctl.in.h: Likewise.
49763         * lib/sys_select.in.h: Likewise.
49764         * lib/sys_socket.in.h: Likewise.
49765         * lib/sys_stat.in.h: Likewise.
49766         * lib/sys_time.in.h: Likewise.
49767         * lib/sysexits.in.h: Likewise.
49768         * lib/time.in.h: Likewise.
49769         * lib/unistd.in.h: Likewise.
49770         * lib/wchar.in.h: Likewise.
49771         * lib/wctype.in.h: Likewise.
49772         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49773
49774 2008-10-17  Jim Meyering  <meyering@redhat.com>
49775
49776         ignore-value: don't depend on inline module
49777         * modules/ignore-value (Depends-on): Remove 'inline'.
49778         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49779         Suggestion from Bruno Haible.
49780
49781 2008-10-17  Bruno Haible  <bruno@clisp.org>
49782
49783         New implementation of condition variables for Win32.
49784         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49785         (gl_linked_waitqueue_t): New type.
49786         (gl_cond_t): Use it.
49787         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49788         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49789         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49790         (glthread_cond_init_func, glthread_cond_wait_func,
49791         glthread_cond_timedwait_func, glthread_cond_signal_func,
49792         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49793         Reimplemented on the basis of gl_linked_waitqueue_t.
49794         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49795         gl_waitqueue_t.
49796         (gl_rwlock_t): Update.
49797         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49798
49799 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49800
49801         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49802         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49803
49804 2008-10-17  Jim Meyering  <meyering@redhat.com>
49805
49806         ignore-value: new module
49807         * modules/ignore-value: New file.
49808         * lib/ignore-value.h: New file.
49809         * MODULES.html.sh (Compiler warning management): New section,
49810         just for this module.  More to come.
49811
49812 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49813
49814         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49815         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49816         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49817
49818 2008-10-16  Jim Meyering  <meyering@redhat.com>
49819
49820         openat-die.c: avoid 'no previous prototype' warning
49821         * lib/openat-die.c: Include "openat.h".
49822         Reported by Reuben Thomas <rrt@sc3d.org>.
49823
49824 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49825
49826         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49827         * lib/netdb.in.h: Fix typo.
49828         Reported by Bruno Haible  <bruno@clisp.org>
49829
49830         * lib/netdb.in.h: Include sys/socket.h for platforms without
49831         netdb.h, to get structures like hostent on MinGW.
49832         * modules/netdb (Depends-on): Add sys_socket.
49833
49834 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49835
49836         * modules/netdb, modules/netdb-tests: New file.
49837         * m4/netdb_h.m4: New file.
49838         * lib/netdb.in.h: Add, currently just an empty file pending
49839         definitions.
49840         * tests/test-netdb.c: New file.
49841         * doc/posix-headers/netdb.texi: Mention that we replace it if
49842         needed.
49843         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49844         netdb.
49845
49846 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49847
49848         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49849         with code.
49850
49851 2008-10-13  Bruno Haible  <bruno@clisp.org>
49852
49853         * lib/glthread/cond.c (glthread_cond_wait_func,
49854         glthread_cond_timedwait_func): Add a comment.
49855
49856 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49857
49858         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49859         * tests/test-select.c: Likewise,
49860
49861 2008-10-13  Bruno Haible  <bruno@clisp.org>
49862
49863         * lib/glthread/cond.c (glthread_cond_wait_func,
49864         glthread_cond_timedwait_func): Fix variable name.
49865         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49866
49867 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49868
49869         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49870         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49871         struct sockaddr.sa_len.
49872         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49873
49874 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49875
49876         * build-aux/pmccabe2html: Add css and css_url parameters.
49877
49878 2008-10-12  Bruno Haible  <bruno@clisp.org>
49879
49880         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49881         calling aclx_get.
49882         Reported by Rainer Tammer <tammer@tammer.net>.
49883
49884 2008-10-12  Bruno Haible  <bruno@clisp.org>
49885
49886         Use msvcrt aware primitives for creation/termination of Win32 threads.
49887         * lib/glthread/thread.c: Include <process.h>.
49888         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49889         (wrapper_func): Update signature.
49890         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49891
49892 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49893             Bruno Haible  <bruno@clisp.org>
49894
49895         Provide a Win32 implementation of the 'cond' module.
49896         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49897         * lib/glthread/cond.c (glthread_cond_init_func,
49898         glthread_cond_wait_func, glthread_cond_timedwait_func,
49899         glthread_cond_signal_func, glthread_cond_broadcast_func,
49900         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49901         * modules/cond (Dependencies): Add gettimeofday.
49902
49903 2008-10-11  Bruno Haible  <bruno@clisp.org>
49904
49905         Make sleep work on older versions of mingw.
49906         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49907         only whether it exists.
49908         * doc/posix-functions/sleep.texi: Mention the problem with older
49909         versions of mingw.
49910
49911 2008-10-11  Bruno Haible  <bruno@clisp.org>
49912
49913         New module 'shutdown'.
49914         * modules/shutdown: New file.
49915         * lib/sys_socket.in.h (shutdown): New declaration.
49916         * lib/winsock.c (shutdown): New function.
49917         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49918         GNULIB_SHUTDOWN.
49919         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49920         * doc/posix-functions/shutdown.texi: Document the new module.
49921
49922 2008-10-11  Jim Meyering  <meyering@redhat.com>
49923
49924         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49925
49926 2008-10-11  Bruno Haible  <bruno@clisp.org>
49927
49928         New module 'fclose'.
49929         * modules/fclose: New file.
49930         * lib/stdio.in.h (fclose): New declaration.
49931         * lib/fclose.c: New file.
49932         * m4/fclose.m4: New file.
49933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49934         REPLACE_FCLOSE.
49935         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49936         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49937         REPLACE_FCLOSE.
49938         * modules/close (Depends-on): fclose.
49939         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49940
49941 2008-10-11  Bruno Haible  <bruno@clisp.org>
49942
49943         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49944         set errno and don't call _close.
49945
49946 2008-10-10  Bruno Haible  <bruno@clisp.org>
49947
49948         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49949         ACL, not afterwards. Fixes test failure on Cygwin.
49950
49951 2008-10-09  Ben Pfaff  <blp@gnu.org>
49952
49953         * build-aux/announce-gen: Fix gnulib version related part of usage
49954         message.  Die with a useful error message if no tarballs are
49955         found.
49956
49957 2008-10-10  Jim Meyering  <meyering@redhat.com>
49958
49959         bootstrap: use git's --depth=N option only if it's supported
49960         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49961         recognize the --depth option.  Reported by Pádraig Brady.
49962
49963 2008-10-09  Bruno Haible  <bruno@clisp.org>
49964
49965         New module 'ioctl'.
49966         * modules/ioctl: New file.
49967         * lib/sys_socket.in.h (ioctl): Remove declaration.
49968         * lib/winsock.c: Include <sys/ioctl.h>.
49969         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49970         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49971         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49972         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49973         * doc/posix-functions/ioctl.texi: Mention the new module.
49974
49975 2008-10-09  Bruno Haible  <bruno@clisp.org>
49976
49977         New module 'sys_ioctl'.
49978         * lib/sys_ioctl.in.h: New file.
49979         * m4/sys_ioctl_h.m4: New file.
49980         * modules/sys_ioctl: New file.
49981         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49982
49983 2008-10-09  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49986         * lib/winsock.c: Include <stdarg.h>.
49987         (rpl_ioctl): Change to second argument 'int' and then varargs.
49988
49989 2008-10-09  Bruno Haible  <bruno@clisp.org>
49990
49991         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49992         when the sys_socket module is present and the system has <winsock2.h>.
49993
49994 2008-10-09  Bruno Haible  <bruno@clisp.org>
49995
49996         * doc/posix-functions/close.texi: Mention module 'close' instead of
49997         module 'sys_socket'.
49998
49999 2008-10-09  Bruno Haible  <bruno@clisp.org>
50000
50001         * doc/glibc-headers/sys_ioctl.texi: New file.
50002         * doc/gnulib.texi: Include it.
50003
50004 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50005             Bruno Haible  <bruno@clisp.org>
50006
50007         Combine the two replacements of 'close'.
50008         * lib/sys_socket.in.h (close): Define to a reminder to include
50009         <unistd.h>.
50010         (_gl_close_fd_maybe_socket): New declaration.
50011         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50012         * lib/winsock.c (close): Remove undefinition.
50013         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50014         needed for the gnulib module 'close'.
50015         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50016         define to an error symbol or to a warning, if suitable.
50017         * lib/close.c: Include <sys/socket.h>.
50018         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50019         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50020         UNISTD_H_HAVE_WINSOCK2_H.
50021         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50023         UNISTD_H_HAVE_WINSOCK2_H.
50024         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50025         (configure.ac): Set a module indicator.
50026         (Makefile.am): Substitute GNULIB_CLOSE.
50027         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50028         * modules/poll-tests (Depends-on): Add close.
50029         * modules/select-tests (Depends-on): Likewise.
50030
50031 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50032             Bruno Haible  <bruno@clisp.org>
50033
50034         New module 'close'.
50035         * modules/close: New file.
50036         * lib/unistd.in.h (close): Move declaration out of the
50037         FCHDIR_REPLACEMENT scope.
50038         (_gl_unregister_fd): New declaration.
50039         * lib/close.c: New file.
50040         * lib/fchdir.c (rpl_close): Remove function.
50041         * m4/close.m4: New file.
50042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50043         close.
50044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50045         REPLACE_CLOSE.
50046         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50047         REPLACE_CLOSE.
50048         * modules/fchdir (Depends-on): Add close.
50049
50050 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50051             Bruno Haible  <bruno@clisp.org>
50052
50053         * lib/fcntl.in.h (open): Simplify conditionals.
50054         (_gl_register_fd): New declaration.
50055         * lib/fchdir.c (rpl_open): Remove function.
50056         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50057         also.
50058         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50059         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50060         open.
50061
50062 2008-10-09  Jim Meyering  <meyering@redhat.com>
50063
50064         GNUmakefile: use the more name-space-friendly "_version"
50065         * top/GNUmakefile (_dummy): Update.
50066         (_version): Rename from "version".
50067
50068 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50069             Bruno Haible  <bruno@clisp.org>
50070
50071         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50072         rpl_close.
50073         (_gl_register_fd): New function, extracted from rpl_open.
50074         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50075         (rpl_open, rpl_opendir): Use _gl_register_fd.
50076
50077 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50078
50079         Fix organization of 'open' replacement.
50080         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50081         (gl_FUNC_OPEN): Use it.
50082         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50083
50084 2008-10-08  Bruno Haible  <bruno@clisp.org>
50085
50086         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50087
50088 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50089
50090         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50091         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50092         listen).
50093
50094 2008-10-08  Eric Blake  <ebb9@byu.net>
50095
50096         GNUmakefile: add 'make version' target
50097         * top/GNUmakefile (_curr-ver): Split version update rules...
50098         (version): ...into a target.
50099
50100 2008-10-07  Bruno Haible  <bruno@clisp.org>
50101
50102         Use a more portable replacement expression for -0.0L.
50103         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50104         instead of -0.0L. Fix m4 quotation.
50105
50106         * tests/test-signbit.c: Include <float.h>.
50107         (minus_zero): New variable.
50108         (test_signbitl): Use minus_zero instead of -zero.
50109         * modules/signbit-tests (Depends-on): Add float.
50110
50111         * tests/test-ceill.c: Include <float.h>.
50112         (zero): Remove variable.
50113         (minus_zero): New variable.
50114         (main): Use minus_zero instead of -zero.
50115         * modules/ceill-tests (Depends-on): Add float.
50116
50117         * tests/test-floorl.c: Include <float.h>.
50118         (zero): Remove variable.
50119         (minus_zero): New variable.
50120         (main): Use minus_zero instead of -zero.
50121         * modules/floorl-tests (Depends-on): Add float.
50122
50123         * tests/test-roundl.c: Include <float.h>.
50124         (zero): Remove variable.
50125         (minus_zero): New variable.
50126         (main): Use minus_zero instead of -zero.
50127         * modules/roundl-tests (Depends-on): Add float.
50128
50129         * tests/test-truncl.c: Include <float.h>.
50130         (zero): Remove variable.
50131         (minus_zero): New variable.
50132         (main): Use minus_zero instead of -zero.
50133         * modules/truncl-tests (Depends-on): Add float.
50134
50135         * tests/test-frexpl.c (zero): Remove variable.
50136         (minus_zero): New variable.
50137         (main): Use minus_zero instead of -zero.
50138         * modules/frexpl-tests (Depends-on): Add float.
50139
50140         * tests/test-isnan.c (zerol): Remove variable.
50141         (minus_zerol): New variable.
50142         (test_long_double): Use minus_zerol instead of -zerol.
50143         * modules/isnan-tests (Depends-on): Add float.
50144
50145         * tests/test-isnanl.h (zero): Remove variable.
50146         (minus_zero): New variable.
50147         (main): Use minus_zero instead of -zero.
50148         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50149         * modules/isnanl-tests (Depends-on): Add float.
50150
50151         * tests/test-ldexpl.c (zero): Remove variable.
50152         (minus_zero): New variable.
50153         (main): Use minus_zero instead of -zero.
50154         * modules/ldexpl-tests (Depends-on): Add float.
50155
50156         * tests/test-snprintf-posix.h (zerol): Remove variable.
50157         (minus_zerol): New variable.
50158         (test_function): Use minus_zerol instead of -zerol.
50159         * modules/snprintf-posix-tests (Depends-on): Add float.
50160         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50161
50162         * tests/test-sprintf-posix.h (zerol): Remove variable.
50163         (minus_zerol): New variable.
50164         (test_function): Use minus_zerol instead of -zerol.
50165         * modules/sprintf-posix-tests (Depends-on): Add float.
50166         * modules/vsprintf-posix-tests (Depends-on): Add float.
50167
50168         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50169         (minus_zerol): New variable.
50170         (test_function): Use minus_zerol instead of -zerol.
50171         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50172
50173         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50174         (minus_zerol): New variable.
50175         (test_function): Use minus_zerol instead of -zerol.
50176         * modules/vasprintf-posix-tests (Depends-on): Add float.
50177
50178 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50179
50180         * MODULES.html.sh (Support for building documentation): Mention
50181         pmccabe2html.  Sort entries.
50182
50183         Add pmccabe2html module, from gnupdf.
50184         * build-aux/pmccabe.css: New file.
50185         * build-aux/pmccabe2html: New file.
50186         * m4/pmccabe2html.m4: New file.
50187         * modules/pmccabe2html: New file.
50188
50189 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50190
50191         flock: new module
50192         * MODULES.html.sh: Add to list of modules.
50193         * lib/flock.c: flock implementation for Windows and Unix systems
50194         which have fcntl.
50195         * doc/glibc-functions/flock.texi: Update documentation.
50196         * lib/sys_file.in.h: <sys/file.h> header file.
50197         * m4/flock.m4: M4 macros.
50198         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50199         * modules/flock: flock module.
50200         * modules/flock-tests: flock tests module.
50201         * modules/sys_file: sys/file.h module.
50202         * tests/test-flock.c: test suite for flock.
50203
50204 2008-10-06  Jim Meyering  <meyering@redhat.com>
50205
50206         bootstrap: check for LT_INIT more portably still ;-)
50207         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50208         Spotted by Bruno Haible.
50209
50210 2008-10-06  Eric Blake  <ebb9@byu.net>
50211
50212         test-signbit: avoid tripping Irix cc bug on -0.0L
50213         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50214         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50215         entire testsuite consistent and avoids an Irix 6.2 bug.
50216
50217 2008-10-05  Bruno Haible  <bruno@clisp.org>
50218             Jim Meyering  <jim@meyering.net>
50219
50220         Add an option for ignoring EPIPE during close_stdout.
50221         * lib/closeout.h: Include <stdbool.h>.
50222         (close_stdout_set_ignore_EPIPE): New declaration.
50223         * lib/closeout.c: Include <stdbool.h>.
50224         (ignore_EPIPE): New variable.
50225         (close_stdout_set_ignore_EPIPE): New function.
50226         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50227         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50228         failure.
50229         * modules/closeout (Depends-on): Add stdbool.
50230
50231 2008-10-05  Bruno Haible  <bruno@clisp.org>
50232
50233         * modules/accept: New file.
50234         * modules/bind: New file.
50235         * modules/connect: New file.
50236         * modules/getpeername: New file.
50237         * modules/getsockname: New file.
50238         * modules/getsockopt: New file.
50239         * modules/listen: New file.
50240         * modules/recv: New file.
50241         * modules/recvfrom: New file.
50242         * modules/send: New file.
50243         * modules/sendto: New file.
50244         * modules/setsockopt: New file.
50245         * modules/socket: New file.
50246         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50247         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50248         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50249         the particular module is requested. Add a link warning when the
50250         particular module is not requested.
50251         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50252         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50253         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50254         the particular module is requested.
50255         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50256         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50257         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50258         * modules/sys_socket (Depends-on): Add link-warning.
50259         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50260         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50261         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50262         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50263         GL_LINK_WARNING.
50264         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50265         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50266         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50267         * doc/posix-functions/getpeername.texi: Mention the new module
50268         'getpeername'.
50269         * doc/posix-functions/getsockname.texi: Mention the new module
50270         'getsockname'.
50271         * doc/posix-functions/getsockopt.texi: Mention the new module
50272         'getsockopt'.
50273         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50274         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50275         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50276         * doc/posix-functions/send.texi: Mention the new module 'send'.
50277         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50278         * doc/posix-functions/setsockopt.texi: Mention the new module
50279         'setsockopt'.
50280         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50281         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50282         listen, connect, accept.
50283         * modules/select-tests (Depends-on): Likewise.
50284
50285 2008-10-05  Bruno Haible  <bruno@clisp.org>
50286
50287         * lib/winsock.c (strerror): Remove unused #undef.
50288         (rpl_close): Remove unused local variable.
50289
50290         * modules/sys_socket (Depends-on); Add errno.
50291
50292 2008-10-05  Bruno Haible  <bruno@clisp.org>
50293
50294         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50295         (select): Add a link warning when the 'select' module is not used.
50296         * modules/sys_select (Depends-on): Add link-warning.
50297         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50298         Suggested by Paolo Bonzini.
50299
50300 2008-10-05  Jim Meyering  <meyering@redhat.com>
50301
50302         bootstrap: check for LT_INIT more portably
50303         * build-aux/bootstrap: Avoid using grep -E, since it's not
50304         portable enough.  Suggestion from Bruno Haible.
50305
50306 2008-10-05  Bruno Haible  <bruno@clisp.org>
50307
50308         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50309         as being fixed by gnulib.
50310
50311 2008-10-05  Bruno Haible  <bruno@clisp.org>
50312
50313         * modules/select-tests: New file, mostly copied from
50314         modules/sys_select-tests.
50315         * tests/test-select.c: New file, mostly copied from
50316         tests/test-sys_select.c.
50317         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50318         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50319         (Makefile.am): Remove test_sys_select_LDADD.
50320
50321         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50322         to an undefined symbol, for an error message.
50323         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50324         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50325         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50326         winsock-select.c here.
50327         * modules/sys_select (Files): Remove lib/winsock-select.c.
50328         (Depends-on): Remove alloca.
50329         (Makefile.am): Substitute GNULIB_SELECT.
50330         * modules/select: New file.
50331         * doc/posix-functions/select.texi: Update.
50332
50333 2008-10-05  Bruno Haible  <bruno@clisp.org>
50334
50335         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50336         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50337         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50338         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50339         getdtablesize.
50340         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50341         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50342
50343 2008-10-05  Bruno Haible  <bruno@clisp.org>
50344
50345         * modules/getdtablesize-tests: New file.
50346         * tests/test-getdtablesize.c: New file.
50347
50348         New module 'getdtablesize'.
50349         * lib/unistd.in.h (getdtablesize): New declaration.
50350         * lib/getdtablesize.c: New file.
50351         * m4/getdtablesize.m4: New file.
50352         * modules/getdtablesize: New file.
50353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50354         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50355         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50356         HAVE_GETDTABLESIZE.
50357         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50358
50359 2008-10-05  Bruno Haible  <bruno@clisp.org>
50360
50361         * modules/sched (Makefile.am): Fix typo.
50362         Reported by Simon Josefsson.
50363
50364 2008-10-05  Jim Meyering  <meyering@redhat.com>
50365
50366         bootstrap: check for LT_INIT, too
50367         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50368         are deprecated.  Suggestion from Ralf Wildenhues.
50369
50370 2008-10-05  Bruno Haible  <bruno@clisp.org>
50371
50372         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50373         overriding them by ours.
50374         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50375
50376 2008-10-05  Jim Meyering  <meyering@redhat.com>
50377
50378         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50379         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50380         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50381
50382 2008-10-04  Bruno Haible  <bruno@clisp.org>
50383
50384         * modules/dup2 (License): Change to LGPLv2+.
50385         * modules/sleep (License): Likewise.
50386         * modules/perror (License): Likewise.
50387         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50388         Blake.
50389         * modules/signal (License): Likewise.
50390         * modules/sigprocmask (License): Likewise.
50391         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50392         Meyering.
50393
50394 2008-10-04  Bruno Haible  <bruno@clisp.org>
50395
50396         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50397         Reported by Rainer Tammer <tammer@tammer.net>.
50398
50399 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50400             Bruno Haible  <bruno@clisp.org>
50401
50402         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50403         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50404         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50405
50406 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50407
50408         filevercmp: new module
50409         * lib/filevercmp.h: New function filevercmp comparing version strings.
50410         * lib/filevercmp.c: Implementation of filevercmp function.
50411         * modules/filevercmp: Module metadata.
50412         * tests/test-filevercmp.c: Unit test for new module.
50413         * modules/filevercmp-tests: Unit test metadata.
50414         * MODULES.html.sh: Add filevercmp module.
50415
50416 2008-10-03  Bruno Haible  <bruno@clisp.org>
50417
50418         * lib/c-ctype.h: Add comment.
50419         Reported by Jim Meyering.
50420
50421 2008-10-02  Bruno Haible  <bruno@clisp.org>
50422
50423         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50424
50425 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50426
50427         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50428         name of bootstrap.conf accordingly.
50429
50430 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50431
50432         * build-aux/bootstrap: Install git-merge-changelog configuration
50433         items into .gitconfig if needed.
50434
50435 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50436
50437         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50438         git repository, and initialize/update it accordingly.
50439
50440 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50441
50442         * modules/fsync-tests: New file.
50443         * tests/test-fsync.c: New file.
50444
50445         New module 'fsync'.
50446         * lib/fsync.c: New file.
50447         * m4/fsync.m4: New file.
50448         * modules/fsync: New file.
50449         * lib/unistd.in.h (fsync): New declaration.
50450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50451         GNULIB_FSYNC and HAVE_FSYNC.
50452         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50453         * MODULES.html.sh (posix_functions): Add fsync.
50454         * doc/posix-functions/fsync.texi: Mention the new module.
50455
50456 2008-10-02  Jim Meyering  <meyering@redhat.com>
50457
50458         fts.c: sync with similar code from coreutils' remove.c
50459         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50460         Guard also with "#if defined __linux__", since for now at least,
50461         this code is Linux-kernel-specific.
50462
50463 2008-10-02  Jim Meyering  <meyering@redhat.com>
50464
50465         fts: bug fixes
50466         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50467         Include <sys/vfs.h>, not <sys/statfs.h>.
50468
50469         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50470         Include <sys/vfs.h>, not <sys/statfs.h>.
50471
50472 2008-10-01  Bruno Haible  <bruno@clisp.org>
50473
50474         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50475         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50476         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50477         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50478         * doc/posix-functions/posix_spawnp.texi: Likewise.
50479         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50480         whether posix_spawn actually works.
50481         * m4/pipe.m4 (gl_PIPE): Likewise.
50482         * modules/execute (Files): Add m4/posix_spawn.m4.
50483         * modules/pipe (Files): Add m4/posix_spawn.m4.
50484         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50485
50486 2008-10-01  Jim Meyering  <meyering@redhat.com>
50487
50488         remove trailing spaces
50489         * NEWS: Likewise.
50490         * lib/poll.c (poll): Likewise.
50491         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50492         * lib/winsock.c (rpl_close): Likewise.
50493         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50494         * modules/yield: Likewise.
50495         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50496         * tests/test-sys_select.c (connect_to_socket): Likewise.
50497
50498         fts.c: adjust a new interface to be more generally useful
50499         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50500         (fts_build): Adjust caller.
50501
50502 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50503
50504         * modules/cond-tests: New file.
50505         * tests/test-cond.c: New file.
50506
50507 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50508             Bruno Haible  <bruno@clisp.org>
50509
50510         * modules/cond (Dependencies): Add errno, time.
50511         * lib/glthread/cond.h: Include <time.h>.
50512         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50513         across platforms.
50514
50515 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50516             Bruno Haible  <bruno@clisp.org>
50517
50518         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50519
50520 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50521             Bruno Haible  <bruno@clisp.org>
50522
50523         * modules/tls-tests (Depends-on): Add thread, yield.
50524         (configure.ac): Remove all checks.
50525         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50526         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50527         gl_thread_self): Remove definitions. Include glthread/thread.h and
50528         glthread/yield.h instead.
50529         (test_tls): Pass an additional NULL argument to gl_thread_join.
50530
50531 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50532             Bruno Haible  <bruno@clisp.org>
50533
50534         * modules/lock-tests (Depends-on): Add thread, yield.
50535         (configure.ac): Remove all checks.
50536         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50537         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50538         gl_thread_self): Remove definitions. Include glthread/thread.h and
50539         glthread/yield.h instead.
50540         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50541         additional NULL argument to gl_thread_join.
50542
50543 2008-09-30  Bruno Haible  <bruno@clisp.org>
50544
50545         Fix the Win32 implementation of the 'thread' module.
50546         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50547         pointer type.
50548         (gl_thread_self): Invoke gl_thread_self_func.
50549         (gl_thread_self_func): New declaration.
50550         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50551         (do_init_self_key, init_self_key): New functions.
50552         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50553         Remove some fields.
50554         (running_threads, running_lock): Remove variables.
50555         (get_current_thread_handle): New function.
50556         (gl_thread_self_func, wrapper_func, glthread_create_func,
50557         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50558         simplified.
50559
50560 2008-09-30  Bruno Haible  <bruno@clisp.org>
50561
50562         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50563         files.
50564
50565 2008-09-30  Jim Meyering  <meyering@redhat.com>
50566
50567         fts.m4: correct the test for statfs.f_type
50568         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50569         when checking for statfs.f_type.
50570
50571 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50572
50573         tests: avoid some compiler warnings
50574         * tests/test-memchr.c (main): Pass NULL indirectly.
50575         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50576
50577 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
50578
50579         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50580         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50581         exactly specified dayshifts.
50582         (dayshift): New rule.
50583         (rel): Add dayshift.
50584         (relative_time_table) [tomorrow, yesterday, today, now]:
50585         Use tDAY_SHIFT in place of tDAY_UNIT.
50586         * tests/test-getdate.c: Add tests for now-disallowed countable
50587         dayshifts, e.g., "4 yesterday ago".
50588
50589 2008-09-29  Bruno Haible  <bruno@clisp.org>
50590
50591         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50592         * tests/test-posix_spawn1.in.sh: Renamed from
50593         tests/test-posix_spawn.in.sh.
50594         * tests/test-posix_spawn2.c: New file.
50595         * tests/test-posix_spawn2.in.sh: New file.
50596         * modules/posix_spawnp-tests (Files): Update.
50597         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50598
50599 2008-09-29  Bruno Haible  <bruno@clisp.org>
50600
50601         Propagate effects of putenv/setenv/unsetenv to child processes.
50602         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50603         * lib/pipe.c (create_pipe): Likewise.
50604
50605 2008-09-29  Bruno Haible  <bruno@clisp.org>
50606
50607         Enable use of shell scripts as executables in mingw.
50608         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50609         run the program as a shell script.
50610         * lib/pipe.c (create_pipe): Likewise.
50611         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50612         resulting array.
50613
50614 2008-09-29  Eric Blake  <ebb9@byu.net>
50615
50616         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50617
50618 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50619
50620         * doc/posix-functions/accept.texi: Update mingw problems.
50621         * doc/posix-functions/bind.texi: Update mingw problems.
50622         * doc/posix-functions/close.texi: Update mingw problems.
50623         * doc/posix-functions/connect.texi: Update mingw problems.
50624         * doc/posix-functions/getpeername.texi: Update mingw problems.
50625         * doc/posix-functions/getsockname.texi: Update mingw problems.
50626         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50627         * doc/posix-functions/ioctl.texi: Update mingw problems.
50628         * doc/posix-functions/listen.texi: Update mingw problems.
50629         * doc/posix-functions/recv.texi: Update mingw problems.
50630         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50631         * doc/posix-functions/select.texi: Update mingw problems.
50632         * doc/posix-functions/send.texi: Update mingw problems.
50633         * doc/posix-functions/sendto.texi: Update mingw problems.
50634         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50635         * doc/posix-functions/socket.texi: Update mingw problems.
50636
50637 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50638             Bruno Haible  <bruno@clisp.org>
50639
50640         * lib/sys_select.in.h: Include sys/time.h.
50641         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50642         * modules/sys_select: Depend on sys_time.
50643         * tests/test-sys_select.c: Test that sys/select.h defines struct
50644         timeval fully.
50645
50646 2008-09-29  Bruno Haible  <bruno@clisp.org>
50647
50648         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50649         * lib/sys_select.in.h: Likewise.
50650
50651 2008-09-29  Bruno Haible  <bruno@clisp.org>
50652
50653         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50654
50655 2008-09-29  Bruno Haible  <bruno@clisp.org>
50656
50657         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50658         Set LIBSOCKET instead of augmenting LIBS.
50659         * modules/sockets (Link): New section.
50660         * modules/sockets-tests (test_sockets_LDADD): New variable.
50661         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50662         * modules/poll-tests (test_poll_LDADD): New variable.
50663         * NEWS: Document the change.
50664
50665 2008-09-29  Bruno Haible  <bruno@clisp.org>
50666
50667         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50668         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50669         ARPA_INET_H directly.
50670         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50671
50672 2008-09-28  Bruno Haible  <bruno@clisp.org>
50673
50674         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50675         from gl_HEADER_SYS_SOCKET.
50676         (gl_HEADER_SYS_SOCKET): Invoke it.
50677         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50678
50679 2008-09-28  Bruno Haible  <bruno@clisp.org>
50680
50681         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50682         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50683         Needed on OSF/1 4.0.
50684
50685 2008-09-28  Bruno Haible  <bruno@clisp.org>
50686
50687         Override open more carefully.
50688         * lib/open.c (orig_open): New function.
50689         (rpl_open): Use orig_open instead of open.
50690         * lib/fcntl.in.h: Add special invocation convention.
50691         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50692         (gl_FUNC_OPEN): Invoke it.
50693
50694         Override freopen more carefully.
50695         * lib/freopen.c (orig_freopen): New function.
50696         (rpl_freopen): Use orig_freopen instead of freopen.
50697         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50698         (gl_FUNC_FREOPEN): Invoke it.
50699
50700         Override fopen more carefully.
50701         * lib/fopen.c (orig_fopen): New function.
50702         (rpl_fopen): Use orig_fopen instead of fopen.
50703         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50704         (gl_FUNC_FOPEN): Invoke it.
50705         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50706
50707 2008-09-28  Bruno Haible  <bruno@clisp.org>
50708
50709         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50710         SIGPIPE.
50711
50712 2008-09-28  Bruno Haible  <bruno@clisp.org>
50713
50714         * tests/test-sigaction.c (handler, main): Disable the check whether
50715         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50716         glibc systems with LinuxThreads.
50717
50718 2008-09-28  Bruno Haible  <bruno@clisp.org>
50719
50720         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50721
50722         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50723         with AIX xlc.
50724         * lib/fcntl.in.h (open): Likewise.
50725         Reported by Rainer Tammer <tammer@tammer.net>.
50726
50727 2008-09-28  Bruno Haible  <bruno@clisp.org>
50728
50729         * modules/posix_spawnp-tests: New file.
50730         * tests/test-posix_spawn.c: New file.
50731         * tests/test-posix_spawn.in.sh: New file.
50732
50733         New module 'posix_spawnp'.
50734         * modules/posix_spawnp: New file.
50735         * lib/spawnp.c: New file, from GNU libc with modifications.
50736         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50737
50738         New module 'posix_spawn'.
50739         * modules/posix_spawn: New file.
50740         * lib/spawn.c: New file, from GNU libc with modifications.
50741         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50742
50743         New module 'posix_spawnattr_destroy'.
50744         * modules/posix_spawnattr_destroy: New file.
50745         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50746         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50747         module.
50748
50749         New module 'posix_spawnattr_setsigmask'.
50750         * modules/posix_spawnattr_setsigmask: New file.
50751         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50752         modifications.
50753         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50754         new module.
50755
50756         New module 'posix_spawnattr_getsigmask'.
50757         * modules/posix_spawnattr_getsigmask: New file.
50758         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50759         modifications.
50760         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50761         new module.
50762
50763         New module 'posix_spawnattr_setsigdefault'.
50764         * modules/posix_spawnattr_setsigdefault: New file.
50765         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50766         modifications.
50767         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50768         new module.
50769
50770         New module 'posix_spawnattr_getsigdefault'.
50771         * modules/posix_spawnattr_getsigdefault: New file.
50772         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50773         modifications.
50774         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50775         new module.
50776
50777         New module 'posix_spawnattr_setschedpolicy'.
50778         * modules/posix_spawnattr_setschedpolicy: New file.
50779         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50780         modifications.
50781         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50782         new module.
50783
50784         New module 'posix_spawnattr_getschedpolicy'.
50785         * modules/posix_spawnattr_getschedpolicy: New file.
50786         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50787         modifications.
50788         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50789         new module.
50790
50791         New module 'posix_spawnattr_setschedparam'.
50792         * modules/posix_spawnattr_setschedparam: New file.
50793         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50794         modifications.
50795         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50796         new module.
50797
50798         New module 'posix_spawnattr_getschedparam'.
50799         * modules/posix_spawnattr_getschedparam: New file.
50800         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50801         modifications.
50802         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50803         new module.
50804
50805         New module 'posix_spawnattr_setpgroup'.
50806         * modules/posix_spawnattr_setpgroup: New file.
50807         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50808         modifications.
50809         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50810         module.
50811
50812         New module 'posix_spawnattr_getpgroup'.
50813         * modules/posix_spawnattr_getpgroup: New file.
50814         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50815         modifications.
50816         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50817         module.
50818
50819         New module 'posix_spawnattr_setflags'.
50820         * modules/posix_spawnattr_setflags: New file.
50821         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50822         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50823         module.
50824
50825         New module 'posix_spawnattr_getflags'.
50826         * modules/posix_spawnattr_getflags: New file.
50827         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50828         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50829         module.
50830
50831         New module 'posix_spawnattr_init'.
50832         * modules/posix_spawnattr_init: New file.
50833         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50834         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50835         module.
50836
50837         New module 'posix_spawn_file_actions_destroy'.
50838         * modules/posix_spawn_file_actions_destroy: New file.
50839         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50840         modifications.
50841         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50842         the new module.
50843
50844         New module 'posix_spawn_file_actions_addopen'.
50845         * modules/posix_spawn_file_actions_addopen: New file.
50846         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50847         modifications.
50848         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50849         the new module.
50850
50851         New module 'posix_spawn_file_actions_adddup2'.
50852         * modules/posix_spawn_file_actions_adddup2: New file.
50853         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50854         modifications.
50855         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50856         the new module.
50857
50858         New module 'posix_spawn_file_actions_addclose'.
50859         * modules/posix_spawn_file_actions_addclose: New file.
50860         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50861         modifications.
50862         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50863         the new module.
50864
50865         New module 'posix_spawn_file_actions_init'.
50866         * modules/posix_spawn_file_actions_init: New file.
50867         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50868         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50869         new module.
50870
50871         New module 'posix_spawn-internal'.
50872         * modules/posix_spawn-internal: New file.
50873         * lib/spawn_int.h: New file, from GNU libc with modifications.
50874         * lib/spawni.c: New file, from GNU libc with modifications.
50875         * m4/posix_spawn.m4: New file.
50876
50877         New module 'spawn'.
50878         * modules/spawn: New file.
50879         * lib/spawn.in.h: New file, from GNU libc with modifications.
50880         * m4/spawn_h.m4: New file.
50881         * doc/posix-headers/spawn.texi: Mention the new module.
50882
50883 2008-09-28  Bruno Haible  <bruno@clisp.org>
50884
50885         * modules/sched-tests: New file.
50886         * tests/test-sched.c: New file.
50887
50888         New module 'sched'.
50889         * modules/sched: New file.
50890         * lib/sched.in.h: New file.
50891         * m4/sched_h.m4: New file.
50892         * doc/posix-headers/sched.texi: Mention the new module.
50893
50894 2008-09-27  Eric Blake  <ebb9@byu.net>
50895
50896         Fix previous patch, and tweak references to $0.
50897         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50898         (func_version, func_gnulib_dir): Don't call this program
50899         gnulib-tool.
50900         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50901         with using $0 in function.
50902         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50903         (func_fatal_error): Reuse the name the user invoked us with.
50904
50905 2008-09-27  Bruno Haible  <bruno@clisp.org>
50906
50907         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50908         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50909         (gl_ICONV_H): Not here.
50910         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50911         instead of assigning ICONV_H directly.
50912
50913         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50914         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50915         WCHAR_H directly.
50916
50917 2008-09-27  Bruno Haible  <bruno@clisp.org>
50918
50919         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50920         * modules/arpa_inet (Depends-on): Add link-warning.
50921         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50922         * modules/unistd (Makefile.am): Likewise.
50923
50924 2008-09-26  Bruno Haible  <bruno@clisp.org>
50925
50926         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50927         variables.
50928         (func_version): Essentially copied from gnulib-tool.
50929         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50930         func_readlink): Copied from gnulib-tool.
50931
50932 2008-09-26  Bruno Haible  <bruno@clisp.org>
50933
50934         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50935         invoking git-version-gen.
50936
50937 2008-09-26  Bruno Haible  <bruno@clisp.org>
50938
50939         * posix-modules: Update to directory names changed on 2008-01-19.
50940         Remove commas in output before splitting into words. No more need to
50941         avoid 'ftruncate' since 2007-02-19.
50942
50943 2008-09-26  Bruno Haible  <bruno@clisp.org>
50944
50945         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50946
50947 2008-09-26  Bruno Haible  <bruno@clisp.org>
50948
50949         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50950         * modules/fwriteerror (Depends-on): Add errno.
50951
50952 2008-09-26  Bruno Haible  <bruno@clisp.org>
50953
50954         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50955         * tests/test-vc-list-files-cvs.sh: Likewise.
50956
50957 2008-09-26  Bruno Haible  <bruno@clisp.org>
50958
50959         * doc/posix-headers/sys_resource.texi: Reorder items.
50960
50961 2008-09-26  Jim Meyering  <meyering@redhat.com>
50962
50963         fts: tweak inode comparison function
50964         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50965         inode numbers, as documented.
50966
50967         fts: sort dirent entries on inode number before traversing
50968         This avoids a quadratic, seek-related performance penalty when
50969         operating on a directory containing many entries (measurable at 10k;
50970         3.5 hours at 2 million entries with a cold cache) on certain types
50971         of file systems, including ext3 and ext4, but not tmpfs.
50972         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50973         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50974         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50975         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50976         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50977         (fts_build): Set the stat.st_ino member from D_INO.
50978         If it is likely to be useful, sort dirent entries on inode number.
50979
50980         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50981         and the struct statfs.f_type member.
50982         * modules/fts (Depends-on): Add d-ino.
50983
50984 2008-09-26  Bruno Haible  <bruno@clisp.org>
50985
50986         * modules/sigpipe-die (Depends-on): Add sigpipe.
50987
50988         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50989         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50990         and GNULIB_STDIO_H_SIGPIPE are set.
50991         * lib/stdio-write.c: New file.
50992         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50993         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50994         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50995         REPLACE_STDIO_WRITE_FUNCS.
50996         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50997         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50998         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50999         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51000         * modules/stdio (Files): Add lib/stdio-write.c.
51001         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51002         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51003         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51004         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51005         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51006         REPLACE_FPRINTF_POSIX.
51007         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51008         REPLACE_PRINTF_POSIX.
51009         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51010         REPLACE_VFPRINTF_POSIX.
51011         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51012         REPLACE_VPRINTF_POSIX.
51013         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51014         SIGPIPE issue.
51015         * doc/posix-functions/fputc.texi: Likewise.
51016         * doc/posix-functions/fputs.texi: Likewise.
51017         * doc/posix-functions/fwrite.texi: Likewise.
51018         * doc/posix-functions/printf.texi: Likewise.
51019         * doc/posix-functions/putc.texi: Likewise.
51020         * doc/posix-functions/putchar.texi: Likewise.
51021         * doc/posix-functions/puts.texi: Likewise.
51022         * doc/posix-functions/vfprintf.texi: Likewise.
51023         * doc/posix-functions/vprintf.texi: Likewise.
51024
51025         * modules/safe-write (Depends-on): Add write.
51026
51027         * modules/sigpipe-tests: New file.
51028         * tests/test-sigpipe.c: New file.
51029         * tests/test-sigpipe.sh: New file.
51030
51031         * modules/write: New file.
51032         * lib/unistd.in.h: Include <sys/types.h>.
51033         (write): New declaration.
51034         * lib/write.c: New file.
51035         * m4/write.m4: New file.
51036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51037         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51038         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51039         GNULIB_WRITE, REPLACE_WRITE.
51040         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51041         and the SIGPIPE issue.
51042
51043         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51044         (raise): New declaration.
51045         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51046         (ext_signal): New function.
51047         (rpl_raise): New function.
51048         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51049         GNULIB_SIGNAL_H_SIGPIPE.
51050         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51051         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51052
51053         * modules/sigpipe: New file.
51054         * m4/sigpipe.m4: New file.
51055
51056 2008-09-25  Derek Price  <derek@ximbiot.com>
51057             Bruno Haible  <bruno@clisp.org>
51058
51059         * gnulib-tool (func_import): Report all license incompatibilities, not
51060         just the first one.
51061
51062 2008-09-25  Bruno Haible  <bruno@clisp.org>
51063
51064         * gnulib-tool (func_import): When computing the edits, consider not
51065         only the Makefile.ams that exist but also those that will be generated.
51066
51067 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51068
51069         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51070         fixes gnulib-tool --test warning about duplicate dependency.
51071
51072 2008-09-25  Bruno Haible  <bruno@clisp.org>
51073
51074         * gnulib-tool: Don't ask the user to perform edits in the generated
51075         Makefile.ams.
51076         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51077         apply to the Makefile.am being generated.
51078         (func_emit_tests_Makefile_am): Execute edits that apply to the
51079         Makefile.am being generated.
51080         (func_import): Setup list of Makefile.am edits before emitting the
51081         Makefile.ams, not at the end.
51082         (func_create_testdir): Update.
51083         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51084
51085 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51086
51087         * gnulib-tool (func_import): Store the --tests-base option in the
51088         comment in gnulib-cache.m4.
51089
51090 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51091
51092         * NEWS: Document increased portability that sys_select now provides.
51093
51094         * lib/sys_select.in.h: Install select wrapper.
51095         * lib/sys_socket.in.h: Use more descriptive name when there is no
51096         select wrapper.
51097         * lib/winsock-select.c: New.
51098         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51099         Require gl_HEADER_SYS_SOCKET.
51100         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51101         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51102         * tests/test-sys_select.c: Add functional tests.
51103
51104 2008-09-24  Eric Blake  <ebb9@byu.net>
51105
51106         open, fopen: close fd leak in last patch
51107         * lib/open.c (rpl_open): Close fd before returning error.
51108         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51109         * doc/posix-functions/open.texi (open): Document that Irix also
51110         has the bug.
51111         * doc/posix-functions/fopen.texi (fopen): Likewise.
51112         Reported by Paolo Bonzini.
51113
51114 2008-09-24  Bruno Haible  <bruno@clisp.org>
51115
51116         Ensure that a filename ending in a slash cannot be used to access a
51117         non-directory.
51118         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51119         to check whether it's really a directory.
51120         * lib/fopen.c: Include fcntl.h, unistd.h.
51121         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51122         and fdopen().
51123         * modules/fopen (Depends-on): Add unistd.
51124         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51125         * tests/test-fopen.c (main): Likewise.
51126         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51127         * doc/posix-functions/fopen.texi: Likewise.
51128         Reported by Eric Blake.
51129
51130 2008-09-23  Eric Blake  <ebb9@byu.net>
51131
51132         c-stack: avoid compiler optimizations when provoking overflow
51133         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51134         recursion harder to optimize, to ensure a stack overflow occurs.
51135         * tests/test-c-stack.c (recurse): Likewise.
51136         Borrowed from libsigsegv.
51137
51138         c-stack: work around Irix sigaltstack bug
51139         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51140         whether sigaltstack uses wrong end of stack_t (copied in part from
51141         libsigsegv).
51142         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51143         Irix bug, without requiring an over-allocation.
51144         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51145         bug.
51146
51147         fopen: document mingw bug on directories
51148         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51149         not allowing a stream visiting a directory, even though reading
51150         from such a stream is not portable.
51151
51152 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51153
51154         * lib/poll.c: Rewrite.
51155         * modules/poll: Depend on alloca.
51156
51157 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51158
51159         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51160         instead define prototypes for a full set of wrappers.  Ensure
51161         that Cygwin does not use the compatibility code, which is only
51162         for MinGW.
51163         * lib/winsock.c: New.
51164         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51165         * modules/sys_socket: Add lib/winsock.c.
51166
51167         * modules/poll-tests: Add errno and perror.
51168         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51169
51170 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51171
51172         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51173
51174 2008-09-23  Bruno Haible  <bruno@clisp.org>
51175
51176         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51177         * doc/glibc-functions/*: Likewise.
51178
51179 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51180
51181         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51182         success.
51183
51184 2008-09-22  Eric Blake  <ebb9@byu.net>
51185             Bruno Haible  <bruno@clisp.org>
51186
51187         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51188         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51189         supply %A but mishandle pseudo-NaN.
51190         Reported by Simon Josefsson.
51191
51192 2008-09-21  Bruno Haible  <bruno@clisp.org>
51193
51194         * tests/test-lock.c (main): Tweak skip message.
51195         * tests/test-tls.c (main): Likewise.
51196
51197 2008-09-21  Bruno Haible  <bruno@clisp.org>
51198
51199         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51200         whether 'struct sigaction' has sa_sigaction here...
51201         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51202         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51203
51204 2008-09-21  Bruno Haible  <bruno@clisp.org>
51205
51206         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51207         section.
51208         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51209         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51210         the new section.
51211         (Support for obsolete systems lacking POSIX:2001): New section.
51212         (String handling <string.h>): Move strdup to the new section.
51213         Suggested by Simon Josefsson and Paolo Bonzini.
51214
51215 2008-09-21  Bruno Haible  <bruno@clisp.org>
51216
51217         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51218         exponents in %e and %g results on 'long double'. Needed for mingw's
51219         improved *printf functions.
51220         * tests/test-vasprintf-posix.c (test_function): Likewise.
51221         * tests/test-snprintf-posix.h (test_function): Likewise.
51222         * tests/test-sprintf-posix.h (test_function): Likewise.
51223         Reported by Eric Blake.
51224
51225 2008-09-21  Bruno Haible  <bruno@clisp.org>
51226
51227         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51228         * tests/test-sprintf-posix.h (test_function): Likewise.
51229
51230 2008-09-21  Bruno Haible  <bruno@clisp.org>
51231
51232         * modules/getpass (Depends-on): Add strdup-posix.
51233
51234         New module 'strdup-posix'.
51235         * modules/strdup-posix: New file.
51236         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51237         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51239         REPLACE_STRDUP.
51240         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51241         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51243         strdup-posix.
51244
51245         * modules/strdup (Depends-on): Remove malloc-posix.
51246
51247 2008-09-20  Bruno Haible  <bruno@clisp.org>
51248
51249         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51250         Wildenhues.
51251
51252 2008-09-20  Bruno Haible  <bruno@clisp.org>
51253
51254         Ensure that wint_t gets defined on IRIX 5.3.
51255         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51256         * lib/wctype.in.h (wint_t): Likewise.
51257         (__wctype_wint_t): Remove type.
51258         (isw*): Use wint_t instead of __wctype_wint_t.
51259         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51260         * modules/wchar (Files): Add m4/wint_t.m4.
51261         (Makefile.am): Substitute HAVE_WINT_T.
51262         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51263         * tests/test-wctype.c: Check that wint_t is defined.
51264         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51265         * doc/posix-headers/wctype.texi: Likewise.
51266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51267
51268 2008-09-18  Bruno Haible  <bruno@clisp.org>
51269
51270         * gnulib-tool (func_exit): Update comment.
51271
51272 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51273
51274         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51275         assumes strdup exists and does not depend on strdup to return
51276         ENOMEM on out of memory conditions.
51277
51278 2008-09-18  Bruno Haible  <bruno@clisp.org>
51279
51280         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
51281         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51282         digits for the exponent.
51283
51284 2008-09-18  Jim Meyering  <meyering@redhat.com>
51285             Bruno Haible  <bruno@clisp.org>
51286
51287         * lib/vasnprintf.c (decimal_point_char): Define also if
51288         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51289
51290 2008-09-16  Bruno Haible  <bruno@clisp.org>
51291         and Eric Blake  <ebb9@byu.net>
51292
51293         vasnprintf: support Irix 5.3
51294         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51295         that mishandle long double infinity.
51296         Reported by Tom G. Christensen.
51297
51298 2008-09-16  Bruno Haible  <bruno@clisp.org>
51299
51300         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51301         Solaris 9.
51302         * doc/glibc-functions/alphasort.texi: Likewise.
51303         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51304
51305 2008-09-16  Jim Meyering  <meyering@redhat.com>
51306
51307         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51308         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51309         a umask modification leak out of a subshell.  Otherwise, the
51310         opensolaris /bin/sh would be accepted and thus cause unwarranted
51311         failures in the coreutils test suite.
51312
51313 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51314
51315         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51316         to succeed.
51317
51318 2008-09-16  Jim Meyering  <meyering@redhat.com>
51319
51320         avoid spurious test failure when library is built without ACL support
51321         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51322         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51323         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51324         * tests/test-copy-acl.sh: Likewise.
51325
51326 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51327
51328         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51329         based on character occurrence counts.
51330
51331 2008-09-15  Eric Blake  <ebb9@byu.net>
51332
51333         tests: avoid some compiler warnings
51334         * tests/test-memchr.c (main): Pass NULL indirectly.
51335         * tests/test-closein.c (main): Avoid unused variable.
51336
51337 2008-09-15  Bruno Haible  <bruno@clisp.org>
51338
51339         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51340         are missing on OpenBSD 4.0 individually.
51341         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51342
51343 2008-09-15  Bruno Haible  <bruno@clisp.org>
51344
51345         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51346         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51347         * doc/posix-functions/perror.texi: Likewise.
51348         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51349         is missing.
51350         Reported by Eric Blake.
51351
51352         * lib/errno.in.h: Use replacement values >= 2000.
51353         Reported by Eric Blake.
51354
51355 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51356
51357         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51358         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51359         limit.
51360         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51361         compareseq was aborted.
51362
51363 2008-09-14  Bruno Haible  <bruno@clisp.org>
51364
51365         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51366         yvec_edit_count.
51367         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51368         (fstrcmp_bounded): Simplify result computation accordingly.
51369
51370 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51371
51372         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51373         (fstrcmp): Define in terms of fstrcmp_bounded.
51374         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51375         lower_bound argument.
51376         Return quickly if the result is certainly < lower_bound.
51377         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51378
51379 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51380
51381         * lib/diffseq.h (EARLY_ABORT): New macro.
51382         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51383         evaluates to true.
51384
51385 2008-09-14  Bruno Haible  <bruno@clisp.org>
51386
51387         * modules/perror-tests: New file.
51388         * tests/test-perror.sh: New file.
51389         * tests/test-perror.c: New file.
51390
51391         New module 'perror'.
51392         * lib/stdio.in.h (perror): New declaration.
51393         * lib/perror.c: New file.
51394         * m4/perror.m4: New file.
51395         * modules/perror: New file.
51396         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51397         * doc/posix-functions/perror.texi: Mention the perror module.
51398         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51399         REPLACE_PERROR.
51400         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51401         REPLACE_PERROR.
51402
51403 2008-09-14  Bruno Haible  <bruno@clisp.org>
51404
51405         * modules/stdio (Makefile.am): Reorder to match the order in
51406         lib/stdio.in.h.
51407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51408
51409 2008-09-13  Bruno Haible  <bruno@clisp.org>
51410
51411         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51412
51413 2008-09-13  Bruno Haible  <bruno@clisp.org>
51414
51415         Extend strerror to cover the added errno values.
51416         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51417         (rpl_strerror): Provide error messages for the added errno values and
51418         for the WSA* values.
51419         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51420         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51421         strerror.
51422         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51423         * modules/strerror (Depends-on): Add errno.
51424         * doc/posix-functions/strerror.texi: Document the change.
51425         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51426         and EOVERFLOW.
51427
51428 2008-09-13  Bruno Haible  <bruno@clisp.org>
51429
51430         * modules/EOVERFLOW: Remove file.
51431         * m4/eoverflow.m4: Remove file.
51432         * modules/EOVERFLOW-tests: Remove file.
51433         * tests/test-EOVERFLOW.c: Remove file.
51434         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51435         * modules/ftell (Depends-on): Likewise.
51436         * modules/getdelim (Depends-on): Likewise.
51437         * modules/getugroups (Depends-on): Likewise.
51438         * modules/poll (Depends-on): Likewise.
51439         * modules/snprintf (Depends-on): Likewise.
51440         * modules/sprintf-posix (Depends-on): Likewise.
51441         * modules/vasnprintf (Depends-on): Likewise.
51442         * modules/vasprintf (Depends-on): Likewise.
51443         * modules/vfprintf-posix (Depends-on): Likewise.
51444         * modules/vsnprintf (Depends-on): Likewise.
51445         * modules/vsprintf-posix (Depends-on): Likewise.
51446         * modules/xvasprintf (Depends-on): Likewise.
51447         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51448         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51449         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51450         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51451         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51452         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51453         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51454         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51455         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51456         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51457         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51458         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51459         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51460         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51461         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51462         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51463         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51464         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51465         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51466         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51467         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51468         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51469         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51470         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51471         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51472         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51473         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51474         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51475         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51476         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51477         * MODULES.html.sh: Remove EOVERFLOW.
51478         * NEWS: Mention the change.
51479
51480 2008-09-13  Bruno Haible  <bruno@clisp.org>
51481
51482         * modules/errno-tests: New file.
51483         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51484
51485         * lib/errno.in.h: New file.
51486         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51487         * modules/errno: New file.
51488         * doc/posix-headers/errno.texi: Update documentation.
51489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51490
51491 2008-09-13  Bruno Haible  <bruno@clisp.org>
51492
51493         * tests/test-poll.c: Use #if for native Windows, rather than testing
51494         __MSVCRT__.
51495
51496 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51497             Bruno Haible  <bruno@clisp.org>
51498
51499         * lib/glob.c: Don't include <pwd.h> on native Windows.
51500         (WINDOWS32): New macro.
51501         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51502
51503 2008-09-13  Bruno Haible  <bruno@clisp.org>
51504
51505         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51506         (ETIMEDOUT): Remove macro.
51507         (glthread_cond_timedwait_multithreaded): New declaration.
51508         (glthread_cond_timedwait): Use it.
51509         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51510         (glthread_cond_timedwait_multithreaded): New function.
51511
51512 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51513
51514         * modules/poll-tests: Do not check for io.h.
51515         * tests/test-poll.c: Check for __MSVCRT__ instead.
51516
51517 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51518
51519         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51520         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51521         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51522
51523 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51524
51525         * modules/poll-tests: New.
51526         * tests/test-poll.c: New.
51527
51528 2008-09-12  Eric Blake  <ebb9@byu.net>
51529
51530         frexp: test for NetBSD failure on -0.0
51531         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51532         not all, bugs from NetBSD 3.0 have been fixed.
51533         * doc/posix-functions/frexp.texi (frexp): Document bug.
51534         Reported by Thomas Klausner.
51535
51536         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51537         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51538         literal -0.0.
51539         Reported by Jonathan C. Patschke <jp@centtech.com>.
51540
51541 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51542
51543         * lib/glthread/cond.h: Use dummy implementation also if
51544         USE_WIN32_THREADS.
51545
51546 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51547
51548         * modules/fnmatch-posix (License): Change to LGPLv2+.
51549         * modules/fnmatch-gnu (License): Likewise.
51550
51551 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51552
51553         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51554
51555 2008-09-11  Jim Meyering  <meyering@redhat.com>
51556
51557         * users.txt: Add gtk-vnc.
51558
51559 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51560
51561         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51562         rotate amounts.
51563
51564         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51565         required for 16-bit and 8-bit rotates.
51566         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51567         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51568         UINT8_MAX instead of hard-coded constants.
51569         Suggested by Paul Eggert.
51570
51571 2008-09-07  Bruno Haible  <bruno@clisp.org>
51572
51573         * tests/test-striconveh.c (main): Check behaviour when converting from
51574         UTF-7.
51575
51576         Make striconveh work better with stateful encodings.
51577         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51578         that iconv does not increment the inptr when returning -1/EINVAL.
51579
51580 2008-09-07  Bruno Haible  <bruno@clisp.org>
51581
51582         * build-aux/config.rpath: Update according to libtool-2.2.6.
51583         * build-aux/config.libpath: Likewise.
51584
51585 2008-09-06  Bruno Haible  <bruno@clisp.org>
51586
51587         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51588         * lib/freadptr.c (freadptr): Likewise.
51589         * lib/freadseek.c (freadptrinc): Likewise.
51590         Reported by Simon Josefsson.
51591
51592 2008-09-06  Bruno Haible  <bruno@clisp.org>
51593
51594         * modules/freadptr (License): Change to LGPLv2+.
51595         * modules/freadseek (License): Likewise.
51596         Suggested by Eric Blake.
51597
51598         * modules/memchr2 (License): Change to LGPLv2+.
51599         Approved by Eric Blake.
51600
51601 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51602             Bruno Haible  <bruno@clisp.org>
51603
51604         Make gnulib-tool work with native 'sed' on AIX.
51605         * gnulib-tool (sed_noop): New variable.
51606         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51607         func_add_or_update, func_create_testdir): Use it to initialize sed
51608         script variables.
51609         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51610
51611 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51612             Bruno Haible  <bruno@clisp.org>
51613
51614         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51615         also works after #include directives.
51616
51617 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
51618
51619         getdate.y: reject an out-of-range timezone value
51620         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51621         the range [-24...+24].  When specified with only one or two digits,
51622         * tests/test-getdate.c: Tests for the fix.
51623         * doc/getdate.texi: Document this change.
51624
51625 2008-09-03  Bruno Haible  <bruno@clisp.org>
51626
51627         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51628
51629 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51630
51631         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51632         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51633         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51634         Blake <ebb9@byu.net>.
51635
51636         * tests/test-bitrotate.c: Add more test vectors.
51637
51638 2008-09-02  Eric Blake  <ebb9@byu.net>
51639
51640         vasnprintf-posix: handle large precision via %.*d
51641         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51642         when handling it ourselves.
51643         * tests/test-vasnprintf-posix.c (test_function): Add test.
51644         * tests/test-snprintf-posix.h (test_function): Likewise.
51645         * tests/test-sprintf-posix.h (test_function): Likewise.
51646         * tests/test-vasprintf-posix.c (test_function): Likewise.
51647         Reported by Alain Guibert.
51648
51649 2008-09-01  Eric Blake  <ebb9@byu.net>
51650
51651         c-stack: make configure-time check more robust
51652         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51653         successful sigaction call.
51654         Reported by Tom G. Christensen.
51655
51656 2008-09-01  Bruno Haible  <bruno@clisp.org>
51657
51658         New module 'findprog-lgpl'.
51659         * modules/findprog-lgpl: New file.
51660         * lib/findprog-lgpl.c: New file.
51661         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51662         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51663         to decide whether to use strdup or xstrdup, concatenated_filename or
51664         xconcatenated_filename.
51665
51666 2008-09-01  Bruno Haible  <bruno@clisp.org>
51667
51668         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51669         'xconcat-filename' (GPL).
51670         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51671         (License): Change to LGPLv2+.
51672         * modules/xconcat-filename: New file.
51673         * lib/concat-filename.h (concatenated_filename): Change specification.
51674         (xconcatenated_filename): New declaration.
51675         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51676         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51677         memory situations.
51678         * lib/xconcat-filename.c: New file.
51679         * NEWS: Mention the change.
51680         * lib/findprog.c: Include concat-filename.h, not filename.h.
51681         (find_in_path): Use xconcatenated_filename instead of
51682         concatenated_filename.
51683         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51684         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51685         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51686         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51687         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51688         instead of concatenated_filename.
51689         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51690         (execute_java_class): Use xconcatenated_filename instead of
51691         concatenated_filename.
51692         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51693         * modules/javacomp (Depends-on): Likewise.
51694         * modules/javaexec (Depends-on): Likewise.
51695
51696 2008-09-01  Bruno Haible  <bruno@clisp.org>
51697
51698         Split module 'filename' into 'filename' and 'concat-filename'.
51699         * modules/filename: Keep only lib/filename.h.
51700         (License): Change to LGPLv2+.
51701         * modules/concat-filename: New file, extracted from modules/filename.
51702         * lib/filename.h (concatenated_filename): Remove declaration.
51703         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51704         * lib/concat-filename.c: Include concat-filename.h.
51705         * NEWS: Mention the change.
51706
51707 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51708
51709         * lib/bitrotate.h (rotl8, rotr8): Add.
51710
51711         * modules/bitrotate (configure.ac): Need
51712         AC_REQUIRE([AC_C_INLINE]).
51713         (Description): Mention stdint.h.  Reported by Bruno Haible
51714         <bruno@clisp.org>.
51715
51716         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51717         Paolo Bonzini <bonzini@gnu.org>.
51718
51719 2008-08-31  Bruno Haible  <bruno@clisp.org>
51720
51721         Assume Solaris specific bi-arch conventions on Solaris systems.
51722         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51723         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51724         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51725         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51726         like acl_libdirstem.
51727         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51728         acl_libdirstem.
51729         * NEWS: Mention the change.
51730         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51731
51732 2008-08-31  Jim Meyering  <meyering@redhat.com>
51733
51734         * lib/strftime.h: Add comments describing the two added arguments.
51735
51736         remove duplicate #include directives
51737         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51738         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51739
51740 2008-08-31  Bruno Haible  <bruno@clisp.org>
51741
51742         New module 'sigpipe-die'.
51743         * modules/sigpipe-die: New file.
51744         * lib/sigpipe-die.h: New file.
51745         * lib/sigpipe-die.c: New file.
51746         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51747
51748 2008-08-31  Bruno Haible  <bruno@clisp.org>
51749
51750         Don't override previously installed signal handlers.
51751         * lib/fatal-signal.c (saved_sigactions): New variable.
51752         (uninstall_handlers): Reset the signal to the saved handler, not
51753         to SIG_DFL (except when ignored).
51754         (install_handlers): Save the previous handlers.
51755
51756 2008-08-30  Bruno Haible  <bruno@clisp.org>
51757
51758         * gnulib-tool (func_reset_sigpipe): New function.
51759         (func_get_automake_snippet, func_modules_transitive_closure,
51760         func_import): Invoke it before a join command that reads from stdin,
51761         to avoid "echo: write error: Broken pipe" error messages on stderr.
51762         Reported by Sam Steingold <sds@gnu.org>.
51763
51764 2008-08-30  Bruno Haible  <bruno@clisp.org>
51765
51766         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51767         Code copied from m4/open.m4.
51768         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51769         access and the filename ends in a slash. Code copied from lib/open.c.
51770         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51771         * tests/test-fopen.c (main): Check against bug with trailing slash.
51772
51773 2008-08-29  Bruno Haible  <bruno@clisp.org>
51774
51775         Avoid some "gcc -pedantic" warnings.
51776         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51777         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51778         * lib/dirent.in.h: Likewise.
51779         * lib/fcntl.in.h: Likewise.
51780         * lib/float.in.h: Likewise.
51781         * lib/iconv.in.h: Likewise.
51782         * lib/inttypes.in.h: Likewise.
51783         * lib/locale.in.h: Likewise.
51784         * lib/math.in.h: Likewise.
51785         * lib/netinet_in.in.h: Likewise.
51786         * lib/search.in.h: Likewise.
51787         * lib/signal.in.h: Likewise.
51788         * lib/stdarg.in.h: Likewise.
51789         * lib/stdint.in.h: Likewise.
51790         * lib/stdio.in.h: Likewise.
51791         * lib/stdlib.in.h: Likewise.
51792         * lib/string.in.h: Likewise.
51793         * lib/strings.in.h: Likewise.
51794         * lib/sys_select.in.h: Likewise.
51795         * lib/sys_socket.in.h: Likewise.
51796         * lib/sys_stat.in.h: Likewise.
51797         * lib/sys_time.in.h: Likewise.
51798         * lib/sysexits.in.h: Likewise.
51799         * lib/time.in.h: Likewise.
51800         * lib/unistd.in.h: Likewise.
51801         * lib/wchar.in.h: Likewise.
51802         * lib/wctype.in.h: Likewise.
51803         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51804         * modules/fchdir (Makefile.am): Likewise.
51805         * modules/fcntl (Makefile.am): Likewise.
51806         * modules/float (Makefile.am): Likewise.
51807         * modules/iconv_open (Makefile.am): Likewise.
51808         * modules/inttypes (Makefile.am): Likewise.
51809         * modules/locale (Makefile.am): Likewise.
51810         * modules/math (Makefile.am): Likewise.
51811         * modules/netinet_in (Makefile.am): Likewise.
51812         * modules/search (Makefile.am): Likewise.
51813         * modules/signal (Makefile.am): Likewise.
51814         * modules/stdarg (Makefile.am): Likewise.
51815         * modules/stdint (Makefile.am): Likewise.
51816         * modules/stdio (Makefile.am): Likewise.
51817         * modules/stdlib (Makefile.am): Likewise.
51818         * modules/string (Makefile.am): Likewise.
51819         * modules/strings (Makefile.am): Likewise.
51820         * modules/sys_select (Makefile.am): Likewise.
51821         * modules/sys_socket (Makefile.am): Likewise.
51822         * modules/sys_stat (Makefile.am): Likewise.
51823         * modules/sys_time (Makefile.am): Likewise.
51824         * modules/sysexits (Makefile.am): Likewise.
51825         * modules/time (Makefile.am): Likewise.
51826         * modules/unistd (Makefile.am): Likewise.
51827         * modules/wchar (Makefile.am): Likewise.
51828         * modules/wctype (Makefile.am): Likewise.
51829         Reported by Reuben Thomas <rrt@sc3d.org>.
51830
51831 2008-08-29  Bruno Haible  <bruno@clisp.org>
51832
51833         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51834         any more.
51835
51836 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51837
51838         * MODULES.html.sh (Misc): Add bitrotate.
51839
51840         * modules/bitrotate: New file.
51841
51842         * lib/bitrotate.h: New file.
51843
51844         * modules/bitrotate-tests: New file.
51845
51846         * tests/test-bitrotate.c: New file.
51847
51848         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51849         on the bitrotate module.
51850
51851         * lib/arctwo.c: Use new bitrotate module.
51852
51853 2008-08-29  Jim Meyering  <meyering@redhat.com>
51854
51855         bootstrap: merge changes from coreutils
51856         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51857         of copied files.  Remove a kludge, now that this is fixed.
51858         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51859         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51860         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51861
51862 2008-08-29  Bruno Haible  <bruno@clisp.org>
51863
51864         * MODULES.html.sh: Remove --cvs-urls option.
51865
51866 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51867
51868         maint.mk: adjust to file name change
51869         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51870
51871 2008-08-28  Jim Meyering  <meyering@redhat.com>
51872
51873         * modules/getndelim2 (License): Relicense to LGPLv2+.
51874         Approved by Richard Stallman for the version of 1995, and by
51875         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51876
51877 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51878
51879         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51880         dummy if one is not available.  Do not touch them if
51881         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51882         (getc_maybe_unlocked): New.
51883         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51884
51885 2008-08-26  Eric Blake  <ebb9@byu.net>
51886
51887         doc/INSTALL: resync from autoconf
51888         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51889         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51890         moving...
51891         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51892         * INSTALL: Regenerate.
51893         * INSTALL.ISO: New file.
51894         * INSTALL.UTF-8: Likewise.
51895
51896 2008-08-26  Jim Meyering  <meyering@redhat.com>
51897
51898         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51899         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51900         these definitions conditional, so that they may be overridden, too.
51901
51902 2008-08-26  Bruno Haible  <bruno@clisp.org>
51903
51904         Generate INSTALL file variants with prettier quotes.
51905         * doc/Makefile (INSTALL_PRELUDE): New macro.
51906         (INSTALL): Use it.
51907         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51908
51909 2008-08-26  Bruno Haible  <bruno@clisp.org>
51910
51911         Run makeinfo in an English locale.
51912         * doc/Makefile (MAKEINFO): New variable.
51913
51914 2008-08-26  Bruno Haible  <bruno@clisp.org>
51915
51916         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51917         Suggested by Eric Blake.
51918
51919 2008-08-25  Bruno Haible  <bruno@clisp.org>
51920
51921         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51922
51923 2008-08-25  Eric Blake  <ebb9@byu.net>
51924
51925         c-stack: test that stack overflow can be caught
51926         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51927         that platform allows handling stack overflow; at least OS/2 EMX
51928         has sigaltstack, but crashes before transferring control to
51929         handler on stack overflow.
51930         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51931         check for HAVE_STACK_OVERFLOW_HANDLING.
51932         Reported by Elbert Pol.
51933
51934 2008-08-25  Bruno Haible  <bruno@clisp.org>
51935
51936         * doc/posix-functions/strftime.texi: Fix description of strftime
51937         module.
51938
51939 2008-08-24  Bruno Haible  <bruno@clisp.org>
51940
51941         * tests/uniwidth/test-uc_width2.c: New file.
51942         * tests/uniwidth/test-uc_width2.sh: New file.
51943         * modules/uniwidth/width-tests (Files): Add the new files.
51944         (TESTS): Add uniwidth/test-uc_width2.sh.
51945         (TESTS_ENVIRONMENT): New variable.
51946         (check_PROGRAMS): Add test-uc_width2.
51947         (test_uc_width2_SOURCES): New variable.
51948
51949         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51950         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51951         not 0x00AB.
51952         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51953
51954 2008-08-22  Eric Blake  <ebb9@byu.net>
51955
51956         test-lock, test-tls: mention why a test is skipped
51957         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51958         skipped.
51959         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51960
51961         count-one-bits: relax license
51962         * modules/count-one-bits (License): Relicense to LGPLv2+.
51963         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51964
51965 2008-08-22  Andreas Schwab  <schwab@suse.de>
51966
51967         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51968         Remove spurious space in assignment.
51969
51970 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51971
51972         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51973         Paul Eggert <eggert@CS.UCLA.EDU>.
51974
51975 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51976
51977         * modules/gettext: Add m4/threadlib.m4.
51978
51979 2008-08-19  Eric Blake  <ebb9@byu.net>
51980
51981         test-c-stack: fix compilation failure on FreeBSD 5.0
51982         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51983         headers before <sys/resource.h>.
51984         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51985         the bug.
51986         Reported by Nelson H. F. Beebe.
51987
51988         strverscmp: migrate from "strverscmp.h" to <string.h>
51989         * modules/string (Makefile.am): Add new hooks.
51990         * modules/strverscmp (Files): Remove strverscmp.h.
51991         (Depends-on): Add string.
51992         (configure.ac): Add indicator.
51993         (Include): Mention new header.
51994         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51995         defaults.
51996         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51997         results.
51998         * lib/strverscmp.h: Delete.
51999         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52000         * tests/test-strverscmp.c (includes): Adjust client.
52001         * lib/check-version.c (includes): Likewise.
52002         * NEWS: Document the change.
52003
52004         strverscmp: add unit test
52005         * modules/strverscmp-tests: New file.
52006         * tests/test-strverscmp.c: Likewise.
52007
52008 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52009
52010         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52011         regarding Windows crypto stuff, from Mono.
52012
52013 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52014
52015         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52016         if present, for intel RND.  Return error on failures.
52017
52018 2008-08-18  Ben Pfaff  <blp@gnu.org>
52019
52020         gitlog-to-changelog: give better diagnostic for failed pipe-open
52021         * build-aux/gitlog-to-changelog: Improve error message: suggest
52022         that the version of Git may be too old.
52023
52024 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52025
52026         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52027         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52028
52029 2008-08-18  Bruno Haible  <bruno@clisp.org>
52030
52031         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52032         pthread_in_use().
52033
52034 2008-08-18  Bruno Haible  <bruno@clisp.org>
52035
52036         * lib/glthread/threadlib.c: Include <pthread.h>.
52037
52038 2008-08-18  Bruno Haible  <bruno@clisp.org>
52039
52040         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52041         glthread_recursive_lock_* macros.
52042         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52043         Fix syntax error.
52044
52045 2008-08-18  Bruno Haible  <bruno@clisp.org>
52046
52047         * lib/glthread/thread.c: Avoid forcing a context switch right after
52048         thread creation.
52049
52050 2008-08-17  Bruno Haible  <bruno@clisp.org>
52051
52052         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52053         * lib/glthread/thread.h: Provide Win32 specific implementation.
52054         * modules/thread (Files): Add lib/glthread/thread.c.
52055         (Depends-on): Add lock.
52056         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52057
52058 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52059
52060         New module 'yield'.
52061         * modules/yield: New file.
52062         * lib/glthread/yield.h: New file.
52063         * m4/yield.m4: New file.
52064         * MODULES.html.sh (Multithreading): Add yield.
52065
52066 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52067
52068         New module 'thread'.
52069         * modules/thread: New file.
52070         * lib/glthread/thread.h: New file.
52071         * m4/thread.m4: New file.
52072         * MODULES.html.sh (Multithreading): Add thread.
52073
52074 2008-08-17  Bruno Haible  <bruno@clisp.org>
52075
52076         * lib/glthread/lock.h: Include <stdlib.h> always.
52077         * lib/glthread/tls.h: Likewise.
52078         * lib/glthread/cond.h: Likewise.
52079
52080 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52081
52082         New module 'cond'.
52083         * modules/cond: New file.
52084         * lib/glthread/cond.h: New file.
52085         * lib/glthread/cond.c: New file.
52086         * m4/cond.m4: New file.
52087         * MODULES.html.sh (Multithreading): Add cond.
52088
52089 2008-08-16  Eric Blake  <ebb9@byu.net>
52090
52091         c-stack: fix regression on Irix 5.3 from 2008-06-21
52092         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52093         sa_sigaction...
52094         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52095         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52096         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52097         * modules/signal (Makefile.am): Use the value.
52098         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52099         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52100         * doc/posix-headers/signal.texi (signal.h): Document this
52101         portability issue.
52102         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52103         Reported by Tom G. Christensen.
52104
52105 2008-08-17  Bruno Haible  <bruno@clisp.org>
52106
52107         New module 'threadlib'.
52108         * modules/threadlib: New file.
52109         * lib/glthread/threadlib.c: New file, extracted from
52110         lib/glthread/lock.c.
52111         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52112         functions.
52113         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52114         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52115         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52116         macros.
52117         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52118         (gl_DISABLE_THREADS): Remove macro.
52119         * modules/lock (Files): Remove build-aux/config.rpath.
52120         (Depends-on): Remove havelib. Add threadlib.
52121         (configure.ac-early): Remove section.
52122         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52123         * modules/tls (Depends-on): Remove lock. Add threadlib.
52124         (Link): New section, copied from threadlib.
52125         * MODULES.html.sh (Multithreading): Add threadlib.
52126
52127 2008-08-14  Bruno Haible  <bruno@clisp.org>
52128
52129         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52130         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52131         glthread_rwlock_unlock, glthread_rwlock_destroy,
52132         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52133         glthread_recursive_lock_destroy): Define as macros always.
52134         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52135         glthread_lock_lock.
52136         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52137         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52138         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52139         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52140         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52141         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52142         (glthread_recursive_lock_lock_func): Renamed from
52143         glthread_recursive_lock_lock.
52144         (glthread_recursive_lock_unlock_func): Renamed from
52145         glthread_recursive_lock_unlock.
52146         (glthread_recursive_lock_destroy_func): Renamed from
52147         glthread_recursive_lock_destroy.
52148
52149 2008-08-14  Bruno Haible  <bruno@clisp.org>
52150
52151         * lib/glthread/lock.h: Renamed from lib/lock.h.
52152         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52153         * lib/glthread/tls.h: Renamed from lib/tls.h.
52154         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52155         * lib/fstrcmp.c: Update includes.
52156         * lib/strsignal.c: Update includes.
52157         * modules/lock (Files, Makefile.am): Update.
52158         (Include): Change to "glthread/lock.h".
52159         * modules/tls (Files, Makefile.am): Update.
52160         (Include): Change to "glthread/tls.h".
52161         * tests/test-lock.c: Update includes.
52162         * tests/test-tls.c: Update includes.
52163         * NEWS: Mention the renamed header files.
52164
52165 2008-08-11  Jim Meyering  <meyering@redhat.com>
52166
52167         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52168
52169 2008-08-11  Eric Blake  <ebb9@byu.net>
52170
52171         test-c-stack: avoid C99-ism
52172         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52173         before statement.
52174         Reported by Alain Guibert.
52175
52176 2008-08-10  Jim Meyering  <meyering@redhat.com>
52177
52178         ensure that return value of uinttostr et al are not ignored
52179         * lib/inttostr.h (__GNUC_PREREQ): Define.
52180         (__attribute_warn_unused_result__): Define.
52181         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52182
52183 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52184
52185         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52186         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52187
52188 2008-08-07  Jim Meyering  <meyering@redhat.com>
52189
52190         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52191
52192         * modules/mkstemp (License): Relicense under LGPLv2+.
52193         * modules/tempname (License): Likewise.
52194
52195 2008-08-06  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/poll.c (poll): Further micro-optimization.
52198
52199 2008-08-06  Jim Meyering  <meyering@redhat.com>
52200
52201         inet_pton.c: use locale-independent tolower
52202         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52203         (inet_pton6): Use c_tolower rather than tolower.
52204         * modules/inet_pton (Depends-on): Add c-ctype.
52205
52206 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52207
52208         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52209         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52210
52211 2008-08-06  Jim Meyering  <meyering@redhat.com>
52212
52213         * modules/inet_pton (License): Relicense under LGPLv2+.
52214
52215 2008-08-03  Bruno Haible  <bruno@clisp.org>
52216
52217         Additional non-aborting API for lock and tls.
52218         * lib/lock.h: Include <errno.h>.
52219         (glthread_lock_init): New macro/function.
52220         (gl_lock_init): Define as wrapper around glthread_lock_init.
52221         (glthread_lock_lock): New macro/function.
52222         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52223         (glthread_lock_unlock): New macro/function.
52224         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52225         (glthread_lock_destroy): New macro/function.
52226         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52227         (glthread_rwlock_init): New macro/function.
52228         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52229         (glthread_rwlock_rdlock): New macro/function.
52230         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52231         (glthread_rwlock_wrlock): New macro/function.
52232         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52233         (glthread_rwlock_unlock): New macro/function.
52234         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52235         (glthread_rwlock_destroy): New macro/function.
52236         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52237         (glthread_recursive_lock_init): New macro/function.
52238         (gl_recursive_lock_init): Define as wrapper around
52239         glthread_recursive_lock_init.
52240         (glthread_recursive_lock_lock): New macro/function.
52241         (gl_recursive_lock_lock): Define as wrapper around
52242         glthread_recursive_lock_lock.
52243         (glthread_recursive_lock_unlock): New macro/function.
52244         (gl_recursive_lock_unlock): Define as wrapper around
52245         glthread_recursive_lock_unlock.
52246         (glthread_recursive_lock_destroy): New macro/function.
52247         (gl_recursive_lock_destroy): Define as wrapper around
52248         glthread_recursive_lock_destroy.
52249         (glthread_once): New macro/function.
52250         (gl_once): Define as wrapper around glthread_once.
52251         Update function declarations.
52252         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52253         glthread_rwlock_init. Return error code.
52254         (glthread_rwlock_rdlock_multithreaded): Renamed from
52255         glthread_rwlock_rdlock. Return error code.
52256         (glthread_rwlock_wrlock_multithreaded): Renamed from
52257         glthread_rwlock_wrlock. Return error code.
52258         (glthread_rwlock_unlock_multithreaded): Renamed from
52259         glthread_rwlock_unlock. Return error code.
52260         (glthread_rwlock_destroy_multithreaded): Renamed from
52261         glthread_rwlock_destroy. Return error code.
52262         (glthread_recursive_lock_init_multithreaded): Renamed from
52263         glthread_recursive_lock_init. Return error code.
52264         (glthread_recursive_lock_lock_multithreaded): Renamed from
52265         glthread_recursive_lock_lock. Return error code.
52266         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52267         glthread_recursive_lock_unlock. Return error code.
52268         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52269         glthread_recursive_lock_destroy. Return error code.
52270         (glthread_once_call): Make static.
52271         (glthread_once_multithreaded): Renamed from glthread_once.
52272         * lib/tls.h: Include <errno.h>.
52273         (glthread_tls_key_init): New macro/function.
52274         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52275         (glthread_tls_set): New macro/function.
52276         (gl_tls_set): Define as wrapper around glthread_tls_set.
52277         (glthread_tls_key_destroy): New macro/function.
52278         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52279         Update function declarations.
52280         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52281         glthread_tls_get.
52282         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52283
52284 2008-08-04  Eric Blake  <ebb9@byu.net>
52285
52286         gnumakefile: use space, not TAB, outside of targets
52287         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52288
52289 2008-08-02  Jim Meyering  <meyering@redhat.com>
52290
52291         getdate.y: avoid locale-dependent date parsing failure
52292         In Turkish locales, getdate would fail to recognize keywords
52293         containing a lowercase "i".  The solution is not to rely on
52294         locale-sensitive case-conversion.
52295         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52296         (lookup_word): Use c_toupper in place of toupper.
52297         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52298         Reported by Vefa Bicakci <bicave@superonline.com> in
52299         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52300         * modules/getdate (Depends-on): Add c-ctype.
52301
52302 2008-08-02  Bruno Haible  <bruno@clisp.org>
52303
52304         * gnulib-tool (func_import): When updating or creating a .gitignore
52305         file, prepend each added line with a slash, and ignore leading slashes
52306         from the existing lines.
52307         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52308
52309 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52310
52311         Portability fix for GNU make 3.79.1.
52312         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52313         versions do not understand.
52314
52315 2008-08-01  Bruno Haible  <bruno@clisp.org>
52316
52317         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52318         * tests/test-isnanf.h (zero): New variable.
52319         (main): Avoid literal -0.0f.
52320         * tests/test-isnand.h (zero): New variable.
52321         (main): Avoid literal -0.0.
52322         * tests/test-isnanl.h (zero): New variable.
52323         (main): Avoid literal -0.0L.
52324         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52325         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52326         -0.0, -0.0L.
52327         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52328         (test_signbitd): Avoid literal -0.0.
52329         (test_signbitl): Avoid literal -0.0L.
52330         * tests/test-ceilf1.c (zero): New variable.
52331         (main): Avoid literal -0.0f.
52332         * tests/test-ceill.c (zero): New variable.
52333         (main): Avoid literal -0.0L.
52334         * tests/test-floorf1.c (zero): New variable.
52335         (main): Avoid literal -0.0f.
52336         * tests/test-floorl.c (zero): New variable.
52337         (main): Avoid literal -0.0L.
52338         * tests/test-roundf1.c (zero): New variable.
52339         (main): Avoid literal -0.0f.
52340         * tests/test-round1.c (zero): New variable.
52341         (main): Avoid literal -0.0.
52342         * tests/test-roundl.c (zero): New variable.
52343         (main): Avoid literal -0.0L.
52344         * tests/test-truncf1.c (zero): New variable.
52345         (main): Avoid literal -0.0f.
52346         * tests/test-trunc1.c (zero): New variable.
52347         (main): Avoid literal -0.0.
52348         * tests/test-truncl.c (zero): New variable.
52349         (main): Avoid literal -0.0L.
52350         * tests/test-frexp.c (zero): New variable.
52351         (main): Avoid literal -0.0.
52352         * tests/test-frexpl.c (zero): New variable.
52353         (main): Avoid literal -0.0L.
52354         * tests/test-ldexpl.c (zero): New variable.
52355         (main): Avoid literal -0.0L.
52356         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52357         (zerod, zerol): New variables.
52358         (test_function): Avoid literals -0.0, -0.0L.
52359         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52360         (zerod, zerol): New variables.
52361         (test_function): Avoid literals -0.0, -0.0L.
52362         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52363         (zerod, zerol): New variables.
52364         (test_function): Avoid literals -0.0, -0.0L.
52365         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52366         (zerod, zerol): New variables.
52367         (test_function): Avoid literals -0.0, -0.0L.
52368         * tests/test-strtod.c (zero): New variable.
52369         (main): Avoid literal -0.0.
52370         Reported by Jonathan C. Patschke <jp@centtech.com>.
52371
52372 2008-07-31  Jim Meyering  <meyering@redhat.com>
52373
52374         sha256.h: correct definition of SHA224_DIGEST_SIZE
52375         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52376         Reported by Paulie Pena IV <paulie4@gmail.com>.
52377         Define as 224 / 8, rather than as a literal.
52378         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52379         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52380         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52381
52382 2008-07-31  Bruno Haible  <bruno@clisp.org>
52383
52384         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52385         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52386         Reported by Jonathan Patschke <jp@centtech.com>.
52387
52388 2008-07-31  Bruno Haible  <bruno@clisp.org>
52389
52390         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52391         Reported by Paolo Bonzini <bonzini@gnu.org>.
52392
52393 2008-07-30  Eric Blake  <ebb9@byu.net>
52394
52395         test-strtod: allow compilation without -lm
52396         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52397         Reported by Dennis Clarke <blastwave@gmail.com>.
52398
52399 2008-07-28  Jim Meyering  <meyering@redhat.com>
52400
52401         bootstrap: work also when there are no .po files in po/
52402         * build-aux/bootstrap (update_po_files): Complete the change
52403         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52404
52405 2008-07-27  Jim Meyering  <meyering@redhat.com>
52406
52407         * users.txt: Add zile.
52408
52409 2008-07-26  Ben Pfaff  <blp@gnu.org>
52410
52411         Add missing dependencies on new m4/exponent[fdl].m4 files.
52412         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52413         * modules/isnand-nolibm: Add m4/exponentd.m4.
52414         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52415         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52416         m4/isnan[fdl].m4, because the macros actually used moved.
52417         Reported by Jim Meyering.
52418
52419 2008-07-14  Ben Pfaff  <blp@gnu.org>
52420
52421         Add isinf module.
52422         * lib/isinf.c: New file.
52423         * lib/math.in.h: Define isinf macro if we have decided to replace
52424         it.
52425         * m4/isinf.m4: New file.
52426         * m4/math_h.m4: Initialize and substitute variables for isinf
52427         module.
52428         * modules/isinf: New file.
52429         * modules/isinf-tests: New file.
52430         * modules/math: Add substitutions for new module.
52431         * tests/test-isinf.c: New file.
52432         * doc/posix-functions/isinf.texi: Mention new module.
52433         * MODULES.html.sh: Mention new module.
52434
52435 2008-07-14  Ben Pfaff  <blp@gnu.org>
52436
52437         Factor out some macros for use by additional modules.
52438         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52439         exponentf.m4.
52440         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52441         exponentd.m4.
52442         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52443         file exponentl.m4.
52444         * m4/exponentf.m4: New file.
52445         * m4/exponentd.m4: New file.
52446         * m4/exponentl.m4: New file.
52447         * modules/isnanf: Use new file m4/exponentf.m4.
52448         * modules/isnand: Use new file m4/exponentd.m4.
52449         * modules/isnanl: Use new file m4/exponentl.m4.
52450
52451 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52452
52453         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52454         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52455         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52456         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52457
52458         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52459         readlink on platforms without PATH_MAX.
52460
52461 2008-07-21  Eric Blake  <ebb9@byu.net>
52462
52463         Warn, not fail, on stale version.
52464         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52465
52466         Don't allow installation with stale devel version number.
52467         * top/GNUmakefile (_is-install-target): New macro.
52468         (_curr-ver): Forbid installation with stale version number.
52469
52470 2008-07-20  Bruno Haible  <bruno@clisp.org>
52471
52472         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52473         TESTS_ENVIRONMENT.
52474         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52475
52476 2008-07-20  Bruno Haible  <bruno@clisp.org>
52477
52478         * lib/c-stack.h (c_stack_action): Add documentation.
52479         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52480
52481 2008-07-20  Bruno Haible  <bruno@clisp.org>
52482
52483         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52484         * modules/readlink (License): Likewise.
52485
52486 2008-07-17  Eric Blake  <ebb9@byu.net>
52487
52488         * modules/c-stack (Link): Fix typo.
52489
52490         Make c-stack use libsigsegv, when available.
52491         * modules/c-stack (Depends-on): Add libsigsegv.
52492         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52493         needed.
52494         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52495         (segv_handler, overflow_handler, c_stack_action)
52496         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52497         implementation when libsigsegv is available, but only when using
52498         the library is necessary.
52499         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52500         comment, explaining why XSI check fails on Linux.
52501         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52502         * tests/test-c-stack2.sh: Tweak skip message.
52503         * NEWS: Document new link-time requirements.
52504
52505 2008-07-16  Eric Blake  <ebb9@byu.net>
52506
52507         c-stack: Expose false positives when not using libsigsegv.
52508         * modules/c-stack-tests (Files): Expand test.
52509         * tests/test-c-stack.c (main): Add means to conditionally trigger
52510         non-overflow SIGSEGV.
52511         * tests/test-c-stack2.sh: New file.
52512
52513 2008-07-14  Bruno Haible  <bruno@clisp.org>
52514
52515         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52516         Reported by Eric Blake.
52517
52518 2008-07-14  Sam Steingold  <sds@gnu.org>
52519             Bruno Haible  <bruno@clisp.org>
52520
52521         New module libsigsegv.
52522         * modules/libsigsegv: New file.
52523         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52524         modifications.
52525         * MODULES.html.sh (Signal handling): New section.
52526
52527 2008-07-14  Bruno Haible  <bruno@clisp.org>
52528
52529         * modules/unictype/ctype-* (Description): Add the word "function".
52530         Improves the resulting doc in MODULES.html.
52531
52532 2008-07-12  Ben Pfaff  <blp@gnu.org>
52533
52534         Add longlong module.
52535         * modules/longlong: New file.
52536
52537 2008-07-12  Bruno Haible  <bruno@clisp.org>
52538
52539         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52540         to empty.
52541
52542 2008-07-10  Ben Pfaff  <blp@gnu.org>
52543
52544         Add isnan module.
52545         * doc/posix-functions/isnan.texi: Mention new module.
52546         * lib/math.in.h: Define isnan macro if we have decided to replace
52547         it.
52548         * m4/isnan.m4: New file.
52549         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52550         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52551         also.
52552         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52553         redundancy.
52554         * m4/math_h.m4: Initialize and substitute variables for isnan
52555         module.
52556         * modules/isnan: New file.
52557         * modules/isnan-tests: New file.
52558         * modules/math: Add substitutions for new module.
52559         * tests/test-isnan.c: New file.
52560         * MODULES.html.sh: Mention new module.
52561
52562 2008-07-10  Ben Pfaff  <blp@gnu.org>
52563
52564         Add isnanf module.
52565         * lib/isnanf.m4: New file.
52566         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52567         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52568         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52569         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52570         * modules/isnanf: New file.
52571         * modules/isnanf-tests: New file.
52572         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52573         files.
52574         * tests/test-isnanf-nolibm.c: factored most of its contents into
52575         new file tests/test-isnanf.h.
52576         * tests/test-isnanf.h: New file.
52577         * tests/test-isnanf.c: New file.
52578         * MODULES.html.sh: Mention new module.
52579         * doc/glibc-functions/isnanf.texi: Mention new module.
52580
52581 2008-07-10  Ben Pfaff  <blp@gnu.org>
52582
52583         Add isnand module.
52584         * lib/isnand.h: New file.
52585         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52586         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52587         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52588         functionality also.
52589         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52590         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52591         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52592         * modules/isnand: New file.
52593         * modules/isnand-tests: New file.
52594         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52595         files.
52596         * tests/test-isnand-nolibm.c: factored most of its contents into
52597         new file tests/test-isnand.h.
52598         * tests/test-isnand.h: New file.
52599         * tests/test-isnand.c: New file.
52600         * MODULES.html.sh: Mention new module.
52601
52602 2008-07-10  Ben Pfaff  <blp@gnu.org>
52603
52604         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52605         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52606         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52607         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52608         * modules/isnanf-nolibm: Update references to renamed files.
52609         * modules/isnand-nolibm: Likewise.
52610         * modules/isnanf-nolibm-tests: Likewise.
52611         * modules/isnand-nolibm-tests: Likewise.
52612         * lib/frexp.c: Likewise.
52613         * lib/isfinite.c: Likewise.
52614         * lib/signbitd.c: Likewise.
52615         * lib/signbitf.c: Likewise.
52616         * lib/vasnprintf.c: Likewise.
52617         * tests/test-ceilf1.c: Likewise.
52618         * tests/test-ceilf2.c: Likewise.
52619         * tests/test-floorf1.c: Likewise.
52620         * tests/test-floorf2.c: Likewise.
52621         * tests/test-frexp.c: Likewise.
52622         * tests/test-round1.c: Likewise.
52623         * tests/test-round2.c: Likewise.
52624         * tests/test-roundf1.c: Likewise.
52625         * tests/test-strtod.c: Likewise.
52626         * tests/test-trunc1.c: Likewise.
52627         * tests/test-trunc2.c: Likewise.
52628         * tests/test-truncf1.c: Likewise.
52629         * tests/test-truncf2.c: Likewise.
52630         * NEWS: Mention the renamed header files.
52631
52632 2008-07-11  Jim Meyering  <meyering@redhat.com>
52633
52634         vc-list-files: make the last-resort awk code more portable
52635         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52636         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52637         does not support it.
52638
52639 2008-07-10  Eric Blake  <ebb9@byu.net>
52640
52641         Work with tar's bootstrap.
52642         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52643         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52644         an m4 comment.
52645
52646 2008-07-09  Jim Meyering  <meyering@redhat.com>
52647
52648         posix-shell.m4: fix typo that made this test malfunction
52649         * m4/posix-shell.m4: Remove capitalization in variable name.
52650
52651 2008-07-08  Bruno Haible  <bruno@clisp.org>
52652
52653         * m4/onceonly.m4: Update comments.
52654         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52655
52656 2008-07-04  Jim Meyering  <meyering@redhat.com>
52657
52658         * users.txt: Add vc-dwim.
52659         (bison, coreutils): Use the gitweb URL.
52660
52661 2008-07-03  Jim Meyering  <meyering@redhat.com>
52662
52663         * users.txt: Add libffcall.  From Sam Steingold.
52664
52665 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
52666
52667         getdate.y: do not ignore TZ with relative day, month or year offset
52668         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52669         relative-date-handling, since otherwise, the latter would clobber the
52670         sole output (an updated Start value) of the tz-handling block.
52671         * tests/test-getdate.c: Tests for the fix
52672
52673 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52674
52675         Recognize 'foo_LIBRARIES += libgnu.a'.
52676         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52677         makefile snippet has already specified an installation location,
52678         also using '+='.
52679
52680 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
52681
52682         getdate.y: factor out common actions
52683         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52684         Use them in place of open-coded actions.
52685
52686 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52687
52688         Add self-test for getdate module.
52689         * modules/getdate-tests: New file.
52690         * tests/test-getdate.c: New file.
52691
52692 2008-06-29  Bruno Haible  <bruno@clisp.org>
52693
52694         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52695         .gitignore.
52696         Reported by Sylvain Beucler <beuc@beuc.net>.
52697
52698 2008-06-29  Bruno Haible  <bruno@clisp.org>
52699
52700         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52701         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52702
52703 2008-06-29  Bruno Haible  <bruno@clisp.org>
52704
52705         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52706         EXTRA_DIST.
52707         Reported by Sylvain Beucler <beuc@beuc.net>.
52708
52709 2008-06-26  Jim Meyering  <meyering@redhat.com>
52710
52711         make several modules depend on the "open" module
52712         This provides slightly increased consistency when opening-for-write
52713         the name of a non-directory spelled with a trailing slash.
52714         * modules/chdir-safer: Likewise.
52715         * modules/chown: Likewise.
52716         * modules/clean-temp: Likewise.
52717         * modules/copy-file: Likewise.
52718         * modules/fchdir: Likewise.
52719         * modules/fcntl-safer: Likewise.
52720         * modules/pipe: Likewise.
52721         * modules/utime: Likewise.
52722         Prompted by Eric Blake and Bruno Haible.
52723
52724 2008-06-24  Andreas Schwab  <schwab@suse.de>
52725
52726         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52727         literals can be used as initializers for global variables.
52728
52729 2008-06-23  Eric Blake  <ebb9@byu.net>
52730
52731         Make gnulib-cache.m4 easier to diff.
52732         * gnulib-tool (func_import): Allow newlines when reading cached
52733         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52734
52735 2008-06-23  Bruno Haible  <bruno@clisp.org>
52736
52737         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52738         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52739         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52740         m4/signalblocking.m4.
52741         (gl_PREREQ_SIGACTION): Don't invoke it.
52742         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52743         gl_PREREQ_SIG_HANDLER_H.
52744         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52745         Don't check for sigaction here.
52746
52747 2008-06-23  Bruno Haible  <bruno@clisp.org>
52748
52749         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52750         (install_handlers): Don't set the SA_RESETHAND flag.
52751
52752 2008-06-23  Bruno Haible  <bruno@clisp.org>
52753
52754         * m4/sigaction.m4: Comment fixes.
52755         * lib/signal.in.h: Likewise.
52756
52757 2008-06-23  Eric Blake  <ebb9@byu.net>
52758
52759         Fix typo.
52760         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52761
52762         Avoid SA_ namespace.
52763         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52764         Reported by Ralf Wildenhues.
52765
52766         Avoid test failure due to SA_RESTORER.
52767         * tests/test-sigaction.c (SA_MASK): New macro.
52768         (main): Avoid failing due to extension flags being set.
52769         Reported by Jim Meyering.
52770
52771         Revert use of sig-handler.h in sigprocmask.c.
52772         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52773         it requires the existence of struct sigaction.
52774         * lib/sigprocmask.c (handler_t): Restore typedef.
52775         (rpl_signal, old_handlers): Use local type.
52776
52777 2008-06-22  Bruno Haible  <bruno@clisp.org>
52778
52779         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52780         conditionally.
52781         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52782
52783 2008-06-22  Bruno Haible  <bruno@clisp.org>
52784
52785         * doc/posix-functions/siginterrupt.texi: Move note.
52786
52787         * lib/signal.in.h (SA_RESTART): New macro.
52788         * lib/sigaction.c: Update comment.
52789
52790         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52791
52792         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52793         (gl_PREREQ_SIGPROCMASK): Invoke it.
52794         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52795
52796         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52797
52798         * lib/sigprocmask.c: Update a comment.
52799
52800 2008-06-21  Eric Blake  <ebb9@byu.net>
52801
52802         Use sigaction module rather than signal().
52803         * modules/c-stack (Depends-on): Add sigaction.
52804         * modules/fatal-signal (Depends-on): Likewise.
52805         * modules/nanosleep (Depends-on): Likewise.
52806         * modules/sigprocmask (Files): Add sig-handler.h.
52807         * modules/sigaction (Files): Likewise.
52808         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52809         Eggert.
52810         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52811         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52812         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52813         (init_fatal_signals): Likewise.
52814         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52815         (siginterrupt): Delete fallback.
52816         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52817         instead.
52818         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52819         siginterrupt.
52820
52821         New module sigaction, for mingw.
52822         * modules/sigaction: New module...
52823         * modules/sigaction-tests: ...and its test.
52824         * m4/sigaction.m4: New file.
52825         * lib/sigaction.c: Likewise.
52826         * tests/test-sigaction.c: Likewise.
52827         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52828         * modules/signal (Makefile.am): Likewise.
52829         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52830         needed.
52831         * doc/posix-headers/signal.texi (signal.h): Mention provided
52832         types.
52833         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52834         that sigaction is preferable.
52835         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52836         module.
52837         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52838         sigaction.
52839
52840         Improve robustness of sigprocmask by overriding signal.
52841         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52842         is in use.
52843         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52844         (SIGKILL, SIGSTOP): Provide fallbacks.
52845         (rpl_signal): Implement.
52846         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52847         signal can be called inside handlers.
52848
52849         Fix nanosleep module on mingw.
52850         * modules/nanosleep (Depends-on): Add sys_select.
52851         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52852
52853         Fix licensing of sigprocmask.
52854         * modules/raise (License): Relicense as LGPL.
52855
52856 2008-06-21  Bruno Haible  <bruno@clisp.org>
52857
52858         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52859         result if it contains question marks.
52860         Reported by Michael Geng <linux@michaelgeng.de>.
52861
52862 2008-06-19  Bruno Haible  <bruno@clisp.org>
52863
52864         Fix CVS-ism.
52865         * doc/gnulib.texi: Include updated-stamp.texi.
52866         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52867         (updated-stamp.texi): New rule.
52868         (gnulib.info): Depend on it.
52869         * doc/.gitignore: Add updated-stamp.texi.
52870         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52871
52872 2008-06-19  Bruno Haible  <bruno@clisp.org>
52873
52874         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52875         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52876
52877 2008-06-19  Eric Blake  <ebb9@byu.net>
52878
52879         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52880         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52881         Reported by Stepan Kasal.
52882
52883 2008-06-18  Bruno Haible  <bruno@clisp.org>
52884
52885         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52886         Reported by Eric Blake.
52887
52888 2008-06-18  Eric Blake  <ebb9@byu.net>
52889
52890         Work around cygwin 1.5.25 strsignal bug.
52891         * tests/test-strsignal.c: Allow for const char *.
52892         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52893
52894 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52895
52896         * users.txt: Update URL to article and add author/date
52897         information.
52898
52899 2008-06-17  Bruno Haible  <bruno@clisp.org>
52900
52901         New macro gl_DISABLE_THREADS.
52902         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52903         if the user did not pass --enable-threads or --disable-threads option.
52904         (gl_DISABLE_THREADS): New macro.
52905         Reported by Eric Blake <ebb9@byu.net>.
52906
52907 2008-06-17  Bruno Haible  <bruno@clisp.org>
52908
52909         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52910         when the macro ignores it.
52911         Based on a patch by Eric Blake <ebb9@byu.net>.
52912
52913 2008-06-17  Bruno Haible  <bruno@clisp.org>
52914
52915         * modules/tls (License): Change to LGPLv2+.
52916         Reported by Eric Blake.
52917
52918 2008-06-17  Eric Blake  <ebb9@byu.net>
52919
52920         Simplify c-stack prerequisites.
52921         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52922         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52923         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52924         check.
52925         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52926         <sys/resource.h>.
52927
52928         Move c-stack test into testsuite.
52929         * modules/c-stack-tests: New file.
52930         * lib/c-stack.c [DEBUG]: Move test program...
52931         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52932         fail test if sigaltstack is lacking.
52933         * tests/test-c-stack.sh: New driver file.
52934
52935 2008-06-16  Eric Blake  <ebb9@byu.net>
52936
52937         Use raise module consistently.
52938         * modules/fatal-signal (Depends-on): Add raise.
52939         * modules/sigprocmask (Depends-on): Likewise.
52940         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52941         * lib/sigprocmask.c (sigprocmask): Likewise.
52942         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52943         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52944
52945         Fix compliance bug in sigpending.
52946         * lib/sigprocmask.c (sigpending): Return pending array via
52947         parameter, not return value.
52948
52949 2008-06-14  Eric Blake  <ebb9@byu.net>
52950
52951         Improve obstack-printf test code.
52952         * tests/test-obstack-printf.c (test_function): Fix comment, and
52953         simplify usage of obstack_* in macros.  Add a test for coverage.
52954         Reported by Bruno Haible.
52955
52956 2008-06-14  Bruno Haible  <bruno@clisp.org>
52957
52958         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52959         array size as a constant, not as a const variable.
52960         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52961         AC_USE_SYSTEM_EXTENSIONS.
52962         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52963         Test whether the obstack_printf function actually exists.
52964         * modules/obstack-printf (Depends-on): Add extensions.
52965         (Include): Remove obstack.h.
52966         * modules/obstack-printf-posix (Depends-on): Add extensions.
52967         (Include): Remove obstack.h.
52968
52969 2008-06-13  Eric Blake  <ebb9@byu.net>
52970
52971         Add obstack-printf and obstack-printf-posix modules.
52972         * modules/obstack-printf: New file.
52973         * modules/obstack-printf-posix: Likewise.
52974         * MODULES.html.sh (Misc): Mention them.
52975         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52976         Likewise.
52977         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52978         Likewise.
52979         * modules/stdio (Makefile.am): Accomodate new modules.
52980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52981         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52982         Declare.
52983         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52984         functions.
52985         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52986         (gl_REPLACE_OBSTACK_PRINTF): New macros
52987         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52988         * tests/test-obstack-printf.c: New file.
52989         * modules/obstack-printf-tests: Likewise.
52990         * modules/obstack-printf-posix-tests: Likewise.
52991
52992 2008-06-11  Bruno Haible  <bruno@clisp.org>
52993
52994         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52995         * lib/open.c: Include errno.h.
52996         (open): Fail when attempting to write to a file that has a trailing
52997         slash.
52998         * tests/test-open.c (main): Test against trailing slash bug.
52999         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53000
53001 2008-06-10  Bruno Haible  <bruno@clisp.org>
53002
53003         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53004         for $? to work inside the trap command, with various /bin/sh-s.
53005         * tests/test-vc-list-files-cvs.sh: Likewise.
53006
53007 2008-06-10  Bruno Haible  <bruno@clisp.org>
53008
53009         * lib/acl-internal.h: Don't include gettext.h here.
53010         * lib/set-mode-acl.c: Include gettext.h here.
53011         * lib/copy-acl.c: Likewise.
53012
53013 2008-06-10  Bruno Haible  <bruno@clisp.org>
53014
53015         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53016         * lib/wait-process.c (wait_subprocess): Likewise.
53017         * lib/execute.h (execute): Add termsigp argument.
53018         * lib/execute.c (execute): Likewise.
53019         * lib/csharpcomp.c (compile_csharp_using_pnet,
53020         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53021         * lib/csharpexec.c (execute_csharp_using_pnet,
53022         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53023         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53024         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53025         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53026         is_jikes_present): Update.
53027         * lib/javaexec.c (execute_java_class): Update.
53028         * lib/javaversion.c (execute_and_read_line): Update.
53029         * NEWS: Document the changes.
53030         Reported by Eric Blake.
53031
53032 2008-06-10  Eric Blake  <ebb9@byu.net>
53033
53034         Add missing include.
53035         * tests/test-strstr.c (includes): Add <signal.h>.
53036         * tests/test-strcasestr.c (includes): Likewise.
53037         * tests/test-memmem.c (includes): Likewise.
53038
53039 2008-06-10  Bruno Haible  <bruno@clisp.org>
53040
53041         * lib/wait-process.c (wait_subprocess): Add an assertion.
53042
53043 2008-06-10  Bruno Haible  <bruno@clisp.org>
53044
53045         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53046
53047 2008-06-10  Bruno Haible  <bruno@clisp.org>
53048
53049         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53050         using alarm().
53051         * tests/test-strcasestr.c (main): Likewise.
53052         * tests/test-strstr.c (main): Likewise.
53053
53054 2008-06-09  Bruno Haible  <bruno@clisp.org>
53055
53056         Work around the Solaris 10 ACE ACLs ABI change.
53057         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53058         declare if ACL_NO_TRIVIAL is present.
53059         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53060         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53061         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53062         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53063         define if ACL_NO_TRIVIAL is present.
53064         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53065         and use the current ABI.
53066         (file_has_acl): Use same #if condition as elsewhere.
53067         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53068         in use, and use the current ABI.
53069         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53070         Reported by Jim Meyering.
53071
53072 2008-06-09  Eric Blake  <ebb9@byu.net>
53073
53074         Work around environments that (stupidly) ignore SIGALRM.
53075         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53076         before using alarm().
53077         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53078         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53079         Reported by Ian Beckwith <ianb@erislabs.net>.
53080
53081         Produce autobuild blurb earlier in log.
53082         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53083
53084 2008-06-09  Jim Meyering  <meyering@redhat.com>
53085         and Ondřej Vašík  <ovasik@redhat.com>
53086
53087         utimens.c: correct kernel bug work-around
53088         Ondřej Vašík found that the invalid return value of 280 indicates
53089         failure, not success, and the kernel bug we're trying to work
53090         around affects not just the utimensat call, but also the fallback
53091         futimens call.
53092         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53093         not success.
53094         [HAVE_FUTIMENS]: Use the same work-around, here.
53095
53096 2008-06-09  Jim Meyering  <meyering@redhat.com>
53097
53098         add more guards around definition of ACE_-related code
53099         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53100         ALLOW and ACE_OWNER are also defined.
53101
53102 2008-06-08  Bruno Haible  <bruno@clisp.org>
53103
53104         * lib/acl-internal.h: Add me as co-author.
53105         * lib/file-has-acl.c: Likewise.
53106         * lib/set-mode-acl.c: Likewise.
53107         * lib/copy-acl.c: Likewise.
53108
53109 2008-06-08  Bruno Haible  <bruno@clisp.org>
53110
53111         Add support for AIX ACLs.
53112         * lib/acl-internal.h (acl_nontrivial): New declaration.
53113         * lib/file-has-acl.c (acl_nontrivial): New function.
53114         (file_has_acl): Add implementation using AIX 4 ACL API.
53115         * lib/set-mode-acl.c (qset_acl): Likewise.
53116         * lib/copy-acl.c (qcopy_acl): Likewise.
53117
53118 2008-06-08  Bruno Haible  <bruno@clisp.org>
53119
53120         Add support for HP-UX ACLs.
53121         * lib/acl-internal.h (acl_nontrivial): New declaration.
53122         * lib/file-has-acl.c (acl_nontrivial): New function.
53123         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53124         * lib/set-mode-acl.c (qset_acl): Likewise.
53125         * lib/copy-acl.c (qcopy_acl): Likewise.
53126
53127 2008-06-08  Bruno Haible  <bruno@clisp.org>
53128
53129         Add support for Cygwin ACLs.
53130         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53131         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53132         the chmod_or_fchmod call.
53133         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53134
53135 2008-06-08  Bruno Haible  <bruno@clisp.org>
53136
53137         Fix bug with setuid modes in Solaris 10+ code.
53138         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53139         succeeded, when the mode contains some special bits.
53140
53141 2008-06-08  Bruno Haible  <bruno@clisp.org>
53142
53143         Add support for Solaris 7..10 ACLs.
53144         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53145         declarations.
53146         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53147         functions.
53148         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53149         * lib/set-mode-acl.c (qset_acl): Likewise.
53150         * lib/copy-acl.c (qcopy_acl): Likewise.
53151
53152 2008-06-08  Bruno Haible  <bruno@clisp.org>
53153
53154         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53155         declaration.
53156         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53157         (acl_access_nontrivial): Remove MacOS X case.
53158         (file_has_acl): Use acl_extended_nontrivial.
53159         * lib/copy-acl.c (qcopy_acl): Likewise.
53160
53161 2008-06-08  Bruno Haible  <bruno@clisp.org>
53162
53163         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53164
53165 2008-06-08  Jim Meyering  <meyering@redhat.com>
53166
53167         * modules/acl (Maintainer): Add Bruno Haible.
53168
53169 2008-06-07  Bruno Haible  <bruno@clisp.org>
53170
53171         Improve support for Tru64 ACLs.
53172         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53173         ACL on OSF/1.
53174
53175 2008-06-07  Bruno Haible  <bruno@clisp.org>
53176
53177         Add support for MacOS X ACLs.
53178         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53179         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53180         * lib/set-mode-acl.c (qset_acl): Likewise.
53181         * lib/copy-acl.c (qcopy_acl): Likewise.
53182
53183 2008-06-07  Bruno Haible  <bruno@clisp.org>
53184
53185         Fix memory leak introduced on 2008-05-22.
53186         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53187         use.
53188
53189 2008-06-07  Bruno Haible  <bruno@clisp.org>
53190
53191         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53192         to construct an empty ACL.
53193
53194 2008-06-07  Bruno Haible  <bruno@clisp.org>
53195
53196         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53197         precisely.
53198         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53199
53200 2008-06-07  Bruno Haible  <bruno@clisp.org>
53201
53202         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53203         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53204
53205 2008-06-07  Bruno Haible  <bruno@clisp.org>
53206
53207         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53208         regardless of POSIX.
53209         * doc/posix-functions/_longjmp.texi: Likewise.
53210         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53211         SystemV platform in this case.
53212
53213 2008-06-06  Eric Blake  <ebb9@byu.net>
53214
53215         Document abort() bugs.
53216         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53217
53218         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53219         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53220         sigsetjmp.
53221         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53222         siglongjmp, but only as a macro.
53223         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53224         is obsolete.
53225         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53226
53227         Tweak documentation to cover cygwin argz bugs.
53228         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53229         argz bug fix; no code change needed since no cygwin releases
53230         occurred between the last fix and the bug being tested.
53231         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53232         module and recently fixed cygwin bugs.
53233         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53234         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53235         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53236         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53237         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53238         Likewise.
53239         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53240         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53241         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53242         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53243         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53244         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53245         Likewise.
53246
53247         Avoid gcc warning on cygwin.
53248         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53249         !ACL_NO_TRIVIAL]: Avoid unused variable.
53250
53251 2008-06-05  Eric Blake  <ebb9@byu.net>
53252
53253         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53254         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53255         git-version-gen fails to come up with a version.
53256         Reported by Simon Josefsson.
53257
53258 2008-06-05  Jim Meyering  <meyering@redhat.com>
53259             Paul Eggert  <eggert@cs.ucla.edu>
53260
53261         utimens.c: work around a probable Linux kernel bug
53262         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53263         appears to be a kernel bug that causes utimensat to return 280
53264         instead of 0, indicating success.
53265
53266 2008-06-04  Bruno Haible  <bruno@clisp.org>
53267
53268         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53269         2008-06-01 commit.
53270
53271 2008-06-04  Bruno Haible  <bruno@clisp.org>
53272
53273         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53274         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53275         (file_has_acl): Use it. Save errno afterwards.
53276         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53277
53278 2008-06-03  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53281         draft code. Simplify #ifs.
53282         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53283         Put Solaris code after POSIX-draft code. Fix comments regarding
53284         Solaris 10, HP-UX. Mention Cygwin.
53285         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53286
53287 2008-06-03  Eric Blake  <ebb9@byu.net>
53288
53289         Provide fallback for older kernels.
53290         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53291         Provide runtime fallback if kernel lacks support.
53292         Reported by Mike Frysinger.
53293
53294 2008-06-02  Bruno Haible  <bruno@clisp.org>
53295
53296         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53297         it exists.
53298
53299 2008-06-02  Bruno Haible  <bruno@clisp.org>
53300
53301         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53302         * lib/copy-acl.c (qcopy_acl): Update comment.
53303
53304 2008-06-02  Bruno Haible  <bruno@clisp.org>
53305
53306         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53307         like ACL APIs.
53308
53309 2008-06-02  Bruno Haible  <bruno@clisp.org>
53310
53311         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53312         * tests/test-set-mode-acl.sh: Likewise.
53313         * tests/test-copy-acl.sh: Likewise.
53314         * tests/test-copy-file.sh: Likewise.
53315
53316 2008-06-02  Bruno Haible  <bruno@clisp.org>
53317
53318         * tests/test-file-has-acl.sh: Remove unused code.
53319
53320 2008-06-01  Bruno Haible  <bruno@clisp.org>
53321
53322         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53323         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53324         messages.
53325         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53326
53327 2008-06-01  Bruno Haible  <bruno@clisp.org>
53328
53329         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53330         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53331         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53332         APIs.
53333         * modules/acl-tests (configure.ac): Remove tests now contained in
53334         m4/acl.m4.
53335
53336 2008-06-02  Jim Meyering  <meyering@redhat.com>
53337
53338         announce-gen: use a better key-server host name
53339         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53340         it may be more consistently reliable.  Suggested by Werner Koch
53341         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53342
53343 2008-06-01  Bruno Haible  <bruno@clisp.org>
53344
53345         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53346         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53347
53348 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53349
53350         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53351
53352 2008-06-01  Bruno Haible  <bruno@clisp.org>
53353
53354         New ACL tests.
53355         * tests/test-file-has-acl.sh: New file.
53356         * tests/test-file-has-acl.c: New file.
53357         * tests/test-set-mode-acl.sh: New file.
53358         * tests/test-set-mode-acl.c: New file.
53359         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53360         * tests/test-copy-acl.c: New file.
53361         * modules/acl-tests: New file, based on modules/copy-file-tests.
53362         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53363         (Depends-on): Add acl-tests.
53364         (configure.ac): Remove checks.
53365         (Makefile.am): Don't create test-sameacls program here any more.
53366
53367 2008-06-01  Bruno Haible  <bruno@clisp.org>
53368
53369         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53370         * tests/test-sameacls.c: Include progname.h.
53371         (main): Invoke set_program_name. Portability fixes for MacOS X,
53372         Solaris, HP-UX.
53373
53374 2008-06-01  Bruno Haible  <bruno@clisp.org>
53375
53376         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53377         function.
53378         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53379
53380 2008-06-01  Bruno Haible  <bruno@clisp.org>
53381
53382         * modules/rpmatch (Depends-on): Add strdup.
53383
53384 2008-06-01  Bruno Haible  <bruno@clisp.org>
53385
53386         * lib/pipe.c: Include unistd-safer.h.
53387         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53388         * modules/pipe (Depends-on): Add unistd-safer.
53389
53390 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53391
53392         * modules/autobuild (configure.ac): Call AB_INIT.
53393
53394 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53395
53396         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53397         Suggested by Bruno Haible <bruno@clisp.org>.
53398
53399 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53400
53401         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53402         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53403         <bruno@clisp.org>.
53404
53405 2008-05-29  Eric Blake  <ebb9@byu.net>
53406
53407         Prefer new POSIX 200x interfaces over futimesat.
53408         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53409         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53410         when available.
53411         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53412
53413 2008-05-28  Bruno Haible  <bruno@clisp.org>
53414
53415         * modules/stpcpy (License): Change to LGPLv2+.
53416         Requested by David Lutterkort <dlutter@redhat.com>.
53417
53418 2008-05-27  Bruno Haible  <bruno@clisp.org>
53419
53420         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53421         current mingw.
53422         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53423
53424 2008-05-27  Bruno Haible  <bruno@clisp.org>
53425
53426         * modules/iconv_open (Link): New section, from module 'iconv'.
53427         * modules/striconv (Link): Likewise.
53428         * modules/striconveh (Link): Likewise.
53429         * modules/xstriconv (Link): Likewise.
53430         * modules/unicodeio (Link): Likewise.
53431         * modules/propername (Link): Likewise.
53432         Reported by Jim Meyering.
53433
53434 2008-05-26  Jim Meyering  <meyering@redhat.com>
53435
53436         sha256: do not artificially restrict buffer length to be < 2^32
53437         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53438         uint32_t to size_t.
53439         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53440         to match.
53441
53442         avoid unaligned access errors, e.g., on sparc
53443         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53444         direct access through a possibly-unaligned uint64* pointer.
53445         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53446         direct access through a possibly-unaligned uint32* pointer.
53447         Prompted by this patch from Tom "spot" Callaway:
53448         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53449
53450         sha512.c: fix typo in comment
53451         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53452
53453 2008-05-25  Bruno Haible  <bruno@clisp.org>
53454
53455         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53456         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53457         (Makefile.am): Update lib_SOURCES.
53458
53459 2008-05-25  Bruno Haible  <bruno@clisp.org>
53460
53461         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53462
53463 2008-05-25  Jim Meyering  <meyering@redhat.com>
53464
53465         useless-if-before-free: freed expr may have white-space differences
53466         * build-aux/useless-if-before-free: Recognize cases in which the
53467         freed expression differs from the tested one in embedded white
53468         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53469         $1 was used, so we can't make any regexp shy.  Improved tests now
53470         detect this.
53471
53472         useless-if-before-free: accept white space in the expression.
53473         * build-aux/useless-if-before-free: For now, any white space
53474         in the expression must be identical in the free argument.
53475
53476         useless-if-before-free: efficiency tweak
53477         * build-aux/useless-if-before-free: Make the expression-matching
53478         regexp "shy".
53479         Make the *outer* regexp shy, not the expr-matching one.
53480
53481         update code-in-comment to accept cast of free arg
53482         * build-aux/useless-if-before-free: Update regexp.
53483
53484 2008-05-25  Bruno Haible  <bruno@clisp.org>
53485
53486         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53487         * modules/copy-file-tests (Files, Makefile.am): Update.
53488         * tests/test-copy-file.c (func_test_copy): Update.
53489
53490 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53491
53492         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53493
53494 2008-05-23  Bruno Haible  <bruno@clisp.org>
53495
53496         Improve support for ACLs on OSF/1.
53497         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53498         Remove fallback for unknown flavors of ACLs.
53499
53500 2008-05-22  Bruno Haible  <bruno@clisp.org>
53501
53502         Add support for ACLs on OSF/1.
53503         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53504         replacements.
53505         (acl_free_text): New macro fallback.
53506         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53507         acl_free.
53508         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53509         acl_free_text function. Require AC_C_INLINE.
53510
53511 2008-05-22  Bruno Haible  <bruno@clisp.org>
53512
53513         Make copy_acl work on MacOS X 10.5.
53514         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53515         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53516         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53517         If MODE_INSIDE_ACL, don't assume that every system has the same text
53518         representation for ACLs as FreeBSD.
53519         * lib/copy-acl.c (copy_acl): Add support for platforms with
53520         !MODE_INSIDE_ACL.
53521         * lib/file-has-acl.c (file_has_acl): Likewise.
53522         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53523         FreeBSD, MacOS X, or IRIX, respectively.
53524
53525 2008-05-22  Bruno Haible  <bruno@clisp.org>
53526
53527         * lib/acl.h: Don't include <sys/acl.h>.
53528         (GETACLCNT): Move fallback to lib/acl-internal.h.
53529         * lib/acl-internal.h: Include <sys/acl.h> here.
53530         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53531
53532 2008-05-22  Bruno Haible  <bruno@clisp.org>
53533
53534         Split off copy_acl function to separate file.
53535         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53536         * lib/acl.c (copy_acl): Moved function to separate file.
53537         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53538         * modules/acl (Files): Add lib/copy-acl.c.
53539         (Makefiles.am): Augment lib_SOURCES.
53540
53541 2008-05-22  Bruno Haible  <bruno@clisp.org>
53542
53543         * modules/copy-file-tests: New file.
53544         * tests/test-copy-file.sh: New file.
53545         * tests/test-copy-file.c: New file.
53546         * tests/test-copy-file-sameacls.c: New file.
53547
53548 2008-05-22  Eric Blake  <ebb9@byu.net>
53549
53550         Avoid gcc warning.
53551         * tests/test-memcmp.c (main): Pass NULL indirectly.
53552
53553 2008-05-21  Bruno Haible  <bruno@clisp.org>
53554
53555         Add reference doc about ACLs.
53556         * doc/acl-resources.txt: New file.
53557         * doc/acl-cygwin.txt: New file.
53558
53559 2008-05-21  Bruno Haible  <bruno@clisp.org>
53560
53561         Avoid one more warning from gcc.
53562         * lib/vasnprintf.c (IF_LINT): Update comments.
53563         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53564
53565 2008-05-21  Jim Meyering  <meyering@redhat.com>
53566
53567         avoid a warning from gcc
53568         * lib/vasnprintf.c (IF_LINT): Define.
53569         (scale10_round_decimal_long_double):
53570         Use it to avoid a "may be used uninitialized" warning.
53571         (scale10_round_decimal_double): Likewise.
53572
53573 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53574
53575         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53576         declared.
53577
53578 2008-05-20  Bruno Haible  <bruno@clisp.org>
53579
53580         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53581         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53582
53583 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53584
53585         * modules/memcmp-tests: New file.
53586         * tests/test-memcmp.c: New file.
53587
53588 2008-05-19  Bruno Haible  <bruno@clisp.org>
53589
53590         * modules/propername (Notice, configure.ac): Put quoted "..." into
53591         --keyword option.
53592         * lib/propername.h: Update comments accordingly.
53593         Reported by Eric Blake.
53594
53595 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53596
53597         * modules/getpass-gnu (Depends-on): Add fseeko.
53598
53599 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53600
53601         * modules/base64-tests: New file.
53602
53603 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53604
53605         * lib/base64.c (base64_decode_ctx): If a decode context structure
53606         was passed in use it to ignore newlines.  If a context structure
53607         was _not_ passed in, continue to treat newlines as garbage (this
53608         is the historical behavior).  Formerly base64_decode.
53609         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53610         takes a decode context structure.
53611         * lib/base64.h (base64_decode): Macro for four-argument calls.
53612         (base64_decode_alloc): Likewise.
53613         * lib/base64.c (base64_decode_ctx): If a decode context structure
53614         was passed in use it to ignore newlines.  If a context structure
53615         was _not_ passed in, continue to treat newlines as garbage (this
53616         is the historical behavior).  Formerly base64_decode.
53617         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53618         takes a decode context structure.
53619         * lib/base64.h (base64_decode): Macro for four-argument calls.
53620         (base64_decode_alloc): Likewise.
53621
53622 2008-05-19  Jim Meyering  <meyering@redhat.com>
53623
53624         avoid a warning from gcc
53625         * lib/trim.c (IF_LINT): Define.
53626         (trim2): Use it to avoid a "may be used uninitialized" warning.
53627
53628         Fix doc typo.
53629         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53630
53631 2008-05-19  Bruno Haible  <bruno@clisp.org>
53632
53633         * doc/glibc-functions/getpass.texi: Document limits of other
53634         implementations.
53635
53636 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53637             Bruno Haible <bruno@clisp.org>
53638
53639         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53640
53641 2008-05-18  Bruno Haible  <bruno@clisp.org>
53642
53643         * modules/propername: New file, from GNU gettext.
53644         * lib/propername.h: New file, from GNU gettext.
53645         * lib/propername.c: New file, from GNU gettext.
53646         * MODULES.html.sh (Internationalization functions): Add propername.
53647
53648 2008-05-16  Jim Meyering  <meyering@redhat.com>
53649             Bruno Haible  <bruno@clisp.org>
53650
53651         Avoid some warnings from "gcc -Wshadow".
53652         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53653
53654 2008-05-15  Eric Blake  <ebb9@byu.net>
53655
53656         Extend previous patch to cygwin 1.7.0.
53657         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53658         fast implementation in cygwin >= 1.7.0.
53659         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53661
53662 2008-05-15  Bruno Haible  <bruno@clisp.org>
53663
53664         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53665         implementation in glibc >= 2.9.
53666         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53667         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53668
53669 2008-05-15  Bruno Haible  <bruno@clisp.org>
53670
53671         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53672         (Unicode string functions): Add unilbrk/*.
53673         Reported by Karl Berry.
53674
53675 2008-05-15  Eric Blake  <ebb9@byu.net>
53676
53677         Fix violation of <stdbool.h> replacement in regex.
53678         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53679         * lib/regexec.c (re_search_internal): Likewise.
53680         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53681
53682 2008-05-15  Jim Meyering  <meyering@redhat.com>
53683
53684         avoid distracting test output when git or cvs is not found
53685         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53686         * tests/test-vc-list-files-git.sh: Likewise.
53687
53688 2008-05-15  Eric Blake  <ebb9@byu.net>
53689
53690         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53691         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53692         glibc version.
53693         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53694         * doc/posix-functions/strstr.texi (strstr): Likewise.
53695         * lib/str-two-way.h (MAX): Sychronize with glibc.
53696
53697 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53698
53699         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53700         opr.ctx_type.
53701         (calc_first): Initialize constraint field.
53702         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53703         Fix grammar.
53704         (duplicate_node): Merge constraint field for all node types.
53705         (calc_eclosure_iter): Look at constraint field for all node types.
53706         * lib/regex_internal.c (create_cd_newstate): Don't look at
53707         opr.ctx_type.
53708
53709 2008-05-14  Bruno Haible  <bruno@clisp.org>
53710
53711         Help GCC to do better code generation.
53712         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53713         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53714         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53715         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53716         Declare with attribute 'malloc' if supported.
53717
53718 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53719
53720         use "echo STR|wc -c" rather than unportable "expr length STR"
53721         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53722         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53723
53724 2008-05-14  Jim Meyering  <meyering@redhat.com>
53725
53726         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53727         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53728         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53729         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53730         via Collin Lasse.
53731
53732 2008-05-14  Eric Blake  <ebb9@byu.net>
53733
53734         Avoid quadratic growth in gl_LIBSOURCES.
53735         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53736         Suggested by Bruno Haible.
53737
53738         Test xmemdup0.
53739         * modules/xmemdup0-tests: New file.
53740         * tests/test-xmemdup0.c: Likewise.
53741
53742 2008-05-13  Eric Blake  <ebb9@byu.net>
53743
53744         Split xmemdup0 into its own module.
53745         * modules/xmemdup0: New file.
53746         * lib/xmemdup0.h: Likewise.
53747         * lib/xmemdup0.c: Likewise.
53748         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53749         * lib/xalloc.h (xmemdup0): Remove.
53750         * lib/xmalloc.c (xmemdup0): Likewise.
53751
53752 2008-05-13  Eric Blake  <ebb9@byu.net>
53753             Bruno Haible  <bruno@clisp.org>
53754
53755         Reduce number of forks required during autoconf.
53756         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53757         and gl_LIBSOURCES_DIR.
53758         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53759         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53760         m4_syscmd per file.
53761         <m4_foreach_w>: Move...
53762         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53763
53764 2008-05-13  Eric Blake  <ebb9@byu.net>
53765
53766         * gnulib-tool: Fix various comment typos.
53767
53768 2008-05-12  Bruno Haible  <bruno@clisp.org>
53769
53770         Tailor the linebreaking algorithm.
53771         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53772
53773 2008-05-12  Bruno Haible  <bruno@clisp.org>
53774
53775         Update to Unicode 5.0.0.
53776         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53777         LBP_JV, LBP_JT. Redistribute values.
53778         (unilbrk_table): Change size.
53779         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53780         Unicode TR#14 rev. 22.
53781         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53782         LBP_JV, LBP_JT. Redistribute values.
53783         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53784         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53785         Update.
53786         * lib/unilbrk/lbrkprop1.h: Regenerated.
53787         * lib/unilbrk/lbrkprop2.h: Regenerated.
53788         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53789         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53790         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53791         Likewise.
53792         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53793         Likewise.
53794         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53795         result.
53796         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53797         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53798         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53799         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53800         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53801         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53802
53803 2008-05-11  Bruno Haible  <bruno@clisp.org>
53804
53805         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53806
53807 2008-05-11  Bruno Haible  <bruno@clisp.org>
53808
53809         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53810         * modules/unilbrk/gen-lbrk: New file.
53811
53812 2008-05-11  Bruno Haible  <bruno@clisp.org>
53813
53814         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53815         * m4/sha512.m4 (gl_SHA512): Likewise.
53816
53817 2008-05-11  Jim Meyering  <meyering@redhat.com>
53818
53819         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53820         * modules/crypto/sha256: New file.
53821         * modules/crypto/sha512: Likewise.
53822         * lib/sha256.c: Likewise.
53823         * lib/sha256.h: Likewise.
53824         * lib/sha512.c: Likewise.
53825         * lib/sha512.h: Likewise.
53826         * lib/u64.h: Likewise.
53827         * m4/sha256.m4: Likewise.
53828         * m4/sha512.m4: Likewise.
53829         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53830
53831 2008-05-10  Bruno Haible  <bruno@clisp.org>
53832
53833         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53834         (Input/Output <stdio.h>): Add xprintf.
53835         (Signal handling <signal.h>): Add strsignal.
53836         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53837         (Core language properties): Add func.
53838         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53839         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53840         strings.
53841         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53842         (Input/output): New section.
53843         (File system functions): Add openat-die, stat-macros.
53844         (Networking functions): Add sockets.
53845         (Unicode string functions): Add unictype/*.
53846         (Support for building libraries and executables): Add gperf.
53847         (Support for building documentation): Add agpl-3.0.
53848         (Misc): Add nocrash.
53849
53850 2008-05-10  Bruno Haible  <bruno@clisp.org>
53851
53852         * modules/unictype/gen-ctype: New file.
53853
53854 2008-05-10  Jim Meyering  <meyering@redhat.com>
53855
53856         Make chdir-safer.c more efficient on a system with no symlinks.
53857         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53858         also if ELOOP is zero.  Suggested by Bruno Haible.
53859
53860         Make chdir-safer.c slightly safer.
53861         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53862         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53863
53864         Avoid compile failure on systems without ELOOP (like mingw).
53865         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53866         Reported by Bruno Haible.
53867
53868 2008-05-10  Bruno Haible  <bruno@clisp.org>
53869
53870         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53871         (is_utf8_encoding): Use a case-insensitive comparison.
53872         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53873         streq.
53874
53875 2008-05-10  Bruno Haible  <bruno@clisp.org>
53876
53877         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53878         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53879         * lib/unilbrk/ulc-common.h (iconv_string_length,
53880         iconv_string_keeping_offsets): Remove declarations.
53881         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53882         Don't include <iconv.h>, streq.h, xsize.h.
53883         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53884         conversion.
53885         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53886         <iconv.h>, streq.h, xsize.h.
53887         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53888         conversion.
53889         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53890         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53891         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53892         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53893
53894 2008-05-10  Bruno Haible  <bruno@clisp.org>
53895
53896         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53897         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53898
53899         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53900         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53901
53902         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53903         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53904
53905         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53906         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53907
53908         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53909         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53910
53911         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53912         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53913
53914         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53915         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53916
53917         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53918         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53919
53920 2008-05-10  Bruno Haible  <bruno@clisp.org>
53921
53922         Split up 'linebreak' module.
53923         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53924         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53925         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53926         modifications.
53927         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53928         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53929         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53930         lib/linebreak.c.
53931         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53932         lib/linebreak.c.
53933         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53934         lib/linebreak.c.
53935         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53936         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53937         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53938         lib/linebreak.c.
53939         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53940         lib/linebreak.c.
53941         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53942         lib/linebreak.c.
53943         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53944         lib/linebreak.c.
53945         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53946         lib/linebreak.c.
53947         * modules/unilbrk/base: New file.
53948         * modules/unilbrk/tables: New file.
53949         * modules/unilbrk/u8-possible-linebreaks: New file.
53950         * modules/unilbrk/u16-possible-linebreaks: New file.
53951         * modules/unilbrk/u32-possible-linebreaks: New file.
53952         * modules/unilbrk/ulc-common: New file.
53953         * modules/unilbrk/ulc-possible-linebreaks: New file.
53954         * modules/unilbrk/u8-width-linebreaks: New file.
53955         * modules/unilbrk/u16-width-linebreaks: New file.
53956         * modules/unilbrk/u32-width-linebreaks: New file.
53957         * modules/unilbrk/ulc-width-linebreaks: New file.
53958         * lib/linebreak.h: Remove file.
53959         * lib/linebreak.c: Remove file.
53960         * m4/linebreak.m4: Remove file.
53961         * modules/linebreak: Remove file.
53962         * NEWS: Mention the changes.
53963
53964 2008-05-09  Eric Blake  <ebb9@byu.net>
53965
53966         Add xmemdup0.
53967         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53968         implementation.
53969         * lib/xmalloc.c (xmemdup0): New C implementation.
53970
53971 2008-05-08  Bruno Haible  <bruno@clisp.org>
53972
53973         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53974
53975 2008-05-07  Eric Blake  <ebb9@byu.net>
53976
53977         Support cross-compilation of <wctype.h>.
53978         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53979         AC_CACHE_CHECK.
53980
53981 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53982
53983         * build-aux/vc-list-files: Add support for bzr.
53984
53985 2008-05-03  Jim Meyering  <meyering@redhat.com>
53986
53987         avoid failed assertion with tight malloc
53988         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53989
53990 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53991
53992         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53993         are needed from arpa/inet.h.
53994         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53995         Reported by Bruno Haible.
53996
53997 2008-05-02  Jim Meyering  <meyering@redhat.com>
53998
53999         avoid compilation error on FreeBSD 6
54000         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54001
54002 2008-05-01  Jim Meyering  <meyering@redhat.com>
54003
54004         useless-if-before-free: correct --help's exit status description
54005         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54006         for one or more matches, etc.  Reported by Bruno Haible.
54007
54008         vc-list-files: make the stand-alone gnulib test work
54009         * modules/vc-list-files-tests (configure.ac):
54010         Define and AC_SUBST abs_aux_dir.
54011         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54012         $(abs_top_srcdir) to each script and having each of them
54013         duplicate the work of setting PATH, set PATH here, using
54014         the new variable, abs_aux_dir instead.
54015         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54016         * tests/test-vc-list-files-git.sh: Likewise.
54017         Reported by Bruno Haible.
54018
54019 2008-05-01  Bruno Haible  <bruno@clisp.org>
54020
54021         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54022         reallocation. Rename 'done' to 'found_delimiter'.
54023
54024 2008-05-01  Jim Meyering  <meyering@redhat.com>
54025
54026         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54027         * build-aux/vc-list-files: Use `...`, not $(...).
54028
54029 2008-04-30  Jim Meyering  <meyering@redhat.com>
54030
54031         add tests for vc-list-files
54032         * modules/vc-list-files-tests: New module.
54033         * tests/test-vc-list-files-cvs.sh: New file.
54034         * tests/test-vc-list-files-git.sh: New file.
54035
54036         avoid a warning from gcc
54037         * lib/getndelim2.c (IF_LINT): Define.
54038         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54039
54040         vc-list-files: work properly with build-aux/cvsu, too
54041         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54042         to all cvs-based clauses.
54043
54044         vc-list-files: work properly in the CVS+awk case, too
54045         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54046
54047         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54048         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54049         take more than one file argument, so .  Add quotes, just in case $dir
54050         ever contains a shell meta-character.  Prompted by Soren Hansen in
54051         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54052
54053 2008-04-29  Eric Blake  <ebb9@byu.net>
54054
54055         Optimize getndelim2 to use block operations when possible.
54056         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54057         freadseek, and memchr2.
54058         * lib/getndelim2.c (getndelim2): Use them for block reads.
54059
54060 2008-04-29  Bruno Haible  <bruno@clisp.org>
54061
54062         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54063         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54064         * modules/inet_ntop (Depends-on): Add extensions.
54065         * modules/inet_pton (Depends-on): Likewise.
54066         Reported by Simon Josefsson.
54067
54068 2008-04-29  Jim Meyering  <meyering@redhat.com>
54069
54070         When the is more than one match in a block, match all of them.
54071         * build-aux/useless-if-before-free: Iterate through each block
54072         until there are no more matches.
54073
54074         Fix broken useless-if-before-free script.
54075         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54076         the expression to match cast of argument to free-like function.
54077
54078 2008-04-29  Eric Blake  <ebb9@byu.net>
54079
54080         Use new header.
54081         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54082
54083 2008-04-29  Jim Meyering  <meyering@redhat.com>
54084
54085         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54086         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54087         by gnulib to exist and to declare e.g., inet_ntop.
54088         Don't include "inet_ntop.h", now removed.
54089
54090         * m4/arpa_inet_h.m4: Remove trailing blanks.
54091
54092 2008-04-29  Eric Blake  <ebb9@byu.net>
54093
54094         Silence valgrind on safe reads beyond potential array bounds.
54095         * lib/rawmemchr.valgrind: New file.
54096         * lib/strchrnul.valgrind: Likewise.
54097         * modules/rawmemchr (Files): Distribute new file.
54098         * modules/strchrnul (Files): Likewise.
54099         Suggested by Bruno Haible.
54100
54101 2008-04-29  Bruno Haible  <bruno@clisp.org>
54102
54103         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54104         (inet_ntop, inet_pton): Change portability warning's wording.
54105         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54106         Invoke gl_CHECK_NEXT_HEADERS.
54107         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54108         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54109         set ARPA_INET_H.
54110         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54111         * modules/arpa_inet (Description): No longer only for systems that
54112         lack it.
54113         (Depends-on): Add include_next.
54114         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54115         HAVE_ARPA_INET_H.
54116
54117 2008-04-29  Jim Meyering  <meyering@redhat.com>
54118
54119         * modules/mkdir (License): Re-license as LGPLv2+.
54120
54121 2008-04-29  Bruno Haible  <bruno@clisp.org>
54122
54123         * modules/rawmemchr (Maintainer): Set to Eric.
54124         * modules/strchrnul (Maintainer): Likewise.
54125
54126 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54127
54128         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54129         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54130
54131         * modules/arpa_inet (arpa/inet.h): Use them.
54132
54133 2008-04-28  Eric Blake  <ebb9@byu.net>
54134
54135         Test getndelim2.
54136         * modules/getndelim2-tests: New file.
54137         * tests/test-getndelim2.c: Likewise.
54138         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54139         stream.
54140         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54141
54142         * MODULES.html.sh: Document new module.
54143
54144 2008-04-20  Bruno Haible  <bruno@clisp.org>
54145
54146         * lib/c-stack.c (die): Use raise.
54147         * modules/c-stack (Depends-on): Add raise.
54148
54149 2008-04-28  Bruno Haible  <bruno@clisp.org>
54150
54151         Expect rpmatch to be declared.
54152         * lib/yesno.c (rpmatch): Remove declaration.
54153
54154         Declare rpmatch.
54155         * lib/stdlib.in.h (rpmatch): New declaration.
54156         * lib/rpmatch.c: Include <stdlib.h> first.
54157         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54158         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54160         HAVE_RPMATCH.
54161         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54162         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54163         (Include): Set to <stdlib.h>.
54164         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54165         HAVE_RPMATCH.
54166         * NEWS: Document the change.
54167
54168 2008-04-28  Bruno Haible  <bruno@clisp.org>
54169
54170         Change rpmatch to use nl_langinfo when appropriate.
54171         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54172         (N_): New macro.
54173         (localized_pattern): New function/macro.
54174         (try): Remove match, nomatch arguments. Copy the pattern into safe
54175         memory before caching it.
54176         (rpmatch): Use localized_pattern. Add translator comments.
54177         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54178         Suggested by Eric Blake.
54179         * modules/rpmatch (Depends-on): Add stdbool.
54180
54181 2008-04-28  Eric Blake  <ebb9@byu.net>
54182
54183         Add rawmemchr module, matching glibc.
54184         * modules/string (Makefile.am): New indicator.
54185         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54186         * lib/string.in.h (rawmemchr): Declare when appropriate.
54187         * modules/rawmemchr: New file.
54188         * m4/rawmemchr.m4: Likewise.
54189         * lib/rawmemchr.c: Likewise.
54190         * modules/rawmemchr-tests: Likewise.
54191         * tests/test-rawmemchr.c: Likewise.
54192         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54193         module.
54194         * modules/strchrnul (Depends-on): Add rawmemchr.
54195         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54196
54197         Whitespace cleanup.
54198         * tests/test-strchrnul.c: Reindent.
54199         * lib/strchrnul.c: Likewise.
54200
54201         Optimize and test strchrnul.
54202         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54203         * modules/strchrnul-tests: New file.
54204         * tests/test-strchrnul.c: Likewise.
54205
54206         Remove intprops dependency.
54207         * modules/memchr (Depends-on): Remove intprops.
54208         * modules/memrchr (Depends-on): Likewise.
54209         * modules/memchr2 (Depends-on): Likewise.
54210         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54211         * lib/memrchr.c (__memrchr): Likewise.
54212         * lib/memrchr2.c (memchr2): Likewise.
54213         Reported by Simon Josefsson.
54214
54215 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54216
54217         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54218         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54219
54220 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54221
54222         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54223
54224         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54225
54226         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54227
54228         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54229         declarations.
54230         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54231
54232         * m4/inet_pton.m4: Don't check for header files.
54233
54234         * m4/inet_ntop.m4: Don't check for header files.
54235
54236 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54237
54238         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54239         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54240         trigger for cygwin).
54241         Reported by Bruno Haible  <bruno@clisp.org>.
54242
54243 2008-04-28  Bruno Haible  <bruno@clisp.org>
54244
54245         * doc/posix-functions/strdup.texi: Mention mingw problem.
54246
54247 2008-04-27  Bruno Haible  <bruno@clisp.org>
54248
54249         * modules/stat-time-tests (Depends-on): Add sleep.
54250         * tests/test-stat-time.c (force_unlink): New function.
54251         (cleanup): Use it.
54252         (test_mtime): Remove the ctime related tests.
54253         (test_ctime): New function, containing the ctime related tests.
54254         (main): Call test_ctime, except on native Windows platforms.
54255
54256 2008-04-27  Bruno Haible  <bruno@clisp.org>
54257
54258         * lib/rpmatch.c (rpmatch): Add some comments.
54259         Reported by James Youngman <jay@gnu.org>.
54260
54261 2008-04-27  Bruno Haible  <bruno@clisp.org>
54262
54263         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54264         quiet NaNs.
54265
54266 2008-04-27  Bruno Haible  <bruno@clisp.org>
54267
54268         Make test-yesno.sh work on mingw.
54269         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54270         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54271         (main): Set stdin to binary mode.
54272         * modules/yesno-tests (Depends-on): Add binary-io.
54273
54274 2008-04-27  Bruno Haible  <bruno@clisp.org>
54275
54276         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54277         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54278         argument that lie outside the IEEE 854 domain.
54279         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54280         (gl_ISFINITE): Use it.
54281         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54282
54283 2008-04-27  Bruno Haible  <bruno@clisp.org>
54284
54285         Allow local renaming in config.h.
54286         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54287
54288 2008-04-27  Bruno Haible  <bruno@clisp.org>
54289
54290         * lib/memchr.c (__memchr): Change type of 'i'.
54291         * lib/memchr2.c (memchr2): Likewise.
54292
54293 2008-04-26  Eric Blake  <ebb9@byu.net>
54294         and Bruno Haible  <bruno@clisp.org>
54295
54296         Optimize and test memrchr.
54297         * modules/memrchr (Depends-on): Add intprops.
54298         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54299         * modules/memrchr-tests: New file.
54300         * tests/test-memrchr.c: New file.
54301
54302 2008-04-26  Bruno Haible  <bruno@clisp.org>
54303
54304         Add tentative support for DragonFly BSD.
54305         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54306         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54307         fp.
54308         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54309         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54310         * lib/fpurge.c (fpurge): Likewise.
54311         * lib/freadable.c (freaadable): Likewise.
54312         * lib/freadahead.c (freadahead): Likewise.
54313         * lib/freading.c (freading): Likewise.
54314         * lib/freadptr.c (freadptr): Likewise.
54315         * lib/freadseek.c (freadptrinc): Likewise.
54316         * lib/fseeko.c (fseeko): Likewise.
54317         * lib/fseterr.c (fseterr): Likewise.
54318         * lib/fwritable.c (fwritable): Likewise.
54319         * lib/fwriting.c (fwriting): Likewise.
54320
54321 2008-04-26  Bruno Haible  <bruno@clisp.org>
54322
54323         * lib/stdio-impl.h: New file.
54324         * lib/fbufmode.c: Include stdio-impl.h.
54325         (fbufmode): Use fp_, remove redundant #defines.
54326         * lib/fflush.c: Include stdio-impl.h.
54327         (clear_ungetc_buffer): Remove redundant #defines.
54328         * lib/fpurge.c: Include stdio-impl.h.
54329         (fpurge): Remove redundant #defines.
54330         * lib/freadable.c: Include stdio-impl.h.
54331         (freadable): Remove redundant #defines.
54332         * lib/freadahead.c: Include stdio-impl.h.
54333         (freadahead): Remove redundant #defines.
54334         * lib/freading.c: Include stdio-impl.h.
54335         (freading): Remove redundant #defines.
54336         * lib/freadptr.c: Include stdio-impl.h.
54337         (freadptr): Remove redundant #defines.
54338         * lib/freadseek.c: Include stdio-impl.h.
54339         (freadptrinc): Remove redundant #defines.
54340         * lib/fseeko.c: Include stdio-impl.h.
54341         (rpl_fseeko): Remove redundant #defines.
54342         * lib/fseterr.c: Include stdio-impl.h.
54343         (fseterr): Remove redundant #defines.
54344         * lib/fwritable.c: Include stdio-impl.h.
54345         (fwritable: Remove redundant #defines.
54346         * lib/fwriting.c: Include stdio-impl.h.
54347         (fwriting): Remove redundant #defines.
54348         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54349         * modules/fflush (Files): Likewise.
54350         * modules/fpurge (Files): Likewise.
54351         * modules/freadable (Files): Likewise.
54352         * modules/freadahead (Files): Likewise.
54353         * modules/freading (Files): Likewise.
54354         * modules/freadptr (Files): Likewise.
54355         * modules/freadseek (Files): Likewise.
54356         * modules/fseeko (Files): Likewise.
54357         * modules/fseterr (Files): Likewise.
54358         * modules/fwritable (Files): Likewise.
54359         * modules/fwriting (Files): Likewise.
54360
54361 2008-04-26  Bruno Haible  <bruno@clisp.org>
54362
54363         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54364         restore_seek_optimization, update_fpos_cache): New functions, extracted
54365         from rpl_fflush.
54366         (rpl_fflush): Use them.
54367         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54368         (gl_REPLACE_FFLUSH): Use it.
54369
54370 2008-04-26  Bruno Haible  <bruno@clisp.org>
54371
54372         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54373         on Solaris.
54374         * tests/test-xstrtoimax.sh: Likewise.
54375         * tests/test-xstrtoumax.sh: Likewise.
54376         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54377
54378 2008-04-26  Bruno Haible  <bruno@clisp.org>
54379
54380         * modules/memchr-tests: New file.
54381         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54382
54383 2008-04-26  Eric Blake  <ebb9@byu.net>
54384             Bruno Haible  <bruno@clisp.org>
54385
54386         * lib/memchr.c: Include intprops.h.
54387         (__memchr): Optimize parallel detection of matching bytes. Rename local
54388         variables. Add explanatory comments.
54389
54390 2008-04-26  Bruno Haible  <bruno@clisp.org>
54391
54392         Fix module 'memchr', broken since 2000-10-28.
54393         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54394
54395 2008-04-26  Bruno Haible  <bruno@clisp.org>
54396
54397         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54398         comments.
54399
54400 2008-04-25  Eric Blake  <ebb9@byu.net>
54401
54402         Use native fstatat on cygwin 1.7.0.
54403         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54404         first.
54405
54406 2008-04-23  Eric Blake  <ebb9@byu.net>
54407
54408         Improve memchr2 performance.
54409         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54410         NUL bytes.
54411         * modules/memchr2 (Depends-on): Use intprops.h.
54412
54413 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54414
54415         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54416         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54417         <blp@cs.stanford.edu>.
54418
54419 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54420
54421         * lib/arpa_inet.in.h: New file.
54422
54423         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54424         (Makefile.am): Sed in substitute header file.
54425
54426         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54427         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54428
54429         * modules/inet_ntop (configure.ac): Use
54430         gl_ARPA_INET_MODULE_INDICATOR.
54431
54432         * modules/inet_pton (configure.ac): Use
54433         gl_ARPA_INET_MODULE_INDICATOR.
54434
54435 2008-04-22  Jim Meyering  <meyering@redhat.com>
54436
54437         * modules/verify (License): Re-license as LGPLv2+.
54438
54439 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54440
54441         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54442         parameter to void* as per POSIX standard (MinGW uses char*).
54443
54444 2008-04-21  Bruno Haible  <bruno@clisp.org>
54445
54446         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54447         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54448         Define to replacements if REPLACE_ISWCNTRL is 1.
54449         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54450         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54451         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54452         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54453         what it fixes.
54454         * doc/posix-functions/iswalpha.texi: Likewise.
54455         * doc/posix-functions/iswblank.texi: Likewise.
54456         * doc/posix-functions/iswcntrl.texi: Likewise.
54457         * doc/posix-functions/iswdigit.texi: Likewise.
54458         * doc/posix-functions/iswgraph.texi: Likewise.
54459         * doc/posix-functions/iswlower.texi: Likewise.
54460         * doc/posix-functions/iswprint.texi: Likewise.
54461         * doc/posix-functions/iswpunct.texi: Likewise.
54462         * doc/posix-functions/iswspace.texi: Likewise.
54463         * doc/posix-functions/iswupper.texi: Likewise.
54464         * doc/posix-functions/iswxdigit.texi: Likewise.
54465         Reported by Alain Guibert.
54466
54467 2008-04-21  Bruno Haible  <bruno@clisp.org>
54468
54469         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54470         Patch by Alain Guibert.
54471
54472 2008-04-21  Bruno Haible  <bruno@clisp.org>
54473
54474         Fix test failures on mingw.
54475         * tests/test-xstrtol.c (print_no_progname): New function.
54476         (main): Install it in error_print_progname hook.
54477         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54478         * tests/test-xstrtoimax.sh: Likewise.
54479         * tests/test-xstrtoumax.sh: Likewise.
54480
54481 2008-04-21  Bruno Haible  <bruno@clisp.org>
54482
54483         Fix test failure on mingw.
54484         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54485
54486 2008-04-21  Bruno Haible  <bruno@clisp.org>
54487
54488         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54489         Actually assign a value.
54490
54491 2008-04-20  Bruno Haible  <bruno@clisp.org>
54492
54493         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54494         take 2.
54495         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54496         'canonicalize-lgpl' module is also used.
54497         * lib/canonicalize-lgpl.c: Undo last change.
54498         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54499
54500 2008-04-20  Bruno Haible  <bruno@clisp.org>
54501
54502         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54503         config.h. Provide _mkdir based fallback for mingw.
54504         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54505         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54506         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54507         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54508         rather than defining mkdir in config.h.
54509         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54510         (gl_SYS_STAT_H_DEFAULTS): New macro.
54511         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54512         HAVE_IO_H any more.
54513         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54514         HAVE_DECL_MKDIR and HAVE_IO_H.
54515
54516 2008-04-20  Bruno Haible  <bruno@clisp.org>
54517
54518         * lib/isapipe.c: Port to native Windows platforms.
54519
54520 2008-04-20  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54523
54524 2008-04-21  Eric Blake  <ebb9@byu.net>
54525
54526         Work around preprocessors that don't handle UINTMAX_MAX.
54527         * lib/memchr2.c (memchr2): Avoid embedded #if.
54528         Reported by Alain Guibert, fix suggested by Bruno Haible.
54529
54530 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54531
54532         * doc/posix-functions/strftime.texi (strftime): Explain better
54533         Windows incompatibility.  Suggested by Micah Cowan
54534         <micah@cowan.name>.
54535
54536 2008-04-20  Bruno Haible  <bruno@clisp.org>
54537
54538         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54539         unistr/u8-mblen.
54540
54541 2008-04-20  Bruno Haible  <bruno@clisp.org>
54542
54543         Fix test failure on platforms with non-GNU iconv.
54544         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54545         (U_TO_U8): Use it, rather than u16_to_u8.
54546         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54547         units at the end of the input string.
54548         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54549
54550 2008-04-20  Bruno Haible  <bruno@clisp.org>
54551
54552         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54553         when the resulting length is 0.
54554         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54555
54556 2008-04-20  Bruno Haible  <bruno@clisp.org>
54557
54558         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54559         works.
54560         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54561
54562 2008-04-20  Bruno Haible  <bruno@clisp.org>
54563
54564         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54565         * modules/tsearch-tests (configure.ac): Test for initstate function.
54566
54567 2008-04-20  Bruno Haible  <bruno@clisp.org>
54568
54569         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54570         for nlink_t if missing.
54571         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54572
54573 2008-04-19  Bruno Haible  <bruno@clisp.org>
54574
54575         Work around snprintf bug on Linux libc5.
54576         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54577         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54578         gl_SNPRINTF_SIZE1.
54579         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54580         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54581         that test failed.
54582         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54583         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54584         * modules/snprintf (Files): Add m4/printf.m4.
54585         * modules/vsnprintf (Files): Likewise.
54586         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54587         * doc/posix-functions/vsnprintf.texi: Likewise.
54588
54589 2008-04-19  Bruno Haible  <bruno@clisp.org>
54590
54591         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54592         from 0.0058 to less than 10^-7.
54593
54594 2008-04-19  Bruno Haible  <bruno@clisp.org>
54595
54596         Fix rounding when a precision is given.
54597         * lib/vasnprintf.c (is_borderline): New function.
54598         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54599         9...9x.
54600         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54601         %e, %g.
54602         * tests/test-vasprintf-posix.c (test_function): Likewise.
54603         * tests/test-snprintf-posix.h (test_function): Likewise.
54604         * tests/test-sprintf-posix.h (test_function): Likewise.
54605         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54606         * tests/test-printf-posix.h (test_function): Likewise.
54607         * tests/test-printf-posix.output: Update.
54608         Reported by John Darrington <john@darrington.wattle.id.au> via
54609         Ben Pfaff <blp@cs.stanford.edu>.
54610
54611 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54612
54613         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54614         Suggested by Bruno Haible <bruno@clisp.org>.
54615
54616 2008-04-17  Bruno Haible  <bruno@clisp.org>
54617
54618         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54619         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54620         implementation.
54621         Patch by Bruce Merry <bmerry@gmail.com>.
54622
54623 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54624
54625         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54626         doesn't work under Windows.
54627
54628 2008-04-16  Bruno Haible  <bruno@clisp.org>
54629
54630         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54631         New macros.
54632         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54633         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54634         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54635         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54636         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54637         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54638         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54639         macros.
54640         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54641         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54642         Northern Sotho, Uighur.
54643
54644 2008-04-16  Bruno Haible  <bruno@clisp.org>
54645
54646         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54647         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54648         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54649         Reported by Daniel Bergström <daniel@octocode.com>.
54650
54651 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54652             Bruno Haible  <bruno@clisp.org>
54653
54654         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54655         function.
54656         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54657         New functions, mostly extracted from gl_locale_name_default.
54658         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54659
54660 2008-04-16  Eric Blake  <ebb9@byu.net>
54661
54662         Adjust strtod detection to catch glibc 2.7 bug.
54663         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54664         Reported by John Gatewood Ham.
54665
54666 2008-04-16  Bruno Haible  <bruno@clisp.org>
54667
54668         Add tentative support for Linux libc5.
54669         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54670         * lib/fpurge.c (fpurge): Likewise.
54671         * lib/freadable.c (freadable): Likewise.
54672         * lib/freadahead.c (freadahead): Likewise.
54673         * lib/freading.c (freading): Likewise.
54674         * lib/freadptr.c (freadptr): Likewise.
54675         * lib/freadseek.c (freadptrinc): Likewise.
54676         * lib/fseeko.c (rpl_fseeko): Likewise.
54677         * lib/fseterr.c (fseterr): Likewise.
54678         * lib/fwritable.c (fwritable): Likewise.
54679         * lib/fwriting.c (fwriting): Likewise.
54680         Reported by Alain Guibert <alguibert+bts@free.fr>.
54681
54682 2008-04-15  Bruno Haible  <bruno@clisp.org>
54683
54684         * modules/mathl (configure.ac): Define module indicator.
54685
54686 2008-04-15  Bruno Haible  <bruno@clisp.org>
54687
54688         * lib/logl.c (logl): Remove unused variables.
54689
54690 2008-04-15  Bruno Haible  <bruno@clisp.org>
54691
54692         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54693         fails.
54694
54695 2008-04-15  Bruno Haible  <bruno@clisp.org>
54696
54697         * lib/trim.c (trim2): Fix argument of isspace() macro.
54698
54699 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54700
54701         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54702         to 0.
54703         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54704
54705 2008-04-14  Bruno Haible  <bruno@clisp.org>
54706
54707         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54708         AC_LANG_PROGRAM argument.
54709         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54710         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54711         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54712         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54713         * m4/math_h.m4 (gl_MATH_H): Likewise.
54714         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54715         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54716         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54717         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54718         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54719         * m4/regex.m4 (gl_REGEX): Likewise.
54720         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54721         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54722         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54723         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54724         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54725         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54726         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54727         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54728
54729 2008-04-14  Jim Meyering  <meyering@redhat.com>
54730
54731         test-strtod: fix typos: s/abs/fabs/
54732         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54733
54734 2008-04-13  Bruno Haible  <bruno@clisp.org>
54735
54736         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54737         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54738         module is also used and while not building the reloc-wrapper.
54739
54740 2008-04-13  Bruno Haible  <bruno@clisp.org>
54741
54742         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54743
54744 2008-04-13  Bruno Haible  <bruno@clisp.org>
54745
54746         Fix AIX compilation failure introduced on 2008-04-02.
54747         * tests/test-frexp.c (exp): Undefine before redefining.
54748         * tests/test-frexpl.c (exp): Likewise.
54749
54750 2008-04-13  Bruno Haible  <bruno@clisp.org>
54751
54752         Work around a HP-UX stdio bug.
54753         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54754         * tests/test-ftello.c (main): Likewise.
54755         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54756         * doc/posix-functions/ftello.texi: Likewise.
54757
54758 2008-04-13  Bruno Haible  <bruno@clisp.org>
54759
54760         Make test-signbit pass on HP-UX/hppa.
54761         * tests/test-signbit.c (minus_zerol): New variable.
54762         (test_signbitl): Use it.
54763
54764 2008-04-13  Bruno Haible  <bruno@clisp.org>
54765
54766         Make truncl work on OSF/1 4.0.
54767         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54768         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54769         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54771         HAVE_DECL_TRUNCL.
54772         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54773         HAVE_DECL_TRUNCL.
54774         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54775
54776 2008-04-13  Bruno Haible  <bruno@clisp.org>
54777
54778         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54779
54780 2008-04-13  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54783         expression, so as to avoid HP-UX 11 cc compiler bug.
54784
54785 2008-04-13  Bruno Haible  <bruno@clisp.org>
54786
54787         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54788
54789 2008-04-13  Bruno Haible  <bruno@clisp.org>
54790
54791         * lib/git-merge-changelog.c: Remove empty declaration outside of
54792         functions.
54793
54794 2008-04-13  Bruno Haible  <bruno@clisp.org>
54795
54796         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54797
54798 2008-04-13  Bruno Haible  <bruno@clisp.org>
54799
54800         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54801         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54802         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54803         also if it exists but lacks definitions of the SHUT_* macros.
54804         * modules/sys_socket (Description): Update.
54805         Reported by Elbert Pol <e.pol@chello.nl>.
54806
54807 2008-04-13  Bruno Haible  <bruno@clisp.org>
54808
54809         * lib/localcharset.c (OS2): Don't redefine if already defined.
54810         Reported by Elbert Pol <e.pol@chello.nl>.
54811
54812 2008-04-13  Bruno Haible  <bruno@clisp.org>
54813
54814         * lib/binary-io.h [__EMX__]: Include <io.h>.
54815         Reported by Elbert Pol <e.pol@chello.nl>.
54816
54817 2008-04-12  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/fpucw.h: Enable the definitions also for x86_64.
54820         Needed for NetBSD/x86_64.
54821         Reported by Thomas Klausner <tk@giga.or.at>.
54822
54823 2008-04-12  Bruno Haible  <bruno@clisp.org>
54824
54825         * tests/test-strtod.c: Include isnand.h.
54826         (main): Use isnand instead of isnan.
54827         Reported by Jim Meyering.
54828
54829 2008-04-12  Bruno Haible  <bruno@clisp.org>
54830
54831         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54832         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54833
54834 2008-04-12  Jim Meyering  <meyering@redhat.com>
54835
54836         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54837
54838 2008-04-12  Bruno Haible  <bruno@clisp.org>
54839
54840         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54841         Reported by Elbert Pol <e.pol@chello.nl>.
54842
54843 2008-04-12  Eric Blake  <ebb9@byu.net>
54844
54845         Work around Solaris 10 math.h bug.
54846         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54847         (gl_MATH_H_DEFAULTS): Set up default.
54848         * modules/math (Makefile.am): Replace new indicators.
54849         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54850         * tests/test-math.c (main): Test this.
54851         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54852         * doc/posix-headers/math.texi (math.h): Mention bug.
54853         Reported by Nelson H. F. Beebe and Jim Meyering.
54854
54855 2008-04-11  Bruno Haible  <bruno@clisp.org>
54856
54857         Adapt to future versions of Apple GCC.
54858         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54859         Reported by Peter O'Gorman <peter@pogma.com>.
54860
54861 2008-04-11  Bruno Haible  <bruno@clisp.org>
54862
54863         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54864
54865 2008-04-11  Bruno Haible  <bruno@clisp.org>
54866
54867         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54868
54869         * modules/getaddrinfo-tests (Makefile.am): Define
54870         test_getaddrinfo_LDADD.
54871
54872 2008-04-11  Bruno Haible  <bruno@clisp.org>
54873
54874         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54875         (init): Fix syntax error.
54876         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54877         is declared.
54878
54879 2008-04-11  Bruno Haible  <bruno@clisp.org>
54880
54881         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54882         * modules/glob (Depends-on): Add stdbool.
54883
54884 2008-04-11  Bruno Haible  <bruno@clisp.org>
54885
54886         * lib/trim.c: Include <string.h>.
54887
54888 2008-04-11  Eric Blake  <ebb9@byu.net>
54889
54890         Avoid compile failure on OS/2.
54891         * lib/regex_internal.h (internal_function): Disable optimization
54892         on OS/2 (__EMX__), where it caused compiler error.
54893         Reported by Elbert Pol.
54894
54895 2008-04-11  Bruno Haible  <bruno@clisp.org>
54896
54897         Flush the standard error stream before aborting. Needed on mingw.
54898         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54899         * tests/test-array_list.c (ASSERT): Likewise.
54900         * tests/test-array_oset.c (ASSERT): Likewise.
54901         * tests/test-avltree_list.c (ASSERT): Likewise.
54902         * tests/test-avltree_oset.c (ASSERT): Likewise.
54903         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54904         * tests/test-binary-io.c (ASSERT): Likewise.
54905         * tests/test-byteswap.c (ASSERT): Likewise.
54906         * tests/test-c-ctype.c (ASSERT): Likewise.
54907         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54908         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54909         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54910         * tests/test-c-strstr.c (ASSERT): Likewise.
54911         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54912         * tests/test-canonicalize.c (ASSERT): Likewise.
54913         * tests/test-carray_list.c (ASSERT): Likewise.
54914         * tests/test-ceilf1.c (ASSERT): Likewise.
54915         * tests/test-ceilf2.c (ASSERT): Likewise.
54916         * tests/test-ceill.c (ASSERT): Likewise.
54917         * tests/test-count-one-bits.c (ASSERT): Likewise.
54918         * tests/test-fbufmode.c (ASSERT): Likewise.
54919         * tests/test-fflush2.c (ASSERT): Likewise.
54920         * tests/test-floorf1.c (ASSERT): Likewise.
54921         * tests/test-floorf2.c (ASSERT): Likewise.
54922         * tests/test-floorl.c (ASSERT): Likewise.
54923         * tests/test-fopen.c (ASSERT): Likewise.
54924         * tests/test-fpending.c (ASSERT): Likewise.
54925         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54926         * tests/test-fpurge.c (ASSERT): Likewise.
54927         * tests/test-freadable.c (ASSERT): Likewise.
54928         * tests/test-freadahead.c (ASSERT): Likewise.
54929         * tests/test-freading.c (ASSERT): Likewise.
54930         * tests/test-freadptr.c (ASSERT): Likewise.
54931         * tests/test-freadptr2.c (ASSERT): Likewise.
54932         * tests/test-freadseek.c (ASSERT): Likewise.
54933         * tests/test-freopen.c (ASSERT): Likewise.
54934         * tests/test-frexp.c (ASSERT): Likewise.
54935         * tests/test-frexpl.c (ASSERT): Likewise.
54936         * tests/test-fseek.c (ASSERT): Likewise.
54937         * tests/test-fseeko.c (ASSERT): Likewise.
54938         * tests/test-fstrcmp.c (ASSERT): Likewise.
54939         * tests/test-ftell.c (ASSERT): Likewise.
54940         * tests/test-ftello.c (ASSERT): Likewise.
54941         * tests/test-func.c (ASSERT): Likewise.
54942         * tests/test-fwritable.c (ASSERT): Likewise.
54943         * tests/test-fwriting.c (ASSERT): Likewise.
54944         * tests/test-getdelim.c (ASSERT): Likewise.
54945         * tests/test-getline.c (ASSERT): Likewise.
54946         * tests/test-i-ring.c (ASSERT): Likewise.
54947         * tests/test-iconv-utf.c (ASSERT): Likewise.
54948         * tests/test-iconv.c (ASSERT): Likewise.
54949         * tests/test-isfinite.c (ASSERT): Likewise.
54950         * tests/test-isnand.c (ASSERT): Likewise.
54951         * tests/test-isnanf.c (ASSERT): Likewise.
54952         * tests/test-isnanl.h (ASSERT): Likewise.
54953         * tests/test-ldexpl.c (ASSERT): Likewise.
54954         * tests/test-linked_list.c (ASSERT): Likewise.
54955         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54956         * tests/test-localename.c (ASSERT): Likewise.
54957         * tests/test-lseek.c (ASSERT): Likewise.
54958         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54959         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54960         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54961         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54962         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54963         * tests/test-mbschr.c (ASSERT): Likewise.
54964         * tests/test-mbscspn.c (ASSERT): Likewise.
54965         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54966         * tests/test-mbspbrk.c (ASSERT): Likewise.
54967         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54968         * tests/test-mbsrchr.c (ASSERT): Likewise.
54969         * tests/test-mbsspn.c (ASSERT): Likewise.
54970         * tests/test-mbsstr1.c (ASSERT): Likewise.
54971         * tests/test-mbsstr2.c (ASSERT): Likewise.
54972         * tests/test-mbsstr3.c (ASSERT): Likewise.
54973         * tests/test-memchr2.c (ASSERT): Likewise.
54974         * tests/test-memmem.c (ASSERT): Likewise.
54975         * tests/test-open.c (ASSERT): Likewise.
54976         * tests/test-printf-frexp.c (ASSERT): Likewise.
54977         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54978         * tests/test-printf-posix.c (ASSERT): Likewise.
54979         * tests/test-quotearg.c (ASSERT): Likewise.
54980         * tests/test-rbtree_list.c (ASSERT): Likewise.
54981         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54982         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54983         * tests/test-round1.c (ASSERT): Likewise.
54984         * tests/test-roundf1.c (ASSERT): Likewise.
54985         * tests/test-roundl.c (ASSERT): Likewise.
54986         * tests/test-signbit.c (ASSERT): Likewise.
54987         * tests/test-sleep.c (ASSERT): Likewise.
54988         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54989         * tests/test-snprintf.c (ASSERT): Likewise.
54990         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54991         * tests/test-stat-time.c (ASSERT): Likewise.
54992         * tests/test-strcasestr.c (ASSERT): Likewise.
54993         * tests/test-strerror.c (ASSERT): Likewise.
54994         * tests/test-striconv.c (ASSERT): Likewise.
54995         * tests/test-striconveh.c (ASSERT): Likewise.
54996         * tests/test-striconveha.c (ASSERT): Likewise.
54997         * tests/test-strsignal.c (ASSERT): Likewise.
54998         * tests/test-strstr.c (ASSERT): Likewise.
54999         * tests/test-strtod.c (ASSERT): Likewise.
55000         * tests/test-trunc1.c (ASSERT): Likewise.
55001         * tests/test-trunc2.c (ASSERT): Likewise.
55002         * tests/test-truncf1.c (ASSERT): Likewise.
55003         * tests/test-truncf2.c (ASSERT): Likewise.
55004         * tests/test-truncl.c (ASSERT): Likewise.
55005         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55006         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55007         * tests/test-vasnprintf.c (ASSERT): Likewise.
55008         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55009         * tests/test-vasprintf.c (ASSERT): Likewise.
55010         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55011         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55012         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55013         * tests/test-vsnprintf.c (ASSERT): Likewise.
55014         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55015         * tests/test-wcwidth.c (ASSERT): Likewise.
55016         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55017         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55018         * tests/test-xvasprintf.c (ASSERT): Likewise.
55019         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55020         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55021         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55022         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55023         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55024         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55025         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55026         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55027         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55028         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55029         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55030         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55031         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55032         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55033         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55034         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55035         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55036         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55037         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55038         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55039         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55040         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55041         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55042         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55043         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55044         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55045         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55046         * tests/unictype/test-combining.c (ASSERT): Likewise.
55047         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55048         * tests/unictype/test-digit.c (ASSERT): Likewise.
55049         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55050         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55051         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55052         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55053         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55054         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55055         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55056         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55057         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55058         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55059         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55060         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55061         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55062         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55063         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55064         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55065         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55066         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55067         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55068         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55069         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55070         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55071         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55072         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55073         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55074         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55075         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55076         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55077         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55078         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55079         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55080         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55081         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55082         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55083         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55084         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55085         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55086         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55087         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55088         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55089         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55090         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55091         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55092         Reported by Eric Blake.
55093
55094 2008-04-11  Bruno Haible  <bruno@clisp.org>
55095
55096         * lib/wchar.in.h: Tweak comment.
55097
55098 2008-04-11  Bruno Haible  <bruno@clisp.org>
55099
55100         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55101         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55102         gl_COMMON.
55103         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55104
55105 2008-04-11  Bruno Haible  <bruno@clisp.org>
55106
55107         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55108
55109 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55110
55111         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55112         of attempting to use non-existing /dev/*random.  Based on patch
55113         from Adam Strzelecki <ono@java.pl> in
55114         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55115
55116 2008-04-08  Bruno Haible  <bruno@clisp.org>
55117
55118         Add tentative support for emx+gcc.
55119         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55120         * lib/fpurge.c (fpurge): Likewise.
55121         * lib/freadable.c (freadable): Likewise.
55122         * lib/freadahead.c (freadahead): Likewise.
55123         * lib/freading.c (freading): Likewise.
55124         * lib/freadptr.c (freadptr): Likewise.
55125         * lib/freadseek.c (freadptrinc): Likewise.
55126         * lib/fseeko.c (rpl_fseeko): Likewise.
55127         * lib/fseterr.c (fseterr): Likewise.
55128         * lib/fwritable.c (fwritable): Likewise.
55129         * lib/fwriting.c (fwriting): Likewise.
55130         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55131
55132 2008-04-09  Eric Blake  <ebb9@byu.net>
55133
55134         Avoid some autoconf warnings.
55135         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55136         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55137         * m4/afs.m4 (gl_AFS): Likewise.
55138         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55139         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55140         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55141         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55142         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55143         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55144         (AC_CHECK_DECLS_ONCE): Likewise.
55145         Rename file...
55146         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55147         gnulib-tool requires autoconf 2.59 or better.
55148         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55149
55150 2008-04-08  Eric Blake  <ebb9@byu.net>
55151
55152         Use 'git describe --match' if present (added in git 1.5.5).
55153         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55154         if possible.
55155
55156 2008-04-08  Bruno Haible  <bruno@clisp.org>
55157
55158         Add tentative support for OpenServer.
55159         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55160         _ptr, _cnt.
55161         * lib/fpurge.c (fpurge): Likewise.
55162         * lib/freadable.c (freadable): Likewise.
55163         * lib/freadahead.c (freadahead): Likewise.
55164         * lib/freading.c (freading): Likewise.
55165         * lib/freadptr.c (freadptr): Likewise.
55166         * lib/freadseek.c (freadptrinc): Likewise.
55167         * lib/fseeko.c (rpl_fseeko): Likewise.
55168         * lib/fseterr.c (fseterr): Likewise.
55169         * lib/fwritable.c (fwritable): Likewise.
55170         * lib/fwriting.c (fwriting): Likewise.
55171         Reported by Roger Cornelius <rac@tenzing.org> and
55172         Brian K. White <brian@aljex.com>.
55173
55174 2008-04-06  Jim Meyering  <meyering@redhat.com>
55175
55176         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55177
55178 2008-04-06  Bruno Haible  <bruno@clisp.org>
55179
55180         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55181         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55182         * tests/test-printf-posix.sh: Likewise.
55183         * tests/test-vfprintf-posix.sh: Likewise.
55184         * tests/test-vprintf-posix.sh: Likewise.
55185         * tests/test-xprintf-posix.sh: Likewise.
55186
55187 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55188
55189         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55190         hide error from 'ls', needed on OS/2.
55191         Report by Elbert Pol <elbert.pol@gmail.com>.
55192
55193 2008-04-04  Eric Blake  <ebb9@byu.net>
55194
55195         Make test-fseeko.c failures meaningful.
55196         * tests/test-fseeko.c: Print line number on failure.
55197         * tests/test-fseek.c: Likewise.
55198         Reported by Nelson H. F. Beebe.
55199
55200         Improve strtod bug detection check.
55201         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55202         required for Solaris 10.
55203         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55204
55205 2008-04-04  Bruno Haible  <bruno@clisp.org>
55206
55207         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55208         by m4/setenv.m4.
55209
55210 2008-04-03  Eric Blake  <ebb9@byu.net>
55211
55212         Ensure sane .version contents.
55213         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55214         version string.
55215         * build-aux/git-version-gen: Improve documentation.
55216
55217         Make GNU make output nicer.
55218         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55219         MAKECMDGOALS to enforce message for all command line targets.  Set
55220         srcdir for use in maint.mk.
55221
55222         Another maintainer tweak.
55223         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55224         a target that regenerates version.
55225
55226 2008-04-03  Jim Meyering  <meyering@redhat.com>
55227
55228         vc-list-files: don't cause coreutils "make po-check" failure
55229         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55230
55231 2008-04-03  Eric Blake  <ebb9@byu.net>
55232
55233         Allow VPATH usage of vc-list-files.
55234         * build-aux/vc-list-files (scriptversion): Add timestamp.
55235         (options): Add --help, --version, -C.
55236         (CVS): Support installed cvsu.
55237
55238 2008-04-02  Bruno Haible  <bruno@clisp.org>
55239
55240         Avoid some "statement with no effect" warnings from gcc.
55241         * tests/test-wctype.c (main): Explicitly ignore unused values.
55242         Reported by Jim Meyering.
55243
55244 2008-04-02  Jim Meyering  <meyering@redhat.com>
55245
55246         Avoid some warnings from "gcc -Wshadow".
55247         * tests/test-frexp.c (exp): Define to a different identifier.
55248         * tests/test-frexpl.c (exp): Likewise.
55249
55250 2008-04-03  Jim Meyering  <meyering@redhat.com>
55251
55252         bootstrap: remove dangling *.[ch] symlinks from lib
55253         * build-aux/bootstrap [dangling symlink removal]: Move find's
55254         -depth option to precede all others, to avoid a warning.
55255         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55256
55257 2008-04-02  Bruno Haible  <bruno@clisp.org>
55258
55259         Avoid some warnings from "gcc -Wshadow".
55260         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55261         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55262         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55263         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55264         Reported by Jim Meyering.
55265
55266 2008-04-01  Bruno Haible  <bruno@clisp.org>
55267
55268         Fix test to work on IRIX 6.5 with cc.
55269         * tests/test-math.c (numeric_equal): New function.
55270         (main): Use it.
55271
55272 2008-04-01  Bruno Haible  <bruno@clisp.org>
55273
55274         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55275
55276 2008-04-01  Bruno Haible  <bruno@clisp.org>
55277
55278         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55279         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55280         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55281         (Depends-on): Remove math.
55282
55283         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55284         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55285         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55286         (Depends-on): Remove math.
55287
55288         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55289         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55290         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55291         (Depends-on): Remove math.
55292         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55293         (Depends-on): Remove math.
55294
55295         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55296         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55297         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55298         (Depends-on): Remove math.
55299         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55300         (Depends-on): Remove math.
55301
55302         * tests/test-round1.c: Include nan.h.
55303         (main): Use NaNd instead of NAN.
55304         * modules/round-tests (Files): Add tests/nan.h.
55305
55306         * tests/test-trunc1.c: Include nan.h.
55307         (main): Use NaNd instead of NAN.
55308         * modules/trunc-tests (Files): Add tests/nan.h.
55309
55310         * tests/test-roundf1.c: Include nan.h.
55311         (main): Use NaNf instead of NAN.
55312         * modules/roundf-tests (Files): Add tests/nan.h.
55313
55314         * tests/test-truncf1.c: Include nan.h.
55315         (main): Use NaNf instead of NAN.
55316         * modules/truncf-tests (Files): Add tests/nan.h.
55317
55318         * tests/test-ceilf1.c: Include nan.h.
55319         (main): Use NaNf instead of NAN.
55320         * modules/ceilf-tests (Files): Add tests/nan.h.
55321
55322         * tests/test-floorf1.c: Include nan.h.
55323         (main): Use NaNf instead of NAN.
55324         * modules/floorf-tests (Files): Add tests/nan.h.
55325
55326         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55327         (main): Use NaNf instead of NAN.
55328         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55329
55330         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55331         (main): Use NaNd instead of NAN.
55332         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55333
55334         * tests/test-frexp.c: Include nan.h.
55335         (main): Use NaNd instead of NAN.
55336         * modules/frexp-tests (Files): Add tests/nan.h.
55337
55338         * lib/isnan.c: Don't include <math.h>.
55339         (FUNC): Don't use NAN macro.
55340         * modules/isnand-nolibm (Depends-on): Remove math.
55341         * modules/isnanf-nolibm (Depends-on): Remove math.
55342         * modules/isnanl (Depends-on): Remove math.
55343         * modules/isnanl-nolibm (Depends-on): Remove math.
55344
55345         * tests/nan.h: New file.
55346
55347 2008-04-01  Eric Blake  <ebb9@byu.net>
55348
55349         Fix typos.
55350         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55351         values to be the right type.
55352
55353         For now, cater to gnulib strtod inaccuracies.
55354         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55355         fractional results.  While not as nice from a QoI perspective, it
55356         is a quicker patch than correctly implementing decimal to binary
55357         rounding.
55358
55359 2008-03-31  Eric Blake  <ebb9@byu.net>
55360
55361         Guarantee a definition of NAN.
55362         * lib/math.in.h (NAN): Define if missing.
55363         * tests/test-math.c (main): Test it.
55364         * doc/posix-headers/math.texi (math.h): Document this.
55365         * lib/isnan.c (rpl_isnand): Use it.
55366         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55367         * tests/test-floorf1.c (NaN): Likewise.
55368         * tests/test-frexp.c (NaN): Likewise.
55369         * tests/test-isnand.c (NaN): Likewise.
55370         * tests/test-isnanf.c (NaN): Likewise.
55371         * tests/test-round1.c (NaN): Likewise.
55372         * tests/test-roundf1.c (NaN): Likewise.
55373         * tests/test-snprintf-posix.h (NaN): Likewise.
55374         * tests/test-sprintf-posix.h (NaN): Likewise.
55375         * tests/test-trunc1.c (NaN): Likewise.
55376         * tests/test-truncf1.c (NaN): Likewise.
55377         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55378         * tests/test-vasprintf-posix.c (NaN): Likewise.
55379         * modules/isnand-nolibm (Depends-on): Add math.
55380         * modules/isnanf-nolibm (Depends-on): Likewise.
55381         * modules/isnanl (Depends-on): Likewise.
55382         * modules/isnanl-nolibm (Depends-on): Likewise.
55383         * modules/snprintf-posix-tests (Depends-on): Likewise.
55384         * modules/sprintf-posix-tests (Depends-on): Likewise.
55385         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55386         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55387         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55388         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55389
55390 2008-03-31  Bruno Haible  <bruno@clisp.org>
55391
55392         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55393         * doc/posix-functions/strtod.texi: Likewise.
55394
55395 2008-03-31  Bruno Haible  <bruno@clisp.org>
55396
55397         * tests/test-strtod.c (main): Don't use C99 syntax.
55398
55399 2008-03-31  Bruno Haible  <bruno@clisp.org>
55400
55401         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55402         Reported by Eric Blake.
55403
55404 2008-03-31  Jim Meyering  <meyering@redhat.com>
55405
55406         Don't compare actual signbit return values.
55407         * tests/test-strtod.c (main): Rather, compare only their
55408         zero/non-zero nature.
55409
55410 2008-03-31  Eric Blake  <ebb9@byu.net>
55411
55412         More strtod documentation.
55413         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55414         failures as distinct bugs.
55415
55416 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55417
55418         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55419         Problem reported by Erik Benada in
55420         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55421
55422 2008-03-30  Bruno Haible  <bruno@clisp.org>
55423
55424         * tests/test-strtod.c: Add comments about which assertion fails on which
55425         platform.
55426         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55427
55428 2008-03-30  Eric Blake  <ebb9@byu.net>
55429
55430         Test signbit behavior on zeros.
55431         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55432         (test_signbitd, test_signbitl): Likewise.
55433
55434         More strtod touchups.
55435         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55436         sign of negative underflow, for now.  Use .5, not .1.
55437         * doc/posix-functions/strtod.texi (strtod): Mention these
55438         limitations.
55439         Reported by Jim Meyering.
55440
55441 2008-03-30  Bruno Haible  <bruno@clisp.org>
55442
55443         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55444         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55445
55446 2008-03-30  Bruno Haible  <bruno@clisp.org>
55447
55448         Avoid failure when attempting to return empty iconv results on some
55449         platforms.
55450         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55451         allocation, don't report ENOMEM when the resulting string is empty.
55452
55453 2008-03-30  Bruno Haible  <bruno@clisp.org>
55454
55455         Fix buffer overrun.
55456         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55457         Don't consider the width for tmp_length. Check count against tmp_length
55458         before doing the padding. Ensure enough allocation during padding.
55459
55460 2008-03-30  Eric Blake  <ebb9@byu.net>
55461
55462         strtod touchups.
55463         * lib/strtod.c (strtod): Avoid compiler warnings.
55464         Reported by Jim Meyering.
55465
55466 2008-03-30  Bruno Haible  <bruno@clisp.org>
55467
55468         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55469         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55470         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55471         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55472         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55473         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55474         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55475         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55476
55477         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55478         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55479         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55480         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55481         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55482         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55483         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55484         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55485
55486         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55487         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55488         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55489         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55490         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55491         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55492         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55493         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55494
55495         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55496         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55497
55498         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55499         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55500
55501         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55502         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55503
55504         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55505         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55506         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55507
55508         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55509         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55510         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55511
55512         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55513         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55514         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55515
55516         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55517         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55518         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55519
55520         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55521         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55522         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55523         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55524         (Depends-on): Add EOVERFLOW.
55525         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55526         (Depends-on): Add EOVERFLOW.
55527         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55528         (Depends-on): Add EOVERFLOW.
55529         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55530         (Depends-on): Add EOVERFLOW.
55531         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55532         (Depends-on): Add EOVERFLOW.
55533         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55534         (Depends-on): Add EOVERFLOW.
55535         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55536         (Depends-on): Add EOVERFLOW.
55537         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55538         (Depends-on): Add EOVERFLOW.
55539
55540         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55541         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55542         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55543
55544         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55545         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55546         * modules/snprintf (Depends-on): Add EOVERFLOW.
55547
55548         * lib/poll.c (EOVERFLOW): Remove fallback.
55549         * modules/poll (Depends-on): Add EOVERFLOW.
55550
55551         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55552         * modules/getugroups (Depends-on): Add EOVERFLOW.
55553
55554         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55555         * modules/getdelim (Depends-on): Add EOVERFLOW.
55556
55557         * lib/ftell.c (EOVERFLOW): Remove fallback.
55558         * modules/ftell (Depends-on): Add EOVERFLOW.
55559
55560         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55561         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55562         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55563
55564         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55565
55566         * modules/EOVERFLOW-tests: New file.
55567         * tests/test-EOVERFLOW.c: New file.
55568
55569         * modules/EOVERFLOW: New file.
55570         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55571
55572 2008-03-30  Bruno Haible  <bruno@clisp.org>
55573
55574         Fix bug introduced on 2007-06-10.
55575         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55576         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55577
55578 2008-03-30  Bruno Haible  <bruno@clisp.org>
55579
55580         Improve freadseek's efficiency after ungetc.
55581         * lib/freadseek.c: Include freadahead.h.
55582         (freadptrinc): New function, extracted from freadseek.
55583         (freadseek): Use it in a loop. Use freadahead to determine the number
55584         of loop iterations.
55585         * modules/freadseek (Depends-on): Add freadahead.
55586         (configure.ac): Require AC_C_INLINE.
55587
55588 2008-03-30  Bruno Haible  <bruno@clisp.org>
55589
55590         * lib/freadseek.c (freadseek): Don't ignore the return value of
55591         freadptr.
55592
55593 2008-03-29  Eric Blake  <ebb9@byu.net>
55594
55595         Add hex float support.
55596         * modules/strtod (Depends-on): Add c-ctype.
55597         (Link): Mention POW_LIB.
55598         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55599         whitespace between 'e' and exponent.
55600         * tests/test-strtod.c (main): Enable hex float tests.
55601         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55602         now provides.
55603
55604         Document various strtod bugs, with some fixes.
55605         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55606         "-0x", "inf", "nan", and hex constants.
55607         * doc/posix-functions/atof.texi (atof): Likewise.
55608         * modules/stdlib (Makefile.am): Support strtod.
55609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55610         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55611         detect additional strtod bugs.
55612         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55613         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55614         bool where appropriate.  Parse 'inf' and 'nan'.
55615         * tests/test-strtod.c: New file.
55616         * modules/strtod (Depends-on): Add stdbool, stdlib.
55617         (configure.ac): Turn on module indicator.
55618         * modules/strtod-tests: New module.
55619
55620 2008-03-29  Eric Blake  <ebb9@byu.net>
55621
55622         Fix ftell on mingw.
55623         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55624         * modules/ftell-tests (Depends-on): Add binary-io.
55625         * modules/ftello-tests (Depends-on): Likewise.
55626         * tests/test-ftell.c (main): Enhance test to cover behavior after
55627         ungetc.  Enforce binary mode.
55628         * tests/test-ftello.c (main): Likewise.
55629
55630         Pass test-freadseek on cygwin.
55631         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55632         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55633         ungetc buffer.
55634
55635         * tests/test-fflush2.c (main): Fix typo.
55636
55637 2008-03-29  Bruno Haible  <bruno@clisp.org>
55638
55639         * tests/test-fflush2.c (main): Temporarily disable the contents of
55640         this test.
55641         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55642         Reported by Eric Blake.
55643
55644 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55645
55646         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55647         (GC_SHA224_DIGEST_SIZE): Add.
55648
55649         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55650         (gc_hash_digest_length): Likewise.
55651         (gc_hash_buffer): Likewise.
55652
55653 2008-03-25  Bruno Haible  <bruno@clisp.org>
55654
55655         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55656         detail which gettext release to use.
55657         Reported by Simon Josefsson.
55658
55659 2008-03-26  Jim Meyering  <meyering@redhat.com>
55660
55661         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55662         * modules/gnumakefile (clean-GNUmakefile): Also, use
55663         test ... && ... || : syntax rather than if-then ... fi.
55664
55665         gnumakefile: Don't double-quote-expand $(VPATH) value.
55666         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55667
55668 2008-03-24  Eric Blake  <ebb9@byu.net>
55669
55670         Alter GNUmakefile to install into top directory.
55671         * modules/maintainer-makefile: Split, and add dependency...
55672         * modules/gnumakefile: to this new module.
55673         * build-aux/GNUmakefile: Move...
55674         * top/GNUmakefile: ...here.
55675         * build-aux/maint.mk: Move...
55676         * top/maint.mk: ...here.
55677         * MODULES.html.sh (Support for maintaining...): Document new
55678         module.
55679
55680 2008-03-23  Bruno Haible  <bruno@clisp.org>
55681
55682         * gnulib-tool: New options --vc-files, --no-vc-files.
55683         (func_usage): Document them.
55684         (vc_files): New variable.
55685         (func_import): Consider vc_files.
55686         (func_create_testdir): Set vc_files to empty.
55687         Suggested by Jim Meyering and Karl Berry.
55688
55689 2008-03-23  Bruno Haible  <bruno@clisp.org>
55690
55691         Fix regex compilation error on HP-UX 11.
55692         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55693         * modules/regex (Files): Add m4/mbstate_t.m4.
55694         Reported by Ton Voon <ton.voon@altinity.com>.
55695
55696 2008-03-23  Bruno Haible  <bruno@clisp.org>
55697
55698         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55699
55700 2008-03-23  Eric Blake  <ebb9@byu.net>
55701             Bruno Haible  <bruno@clisp.org>
55702
55703         Install files from top/ in the destination directory.
55704         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55705         augmentation also for the files from top/.
55706         (func_import, func_create_testdir): Rewrite file names:
55707         top/filename -> filename.
55708
55709 2008-03-23  Bruno Haible  <bruno@clisp.org>
55710
55711         Tweak "gnulib --version" output.
55712         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55713
55714 2008-03-23  Bruno Haible  <bruno@clisp.org>
55715
55716         Tweak "gnulib --version" output.
55717         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55718         rather than contents of ChangeLog, when possible.
55719
55720 2008-03-21  Eric Blake  <ebb9@byu.net>
55721
55722         More --version tweaks.
55723         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55724         date of last ChangeLog entry.
55725
55726 2008-03-21  Jim Meyering  <meyering@redhat.com>
55727
55728         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55729
55730 2008-03-20  Eric Blake  <ebb9@byu.net>
55731
55732         VPATH fix.
55733         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55734
55735 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55736
55737         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55738         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55739
55740 2008-03-20  Eric Blake  <ebb9@byu.net>
55741
55742         Sync GNUmakefile with coreutils.
55743         * build-aux/GNUmakefile (have-Makefile): Rename...
55744         (_have-Makefile): ...to this, for namespace consideration.
55745         (GNUmakefile.cfg): Include, if present.
55746         (_autoreconf): Define a default.
55747         (_is-dist-target): New rule for rebuilds to pick up intra-release
55748         version.
55749         (maint-cfg.mk): Rename...
55750         (cfg.mk): ...to this.
55751
55752 2008-03-18  Jim Meyering  <meyering@redhat.com>
55753
55754         New script and module: mktempd
55755         * MODULES.html.sh (maint+release support): Add mktempd.
55756         * build-aux/mktempd: New file.
55757         * modules/mktempd: New file.
55758
55759 2008-03-15  Jim Meyering  <meyering@redhat.com>
55760
55761         Undo last change.
55762         * lib/sha1.c, lib/md5.c: 63 != ~63.
55763         Reported by Andreas Schwab.
55764
55765         sha1.c, md5.c: Hoist a redundant expression.
55766         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55767         "ctx->buflen" only once, before calling *_process_block.
55768         * lib/md5.c (md5_process_bytes): Likewise.
55769
55770 2008-03-14  Eric Blake  <ebb9@byu.net>
55771
55772         Bump copyright year in files generated by gnulib-tool.
55773         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55774         gnulib-tool, rather than hard-coding it.
55775
55776         Fix 'gnulib-tool --version' output to work with git.
55777         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55778         (startup): ...here.
55779         (func_version): Use it to invoke git-version-gen, rather than
55780         relying on CVS keyword expansion.  Modernize wording.
55781         (cvsdatestamp, last_checkin_date, version): Kill unused
55782         variables.
55783
55784 2008-03-12  Jim Meyering  <meyering@redhat.com>
55785
55786         Recognize optional cast of the argument to free.
55787         * build-aux/useless-if-before-free: Update regexps.
55788
55789         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55790
55791 2008-03-11  Bruno Haible  <bruno@clisp.org>
55792
55793         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55794         by a single package.
55795         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55796         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55797         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55798         Reported by Sam Steingold <sds@gnu.org>.
55799
55800 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55801
55802         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55803         repositories.
55804
55805 2008-03-11  Bruno Haible  <bruno@clisp.org>
55806
55807         Avoid conflicts between local macro definitions.
55808         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55809         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55810
55811 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55812             Bruno Haible  <bruno@clisp.org>
55813
55814         Make va_copy work with some version of xlc on AIX 5.1.
55815         * lib/stdarg.in.h: New file.
55816         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55817         On AIX, use a <stdarg.h> file substitute.
55818         * modules/stdarg (Files): Add lib/stdarg.in.h.
55819         (Depends-on): Add include_next.
55820         (Makefile.am): Build a stdarg.h substitute if requested.
55821         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55822
55823 2008-03-10  Bruno Haible  <bruno@clisp.org>
55824
55825         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55826         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55827         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55828
55829 2008-03-10  Bruno Haible  <bruno@clisp.org>
55830
55831         * modules/stdlib (Depends-on): Add include_next, remove
55832         absolute-header.
55833
55834 2008-03-09  Bruno Haible  <bruno@clisp.org>
55835
55836         * lib/freadahead.h (freadahead): Document more precisely.
55837         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55838         the sum of both buffer sizes.
55839         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55840         * NEWS: Document the change.
55841
55842 2008-03-09  Bruno Haible  <bruno@clisp.org>
55843
55844         Extend freadptr to return also the buffer size.
55845         * lib/freadptr.h (freadptr): Add sizep argument.
55846         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55847         (freadptr): Add sizep argument. Determine buffer size like freadahead
55848         does.
55849         * tests/test-freadptr.c: Don't include freadahead.h.
55850         (main): Adapt for new calling convention of freadptr.
55851         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55852         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55853         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55854         tests/test-freadptr2.sh.
55855         (Depends): Remove freadahead.
55856         (TESTS): Add test-freadptr2.sh.
55857         (check_PROGRAMS): Add test-freadptr2.
55858
55859 2008-03-09  Bruno Haible  <bruno@clisp.org>
55860
55861         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55862         Report and solution by Simon Josefsson.
55863
55864 2008-03-06  Bruno Haible  <bruno@clisp.org>
55865
55866         Make fflush after ungetc work on BSD platforms.
55867         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55868         * tests/test-fflush2.c: New file.
55869         * tests/test-fflush2.sh: New file.
55870         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55871         tests/test-fflush2.c.
55872         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55873         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55874
55875 2008-03-06  Eric Blake  <ebb9@byu.net>
55876
55877         Likewise for ftello.
55878         * modules/ftello (Dependencies): Add extensions.
55879         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55880
55881 2008-03-06  Bruno Haible  <bruno@clisp.org>
55882
55883         * modules/fseeko (Dependencies): Add extensions.
55884         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55885         Needed on glibc systems.
55886
55887 2008-03-06  Bruno Haible  <bruno@clisp.org>
55888
55889         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55890         email address.
55891         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55892
55893 2008-03-06  Bruno Haible  <bruno@clisp.org>
55894
55895         * users.txt: Add libgnupdf.
55896
55897 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55898
55899         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55900         (Header File Substitutes, Function Substitutes,
55901         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55902         (Build robot for gnulib): Fix typo.
55903
55904 2008-03-06  Bruno Haible  <bruno@clisp.org>
55905
55906         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55907         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55908
55909 2008-03-06  Bruno Haible  <bruno@clisp.org>
55910
55911         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55912         * doc/gnulib.texi: Include it.
55913
55914 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55915
55916         * modules/func (License): Change license to unlimited; there was
55917         no LGPL parts in the module anyway.
55918
55919 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55920
55921         * modules/__func__: Renamed to modules/func.
55922         * modules/__func__-tests: Renamed to modules/func-tests.
55923         * tests/test-__func__.c: Renamed to tests/test-func.c.
55924         * m4/__func__.m4: Renamed to m4/func.m4.
55925         * doc/gnulib.texi (__func__): Section renamed to func.
55926         Suggested by Eric Blake <ebb9@byu.net>.
55927
55928 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55929
55930         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55931         about __func__.  Make example self-contained.  Suggested by Eric
55932         Blake <ebb9@byu.net>.
55933
55934         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55935         Suggested by Eric Blake <ebb9@byu.net>.
55936
55937 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55938
55939         * modules/__func__: New file.
55940         * modules/__func__-tests: New file.
55941         * tests/test-__func__.c: New file.
55942         * m4/__func__.m4: New file.
55943         * doc/gnulib.texi (__func__): Document __func__ module.
55944
55945 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55946
55947         * modules/byteswap (License): Re-license as LGPLv2+.
55948
55949 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55950
55951         * doc/Makefile: Add pdf target.
55952
55953 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55954
55955         * modules/inline (License): Use 'unlimited', since there are only
55956         *.m4 files in this module.
55957
55958 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55959             Bruno Haible  <bruno@clisp.org>
55960
55961         Add support for HP C 7.1 on OpenVMS 8.3.
55962         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55963
55964 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55965
55966         Update VMS specifics.
55967         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55968
55969 2008-03-02  Jim Meyering  <meyering@redhat.com>
55970
55971         Remove the last dependency on the "free" module.
55972         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55973         Reported by Bob Proulx.
55974
55975         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55976
55977         Remove useless "if" tests before free.  Deprecate "free" module.
55978         * doc/posix-functions/free.texi: Mention that this
55979         module is no longer useful.
55980         * modules/free (Notice): Say this module is obsolete.
55981         * modules/readutmp (Depends-on): Remove free.
55982         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55983         * lib/putenv.c (putenv): Likewise.
55984         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55985         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55986         * tests/test-c-strcasestr.c (main): Likewise.
55987         * tests/test-c-strstr.c (main): Likewise.
55988         * tests/test-mbscasestr1.c (main): Likewise.
55989         * tests/test-mbscasestr2.c (main): Likewise.
55990         * tests/test-mbsstr1.c (main): Likewise.
55991         * tests/test-mbsstr2.c (main): Likewise.
55992         * tests/test-memmem.c (main): Likewise.
55993         * tests/test-strcasestr.c (main): Likewise.
55994         * tests/test-striconv.c (main): Likewise.
55995         * tests/test-striconveh.c (main): Likewise.
55996         * tests/test-striconveha.c (main): Likewise.
55997         * tests/test-strstr.c (main): Likewise.
55998
55999         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56000
56001         bootstrap: sync from coreutils again
56002         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56003
56004 2008-03-01  Jim Meyering  <meyering@redhat.com>
56005
56006         bootstrap: sync from coreutils
56007         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56008         also when the target doesn't exist.
56009
56010 2008-03-01  Eric Blake  <ebb9@byu.net>
56011
56012         Fix bugs in last patch.
56013         * lib/memchr2.c (memchr2): Fix typo.
56014         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56015         extension.
56016         Reported by Bruce Korb.
56017
56018         New module 'memchr2'.
56019         * modules/memchr2: New file.
56020         * modules/memchr2-tests: Likewise.
56021         * lib/memchr2.h: Likewise.
56022         * lib/memchr2.c: Likewise, based on memchr.c.
56023         * tests/test-memchr2.c: New test.
56024         * MODULES.html.sh (String handling): Add memchr2.
56025
56026 2008-02-29  Bruno Haible  <bruno@clisp.org>
56027
56028         * modules/freadseek-tests: New file.
56029         * tests/test-freadseek.sh: New file.
56030         * tests/test-freadseek.c: New file.
56031
56032         New module 'freadseek'.
56033         * modules/freadseek: New file.
56034         * lib/freadseek.h: New file.
56035         * lib/freadseek.c: New file.
56036         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56037
56038 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56039
56040         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56041         wydawca.
56042
56043         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56044         program_invocation_name and program_invocation_short_name are
56045         present.
56046
56047 2008-02-28  Bruno Haible  <bruno@clisp.org>
56048
56049         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56050         * tests/test-freadptr.sh: Also test non-seekable stdin.
56051
56052 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56053
56054         * build-aux/bootstrap (source_base, m4_base)
56055         (doc_base, tests_base): New variables.
56056         (gnulib_tool_options): Do not hardcode base directories, use
56057         the above variables instead.
56058
56059 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56060
56061         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56062
56063 2008-02-28  Bruno Haible  <bruno@clisp.org>
56064
56065         * modules/freadptr-tests: New file.
56066         * tests/test-freadptr.sh: New file.
56067         * tests/test-freadptr.c: New file.
56068
56069         New module 'freadptr'.
56070         * modules/freadptr: New file.
56071         * lib/freadptr.h: New file.
56072         * lib/freadptr.c: New file.
56073         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56074
56075 2008-02-26  Karl Berry  <karl@freefriends.org>
56076
56077         Sync from Libtool:
56078         * libltdl/argz.c (argz_add, argz_count): New functions.
56079         * libltdl/argz.in.h: Declare them.
56080         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56081
56082 2008-02-22  Bruno Haible  <bruno@clisp.org>
56083
56084         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56085         is a pointer type.  Needed for HP-UX 10.
56086         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56087         * doc/posix-functions/gmtime_r.texi: Likewise.
56088         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56089
56090 2008-02-24  Bruno Haible  <bruno@clisp.org>
56091
56092         * modules/environ-tests: New file.
56093         * tests/test-environ.c: New file.
56094
56095         New module 'environ'.
56096         * modules/environ: New file.
56097         * lib/unistd.in.h (environ): New declaration.
56098         * m4/environ.m4: New file.
56099         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56100         after use.
56101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56102         HAVE_DECL_ENVIRON.
56103         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56104         HAVE_DECL_ENVIRON.
56105         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56106         wrong claim that 'environ' is missing on some systems.
56107         * modules/execute (Depends-on): Add environ.
56108         * lib/execute.c (environ): Remove fallback declaration.
56109         * modules/pipe (Depends-on): Add environ.
56110         * lib/pipe.c (environ): Remove fallback declaration.
56111         * modules/setenv (Depends-on): Add environ.
56112         * lib/setenv.c (environ): Remove fallback declaration.
56113         * modules/unsetenv (Depends-on): Add environ.
56114         * lib/unsetenv.c (environ): Remove fallback declaration.
56115         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56116         m4/environ.m4.
56117         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56118         (gl_PREREQ_UNSETENV): Likewise.
56119
56120 2008-02-24  Bruno Haible  <bruno@clisp.org>
56121
56122         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56123
56124 2008-02-20  Bob Proulx  <bob@proulx.com>
56125
56126         Enable use of older two part flavor 'git describe'.
56127         * build-aux/git-version-gen: If using the older two part flavor of
56128         git version then recreate the third part now present in the
56129         newer three part flavor of git describe.
56130
56131 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56132
56133         * lib/fts.c (fts_build): Typo correction to comment.
56134
56135 2008-02-17  Bruno Haible  <bruno@clisp.org>
56136
56137         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56138         generating no-op conflicts.
56139
56140 2008-02-17  Bruno Haible  <bruno@clisp.org>
56141
56142         Speed up by 10%.
56143         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56144         result_entries, rather than an index-based loop.
56145
56146 2008-02-17  Bruno Haible  <bruno@clisp.org>
56147
56148         Speed up by 25%.
56149         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56150         'hashcode_cached'.
56151         (entry_create): New function.
56152         (entry_hashcode): Use the cached hashcode if possible.
56153         (read_changelog_file, try_split_merged_entry): Use entry_create.
56154
56155 2008-02-17  Bruno Haible  <bruno@clisp.org>
56156
56157         Speed up from O(n^2) to O(n) for long ChangeLog files.
56158         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56159         (read_changelog_file): Change implementation of entries_reversed list
56160         to rbtreehash.
56161         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56162
56163 2008-02-17  Bruno Haible  <bruno@clisp.org>
56164
56165         New option --split-merged-entry.
56166         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56167         (find_paragraph_end, try_split_merged_entry): New functions.
56168         (long_options): Add option --split-merged-entry.
56169         (usage): Document option --split-merged-entry.
56170         (main): Implement option --split-merged-entry.
56171         Reported by Eric Blake.
56172
56173 2008-02-17  Bruno Haible  <bruno@clisp.org>
56174
56175         * lib/git-merge-changelog.c: Include c-strstr.h.
56176         (main): Support the "git pull --rebase" situation.
56177         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56178         Reported by Eric Blake.
56179
56180 2008-02-16  Eric Blake  <ebb9@byu.net>
56181
56182         Avoid doubling \ in common case of "c-maybe" quoting style.
56183         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56184         eliding outer quotes.
56185         * lib/quotearg.h: Document this.
56186         * tests/test-quotearg.c (result_strings, inputs, results_g)
56187         (flag_results, locale_results): Test it by adding a new string to
56188         each test group.
56189         (compare_strings): Test new string.
56190
56191 2008-02-13  Eric Blake  <ebb9@byu.net>
56192
56193         Avoid trigraph quoting in default output.
56194         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56195         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56196         unless explicitly requested.
56197         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56198
56199 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56200
56201         Don't rely on signed integer overflowing to negative value.
56202         * lib/getugroups.c (getugroups): Include <limits.h>.
56203         Instead, compare against INT_MAX, and increment only if the test passes.
56204
56205 2008-02-13  Jim Meyering  <meyering@redhat.com>
56206         and Eric Blake  <ebb9@byu.net>
56207
56208         Avoid shadowing warning and compile errors on Linux.
56209         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56210         forwarding macros on Linux.
56211         (dcgettext): Define a stub, for Linux.
56212         (results_g, main): Avoid warnings.
56213
56214 2008-02-12  Eric Blake  <ebb9@byu.net>
56215
56216         Silence warning in last patch.
56217         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56218
56219         Quotearg part 4: add tests, fix c-maybe colon quoting.
56220         * lib/quotearg.h: Improve documentation.
56221         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56222         escapes when adding outer quotes.  When quoting trigraphs, use
56223         valid C notation.  When quoting NUL, omit extra characters if next
56224         character is not digit.  Alter prototype.
56225         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56226         callers.
56227         * modules/quotearg-tests: New module.
56228         * tests/test-quotearg.c: New test.
56229
56230 2008-02-07  Eric Blake  <ebb9@byu.net>
56231
56232         Quotearg part 3: add flag to control outer quote elision.
56233         * lib/quotearg.h (c_maybe_quoting_style): New style.
56234         (enum quoting_flags): Better documentation of flags.
56235         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56236         c-maybe style.
56237         (quotearg_buffer_restyled): Handle new flag to elide outer
56238         quotes.
56239
56240         Quotearg part 2: add flag that can control NUL elision.
56241         * lib/quotearg.h (set_quoting_flags): New prototype.
56242         * lib/quotearg.c (struct quoting_options): Add flag field.
56243         (set_quoting_flags): New function.
56244         (quotearg_buffer_restyled): Add flags parameter.
56245         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56246         (quotearg_n_options): Set the flag, since length cannot be
56247         returned.
56248         (quoting_options_from_style): Default flags correctly.
56249
56250         Quotearg part 1: more wrappers, restore quotearg_char state.
56251         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56252         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56253         (quotearg_colon_mem): New wrappers.
56254         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56255         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56256         functions.
56257         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56258         (quotearg_colon_mem): New functions.
56259
56260 2008-02-11  Bruno Haible  <bruno@clisp.org>
56261
56262         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56263         library in the current directory: it does not work with parallel make.
56264         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56265
56266 2008-02-11  Bruno Haible  <bruno@clisp.org>
56267
56268         * .gitattributes: New file.
56269
56270 2008-02-11  Jim Meyering  <meyering@redhat.com>
56271
56272         useless-if-before-free: Fix reversed exit values.
56273         * build-aux/useless-if-before-free: Use correct values
56274         for EXIT_MATCH and EXIT_NO_MATCH.
56275
56276         * build-aux/useless-if-before-free: Close stdout carefully.
56277
56278 2008-02-10  Bruno Haible  <bruno@clisp.org>
56279
56280         New module 'git-merge-changelog'.
56281         * modules/git-merge-changelog: New file.
56282         * lib/git-merge-changelog.c: New file.
56283
56284 2008-02-10  Jim Meyering  <meyering@redhat.com>
56285
56286         useless-if-before-free: New option: --list (-l).
56287
56288         useless-if-before-free: Don't exit immediately upon open failure.
56289         * build-aux/useless-if-before-free: Exit 2 for errors.
56290         Upon failure to open a file, don't exit immediately.
56291         Rather, just warn and continue with any remaining files.
56292
56293 2008-02-10  Bruno Haible  <bruno@clisp.org>
56294
56295         New abstract list operation 'node_set_value'.
56296         * lib/gl_list.h (gl_list_node_set_value): New function.
56297         (struct gl_list_implementation): New field node_set_value.
56298         * lib/gl_list.c (gl_list_node_set_value): New function.
56299         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56300         (gl_array_list_implementation): Update.
56301         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56302         (gl_carray_list_implementation): Update.
56303         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56304         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56305         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56306         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56307         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56308         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56309         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56310         Update.
56311         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56312         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56313         (gl_sublist_list_implementation): Update.
56314
56315 2008-02-10  Bruno Haible  <bruno@clisp.org>
56316
56317         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56318         Needed when ELEMENT is #defined to 'some_type *'.
56319
56320 2008-02-10  Jim Meyering  <meyering@redhat.com>
56321
56322         New script and module: useless-if-before-free
56323         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56324         * build-aux/useless-if-before-free: New file.
56325         * modules/useless-if-before-free: New file.
56326
56327         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56328
56329         xstrtol_error: Fix typo.
56330         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56331         s/exit_failure/exit_status/.
56332
56333 2008-02-09  Jim Meyering  <meyering@redhat.com>
56334
56335         New script and module: gitlog-to-changelog
56336         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56337         * modules/gitlog-to-changelog: New file.
56338         * build-aux/gitlog-to-changelog: New file.
56339
56340 2008-02-08  Jim Meyering  <meyering@redhat.com>
56341
56342         Avoid two "parameter unused" warnings.
56343         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56344         Mark "st" as used.
56345
56346         Use "git COMMAND", not "git-COMMAND".
56347         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56348         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56349         * build-aux/git-version-gen: Use "git status", not "git-status".
56350
56351 2008-02-07  Bruno Haible  <bruno@clisp.org>
56352
56353         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56354         Avoids a crash on Windows Vista.
56355         Reported by Adam Strzelecki <ono@java.pl> via
56356         Simon Josefsson <simon@josefsson.org>.
56357
56358 2008-02-06  Bruno Haible  <bruno@clisp.org>
56359
56360         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56361         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56362         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56363         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56364         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56365         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56366         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56367         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56368         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56369         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56370         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56371         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56372         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56373         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56374         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56375         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56376         left-adjust flag.
56377         * tests/test-snprintf-posix.h (test_function): Likewise.
56378         * tests/test-sprintf-posix.h (test_function): Likewise.
56379         * tests/test-vasprintf-posix.c (test_function): Likewise.
56380         * doc/posix-functions/fprintf.texi: Update.
56381         * doc/posix-functions/printf.texi: Update.
56382         * doc/posix-functions/snprintf.texi: Update.
56383         * doc/posix-functions/sprintf.texi: Update.
56384         * doc/posix-functions/vfprintf.texi: Update.
56385         * doc/posix-functions/vprintf.texi: Update.
56386         * doc/posix-functions/vsnprintf.texi: Update.
56387         * doc/posix-functions/vsprintf.texi: Update.
56388         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56389
56390 2008-02-06  Bruno Haible  <bruno@clisp.org>
56391
56392         Fix bug introduced on 2008-01-26.
56393         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56394
56395 2008-02-06  Bruno Haible  <bruno@clisp.org>
56396
56397         Fix bug introduced on 2007-06-10.
56398         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56399         !NEED_PRINTF_FLAG_ZERO.
56400
56401 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56402
56403         getloadavg: use libperfstat on AIX5
56404         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56405
56406 2008-02-03  Bruno Haible  <bruno@clisp.org>
56407
56408         * lib/diffseq.h: Add comments about required #includes.
56409         Reported by Michael Biggs <gnulib@doubleplum.net>.
56410
56411 2008-02-01  Bruno Haible  <bruno@clisp.org>
56412
56413         * users.txt: Add gnuit.
56414
56415 2008-01-31  Bruno Haible  <bruno@clisp.org>
56416
56417         * lib/md4.c (set_uint32): Mark as inline.
56418         * lib/md5.c (set_uint32): Likewise.
56419         * lib/sha1.c (set_uint32): Likewise.
56420         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56421         * m4/md5.m4 (gl_MD5): Likewise.
56422         * m4/sha1.m4 (gl_SHA1): Likewise.
56423
56424 2008-01-31  Jim Meyering  <meyering@redhat.com>
56425
56426         Use "sizeof VAR", rather than a literal "4".
56427         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56428         * lib/md4.c (md4_read_ctx): Likewise.
56429         * lib/sha1.c (sha1_read_ctx): Likewise.
56430
56431 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56432
56433         * tests/test-sha1.c: New file, based on test-md5.c.
56434
56435         * modules/crypto/sha1-tests: New file.
56436
56437 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56438
56439         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56440
56441 2008-01-31  Jim Meyering  <meyering@redhat.com>
56442
56443         Prefer "sizeof v" over the equivalent "4".
56444         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56445         * lib/md5.c (set_uint32): Likewise.
56446         * lib/sha1.c (set_uint32): Likewise.
56447
56448 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56449
56450         * lib/sha1.c (set_uint32): Mark function as static.
56451
56452 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56453
56454         md2: clarify comments to say that alignment is not required.
56455         * lib/md2.h: Remove warning about alignment in comment.
56456         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56457         never been required.
56458
56459 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56460
56461         md4: adapt alignment constraint fix from sha1.
56462         * lib/md4.c (set_uint32): New function, from sha1.c
56463         (md4_read_ctx): Use it.
56464         (md4_finish_ctx): Doc fix.
56465         * lib/md4.h: Doc fix.
56466
56467 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56468
56469         md5: adapt alignment constraint fix from sha1.
56470         * lib/md5.c (set_uint32): New function, from sha1.c
56471         (md5_read_ctx): Use it.
56472         (md5_finish_ctx): Doc fix.
56473         * lib/md5.h: Doc fix.
56474
56475 2008-01-30  Peter Palfrader  <weasel@debian.org>
56476
56477         sha1: remove the result buffer alignment constraint
56478         * lib/sha1.c (set_uint32): New function.
56479         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56480         constraint.
56481         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56482         * lib/sha1.h: Likewise.
56483
56484 2008-01-30  Andreas Schwab  <schwab@suse.de>
56485             Bruno Haible  <bruno@clisp.org>
56486
56487         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56488         correct definition of LDBL_MIN_EXP.
56489
56490 2008-01-30  Karl Berry  <karl@gnu.org>
56491
56492         * config/srclist-update: try to preserve x bit on updates.
56493         * config/srclistvars.sh: update for karl.
56494
56495 2008-01-29  Jim Meyering  <meyering@redhat.com>
56496
56497         vasnprintf.c: Avoid warning about unused label
56498         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56499         "overflow" label definition and associated code with the
56500         same cpp condition that guards the sole use of that label.
56501
56502 2008-01-26  Bruno Haible  <bruno@clisp.org>
56503
56504         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56505         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56506         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56507         * lib/isnanl-nolibm.h (isnanl): Likewise.
56508         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56509
56510 2008-01-26  Bruno Haible  <bruno@clisp.org>
56511
56512         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56513         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56514
56515 2008-01-26  Bruno Haible  <bruno@clisp.org>
56516
56517         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56518         GCC >= 4.0 built-in.
56519         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56520
56521 2008-01-26  Bruno Haible  <bruno@clisp.org>
56522
56523         Rename isnan, applicable to 'double' only, to isnand.
56524         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56525         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56526         (configure.ac): Update.
56527         (Include): Replace "isnan.h" with "isnand.h".
56528         * m4/isnand.m4: Renamed from m4/isnan.m4.
56529         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56530         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56531         instead of isnan.c.
56532         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56533         instead of HAVE_ISNAN_IN_LIBC.
56534         (isnand): Renamed from isnan.
56535         * lib/isnand.c: New file.
56536         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56537         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56538         (Makefile.am): Update.
56539         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56540         Include isnand.h instead of isnan.h.
56541         (main): Test isnand instead of isnan.
56542         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56543         isnan-nolibm.
56544         * modules/frexp (Depends-on): Likewise.
56545         * modules/frexp-tests (Depends-on): Likewise.
56546         * modules/frexp-nolibm (Depends-on): Likewise.
56547         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56548         * modules/isfinite (Depends-on): Likewise.
56549         * modules/round-tests (Depends-on): Likewise.
56550         * modules/signbit (Depends-on): Likewise.
56551         * modules/signbit-tests (Depends-on): Likewise.
56552         * modules/snprintf-posix (Depends-on): Likewise.
56553         * modules/sprintf-posix (Depends-on): Likewise.
56554         * modules/trunc-tests (Depends-on): Likewise.
56555         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56556         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56557         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56558         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56559         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56560         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56561         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56562         * modules/vasnprintf-posix (Depends-on): Likewise.
56563         * modules/vasprintf-posix (Depends-on): Likewise.
56564         * modules/vfprintf-posix (Depends-on): Likewise.
56565         * modules/vsnprintf-posix (Depends-on): Likewise.
56566         * modules/vsprintf-posix (Depends-on): Likewise.
56567         * lib/frexp.c: Include isnand.h instead of isnan.h.
56568         (ISNAN): Set to isnand instead of isnan.
56569         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56570         (gl_isfinited): Use isnand instead of isnan.
56571         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56572         (gl_signbitd): Use isnand instead of isnan.
56573         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56574         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56575         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56576         (main): Use isnand instead of isnan.
56577         * tests/test-round1.c: Include isnand.h.
56578         (main): Use isnand instead of isnan.
56579         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56580         (ISNAN): Set to isnand instead of isnan.
56581         * tests/test-trunc1.c: Include isnand.h.
56582         (main): Use isnand instead of isnan.
56583         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56584         (equal): Use isnand instead of isnan.
56585         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56586         isnand-nolibm.
56587         * NEWS: Mention the change.
56588
56589 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56590             Bruno Haible  <bruno@clisp.org>
56591
56592         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56593         the GCC builtins for signbits are present and set
56594         REPLACE_SIGNBIT_USING_GCC if so.
56595         * lib/math.in.h (signbit): Define using GCC builtins if
56596         REPLACE_SIGNBIT_USING_GCC is set.
56597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56598         REPLACE_SIGNBIT_USING_GCC.
56599         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56600
56601 2008-01-25  Jim Meyering  <meyering@redhat.com>
56602
56603         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56604         * lib/poll.c: Include <config.h>, not "config.h".
56605         * tests/test-getaddrinfo.c: Likewise.
56606
56607 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56608
56609         * modules/sockets-tests: New file.
56610
56611 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56612
56613         * modules/sockets: New module, can be used to call WSA_Startup and
56614         WSA_Cleanup when needed.
56615
56616         * lib/sockets.h, lib/sockets.c: New files.
56617
56618         * m4/sockets.m4: New file.
56619
56620         * tests/test-sockets.c: New file.
56621
56622 2008-01-19  Bruno Haible  <bruno@clisp.org>
56623
56624         * doc/posix-headers: Renamed from doc/headers.
56625         * doc/posix-functions: Renamed from doc/functions.
56626         * doc/gnulib.texi: Update.
56627
56628 2008-01-19  Bruno Haible  <bruno@clisp.org>
56629
56630         * doc/glibc-functions/strcasestr.texi: Include contents of
56631         doc/functions/strcasestr.texi, fixing the list of platforms.
56632         * doc/functions/strcasestr.texi: Remove file.
56633
56634 2008-01-19  Bruno Haible  <bruno@clisp.org>
56635
56636         * doc/glibc-functions/memmem.texi: Include contents of
56637         doc/functions/memmem.texi.
56638         * doc/functions/memmem.texi: Remove file.
56639
56640 2008-01-18  Bruno Haible  <bruno@clisp.org>
56641
56642         * doc/glibc-functions/*.texi: New files.
56643         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56644         to use the new files.
56645
56646 2008-01-17  Bruno Haible  <bruno@clisp.org>
56647
56648         * tests/test-gethostname.c (main): Fix printf statement.
56649
56650 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56651
56652         * modules/gethostname-tests: New file.
56653
56654         * tests/test-gethostname.c: New file.
56655
56656 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56657
56658         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56659         used by the UNAME case.  Reported by Bruno Haible
56660         <bruno@clisp.org>.
56661
56662 2008-01-17  Eric Blake  <ebb9@byu.net>
56663
56664         Convert c-strcasestr to be more efficient.
56665         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56666         (Depends-on): Add c-strcase, remove malloca, strnlen.
56667         * tests/test-c-strcasestr.c (main): Enhance test.
56668         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56669
56670 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56671
56672         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56673         Use it in creating po/Makevars.
56674
56675 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56676
56677         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56678         Applications that requires it should initialize libgcrypt
56679         manually.
56680
56681 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56682
56683         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56684
56685 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56686
56687         Fix problem with getdate on mingw32 reported by Simon Josefsson
56688         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56689         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56690         tzname", when deciding whether to declare tzname.
56691         * lib/strftime.c (tzname): Likewise.
56692
56693 2008-01-15  Bruno Haible  <bruno@clisp.org>
56694
56695         Work around a MacOS X 10.5 bug in frexpl().
56696         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56697         * doc/functions/frexpl.texi: Document the bug.
56698         Reported by Elias Pipping <pipping@gentoo.org>.
56699
56700 2008-01-14  Eric Blake  <ebb9@byu.net>
56701
56702         Touch up previous patch.
56703         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56704         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56705
56706         Convert strcasestr module to use Two-Way algorithm.
56707         * modules/strcasestr-simple: New module, based on the old
56708         strcasestr, but with Two-Way rather than KMP.
56709         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56710         * lib/string.in.h (rpl_strcasestr): Declare.
56711         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56712         performance.
56713         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56714         * modules/string (Makefile.am): Support strcasestr.
56715         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56716         * modules/strcasestr-tests (Depends-on): Check for alarm.
56717         * tests/test-strcasestr.c: Augment test.
56718         * lib/str-two-way.h: Clean up stray macro.
56719         * NEWS: Document new module.
56720         * MODULES.html.sh (string handling): Likewise.
56721         * doc/functions/strcasestr.texi: New file.
56722         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56723         here, since it is not a POSIX function.
56724
56725 2008-01-14  Colin Watson  <cjwatson@debian.org>
56726             Bruno Haible  <bruno@clisp.org>
56727
56728         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56729         works fine; if not, set REPLACE_STRSIGNAL.
56730         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56731         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56732         REPLACE_STRSIGNAL.
56733         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56734         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56735         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56736
56737 2008-01-14  Bruno Haible  <bruno@clisp.org>
56738
56739         * modules/strsignal (Include): Change to <string.h>.
56740
56741 2008-01-14  Colin Watson  <cjwatson@debian.org>
56742
56743         * modules/argp (Notice): Add a notice recommending to change
56744         XGETTEXT_OPTIONS.
56745         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56746
56747 2008-01-13  Colin Watson  <cjwatson@debian.org>
56748
56749         * modules/strsignal-tests: New file.
56750         * tests/test-strsignal.c: New file.
56751
56752         * lib/strsignal.c: New file, from glibc with modifications.
56753         * lib/siglist.h: New file, from glibc with modifications.
56754         * lib/string.in.h (strsignal): New declaration.
56755         * m4/strsignal.m4: New file.
56756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56757         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56758         * modules/strsignal: New file.
56759         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56760         HAVE_DECL_STRSIGNAL.
56761
56762 2008-01-13  Bruno Haible  <bruno@clisp.org>
56763
56764         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56765         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56766         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56767         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56768
56769 2008-01-13  Bruno Haible  <bruno@clisp.org>
56770
56771         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56772         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56773         * lib/argp.h (__attribute__): Likewise.
56774         * lib/c-stack.c (__attribute__): Likewise.
56775         * lib/error.h (__attribute__): Likewise.
56776         * lib/fts.c (__attribute__): Likewise.
56777         * lib/openat.h (__attribute__): Likewise.
56778         * lib/stdio.in.h (__attribute__): Likewise.
56779         * lib/string.in.h (__attribute__): Likewise.
56780         * lib/utimens.c (__attribute__): Likewise.
56781         * lib/vasnprintf.h (__attribute__): Likewise.
56782         * lib/xalloc.h (__attribute__): Likewise.
56783         * lib/xprintf.h (__attribute__): Likewise.
56784         * lib/xstrtol.h (__attribute__): Likewise.
56785         * lib/xvasprintf.h (__attribute__): Likewise.
56786
56787 2008-01-12  Bruno Haible  <bruno@clisp.org>
56788
56789         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56790         * doc/glibc-headers/a.out.texi: New file.
56791         * doc/glibc-headers/aliases.texi: New file.
56792         * doc/glibc-headers/alloca.texi: New file.
56793         * doc/glibc-headers/ar.texi: New file.
56794         * doc/glibc-headers/argp.texi: New file.
56795         * doc/glibc-headers/argz.texi: New file.
56796         * doc/glibc-headers/byteswap.texi: New file.
56797         * doc/glibc-headers/crypt.texi: New file.
56798         * doc/glibc-headers/endian.texi: New file.
56799         * doc/glibc-headers/envz.texi: New file.
56800         * doc/glibc-headers/err.texi: New file.
56801         * doc/glibc-headers/error.texi: New file.
56802         * doc/glibc-headers/execinfo.texi: New file.
56803         * doc/glibc-headers/fpu_control.texi: New file.
56804         * doc/glibc-headers/fstab.texi: New file.
56805         * doc/glibc-headers/fts.texi: New file.
56806         * doc/glibc-headers/getopt.texi: New file.
56807         * doc/glibc-headers/ieee754.texi: New file.
56808         * doc/glibc-headers/ifaddrs.texi: New file.
56809         * doc/glibc-headers/libintl.texi: New file.
56810         * doc/glibc-headers/mcheck.texi: New file.
56811         * doc/glibc-headers/mntent.texi: New file.
56812         * doc/glibc-headers/obstack.texi: New file.
56813         * doc/glibc-headers/paths.texi: New file.
56814         * doc/glibc-headers/printf.texi: New file.
56815         * doc/glibc-headers/pty.texi: New file.
56816         * doc/glibc-headers/resolv.texi: New file.
56817         * doc/glibc-headers/shadow.texi: New file.
56818         * doc/glibc-headers/sysexits.texi: New file.
56819         * doc/glibc-headers/ttyent.texi: New file.
56820
56821 2008-01-12  Jim Meyering  <meyering@redhat.com>
56822
56823         announce-gen: emit Gnulib's git-based version string.
56824         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56825         New option --gnulib-version=V, where V is expected to be
56826         the output of running git describe in the gnulib directory.
56827         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56828         not useful, and plan to stop publishing an xdelta file with each
56829         coreutils release.
56830
56831         * build-aux/announce-gen: Also check for lzma-compressed files.
56832
56833 2008-01-11  Bruno Haible  <bruno@clisp.org>
56834
56835         * tests/test-memmem.c (main): Increase maximum allowed time.
56836         * tests/test-strstr.c (main): Likewise.
56837
56838 2008-01-11  Bruno Haible  <bruno@clisp.org>
56839
56840         * doc/functions/memmem.texi: Add more precisions about platforms.
56841         * doc/functions/strstr.texi: Likewise.
56842
56843 2008-01-10  Eric Blake  <ebb9@byu.net>
56844
56845         * m4/strstr.m4: Delete cruft from copy-n-paste.
56846         Reported by Bruno Haible.
56847
56848 2008-01-10  Bruno Haible  <bruno@clisp.org>
56849
56850         Make c-strstr rely on strstr.
56851         * lib/c-strstr.c: Don't include str-kmp.h.
56852         (c_strstr): Define in terms of strstr.
56853         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56854         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56855
56856 2008-01-10  Bruno Haible  <bruno@clisp.org>
56857
56858         * doc/gnulib.texi (String Functions in C Locale): New section.
56859         * doc/c-ctype.texi: New file.
56860         * doc/c-strcase.texi: New file.
56861         * doc/c-strcaseeq.texi: New file.
56862         * doc/c-strcasestr.texi: New file.
56863         * doc/c-strstr.texi: New file.
56864         * doc/c-strtod.texi: New file.
56865         * doc/c-strtold.texi: New file.
56866
56867 2008-01-10  Eric Blake  <ebb9@byu.net>
56868
56869         * lib/relocatable.h: Fix a comment.
56870
56871 2008-01-10  Eric Blake  <ebb9@byu.net>
56872
56873         Share two-way algorithm.
56874         * lib/str-two-way.h: New file, merged from...
56875         * lib/memmem.c: ...here...
56876         * lib/strstr.c: ...and here.
56877         * modules/memmem (Files): Use it.
56878         * modules/strstr (Files): Likewise.
56879
56880         Avoid quadratic strstr implementations.
56881         * lib/strstr.c: New file.
56882         * m4/strstr.m4: Likewise.
56883         * modules/strstr: Likewise.
56884         * modules/strstr-tests: Likewise.
56885         * tests/test-strstr.c: Likewise.
56886         * lib/string.in.h (rpl_strstr): Declare.
56887         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56889         * modules/string (Makefile.am): Likewise.
56890         * MODULES.html.sh (string handling): Mention new module.
56891         * doc/functions/strstr.texi (strstr): Document the bug.
56892
56893 2008-01-10  Bruno Haible  <bruno@clisp.org>
56894
56895         * lib/relocatable.h (relocate): State whether result is freshly
56896         allocated or not.
56897         * lib/relocatable.c (relocate): Return a freshly allocated string
56898         instead of a pointer to a privately held string.
56899         Reported by Sylvain Beucler <beuc@gnu.org>.
56900
56901 2008-01-10  Colin Watson  <cjwatson@debian.org>
56902
56903         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56904         s/S_ISNLK/S_ISLNK/.
56905
56906 2008-01-09  Bruno Haible  <bruno@clisp.org>
56907
56908         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56909         and other files.
56910         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56911         if it's only a guess.
56912         * modules/memmem: Simplify by depending on memmem-simple.
56913
56914 2008-01-09  Bruno Haible  <bruno@clisp.org>
56915
56916         Work around OpenBSD 4.0 tdelete() bug.
56917         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56918         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56919         macros and don't redefine the enum values.
56920         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56921         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56922         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56923
56924 2008-01-09  Bruno Haible  <bruno@clisp.org>
56925
56926         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56927         (main): Don't perform the tests if setlocale did not install a UTF-8
56928         locale. Needed on OpenBSD 4.0.
56929         * modules/wcwidth-tests (Depends-on): Add localcharset.
56930
56931 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56932
56933         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56934         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56935         * NEWS: announce this.
56936         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56937
56938 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56939         and Eric Blake  <ebb9@byu.net>
56940
56941         Add memmem-simple module.
56942         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56943         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56944         * modules/memmem-simple: New file.
56945         * modules/memmem (Description): Tweak.
56946         * MODULES.html.sh (string handling): Mention new module.
56947         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56948         addressed by memmem-simple.
56949         * NEWS: Document the difference.
56950
56951 2008-01-09  Eric Blake  <ebb9@byu.net>
56952
56953         Give gcc some memmem optimization hints.
56954         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56955         (strcasestr): Declare as pure.
56956         * modules/memmem (Maintainer): Claim my implementation.
56957
56958 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56959
56960         Support AIX 6.1 and higher.
56961         * build-aux/config.libpath: Likewise.
56962         * build-aux/config.rpath: Likewise.
56963
56964 2008-01-08  Jim Meyering  <meyering@redhat.com>
56965             Bruno Haible  <bruno@clisp.org>
56966
56967         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56968         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56969         Reported by Peter Fales in
56970         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56971
56972 2008-01-08  Bruno Haible  <bruno@clisp.org>
56973
56974         * modules/unictype/category-of (Depends-on): Add
56975         unictype/category-none.
56976         * modules/unictype/category-and-tests (Depends-on): Add
56977         unictype/category-{L,N,Lu,Nd}.
56978         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56979         * modules/unictype/category-or-tests (Depends-on): Add
56980         unictype/category-{L,N}.
56981         * modules/unictype/category-name-tests (Depends-on): Add
56982         unictype/category-{Z,Nl}.
56983         Reported by Simon Josefsson.
56984
56985 2008-01-08  Bruno Haible  <bruno@clisp.org>
56986
56987         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56988         convention better.
56989         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56990         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56991         Reported by Peter Miller <millerp@canb.auug.org.au>.
56992
56993 2008-01-08  Eric Blake  <ebb9@byu.net>
56994
56995         Rewrite memmem to guarantee linear complexity without malloc.
56996         * lib/memmem.c (memmem): Use Two-Way rather than
56997         Knuth-Morris-Pratt, to allow O(1) space usage.
56998         (critical_factorization, two_way_short_needle)
56999         (two_way_long_needle): New functions.
57000         (knuth_morris_pratt): Delete.
57001         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57002         Add stdint.
57003         * tests/test-memmem.c (main): Add tests for periodic needle and
57004         sublinear performance.
57005         * doc/functions/memmem.texi (memmem): Document other deficiencies
57006         in cygwin and older glibc.
57007
57008 2008-01-08  Bruno Haible  <bruno@clisp.org>
57009
57010         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57011         augmentation.
57012
57013 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57014
57015         Add a configure time option: --disable-acl.
57016         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57017         AC_ARG_ENABLE(acl).
57018
57019 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57020
57021         * tests/test-localename.c: Don't include obsolete "setenv.h".
57022
57023         * modules/localename-tests (Depends-on): Need unsetenv.
57024
57025 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57026
57027         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57028
57029 2008-01-06  Colin Watson  <cjwatson@debian.org>
57030
57031         * users.txt: Add man-db.
57032
57033 2008-01-07  Bruno Haible  <bruno@clisp.org>
57034
57035         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57036         previous section name.
57037
57038 2008-01-07  Bruno Haible  <bruno@clisp.org>
57039
57040         * lib/progname.c (set_program_name): Don't strip off a leading
57041         "lt-" prefix outside a .libs directory.
57042         Suggested by Paul Eggert.
57043
57044 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57045             Bruno Haible  <bruno@clisp.org>
57046
57047         Improve memory cleanup in 'relocatable' module.
57048         * lib/relocatable.h (compute_curr_prefix): Change return type to
57049         'char *'.
57050         * lib/relocatable.c (compute_curr_prefix): Change return type to
57051         'char *'. Free curr_installdir after use.
57052         (relocate): Free curr_prefix_better after use.
57053         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57054
57055 2008-01-01  Bruno Haible  <bruno@clisp.org>
57056
57057         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57058         failure on older glibc systems.
57059         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57060
57061 2008-01-05  Eric Blake  <ebb9@byu.net>
57062
57063         Avoid quadratic system memmem.
57064         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57065         Reported by Ralf Wildenhues.
57066
57067         Fix memmem test for mingw.
57068         * modules/memmem-tests (configure.ac): Check for alarm.
57069         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57070         it.
57071         * doc/functions/memmem.texi: New file.
57072         * doc/gnulib.texi (Function Substitutes): Add memmem.
57073         Reported by Bruno Haible.
57074
57075 2008-01-04  Bruno Haible  <bruno@clisp.org>
57076
57077         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57078         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57079         gl_HEADER_STRING_H_DEFAULTS.
57080
57081 2008-01-04  Eric Blake  <ebb9@byu.net>
57082
57083         Shorten duration of memmem test.
57084         * tests/test-memmem.c (main): Use alarm to declare failure if test
57085         is taking too long.
57086         Reported by Ralf Wildenhues.
57087
57088 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57089
57090         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57091         string, needed by strerror.
57092
57093 2008-01-03  Colin Watson  <cjwatson@debian.org>
57094             Bruno Haible  <bruno@clisp.org>
57095
57096         * doc/gnulib-tool.texi (Localization): New section.
57097
57098 2008-01-02  Bruno Haible  <bruno@clisp.org>
57099
57100         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57101         variables to 'unsigned char *' type.
57102         Reported by Paul Eggert.
57103
57104 2008-01-02  Jim Meyering  <jim@meyering.net>
57105
57106         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57107
57108 2007-12-31  Jim Meyering  <jim@meyering.net>
57109
57110         Avoid use of private FTS type name.
57111         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57112
57113 2007-12-30  Karl Berry  <karl@gnu.org>
57114
57115         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57116         work around defect in Texinfo and/or the standalone Info browser.
57117
57118 2007-12-30  Bruno Haible  <bruno@clisp.org>
57119
57120         Unify 5 copies of the KMP code.
57121         * lib/str-kmp.h: New file.
57122         * lib/c-strcasestr.c: Include str-kmp.h.
57123         (knuth_morris_pratt): Remove function.
57124         (c_strcasestr): Update.
57125         * lib/c-strstr.c: Include str-kmp.h.
57126         (knuth_morris_pratt): Remove function.
57127         (c_strcasestr): Update.
57128         * lib/mbscasestr.c: Include str-kmp.h.
57129         (knuth_morris_pratt_unibyte): Remove function.
57130         * lib/mbsstr.c: Include str-kmp.h.
57131         (knuth_morris_pratt_unibyte): Remove function.
57132         * lib/strcasestr.c: Include str-kmp.h.
57133         (knuth_morris_pratt): Remove function.
57134         (strcasestr): Update.
57135         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57136         * modules/c-strstr (Files): Likewise.
57137         * modules/mbscasestr (Files): Likewise.
57138         * modules/mbsstr (Files): Likewise.
57139         * modules/strcasestr (Files): Likewise.
57140         Suggested by Paul Eggert.
57141
57142 2007-12-30  Bruno Haible  <bruno@clisp.org>
57143
57144         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57145         defined.
57146
57147 2007-12-30  Bruno Haible  <bruno@clisp.org>
57148
57149         * lib/xmalloca.h: Include xalloc.h.
57150         (xnmalloca): New macro.
57151
57152 2007-12-30  Bruno Haible  <bruno@clisp.org>
57153
57154         * lib/malloca.h (nmalloca): New macro.
57155         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57156         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57157         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57158         knuth_morris_pratt_multibyte): Likewise.
57159         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57160         knuth_morris_pratt_multibyte): Likewise.
57161         * lib/memmem.c (knuth_morris_pratt): Likewise.
57162         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57163
57164 2007-12-25  Bruno Haible  <bruno@clisp.org>
57165
57166         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57167         * lib/glob.c: Don't include openat.h.
57168         (link_exists2_p): Add back the code that deals with the
57169         !GLOB_ALTDIRFUNC case.
57170         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57171         let it do the filename concatenation.
57172         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57173         * modules/glob (Depends-on): Remove openat.
57174
57175 2007-12-31  Bruno Haible  <bruno@clisp.org>
57176
57177         * modules/dirfd (License): Change to LGPLv2+.
57178         Approved by Jim Meyering.
57179
57180 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57181
57182         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57183         when multiplying M by sizeof (size_t).
57184
57185 2007-12-10  Martin Lambers  <marlam@marlam.de>
57186
57187         Override getpagesize on mingw.
57188         * lib/getpagesize.c: New file.
57189         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57190         * modules/getpagesize (Files): Add lib/getpagesize.c.
57191         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57193         REPLACE_GETPAGESIZE.
57194         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57195
57196 2007-12-25  Bruno Haible  <bruno@clisp.org>
57197
57198         * modules/localcharset (Notice): New field.
57199         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57200         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57201
57202 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57203             Bruno Haible  <bruno@clisp.org>
57204
57205         Avoid using the syntax symbol() in formatted documentation.
57206         * MODULES.html.sh (func_module): When replacing symbol() with a
57207         hyperlink, remove the parentheses. Show an error if some remain.
57208         Recognize and render the '...' syntax.
57209         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57210         Rework. Add paragraph about GCC's inlining.
57211         * doc/alloca.texi: Likewise.
57212         * doc/error.texi: Remove parentheses from symbol reference.
57213         * doc/gnulib-intro.texi: Likewise.
57214         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57215         * modules/fnmatch (Description): Reword to say "the ... function".
57216         * modules/full-read (Description): Likewise.
57217         * modules/full-write (Description): Likewise.
57218         * modules/safe-read (Description): Likewise.
57219         * modules/safe-write (Description): Likewise.
57220         * modules/strchrnul (Description): Likewise.
57221         * modules/trim (Description): Likewise.
57222         * modules/error (Description): Remove parentheses from symbol
57223         references.
57224         * modules/verror (Description): Likewise.
57225         Reported by Karl Berry.
57226
57227 2007-12-25  Bruno Haible  <bruno@clisp.org>
57228
57229         Fixup after 2007-10-16 commit.
57230         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57231
57232 2007-12-24  Bruno Haible  <bruno@clisp.org>
57233
57234         Make --enable-relocatable work with DESTDIR.
57235         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57236         to compute installdir from destprog.
57237         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57238         also set the RELOC_DESTDIR variable.
57239         Reported by Левашев Иван <octagram@bluebottle.com>.
57240
57241 2007-12-24  Bruno Haible  <bruno@clisp.org>
57242
57243         Fix link error due to xalloc_die().
57244         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57245         of xreadlink.
57246         * lib/relocwrapper.c: Update comments.
57247         * build-aux/install-reloc: Remove xreadlink.c from file list.
57248         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57249         xreadlink.c.
57250         Reported by Левашев Иван <octagram@bluebottle.com>.
57251
57252 2007-12-24  Bruno Haible  <bruno@clisp.org>
57253
57254         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57255         * lib/setenv.h: Remove file.
57256         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57257         lib/setenv.h.
57258         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57259         (Depends-on): Add stdlib.
57260         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57261         gl_FUNC_UNSETENV.
57262         (Include): Replace setenv.h with <stdlib.h>.
57263         * modules/unsetenv: New file.
57264         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57265         * lib/unsetenv.c: Include <stdlib.h> first.
57266         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57267         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57268         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57269         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57270         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57271         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57273         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57274         * doc/functions/unsetenv.texi: Update.
57275         * modules/xsetenv (Depends-on): Add unsetenv.
57276         * modules/getdate (Depends-on): Likewise.
57277         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57278         * lib/xsetenv.c: Don't include setenv.h.
57279         * lib/getdate.y: Likewise.
57280         * lib/relocwrapper.c: Likewise.
57281         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57282         (Depends-on): Add stdlib.
57283         * NEWS: Mention the changes.
57284         Reported by Левашев Иван <octagram@bluebottle.com>.
57285
57286 2007-12-23  Bruno Haible  <bruno@clisp.org>
57287
57288         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57289         indentation.
57290
57291 2007-12-23  Bruno Haible  <bruno@clisp.org>
57292
57293         * lib/c-strcasestr.c: Add more comments.
57294         * lib/c-strstr.c: Likewise.
57295         * lib/mbscasestr.c: Likewise.
57296         * lib/mbsstr.c: Likewise.
57297         * lib/strcasestr.c: Likewise.
57298         * lib/memmem.c: Likewise.
57299
57300 2007-12-23  Bruno Haible  <bruno@clisp.org>
57301
57302         * tests/test-memmem.c: Include <string.h> first.
57303
57304 2007-12-22  Bruno Haible  <bruno@clisp.org>
57305
57306         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57307         the contents of $testsbase.
57308         Reported by Ralf Wildenhues.
57309
57310 2007-12-22  Bruno Haible  <bruno@clisp.org>
57311
57312         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57313         two variables local_ldadd_before, local_ldadd_last.
57314
57315 2007-12-20  Eric Blake  <ebb9@byu.net>
57316
57317         Work around circular library issue when cross-compiling.
57318         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57319         that progname.o does not need to pull in rpl_memcmp.
57320
57321 2007-12-19  Eric Blake  <ebb9@byu.net>
57322
57323         Fix memmem to avoid O(n^2) worst-case complexity.
57324         * lib/memmem.c (knuth_morris_pratt): New function.
57325         (memmem): Use it if first few naive iterations fail.
57326         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57327         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57328         * modules/memchr (License): Likewise.
57329         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57330         malloca.
57331         * tests/test-memmem.c: Rewrite, borrowing ideas from
57332         test-mbsstr1.c; the old version wouldn't even compile!
57333         * modules/memmem-tests: New file.
57334         * lib/string.in.h (rpl_memmem): Add declaration.
57335         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57336         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57337         REPLACE_MEMMEM.
57338
57339 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57340
57341         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57342         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57343         before any system include files, and undef after them all.  This
57344         should fix a problem on VMS reported by John E. Malmberg in
57345         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57346
57347 2007-12-17  Eric Blake  <ebb9@byu.net>
57348
57349         Revert addition of verify, for BSD/OS.
57350         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57351         can't handle large files, for the sake of obsolete platforms.
57352         * modules/fseeko (Depends-on): Remove verify.
57353         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57354         * doc/functions/ftello.texi (ftello): Likewise.
57355         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57356         Reported by Larry Jones.
57357
57358 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57359
57360         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57361         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57362
57363 2007-12-17  Jim Meyering  <meyering@redhat.com>
57364
57365         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57366         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57367         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57368         * modules/getcwd (Depends-on): Add openat.
57369         Reported by Petr Salinger.
57370
57371 2007-12-17  Bruno Haible  <bruno@clisp.org>
57372
57373         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57374         avoid a segmentation fault of the configure test on x86_64 systems.
57375
57376 2007-12-15  Jim Meyering  <meyering@redhat.com>
57377
57378         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57379
57380 2007-12-13  Eric Blake  <ebb9@byu.net>
57381
57382         Another fseek test.
57383         * tests/test-fseek.c (main): Also test ungetc handling.
57384         * tests/test-fseeko.c (main): Likewise.
57385         * modules/fseeko (Depends-on): Add verify.
57386         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57387         large.
57388         Reported by Larry Jones.
57389
57390         Fix fseeko on mingw.
57391         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57392         seek.
57393
57394         Beef up fseek tests.
57395         * tests/test-fseek.c (main): Also test eof handling.
57396         * tests/test-fseeko.c (main): Likewise.
57397         Reported by Larry Jones.
57398
57399 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57400
57401         Fix fseeko on BSD-based platforms.
57402         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57403         successful seek.
57404
57405 2007-12-12  Eric Blake  <ebb9@byu.net>
57406
57407         Allow circular dependency of separate libtests.a
57408         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57409         when use_libtests.
57410
57411 2007-12-11  Eric Blake  <ebb9@byu.net>
57412
57413         Fix bug with -0.0L in previous patch.
57414         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57415         * tests/test-isnan.c (main): Also test on zeroes.
57416         * tests/test-isnanf.c (main): Likewise.
57417         * tests/test-isnanl.h (main): Likewise.
57418
57419         Detect pseudo-denormals on x86 even when cross-compiling.
57420         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57421         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57422         invalid bit patterns that happen to satisfy ==.
57423
57424         Avoid link failures with separate libtests.a.
57425         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57426         last, to satisfy circular dependencies.
57427
57428 2007-12-11  Eric Blake  <ebb9@byu.net>
57429         and Bruno Haible  <bruno@clisp.org>
57430
57431         Fix OpenBSD 4.0 <float.h> handling of long double.
57432         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57433         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57434         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57435
57436 2007-12-11  Jim Meyering  <meyering@redhat.com>
57437
57438         * users.txt: Add libvirt.
57439
57440         Support versions of autoconf prior to 2.59c.
57441         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57442         if it is not already defined.
57443
57444 2007-12-09  Bruno Haible  <bruno@clisp.org>
57445
57446         Let 'gnulib-tool --import' collect sources needed for the tests in
57447         tests/ rather than in lib/.
57448         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57449         argument. If true, add rules to generate libtests.a, and put libtests.a
57450         into $(LDADD). Consider source files in subdirectories and set
57451         uses_subdirs.
57452         (func_emit_initmacro_start, func_emit_initmacro_end,
57453         func_emit_initmacro_done): Pass all arguments explicitly.
57454         (func_import): Determine two module lists main_modules,
57455         testsrelated_modules. Determine use_libtests. Determine two variables
57456         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57457         instead of just sed_transform_lib_file. Determine two variables
57458         main_files and testsrelated_files. Compute 'files' as the union of
57459         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57460         func_add_or_update. In the generated gnulib-comp.m4, collect the
57461         object files for tests/ in different variables than those for lib/.
57462         Substitute LIBTESTS_LIBDEPS.
57463         (func_create_testdir): Combine the uses_subdirs results from
57464         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57465
57466 2007-12-09  Bruno Haible  <bruno@clisp.org>
57467
57468         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57469         the build-aux directory.
57470
57471 2007-12-09  Bruno Haible  <bruno@clisp.org>
57472
57473         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57474         introduced on 2006-09-09.
57475
57476 2007-12-07  Jim Meyering  <meyering@redhat.com>
57477
57478         Let these macros work also with autoconf-2.59.
57479         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57480         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57481         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57482
57483 2007-12-06  Jim Meyering  <meyering@redhat.com>
57484
57485         Avoid a configure-time syntax error in gl_FUNC_ACL.
57486         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57487         function in each branch, before testing the cache variable.
57488
57489 2007-12-04  Eric Blake  <ebb9@byu.net>
57490
57491         Make scripts executable.
57492         * build-aux/config.guess: Add execute permissions.
57493         * build-aux/config.sub: Likewise.
57494         * build-aux/gendocs.sh: Likewise.
57495
57496         Fix frexp on mingw.
57497         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57498         cross-compiling.
57499         * doc/functions/frexp.texi (frexp): Document the bug.
57500
57501         Make cygwin fseeko check more reliable.
57502         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57503         version numbers, rather than unrelated feature check.
57504         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57505         * doc/functions/ftello.texi (ftello): Likewise.
57506         Reported by Bruno Haible.
57507
57508         * m4/strerror.m4: Bump version number.
57509
57510 2007-12-03  Bruno Haible  <bruno@clisp.org>
57511
57512         * doc/functions/mprotect.texi: Mention the mingw problem.
57513
57514 2007-12-03  Eric Blake  <ebb9@byu.net>
57515
57516         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57517         REPLACE_STRERROR is initialized before this macro.
57518
57519 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57520
57521         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57522         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57523         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57524         put -lsec in even for programs other than 'ls'.  This fixes a problem
57525         for gettext reported by Bruno Haible in
57526         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57527         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57528         Add support for Solaris 10.  This isn't efficient, but should get the
57529         job done for now.
57530
57531 2007-12-03  James Youngman  <jay@gnu.org>
57532
57533         * doc/regexprops-generic.texi: change "an close-group" to "a
57534         close-group" and "illegal" to "not allowed".
57535
57536 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57537
57538         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57539         pr_byname.h. Needed for the rare case when the maintainer has done
57540         "make maintainer-clean" in the source directory and then attempts a
57541         build outside the source directory.
57542         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57543         scripts_byname.h.
57544
57545 2007-12-02  Martin Lambers <marlam@marlam.de>
57546             Bruno Haible  <bruno@clisp.org>
57547
57548         * lib/getpagesize.h: Remove file.
57549         * lib/unistd.in.h: Include declaration of getpagesize here.
57550         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57551         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57552         HAVE_SYS_PARAM_H.
57553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57554         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57555         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57556         (Depends-on): Add unistd.
57557         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57558         (Include): Use <unistd.h> instead of getpagesize.h.
57559         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57560         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57561         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57562         gl_GETPAGESIZE invocation, already handled by module dependency.
57563         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57564
57565 2007-12-02  Bruno Haible  <bruno@clisp.org>
57566
57567         * modules/strings-tests: New file.
57568         * tests/test-strings.c: New file.
57569
57570         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57571         * lib/strings.in.h: New file.
57572         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57573         * m4/strings_h.m4: New file.
57574         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57575         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57576         * modules/strings: New file.
57577         * modules/string (Makefile.am): Update.
57578         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57579         Reported by Karl Berry.
57580
57581 2007-12-01  Eric Blake  <ebb9@byu.net>
57582
57583         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57584         accomodate fix in cygwin 1.5.25.
57585
57586 2007-12-01  Jim Meyering  <meyering@redhat.com>
57587
57588         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57589         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57590         that would inhibit utf8-optimization of a regexp containing line-
57591         or buffer-anchors, e.g., `^', `$'.
57592
57593 2007-11-30  Bruno Haible  <bruno@clisp.org>
57594
57595         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57596         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57597         glthread_recursive_lock_init.
57598         * lib/lock.c (glthread_recursive_lock_init)
57599         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57600         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57601
57602 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57603
57604         New function qset_acl, like set_acl but with syscall semantics.
57605         * lib/acl.h (qset_acl): New decl.
57606         * lib/acl.c (qset_acl): New function.
57607         (set_acl): Use new function.  Use more-consistent diagnostics.
57608
57609 2007-11-28  Jim Meyering  <meyering@redhat.com>
57610
57611         * modules/physmem (License): Change from GPL to LGPLv2+.
57612
57613 2007-11-26  Bruno Haible  <bruno@clisp.org>
57614
57615         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57616         'long double' type has excess precision.
57617         Reported by Jim Meyering in
57618         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57619
57620 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57621
57622         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57623         Sync from <http://gnu.org/licenses>.
57624         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57625         with license text from same location.
57626         * doc/maintain.texi, doc/standards.texi:  Sync from
57627         <http://savannah.gnu.org/projects/gnustandards>.
57628
57629 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
57630         and Jim Meyering  <meyering@redhat.com>
57631
57632         Adjust getdate' grammar to accept a slightly more regular language.
57633         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57634         Before, the former was rejected.
57635         * lib/getdate.y (digits_to_date_time): New function, factored
57636         out of ...
57637         (number): ...here.  Just call digits_to_date_time.
57638         (hybrid): New non-terminal to handle an <unsigned number,
57639         signed relative offset> sequence consistently.
57640
57641 2007-11-18  Jim Meyering  <meyering@redhat.com>
57642
57643         Pull my changes from coreutils:
57644         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57645         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57646         use of $gnulib_tool_option_extras, so that it's separated from the
57647         preceding argument.
57648
57649         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57650         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57651         parent destination directories before copying a file into place.
57652
57653 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57654
57655         bootstrap: work also with 4-argument variant of AC_INIT
57656         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57657
57658 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57659
57660         Port test-getaddrinfo to Solaris.
57661         Problem reported by Bruno Haible in
57662         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57663         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57664         explanation of setting 'hints'.
57665         Don't reject an implementation merely because it returns EAI_SERVICE.
57666         (EAI_SERVICE): Define to 0 if not defined.
57667
57668 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57669
57670         The license of gnu-make and posix-shell is now "GPLed build tool".
57671         * modules/gnu-make (License): Likewise.
57672         * modules/posix-shell (License): Likewise.
57673
57674         New module posix-shell, for determining a POSIX shell
57675         or perhaps something that is close enough to a POSIX shell.
57676         * m4/posix-shell.m4: New file.
57677         * modules/posix-shell: New file.
57678
57679         * MODULES.html.sh: Mention new module.
57680
57681         New module gnu-make, for determining whether we're using GNU Make.
57682         * m4/gnu-make.m4: New file.
57683         * modules/gnu-make: New file.
57684         * MODULES.html.sh: Mention new module.
57685
57686 2007-11-14  Jim Meyering  <meyering@redhat.com>
57687
57688         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57689         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57690         use this macro to create a function _definition_.
57691         Remove useless "#undef ARGMATCH_DIE".
57692
57693 2007-11-14  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/config.charset: Update for OpenBSD 4.1.
57696         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57697
57698 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57699
57700         Document 64-bit #if problems in stdint.texi.
57701         * doc/headers/stdint.texi (stdint.h): Mention problems with
57702         64-bit-#if, and how to work around them.
57703
57704         Don't insist on 'long long int' support in the preprocessor.  It
57705         breaks too many things.  For example, PRIdMAX still uses a 'long
57706         long int' format with the latest Sun compiler, even though
57707         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57708         preprocessor problem.  This causes the latest coreutils to dump
57709         core on Solaris 10 sparc with the Sun C compiler.
57710         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57711         the troublesome expressions at configure-time, not at #if-time.
57712         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57713         preprocessor.
57714         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57715         compile-time C checks, done at 'configure'-time.
57716         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57717         * modules/inttypes (Makefile): Substitute the new symbols that
57718         gl_INTTYPES_H now generates.
57719         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57720
57721 2007-11-12  Bruno Haible  <bruno@clisp.org>
57722
57723         Tests for Unicode character classification functions.
57724
57725         * modules/unictype/bidicategory-byname-tests: New file.
57726         * modules/unictype/bidicategory-name-tests: New file.
57727         * modules/unictype/bidicategory-of-tests: New file.
57728         * modules/unictype/bidicategory-test-tests: New file.
57729         * modules/unictype/block-list-tests: New file.
57730         * modules/unictype/block-of-tests: New file.
57731         * modules/unictype/block-test-tests: New file.
57732         * modules/unictype/category-C-tests: New file.
57733         * modules/unictype/category-Cc-tests: New file.
57734         * modules/unictype/category-Cf-tests: New file.
57735         * modules/unictype/category-Cn-tests: New file.
57736         * modules/unictype/category-Co-tests: New file.
57737         * modules/unictype/category-Cs-tests: New file.
57738         * modules/unictype/category-L-tests: New file.
57739         * modules/unictype/category-Ll-tests: New file.
57740         * modules/unictype/category-Lm-tests: New file.
57741         * modules/unictype/category-Lo-tests: New file.
57742         * modules/unictype/category-Lt-tests: New file.
57743         * modules/unictype/category-Lu-tests: New file.
57744         * modules/unictype/category-M-tests: New file.
57745         * modules/unictype/category-Mc-tests: New file.
57746         * modules/unictype/category-Me-tests: New file.
57747         * modules/unictype/category-Mn-tests: New file.
57748         * modules/unictype/category-N-tests: New file.
57749         * modules/unictype/category-Nd-tests: New file.
57750         * modules/unictype/category-Nl-tests: New file.
57751         * modules/unictype/category-No-tests: New file.
57752         * modules/unictype/category-P-tests: New file.
57753         * modules/unictype/category-Pc-tests: New file.
57754         * modules/unictype/category-Pd-tests: New file.
57755         * modules/unictype/category-Pe-tests: New file.
57756         * modules/unictype/category-Pf-tests: New file.
57757         * modules/unictype/category-Pi-tests: New file.
57758         * modules/unictype/category-Po-tests: New file.
57759         * modules/unictype/category-Ps-tests: New file.
57760         * modules/unictype/category-S-tests: New file.
57761         * modules/unictype/category-Sc-tests: New file.
57762         * modules/unictype/category-Sk-tests: New file.
57763         * modules/unictype/category-Sm-tests: New file.
57764         * modules/unictype/category-So-tests: New file.
57765         * modules/unictype/category-Z-tests: New file.
57766         * modules/unictype/category-Zl-tests: New file.
57767         * modules/unictype/category-Zp-tests: New file.
57768         * modules/unictype/category-Zs-tests: New file.
57769         * modules/unictype/category-and-not-tests: New file.
57770         * modules/unictype/category-and-tests: New file.
57771         * modules/unictype/category-byname-tests: New file.
57772         * modules/unictype/category-name-tests: New file.
57773         * modules/unictype/category-none-tests: New file.
57774         * modules/unictype/category-of-tests: New file.
57775         * modules/unictype/category-or-tests: New file.
57776         * modules/unictype/category-test-withtable-tests: New file.
57777         * modules/unictype/combining-class-tests: New file.
57778         * modules/unictype/ctype-alnum-tests: New file.
57779         * modules/unictype/ctype-alpha-tests: New file.
57780         * modules/unictype/ctype-blank-tests: New file.
57781         * modules/unictype/ctype-cntrl-tests: New file.
57782         * modules/unictype/ctype-digit-tests: New file.
57783         * modules/unictype/ctype-graph-tests: New file.
57784         * modules/unictype/ctype-lower-tests: New file.
57785         * modules/unictype/ctype-print-tests: New file.
57786         * modules/unictype/ctype-punct-tests: New file.
57787         * modules/unictype/ctype-space-tests: New file.
57788         * modules/unictype/ctype-upper-tests: New file.
57789         * modules/unictype/ctype-xdigit-tests: New file.
57790         * modules/unictype/decimal-digit-tests: New file.
57791         * modules/unictype/digit-tests: New file.
57792         * modules/unictype/mirror-tests: New file.
57793         * modules/unictype/numeric-tests: New file.
57794         * modules/unictype/property-alphabetic-tests: New file.
57795         * modules/unictype/property-ascii-hex-digit-tests: New file.
57796         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57797         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57798         * modules/unictype/property-bidi-block-separator-tests: New file.
57799         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57800         * modules/unictype/property-bidi-common-separator-tests: New file.
57801         * modules/unictype/property-bidi-control-tests: New file.
57802         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57803         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57804         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57805         * modules/unictype/property-bidi-european-digit-tests: New file.
57806         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57807         * modules/unictype/property-bidi-left-to-right-tests: New file.
57808         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57809         * modules/unictype/property-bidi-other-neutral-tests: New file.
57810         * modules/unictype/property-bidi-pdf-tests: New file.
57811         * modules/unictype/property-bidi-segment-separator-tests: New file.
57812         * modules/unictype/property-bidi-whitespace-tests: New file.
57813         * modules/unictype/property-byname-tests: New file.
57814         * modules/unictype/property-combining-tests: New file.
57815         * modules/unictype/property-composite-tests: New file.
57816         * modules/unictype/property-currency-symbol-tests: New file.
57817         * modules/unictype/property-dash-tests: New file.
57818         * modules/unictype/property-decimal-digit-tests: New file.
57819         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57820         * modules/unictype/property-deprecated-tests: New file.
57821         * modules/unictype/property-diacritic-tests: New file.
57822         * modules/unictype/property-extender-tests: New file.
57823         * modules/unictype/property-format-control-tests: New file.
57824         * modules/unictype/property-grapheme-base-tests: New file.
57825         * modules/unictype/property-grapheme-extend-tests: New file.
57826         * modules/unictype/property-grapheme-link-tests: New file.
57827         * modules/unictype/property-hex-digit-tests: New file.
57828         * modules/unictype/property-hyphen-tests: New file.
57829         * modules/unictype/property-id-continue-tests: New file.
57830         * modules/unictype/property-id-start-tests: New file.
57831         * modules/unictype/property-ideographic-tests: New file.
57832         * modules/unictype/property-ids-binary-operator-tests: New file.
57833         * modules/unictype/property-ids-trinary-operator-tests: New file.
57834         * modules/unictype/property-ignorable-control-tests: New file.
57835         * modules/unictype/property-iso-control-tests: New file.
57836         * modules/unictype/property-join-control-tests: New file.
57837         * modules/unictype/property-left-of-pair-tests: New file.
57838         * modules/unictype/property-line-separator-tests: New file.
57839         * modules/unictype/property-logical-order-exception-tests: New file.
57840         * modules/unictype/property-lowercase-tests: New file.
57841         * modules/unictype/property-math-tests: New file.
57842         * modules/unictype/property-non-break-tests: New file.
57843         * modules/unictype/property-not-a-character-tests: New file.
57844         * modules/unictype/property-numeric-tests: New file.
57845         * modules/unictype/property-other-alphabetic-tests: New file.
57846         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57847         * modules/unictype/property-other-grapheme-extend-tests: New file.
57848         * modules/unictype/property-other-id-continue-tests: New file.
57849         * modules/unictype/property-other-id-start-tests: New file.
57850         * modules/unictype/property-other-lowercase-tests: New file.
57851         * modules/unictype/property-other-math-tests: New file.
57852         * modules/unictype/property-other-uppercase-tests: New file.
57853         * modules/unictype/property-paired-punctuation-tests: New file.
57854         * modules/unictype/property-paragraph-separator-tests: New file.
57855         * modules/unictype/property-pattern-syntax-tests: New file.
57856         * modules/unictype/property-pattern-white-space-tests: New file.
57857         * modules/unictype/property-private-use-tests: New file.
57858         * modules/unictype/property-punctuation-tests: New file.
57859         * modules/unictype/property-quotation-mark-tests: New file.
57860         * modules/unictype/property-radical-tests: New file.
57861         * modules/unictype/property-sentence-terminal-tests: New file.
57862         * modules/unictype/property-soft-dotted-tests: New file.
57863         * modules/unictype/property-space-tests: New file.
57864         * modules/unictype/property-terminal-punctuation-tests: New file.
57865         * modules/unictype/property-test-tests: New file.
57866         * modules/unictype/property-titlecase-tests: New file.
57867         * modules/unictype/property-unassigned-code-value-tests: New file.
57868         * modules/unictype/property-unified-ideograph-tests: New file.
57869         * modules/unictype/property-uppercase-tests: New file.
57870         * modules/unictype/property-variation-selector-tests: New file.
57871         * modules/unictype/property-white-space-tests: New file.
57872         * modules/unictype/property-xid-continue-tests: New file.
57873         * modules/unictype/property-xid-start-tests: New file.
57874         * modules/unictype/property-zero-width-tests: New file.
57875         * modules/unictype/scripts-tests: New file.
57876         * modules/unictype/syntax-c-ident-tests: New file.
57877         * modules/unictype/syntax-c-whitespace-tests: New file.
57878         * modules/unictype/syntax-java-ident-tests: New file.
57879         * modules/unictype/syntax-java-whitespace-tests: New file.
57880         * tests/unictype/test-bidi_byname.c: New file.
57881         * tests/unictype/test-bidi_name.c: New file.
57882         * tests/unictype/test-bidi_of.c: New file.
57883         * tests/unictype/test-bidi_test.c: New file.
57884         * tests/unictype/test-block_list.c: New file.
57885         * tests/unictype/test-block_of.c: New file.
57886         * tests/unictype/test-block_test.c: New file.
57887         * tests/unictype/test-categ_and.c: New file.
57888         * tests/unictype/test-categ_and_not.c: New file.
57889         * tests/unictype/test-categ_byname.c: New file.
57890         * tests/unictype/test-categ_name.c: New file.
57891         * tests/unictype/test-categ_none.c: New file.
57892         * tests/unictype/test-categ_of.c: New file.
57893         * tests/unictype/test-categ_or.c: New file.
57894         * tests/unictype/test-categ_test_withtable.c: New file.
57895         * tests/unictype/test-combining.c: New file.
57896         * tests/unictype/test-decdigit.c: New file.
57897         * tests/unictype/test-digit.c: New file.
57898         * tests/unictype/test-mirror.c: New file.
57899         * tests/unictype/test-numeric.c: New file.
57900         * tests/unictype/test-pr_byname.c: New file.
57901         * tests/unictype/test-pr_test.c: New file.
57902         * tests/unictype/test-predicate-part1.h: New file.
57903         * tests/unictype/test-predicate-part2.h: New file.
57904         * tests/unictype/test-scripts.c: New file.
57905         * tests/unictype/test-sy_c_ident.c: New file.
57906         * tests/unictype/test-sy_java_ident.c: New file.
57907
57908         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57909         for Unicode 5.0.0.
57910         * tests/unictype/test-categ_Cc.c: Likewise.
57911         * tests/unictype/test-categ_Cf.c: Likewise.
57912         * tests/unictype/test-categ_Cn.c: Likewise.
57913         * tests/unictype/test-categ_Co.c: Likewise.
57914         * tests/unictype/test-categ_Cs.c: Likewise.
57915         * tests/unictype/test-categ_L.c: Likewise.
57916         * tests/unictype/test-categ_Ll.c: Likewise.
57917         * tests/unictype/test-categ_Lm.c: Likewise.
57918         * tests/unictype/test-categ_Lo.c: Likewise.
57919         * tests/unictype/test-categ_Lt.c: Likewise.
57920         * tests/unictype/test-categ_Lu.c: Likewise.
57921         * tests/unictype/test-categ_M.c: Likewise.
57922         * tests/unictype/test-categ_Mc.c: Likewise.
57923         * tests/unictype/test-categ_Me.c: Likewise.
57924         * tests/unictype/test-categ_Mn.c: Likewise.
57925         * tests/unictype/test-categ_N.c: Likewise.
57926         * tests/unictype/test-categ_Nd.c: Likewise.
57927         * tests/unictype/test-categ_Nl.c: Likewise.
57928         * tests/unictype/test-categ_No.c: Likewise.
57929         * tests/unictype/test-categ_P.c: Likewise.
57930         * tests/unictype/test-categ_Pc.c: Likewise.
57931         * tests/unictype/test-categ_Pd.c: Likewise.
57932         * tests/unictype/test-categ_Pe.c: Likewise.
57933         * tests/unictype/test-categ_Pf.c: Likewise.
57934         * tests/unictype/test-categ_Pi.c: Likewise.
57935         * tests/unictype/test-categ_Po.c: Likewise.
57936         * tests/unictype/test-categ_Ps.c: Likewise.
57937         * tests/unictype/test-categ_S.c: Likewise.
57938         * tests/unictype/test-categ_Sc.c: Likewise.
57939         * tests/unictype/test-categ_Sk.c: Likewise.
57940         * tests/unictype/test-categ_Sm.c: Likewise.
57941         * tests/unictype/test-categ_So.c: Likewise.
57942         * tests/unictype/test-categ_Z.c: Likewise.
57943         * tests/unictype/test-categ_Zl.c: Likewise.
57944         * tests/unictype/test-categ_Zp.c: Likewise.
57945         * tests/unictype/test-categ_Zs.c: Likewise.
57946         * tests/unictype/test-ctype_alnum.c: Likewise.
57947         * tests/unictype/test-ctype_alpha.c: Likewise.
57948         * tests/unictype/test-ctype_blank.c: Likewise.
57949         * tests/unictype/test-ctype_cntrl.c: Likewise.
57950         * tests/unictype/test-ctype_digit.c: Likewise.
57951         * tests/unictype/test-ctype_graph.c: Likewise.
57952         * tests/unictype/test-ctype_lower.c: Likewise.
57953         * tests/unictype/test-ctype_print.c: Likewise.
57954         * tests/unictype/test-ctype_punct.c: Likewise.
57955         * tests/unictype/test-ctype_space.c: Likewise.
57956         * tests/unictype/test-ctype_upper.c: Likewise.
57957         * tests/unictype/test-ctype_xdigit.c: Likewise.
57958         * tests/unictype/test-decdigit.h: Likewise.
57959         * tests/unictype/test-digit.h: Likewise.
57960         * tests/unictype/test-numeric.h: Likewise.
57961         * tests/unictype/test-pr_alphabetic.c: Likewise.
57962         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57963         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57964         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57965         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57966         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57967         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57968         * tests/unictype/test-pr_bidi_control.c: Likewise.
57969         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57970         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57971         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57972         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57973         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57974         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57975         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57976         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57977         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57978         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57979         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57980         * tests/unictype/test-pr_combining.c: Likewise.
57981         * tests/unictype/test-pr_composite.c: Likewise.
57982         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57983         * tests/unictype/test-pr_dash.c: Likewise.
57984         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57985         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57986         * tests/unictype/test-pr_deprecated.c: Likewise.
57987         * tests/unictype/test-pr_diacritic.c: Likewise.
57988         * tests/unictype/test-pr_extender.c: Likewise.
57989         * tests/unictype/test-pr_format_control.c: Likewise.
57990         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57991         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57992         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57993         * tests/unictype/test-pr_hex_digit.c: Likewise.
57994         * tests/unictype/test-pr_hyphen.c: Likewise.
57995         * tests/unictype/test-pr_id_continue.c: Likewise.
57996         * tests/unictype/test-pr_id_start.c: Likewise.
57997         * tests/unictype/test-pr_ideographic.c: Likewise.
57998         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57999         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58000         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58001         * tests/unictype/test-pr_iso_control.c: Likewise.
58002         * tests/unictype/test-pr_join_control.c: Likewise.
58003         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58004         * tests/unictype/test-pr_line_separator.c: Likewise.
58005         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58006         * tests/unictype/test-pr_lowercase.c: Likewise.
58007         * tests/unictype/test-pr_math.c: Likewise.
58008         * tests/unictype/test-pr_non_break.c: Likewise.
58009         * tests/unictype/test-pr_not_a_character.c: Likewise.
58010         * tests/unictype/test-pr_numeric.c: Likewise.
58011         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58012         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58013         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58014         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58015         * tests/unictype/test-pr_other_id_start.c: Likewise.
58016         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58017         * tests/unictype/test-pr_other_math.c: Likewise.
58018         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58019         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58020         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58021         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58022         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58023         * tests/unictype/test-pr_private_use.c: Likewise.
58024         * tests/unictype/test-pr_punctuation.c: Likewise.
58025         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58026         * tests/unictype/test-pr_radical.c: Likewise.
58027         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58028         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58029         * tests/unictype/test-pr_space.c: Likewise.
58030         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58031         * tests/unictype/test-pr_titlecase.c: Likewise.
58032         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58033         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58034         * tests/unictype/test-pr_uppercase.c: Likewise.
58035         * tests/unictype/test-pr_variation_selector.c: Likewise.
58036         * tests/unictype/test-pr_white_space.c: Likewise.
58037         * tests/unictype/test-pr_xid_continue.c: Likewise.
58038         * tests/unictype/test-pr_xid_start.c: Likewise.
58039         * tests/unictype/test-pr_zero_width.c: Likewise.
58040         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58041         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58042
58043 2007-11-12  Bruno Haible  <bruno@clisp.org>
58044
58045         Unicode character classification functions.
58046         * lib/unictype.h: New file.
58047         * modules/unictype/base: New file.
58048         * modules/unictype/category-L: New file.
58049         * modules/unictype/category-Lu: New file.
58050         * modules/unictype/category-Ll: New file.
58051         * modules/unictype/category-Lt: New file.
58052         * modules/unictype/category-Lm: New file.
58053         * modules/unictype/category-Lo: New file.
58054         * modules/unictype/category-M: New file.
58055         * modules/unictype/category-Mn: New file.
58056         * modules/unictype/category-Mc: New file.
58057         * modules/unictype/category-Me: New file.
58058         * modules/unictype/category-N: New file.
58059         * modules/unictype/category-Nd: New file.
58060         * modules/unictype/category-Nl: New file.
58061         * modules/unictype/category-No: New file.
58062         * modules/unictype/category-P: New file.
58063         * modules/unictype/category-Pc: New file.
58064         * modules/unictype/category-Pd: New file.
58065         * modules/unictype/category-Ps: New file.
58066         * modules/unictype/category-Pe: New file.
58067         * modules/unictype/category-Pi: New file.
58068         * modules/unictype/category-Pf: New file.
58069         * modules/unictype/category-Po: New file.
58070         * modules/unictype/category-S: New file.
58071         * modules/unictype/category-Sm: New file.
58072         * modules/unictype/category-Sc: New file.
58073         * modules/unictype/category-Sk: New file.
58074         * modules/unictype/category-So: New file.
58075         * modules/unictype/category-Z: New file.
58076         * modules/unictype/category-Zs: New file.
58077         * modules/unictype/category-Zl: New file.
58078         * modules/unictype/category-Zp: New file.
58079         * modules/unictype/category-C: New file.
58080         * modules/unictype/category-Cc: New file.
58081         * modules/unictype/category-Cf: New file.
58082         * modules/unictype/category-Cs: New file.
58083         * modules/unictype/category-Co: New file.
58084         * modules/unictype/category-Cn: New file.
58085         * modules/unictype/category-or: New file.
58086         * modules/unictype/category-of: New file.
58087         * modules/unictype/category-test: New file.
58088         * modules/unictype/category-test-withtable: New file.
58089         * modules/unictype/category-byname: New file.
58090         * modules/unictype/category-none: New file.
58091         * modules/unictype/category-and: New file.
58092         * modules/unictype/category-and-not: New file.
58093         * modules/unictype/category-name: New file.
58094         * modules/unictype/combining-class: New file.
58095         * modules/unictype/category-all: New file.
58096         * modules/unictype/bidicategory-all: New file.
58097         * modules/unictype/bidicategory-byname: New file.
58098         * modules/unictype/bidicategory-name: New file.
58099         * modules/unictype/bidicategory-of: New file.
58100         * modules/unictype/bidicategory-test: New file.
58101         * modules/unictype/decimal-digit: New file.
58102         * modules/unictype/digit: New file.
58103         * modules/unictype/numeric: New file.
58104         * modules/unictype/mirror: New file.
58105         * modules/unictype/property-white-space: New file.
58106         * modules/unictype/property-alphabetic: New file.
58107         * modules/unictype/property-other-alphabetic: New file.
58108         * modules/unictype/property-not-a-character: New file.
58109         * modules/unictype/property-default-ignorable-code-point: New file.
58110         * modules/unictype/property-other-default-ignorable-code-point: New
58111         file.
58112         * modules/unictype/property-deprecated: New file.
58113         * modules/unictype/property-logical-order-exception: New file.
58114         * modules/unictype/property-variation-selector: New file.
58115         * modules/unictype/property-private-use: New file.
58116         * modules/unictype/property-unassigned-code-value: New file.
58117         * modules/unictype/property-uppercase: New file.
58118         * modules/unictype/property-other-uppercase: New file.
58119         * modules/unictype/property-lowercase: New file.
58120         * modules/unictype/property-other-lowercase: New file.
58121         * modules/unictype/property-titlecase: New file.
58122         * modules/unictype/property-soft-dotted: New file.
58123         * modules/unictype/property-id-start: New file.
58124         * modules/unictype/property-other-id-start: New file.
58125         * modules/unictype/property-id-continue: New file.
58126         * modules/unictype/property-other-id-continue: New file.
58127         * modules/unictype/property-xid-start: New file.
58128         * modules/unictype/property-xid-continue: New file.
58129         * modules/unictype/property-pattern-white-space: New file.
58130         * modules/unictype/property-pattern-syntax: New file.
58131         * modules/unictype/property-join-control: New file.
58132         * modules/unictype/property-grapheme-base: New file.
58133         * modules/unictype/property-grapheme-extend: New file.
58134         * modules/unictype/property-other-grapheme-extend: New file.
58135         * modules/unictype/property-grapheme-link: New file.
58136         * modules/unictype/property-bidi-control: New file.
58137         * modules/unictype/property-bidi-left-to-right: New file.
58138         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58139         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58140         * modules/unictype/property-bidi-european-digit: New file.
58141         * modules/unictype/property-bidi-eur-num-separator: New file.
58142         * modules/unictype/property-bidi-eur-num-terminator: New file.
58143         * modules/unictype/property-bidi-arabic-digit: New file.
58144         * modules/unictype/property-bidi-common-separator: New file.
58145         * modules/unictype/property-bidi-block-separator: New file.
58146         * modules/unictype/property-bidi-segment-separator: New file.
58147         * modules/unictype/property-bidi-whitespace: New file.
58148         * modules/unictype/property-bidi-non-spacing-mark: New file.
58149         * modules/unictype/property-bidi-boundary-neutral: New file.
58150         * modules/unictype/property-bidi-pdf: New file.
58151         * modules/unictype/property-bidi-embedding-or-override: New file.
58152         * modules/unictype/property-bidi-other-neutral: New file.
58153         * modules/unictype/property-hex-digit: New file.
58154         * modules/unictype/property-ascii-hex-digit: New file.
58155         * modules/unictype/property-ideographic: New file.
58156         * modules/unictype/property-unified-ideograph: New file.
58157         * modules/unictype/property-radical: New file.
58158         * modules/unictype/property-ids-binary-operator: New file.
58159         * modules/unictype/property-ids-trinary-operator: New file.
58160         * modules/unictype/property-zero-width: New file.
58161         * modules/unictype/property-space: New file.
58162         * modules/unictype/property-non-break: New file.
58163         * modules/unictype/property-iso-control: New file.
58164         * modules/unictype/property-format-control: New file.
58165         * modules/unictype/property-dash: New file.
58166         * modules/unictype/property-hyphen: New file.
58167         * modules/unictype/property-punctuation: New file.
58168         * modules/unictype/property-line-separator: New file.
58169         * modules/unictype/property-paragraph-separator: New file.
58170         * modules/unictype/property-quotation-mark: New file.
58171         * modules/unictype/property-sentence-terminal: New file.
58172         * modules/unictype/property-terminal-punctuation: New file.
58173         * modules/unictype/property-currency-symbol: New file.
58174         * modules/unictype/property-math: New file.
58175         * modules/unictype/property-other-math: New file.
58176         * modules/unictype/property-paired-punctuation: New file.
58177         * modules/unictype/property-left-of-pair: New file.
58178         * modules/unictype/property-combining: New file.
58179         * modules/unictype/property-composite: New file.
58180         * modules/unictype/property-decimal-digit: New file.
58181         * modules/unictype/property-numeric: New file.
58182         * modules/unictype/property-diacritic: New file.
58183         * modules/unictype/property-extender: New file.
58184         * modules/unictype/property-ignorable-control: New file.
58185         * modules/unictype/property-test: New file.
58186         * modules/unictype/property-byname: New file.
58187         * modules/unictype/property-all: New file.
58188         * modules/unictype/scripts: New file.
58189         * modules/unictype/scripts-all: New file.
58190         * modules/unictype/block-of: New file.
58191         * modules/unictype/block-test: New file.
58192         * modules/unictype/block-list: New file.
58193         * modules/unictype/block-all: New file.
58194         * modules/unictype/syntax-c-whitespace: New file.
58195         * modules/unictype/syntax-java-whitespace: New file.
58196         * modules/unictype/syntax-c-ident: New file.
58197         * modules/unictype/syntax-java-ident: New file.
58198         * modules/unictype/ctype-alnum: New file.
58199         * modules/unictype/ctype-alpha: New file.
58200         * modules/unictype/ctype-cntrl: New file.
58201         * modules/unictype/ctype-digit: New file.
58202         * modules/unictype/ctype-graph: New file.
58203         * modules/unictype/ctype-lower: New file.
58204         * modules/unictype/ctype-print: New file.
58205         * modules/unictype/ctype-punct: New file.
58206         * modules/unictype/ctype-space: New file.
58207         * modules/unictype/ctype-upper: New file.
58208         * modules/unictype/ctype-xdigit: New file.
58209         * modules/unictype/ctype-blank: New file.
58210         * lib/unictype/bidi_byname.c: New file.
58211         * lib/unictype/bidi_name.c: New file.
58212         * lib/unictype/bidi_of.c: New file.
58213         * lib/unictype/bidi_test.c: New file.
58214         * lib/unictype/bitmap.h: New file.
58215         * lib/unictype/block_test.c: New file.
58216         * lib/unictype/blocks.c: New file.
58217         * lib/unictype/categ_C.c: New file.
58218         * lib/unictype/categ_Cc.c: New file.
58219         * lib/unictype/categ_Cf.c: New file.
58220         * lib/unictype/categ_Cn.c: New file.
58221         * lib/unictype/categ_Co.c: New file.
58222         * lib/unictype/categ_Cs.c: New file.
58223         * lib/unictype/categ_L.c: New file.
58224         * lib/unictype/categ_Ll.c: New file.
58225         * lib/unictype/categ_Lm.c: New file.
58226         * lib/unictype/categ_Lo.c: New file.
58227         * lib/unictype/categ_Lt.c: New file.
58228         * lib/unictype/categ_Lu.c: New file.
58229         * lib/unictype/categ_M.c: New file.
58230         * lib/unictype/categ_Mc.c: New file.
58231         * lib/unictype/categ_Me.c: New file.
58232         * lib/unictype/categ_Mn.c: New file.
58233         * lib/unictype/categ_N.c: New file.
58234         * lib/unictype/categ_Nd.c: New file.
58235         * lib/unictype/categ_Nl.c: New file.
58236         * lib/unictype/categ_No.c: New file.
58237         * lib/unictype/categ_P.c: New file.
58238         * lib/unictype/categ_Pc.c: New file.
58239         * lib/unictype/categ_Pd.c: New file.
58240         * lib/unictype/categ_Pe.c: New file.
58241         * lib/unictype/categ_Pf.c: New file.
58242         * lib/unictype/categ_Pi.c: New file.
58243         * lib/unictype/categ_Po.c: New file.
58244         * lib/unictype/categ_Ps.c: New file.
58245         * lib/unictype/categ_S.c: New file.
58246         * lib/unictype/categ_Sc.c: New file.
58247         * lib/unictype/categ_Sk.c: New file.
58248         * lib/unictype/categ_Sm.c: New file.
58249         * lib/unictype/categ_So.c: New file.
58250         * lib/unictype/categ_Z.c: New file.
58251         * lib/unictype/categ_Zl.c: New file.
58252         * lib/unictype/categ_Zp.c: New file.
58253         * lib/unictype/categ_Zs.c: New file.
58254         * lib/unictype/categ_and.c: New file.
58255         * lib/unictype/categ_and_not.c: New file.
58256         * lib/unictype/categ_byname.c: New file.
58257         * lib/unictype/categ_name.c: New file.
58258         * lib/unictype/categ_none.c: New file.
58259         * lib/unictype/categ_of.c: New file.
58260         * lib/unictype/categ_or.c: New file.
58261         * lib/unictype/categ_test.c: New file.
58262         * lib/unictype/combining.c: New file.
58263         * lib/unictype/ctype_alnum.c: New file.
58264         * lib/unictype/ctype_alpha.c: New file.
58265         * lib/unictype/ctype_blank.c: New file.
58266         * lib/unictype/ctype_cntrl.c: New file.
58267         * lib/unictype/ctype_digit.c: New file.
58268         * lib/unictype/ctype_graph.c: New file.
58269         * lib/unictype/ctype_lower.c: New file.
58270         * lib/unictype/ctype_print.c: New file.
58271         * lib/unictype/ctype_punct.c: New file.
58272         * lib/unictype/ctype_space.c: New file.
58273         * lib/unictype/ctype_upper.c: New file.
58274         * lib/unictype/ctype_xdigit.c: New file.
58275         * lib/unictype/decdigit.c: New file.
58276         * lib/unictype/digit.c: New file.
58277         * lib/unictype/identsyntaxmap.h: New file.
58278         * lib/unictype/mirror.c: New file.
58279         * lib/unictype/numeric.c: New file.
58280         * lib/unictype/pr_alphabetic.c: New file.
58281         * lib/unictype/pr_ascii_hex_digit.c: New file.
58282         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58283         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58284         * lib/unictype/pr_bidi_block_separator.c: New file.
58285         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58286         * lib/unictype/pr_bidi_common_separator.c: New file.
58287         * lib/unictype/pr_bidi_control.c: New file.
58288         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58289         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58290         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58291         * lib/unictype/pr_bidi_european_digit.c: New file.
58292         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58293         * lib/unictype/pr_bidi_left_to_right.c: New file.
58294         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58295         * lib/unictype/pr_bidi_other_neutral.c: New file.
58296         * lib/unictype/pr_bidi_pdf.c: New file.
58297         * lib/unictype/pr_bidi_segment_separator.c: New file.
58298         * lib/unictype/pr_bidi_whitespace.c: New file.
58299         * lib/unictype/pr_byname.c: New file.
58300         * lib/unictype/pr_byname.gperf: New file.
58301         * lib/unictype/pr_combining.c: New file.
58302         * lib/unictype/pr_composite.c: New file.
58303         * lib/unictype/pr_currency_symbol.c: New file.
58304         * lib/unictype/pr_dash.c: New file.
58305         * lib/unictype/pr_decimal_digit.c: New file.
58306         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58307         * lib/unictype/pr_deprecated.c: New file.
58308         * lib/unictype/pr_diacritic.c: New file.
58309         * lib/unictype/pr_extender.c: New file.
58310         * lib/unictype/pr_format_control.c: New file.
58311         * lib/unictype/pr_grapheme_base.c: New file.
58312         * lib/unictype/pr_grapheme_extend.c: New file.
58313         * lib/unictype/pr_grapheme_link.c: New file.
58314         * lib/unictype/pr_hex_digit.c: New file.
58315         * lib/unictype/pr_hyphen.c: New file.
58316         * lib/unictype/pr_id_continue.c: New file.
58317         * lib/unictype/pr_id_start.c: New file.
58318         * lib/unictype/pr_ideographic.c: New file.
58319         * lib/unictype/pr_ids_binary_operator.c: New file.
58320         * lib/unictype/pr_ids_trinary_operator.c: New file.
58321         * lib/unictype/pr_ignorable_control.c: New file.
58322         * lib/unictype/pr_iso_control.c: New file.
58323         * lib/unictype/pr_join_control.c: New file.
58324         * lib/unictype/pr_left_of_pair.c: New file.
58325         * lib/unictype/pr_line_separator.c: New file.
58326         * lib/unictype/pr_logical_order_exception.c: New file.
58327         * lib/unictype/pr_lowercase.c: New file.
58328         * lib/unictype/pr_math.c: New file.
58329         * lib/unictype/pr_non_break.c: New file.
58330         * lib/unictype/pr_not_a_character.c: New file.
58331         * lib/unictype/pr_numeric.c: New file.
58332         * lib/unictype/pr_other_alphabetic.c: New file.
58333         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58334         * lib/unictype/pr_other_grapheme_extend.c: New file.
58335         * lib/unictype/pr_other_id_continue.c: New file.
58336         * lib/unictype/pr_other_id_start.c: New file.
58337         * lib/unictype/pr_other_lowercase.c: New file.
58338         * lib/unictype/pr_other_math.c: New file.
58339         * lib/unictype/pr_other_uppercase.c: New file.
58340         * lib/unictype/pr_paired_punctuation.c: New file.
58341         * lib/unictype/pr_paragraph_separator.c: New file.
58342         * lib/unictype/pr_pattern_syntax.c: New file.
58343         * lib/unictype/pr_pattern_white_space.c: New file.
58344         * lib/unictype/pr_private_use.c: New file.
58345         * lib/unictype/pr_punctuation.c: New file.
58346         * lib/unictype/pr_quotation_mark.c: New file.
58347         * lib/unictype/pr_radical.c: New file.
58348         * lib/unictype/pr_sentence_terminal.c: New file.
58349         * lib/unictype/pr_soft_dotted.c: New file.
58350         * lib/unictype/pr_space.c: New file.
58351         * lib/unictype/pr_terminal_punctuation.c: New file.
58352         * lib/unictype/pr_test.c: New file.
58353         * lib/unictype/pr_titlecase.c: New file.
58354         * lib/unictype/pr_unassigned_code_value.c: New file.
58355         * lib/unictype/pr_unified_ideograph.c: New file.
58356         * lib/unictype/pr_uppercase.c: New file.
58357         * lib/unictype/pr_variation_selector.c: New file.
58358         * lib/unictype/pr_white_space.c: New file.
58359         * lib/unictype/pr_xid_continue.c: New file.
58360         * lib/unictype/pr_xid_start.c: New file.
58361         * lib/unictype/pr_zero_width.c: New file.
58362         * lib/unictype/scripts.c: New file.
58363         * lib/unictype/sy_c_ident.c: New file.
58364         * lib/unictype/sy_c_whitespace.c: New file.
58365         * lib/unictype/sy_java_ident.c: New file.
58366         * lib/unictype/sy_java_whitespace.c: New file.
58367
58368         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58369         Unicode 5.0.0.
58370         * lib/unictype/blocks.h: Likewise.
58371         * lib/unictype/categ_C.h: Likewise.
58372         * lib/unictype/categ_Cc.h: Likewise.
58373         * lib/unictype/categ_Cf.h: Likewise.
58374         * lib/unictype/categ_Cn.h: Likewise.
58375         * lib/unictype/categ_Co.h: Likewise.
58376         * lib/unictype/categ_Cs.h: Likewise.
58377         * lib/unictype/categ_L.h: Likewise.
58378         * lib/unictype/categ_Ll.h: Likewise.
58379         * lib/unictype/categ_Lm.h: Likewise.
58380         * lib/unictype/categ_Lo.h: Likewise.
58381         * lib/unictype/categ_Lt.h: Likewise.
58382         * lib/unictype/categ_Lu.h: Likewise.
58383         * lib/unictype/categ_M.h: Likewise.
58384         * lib/unictype/categ_Mc.h: Likewise.
58385         * lib/unictype/categ_Me.h: Likewise.
58386         * lib/unictype/categ_Mn.h: Likewise.
58387         * lib/unictype/categ_N.h: Likewise.
58388         * lib/unictype/categ_Nd.h: Likewise.
58389         * lib/unictype/categ_Nl.h: Likewise.
58390         * lib/unictype/categ_No.h: Likewise.
58391         * lib/unictype/categ_P.h: Likewise.
58392         * lib/unictype/categ_Pc.h: Likewise.
58393         * lib/unictype/categ_Pd.h: Likewise.
58394         * lib/unictype/categ_Pe.h: Likewise.
58395         * lib/unictype/categ_Pf.h: Likewise.
58396         * lib/unictype/categ_Pi.h: Likewise.
58397         * lib/unictype/categ_Po.h: Likewise.
58398         * lib/unictype/categ_Ps.h: Likewise.
58399         * lib/unictype/categ_S.h: Likewise.
58400         * lib/unictype/categ_Sc.h: Likewise.
58401         * lib/unictype/categ_Sk.h: Likewise.
58402         * lib/unictype/categ_Sm.h: Likewise.
58403         * lib/unictype/categ_So.h: Likewise.
58404         * lib/unictype/categ_Z.h: Likewise.
58405         * lib/unictype/categ_Zl.h: Likewise.
58406         * lib/unictype/categ_Zp.h: Likewise.
58407         * lib/unictype/categ_Zs.h: Likewise.
58408         * lib/unictype/categ_of.h: Likewise.
58409         * lib/unictype/combining.h: Likewise.
58410         * lib/unictype/ctype_alnum.h: Likewise.
58411         * lib/unictype/ctype_alpha.h: Likewise.
58412         * lib/unictype/ctype_blank.h: Likewise.
58413         * lib/unictype/ctype_cntrl.h: Likewise.
58414         * lib/unictype/ctype_digit.h: Likewise.
58415         * lib/unictype/ctype_graph.h: Likewise.
58416         * lib/unictype/ctype_lower.h: Likewise.
58417         * lib/unictype/ctype_print.h: Likewise.
58418         * lib/unictype/ctype_punct.h: Likewise.
58419         * lib/unictype/ctype_space.h: Likewise.
58420         * lib/unictype/ctype_upper.h: Likewise.
58421         * lib/unictype/ctype_xdigit.h: Likewise.
58422         * lib/unictype/decdigit.h: Likewise.
58423         * lib/unictype/digit.h: Likewise.
58424         * lib/unictype/mirror.h: Likewise.
58425         * lib/unictype/numeric.h: Likewise.
58426         * lib/unictype/pr_alphabetic.h: Likewise.
58427         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58428         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58429         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58430         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58431         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58432         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58433         * lib/unictype/pr_bidi_control.h: Likewise.
58434         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58435         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58436         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58437         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58438         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58439         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58440         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58441         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58442         * lib/unictype/pr_bidi_pdf.h: Likewise.
58443         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58444         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58445         * lib/unictype/pr_combining.h: Likewise.
58446         * lib/unictype/pr_composite.h: Likewise.
58447         * lib/unictype/pr_currency_symbol.h: Likewise.
58448         * lib/unictype/pr_dash.h: Likewise.
58449         * lib/unictype/pr_decimal_digit.h: Likewise.
58450         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58451         * lib/unictype/pr_deprecated.h: Likewise.
58452         * lib/unictype/pr_diacritic.h: Likewise.
58453         * lib/unictype/pr_extender.h: Likewise.
58454         * lib/unictype/pr_format_control.h: Likewise.
58455         * lib/unictype/pr_grapheme_base.h: Likewise.
58456         * lib/unictype/pr_grapheme_extend.h: Likewise.
58457         * lib/unictype/pr_grapheme_link.h: Likewise.
58458         * lib/unictype/pr_hex_digit.h: Likewise.
58459         * lib/unictype/pr_hyphen.h: Likewise.
58460         * lib/unictype/pr_id_continue.h: Likewise.
58461         * lib/unictype/pr_id_start.h: Likewise.
58462         * lib/unictype/pr_ideographic.h: Likewise.
58463         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58464         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58465         * lib/unictype/pr_ignorable_control.h: Likewise.
58466         * lib/unictype/pr_iso_control.h: Likewise.
58467         * lib/unictype/pr_join_control.h: Likewise.
58468         * lib/unictype/pr_left_of_pair.h: Likewise.
58469         * lib/unictype/pr_line_separator.h: Likewise.
58470         * lib/unictype/pr_logical_order_exception.h: Likewise.
58471         * lib/unictype/pr_lowercase.h: Likewise.
58472         * lib/unictype/pr_math.h: Likewise.
58473         * lib/unictype/pr_non_break.h: Likewise.
58474         * lib/unictype/pr_not_a_character.h: Likewise.
58475         * lib/unictype/pr_numeric.h: Likewise.
58476         * lib/unictype/pr_other_alphabetic.h: Likewise.
58477         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58478         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58479         * lib/unictype/pr_other_id_continue.h: Likewise.
58480         * lib/unictype/pr_other_id_start.h: Likewise.
58481         * lib/unictype/pr_other_lowercase.h: Likewise.
58482         * lib/unictype/pr_other_math.h: Likewise.
58483         * lib/unictype/pr_other_uppercase.h: Likewise.
58484         * lib/unictype/pr_paired_punctuation.h: Likewise.
58485         * lib/unictype/pr_paragraph_separator.h: Likewise.
58486         * lib/unictype/pr_pattern_syntax.h: Likewise.
58487         * lib/unictype/pr_pattern_white_space.h: Likewise.
58488         * lib/unictype/pr_private_use.h: Likewise.
58489         * lib/unictype/pr_punctuation.h: Likewise.
58490         * lib/unictype/pr_quotation_mark.h: Likewise.
58491         * lib/unictype/pr_radical.h: Likewise.
58492         * lib/unictype/pr_sentence_terminal.h: Likewise.
58493         * lib/unictype/pr_soft_dotted.h: Likewise.
58494         * lib/unictype/pr_space.h: Likewise.
58495         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58496         * lib/unictype/pr_titlecase.h: Likewise.
58497         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58498         * lib/unictype/pr_unified_ideograph.h: Likewise.
58499         * lib/unictype/pr_uppercase.h: Likewise.
58500         * lib/unictype/pr_variation_selector.h: Likewise.
58501         * lib/unictype/pr_white_space.h: Likewise.
58502         * lib/unictype/pr_xid_continue.h: Likewise.
58503         * lib/unictype/pr_xid_start.h: Likewise.
58504         * lib/unictype/pr_zero_width.h: Likewise.
58505         * lib/unictype/scripts.h: Likewise.
58506         * lib/unictype/scripts_byname.gperf: Likewise.
58507         * lib/unictype/sy_c_ident.h: Likewise.
58508         * lib/unictype/sy_c_whitespace.h: Likewise.
58509         * lib/unictype/sy_java_ident.h: Likewise.
58510         * lib/unictype/sy_java_whitespace.h: Likewise.
58511
58512         * lib/unictype/Makefile: New file.
58513         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58514         glibc.
58515         * lib/unictype/3level.h: New file, copied from glibc.
58516         * lib/unictype/3levelbit.h: New file.
58517
58518 2007-11-11  Bruno Haible  <bruno@clisp.org>
58519
58520         * modules/gperf: New file.
58521         * modules/iconv_open (Depends-on): Add it.
58522         (Makefile.am): Remove the GPERF definition.
58523
58524 2007-11-11  Bruno Haible  <bruno@clisp.org>
58525
58526         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58527         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58528
58529 2007-11-11  Bruno Haible  <bruno@clisp.org>
58530
58531         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58532         (usage): Remove function.
58533
58534 2007-11-11  Bruno Haible  <bruno@clisp.org>
58535
58536         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58537         gl_FUNC_CEILF_LIBS.
58538         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58539         gl_FUNC_CEIL_LIBS.
58540         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58541         gl_FUNC_CEILL_LIBS.
58542         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58543         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58544         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58545
58546 2007-11-11  Bruno Haible  <bruno@clisp.org>
58547
58548         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58549         roundf were declared but do not exist on functions.
58550         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58551         roundl were declared but do not exist on functions.
58552         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58553         HAVE_FLOORL_AND_CEILL, respectively.
58554         Needed for Sun C on Solaris 10.
58555
58556 2007-11-11  Bruno Haible  <bruno@clisp.org>
58557
58558         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58559         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58560         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58561         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58562         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58563         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58564         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58565         HAVE_DECL_ROUNDF.
58566         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58567         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58569         of HAVE_DECL_ROUND*.
58570         * modules/math (Makefile.am): Update.
58571
58572 2007-11-10  Bruno Haible  <bruno@clisp.org>
58573
58574         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58575         ptrdiff_t as m4/intl.m4.
58576
58577 2007-11-10  Jim Meyering  <meyering@redhat.com>
58578
58579         Avoid link failure for the argmatch test.
58580         * tests/test-argmatch.c (usage): Define function to avoid a link
58581         failure: argmatch_die requires a usage function.
58582
58583 2007-11-09  Bruno Haible  <bruno@clisp.org>
58584
58585         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58586         * doc/functions/vsnprintf.texi: Likewise.
58587         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58588         with a size argument < 2.
58589
58590 2007-11-09  Bruno Haible  <bruno@clisp.org>
58591
58592         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58593         buffer. Fixes an inefficiency introduced on 2007-11-03.
58594
58595 2007-11-09  Bruno Haible  <bruno@clisp.org>
58596
58597         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58598         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58599
58600 2007-11-08  Jim Meyering  <meyering@redhat.com>
58601
58602         Change cache variable name prefix "jm_" to "gl_" everywhere.
58603         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58604         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58605         * m4/uptime.m4: s/gl_/jm_/
58606
58607 2007-11-07  Bruno Haible  <bruno@clisp.org>
58608
58609         Update to GNU gettext 0.17.
58610         * m4/intl.m4: Update to GNU gettext 0.17.
58611         * m4/po.m4: Likewise.
58612         * modules/gettext (Files): Remove m4/ulonglong.m4.
58613         (configure.ac): Require gettext infrastructure from version 0.17.
58614
58615 2007-11-06  Bruno Haible  <bruno@clisp.org>
58616
58617         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58618         symbolic values are not defined in a public header.
58619         * lib/freadable.c (freadable) [QNX]: Likewise.
58620         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58621         * lib/freading.c (freading) [QNX]: Likewise.
58622         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58623         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58624         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58625         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58626         Reported by Alain Magloire.
58627
58628         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58629
58630 2007-11-05  Bruno Haible  <bruno@clisp.org>
58631
58632         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58633         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58634         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58635         Reported by Eric Blake.
58636
58637 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58638             Bruno Haible  <bruno@clisp.org>
58639
58640         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58641         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58642         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58643         (malloc): Undefine also before including <stdlib.h>.
58644         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58645         Needed on OSF/1 4.0.
58646
58647 2007-11-05  Jim Meyering  <meyering@redhat.com>
58648
58649         git-version-gen: sync from coreutils.
58650         * build-aux/git-version-gen: Add comments.
58651         Change the first '-' to '.' in the snapshot version string,
58652         e.g., 6.9-377-08144 -> 6.9.377-08144
58653         Remove first parameter.
58654         Don't declare a version "-dirty" merely because a time
58655         stamp has changed.
58656
58657 2007-11-04  Bruno Haible  <bruno@clisp.org>
58658
58659         * lib/lock.h: Protect all macro definitions containing an 'if'
58660         statement through a "do { ... } while (0)".
58661         * lib/tls.h: Likewise.
58662
58663 2007-11-04  Bruno Haible  <bruno@clisp.org>
58664
58665         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58666
58667 2007-11-04  Bruno Haible  <bruno@clisp.org>
58668
58669         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58670         * modules/fprintf-posix (Depends-on): Add nocrash.
58671         * modules/snprintf-posix (Depends-on): Likewise.
58672         * modules/sprintf-posix (Depends-on): Likewise.
58673         * modules/vasnprintf-posix (Depends-on): Likewise.
58674         * modules/vasprintf-posix (Depends-on): Likewise.
58675         * modules/vfprintf-posix (Depends-on): Likewise.
58676         * modules/vsnprintf-posix (Depends-on): Likewise.
58677         * modules/vsprintf-posix (Depends-on): Likewise.
58678         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58679         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58680         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58681         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58682         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58683         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58684         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58685
58686 2007-11-04  Bruno Haible  <bruno@clisp.org>
58687
58688         * modules/nocrash: New file.
58689         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58690         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58691
58692 2007-11-04  Bruno Haible  <bruno@clisp.org>
58693
58694         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58695         precision handling.
58696         * tests/test-vasprintf-posix.c (test_function): Likewise.
58697         * tests/test-snprintf-posix.h (test_function): Likewise.
58698         * tests/test-sprintf-posix.h (test_function): Likewise.
58699
58700         Fix *printf behaviour for large precisions on mingw and BeOS.
58701         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58702         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58703         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58704         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58705         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58706         gl_PRINTF_PRECISION and test its result. Invoke
58707         gl_PREREQ_VASNPRINTF_PRECISION.
58708         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58709         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58710         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58711         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58712         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58713         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58714         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58715         * doc/functions/fprintf.texi: Update.
58716         * doc/functions/printf.texi: Update.
58717         * doc/functions/snprintf.texi: Update.
58718         * doc/functions/sprintf.texi: Update.
58719         * doc/functions/vfprintf.texi: Update.
58720         * doc/functions/vprintf.texi: Update.
58721         * doc/functions/vsnprintf.texi: Update.
58722         * doc/functions/vsprintf.texi: Update.
58723
58724 2007-11-04  Bruno Haible  <bruno@clisp.org>
58725
58726         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58727
58728 2007-11-04  Bruno Haible  <bruno@clisp.org>
58729
58730         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58731         Reported by Sylvain Beucler <beuc@gnu.org>.
58732
58733 2007-11-03  Bruno Haible  <bruno@clisp.org>
58734
58735         * tests/test-fprintf-posix2.sh: New file.
58736         * tests/test-fprintf-posix2.c: New file.
58737         * modules/fprintf-posix-tests (Files): Add them.
58738         (TESTS): Add test-fprintf-posix2.sh.
58739         (configure.ac): Check for getrlimit and setrlimit.
58740         (check_PROGRAMS): Add test-fprintf-posix2.
58741
58742         * tests/test-printf-posix2.sh: New file.
58743         * tests/test-printf-posix2.c: New file.
58744         * modules/printf-posix-tests (Files): Add them.
58745         (TESTS): Add test-printf-posix2.sh.
58746         (configure.ac): Check for getrlimit and setrlimit.
58747         (check_PROGRAMS): Add test-printf-posix2.
58748
58749         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58750         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58751         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58752         (decode_double): New function, copied from decode_long_double.
58753         (scale10_round_decimal_decoded): New function, extracted from
58754         scale10_round_decimal_long_double.
58755         (scale10_round_decimal_long_double): Use it.
58756         (scale10_round_decimal_double): New function.
58757         (floorlog10): New function.
58758         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58760         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58762         gl_PRINTF_ENOMEM and test its result. Invoke
58763         gl_PREREQ_VASNPRINTF_ENOMEM.
58764         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58765         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58766         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58767         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58768         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58769         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58770         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58771         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58772         * modules/snprintf-posix (Depends-on): Likewise.
58773         * modules/sprintf-posix (Depends-on): Likewise.
58774         * modules/vasnprintf-posix (Depends-on): Likewise.
58775         * modules/vasprintf-posix (Depends-on): Likewise.
58776         * modules/vfprintf-posix (Depends-on): Likewise.
58777         * modules/vsnprintf-posix (Depends-on): Likewise.
58778         * modules/vsprintf-posix (Depends-on): Likewise.
58779         * doc/functions/fprintf.texi: Update.
58780         * doc/functions/printf.texi: Update.
58781         * doc/functions/snprintf.texi: Update.
58782         * doc/functions/sprintf.texi: Update.
58783         * doc/functions/vfprintf.texi: Update.
58784         * doc/functions/vprintf.texi: Update.
58785         * doc/functions/vsnprintf.texi: Update.
58786         * doc/functions/vsprintf.texi: Update.
58787
58788 2007-11-03  Bruno Haible  <bruno@clisp.org>
58789
58790         * modules/frexp-nolibm-tests: New file.
58791
58792         * modules/frexp-nolibm: New file.
58793         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58794
58795 2007-11-03  Bruno Haible  <bruno@clisp.org>
58796
58797         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58798         value is C99 compliant.
58799         Needed for OSF/1 5.1.
58800
58801 2007-11-03  Bruno Haible  <bruno@clisp.org>
58802
58803         Fix out-of-memory handling of vasnprintf.
58804         * lib/printf-parse.c: Include <errno.h>.
58805         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58806         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58807         is already set.
58808
58809 2007-11-02  Eric Blake  <ebb9@byu.net>
58810
58811         Fix tests on cygwin.
58812         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58813
58814 2007-11-01  Bruno Haible  <bruno@clisp.org>
58815
58816         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58817         warning.
58818         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58819         needed for POSIX compatibility.
58820
58821 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58822
58823         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58824         for compatibility with GNU.
58825
58826 2007-11-01  Bruno Haible  <bruno@clisp.org>
58827
58828         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58829         (putenv): Renamed from rpl_putenv. Change argument type from
58830         'const char *' to 'char *'.
58831         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58832         of defining putenv in config.h, just set REPLACE_PUTENV.
58833         * modules/putenv (Depends-on): Add stdlib.
58834         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58835         (Include): Use <stdlib.h>.
58836         * lib/stdlib.in.h (putenv): New declaration.
58837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58838         REPLACE_PUTENV.
58839         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58840         REPLACE_PUTENV.
58841         Needed for MacOS X 10.5.0.
58842         Reported by Peter O'Gorman <peter@pogma.com>.
58843
58844 2007-11-01  Jim Meyering  <meyering@redhat.com>
58845
58846         Treat an empty date string exactly like "0".
58847         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58848         if the remaining date string (to be parsed) is empty, use "0".
58849         Reported by Mischa Molhoek and discussed in this thread:
58850         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58851
58852 2007-10-31  Bruno Haible  <bruno@clisp.org>
58853
58854         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58855         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58856         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58857         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58858         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58859         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58860
58861 2007-10-31  Bruno Haible  <bruno@clisp.org>
58862
58863         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58864         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58865         (AC_TYPE_LONG_LONG_INT): Use it.
58866         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58867         it as well.
58868         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58869         to m4/longlong.m4.
58870         * modules/stdint (Files): Remove m4/ulonglong.m4.
58871         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58872         m4/ulonglong.m4.
58873         * modules/strtoumax (Files): Likewise.
58874
58875 2007-10-30  Bruno Haible  <bruno@clisp.org>
58876
58877         * modules/xvasprintf-posix: New file.
58878         Suggested by Eric Blake.
58879
58880 2007-10-30  Bruno Haible  <bruno@clisp.org>
58881
58882         * modules/xprintf-posix-tests: New file.
58883         * tests/test-xprintf-posix.sh: New file.
58884         * tests/test-xprintf-posix.c: New file.
58885         * tests/test-xfprintf-posix.c: New file.
58886
58887         * modules/xprintf-posix: New file.
58888
58889 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58890
58891         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58892         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58893         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58894
58895 2007-10-29  Bruno Haible  <bruno@clisp.org>
58896
58897         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58898         contain the special marker '_cv_'.
58899         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58900         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58901         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58902         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58903         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58904         Reported by Ralf Wildenhues.
58905
58906 2007-10-29  Bruno Haible  <bruno@clisp.org>
58907
58908         * gnulib-tool (func_import): When --lgpl is not specified, set
58909         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58910         GPLv3.
58911         Reported by Simon Josefsson.
58912
58913 2007-10-28  Bruno Haible  <bruno@clisp.org>
58914
58915         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58916         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58917         HAVE_DECL_ISFINITE.
58918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58919         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58920         HAVE_DECL_ISFINITE.
58921
58922 2007-10-28  Bruno Haible  <bruno@clisp.org>
58923
58924         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58925         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58926
58927 2007-10-28  Bruno Haible  <bruno@clisp.org>
58928
58929         Fix link errors with Sun C 5.0 on Solaris 10.
58930         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58931         function is declared but not present in the compiler's libm.
58932         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58933         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58934         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58935         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58936         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58937         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58938         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58940         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58941         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58942         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58943         HAVE_DECL_FLOORL.
58944
58945 2007-10-28  Bruno Haible  <bruno@clisp.org>
58946
58947         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58948         gl_FUNC_FLOORL. Cache the result.
58949         (gl_FUNC_FLOORL): Use it.
58950         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58951         gl_FUNC_CEILL. Cache the result.
58952         (gl_FUNC_CEILL): Use it.
58953
58954         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58955         gl_FUNC_FLOOR. Cache the result.
58956         (gl_FUNC_FLOOR): Use it.
58957         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58958         gl_FUNC_CEIL. Cache the result.
58959         (gl_FUNC_CEIL): Use it.
58960
58961         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58962         gl_FUNC_FLOORF. Cache the result.
58963         (gl_FUNC_FLOORF): Use it.
58964         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58965         gl_FUNC_CEILF. Cache the result.
58966         (gl_FUNC_CEILF): Use it.
58967
58968 2007-10-28  Bruno Haible  <bruno@clisp.org>
58969
58970         * gnulib-tool: Allow specifying the LGPL version number through
58971         --lgpl=2 or --lgpl=3.
58972         (func_usage): Document --lgpl with argument.
58973         Handle --lgpl=... arguments.
58974         (func_import): Recognize also gl_LGPL calls with an argument. When
58975         --lgpl=2 is used and the module's license is just LGPL, report an
58976         error. Set sed_transform_lib_file according to the lgpl variable. In
58977         the generated files, use --lgpl or gl_LGPL invocations with argument,
58978         if necessary.
58979         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58980         an LGPv2+ license.
58981         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58982         gl_LGPL macro.
58983
58984 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58985             Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58988         (u16_uctomb_aux): Likewise.
58989         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58990         !HAVE_INLINE.
58991         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58992
58993 2007-10-28  Bruno Haible  <bruno@clisp.org>
58994
58995         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58996         Invoke AM_GETTEXT_OPTION if it exists.
58997         * modules/vasprintf: Likewise.
58998         * modules/verror: Likewise.
58999         * modules/xprintf: Likewise.
59000         * modules/xvasprintf: Likewise.
59001
59002 2007-10-27  Ben Pfaff  <blp@gnu.org>
59003
59004         * lib/math.in.h: Define isfinite macro and prototypes for
59005         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59006         implementations.
59007         * m4/math_h.m4: New substitutions for isfinite module.
59008         * lib/isfinite.c: New file.
59009         * m4/isfinite.m4: New file.
59010         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59011         * modules/isfinite: New file.
59012         * modules/isfinite-tests: New file.
59013         * tests/tests-isfinite.c: New file.
59014         * doc/functions/isfinite.texi: Mention isfinite module.
59015         * MODULES.html.sh: Mention new module.
59016
59017 2007-10-27  Ben Pfaff  <blp@gnu.org>
59018
59019         Ralf Wildenhues reported that Tru64 4.0D declares the round
59020         functions but does not have definitions.
59021         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59022         cannot be found in any library, set the output variable to
59023         "missing" instead of "".
59024         * m4/round.m4: Also use our substitute if we cannot find round in
59025         any library, even if it is declared.
59026         * m4/roundf.m4: Likewise for roundf.
59027         * m4/roundl.m4: Likewise for roundl.
59028         * lib/math.in.h: Undefine roundf, round, roundl before defining
59029         their replacements, to allow for hypothetical systems where these
59030         may be defined as macros but not available in libraries.
59031
59032 2007-10-27  Bruno Haible  <bruno@clisp.org>
59033
59034         * doc/gnulib.texi: Invoke @firstparagraphindent.
59035         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59036         changes in gnulib.
59037         (Source changes): New section.
59038
59039 2007-10-26  Bruno Haible  <bruno@clisp.org>
59040
59041         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59042         borrowed from autoconf.
59043
59044 2007-10-26  Bruno Haible  <bruno@clisp.org>
59045
59046         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59047         strerror returned the empty string. Needed on HP-UX 11.00.
59048
59049 2007-10-24  Micah Cowan  <micah@cowan.name>
59050
59051         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59052         * build-aux/bootstrap: Remove support for now-unnecessary option,
59053         --cvs-user, and envvars CVS_USER, CVS_RSH.
59054
59055 2007-10-24  Jim Meyering  <meyering@redhat.com>
59056
59057         Avoid diagnostics from sha1sum when there is no cached checksum.
59058         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59059         if the po.s1 file hasn't been created yet.
59060
59061         * build-aux/bootstrap: Sync from coreutils:
59062         2007-10-24  Jim Meyering  <meyering@redhat.com>
59063         Get gnulib from the git repository, not from an obsolete cvs one.
59064         * build-aux/bootstrap: Suggestion from Micah Cowan.
59065         2007-10-04  Jim Meyering  <jim@meyering.net>
59066         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59067         (update_po_files): Work also when there are no .po files in po/.
59068
59069 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59070
59071         * README: Append ".git" to git and cg examples.
59072         Problem reported by Benoit Sigoure.
59073
59074 2007-10-23  Micah Cowan  <micah@cowan.name>
59075
59076         * users.txt: Add wget.
59077
59078 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59079
59080         Fix linking of some unistdio tests on FreeBSD.
59081         * modules/unistdio/u16-vsnprintf-tests
59082         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59083         * modules/unistdio/u16-vsprintf-tests
59084         (test_u16_vsnprintf1_LDADD): Likewise.
59085         * modules/unistdio/u32-vsnprintf-tests
59086         (test_u32_vsnprintf1_LDADD): Likewise.
59087         * modules/unistdio/u32-vsprintf-tests
59088         (test_u32_vsprintf1_LDADD): Likewise.
59089         * modules/unistdio/u8-vsnprintf-tests
59090         (test_u8_vsnprintf1_LDADD): Likewise.
59091         * modules/unistdio/u8-vsprintf-tests
59092         (test_u8_vsprintf1_LDADD): Likewise.
59093         * modules/unistdio/ulc-vsnprintf-tests
59094         (test_ulc_vsnprintf1_LDADD): Likewise.
59095         * modules/unistdio/ulc-vsprintf-tests
59096         (test_ulc_vsprintf1_LDADD): Likewise.
59097
59098         Fix linking of some uniconv tests on FreeBSD.
59099         * modules/uniconv/u16-conv-from-enc-tests
59100         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59101         * modules/uniconv/u16-conv-to-enc-tests
59102         (test_u16_conv_to_enc_LDADD): Likewise.
59103         * modules/uniconv/u16-strconv-from-enc-tests
59104         (test_u16_strconv_from_enc_LDADD): Likewise.
59105         * modules/uniconv/u16-strconv-to-enc-tests
59106         (test_u16_strconv_to_enc_LDADD): Likewise.
59107         * modules/uniconv/u32-conv-from-enc-tests
59108         (test_u32_conv_from_enc_LDADD): Likewise.
59109         * modules/uniconv/u32-conv-to-enc-tests
59110         (test_u32_conv_to_enc_LDADD): Likewise.
59111         * modules/uniconv/u32-strconv-from-enc-tests
59112         (test_u32_strconv_from_enc_LDADD): Likewise.
59113         * modules/uniconv/u32-strconv-to-enc-tests
59114         (test_u32_strconv_to_enc_LDADD): Likewise.
59115         * modules/uniconv/u8-conv-from-enc-tests
59116         (test_u8_conv_from_enc_LDADD): Likewise.
59117         * modules/uniconv/u8-conv-to-enc-tests
59118         (test_u8_conv_to_enc_LDADD): Likewise.
59119         * modules/uniconv/u8-strconv-from-enc-tests
59120         (test_u8_strconv_from_enc_LDADD): Likewise.
59121         * modules/uniconv/u8-strconv-to-enc-tests
59122         (test_u8_strconv_to_enc_LDADD): Likewise.
59123
59124 2007-10-22  Bruno Haible  <bruno@clisp.org>
59125
59126         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59127         size.
59128
59129 2007-10-22  Eric Blake  <ebb9@byu.net>
59130
59131         Tweak x*printf documentation.
59132         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59133         variable name and comments.
59134         Suggested by Bruno Haible.
59135
59136 2007-10-22  Bruno Haible  <bruno@clisp.org>
59137
59138         * lib/acl.c (copy_acl): Fix file name in comment.
59139
59140 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59141
59142         Fix Tru64 problem with stdbool.h.
59143         * lib/stdbool.in.h (false, true):
59144         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59145         Don't declare as an enum in this situation; it runs afoul of Tru64.
59146         Problem reported by Steven M. Schweda in
59147         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59148
59149 2007-10-22  Eric Blake  <ebb9@byu.net>
59150
59151         Also wrap vf?printf.
59152         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59153         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59154         (xvprintf, xvfprintf): New functions.
59155
59156 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59157
59158         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59159         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59160
59161         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59162         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59163
59164 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59165
59166         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59167         by Bruno Haible.
59168
59169 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59170
59171         * lib/getloadavg.c
59172         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59173         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59174
59175         * tests/test-i-ring.c: Work for C89.
59176
59177 2007-10-22  Bruno Haible  <bruno@clisp.org>
59178
59179         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59180         -1u, in preprocessor expression, so that we don't test for the bug
59181         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59182         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59183
59184 2007-10-22  Eric Blake  <ebb9@byu.net>
59185
59186         * tests/test-yesno.sh: Silence stderr during test.
59187
59188 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59189
59190         * modules/crypto/gc-camellia: New file.
59191
59192         * m4/gc-camellia.m4: New file.
59193
59194         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59195
59196         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59197
59198 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59199
59200         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59201         --help to stdout.  Reported by sms@antinode.org (Steven
59202         M. Schweda).
59203
59204 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59205
59206         * users.txt: Fix link to libksba.
59207
59208 2007-10-21  Ben Pfaff  <blp@gnu.org>
59209
59210         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59211         round.c roundf implementation that depends on floorf and ceilf to
59212         be tested unconditionally.
59213
59214 2007-10-21  Ben Pfaff  <blp@gnu.org>
59215
59216         * m4/check-libm-func.m4: Removed.
59217         * m4/check-math-lib.m4: New file.
59218         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59219         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59220         definition and lack of AC_LIBOBJ([roundf]).
59221         * m4/roundl.m4: Ditto, and similarly for roundl.
59222         * modules/round: Reference new m4 file.
59223         * modules/roundf: Ditto.
59224         * modules/roundl: Ditto.
59225         * tests/test-round2.c (main): Use ROUND instead of round.
59226         Bug report from Bruno Haible.
59227
59228 2007-10-21  Bruno Haible  <bruno@clisp.org>
59229
59230         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59231         context.
59232
59233 2007-10-21  Bruno Haible  <bruno@clisp.org>
59234
59235         * tests/test-wcwidth.c (main): Allow negative result for some control
59236         characters.
59237
59238         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59239         Needed on OSF/1 5.1.
59240
59241 2007-10-21  Bruno Haible  <bruno@clisp.org>
59242
59243         * tests/test-floorf1.c: Include isnanf.h.
59244         (main): Use isnanf() instead of isnan().
59245         * tests/test-ceilf1.c: Include isnanf.h.
59246         (main): Use isnanf() instead of isnan().
59247         * tests/test-truncf1.c: Include isnanf.h.
59248         (main): Use isnanf() instead of isnan().
59249         * tests/test-roundf1.c: Include isnanf.h.
59250         (main): Use isnanf() instead of isnan().
59251
59252 2007-10-21  Eric Blake  <ebb9@byu.net>
59253
59254         * users.txt: Update URL for m4.
59255
59256 2007-10-21  Bruno Haible  <bruno@clisp.org>
59257
59258         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59259
59260 2007-10-21  Bruno Haible  <bruno@clisp.org>
59261
59262         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59263         Git's management files if the CVS files are not present.
59264
59265 2007-10-20  Bruno Haible  <bruno@clisp.org>
59266
59267         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59268         gcc-3.4.x.
59269
59270 2007-10-20  Ben Pfaff  <blp@gnu.org>
59271
59272         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59273         implementations.
59274         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59275         * lib/round.c: New file.
59276         * lib/roundf.c: New file.
59277         * lib/roundl.c: New file.
59278         * m4/round.m4: New file.
59279         * m4/roundf.m4: New file.
59280         * m4/roundl.m4: New file.
59281         * m4/check-libm-func-m4: New file.
59282         * modules/math: Replace round, roundf, roundl related @VARS@ in
59283         math.in.h.
59284         * modules/round: New file.
59285         * modules/round-tests: New file.
59286         * modules/roundf: New file.
59287         * modules/roundf-tests: New file.
59288         * modules/roundl: New file.
59289         * modules/roundl-tests: New file.
59290         * tests/test-round1.c: New file.
59291         * tests/test-round2.c: New file.
59292         * tests/test-roundf1.c: New file.
59293         * tests/test-roundf2.c: New file.
59294         * tests/test-roundl.c: New file.
59295         * doc/functions/round.texi: Mention round module.
59296         * doc/functions/roundf.texi: Mention roundf module.
59297         * doc/functions/roundl.texi: Mention roundl module.
59298         * MODULES.html.sh: Mention new modules.
59299         Thanks to Bruno Haible for suggestions.
59300
59301 2007-10-20  Jim Meyering  <meyering@redhat.com>
59302
59303         * lib/xprintf.c: Include <config.h> unconditionally.
59304
59305         Change xprintf's license to GPL.
59306         * modules/xprintf (License): s/LGPL/GPL/, since this module
59307         depends on modules (exit and exitfail) which are GPL.
59308         Suggestion from Bruno Haible.
59309
59310         xprintf fixes.
59311         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59312         Use a clearer diagnostic.
59313         Patch from Bruno Haible.
59314
59315 2007-10-20  Bruno Haible  <bruno@clisp.org>
59316
59317         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59318         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59319         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59320
59321 2007-10-20  Bruno Haible  <bruno@clisp.org>
59322
59323         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59324         precision in the comparison result > x - 1 or similar.
59325         * tests/test-ceilf2.c (correct_result_p): Likewise.
59326         * tests/test-truncf2.c (correct_result_p): Likewise.
59327         * tests/test-trunc2.c (correct_result_p): Likewise.
59328         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59329
59330 2007-10-20  Bruno Haible  <bruno@clisp.org>
59331
59332         * modules/ceil: New file.
59333         * m4/ceil.m4: New file.
59334         * doc/functions/ceil.texi: Mention the 'ceil' module.
59335
59336 2007-10-20  Bruno Haible  <bruno@clisp.org>
59337
59338         * modules/floor: New file.
59339         * m4/floor.m4: New file.
59340         * doc/functions/floor.texi: Mention the 'floor' module.
59341
59342 2007-10-20  Bruno Haible  <bruno@clisp.org>
59343
59344         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59345         of %a.
59346         * modules/floorf-tests (Depends-on): Likewise.
59347         * modules/truncf-tests (Depends-on): Likewise.
59348         * modules/trunc-tests (Depends-on): Likewise.
59349         Reported by Ben Pfaff.
59350
59351 2007-10-19  Jim Meyering  <meyering@redhat.com>
59352
59353         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59354         Don't bother testing specific errno values.  Just test ferror.
59355
59356         New module: xprintf
59357         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59358
59359 2007-10-19  Bruno Haible  <bruno@clisp.org>
59360
59361         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59362         syntax.
59363         * modules/javaexec (Makefile.am): Likewise.
59364         * modules/relocatable-prog (Makefile.am): Likewise.
59365         Suggested by Jim Meyering.
59366
59367 2007-10-18  Bruno Haible  <bruno@clisp.org>
59368
59369         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59370         Reported by Jim Meyering.
59371
59372 2007-10-18  Eric Blake  <ebb9@byu.net>
59373
59374         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59375
59376 2007-10-18  Bruno Haible  <bruno@clisp.org>
59377
59378         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59379         the format string into writable memory. Needed in Fortify conditions.
59380
59381 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59382             Bruno Haible  <bruno@clisp.org>
59383
59384         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59385         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59386         * modules/trim (Depends-on): Add mbchar.
59387         (configure.ac): Add gl_FUNC_MBRTOWC.
59388         (Makefile.am): Augment lib_SOURCES.
59389
59390 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59391
59392         Modify glob.c to use fstatat and dirfd, to simplify it.
59393         Suggested by Eric Blake.
59394         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59395         Don't include <stdbool.h>; not used.
59396         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59397         (link_exists_p): Simplify implementation, since we can now assume
59398         dirfd and fstatat.
59399         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59400
59401 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59402
59403         * gnulib-tool (func_get_dependencies): Fix sed script to
59404         match only tests.
59405
59406 2007-10-17  Bruno Haible  <bruno@clisp.org>
59407
59408         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59409         allow locale names without encoding suffix.
59410         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59411         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59412
59413 2007-10-16  Bruno Haible  <bruno@clisp.org>
59414
59415         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59416         * lib/getgroups.c (getgroups): Likewise.
59417         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59418
59419 2007-10-16  Bruno Haible  <bruno@clisp.org>
59420
59421         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59422         * modules/malloc-posix (License): Likewise.
59423         * modules/realloc-posix (License): Likewise.
59424         * modules/calloc-posix (License): Likewise.
59425         * modules/intprops (License): Change from GPL to LGPL, with
59426         Paul Eggert's approval.
59427
59428 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59429
59430         Merge glibc changes into lib/glob.c.
59431
59432         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59433         2007-10-15 04:59:03 UTC.  Here are the changes:
59434
59435         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59436
59437         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59438
59439         * lib/glob.c: Add some branch prediction throughout.
59440
59441         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59442
59443         [BZ #5103]
59444         * lib/glob.c (glob): Recognize patterns starting \/.
59445
59446         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59447
59448         [BZ #3996]
59449         * lib/glob.c (attribute_hidden): Define if not defined.
59450         (glob): Unescape dirname, filename or username when needed and not
59451         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59452         is NULL.  Handle unescaped [ in pattern without closing ].
59453         Don't pass GLOB_CHECK down to recursive glob for directories.
59454         (__glob_pattern_type): New function.
59455         (__glob_pattern_p): Implement using __glob_pattern_type.
59456         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59457         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59458         Remove unreachable code.
59459
59460         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59461
59462         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59463         explain why there are no leaks.
59464
59465         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59466
59467         [BZ #3253]
59468         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59469         time, rather allocate increasingly bigger arrays of pointers, if
59470         possible with alloca, if too large with malloc.
59471
59472 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59473
59474         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59475         Problem reported by H.Merijn Brand in
59476         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59477         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59478         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59479
59480 2007-10-15  Bruno Haible  <bruno@clisp.org>
59481
59482         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59483         with explicit rpl_ prefix.
59484         * lib/fopen.c (fopen): Likewise.
59485         * lib/freopen.c (freopen): Likewise.
59486         * lib/iconv.c (iconv): Likewise.
59487         * lib/iconv_close.c (iconv_close): Likewise.
59488
59489 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59490
59491         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59492
59493 2007-10-15  Bruno Haible  <bruno@clisp.org>
59494
59495         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59496         <stddef.h> instead of <stdlib.h> since we only need NULL.
59497         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59498
59499 2007-10-15  Bruno Haible  <bruno@clisp.org>
59500
59501         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59502         Replace paragraph talking about LIBOBJS.
59503         Reported by Colin Watson <cjwatson@debian.org>.
59504
59505 2007-10-15  Bruno Haible  <bruno@clisp.org>
59506
59507         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59508         <stdlib.h> before using NULL.
59509
59510 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59511
59512         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59513         Reported by Albert Chin <china@thewrittenword.com>.
59514
59515 2007-10-14  Bruno Haible  <bruno@clisp.org>
59516
59517         * modules/iconv_open-utf-tests: New file.
59518         * tests/test-iconv-utf.c: New file.
59519
59520         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59521         * modules/iconv_open-utf: New file.
59522         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59523         (iconv, iconv_close): New declarations.
59524         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59525         be defined.
59526         (iconv_open): Add special handling of conversion between UTF-8 and
59527         UTF-{16,32}{BE,LE}.
59528         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59529         * lib/iconv_close.c: New file.
59530         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59531         gl_FUNC_ICONV_OPEN.
59532         (gl_FUNC_ICONV_OPEN): Use it.
59533         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59534         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59535         and REPLACE_ICONV_UTF.
59536         * modules/iconv_open (Depends-on): Add c-strcase.
59537         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59538         ICONV_CONST.
59539         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59540
59541 2007-10-13  Albert Chin  <china@thewrittenword.com>
59542             Bruno Haible  <bruno@clisp.org>
59543
59544         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59545         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59546
59547 2007-10-13  Bruno Haible  <bruno@clisp.org>
59548
59549         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59550         defined, use the ISO C99 inline semantics.
59551         * lib/argp.h (ARGP_EI): Likewise.
59552
59553 2007-10-13  Bruno Haible  <bruno@clisp.org>
59554
59555         Handle 'inline' change in gcc 4.3.0.
59556         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59557         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59558         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59559         argp_fmtstream_point): Disable 'extern' declaration if the function
59560         definition is going to be provided inline.
59561         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59562         semantics, not the ISO C99 inline semantics.
59563         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59564         'extern' declaration if the function definition is going to be provided
59565         inline.
59566         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59567         the GNU C inline semantics, not the ISO C99 inline semantics. With
59568         GCC 4.2, avoid a warning.
59569
59570 2007-10-13  Bruno Haible  <bruno@clisp.org>
59571
59572         * lib/freading.h (freading): Enable the use of __freading for
59573         glibc >= 2.7.
59574         * lib/freading.c (freading): Likewise.
59575
59576 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59577
59578         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59579         "warning: C99 inline functions are not supported; using GNU89".
59580
59581 2007-10-12  Bruno Haible  <bruno@clisp.org>
59582
59583         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59584         of 2.
59585         * tests/test-ceilf2.c: New file.
59586         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59587
59588         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59589         * modules/ceilf-tests: Update.
59590
59591 2007-10-12  Bruno Haible  <bruno@clisp.org>
59592
59593         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59594         of 2.
59595         * tests/test-floorf2.c: New file.
59596         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59597
59598         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59599         * modules/floorf-tests: Update.
59600
59601 2007-10-12  Bruno Haible  <bruno@clisp.org>
59602
59603         * tests/test-trunc2.c: New file.
59604         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59605
59606         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59607         * modules/trunc-tests: Update.
59608
59609 2007-10-12  Bruno Haible  <bruno@clisp.org>
59610
59611         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59612         of 2.
59613         * tests/test-truncf2.c: New file.
59614         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59615
59616         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59617         * modules/truncf-tests: Update.
59618
59619 2007-10-11  Eric Blake  <ebb9@byu.net>
59620
59621         Don't claim strerror is broken on Interix.
59622         * doc/functions/strerror.texi (strerror): Known broken systems are
59623         now Solaris 8, and not Interix.
59624         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59625         Interix on cross-compile.
59626         Reported by Martin Koeppe in
59627         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59628
59629 2007-10-11  Bruno Haible  <bruno@clisp.org>
59630
59631         * modules/i-ring-tests: New file.
59632         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59633         instead of assert.
59634
59635 2007-10-11  Bruno Haible  <bruno@clisp.org>
59636
59637         * modules/filenamecat-tests: New file.
59638         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59639         * lib/filenamecat.c: Remove test code.
59640
59641 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59642
59643         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59644
59645         * lib/strerror.c: Include <string.h> always, to test interface,
59646         and to remove the need for the dummy.
59647         Include intprops.h to compute width instead of doing it ourselves
59648         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59649         (strerror): Define it to return NULL if there's no system strerror.
59650         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59651         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59652         ancient pre-strerror Unix systems well any more.  Saying "unknown
59653         system error" is enough.
59654         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59655         simpler strerror.c implementation.
59656         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59657         Simplify the tests to reflect the simpler strerror implementation.
59658         * modules/strerror (Depends-on): Add intprops.
59659
59660 2007-10-09  Eric Blake  <ebb9@byu.net>
59661
59662         Silence test-fpending.
59663         * modules/fpending-tests (Files): Add wrapper script.
59664         * tests/test-fpending.sh: New file.
59665
59666 2007-10-09  Bruno Haible  <bruno@clisp.org>
59667
59668         * MODULES.html.sh (func_module): Don't create a hyperlink for
59669         function names like 'printf_frexp'.
59670         (Misc): Add crc, memxor.
59671         (Characteristics of floating types): New section.
59672         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59673         isnanf-nolibm, signbit, trunc, truncf, truncl.
59674         (Enhancements for ISO C 99 functions): New subsection Input/output.
59675         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59676         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59677         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59678         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59679         (Enhancements for POSIX:2001 functions): Add chdir-long.
59680         (File system functions): Add areadlink, chdir-safer, read-file.
59681         Remove cycle-check.
59682         (File system as inode set): New section.
59683         (Date and time): Add gethrxtime.
59684         (Multithreading): Add openmp.
59685         (Internationalization functions): Add localename.
59686         (Unicode string functions): Add unistr/u*-mbsnlen.
59687         (Support for maintaining and releasing projects): Add git-version-gen.
59688         (Lone files): Remove directories.
59689
59690 2007-10-08  Ben Pfaff  <blp@gnu.org>
59691
59692         * lib/xmalloca.h: Fix typo in comment.
59693
59694 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59695
59696         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59697         when avoiding problems with integer overflow.  Use a portable test
59698         instead.
59699
59700 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59701
59702         * modules/dummy (License): Change to LGPLv2+.
59703         * modules/float (License): Likewise
59704         * modules/realloc (License): Likewise
59705         * modules/stdlib (License): Likewise
59706
59707 2007-10-07  Bruno Haible  <bruno@clisp.org>
59708
59709         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59710         * floor.c (TWO_MANT_DIG): Likewise.
59711         * ceil.c (TWO_MANT_DIG): Likewise.
59712         Reported by Ben Pfaff.
59713
59714 2007-10-07  Bruno Haible  <bruno@clisp.org>
59715
59716         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59717         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59718         * lib/frexp.c (FUNC): Likewise.
59719         * lib/printf-frexp.h (printf_frexp): Likewise.
59720         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59721         * lib/printf-frexp.c (FUNC): Likewise.
59722         Suggested by Jim Meyering.
59723
59724 2007-10-07  Jim Meyering  <meyering@redhat.com>
59725
59726         Make xnanosleep's integer overflow test more robust.
59727         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59728         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59729
59730 2007-10-07  Bruno Haible  <bruno@clisp.org>
59731
59732         * NEWS: Mention the license change.
59733
59734         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59735         abbreviations in the modules files.
59736
59737         Change copyright notice from GPLv2+ to GPLv3+.
59738         * README: Change copyright notice.
59739         * MODULES.html.sh: Likewise.
59740         * build-aux/bootstrap.conf: Likewise.
59741         * build-aux/config.libpath: Likewise.
59742         * build-aux/csharpcomp.sh.in: Likewise.
59743         * build-aux/csharpexec.sh.in: Likewise.
59744         * build-aux/install-reloc: Likewise.
59745         * build-aux/javacomp.sh.in: Likewise.
59746         * build-aux/javaexec.sh.in: Likewise.
59747         * build-aux/ldd.sh.in: Likewise.
59748         * build-aux/reloc-ldflags: Likewise.
59749         * build-aux/relocatable.sh.in: Likewise.
59750         * build-aux/x-to-1.in: Likewise.
59751         * check-module: Likewise.
59752         * config/srclistvars.sh: Likewise.
59753         * gnulib-tool: Likewise.
59754         * lib/acl-internal.h: Likewise.
59755         * lib/acl.c: Likewise.
59756         * lib/acl.h: Likewise.
59757         * lib/acl_entries.c: Likewise.
59758         * lib/areadlink-with-size.c: Likewise.
59759         * lib/areadlink.c: Likewise.
59760         * lib/areadlink.h: Likewise.
59761         * lib/argmatch.c: Likewise.
59762         * lib/argmatch.h: Likewise.
59763         * lib/argp-ba.c: Likewise.
59764         * lib/argp-eexst.c: Likewise.
59765         * lib/argp-fmtstream.c: Likewise.
59766         * lib/argp-fmtstream.h: Likewise.
59767         * lib/argp-fs-xinl.c: Likewise.
59768         * lib/argp-help.c: Likewise.
59769         * lib/argp-namefrob.h: Likewise.
59770         * lib/argp-parse.c: Likewise.
59771         * lib/argp-pin.c: Likewise.
59772         * lib/argp-pv.c: Likewise.
59773         * lib/argp-pvh.c: Likewise.
59774         * lib/argp-xinl.c: Likewise.
59775         * lib/argp.h: Likewise.
59776         * lib/at-func.c: Likewise.
59777         * lib/atanl.c: Likewise.
59778         * lib/backupfile.c: Likewise.
59779         * lib/backupfile.h: Likewise.
59780         * lib/basename.c: Likewise.
59781         * lib/binary-io.h: Likewise.
59782         * lib/byteswap.in.h: Likewise.
59783         * lib/c-stack.c: Likewise.
59784         * lib/c-stack.h: Likewise.
59785         * lib/c-strcasestr.c: Likewise.
59786         * lib/c-strcasestr.h: Likewise.
59787         * lib/c-strstr.c: Likewise.
59788         * lib/c-strstr.h: Likewise.
59789         * lib/c-strtod.c: Likewise.
59790         * lib/calloc.c: Likewise.
59791         * lib/canon-host.c: Likewise.
59792         * lib/canon-host.h: Likewise.
59793         * lib/canonicalize-lgpl.c: Likewise.
59794         * lib/canonicalize.c: Likewise.
59795         * lib/canonicalize.h: Likewise.
59796         * lib/ceil.c: Likewise.
59797         * lib/ceilf.c: Likewise.
59798         * lib/ceill.c: Likewise.
59799         * lib/chdir-long.c: Likewise.
59800         * lib/chdir-long.h: Likewise.
59801         * lib/chdir-safer.c: Likewise.
59802         * lib/chdir-safer.h: Likewise.
59803         * lib/chown.c: Likewise.
59804         * lib/classpath.c: Likewise.
59805         * lib/classpath.h: Likewise.
59806         * lib/clean-temp.c: Likewise.
59807         * lib/clean-temp.h: Likewise.
59808         * lib/cloexec.c: Likewise.
59809         * lib/close-stream.c: Likewise.
59810         * lib/closein.c: Likewise.
59811         * lib/closein.h: Likewise.
59812         * lib/closeout.c: Likewise.
59813         * lib/closeout.h: Likewise.
59814         * lib/concat-filename.c: Likewise.
59815         * lib/copy-file.c: Likewise.
59816         * lib/copy-file.h: Likewise.
59817         * lib/count-one-bits.h: Likewise.
59818         * lib/crc.c: Likewise.
59819         * lib/crc.h: Likewise.
59820         * lib/creat-safer.c: Likewise.
59821         * lib/csharpcomp.c: Likewise.
59822         * lib/csharpcomp.h: Likewise.
59823         * lib/csharpexec.c: Likewise.
59824         * lib/csharpexec.h: Likewise.
59825         * lib/cycle-check.c: Likewise.
59826         * lib/cycle-check.h: Likewise.
59827         * lib/diacrit.c: Likewise.
59828         * lib/diacrit.h: Likewise.
59829         * lib/diffseq.h: Likewise.
59830         * lib/dirchownmod.c: Likewise.
59831         * lib/dirent.in.h: Likewise.
59832         * lib/dirfd.c: Likewise.
59833         * lib/dirfd.h: Likewise.
59834         * lib/dirname.c: Likewise.
59835         * lib/dirname.h: Likewise.
59836         * lib/dummy.c: Likewise.
59837         * lib/dup-safer.c: Likewise.
59838         * lib/dup2.c: Likewise.
59839         * lib/eealloc.h: Likewise.
59840         * lib/error.c: Likewise.
59841         * lib/error.h: Likewise.
59842         * lib/euidaccess.c: Likewise.
59843         * lib/exclude.c: Likewise.
59844         * lib/exclude.h: Likewise.
59845         * lib/execute.c: Likewise.
59846         * lib/execute.h: Likewise.
59847         * lib/exitfail.c: Likewise.
59848         * lib/exitfail.h: Likewise.
59849         * lib/expl.c: Likewise.
59850         * lib/fatal-signal.c: Likewise.
59851         * lib/fatal-signal.h: Likewise.
59852         * lib/fbufmode.c: Likewise.
59853         * lib/fbufmode.h: Likewise.
59854         * lib/fchdir.c: Likewise.
59855         * lib/fchmodat.c: Likewise.
59856         * lib/fchownat.c: Likewise.
59857         * lib/fcntl--.h: Likewise.
59858         * lib/fcntl-safer.h: Likewise.
59859         * lib/fcntl.in.h: Likewise.
59860         * lib/fd-safer.c: Likewise.
59861         * lib/fflush.c: Likewise.
59862         * lib/file-has-acl.c: Likewise.
59863         * lib/file-set.c: Likewise.
59864         * lib/file-type.c: Likewise.
59865         * lib/file-type.h: Likewise.
59866         * lib/fileblocks.c: Likewise.
59867         * lib/filemode.c: Likewise.
59868         * lib/filemode.h: Likewise.
59869         * lib/filename.h: Likewise.
59870         * lib/filenamecat.c: Likewise.
59871         * lib/filenamecat.h: Likewise.
59872         * lib/findprog.c: Likewise.
59873         * lib/findprog.h: Likewise.
59874         * lib/float.in.h: Likewise.
59875         * lib/floor.c: Likewise.
59876         * lib/floorf.c: Likewise.
59877         * lib/floorl.c: Likewise.
59878         * lib/fopen-safer.c: Likewise.
59879         * lib/fopen.c: Likewise.
59880         * lib/fpending.c: Likewise.
59881         * lib/fpending.h: Likewise.
59882         * lib/fprintf.c: Likewise.
59883         * lib/fprintftime.h: Likewise.
59884         * lib/fpucw.h: Likewise.
59885         * lib/fpurge.c: Likewise.
59886         * lib/fpurge.h: Likewise.
59887         * lib/freadable.c: Likewise.
59888         * lib/freadable.h: Likewise.
59889         * lib/freadahead.c: Likewise.
59890         * lib/freadahead.h: Likewise.
59891         * lib/freading.c: Likewise.
59892         * lib/freading.h: Likewise.
59893         * lib/free.c: Likewise.
59894         * lib/freopen.c: Likewise.
59895         * lib/frexp.c: Likewise.
59896         * lib/frexpl.c: Likewise.
59897         * lib/fseek.c: Likewise.
59898         * lib/fseterr.c: Likewise.
59899         * lib/fseterr.h: Likewise.
59900         * lib/fstatat.c: Likewise.
59901         * lib/fstrcmp.c: Likewise.
59902         * lib/fstrcmp.h: Likewise.
59903         * lib/fsusage.c: Likewise.
59904         * lib/fsusage.h: Likewise.
59905         * lib/ftell.c: Likewise.
59906         * lib/ftello.c: Likewise.
59907         * lib/fts-cycle.c: Likewise.
59908         * lib/fts.c: Likewise.
59909         * lib/fts_.h: Likewise.
59910         * lib/full-read.c: Likewise.
59911         * lib/full-read.h: Likewise.
59912         * lib/full-write.c: Likewise.
59913         * lib/full-write.h: Likewise.
59914         * lib/fwritable.c: Likewise.
59915         * lib/fwritable.h: Likewise.
59916         * lib/fwriteerror.c: Likewise.
59917         * lib/fwriteerror.h: Likewise.
59918         * lib/fwriting.c: Likewise.
59919         * lib/fwriting.h: Likewise.
59920         * lib/gcd.c: Likewise.
59921         * lib/gcd.h: Likewise.
59922         * lib/getcwd.c: Likewise.
59923         * lib/getdate.h: Likewise.
59924         * lib/getdate.y: Likewise.
59925         * lib/getdomainname.c: Likewise.
59926         * lib/getdomainname.h: Likewise.
59927         * lib/getgroups.c: Likewise.
59928         * lib/gethostname.c: Likewise.
59929         * lib/gethrxtime.c: Likewise.
59930         * lib/gethrxtime.h: Likewise.
59931         * lib/getloadavg.c: Likewise.
59932         * lib/getndelim2.c: Likewise.
59933         * lib/getndelim2.h: Likewise.
59934         * lib/getnline.c: Likewise.
59935         * lib/getnline.h: Likewise.
59936         * lib/getopt.c: Likewise.
59937         * lib/getopt.in.h: Likewise.
59938         * lib/getopt1.c: Likewise.
59939         * lib/getopt_int.h: Likewise.
59940         * lib/getpagesize.h: Likewise.
59941         * lib/getsubopt.c: Likewise.
59942         * lib/gettime.c: Likewise.
59943         * lib/getugroups.c: Likewise.
59944         * lib/getugroups.h: Likewise.
59945         * lib/getusershell.c: Likewise.
59946         * lib/gl_anyavltree_list1.h: Likewise.
59947         * lib/gl_anyavltree_list2.h: Likewise.
59948         * lib/gl_anyhash_list1.h: Likewise.
59949         * lib/gl_anyhash_list2.h: Likewise.
59950         * lib/gl_anylinked_list1.h: Likewise.
59951         * lib/gl_anylinked_list2.h: Likewise.
59952         * lib/gl_anyrbtree_list1.h: Likewise.
59953         * lib/gl_anyrbtree_list2.h: Likewise.
59954         * lib/gl_anytree_list1.h: Likewise.
59955         * lib/gl_anytree_list2.h: Likewise.
59956         * lib/gl_anytree_oset.h: Likewise.
59957         * lib/gl_anytreehash_list1.h: Likewise.
59958         * lib/gl_anytreehash_list2.h: Likewise.
59959         * lib/gl_array_list.c: Likewise.
59960         * lib/gl_array_list.h: Likewise.
59961         * lib/gl_array_oset.c: Likewise.
59962         * lib/gl_array_oset.h: Likewise.
59963         * lib/gl_avltree_list.c: Likewise.
59964         * lib/gl_avltree_list.h: Likewise.
59965         * lib/gl_avltree_oset.c: Likewise.
59966         * lib/gl_avltree_oset.h: Likewise.
59967         * lib/gl_avltreehash_list.c: Likewise.
59968         * lib/gl_avltreehash_list.h: Likewise.
59969         * lib/gl_carray_list.c: Likewise.
59970         * lib/gl_carray_list.h: Likewise.
59971         * lib/gl_linked_list.c: Likewise.
59972         * lib/gl_linked_list.h: Likewise.
59973         * lib/gl_linkedhash_list.c: Likewise.
59974         * lib/gl_linkedhash_list.h: Likewise.
59975         * lib/gl_list.c: Likewise.
59976         * lib/gl_list.h: Likewise.
59977         * lib/gl_oset.c: Likewise.
59978         * lib/gl_oset.h: Likewise.
59979         * lib/gl_rbtree_list.c: Likewise.
59980         * lib/gl_rbtree_list.h: Likewise.
59981         * lib/gl_rbtree_oset.c: Likewise.
59982         * lib/gl_rbtree_oset.h: Likewise.
59983         * lib/gl_rbtreehash_list.c: Likewise.
59984         * lib/gl_rbtreehash_list.h: Likewise.
59985         * lib/gl_sublist.c: Likewise.
59986         * lib/gl_sublist.h: Likewise.
59987         * lib/group-member.c: Likewise.
59988         * lib/group-member.h: Likewise.
59989         * lib/hard-locale.c: Likewise.
59990         * lib/hard-locale.h: Likewise.
59991         * lib/hash-pjw.c: Likewise.
59992         * lib/hash-pjw.h: Likewise.
59993         * lib/hash-triple.c: Likewise.
59994         * lib/hash.c: Likewise.
59995         * lib/hash.h: Likewise.
59996         * lib/human.c: Likewise.
59997         * lib/human.h: Likewise.
59998         * lib/i-ring.c: Likewise.
59999         * lib/i-ring.h: Likewise.
60000         * lib/idcache.c: Likewise.
60001         * lib/imaxabs.c: Likewise.
60002         * lib/imaxdiv.c: Likewise.
60003         * lib/inet_pton.c: Likewise.
60004         * lib/inet_pton.h: Likewise.
60005         * lib/intprops.h: Likewise.
60006         * lib/inttostr.c: Likewise.
60007         * lib/inttostr.h: Likewise.
60008         * lib/inttypes.in.h: Likewise.
60009         * lib/isapipe.c: Likewise.
60010         * lib/isdir.c: Likewise.
60011         * lib/isnan.c: Likewise.
60012         * lib/isnan.h: Likewise.
60013         * lib/isnanf.c: Likewise.
60014         * lib/isnanf.h: Likewise.
60015         * lib/isnanl-nolibm.h: Likewise.
60016         * lib/isnanl.c: Likewise.
60017         * lib/isnanl.h: Likewise.
60018         * lib/javacomp.c: Likewise.
60019         * lib/javacomp.h: Likewise.
60020         * lib/javaexec.c: Likewise.
60021         * lib/javaexec.h: Likewise.
60022         * lib/javaversion.c: Likewise.
60023         * lib/javaversion.h: Likewise.
60024         * lib/javaversion.java: Likewise.
60025         * lib/lbrkprop.h: Likewise.
60026         * lib/lchmod.h: Likewise.
60027         * lib/lchown.c: Likewise.
60028         * lib/ldexpl.c: Likewise.
60029         * lib/linebreak.c: Likewise.
60030         * lib/linebreak.h: Likewise.
60031         * lib/linebuffer.c: Likewise.
60032         * lib/linebuffer.h: Likewise.
60033         * lib/locale.in.h: Likewise.
60034         * lib/logl.c: Likewise.
60035         * lib/long-options.c: Likewise.
60036         * lib/long-options.h: Likewise.
60037         * lib/lstat.c: Likewise.
60038         * lib/lstat.h: Likewise.
60039         * lib/math.in.h: Likewise.
60040         * lib/mbchar.c: Likewise.
60041         * lib/mbchar.h: Likewise.
60042         * lib/mbfile.h: Likewise.
60043         * lib/mbiter.h: Likewise.
60044         * lib/mbscasecmp.c: Likewise.
60045         * lib/mbscasestr.c: Likewise.
60046         * lib/mbschr.c: Likewise.
60047         * lib/mbscspn.c: Likewise.
60048         * lib/mbslen.c: Likewise.
60049         * lib/mbsncasecmp.c: Likewise.
60050         * lib/mbsnlen.c: Likewise.
60051         * lib/mbspbrk.c: Likewise.
60052         * lib/mbspcasecmp.c: Likewise.
60053         * lib/mbsrchr.c: Likewise.
60054         * lib/mbssep.c: Likewise.
60055         * lib/mbsspn.c: Likewise.
60056         * lib/mbsstr.c: Likewise.
60057         * lib/mbstok_r.c: Likewise.
60058         * lib/mbswidth.c: Likewise.
60059         * lib/mbswidth.h: Likewise.
60060         * lib/mbuiter.h: Likewise.
60061         * lib/memcasecmp.c: Likewise.
60062         * lib/memcasecmp.h: Likewise.
60063         * lib/memchr.c: Likewise.
60064         * lib/memcmp.c: Likewise.
60065         * lib/memcoll.c: Likewise.
60066         * lib/memcoll.h: Likewise.
60067         * lib/memcpy.c: Likewise.
60068         * lib/memrchr.c: Likewise.
60069         * lib/mkancesdirs.c: Likewise.
60070         * lib/mkdir-p.c: Likewise.
60071         * lib/mkdir-p.h: Likewise.
60072         * lib/mkdir.c: Likewise.
60073         * lib/mkdirat.c: Likewise.
60074         * lib/mkdtemp.c: Likewise.
60075         * lib/mkstemp-safer.c: Likewise.
60076         * lib/mkstemp.c: Likewise.
60077         * lib/modechange.c: Likewise.
60078         * lib/modechange.h: Likewise.
60079         * lib/mountlist.c: Likewise.
60080         * lib/mountlist.h: Likewise.
60081         * lib/mpsort.c: Likewise.
60082         * lib/nanosleep.c: Likewise.
60083         * lib/obstack.c: Likewise.
60084         * lib/obstack.h: Likewise.
60085         * lib/open-safer.c: Likewise.
60086         * lib/open.c: Likewise.
60087         * lib/openat-die.c: Likewise.
60088         * lib/openat-priv.h: Likewise.
60089         * lib/openat-proc.c: Likewise.
60090         * lib/openat.c: Likewise.
60091         * lib/openat.h: Likewise.
60092         * lib/pagealign_alloc.c: Likewise.
60093         * lib/pagealign_alloc.h: Likewise.
60094         * lib/physmem.c: Likewise.
60095         * lib/physmem.h: Likewise.
60096         * lib/pipe-safer.c: Likewise.
60097         * lib/pipe.c: Likewise.
60098         * lib/pipe.h: Likewise.
60099         * lib/posixtm.c: Likewise.
60100         * lib/posixtm.h: Likewise.
60101         * lib/posixver.c: Likewise.
60102         * lib/printf-frexp.c: Likewise.
60103         * lib/printf-frexp.h: Likewise.
60104         * lib/printf-frexpl.c: Likewise.
60105         * lib/printf-frexpl.h: Likewise.
60106         * lib/printf.c: Likewise.
60107         * lib/progname.c: Likewise.
60108         * lib/progname.h: Likewise.
60109         * lib/progreloc.c: Likewise.
60110         * lib/putenv.c: Likewise.
60111         * lib/quote.c: Likewise.
60112         * lib/quote.h: Likewise.
60113         * lib/quotearg.c: Likewise.
60114         * lib/quotearg.h: Likewise.
60115         * lib/raise.c: Likewise.
60116         * lib/readline.c: Likewise.
60117         * lib/readline.h: Likewise.
60118         * lib/readlink.c: Likewise.
60119         * lib/readtokens.c: Likewise.
60120         * lib/readtokens.h: Likewise.
60121         * lib/readtokens0.c: Likewise.
60122         * lib/readtokens0.h: Likewise.
60123         * lib/readutmp.c: Likewise.
60124         * lib/readutmp.h: Likewise.
60125         * lib/realloc.c: Likewise.
60126         * lib/relocwrapper.c: Likewise.
60127         * lib/rename-dest-slash.c: Likewise.
60128         * lib/rename.c: Likewise.
60129         * lib/rmdir.c: Likewise.
60130         * lib/rpmatch.c: Likewise.
60131         * lib/safe-read.c: Likewise.
60132         * lib/safe-read.h: Likewise.
60133         * lib/safe-write.c: Likewise.
60134         * lib/safe-write.h: Likewise.
60135         * lib/same-inode.h: Likewise.
60136         * lib/same.c: Likewise.
60137         * lib/same.h: Likewise.
60138         * lib/save-cwd.c: Likewise.
60139         * lib/save-cwd.h: Likewise.
60140         * lib/savedir.c: Likewise.
60141         * lib/savedir.h: Likewise.
60142         * lib/savewd.c: Likewise.
60143         * lib/savewd.h: Likewise.
60144         * lib/search.in.h: Likewise.
60145         * lib/setenv.c: Likewise.
60146         * lib/setenv.h: Likewise.
60147         * lib/settime.c: Likewise.
60148         * lib/sh-quote.c: Likewise.
60149         * lib/sh-quote.h: Likewise.
60150         * lib/sig2str.c: Likewise.
60151         * lib/sig2str.h: Likewise.
60152         * lib/signal.in.h: Likewise.
60153         * lib/signbitd.c: Likewise.
60154         * lib/signbitf.c: Likewise.
60155         * lib/signbitl.c: Likewise.
60156         * lib/sigprocmask.c: Likewise.
60157         * lib/sincosl.c: Likewise.
60158         * lib/sleep.c: Likewise.
60159         * lib/sprintf.c: Likewise.
60160         * lib/sqrtl.c: Likewise.
60161         * lib/stat-time.h: Likewise.
60162         * lib/stdio--.h: Likewise.
60163         * lib/stdio-safer.h: Likewise.
60164         * lib/stdlib--.h: Likewise.
60165         * lib/stdlib-safer.h: Likewise.
60166         * lib/stdlib.in.h: Likewise.
60167         * lib/stpcpy.c: Likewise.
60168         * lib/stpncpy.c: Likewise.
60169         * lib/strchrnul.c: Likewise.
60170         * lib/strcspn.c: Likewise.
60171         * lib/strerror.c: Likewise.
60172         * lib/strftime.c: Likewise.
60173         * lib/strftime.h: Likewise.
60174         * lib/striconveh.c: Likewise.
60175         * lib/striconveh.h: Likewise.
60176         * lib/striconveha.c: Likewise.
60177         * lib/striconveha.h: Likewise.
60178         * lib/stripslash.c: Likewise.
60179         * lib/strnlen1.c: Likewise.
60180         * lib/strnlen1.h: Likewise.
60181         * lib/strtod.c: Likewise.
60182         * lib/strtoimax.c: Likewise.
60183         * lib/strtok_r.c: Likewise.
60184         * lib/strtol.c: Likewise.
60185         * lib/strtoll.c: Likewise.
60186         * lib/strtoul.c: Likewise.
60187         * lib/strtoull.c: Likewise.
60188         * lib/sysexits.in.h: Likewise.
60189         * lib/tempname.c: Likewise.
60190         * lib/tempname.h: Likewise.
60191         * lib/timespec.h: Likewise.
60192         * lib/tls.c: Likewise.
60193         * lib/tls.h: Likewise.
60194         * lib/tmpdir.c: Likewise.
60195         * lib/tmpdir.h: Likewise.
60196         * lib/tmpfile-safer.c: Likewise.
60197         * lib/tmpfile.c: Likewise.
60198         * lib/trigl.c: Likewise.
60199         * lib/trigl.h: Likewise.
60200         * lib/trim.c: Likewise.
60201         * lib/trim.h: Likewise.
60202         * lib/trunc.c: Likewise.
60203         * lib/truncf.c: Likewise.
60204         * lib/truncl.c: Likewise.
60205         * lib/tsearch.c: Likewise.
60206         * lib/unicodeio.c: Likewise.
60207         * lib/unicodeio.h: Likewise.
60208         * lib/unistd--.h: Likewise.
60209         * lib/unistd-safer.h: Likewise.
60210         * lib/unistdio/ulc-fprintf.c: Likewise.
60211         * lib/unistdio/ulc-vfprintf.c: Likewise.
60212         * lib/unlinkdir.c: Likewise.
60213         * lib/unlinkdir.h: Likewise.
60214         * lib/unlocked-io.h: Likewise.
60215         * lib/unsetenv.c: Likewise.
60216         * lib/userspec.c: Likewise.
60217         * lib/utime.c: Likewise.
60218         * lib/utimecmp.c: Likewise.
60219         * lib/utimecmp.h: Likewise.
60220         * lib/utimens.c: Likewise.
60221         * lib/verify.h: Likewise.
60222         * lib/verror.c: Likewise.
60223         * lib/verror.h: Likewise.
60224         * lib/version-etc-fsf.c: Likewise.
60225         * lib/version-etc.c: Likewise.
60226         * lib/version-etc.h: Likewise.
60227         * lib/vfprintf.c: Likewise.
60228         * lib/vprintf.c: Likewise.
60229         * lib/vsprintf.c: Likewise.
60230         * lib/w32spawn.h: Likewise.
60231         * lib/wait-process.c: Likewise.
60232         * lib/wait-process.h: Likewise.
60233         * lib/wcwidth.c: Likewise.
60234         * lib/write-any-file.c: Likewise.
60235         * lib/xalloc-die.c: Likewise.
60236         * lib/xalloc.h: Likewise.
60237         * lib/xasprintf.c: Likewise.
60238         * lib/xgetcwd.c: Likewise.
60239         * lib/xgetcwd.h: Likewise.
60240         * lib/xgetdomainname.c: Likewise.
60241         * lib/xgetdomainname.h: Likewise.
60242         * lib/xgethostname.c: Likewise.
60243         * lib/xmalloc.c: Likewise.
60244         * lib/xmalloca.c: Likewise.
60245         * lib/xmalloca.h: Likewise.
60246         * lib/xmemcoll.c: Likewise.
60247         * lib/xnanosleep.c: Likewise.
60248         * lib/xreadlink.c: Likewise.
60249         * lib/xreadlink.h: Likewise.
60250         * lib/xsetenv.c: Likewise.
60251         * lib/xsetenv.h: Likewise.
60252         * lib/xstriconv.c: Likewise.
60253         * lib/xstriconv.h: Likewise.
60254         * lib/xstrndup.c: Likewise.
60255         * lib/xstrndup.h: Likewise.
60256         * lib/xstrtod.c: Likewise.
60257         * lib/xstrtod.h: Likewise.
60258         * lib/xstrtol-error.c: Likewise.
60259         * lib/xstrtol.c: Likewise.
60260         * lib/xstrtol.h: Likewise.
60261         * lib/xtime.h: Likewise.
60262         * lib/xvasprintf.c: Likewise.
60263         * lib/xvasprintf.h: Likewise.
60264         * lib/yesno.c: Likewise.
60265         * lib/yesno.h: Likewise.
60266         * posix-modules: Likewise.
60267         * tests/test-alloca-opt.c: Likewise.
60268         * tests/test-arcfour.c: Likewise.
60269         * tests/test-arctwo.c: Likewise.
60270         * tests/test-argmatch.c: Likewise.
60271         * tests/test-argp-2.sh: Likewise.
60272         * tests/test-argp.c: Likewise.
60273         * tests/test-arpa_inet.c: Likewise.
60274         * tests/test-array_list.c: Likewise.
60275         * tests/test-array_oset.c: Likewise.
60276         * tests/test-atexit.c: Likewise.
60277         * tests/test-avltree_list.c: Likewise.
60278         * tests/test-avltree_oset.c: Likewise.
60279         * tests/test-avltreehash_list.c: Likewise.
60280         * tests/test-base64.c: Likewise.
60281         * tests/test-binary-io.c: Likewise.
60282         * tests/test-byteswap.c: Likewise.
60283         * tests/test-c-ctype.c: Likewise.
60284         * tests/test-c-strcasecmp.c: Likewise.
60285         * tests/test-c-strcasestr.c: Likewise.
60286         * tests/test-c-strncasecmp.c: Likewise.
60287         * tests/test-c-strstr.c: Likewise.
60288         * tests/test-canonicalize-lgpl.c: Likewise.
60289         * tests/test-canonicalize.c: Likewise.
60290         * tests/test-carray_list.c: Likewise.
60291         * tests/test-ceilf.c: Likewise.
60292         * tests/test-ceill.c: Likewise.
60293         * tests/test-count-one-bits.c: Likewise.
60294         * tests/test-crc.c: Likewise.
60295         * tests/test-dirname.c: Likewise.
60296         * tests/test-fbufmode.c: Likewise.
60297         * tests/test-fcntl.c: Likewise.
60298         * tests/test-fflush.c: Likewise.
60299         * tests/test-floorf.c: Likewise.
60300         * tests/test-floorl.c: Likewise.
60301         * tests/test-fopen.c: Likewise.
60302         * tests/test-fprintf-posix.c: Likewise.
60303         * tests/test-fprintf-posix.h: Likewise.
60304         * tests/test-fpurge.c: Likewise.
60305         * tests/test-freadable.c: Likewise.
60306         * tests/test-freadahead.c: Likewise.
60307         * tests/test-freading.c: Likewise.
60308         * tests/test-freopen.c: Likewise.
60309         * tests/test-frexp.c: Likewise.
60310         * tests/test-frexpl.c: Likewise.
60311         * tests/test-fseek.c: Likewise.
60312         * tests/test-fseeko.c: Likewise.
60313         * tests/test-fseterr.c: Likewise.
60314         * tests/test-fstrcmp.c: Likewise.
60315         * tests/test-ftell.c: Likewise.
60316         * tests/test-ftello.c: Likewise.
60317         * tests/test-fwritable.c: Likewise.
60318         * tests/test-fwriting.c: Likewise.
60319         * tests/test-getaddrinfo.c: Likewise.
60320         * tests/test-getpass.c: Likewise.
60321         * tests/test-gettimeofday.c: Likewise.
60322         * tests/test-hmac-md5.c: Likewise.
60323         * tests/test-hmac-sha1.c: Likewise.
60324         * tests/test-iconv.c: Likewise.
60325         * tests/test-iconvme.c: Likewise.
60326         * tests/test-inttypes.c: Likewise.
60327         * tests/test-isnan.c: Likewise.
60328         * tests/test-isnanf.c: Likewise.
60329         * tests/test-isnanl-nolibm.c: Likewise.
60330         * tests/test-isnanl.c: Likewise.
60331         * tests/test-isnanl.h: Likewise.
60332         * tests/test-ldexpl.c: Likewise.
60333         * tests/test-linked_list.c: Likewise.
60334         * tests/test-linkedhash_list.c: Likewise.
60335         * tests/test-locale.c: Likewise.
60336         * tests/test-localename.c: Likewise.
60337         * tests/test-lock.c: Likewise.
60338         * tests/test-lseek.c: Likewise.
60339         * tests/test-malloca.c: Likewise.
60340         * tests/test-math.c: Likewise.
60341         * tests/test-mbscasecmp.c: Likewise.
60342         * tests/test-mbscasestr1.c: Likewise.
60343         * tests/test-mbscasestr2.c: Likewise.
60344         * tests/test-mbscasestr3.c: Likewise.
60345         * tests/test-mbscasestr4.c: Likewise.
60346         * tests/test-mbschr.c: Likewise.
60347         * tests/test-mbscspn.c: Likewise.
60348         * tests/test-mbsncasecmp.c: Likewise.
60349         * tests/test-mbspbrk.c: Likewise.
60350         * tests/test-mbspcasecmp.c: Likewise.
60351         * tests/test-mbsrchr.c: Likewise.
60352         * tests/test-mbsspn.c: Likewise.
60353         * tests/test-mbsstr1.c: Likewise.
60354         * tests/test-mbsstr2.c: Likewise.
60355         * tests/test-mbsstr3.c: Likewise.
60356         * tests/test-md5.c: Likewise.
60357         * tests/test-memmem.c: Likewise.
60358         * tests/test-netinet_in.c: Likewise.
60359         * tests/test-open.c: Likewise.
60360         * tests/test-printf-frexp.c: Likewise.
60361         * tests/test-printf-frexpl.c: Likewise.
60362         * tests/test-printf-posix.c: Likewise.
60363         * tests/test-printf-posix.h: Likewise.
60364         * tests/test-rbtree_list.c: Likewise.
60365         * tests/test-rbtree_oset.c: Likewise.
60366         * tests/test-rbtreehash_list.c: Likewise.
60367         * tests/test-read-file.c: Likewise.
60368         * tests/test-rijndael.c: Likewise.
60369         * tests/test-search.c: Likewise.
60370         * tests/test-signbit.c: Likewise.
60371         * tests/test-sleep.c: Likewise.
60372         * tests/test-snprintf-posix.c: Likewise.
60373         * tests/test-snprintf-posix.h: Likewise.
60374         * tests/test-snprintf.c: Likewise.
60375         * tests/test-sprintf-posix.c: Likewise.
60376         * tests/test-sprintf-posix.h: Likewise.
60377         * tests/test-stat-time.c: Likewise.
60378         * tests/test-stdbool.c: Likewise.
60379         * tests/test-stdint.c: Likewise.
60380         * tests/test-stdio.c: Likewise.
60381         * tests/test-stdlib.c: Likewise.
60382         * tests/test-stpncpy.c: Likewise.
60383         * tests/test-strcasestr.c: Likewise.
60384         * tests/test-striconv.c: Likewise.
60385         * tests/test-striconveh.c: Likewise.
60386         * tests/test-striconveha.c: Likewise.
60387         * tests/test-string.c: Likewise.
60388         * tests/test-sys_select.c: Likewise.
60389         * tests/test-sys_socket.c: Likewise.
60390         * tests/test-sys_stat.c: Likewise.
60391         * tests/test-sys_time.c: Likewise.
60392         * tests/test-sysexits.c: Likewise.
60393         * tests/test-time.c: Likewise.
60394         * tests/test-tls.c: Likewise.
60395         * tests/test-trunc.c: Likewise.
60396         * tests/test-truncf.c: Likewise.
60397         * tests/test-truncl.c: Likewise.
60398         * tests/test-unistd.c: Likewise.
60399         * tests/test-vasnprintf-posix.c: Likewise.
60400         * tests/test-vasnprintf-posix2.c: Likewise.
60401         * tests/test-vasnprintf.c: Likewise.
60402         * tests/test-vasprintf-posix.c: Likewise.
60403         * tests/test-vasprintf.c: Likewise.
60404         * tests/test-verify.c: Likewise.
60405         * tests/test-vfprintf-posix.c: Likewise.
60406         * tests/test-vprintf-posix.c: Likewise.
60407         * tests/test-vsnprintf-posix.c: Likewise.
60408         * tests/test-vsnprintf.c: Likewise.
60409         * tests/test-vsprintf-posix.c: Likewise.
60410         * tests/test-wchar.c: Likewise.
60411         * tests/test-wctype.c: Likewise.
60412         * tests/test-wcwidth.c: Likewise.
60413         * tests/test-xstrtol.c: Likewise.
60414         * tests/test-xvasprintf.c: Likewise.
60415         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60416         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60417         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60418         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60419         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60420         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60421         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60422         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60423         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60424         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60425         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60426         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60427         * tests/uniname/test-uninames.c: Likewise.
60428         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60429         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60430         * tests/unistdio/test-u16-printf1.h: Likewise.
60431         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60432         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60433         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60434         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60435         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60436         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60437         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60438         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60439         * tests/unistdio/test-u32-printf1.h: Likewise.
60440         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60441         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60442         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60443         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60444         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60445         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60446         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60447         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60448         * tests/unistdio/test-u8-printf1.h: Likewise.
60449         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60450         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60451         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60452         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60453         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60454         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60455         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60456         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60457         * tests/unistdio/test-ulc-printf1.h: Likewise.
60458         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60459         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60460         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60461         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60462         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60463         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60464         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60465         * tests/uniwidth/test-u16-width.c: Likewise.
60466         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60467         * tests/uniwidth/test-u32-width.c: Likewise.
60468         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60469         * tests/uniwidth/test-u8-width.c: Likewise.
60470         * tests/uniwidth/test-uc_width.c: Likewise.
60471         * config/srclist-update: Likewise.
60472         (fixlicense): Update to GPLv3+.
60473
60474         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60475         * tests/test-tsearch.c: Change copyright notice.
60476
60477         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60478         * lib/c-strcaseeq.h: Change copyright notice.
60479         * lib/streq.h: Likewise.
60480         * lib/uniconv.h: Likewise.
60481         * lib/uniconv/u-conv-from-enc.h: Likewise.
60482         * lib/uniconv/u-conv-to-enc.h: Likewise.
60483         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60484         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60485         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60486         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60487         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60488         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60489         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60490         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60491         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60492         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60493         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60494         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60495         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60496         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60497         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60498         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60499         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60500         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60501         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60502         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60503         * lib/uniname.h: Likewise.
60504         * lib/uniname/uniname.c: Likewise.
60505         * lib/unistdio.h: Likewise.
60506         * lib/unistdio/u-asnprintf.h: Likewise.
60507         * lib/unistdio/u-asprintf.h: Likewise.
60508         * lib/unistdio/u-printf-args.c: Likewise.
60509         * lib/unistdio/u-printf-args.h: Likewise.
60510         * lib/unistdio/u-printf-parse.h: Likewise.
60511         * lib/unistdio/u-snprintf.h: Likewise.
60512         * lib/unistdio/u-sprintf.h: Likewise.
60513         * lib/unistdio/u-vasprintf.h: Likewise.
60514         * lib/unistdio/u-vsnprintf.h: Likewise.
60515         * lib/unistdio/u-vsprintf.h: Likewise.
60516         * lib/unistdio/u16-asnprintf.c: Likewise.
60517         * lib/unistdio/u16-asprintf.c: Likewise.
60518         * lib/unistdio/u16-printf-parse.c: Likewise.
60519         * lib/unistdio/u16-snprintf.c: Likewise.
60520         * lib/unistdio/u16-sprintf.c: Likewise.
60521         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60522         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60523         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60524         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60525         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60526         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60527         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60528         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60529         * lib/unistdio/u16-vasnprintf.c: Likewise.
60530         * lib/unistdio/u16-vasprintf.c: Likewise.
60531         * lib/unistdio/u16-vsnprintf.c: Likewise.
60532         * lib/unistdio/u16-vsprintf.c: Likewise.
60533         * lib/unistdio/u32-asnprintf.c: Likewise.
60534         * lib/unistdio/u32-asprintf.c: Likewise.
60535         * lib/unistdio/u32-printf-parse.c: Likewise.
60536         * lib/unistdio/u32-snprintf.c: Likewise.
60537         * lib/unistdio/u32-sprintf.c: Likewise.
60538         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60539         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60540         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60541         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60542         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60543         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60544         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60545         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60546         * lib/unistdio/u32-vasnprintf.c: Likewise.
60547         * lib/unistdio/u32-vasprintf.c: Likewise.
60548         * lib/unistdio/u32-vsnprintf.c: Likewise.
60549         * lib/unistdio/u32-vsprintf.c: Likewise.
60550         * lib/unistdio/u8-asnprintf.c: Likewise.
60551         * lib/unistdio/u8-asprintf.c: Likewise.
60552         * lib/unistdio/u8-printf-parse.c: Likewise.
60553         * lib/unistdio/u8-snprintf.c: Likewise.
60554         * lib/unistdio/u8-sprintf.c: Likewise.
60555         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60556         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60557         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60558         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60559         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60560         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60561         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60562         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60563         * lib/unistdio/u8-vasnprintf.c: Likewise.
60564         * lib/unistdio/u8-vasprintf.c: Likewise.
60565         * lib/unistdio/u8-vsnprintf.c: Likewise.
60566         * lib/unistdio/u8-vsprintf.c: Likewise.
60567         * lib/unistdio/ulc-asnprintf.c: Likewise.
60568         * lib/unistdio/ulc-asprintf.c: Likewise.
60569         * lib/unistdio/ulc-printf-parse.c: Likewise.
60570         * lib/unistdio/ulc-snprintf.c: Likewise.
60571         * lib/unistdio/ulc-sprintf.c: Likewise.
60572         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60573         * lib/unistdio/ulc-vasprintf.c: Likewise.
60574         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60575         * lib/unistdio/ulc-vsprintf.c: Likewise.
60576         * lib/unistr.h: Likewise.
60577         * lib/unistr/u-cpy-alloc.h: Likewise.
60578         * lib/unistr/u-cpy.h: Likewise.
60579         * lib/unistr/u-endswith.h: Likewise.
60580         * lib/unistr/u-move.h: Likewise.
60581         * lib/unistr/u-set.h: Likewise.
60582         * lib/unistr/u-startswith.h: Likewise.
60583         * lib/unistr/u-stpcpy.h: Likewise.
60584         * lib/unistr/u-stpncpy.h: Likewise.
60585         * lib/unistr/u-strcat.h: Likewise.
60586         * lib/unistr/u-strcpy.h: Likewise.
60587         * lib/unistr/u-strcspn.h: Likewise.
60588         * lib/unistr/u-strdup.h: Likewise.
60589         * lib/unistr/u-strlen.h: Likewise.
60590         * lib/unistr/u-strncat.h: Likewise.
60591         * lib/unistr/u-strncpy.h: Likewise.
60592         * lib/unistr/u-strnlen.h: Likewise.
60593         * lib/unistr/u-strpbrk.h: Likewise.
60594         * lib/unistr/u-strspn.h: Likewise.
60595         * lib/unistr/u-strstr.h: Likewise.
60596         * lib/unistr/u-strtok.h: Likewise.
60597         * lib/unistr/u16-check.c: Likewise.
60598         * lib/unistr/u16-chr.c: Likewise.
60599         * lib/unistr/u16-cmp.c: Likewise.
60600         * lib/unistr/u16-cpy-alloc.c: Likewise.
60601         * lib/unistr/u16-cpy.c: Likewise.
60602         * lib/unistr/u16-endswith.c: Likewise.
60603         * lib/unistr/u16-mblen.c: Likewise.
60604         * lib/unistr/u16-mbsnlen.c: Likewise.
60605         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60606         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60607         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60608         * lib/unistr/u16-mbtouc.c: Likewise.
60609         * lib/unistr/u16-mbtoucr.c: Likewise.
60610         * lib/unistr/u16-move.c: Likewise.
60611         * lib/unistr/u16-next.c: Likewise.
60612         * lib/unistr/u16-prev.c: Likewise.
60613         * lib/unistr/u16-set.c: Likewise.
60614         * lib/unistr/u16-startswith.c: Likewise.
60615         * lib/unistr/u16-stpcpy.c: Likewise.
60616         * lib/unistr/u16-stpncpy.c: Likewise.
60617         * lib/unistr/u16-strcat.c: Likewise.
60618         * lib/unistr/u16-strchr.c: Likewise.
60619         * lib/unistr/u16-strcmp.c: Likewise.
60620         * lib/unistr/u16-strcpy.c: Likewise.
60621         * lib/unistr/u16-strcspn.c: Likewise.
60622         * lib/unistr/u16-strdup.c: Likewise.
60623         * lib/unistr/u16-strlen.c: Likewise.
60624         * lib/unistr/u16-strmblen.c: Likewise.
60625         * lib/unistr/u16-strmbtouc.c: Likewise.
60626         * lib/unistr/u16-strncat.c: Likewise.
60627         * lib/unistr/u16-strncmp.c: Likewise.
60628         * lib/unistr/u16-strncpy.c: Likewise.
60629         * lib/unistr/u16-strnlen.c: Likewise.
60630         * lib/unistr/u16-strpbrk.c: Likewise.
60631         * lib/unistr/u16-strrchr.c: Likewise.
60632         * lib/unistr/u16-strspn.c: Likewise.
60633         * lib/unistr/u16-strstr.c: Likewise.
60634         * lib/unistr/u16-strtok.c: Likewise.
60635         * lib/unistr/u16-to-u32.c: Likewise.
60636         * lib/unistr/u16-to-u8.c: Likewise.
60637         * lib/unistr/u16-uctomb-aux.c: Likewise.
60638         * lib/unistr/u16-uctomb.c: Likewise.
60639         * lib/unistr/u32-check.c: Likewise.
60640         * lib/unistr/u32-chr.c: Likewise.
60641         * lib/unistr/u32-cmp.c: Likewise.
60642         * lib/unistr/u32-cpy-alloc.c: Likewise.
60643         * lib/unistr/u32-cpy.c: Likewise.
60644         * lib/unistr/u32-endswith.c: Likewise.
60645         * lib/unistr/u32-mblen.c: Likewise.
60646         * lib/unistr/u32-mbsnlen.c: Likewise.
60647         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60648         * lib/unistr/u32-mbtouc.c: Likewise.
60649         * lib/unistr/u32-mbtoucr.c: Likewise.
60650         * lib/unistr/u32-move.c: Likewise.
60651         * lib/unistr/u32-next.c: Likewise.
60652         * lib/unistr/u32-prev.c: Likewise.
60653         * lib/unistr/u32-set.c: Likewise.
60654         * lib/unistr/u32-startswith.c: Likewise.
60655         * lib/unistr/u32-stpcpy.c: Likewise.
60656         * lib/unistr/u32-stpncpy.c: Likewise.
60657         * lib/unistr/u32-strcat.c: Likewise.
60658         * lib/unistr/u32-strchr.c: Likewise.
60659         * lib/unistr/u32-strcmp.c: Likewise.
60660         * lib/unistr/u32-strcpy.c: Likewise.
60661         * lib/unistr/u32-strcspn.c: Likewise.
60662         * lib/unistr/u32-strdup.c: Likewise.
60663         * lib/unistr/u32-strlen.c: Likewise.
60664         * lib/unistr/u32-strmblen.c: Likewise.
60665         * lib/unistr/u32-strmbtouc.c: Likewise.
60666         * lib/unistr/u32-strncat.c: Likewise.
60667         * lib/unistr/u32-strncmp.c: Likewise.
60668         * lib/unistr/u32-strncpy.c: Likewise.
60669         * lib/unistr/u32-strnlen.c: Likewise.
60670         * lib/unistr/u32-strpbrk.c: Likewise.
60671         * lib/unistr/u32-strrchr.c: Likewise.
60672         * lib/unistr/u32-strspn.c: Likewise.
60673         * lib/unistr/u32-strstr.c: Likewise.
60674         * lib/unistr/u32-strtok.c: Likewise.
60675         * lib/unistr/u32-to-u16.c: Likewise.
60676         * lib/unistr/u32-to-u8.c: Likewise.
60677         * lib/unistr/u32-uctomb.c: Likewise.
60678         * lib/unistr/u8-check.c: Likewise.
60679         * lib/unistr/u8-chr.c: Likewise.
60680         * lib/unistr/u8-cmp.c: Likewise.
60681         * lib/unistr/u8-cpy-alloc.c: Likewise.
60682         * lib/unistr/u8-cpy.c: Likewise.
60683         * lib/unistr/u8-endswith.c: Likewise.
60684         * lib/unistr/u8-mblen.c: Likewise.
60685         * lib/unistr/u8-mbsnlen.c: Likewise.
60686         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60687         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60688         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60689         * lib/unistr/u8-mbtouc.c: Likewise.
60690         * lib/unistr/u8-mbtoucr.c: Likewise.
60691         * lib/unistr/u8-move.c: Likewise.
60692         * lib/unistr/u8-next.c: Likewise.
60693         * lib/unistr/u8-prev.c: Likewise.
60694         * lib/unistr/u8-set.c: Likewise.
60695         * lib/unistr/u8-startswith.c: Likewise.
60696         * lib/unistr/u8-stpcpy.c: Likewise.
60697         * lib/unistr/u8-stpncpy.c: Likewise.
60698         * lib/unistr/u8-strcat.c: Likewise.
60699         * lib/unistr/u8-strchr.c: Likewise.
60700         * lib/unistr/u8-strcmp.c: Likewise.
60701         * lib/unistr/u8-strcpy.c: Likewise.
60702         * lib/unistr/u8-strcspn.c: Likewise.
60703         * lib/unistr/u8-strdup.c: Likewise.
60704         * lib/unistr/u8-strlen.c: Likewise.
60705         * lib/unistr/u8-strmblen.c: Likewise.
60706         * lib/unistr/u8-strmbtouc.c: Likewise.
60707         * lib/unistr/u8-strncat.c: Likewise.
60708         * lib/unistr/u8-strncmp.c: Likewise.
60709         * lib/unistr/u8-strncpy.c: Likewise.
60710         * lib/unistr/u8-strnlen.c: Likewise.
60711         * lib/unistr/u8-strpbrk.c: Likewise.
60712         * lib/unistr/u8-strrchr.c: Likewise.
60713         * lib/unistr/u8-strspn.c: Likewise.
60714         * lib/unistr/u8-strstr.c: Likewise.
60715         * lib/unistr/u8-strtok.c: Likewise.
60716         * lib/unistr/u8-to-u16.c: Likewise.
60717         * lib/unistr/u8-to-u32.c: Likewise.
60718         * lib/unistr/u8-uctomb-aux.c: Likewise.
60719         * lib/unistr/u8-uctomb.c: Likewise.
60720         * lib/unitypes.h: Likewise.
60721         * lib/uniwidth.h: Likewise.
60722         * lib/uniwidth/cjk.h: Likewise.
60723         * lib/uniwidth/u16-strwidth.c: Likewise.
60724         * lib/uniwidth/u16-width.c: Likewise.
60725         * lib/uniwidth/u32-strwidth.c: Likewise.
60726         * lib/uniwidth/u32-width.c: Likewise.
60727         * lib/uniwidth/u8-strwidth.c: Likewise.
60728         * lib/uniwidth/u8-width.c: Likewise.
60729         * lib/uniwidth/width.c: Likewise.
60730
60731 2007-10-07  Bruno Haible  <bruno@clisp.org>
60732
60733         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60734         The file is still under LGPL (see modules/inttypes).
60735
60736 2007-10-06  Bruno Haible  <bruno@clisp.org>
60737
60738         * modules/trunc (Dependencies): Add 'extensions'.
60739         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60740         Reported by Ben Pfaff <blp@gnu.org>.
60741
60742 2007-10-06  Bruno Haible  <bruno@clisp.org>
60743
60744         * modules/freopen-tests: New file.
60745         * tests/test-freopen.c: New file.
60746
60747         * modules/fopen-tests: New file.
60748         * tests/test-fopen.c: New file.
60749
60750         * modules/fopen: New file.
60751         * lib/fopen.c: New file.
60752         * m4/fopen.m4: New file.
60753         * modules/freopen: New file.
60754         * lib/freopen.c: New file.
60755         * m4/freopen.m4: New file.
60756         * lib/stdio.in.h (fopen, freopen): New declarations.
60757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60758         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60759         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60760         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60761         * doc/functions/fopen.texi: Mention the 'fopen' module.
60762         * doc/functions/freopen.texi: Mention the 'freopen' module.
60763
60764 2007-10-06  Bruno Haible  <bruno@clisp.org>
60765
60766         * modules/open-tests: New file.
60767         * tests/test-open.c: New file.
60768
60769         * modules/open: New file.
60770         * lib/open.c: New file.
60771         * m4/open.m4: New file.
60772         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60773         lib/open.c does.
60774         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60775         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60776         macros.
60777         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60778         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60779         REPLACE_OPEN.
60780         * doc/functions/open.texi: Mention the 'open' module.
60781
60782 2007-10-04  Bruno Haible  <bruno@clisp.org>
60783
60784         * modules/ceill-tests: New file.
60785         * tests/test-ceill.c: New file.
60786
60787         * modules/ceill: New file.
60788         * lib/ceill.c: Replace entire file.
60789         * m4/ceill.m4: New file.
60790         * lib/math.in.h (ceill): Replace declaration.
60791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60792         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60793         * doc/functions/ceill.texi: Mention the 'ceill' module.
60794         * modules/mathl (Files): Remove lib/ceill.c.
60795         (Depends-on): Add ceill.
60796
60797 2007-10-04  Bruno Haible  <bruno@clisp.org>
60798
60799         * modules/ceilf-tests: New file.
60800         * tests/test-ceilf.c: New file.
60801
60802         * modules/ceilf: New file.
60803         * lib/ceil.c: New file.
60804         * lib/ceilf.c: New file.
60805         * m4/ceilf.m4: New file.
60806         * lib/math.in.h (ceilf): New declaration.
60807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60808         HAVE_DECL_CEILF.
60809         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60810         HAVE_DECL_CEILF.
60811         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60812
60813 2007-10-04  Bruno Haible  <bruno@clisp.org>
60814
60815         * modules/floorl-tests: New file.
60816         * tests/test-floorl.c: New file.
60817
60818         * modules/floorl: New file.
60819         * lib/floorl.c: Replace entire file.
60820         * m4/floorl.m4: New file.
60821         * lib/math.in.h (floorl): Replace declaration.
60822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60823         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60824         * doc/functions/floorl.texi: Mention the 'floorl' module.
60825         * modules/mathl (Files): Remove lib/floorl.c.
60826         (Depends-on): Add floorl.
60827
60828 2007-10-04  Bruno Haible  <bruno@clisp.org>
60829
60830         * modules/floorf-tests: New file.
60831         * tests/test-floorf.c: New file.
60832
60833         * modules/floorf: New file.
60834         * lib/floor.c: New file.
60835         * lib/floorf.c: New file.
60836         * m4/floorf.m4: New file.
60837         * lib/math.in.h (floorf): New declaration.
60838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60839         HAVE_DECL_FLOORF.
60840         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60841         HAVE_DECL_FLOORF.
60842         * doc/functions/floorf.texi: Mention the 'floorf' module.
60843
60844 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60845             Bruno Haible  <bruno@clisp.org>
60846
60847         Advertise for the Git server instead of the CVS server.
60848         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60849         repository instead of the CVS one.
60850         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60851         about all VCS systems generically.
60852         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60853
60854 2007-10-04  Bruno Haible  <bruno@clisp.org>
60855
60856         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60857         means.
60858         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60859
60860 2007-10-04  Bruno Haible  <bruno@clisp.org>
60861
60862         * modules/truncl-tests: New file.
60863         * tests/test-truncl.c: New file.
60864
60865         * modules/truncl: New file.
60866         * lib/truncl.c: New file.
60867         * m4/truncl.m4: New file.
60868         * lib/math.in.h (truncl): New declaration.
60869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60870         HAVE_DECL_TRUNCL.
60871         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60872         HAVE_DECL_TRUNCL.
60873         * doc/functions/truncl.texi: Mention the 'truncl' module.
60874
60875 2007-10-04  Bruno Haible  <bruno@clisp.org>
60876
60877         * modules/truncf-tests: New file.
60878         * tests/test-truncf.c: New file.
60879
60880         * modules/truncf: New file.
60881         * lib/trunc.c: Make paramerizable through USE_* macros.
60882         * lib/truncf.c: New file.
60883         * m4/truncf.m4: New file.
60884         * lib/math.in.h (truncf): New declaration.
60885         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60886         HAVE_DECL_TRUNCF.
60887         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60888         HAVE_DECL_TRUNCF.
60889         * doc/functions/truncf.texi: Mention the 'truncf' module.
60890
60891 2007-10-03  Bruno Haible  <bruno@clisp.org>
60892
60893         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60894         augmentation also for tests modules.
60895         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60896         * modules/atexit-tests (Makefile.am): Likewise.
60897         * modules/binary-io-tests (Makefile.am): Likewise.
60898         * modules/c-strcase-tests (Makefile.am): Likewise.
60899         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60900         * modules/canonicalize-tests (Makefile.am): Likewise.
60901         * modules/closein-tests (Makefile.am): Likewise.
60902         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60903         * modules/freadahead-tests (Makefile.am): Likewise.
60904         * modules/fseek-tests (Makefile.am): Likewise.
60905         * modules/fseeko-tests (Makefile.am): Likewise.
60906         * modules/ftell-tests (Makefile.am): Likewise.
60907         * modules/ftello-tests (Makefile.am): Likewise.
60908         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60909         * modules/isnanl-tests (Makefile.am): Likewise.
60910         * modules/lseek-tests (Makefile.am): Likewise.
60911         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60912         * modules/mbscasestr-tests (Makefile.am): Likewise.
60913         * modules/mbschr-tests (Makefile.am): Likewise.
60914         * modules/mbscspn-tests (Makefile.am): Likewise.
60915         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60916         * modules/mbspbrk-tests (Makefile.am): Likewise.
60917         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60918         * modules/mbsrchr-tests (Makefile.am): Likewise.
60919         * modules/mbsspn-tests (Makefile.am): Likewise.
60920         * modules/mbsstr-tests (Makefile.am): Likewise.
60921         * modules/printf-posix-tests (Makefile.am): Likewise.
60922         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60923         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60924         * modules/tsearch-tests (Makefile.am): Likewise.
60925         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60926         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60927         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60928         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60929         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60930         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60931         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60932         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60933         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60934         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60935         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60936         * modules/xstrtol-tests (Makefile.am): Likewise.
60937         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60938         * modules/yesno-tests (Makefile.am): Likewise.
60939
60940 2007-10-03  Bruno Haible  <bruno@clisp.org>
60941
60942         * modules/trunc-tests: New file.
60943         * tests/test-trunc.c: New file.
60944
60945         * modules/trunc: New file.
60946         * lib/trunc.c: New file.
60947         * m4/trunc.m4: New file.
60948         * lib/math.in.h (trunc): New declaration.
60949         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60950         HAVE_DECL_TRUNC.
60951         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60952         HAVE_DECL_TRUNC.
60953         * doc/functions/trunc.texi: Mention the 'trunc' module.
60954
60955 2007-10-03  Bruno Haible  <bruno@clisp.org>
60956
60957         * tests/test-fpending.c: New file, mostly copied
60958         from coreutils/lib/t-fpending.c.
60959         * modules/fpending-tests: New file.
60960
60961 2007-10-03  Bruno Haible  <bruno@clisp.org>
60962
60963         Port the stdio extensions to QNX (untested).
60964         * lib/fseterr.c (fseterr): Add support for QNX.
60965         * lib/fbufmode.c (fbufmode): Likewise.
60966         * lib/freadable.c (freadable): Likewise.
60967         * lib/fwritable.c (fwritable): Likewise.
60968         * lib/freading.c (freading): Likewise.
60969         * lib/fwriting.c (fwriting): Likewise.
60970         * lib/freadahead.c (freadahed): Likewise.
60971         * lib/fpurge.c (fpurge): Likewise.
60972         * lib/fseeko.c (rpl_fseeko): Likewise.
60973
60974 2007-10-03  Bruno Haible  <bruno@clisp.org>
60975             Jim Meyering  <jim@meyering.net>
60976             Eric Blake  <ebb9@byu.net>
60977
60978         * doc/relocatable.texi: Use @command instead of @program.
60979
60980 2007-10-02  Jim Meyering  <jim@meyering.net>
60981
60982         Perform one more "_.h" -> ".in.h" substitution.
60983         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60984         instead of unistd_.h here, too.
60985
60986 2007-10-01  Bruno Haible  <bruno@clisp.org>
60987
60988         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60989         Needed for the alloca-opt module.
60990
60991 2007-09-30  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60994         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60995         alloca_.h.
60996         * lib/argz.in.h: Renamed from lib/argz_.h.
60997         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60998         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60999         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61000         byteswap_.h.
61001         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61002         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61003         dirent_.h.
61004         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61005         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61006         fcntl_.h.
61007         * lib/float.in.h: Renamed from lib/float_.h.
61008         * modules/float (Files, Makefile.am): Use float.in.h instead of
61009         float_.h.
61010         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61011         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61012         fnmatch_.h.
61013         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61014         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61015         getopt_.h.
61016         * lib/glob.in.h: Renamed from lib/glob_.h.
61017         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61018         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61019         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61020         iconv_.h.
61021         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61022         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61023         inttypes_.h.
61024         * lib/locale.in.h: Renamed from lib/locale_.h.
61025         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61026         locale_.h.
61027         * lib/math.in.h: Renamed from lib/math_.h.
61028         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61029         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61030         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61031         of netinet_in_.h. Add dependency.
61032         * lib/poll.in.h: Renamed from lib/poll_.h.
61033         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61034         * lib/search.in.h: Renamed from lib/search_.h.
61035         * modules/search (Files, Makefile.am): Use search.in.h instead of
61036         search_.h.
61037         * lib/signal.in.h: Renamed from lib/signal_.h.
61038         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61039         _signal.h.
61040         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61041         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61042         stdbool_.h.
61043         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61044         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61045         stdint_.h.
61046         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61047         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61048         stdio_.h.
61049         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61050         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61051         stdlib_.h.
61052         * lib/string.in.h: Renamed from lib/string_.h.
61053         * modules/string (Files, Makefile.am): Use string.in.h instead of
61054         string_.h.
61055         * doc/gnulib-tool.texi (Initial import): Update.
61056         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61057         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61058         of sys_select_.h. Add dependency.
61059         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61060         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61061         of sys_socket_.h.
61062         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61063         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61064         sys_stat_.h.
61065         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61066         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61067         sys_time_.h.
61068         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61069         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61070         sysexits_.h.
61071         * lib/time.in.h: Renamed from lib/time_.h.
61072         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61073         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61074         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61075         unistd_.h.
61076         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61077         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61078         wchar_.h.
61079         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61080         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61081         wctype_.h.
61082         * build-aux/bootstrap (slurp): Update.
61083         * lib/.cppi-disable: Update.
61084
61085 2007-09-30  Bruno Haible  <bruno@clisp.org>
61086
61087         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61088         Needed on BeOS.
61089
61090 2007-09-30  Bruno Haible  <bruno@clisp.org>
61091
61092         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61093
61094 2007-09-29  Bruno Haible  <bruno@clisp.org>
61095
61096         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61097
61098 2007-09-29  Bruno Haible  <bruno@clisp.org>
61099
61100         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61101         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61102         * build-aux/install-reloc: Compile also areadlink.c.
61103         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61104
61105 2007-09-29  Bruno Haible  <bruno@clisp.org>
61106
61107         * gnulib-tool (func_emit_initmacro_done): Indentation.
61108
61109 2007-09-29  Bruno Haible  <bruno@clisp.org>
61110
61111         * README: Add CVS checkout update instructions.
61112         Info from Bob Proulx <bob@proulx.com>.
61113
61114 2007-09-28  Eric Blake  <ebb9@byu.net>
61115
61116         Provide move-if-change.
61117         * build-aux/move-if-change: New file, based on best practice
61118         rather than any canonical upstream location.
61119
61120 2007-09-28  Jim Meyering  <jim@meyering.net>
61121
61122         Fix canonicalize loop-detection corner case.
61123         Do not attempt to stat the symlink values stored via seen_triple.
61124         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61125         on linux-2.6.18, (but not 2.6.22).
61126         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61127         triple_compare.  The former compares dev,ino,filename, while the latter
61128         would actually stat dirname(filename) when dev and ino were equal.
61129         * lib/hash-triple.c: Install <string.h>.
61130         (STREQ): Define.
61131         (triple_compare_ino_str): New function.
61132         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61133
61134 2007-09-28  Eric Blake  <ebb9@byu.net>
61135
61136         Enforce that AC_REPLACE_FUNCS files exist.
61137         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61138         override check for typos.
61139
61140         Fix test-closein on Solaris 10.
61141         * tests/test-closein.c (main): Don't assume stdin can be inherited
61142         closed on all systems.
61143         * tests/test-closein.sh: Likewise.
61144         Reported by Piotr Tarnowski.
61145
61146 2007-09-28  Jim Meyering  <jim@meyering.net>
61147
61148         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61149
61150 2007-09-27  Jim Meyering  <jim@meyering.net>
61151
61152         canonicalize: Avoid a false-positive cycle failure.
61153         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61154         Sort.  Remove cycle-check.
61155         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61156         not cycle-check.h.
61157         (seen_triple): New function.
61158         (canonicalize_filename_mode): Use it instead of cycle-check.
61159         * tests/test-canonicalize.c: Add a test for this bug.
61160         * tests/test-canonicalize.sh: Set up and run the test.
61161
61162         New module, file-set, from coreutils.
61163         * modules/file-set: Define it.
61164         * lib/file-set.c, lib/file-set.h: Implement.
61165
61166         New module, hash-triple, from coreutils.
61167         * modules/hash-triple: Define it.
61168         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61169
61170 2007-09-25  Eric Blake  <ebb9@byu.net>
61171
61172         Fix strerror on Interix.
61173         * lib/string_.h (strerror): Declare replacement.
61174         * doc/functions/strerror.texi (strerror): Document the Interix
61175         shortcoming.
61176         * modules/string (Makefile.am): Support new hooks.
61177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61178         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61179         gl_FUNC_STRERROR_SEPARATE.
61180         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61181         * lib/strerror.c (rpl_strerror): Provide replacement.
61182         * modules/strerror (Depends-on): Add string.
61183         (configure.ac): Detect use of module.
61184         * tests/test-strerror.c: New file.
61185         * modules/strerror-tests: New test module.
61186         * modules/argp (Depends-on): Add strerror.
61187         * modules/error (Depends-on): Likewise.
61188         Reported by Martin Koeppe.
61189
61190 2007-09-24  Bruno Haible  <bruno@clisp.org>
61191
61192         * README: Update git instructions.
61193
61194 2007-09-24  Eric Blake  <ebb9@byu.net>
61195
61196         Revert fpending breakage from 2007-09-08.
61197         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61198         __fpending.c.
61199
61200 2007-09-24  Jim Meyering  <jim@meyering.net>
61201
61202         filenamecat.c: Add a test.
61203         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61204         showing how the function works when DIR is the empty string.
61205
61206 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61207
61208         * tests/test-canonicalize.sh: Turn on executable bit.
61209
61210 2007-09-19  Eric Blake  <ebb9@byu.net>
61211
61212         * README: Update CVS instructions.
61213
61214 2007-09-18  Bruno Haible  <bruno@clisp.org>
61215
61216         * modules/areadlink: New file.
61217         * lib/areadlink.h (areadlink): New declaration.
61218         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61219
61220 2007-09-17  Jim Meyering  <jim@meyering.net>
61221
61222         * lib/savewd.c (ESTALE) [!defined]: Define.
61223         Reported to be required on Interix by Martin Koeppe.
61224
61225 2007-09-17  Bruno Haible  <bruno@clisp.org>
61226
61227         * gnulib-tool (func_version): Use $version.
61228
61229 2007-09-16  Bruno Haible  <bruno@clisp.org>
61230
61231         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61232         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61233         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61234         Reported by Greg Schafer <gschafer@zip.com.au>.
61235
61236 2007-09-15  Bruno Haible  <bruno@clisp.org>
61237
61238         * gnulib-tool (sed): Try a little harder to make bash understand the
61239         alias.
61240         Reported by Bruce Korb <bruce.korb@gmail.com>.
61241
61242 2007-09-13  Eric Blake  <ebb9@byu.net>
61243
61244         * ChangeLog: Remove conflict markers.
61245
61246 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61247
61248         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61249         Reported by Bruno Haible <bruno@clisp.org>.
61250
61251 2007-09-12  Bruno Haible  <bruno@clisp.org>
61252
61253         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61254         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61255         is not defined.
61256
61257 2007-09-12  Eric Blake  <ebb9@byu.net>
61258
61259         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61260         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61261         Autoconf definition.
61262         * modules/euidaccess (Depends-on): Add extensions, for
61263         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61264         * modules/fnmatch (Depends-on): Likewise.
61265         * modules/getaddrinfo (Depends-on): Likewise.
61266         * modules/getdelim (Depends-on): Likewise.
61267         * modules/getline (Depends-on): Likewise.
61268         * modules/getsubopt (Depends-on): Likewise.
61269         * modules/gettext (Depends-on): Likewise.
61270         * modules/group-member (Depends-on): Likewise.
61271         * modules/mbchar (Depends-on): Likewise.
61272         * modules/memmem (Depends-on): Likewise.
61273         * modules/mempcpy (Depends-on): Likewise.
61274         * modules/memrchr (Depends-on): Likewise.
61275         * modules/pagealign_alloc (Depends-on): Likewise.
61276         * modules/readutmp (Depends-on): Likewise.
61277         * modules/stpcpy (Depends-on): Likewise.
61278         * modules/stpncpy (Depends-on): Likewise.
61279         * modules/strchrnul (Depends-on): Likewise.
61280         * modules/strndup (Depends-on): Likewise.
61281         * modules/strsep (Depends-on): Likewise.
61282         * modules/strverscmp (Depends-on): Likewise.
61283         * modules/vasprintf (Depends-on): Likewise.
61284         * modules/wcwidth (Depends-on): Likewise.
61285         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61286         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61287         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61288         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61289         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61290         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61291         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61292         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61293         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61294         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61295         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61296         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61297         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61298         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61299         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61300         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61301         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61302         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61303         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61304         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61305         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61306         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61307         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61308         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61309         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61311         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61312         so that lock.m4 can be used in gettext without extensions module.
61313
61314 2007-09-11  Bruno Haible  <bruno@clisp.org>
61315
61316         * m4/isc-posix.m4: Remove file.
61317         Suggested by Eric Blake.
61318
61319 2007-09-11  Eric Blake  <ebb9@byu.net>
61320
61321         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61322
61323 2007-09-10  Bruno Haible  <bruno@clisp.org>
61324
61325         * posix-modules: Fix typo in error message.
61326         Reported by Matt <mkraai@beckman.com>.
61327
61328 2007-09-09  Bruno Haible  <bruno@clisp.org>
61329
61330         * doc/functions/getdelim.texi: Update list of platforms lacking the
61331         function.
61332         * doc/functions/getline.texi: Likewise.
61333
61334 2007-09-09  Jim Meyering  <jim@meyering.net>
61335
61336         * lib/hash.c (hash_initialize): Detect calloc failure.
61337         Reported by Bruno Haible.
61338
61339 2007-09-09  Bruno Haible  <bruno@clisp.org>
61340
61341         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61342         malloc or realloc fails.
61343
61344 2007-09-09  Bruno Haible  <bruno@clisp.org>
61345
61346         * modules/getcwd (Depends-on): Add malloc-posix.
61347         * modules/glob (Depends-on): Likewise.
61348         * modules/putenv (Depends-on): Likewise.
61349         * modules/strdup (Depends-on): Likewise.
61350         * modules/getdelim (Depends-on): Add realloc-posix.
61351         * modules/read-file (Depends-on): Likewise.
61352
61353 2007-09-09  Bruno Haible  <bruno@clisp.org>
61354
61355         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61356         (gl_FUNC_MALLOC_POSIX): Require it.
61357         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61358         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61359         * modules/realloc (Files): Add m4/malloc.m4.
61360         * modules/calloc (Files): Likewise.
61361
61362 2007-09-09  Bruno Haible  <bruno@clisp.org>
61363
61364         * modules/malloc-posix: New file.
61365         * modules/malloc (Depends-on): Add malloc-posix.
61366         * lib/malloc.c: Include errno.h.
61367         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61368         and a POSIX-compatible malloc into a single function. Set ENOMEM
61369         when returning NULL.
61370         * m4/malloc.m4: New file.
61371         * doc/functions/malloc.texi: Mention the malloc-posix module.
61372         * lib/stdlib_.h (malloc): New declaration.
61373         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61374         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61375         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61376         and HAVE_MALLOC_POSIX.
61377
61378 2007-09-09  Bruno Haible  <bruno@clisp.org>
61379
61380         * modules/realloc-posix: New file.
61381         * modules/realloc (Depends-on): Add realloc-posix.
61382         * lib/realloc.c: Include errno.h.
61383         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61384         and a POSIX-compatible realloc into a single function. Set ENOMEM
61385         when returning NULL.
61386         * m4/realloc.m4: New file.
61387         * doc/functions/realloc.texi: Mention the realloc-posix module.
61388         * lib/stdlib_.h (realloc): New declaration.
61389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61390         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61391         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61392         and HAVE_REALLOC_POSIX.
61393
61394 2007-09-09  Bruno Haible  <bruno@clisp.org>
61395
61396         * modules/calloc-posix: New file.
61397         * modules/calloc (Depends-on): Add calloc-posix.
61398         * lib/calloc.c: Include errno.h.
61399         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61400         and a POSIX-compatible calloc into a single function. Set ENOMEM
61401         when returning NULL.
61402         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61403         * doc/functions/calloc.texi: Mention the calloc-posix module.
61404         * lib/stdlib_.h (calloc): New declaration.
61405         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61406         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61407         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61408         and HAVE_CALLOC_POSIX.
61409
61410 2007-09-09  Bruno Haible  <bruno@clisp.org>
61411
61412         Allow for modules to show an arbitrary notice.
61413         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61414         * gnulib-tool: New option --extract-notice.
61415         (func_usage): Document it.
61416         (sed_extract_prog): Update.
61417         (func_get_notice): New function.
61418         (func_modules_notice): New function.
61419         (func_import, func_create_testdir): Invoke it.
61420         Suggested by Jim Meyering.
61421
61422 2007-09-09  Bruno Haible  <bruno@clisp.org>
61423
61424         * gnulib-tool: New options --verbose, --quiet.
61425         (func_usage): Document them.
61426         (verbose): New variable.
61427         (func_execute_command): New function.
61428         (func_import): Don't show the module list and the file list if
61429         $verbose < 0.
61430         (func_create_testdir): Likewise. Use func_execute_command.
61431         (func_create_megatestdir): Use func_execute_command.
61432
61433 2007-09-08  Bruno Haible  <bruno@clisp.org>
61434
61435         * gnulib-tool (func_import): Prefer rsync over wget when available,
61436         for fetching the PO files.
61437
61438 2007-09-08  Bruno Haible  <bruno@clisp.org>
61439
61440         * posix-modules: New file. Portions copied from gnulib-tool.
61441         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61442
61443 2007-09-08  Jim Meyering  <jim@meyering.net>
61444
61445         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61446         * lib/fpending.h: Rename from __fpending.h.
61447         * lib/fpending.c: Rename from __fpending.c.
61448         Include "fpending.h", not "__fpending.h".
61449         * lib/__fpending.h, lib/__fpending.c: Remove files.
61450         * modules/fpending (Files): Reflect new file names.
61451         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61452
61453 2007-09-08  Bruno Haible  <bruno@clisp.org>
61454
61455         * m4/inttypes-h.m4: Remove stub file.
61456
61457 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61458
61459         * doc/headers/stdint.texi: Discuss #include_next issue.
61460
61461 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61462
61463         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61464
61465 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61466
61467         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61468         in variable name.
61469
61470 2007-09-03  Jim Meyering  <jim@meyering.net>
61471
61472         New module: git-version-gen.
61473         * modules/git-version-gen: New file.
61474
61475         Import changes from coreutils for bootstrap script.
61476
61477         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61478
61479         bootstrap: uses rsync to download the .po files
61480         * build-aux/bootstrap (po_download_command_format): New global.
61481         (download_po_files): Use rsync.
61482         (update_po_files): Don't remove .po files after download,
61483         so future rsync runs can take advantage of the copies.
61484
61485         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61486
61487         Solve the unnecessary-.po-file-regeneration problem once and for all.
61488         * build-aux/bootstrap (download_po_files): New function, renamed from
61489         get_translations.  Now, downloads, but doesn't update LINGUAS.
61490         (update_po_files): New function.
61491
61492         bootstrap: Ignore more.
61493         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61494         uniwidth to e.g., lib/.gitignore.
61495         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61496
61497         * build-aux/bootstrap: New setting: vc_ignore.
61498         (insert_sorted_if_absent): Create $file if absent.
61499         Adapt to new, possibly empty, list: $vc_ignore.
61500
61501         bootstrap: generate more ignorable names
61502         * build-aux/bootstrap (slurp): When generating ignorable names,
61503         also map .sin to .sed, .gperf to .c, and .y to .c.
61504
61505 2007-09-03  Jim Meyering  <jim@meyering.net>
61506
61507         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61508         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61509
61510 2007-09-02  Bruno Haible  <bruno@clisp.org>
61511
61512         Fix mis-recognition of 'mcs' on QNX 6.
61513         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61514         output contains the string "Mono".
61515         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61516         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61517
61518 2007-09-01  Bruno Haible  <bruno@clisp.org>
61519
61520         Fix collision between uniwidth/* and linebreak modules.
61521         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61522         u32_width): Remove declarations.
61523         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61524         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61525         streq3, streq2, streq1, streq0): Remove functions.
61526         (STREQ): Remove macro.
61527         (is_cjk_encoding): Remove function.
61528         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61529         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61530         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61531         * NEWS: Document the change.
61532
61533 2007-09-01  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/streq.h: Add double-inclusion guard.
61536
61537 2007-09-01  Karl Berry  <karl@gnu.org>
61538
61539         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61540
61541 2007-08-28  Jim Meyering  <jim@meyering.net>
61542
61543         Rename mreadlink_with_size to areadlink_with_size.
61544         * NEWS: Document the change.
61545         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61546         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61547         * lib/mreadlink.h: Rename this to...
61548         * lib/areadlink.h: ...this.
61549         * modules/mreadlink-with-size: Rename this to...
61550         * modules/areadlink-with-size: ...this.
61551         * lib/canonicalize.c: Reflect the renaming.
61552         * modules/canonicalize: Likewise.
61553
61554 2007-08-26  Bruno Haible  <bruno@clisp.org>
61555
61556         * gnulib-tool (func_import): When deciding which files to remove,
61557         consider also dangling symbolic links.
61558         Reported by Eric Blake.
61559
61560 2007-08-26  Bruno Haible  <bruno@clisp.org>
61561
61562         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61563
61564 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61565
61566         * lib/readline.c: Don't include getline.h, the prototype is now
61567         found in stdio.h.
61568
61569 2007-08-23  Jim Meyering  <jim@meyering.net>
61570
61571         Getdelim touchup.
61572         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61573         around the funlockfile call, since funlockfile never sets errno.
61574         Don't set errno upon failed realloc.
61575
61576 2007-08-22  Eric Blake  <ebb9@byu.net>
61577
61578         Getline touchups.
61579         * lib/getdelim.c (getdelim): Revert regression that required *n to
61580         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61581         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61582         getdelim, rather than whether implementation is missing.
61583         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61584         * lib/stdio_.h (getline): Also declare if replacement is
61585         required.
61586         * doc/functions/getdelim.texi: New file.
61587         * doc/functions/getline.texi: Likewise.
61588         * doc/gnulib.texi (Function Substitutes): Add new files.
61589         Reported by Bruno Haible.
61590
61591 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61592
61593         * users.txt: Add Guile.
61594
61595 2007-08-22  Eric Blake  <ebb9@byu.net>
61596
61597         * tests/test-getdelim.c (main): Use remove, not unlink.
61598         * tests/test-getline.c (main): Likewise.
61599
61600         Move getline and getdelim into stdio.h, per POSIX 200x.
61601         * modules/getline (Files): Remove getline.h.
61602         (Depends-on): Add stdio.
61603         (configure.ac): Add module indicator.
61604         * modules/getdelim (Files): Remove getdelim.h.
61605         (Depends-on): Add stdio.
61606         (configure.ac): Add module indicator.
61607         * modules/stdio (Makefile.am): Work with new indicators.
61608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61609         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61610         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61611         * lib/getdelim.h: Delete.
61612         * lib/getline.h: Delete.
61613         * lib/stdio_.h (getdelim, getline): Declare.
61614         * modules/getdelim-tests: New module.
61615         * modules/getline-tests: Likewise.
61616         * tests/test-getdelim.c: New file.
61617         * tests/test-getline.c: Likewise.
61618         * NEWS: Document the change.
61619         * lib/getline.c: Update choice of header.
61620         * lib/csharpcomp.c: Likewise.
61621         * lib/getpass.c: Likewise.
61622         * lib/javacomp.c: Likewise.
61623         * lib/javaversion.c: Likewise.
61624         * lib/yesno.c: Likewise.
61625         * lib/getdelim.c: Likewise.
61626         (getdelim): Set errno on failure, and avoid memory leak.
61627
61628 2007-08-19  Bruno Haible  <bruno@clisp.org>
61629
61630         * modules/closein (Depends-on): Add freadahead.
61631         * lib/closein.c: Include freadahead.h.
61632         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61633         is zero.
61634
61635 2007-08-19  Bruno Haible  <bruno@clisp.org>
61636
61637         * modules/freadahead-tests: New file.
61638         * tests/test-freadahead.sh: New file.
61639         * tests/test-freadahead.c: New file.
61640
61641         * modules/freadahead: New file.
61642         * lib/freadahead.h: New file.
61643         * lib/freadahead.c: New file.
61644         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61645         fbufmode, fpurge, freadable, fwritable.
61646
61647 2007-08-19  Eric Blake  <ebb9@byu.net>
61648
61649         Test yesno in combination with closein.
61650         * lib/yesno.c (yesno): Document use of stdin.
61651         * modules/yesno-tests (Files): New module.
61652         * tests/test-yesno.c (main): New file.
61653         * tests/test-yesno.sh: Likewise.
61654
61655 2007-08-19  Bruno Haible  <bruno@clisp.org>
61656
61657         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61658         * lib/fseeko.c (rpl_fseeko): Likewise.
61659         * lib/fseterr.c (fseterr): Likewise.
61660
61661 2007-08-19  Bruno Haible  <bruno@clisp.org>
61662
61663         * tests/test-lseek.c (main): Disable a test for BeOS.
61664         * doc/functions/lseek.texi: Document the BeOS bug.
61665
61666 2007-08-19  Bruno Haible  <bruno@clisp.org>
61667             Eric Blake  <ebb9@byu.net>
61668
61669         * lib/lseek.c: Include <sys/stat.h>.
61670         (rpl_lseek): Add workaround code also for Unix platforms.
61671         Needed for BeOS.
61672         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61673         * doc/functions/lseek.texi: Document BeOS definiency.
61674
61675 2007-08-18  Bruno Haible  <bruno@clisp.org>
61676
61677         * modules/fstrcmp-tests: New file.
61678         * tests/test-fstrcmp.c: New file.
61679
61680 2007-08-18  Bruno Haible  <bruno@clisp.org>
61681
61682         * modules/fstrcmp: New file, from GNU gettext with modifications.
61683         * lib/fstrcmp.h: New file, from GNU gettext.
61684         * lib/fstrcmp.c: New file, from GNU gettext.
61685         * MODULES.html.sh (String handling): Add fstrcmp.
61686
61687 2007-08-18  Bruno Haible  <bruno@clisp.org>
61688
61689         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61690         'bool'.
61691         (diag, compareseq): Remove const from the ctxt argument.
61692         (USE_HEURISTIC): Undefine at the end.
61693
61694 2007-08-18  Jim Meyering  <jim@meyering.net>
61695
61696         New file: lib/idcache.h
61697         * NEWS: Mention the addition.
61698         * modules/idcache (Files): Add lib/idcache.h
61699         * lib/idcache.c: Include "idcache.h".
61700         Don't include <sys/types.h>.
61701         Add a FIXME comment.
61702         Move file-scoped "static" declarations to the top.
61703         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61704
61705 2007-08-17  Bruno Haible  <bruno@clisp.org>
61706         and Paul Eggert  <eggert@cs.ucla.edu>
61707
61708         * MODULES.html.sh: Add diffseq.
61709         * modules/diffseq: New file.
61710         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61711         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61712
61713 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61714
61715         Import changes from coreutils for bootstrap script.
61716
61717         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61718
61719         * build-aux/bootstrap (slurp): Work even in environments where
61720         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61721         current code does not slurp files whose names start with ".", and
61722         this looks like it might be a troublesome area.
61723
61724         2007-07-11  Jim Meyering  <jim@meyering.net>
61725
61726         If there's a GPL vN copyright comment, require that N == 3.
61727
61728         2007-07-08  Jim Meyering  <jim@meyering.net>
61729
61730         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61731         * build-aux/bootstrap (mam_template): Move definition out of loop.
61732
61733         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61734
61735         * build-aux/bootstrap (symlink_to_dir): Rename function from
61736         symlink_to_gnulib.  Add a directory parameter.  Update all
61737         callers.
61738         (cp_mark_as_generated): Also check for -- and link to -- files in
61739         gl/.
61740
61741         2007-07-08  Jim Meyering  <jim@meyering.net>
61742
61743         Adapt to deeper hierarchy in gnulib.
61744         * build-aux/bootstrap (symlink_to_dir): If the destination
61745         directory doesn't exist, create it. This is required at least for
61746         "lib/uniwidth/cjk.h".
61747
61748         2007-05-15  Jim Meyering  <jim@meyering.net>
61749
61750         * build-aux/bootstrap: Now that generated Makefile.am files
61751         are no longer under version control, they must be created at
61752         bootstrap time.
61753
61754 2007-08-14  Ben Pfaff  <blp@gnu.org>
61755
61756         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61757
61758 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61759
61760         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61761         given the changes below.
61762         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61763         even on hosts that have padding bits beyond the supported 64.
61764
61765 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61766
61767         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61768         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61769         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61770         depends on it.
61771         (xstrtol_error): Remove.
61772         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61773         but with a different signature.
61774         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61775         * lib/xstrtol-error.c: Include exitfail.h.
61776         (xstrtol_fatal): New function, with a different signature from the
61777         old xstrtol_error, so that the caller need not worry about passing
61778         in an exit status, or about storage management of the option argument.
61779         (xstrtol_error): Now a static function.  Redo signature to
61780         implement xstrtol_fatal.  Output the correct number of hyphens in
61781         front of the option so that the caller need not worry about
61782         storage management.
61783         (N_): New macro.
61784         (_): Remove; not used now.
61785         * modules/xstrtol: Depend on getopt.
61786         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61787         of old STRTOL_FATAL_ERROR macro.
61788         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61789         of test program.
61790         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61791         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61792
61793 2007-08-08  Eric Blake  <ebb9@byu.net>
61794
61795         * lib/xstrtol-error.c: Add missing include.
61796
61797         Move xstrtol messages into gnulib domain, when --pobase is used.
61798         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61799         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61800         * modules/xstrtol (Files): Distribute new file.
61801         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61802         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61803         * tests/test-xstrtol.c: ...into new file.
61804         * tests/test-xstrtoul.c: Also test xstrtoul.
61805         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61806         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61807         * tests/test-xstrtol.sh: Drive the tests.
61808         * tests/test-xstrtoimax.sh: Likewise.
61809         * tests/test-xstrtoumax.sh: Likewise.
61810         * modules/xstrtol-tests: New module.
61811         * modules/xstrtoimax-tests: Likewise.
61812         * modules/xstrtoumax-tests: Likewise.
61813
61814 2007-08-08  Jim Meyering  <jim@meyering.net>
61815
61816         New function: mfile_name_concat.
61817         * lib/filenamecat.c (mfile_name_concat): New function, just like
61818         file_name_concat, but return NULL upon failure rather than exiting
61819         with a diagnostic.
61820         * lib/filenamecat.h: Declare it.
61821
61822 2007-08-07  Bruno Haible  <bruno@clisp.org>
61823
61824         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61825         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61826         warning from gcc.
61827         Reported by Eric Blake.
61828
61829 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61830
61831         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61832         * modules/crypto/arcfour (License): Likewise.
61833         * modules/crypto/des-tests (License): Likewise.
61834         * modules/crypto/gc-arctwo-tests (License): Likewise.
61835         * modules/crypto/gc-des-tests (License): Likewise.
61836         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61837         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61838         * modules/crypto/gc-md2-tests (License): Likewise.
61839         * modules/crypto/gc-md4-tests (License): Likewise.
61840         * modules/crypto/gc-md5-tests (License): Likewise.
61841         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61842         * modules/crypto/gc-rijndael-tests (License): Likewise.
61843         * modules/crypto/gc-sha1-tests (License): Likewise.
61844         * modules/crypto/gc-tests (License): Likewise.
61845         * modules/crypto/hmac-md5 (License): Likewise.
61846         * modules/crypto/hmac-sha1 (License): Likewise.
61847         * modules/crypto/md2-tests (License): Likewise.
61848         * modules/crypto/md4-tests (License): Likewise.
61849         * modules/crypto/md5 (License): Likewise.
61850         * modules/crypto/rijndael (License): Likewise.
61851         * modules/crypto/sha1 (License): Likewise.
61852         * modules/memxor (License): Likewise.
61853
61854 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61855         and Bruno Haible  <bruno@clisp.org>
61856
61857         * NEWS: Describe interface changes to human, xstrtol.
61858         * lib/human.h: Include <xstrtol.h>.
61859         (human_options): Return enum strtol_error, not int.  Remove
61860         bool arg; take int * instead.
61861         * lib/human.c: Don't include "gettext.h".
61862         (_): Remove; no longer used.
61863         Don't include <xstrtol.h>, since human.h does it.
61864         (human_options): Adjust to abovementioned interface changes.
61865         Do not report error to stderr; that's now the caller's
61866         responsibility.
61867         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61868         interface change.
61869         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61870         Str, Argument_type_string.  All uses changed.  Put " argument"
61871         in diagnostics to make them clearer.  Change wording of suffix
61872         message for clarity.
61873         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61874         Argument_type_string.
61875         (STRTOL_FATAL_WARN): Remove; no longer used.
61876         * modules/human (Depends-on): Remove gettext-h.
61877
61878 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61879
61880         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61881
61882 2007-07-31  Bruno Haible  <bruno@clisp.org>
61883
61884         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61885         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61886         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61887
61888 2007-07-31  Bruno Haible  <bruno@clisp.org>
61889
61890         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61891         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61892
61893 2007-07-30  Bruno Haible  <bruno@clisp.org>
61894
61895         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61896         * modules/c-ctype (License): Likewise.
61897         * modules/c-strcase (License): Likewise.
61898         * modules/check-version (License): Likewise.
61899         * modules/iconv (License): Likewise.
61900         * modules/iconv_open (License): Likewise.
61901         * modules/read-file (License): Likewise.
61902         * modules/striconv (License): Likewise.
61903         * modules/strverscmp (License): Likewise.
61904         * modules/vasprintf (License): Likewise.
61905         * modules/crypto/des (License): Likewise.
61906         * modules/crypto/gc (License): Likewise.
61907         * modules/crypto/gc-arcfour (License): Likewise.
61908         * modules/crypto/gc-arctwo (License): Likewise.
61909         * modules/crypto/gc-des (License): Likewise.
61910         * modules/crypto/gc-hmac-md5 (License): Likewise.
61911         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61912         * modules/crypto/gc-md2 (License): Likewise.
61913         * modules/crypto/gc-md4 (License): Likewise.
61914         * modules/crypto/gc-md5 (License): Likewise.
61915         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61916         * modules/crypto/gc-random (License): Likewise.
61917         * modules/crypto/gc-rijndael (License): Likewise.
61918         * modules/crypto/gc-sha1 (License): Likewise.
61919         * modules/crypto/md2 (License): Likewise.
61920         * modules/crypto/md4 (License): Likewise.
61921
61922 2007-07-30  Jim Meyering  <jim@meyering.net>
61923
61924         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61925         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61926         it has valid stat data.  This bug would cause du not to count the
61927         sizes of inaccessible directories.
61928         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61929         in <http://bugzilla.redhat.com/250077>.
61930
61931 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61932             Bruno Haible  <bruno@clisp.org>
61933
61934         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61935         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61936         #include_next, gives a diagnostic about it, but reports no error in
61937         the exit code.
61938         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61939
61940 2007-07-24  Ben Pfaff  <blp@gnu.org>
61941
61942         Improve name: "count-one-bits" is better than "popcount".
61943         * MODULES.html.sh: Update name.
61944         * lib/popcount.h: Renamed lib/count-one-bits.h.
61945         (popcount): Renamed count_one_bits.
61946         (popcountl): Renamed count_one_bits_l.
61947         (popcountll): Renamed count_one_bits_ll.
61948         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61949         * modules/popcount: Renamed module/count-one-bits.
61950         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61951         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61952
61953 2007-07-23  Ben Pfaff  <blp@gnu.org>
61954
61955         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61956         better code generation, and add U to large constants to avoid
61957         warnings, in non-GCC case.
61958         Suggested by Bruno Haible.
61959
61960 2007-07-23  Ben Pfaff  <blp@gnu.org>
61961
61962         * lib/popcount.h: Use verify_true instead of if...abort.
61963         * modules/popcount: Depend on verify module.
61964         Suggested by Jim Meyering.
61965
61966 2007-07-23  Bruno Haible  <bruno@clisp.org>
61967
61968         * gnulib-tool (func_import): Create a .cvsignore file also when the
61969         directory is not yet in CVS but the toplevel directory is. When
61970         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61971         Reported by Karl Berry.
61972
61973 2007-07-22  Ben Pfaff  <blp@gnu.org>
61974
61975         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61976         case.
61977         Suggested by Eric Blake.
61978
61979 2007-07-22  Ben Pfaff  <blp@gnu.org>
61980
61981         New module: popcount.
61982         * MODULES.html.sh: Add popcount.
61983         * modules/popcount: New file.
61984         * modules/popcount-tests: New file.
61985         * tests/test-popcount.c: New file.
61986         * lib/popcount.h: New file.
61987         * m4/popcount.m4: New file.
61988
61989 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61990
61991         * build-aux/announce-gen: Update to GPLv3.
61992
61993         * build-aux/config.guess: Update from config.
61994
61995 2007-07-21  Bruno Haible  <bruno@clisp.org>
61996
61997         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61998         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61999
62000 2007-07-20  Jim Meyering  <jim@meyering.net>
62001
62002         * check-module: Diagnose a self-dependency.
62003
62004 2007-07-19  Bruno Haible  <bruno@clisp.org>
62005
62006         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62007         empty.
62008         Reported by Eric Blake.
62009
62010 2007-07-18  Bruno Haible  <bruno@clisp.org>
62011
62012         * gnulib-tool: New options --po-base, --po-domain.
62013         (func_usage): Document them.
62014         (pobase, po_domain): New variables.
62015         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62016         DEFAULT_TEXT_DOMAIN.
62017         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62018         (func_import): Consider pobase and po_domain. Create a po/ directory.
62019         (func_create_testdir): Set pobase and po_domain to empty.
62020         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62021         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62022
62023 2007-07-18  Bruno Haible  <bruno@clisp.org>
62024
62025         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62026         EXTRA_DIST augmentation for files in build-aux/.
62027
62028 2007-07-16  Bruno Haible  <bruno@clisp.org>
62029
62030         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62031         * modules/getdelim (License): Likewise.
62032
62033 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62034
62035         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62036         * modules/d-type (License): Likewise.
62037         * modules/extensions (License): Likewise.
62038         * modules/fnmatch (License): Likewise.
62039         * modules/fseeko (License): Likewise.
62040         * modules/getaddrinfo (License): Likewise.
62041         * modules/getline (License): Likewise.
62042         * modules/getlogin_r (License): Likewise.
62043         * modules/getpass (License): Likewise.
62044         * modules/gettimeofday (License): Likewise.
62045         * modules/glob (License): Likewise.
62046         * modules/inet_ntop (License): Likewise.
62047         * modules/malloc (License): Likewise.
62048         * modules/malloca (License): Likewise.
62049         * modules/memmem (License): Likewise.
62050         * modules/mempcpy (License): Likewise.
62051         * modules/memset (License): Likewise.
62052         * modules/minmax (License): Likewise.
62053         * modules/mktime (License): Likewise.
62054         * modules/netinet_in (License): Likewise.
62055         * modules/pathmax (License): Likewise.
62056         * modules/poll (License): Likewise.
62057         * modules/regex (License): Likewise.
62058         * modules/snprintf (License): Likewise.
62059         * modules/stdbool (License): Likewise.
62060         * modules/stdint (License): Likewise.
62061         * modules/stdio (License): Likewise.
62062         * modules/strcase (License): Likewise.
62063         * modules/strcasestr (License): Likewise.
62064         * modules/strdup (License): Likewise.
62065         * modules/string (License): Likewise.
62066         * modules/strndup (License): Likewise.
62067         * modules/strnlen (License): Likewise.
62068         * modules/strpbrk (License): Likewise.
62069         * modules/strptime (License): Likewise.
62070         * modules/strsep (License): Likewise.
62071         * modules/sys_select (License): Likewise.
62072         * modules/sys_socket (License): Likewise.
62073         * modules/sys_stat (License): Likewise.
62074         * modules/sys_time (License): Likewise.
62075         * modules/time (License): Likewise.
62076         * modules/time_r (License): Likewise.
62077         * modules/timegm (License): Likewise.
62078         * modules/unistd (License): Likewise.
62079         * modules/vsnprintf (License): Likewise.
62080         * modules/wctype (License): Likewise.
62081
62082 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62083
62084         * modules/argz (License): LGPLv2+.
62085
62086 2007-07-15  Karl Berry  <karl@gnu.org>
62087
62088         * doc/gnulib.texi: revise node structure per new fdl.texi.
62089
62090 2007-07-14  Bruno Haible  <bruno@clisp.org>
62091
62092         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62093         the output file.
62094         * lib/uniname/uninames.h: Regenerated.
62095
62096 2007-07-14  Karl Berry  <karl@gnu.org>
62097
62098         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62099         omitting sectioning and index commands.
62100
62101 2007-07-13  Bruno Haible  <bruno@clisp.org>
62102
62103         New gnulib-tool option --more-symlinks.
62104         * gnulib-tool (func_usage): Document --more-symlinks.
62105         (do_copyrights): New variable.
62106         Recognize option --more-symlinks.
62107         (func_import): Don't add a copyright notice transform to
62108         sed_transform_lib_file if do_copyrights is empty.
62109
62110 2007-07-13  Bruno Haible  <bruno@clisp.org>
62111
62112         * lib/vasnprintf.c (decimal_point_char): Define also if
62113         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62114         && !NEED_PRINTF_DIRECTIVE_A.
62115         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62116         Gary V. Vaughan <gary@gnu.org>.
62117
62118 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62119
62120         * lib/inttypes_.h: Undo previous change, since it was fixed
62121         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62122
62123 2007-07-13  Bruno Haible  <bruno@clisp.org>
62124
62125         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62126         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62127
62128 2007-07-13  Jim Meyering  <jim@meyering.net>
62129
62130         df: Don't fail for Tru64's "file-on-file mount".
62131         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62132         so we fall through and use statfs instead.  Details here:
62133         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62134         Reported by Albert Chin.
62135
62136 2007-07-13  Bruno Haible  <bruno@clisp.org>
62137
62138         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62139         * modules/configmake (License): Likewise.
62140         * modules/gettext (License): Likewise.
62141         * modules/gettext-h (License): Likewise.
62142         * modules/include_next (License): Likewise.
62143         * modules/link-warning (License): Likewise.
62144         * modules/localcharset (License): Likewise.
62145         * modules/localename (License): Likewise.
62146         * modules/lock (License): Likewise.
62147         * modules/relocatable-lib-lgpl (License): Likewise.
62148         * modules/size_max (License): Likewise.
62149         * modules/vasnprintf (License): Likewise.
62150         * modules/wchar (License): Likewise.
62151         * modules/xsize (License): Likewise.
62152
62153 2007-07-13  Bruno Haible  <bruno@clisp.org>
62154
62155         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62156         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62157
62158 2007-07-12  Bruno Haible  <bruno@clisp.org>
62159
62160         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62161         in the modules files.
62162
62163 2007-07-11  Karl Berry  <karl@gnu.org>
62164
62165         * MODULES.html.sh (func_module): use
62166          sed -e '\|^'"${includefile}"'$|d'
62167          instead of /.../d, to avoid errors on $includefile's containing /.
62168
62169 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62170
62171         * gnulib-tool (func_import): Avoid duplication of --avoid
62172         statements
62173         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62174         names to `_' in variable names.
62175
62176 2007-07-10  Eric Blake  <ebb9@byu.net>
62177
62178         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62179         * NEWS: Document this change.
62180
62181 2007-07-08  Bruno Haible  <bruno@clisp.org>
62182
62183         Update to Unicode 5.0.
62184         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62185         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62186         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62187         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62188         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62189         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62190         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62191         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62192         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62193         U+10A3F, U+1D242..U+1D244.
62194         (nonspacing_table_ind): Update.
62195         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62196         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62197
62198 2007-07-08  Bruno Haible  <bruno@clisp.org>
62199
62200         Update to Unicode 5.0.
62201         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62202         code transform. Extend the name index field of unicode_name_to_code and
62203         unicode_code_to_name from 16 to 24 bits.
62204         * lib/uniname/uniname.c (unicode_character_name,
62205         unicode_name_character): Add the range 0x12xxx to the code transform.
62206         * lib/uniname/uninames.h: Regenerated.
62207         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62208
62209 2007-07-07  Bruno Haible  <bruno@clisp.org>
62210
62211         * modules/wcwidth-tests: New file.
62212         * tests/test-wcwidth.c: New file.
62213
62214         Work around MacOS X wcwidth() bug.
62215         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62216         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62217         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62218         original wcwidth in non-UTF-8 locales.
62219         * modules/wcwidth (Depends-on): Add localcharset, streq,
62220         uniwidth/width.
62221         * doc/functions/wcwidth.texi: Update.
62222
62223 2007-07-07  Bruno Haible  <bruno@clisp.org>
62224
62225         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62226         (wcwidth): New declaration.
62227         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62228         macros.
62229         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62230         here. Prepare for creating <wchar.h> unconditionally.
62231         * modules/wchar (Depends-on): Add link-warning.
62232         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62233         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62234         * lib/wcwidth.h: Remove file.
62235         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62236         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62237         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62238         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62239         (Include): Replace wcwidth.h with <wchar.h>.
62240         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62241         * lib/mbchar.h: Don't include wcwidth.h.
62242         * lib/mbswidth.c: Likewise.
62243         * NEWS: Mention the change.
62244
62245 2007-07-07  Bruno Haible  <bruno@clisp.org>
62246
62247         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62248         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62249         definition with an external declaration.
62250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62251         defined as a function. Remove AC_C_INLINE requirement.
62252         * modules/wcwidth (Files): Add lib/wcwidth.c.
62253         (Makefile.am): Remove redundant statement.
62254
62255 2007-07-07  Bruno Haible  <bruno@clisp.org>
62256
62257         * MODULES.html.sh (Unicode string functions): Add the new modules.
62258
62259         * tests/uniwidth/test-u32-strwidth.c: New file.
62260         * modules/uniwidth/u32-strwidth-tests: New file.
62261
62262         * lib/uniwidth/u32-strwidth.c: New file.
62263         * modules/uniwidth/u32-strwidth: New file.
62264
62265         * tests/uniwidth/test-u16-strwidth.c: New file.
62266         * modules/uniwidth/u16-strwidth-tests: New file.
62267
62268         * lib/uniwidth/u16-strwidth.c: New file.
62269         * modules/uniwidth/u16-strwidth: New file.
62270
62271         * tests/uniwidth/test-u8-strwidth.c: New file.
62272         * modules/uniwidth/u8-strwidth-tests: New file.
62273
62274         * lib/uniwidth/u8-strwidth.c: New file.
62275         * modules/uniwidth/u8-strwidth: New file.
62276
62277         * tests/uniwidth/test-u32-width.c: New file.
62278         * modules/uniwidth/u32-width-tests: New file.
62279
62280         * lib/uniwidth/u32-width.c: New file.
62281         * modules/uniwidth/u32-width: New file.
62282
62283         * tests/uniwidth/test-u16-width.c: New file.
62284         * modules/uniwidth/u16-width-tests: New file.
62285
62286         * lib/uniwidth/u16-width.c: New file.
62287         * modules/uniwidth/u16-width: New file.
62288
62289         * tests/uniwidth/test-u8-width.c: New file.
62290         * modules/uniwidth/u8-width-tests: New file.
62291
62292         * lib/uniwidth/u8-width.c: New file.
62293         * modules/uniwidth/u8-width: New file.
62294
62295         * tests/uniwidth/test-uc_width.c: New file.
62296         * modules/uniwidth/width-tests: New file.
62297
62298         * lib/uniwidth/width.c: New file, from GNU libiconv.
62299         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62300         * modules/uniwidth/width: New file.
62301
62302         * lib/uniwidth.h: New file, from GNU libiconv.
62303         * modules/uniwidth/base: New file.
62304
62305 2007-07-07  Bruno Haible  <bruno@clisp.org>
62306
62307         * lib/uniname.h: New file, from GNU gettext.
62308         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62309         * lib/uniname/uninames.h: New file, from GNU gettext.
62310         * lib/uniname/uniname.c: New file, from GNU gettext.
62311         * tests/uniname/test-uninames.sh: New file.
62312         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62313         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62314         * modules/uniname/base: New file.
62315         * modules/uniname/uniname: New file.
62316         * modules/uniname/uniname-tests: New file.
62317         * MODULES.html.sh (Unicode string functions): Add the new modules.
62318
62319 2007-07-06  Bruno Haible  <bruno@clisp.org>
62320
62321         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62322
62323 2007-07-06  Bruno Haible  <bruno@clisp.org>
62324
62325         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62326         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62327         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62328         include <sys/time.h>.
62329         Reported by Eric Blake.
62330
62331 2007-07-06  Eric Blake  <ebb9@byu.net>
62332
62333         Fix testing canonicalize on cygwin.
62334         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62335         Revert patch from 2007-06-19.
62336         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62337         canonicalize module is also in use.
62338         * tests/test-canonicalize.c: New file.
62339         * tests/test-canonicalize.sh: Likewise.
62340         * modules/canonicalize-tests: Likewise.
62341
62342 2007-07-06  Jim Meyering  <jim@meyering.net>
62343
62344         * lib/getugroups.c (getugroups): Detect getgrent failure.
62345         Adjust comment to reflect reality: this function may return -1.
62346
62347 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62348
62349         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62350         the new TP address.
62351         (usage): Fix typo
62352         (gnulib_mk): New variable.
62353
62354 2007-07-05  Jim Meyering  <jim@meyering.net>
62355
62356         Don't let endgrent clobber errno, no matter how improbable.
62357         * lib/getugroups.c (getugroups): Save and restore errno around
62358         endgrent call.
62359
62360         Close the group DB even when failing with 2^31 or more members.
62361         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62362
62363 2007-07-04  Jim Meyering  <jim@meyering.net>
62364
62365         * lib/getugroups.h: New file.
62366         * lib/getugroups.c: Include "getugroups.h".
62367         Remove uses of "register" keyword.
62368         Move local variable, "cp", down into scope where used.
62369         Give "username" parameter the "const" attribute.
62370         * modules/getugroups (Files): Add lib/getugroups.h
62371
62372 2007-07-04  Karl Berry  <karl@gnu.org>
62373
62374         * MODULES.html.sh (func_all_modules): Complete rename of
62375         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62376
62377 2007-07-02  Bruno Haible  <bruno@clisp.org>
62378
62379         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62380         mode, when inttypes.h comes from gnulib.
62381         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62382
62383 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62384
62385         * NEWS: Mention lgpl module name change.
62386
62387         * modules/lgpl-2.1: Renamed from lgpl.
62388
62389         * NEWS: Mention gpl module name change.
62390
62391         * modules/gpl-3.0: New file, based on gpl-2.0.
62392
62393         * modules/gpl-2.0: Renamed from gpl.
62394
62395         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62396         doc/gpl-2.0.texi.
62397
62398 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62399
62400         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62401         #define __STDC_LIMIT_MACROS temporarily while including
62402         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62403         Problem reported by Joel E. Denny in
62404         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62405
62406 2007-07-01  Bruno Haible  <bruno@clisp.org>
62407
62408         * lib/unistdio.h: New file.
62409         * lib/unistdio/u-asnprintf.h: New file.
62410         * lib/unistdio/u-asprintf.h: New file.
62411         * lib/unistdio/u-printf-args.c: New file.
62412         * lib/unistdio/u-printf-args.h: New file.
62413         * lib/unistdio/u-printf-parse.h: New file.
62414         * lib/unistdio/u-snprintf.h: New file.
62415         * lib/unistdio/u-sprintf.h: New file.
62416         * lib/unistdio/u-vasprintf.h: New file.
62417         * lib/unistdio/u-vsnprintf.h: New file.
62418         * lib/unistdio/u-vsprintf.h: New file.
62419         * lib/unistdio/ulc-asnprintf.c: New file.
62420         * lib/unistdio/ulc-asprintf.c: New file.
62421         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62422         * lib/unistdio/ulc-printf-parse.c: New file.
62423         * lib/unistdio/ulc-snprintf.c: New file.
62424         * lib/unistdio/ulc-sprintf.c: New file.
62425         * lib/unistdio/ulc-vasnprintf.c: New file.
62426         * lib/unistdio/ulc-vasprintf.c: New file.
62427         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62428         * lib/unistdio/ulc-vsnprintf.c: New file.
62429         * lib/unistdio/ulc-vsprintf.c: New file.
62430         * lib/unistdio/u8-asnprintf.c: New file.
62431         * lib/unistdio/u8-asprintf.c: New file.
62432         * lib/unistdio/u8-printf-parse.c: New file.
62433         * lib/unistdio/u8-snprintf.c: New file.
62434         * lib/unistdio/u8-sprintf.c: New file.
62435         * lib/unistdio/u8-vasnprintf.c: New file.
62436         * lib/unistdio/u8-vasprintf.c: New file.
62437         * lib/unistdio/u8-vsnprintf.c: New file.
62438         * lib/unistdio/u8-vsprintf.c: New file.
62439         * lib/unistdio/u8-u8-asnprintf.c: New file.
62440         * lib/unistdio/u8-u8-asprintf.c: New file.
62441         * lib/unistdio/u8-u8-snprintf.c: New file.
62442         * lib/unistdio/u8-u8-sprintf.c: New file.
62443         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62444         * lib/unistdio/u8-u8-vasprintf.c: New file.
62445         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62446         * lib/unistdio/u8-u8-vsprintf.c: New file.
62447         * lib/unistdio/u16-asnprintf.c: New file.
62448         * lib/unistdio/u16-asprintf.c: New file.
62449         * lib/unistdio/u16-printf-parse.c: New file.
62450         * lib/unistdio/u16-snprintf.c: New file.
62451         * lib/unistdio/u16-sprintf.c: New file.
62452         * lib/unistdio/u16-vasnprintf.c: New file.
62453         * lib/unistdio/u16-vasprintf.c: New file.
62454         * lib/unistdio/u16-vsnprintf.c: New file.
62455         * lib/unistdio/u16-vsprintf.c: New file.
62456         * lib/unistdio/u16-u16-asnprintf.c: New file.
62457         * lib/unistdio/u16-u16-asprintf.c: New file.
62458         * lib/unistdio/u16-u16-snprintf.c: New file.
62459         * lib/unistdio/u16-u16-sprintf.c: New file.
62460         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62461         * lib/unistdio/u16-u16-vasprintf.c: New file.
62462         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62463         * lib/unistdio/u16-u16-vsprintf.c: New file.
62464         * lib/unistdio/u32-asnprintf.c: New file.
62465         * lib/unistdio/u32-asprintf.c: New file.
62466         * lib/unistdio/u32-printf-parse.c: New file.
62467         * lib/unistdio/u32-snprintf.c: New file.
62468         * lib/unistdio/u32-sprintf.c: New file.
62469         * lib/unistdio/u32-vasnprintf.c: New file.
62470         * lib/unistdio/u32-vasprintf.c: New file.
62471         * lib/unistdio/u32-vsnprintf.c: New file.
62472         * lib/unistdio/u32-vsprintf.c: New file.
62473         * lib/unistdio/u32-u32-asnprintf.c: New file.
62474         * lib/unistdio/u32-u32-asprintf.c: New file.
62475         * lib/unistdio/u32-u32-snprintf.c: New file.
62476         * lib/unistdio/u32-u32-sprintf.c: New file.
62477         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62478         * lib/unistdio/u32-u32-vasprintf.c: New file.
62479         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62480         * lib/unistdio/u32-u32-vsprintf.c: New file.
62481         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62482         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62483         * tests/unistdio/test-ulc-printf1.h: New file.
62484         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62485         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62486         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62487         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62488         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62489         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62490         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62491         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62492         * tests/unistdio/test-u8-asnprintf1.c: New file.
62493         * tests/unistdio/test-u8-asnprintf1.h: New file.
62494         * tests/unistdio/test-u8-printf1.h: New file.
62495         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62496         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62497         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62498         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62499         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62500         * tests/unistdio/test-u8-vasprintf1.c: New file.
62501         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62502         * tests/unistdio/test-u8-vsprintf1.c: New file.
62503         * tests/unistdio/test-u16-asnprintf1.c: New file.
62504         * tests/unistdio/test-u16-asnprintf1.h: New file.
62505         * tests/unistdio/test-u16-printf1.h: New file.
62506         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62507         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62508         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62509         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62510         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62511         * tests/unistdio/test-u16-vasprintf1.c: New file.
62512         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62513         * tests/unistdio/test-u16-vsprintf1.c: New file.
62514         * tests/unistdio/test-u32-asnprintf1.c: New file.
62515         * tests/unistdio/test-u32-asnprintf1.h: New file.
62516         * tests/unistdio/test-u32-printf1.h: New file.
62517         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62518         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62519         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62520         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62521         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62522         * tests/unistdio/test-u32-vasprintf1.c: New file.
62523         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62524         * tests/unistdio/test-u32-vsprintf1.c: New file.
62525         * modules/unistdio/base: New file.
62526         * modules/unistdio/u-printf-args: New file.
62527         * modules/unistdio/ulc-asnprintf: New file.
62528         * modules/unistdio/ulc-asprintf: New file.
62529         * modules/unistdio/ulc-fprintf: New file.
62530         * modules/unistdio/ulc-printf-parse: New file.
62531         * modules/unistdio/ulc-snprintf: New file.
62532         * modules/unistdio/ulc-sprintf: New file.
62533         * modules/unistdio/ulc-vasnprintf: New file.
62534         * modules/unistdio/ulc-vasprintf: New file.
62535         * modules/unistdio/ulc-vfprintf: New file.
62536         * modules/unistdio/ulc-vsnprintf: New file.
62537         * modules/unistdio/ulc-vsprintf: New file.
62538         * modules/unistdio/u8-asnprintf: New file.
62539         * modules/unistdio/u8-asprintf: New file.
62540         * modules/unistdio/u8-printf-parse: New file.
62541         * modules/unistdio/u8-snprintf: New file.
62542         * modules/unistdio/u8-sprintf: New file.
62543         * modules/unistdio/u8-vasnprintf: New file.
62544         * modules/unistdio/u8-vasprintf: New file.
62545         * modules/unistdio/u8-vsnprintf: New file.
62546         * modules/unistdio/u8-vsprintf: New file.
62547         * modules/unistdio/u8-u8-asnprintf: New file.
62548         * modules/unistdio/u8-u8-asprintf: New file.
62549         * modules/unistdio/u8-u8-snprintf: New file.
62550         * modules/unistdio/u8-u8-sprintf: New file.
62551         * modules/unistdio/u8-u8-vasnprintf: New file.
62552         * modules/unistdio/u8-u8-vasprintf: New file.
62553         * modules/unistdio/u8-u8-vsnprintf: New file.
62554         * modules/unistdio/u8-u8-vsprintf: New file.
62555         * modules/unistdio/u16-asnprintf: New file.
62556         * modules/unistdio/u16-asprintf: New file.
62557         * modules/unistdio/u16-printf-parse: New file.
62558         * modules/unistdio/u16-snprintf: New file.
62559         * modules/unistdio/u16-sprintf: New file.
62560         * modules/unistdio/u16-vasnprintf: New file.
62561         * modules/unistdio/u16-vasprintf: New file.
62562         * modules/unistdio/u16-vsnprintf: New file.
62563         * modules/unistdio/u16-vsprintf: New file.
62564         * modules/unistdio/u16-u16-asnprintf: New file.
62565         * modules/unistdio/u16-u16-asprintf: New file.
62566         * modules/unistdio/u16-u16-snprintf: New file.
62567         * modules/unistdio/u16-u16-sprintf: New file.
62568         * modules/unistdio/u16-u16-vasnprintf: New file.
62569         * modules/unistdio/u16-u16-vasprintf: New file.
62570         * modules/unistdio/u16-u16-vsnprintf: New file.
62571         * modules/unistdio/u16-u16-vsprintf: New file.
62572         * modules/unistdio/u32-asnprintf: New file.
62573         * modules/unistdio/u32-asprintf: New file.
62574         * modules/unistdio/u32-printf-parse: New file.
62575         * modules/unistdio/u32-snprintf: New file.
62576         * modules/unistdio/u32-sprintf: New file.
62577         * modules/unistdio/u32-vasnprintf: New file.
62578         * modules/unistdio/u32-vasprintf: New file.
62579         * modules/unistdio/u32-vsnprintf: New file.
62580         * modules/unistdio/u32-vsprintf: New file.
62581         * modules/unistdio/u32-u32-asnprintf: New file.
62582         * modules/unistdio/u32-u32-asprintf: New file.
62583         * modules/unistdio/u32-u32-snprintf: New file.
62584         * modules/unistdio/u32-u32-sprintf: New file.
62585         * modules/unistdio/u32-u32-vasnprintf: New file.
62586         * modules/unistdio/u32-u32-vasprintf: New file.
62587         * modules/unistdio/u32-u32-vsnprintf: New file.
62588         * modules/unistdio/u32-u32-vsprintf: New file.
62589         * modules/unistdio/ulc-asnprintf-tests: New file.
62590         * modules/unistdio/ulc-vasnprintf-tests: New file.
62591         * modules/unistdio/ulc-vasprintf-tests: New file.
62592         * modules/unistdio/ulc-vsnprintf-tests: New file.
62593         * modules/unistdio/ulc-vsprintf-tests: New file.
62594         * modules/unistdio/u8-asnprintf-tests: New file.
62595         * modules/unistdio/u8-vasnprintf-tests: New file.
62596         * modules/unistdio/u8-vasprintf-tests: New file.
62597         * modules/unistdio/u8-vsnprintf-tests: New file.
62598         * modules/unistdio/u8-vsprintf-tests: New file.
62599         * modules/unistdio/u16-asnprintf-tests: New file.
62600         * modules/unistdio/u16-vasnprintf-tests: New file.
62601         * modules/unistdio/u16-vasprintf-tests: New file.
62602         * modules/unistdio/u16-vsnprintf-tests: New file.
62603         * modules/unistdio/u16-vsprintf-tests: New file.
62604         * modules/unistdio/u32-asnprintf-tests: New file.
62605         * modules/unistdio/u32-vasnprintf-tests: New file.
62606         * modules/unistdio/u32-vasprintf-tests: New file.
62607         * modules/unistdio/u32-vsnprintf-tests: New file.
62608         * modules/unistdio/u32-vsprintf-tests: New file.
62609         * MODULES.html.sh (Unicode string functions): Add the new modules.
62610
62611 2007-07-01  Bruno Haible  <bruno@clisp.org>
62612
62613         * lib/sprintf.c (sprintf): Limit the available length estimation,
62614         to avoid address wraparound.
62615         * lib/vsprintf.c (vsprintf): Likewise.
62616         * modules/sprintf-posix (Dependencies): Add stdint.
62617         * modules/vsprintf-posix (Dependencies): Likewise.
62618
62619 2007-07-01  Bruno Haible  <bruno@clisp.org>
62620
62621         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62622         Windows PATH as well. Conservative double-quoting. Comments.
62623
62624 2007-07-01  Bruno Haible  <bruno@clisp.org>
62625             Eric Blake  <ebb9@byu.net>
62626             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62627
62628         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62629         empty components in $PATH, denoting '.'.
62630
62631 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62632
62633         * gnulib-tool: Fix indentation.
62634         (func_create_megatestdir): Likewise.
62635         Report by Bruno Haible.
62636
62637 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62638
62639         Sync from Automake.
62640         * build-aux/gnupload: Fix shell portability issues with for loops.
62641         Report by Karl Berry.
62642
62643 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62644
62645         * build-aux/maint.mk (POURL): Use translationproject.org.
62646
62647 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62648             Bruno Haible  <bruno@clisp.org>
62649
62650         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62651         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62652         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62653         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62654         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62655
62656 2007-06-27  Bruno Haible  <bruno@clisp.org>
62657
62658         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62659         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62660
62661 2007-06-26  Karl Berry  <karl@gnu.org>
62662
62663         * MODULES.html.sh: remove xreadlink-with-size.
62664
62665 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62666
62667         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62668         method that I hope also handles the double-include problem noted
62669         by Bruno Haible in
62670         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62671
62672 2007-06-23  Bruno Haible  <bruno@clisp.org>
62673
62674         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62675         Don't let the 'mostlyclean' target fail if the last subdirectory could
62676         not be removed.
62677         Reported by Karl Berry.
62678
62679 2007-06-23  Bruno Haible  <bruno@clisp.org>
62680
62681         * gnulib-tool (echo): Add a speedier workaround for ksh.
62682         * tests/test-echo.sh: Likewise.
62683
62684 2007-06-23  Bruno Haible  <bruno@clisp.org>
62685
62686         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62687         * tests/test-echo.sh: Likewise.
62688
62689 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62690
62691         * gnulib-tool (IFS): Initialize early, so we don't set it to
62692         empty later.
62693         (self_abspathname): Rewrite algorithm to set it, reindent.
62694         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62695         (func_create_megatestdir): Merge some sed scripts.
62696
62697 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62698
62699         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62700         exposed by Sun Studio 11 cc on Solaris 8.
62701
62702 2007-06-22  Bruno Haible  <bruno@clisp.org>
62703
62704         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62705         backslashes.
62706         * tests/test-echo.sh: New file.
62707
62708 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62709
62710         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62711         simplify `sed_replace_build_aux' scripts, they are portable but
62712         echoing them with `echo' is not.
62713         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62714
62715 2007-06-21  Karl Berry  <karl@gnu.org>
62716
62717         * config/srclist.txt: guess we can't handle the licenses via
62718         srclist at the moment.
62719
62720 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62721
62722         * MODULES.html.sh: Add include_next.
62723         * modules/include_next: New file.
62724
62725 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62728         INCLUDE_NEXT.
62729         (gl_CHECK_NEXT_HEADERS): New macro.
62730         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62731         the obsolescent gl_ABSOLUTE_HEADER.
62732         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62733         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62734         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62735         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62736         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62737         * m4/math_h.m4 (gl_MATH_H): Likewise.
62738         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62739         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62740         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62741         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62742         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62743         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62744         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62745         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62746         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62747         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62748         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62749         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62750         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62751         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62752         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62753         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62754         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62755         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62756         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62757         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62758         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62759         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62760         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62761         * lib/float_.h: Likewise.
62762         * lib/inttypes_.h: Likewise.
62763         * lib/math_.h: Likewise.
62764         * lib/search_.h: Likewise.
62765         * lib/signal_.h: Likewise.
62766         * lib/stdint_.h: Likewise.
62767         * lib/stdio_.h: Likewise.
62768         * lib/stdlib_.h: Likewise.
62769         * lib/string_.h: Likewise.
62770         * lib/sys_stat_.h: Likewise.
62771         * lib/sys_time_.h: Likewise.
62772         * lib/time_.h: Likewise.
62773         * lib/unistd_.h: Likewise.
62774         * lib/wchar_.h: Likewise.
62775         * lib/wctype_.h: Likewise.
62776         * lib/dirent_.h: Likewise.
62777         * lib/iconv_.h: Likewise.
62778         * lib/locale_.h: Likewise.
62779         * lib/netinet_in_.h: Likewise.
62780         * lib/sys_select_.h: Likewise.
62781         * lib/sys_socket_.h: Likewise.
62782         * lib/sysexits_.h: Likewise.
62783         * modules/fcntl (Depends-on): Depend on include_next, not
62784         absolute_header.
62785         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62786         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62787         * modules/fchdir: Likewise.
62788         * modules/float: Likewise.
62789         * modules/iconv_open: Likewise.
62790         * modules/inttypes: Likewise.
62791         * modules/locale: Likewise.
62792         * modules/math: Likewise.
62793         * modules/netinet_in: Likewise.
62794         * modules/search: Likewise.
62795         * modules/signal: Likewise.
62796         * modules/stdint: Likewise.
62797         * modules/stdio: Likewise.
62798         * modules/stdlib: Likewise.
62799         * modules/string: Likewise.
62800         * modules/sys_select: Likewise.
62801         * modules/sys_socket: Likewise.
62802         * modules/sys_stat: Likewise.
62803         * modules/sys_time: Likewise.
62804         * modules/sysexits: Likewise.
62805         * modules/time: Likewise.
62806         * modules/unistd: Likewise.
62807         * modules/wchar: Likewise.
62808         * modules/wctype: Likewise.
62809         * modules/sys_stat: Change maintainer to "all".
62810         * modules/unistd: Likewise.
62811
62812 2007-06-20  Karl Berry  <karl@gnu.org>
62813
62814         * config/srclist.txt: track www changes in license files.
62815
62816 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62817
62818         * build-aux/bootstrap: Remove stray dot.
62819         Make sure build_aux settings are honored when linking
62820         gnulib_extra_files.
62821
62822 2007-06-19  Eric Blake  <ebb9@byu.net>
62823
62824         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62825         Allow compilation on cygwin.
62826
62827 2007-06-19  Jim Meyering  <jim@meyering.net>
62828
62829         xreadlink-with-size: Remove module.  No longer used.
62830         Ex-callers now use xreadlink or mreadlink-with-size.
62831         * modules/xreadlink-with-size: Remove module.
62832         * lib/xreadlink-with-size.c: Remove file.
62833         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62834         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62835         just before the function definition *is* accurate.
62836
62837         Eliminate one way canonicalize_filename_mode could exit.
62838         * lib/canonicalize.c (canonicalize_filename_mode):
62839         Use mreadlink_with_size, not xreadlink_with_size.
62840
62841 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62842
62843         Detect porting problems to FreeBSD/arm, which has time_t wider than
62844         long int.  Original problem reported for GNU diff by Xin Li in
62845         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62846         * modules/getdate (Depends-on): Add intprops, verify.
62847         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62848         is an integer type no wider than long int.
62849
62850 2007-06-18  Jim Meyering  <jim@meyering.net>
62851
62852         New module: mreadlink-with-size.
62853         * MODULES.html.sh: Add mreadlink-with-size.
62854         * modules/mreadlink-with-size: New module
62855         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62856         not xreadlink-with-size.
62857         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62858
62859 2007-06-16  Bruno Haible  <bruno@clisp.org>
62860
62861         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62862         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62863         Reported by Gary V. Vaughan <gary@gnu.org>.
62864
62865 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62866
62867         Revamp lchown so that it lives in unistd.h where it belongs.
62868         * lib/lchown.h: Remove.
62869         * lib/dirchownmod.c: Don't include lib/lchown.h.
62870         * lib/fchownat.c: Likewise.
62871         * lib/openat.c: Likewise.
62872         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62873         does not follow symlinks.
62874         (EOPNOTSUPP): Define if not defined.
62875         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62876         is defined to 0.
62877         (lchown): New decl.
62878         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62879         Do not check for lchown decl.
62880         Set REPLACE_LCHOWN.
62881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62882         REPLACE_LCHOWN.
62883         * modules/chown: Make it clear it follows symlinks.
62884         * modules/lchown: Make it clear it doesn't follow symlinks.
62885         (Files): Remove lib/lchown.h
62886         (Depends-on): Add unistd.
62887         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62888         (Include): Include <unistd.h>, not "lchown.h".
62889         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62890         REPLACE_LCHOWN.
62891
62892 2007-06-15  Jim Meyering  <jim@meyering.net>
62893
62894         Change license (GPL to LGPL) of fsusage and dependents.
62895         * modules/fsusage (License): Change to LGPL.
62896         * modules/full-read (License): Likewise.
62897         * modules/full-write (License): Likewise.
62898         * modules/safe-read (License): Likewise.
62899         * modules/safe-write (License): Likewise.
62900
62901 2007-06-14  Ben Pfaff  <blp@gnu.org>
62902
62903         Missing part of allocsa -> malloca transition.
62904         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62905         gl_MALLOCA.
62906
62907 2007-06-12  Bruno Haible  <bruno@clisp.org>
62908
62909         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62910         to ia64, x86_64, i386.
62911         Reported by Eric Blake.
62912
62913 2007-06-12  Bruno Haible  <bruno@clisp.org>
62914
62915         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62916         cross-compiling to x86_64.
62917
62918 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62919
62920         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62921         glitch reported by Ralf Wildenhues in
62922         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62923
62924         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62925         Vin Shelton.
62926
62927 2007-06-11  Bruno Haible  <bruno@clisp.org>
62928
62929         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62930         replacement string.
62931         Reported by Eric Blake.
62932
62933 2007-06-10  Bruno Haible  <bruno@clisp.org>
62934
62935         Prepare vasnprintf code for use with Unicode strings.
62936         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62937         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62938         TYPE_U32_STRING.
62939         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62940         a_u32_string variants.
62941         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62942         * lib/printf-args.c: Don't include config.h and the specification
62943         header if PRINTF_FETCHARGS is already defined.
62944         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62945         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62946         TYPE_U16_STRING, TYPE_U32_STRING.
62947         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62948         u16_directive, u16_directives, u32_directive, u32_directives): New
62949         types.
62950         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62951         New declarations.
62952         * lib/printf-parse.c: Don't include config.h and the specification
62953         header if PRINTF_PARSE is already defined. Eliminate the set of
62954         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62955         them now. Include c-ctype.h.
62956         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62957         directive and CHAR_T_ONLY_ASCII.
62958         * lib/vasnprintf.c: Don't include config.h and the specification header
62959         if VASNPRINTF is already defined.
62960         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62961         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62962         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62963         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62964         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62965         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62966         code accordingly.
62967         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62968         pad_ourselves also in this case, with the 'c' and 's' directives, and
62969         with a different notion of "width".
62970         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62971
62972 2007-06-10  Bruno Haible  <bruno@clisp.org>
62973
62974         * modules/unistr/u32-mbsnlen: New file.
62975         * lib/unistr/u32-mbsnlen.c: New file.
62976
62977         * modules/unistr/u16-mbsnlen: New file.
62978         * lib/unistr/u16-mbsnlen.c: New file.
62979
62980         * modules/unistr/u8-mbsnlen: New file.
62981         * lib/unistr/u8-mbsnlen.c: New file.
62982
62983         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62984         declarations.
62985
62986 2007-06-10  Bruno Haible  <bruno@clisp.org>
62987
62988         * lib/string_.h (mbsnlen): New declaration.
62989         * lib/mbsnlen.c: New file.
62990         * m4/mbsnlen.m4: New file.
62991         * modules/mbsnlen: New file.
62992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62993         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62994         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62995
62996 2007-06-10  Bruno Haible  <bruno@clisp.org>
62997
62998         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62999
63000 2007-06-10  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63003         * lib/mbuiter.h: Likewise.
63004
63005 2007-06-10  Bruno Haible  <bruno@clisp.org>
63006
63007         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63008         declaration.
63009
63010 2007-06-10  Karl Berry  <karl@gnu.org>
63011
63012         * config/srclist.txt: remove gettext entries, Bruno prefers
63013         to update individually.
63014
63015 2007-06-10  Bruno Haible  <bruno@clisp.org>
63016
63017         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63018         'maxlen'. Ensure only length + width bytes are allocated, not
63019         length + 1 + width.
63020
63021 2007-06-09  Bruno Haible  <bruno@clisp.org>
63022
63023         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63024         (CHAR_T): Remove macro.
63025         (VASNPRINTF): Update.
63026
63027 2007-06-09  Bruno Haible  <bruno@clisp.org>
63028
63029         * MODULES.html.sh (Unicode string functions): Add the new modules.
63030
63031         * modules/uniconv/u32-conv-to-enc: New file.
63032         * lib/uniconv/u32-conv-to-enc.c: New file.
63033         * modules/uniconv/u32-conv-to-enc-tests: New file.
63034         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63035
63036         * modules/uniconv/u16-conv-to-enc: New file.
63037         * lib/uniconv/u16-conv-to-enc.c: New file.
63038         * lib/uniconv/u-conv-to-enc.h: New file.
63039         * modules/uniconv/u16-conv-to-enc-tests: New file.
63040         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63041
63042         * modules/uniconv/u8-conv-to-enc: New file.
63043         * lib/uniconv/u8-conv-to-enc.c: New file.
63044         * modules/uniconv/u8-conv-to-enc-tests: New file.
63045         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63046
63047         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63048         u32_conv_to_encoding): New declarations.
63049
63050 2007-06-09  Bruno Haible  <bruno@clisp.org>
63051
63052         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63053
63054 2007-06-09  Bruno Haible  <bruno@clisp.org>
63055
63056         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63057         * modules/malloca: Renamed from modules/allocsa, updated.
63058         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63059         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63060         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63061         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63062         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63063         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63064         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63065         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63066         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63067         * modules/c-strcasestr (Depends-on): Update.
63068         * lib/c-strcasestr.c: Update.
63069         * modules/c-strstr (Depends-on): Update.
63070         * lib/c-strstr.c: Update.
63071         * modules/canonicalize-lgpl (Depends-on): Update.
63072         * lib/canonicalize-lgpl.c: Update.
63073         * modules/clean-temp (Depends-on): Update.
63074         * lib/clean-temp.c: Update.
63075         * modules/csharpcomp (Depends-on): Update.
63076         * lib/csharpcomp.c: Update.
63077         * modules/csharpexec (Depends-on): Update.
63078         * lib/csharpexec.c: Update.
63079         * modules/javacomp (Depends-on): Update.
63080         * lib/javacomp.c: Update.
63081         * modules/javaexec (Depends-on): Update.
63082         * lib/javaexec.c: Update.
63083         * modules/mbscasestr (Depends-on): Update.
63084         * lib/mbscasestr.c: Update.
63085         * modules/mbsstr (Depends-on): Update.
63086         * lib/mbsstr.c: Update.
63087         * modules/setenv (Depends-on): Update.
63088         * lib/setenv.c: Update.
63089         * modules/strcasestr (Depends-on): Update.
63090         * lib/strcasestr.c: Update.
63091         * modules/striconveha (Depends-on): Update.
63092         * lib/striconveha.c: Update.
63093         * modules/relocatable-prog-wrapper (Files): Update.
63094         * lib/relocwrapper.c: Update.
63095         * build-aux/install-reloc: Update.
63096         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63097
63098 2007-06-08  Bruno Haible  <bruno@clisp.org>
63099
63100         Port to uClibc.
63101         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63102         * lib/fpurge.c (fpurge): Likewise.
63103         * lib/freading.c (freading): Likewise.
63104         * lib/fseeko.c (rpl_fseeko): Likewise.
63105         * lib/fseterr.c (fseterr): Likewise.
63106         * lib/fwriting.c (fwriting): Likewise.
63107         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63108
63109 2007-06-08  Bruno Haible  <bruno@clisp.org>
63110
63111         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63112         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63113         * modules/gettext (Files): Add m4/intlmacosx.m4.
63114
63115 2007-06-07  Bruno Haible  <bruno@clisp.org>
63116
63117         * modules/localename-tests: New file.
63118         * tests/test-localename.c: New file.
63119
63120         New module 'localename'.
63121         * lib/localename.h: New file.
63122         * lib/localename.c: New file, from GNU gettext.
63123         * m4/localename.m4: New file.
63124         * modules/localename: New file.
63125
63126 2007-06-07  Bruno Haible  <bruno@clisp.org>
63127
63128         Work around the lack of <wchar.h> on some builds of uClibc.
63129         * doc/headers/wchar.texi: Update.
63130         * lib/wchar_.h: Include <wchar.h> only if it exists.
63131         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63132         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63133         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63134         doesn't exist.
63135         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63136         * modules/mbfile (Depends-on): Add wchar.
63137         * modules/mbiter (Depends-on): Likewise.
63138         * modules/mbuiter (Depends-on): Likewise.
63139         Reported by Simon Josefsson.
63140
63141 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63142
63143         Work around problem reported by Steven M. Schweda in
63144         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63145         Tru64 5.1B with the Compaq compiler environment installed declares
63146         an 'isblank' function but does not define it in the C library.
63147         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63148         * lib/regex_internal.h (isblank): Likewise.
63149         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63150         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63151
63152 2007-06-05  Bruno Haible  <bruno@clisp.org>
63153
63154         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63155         ia64.
63156         * modules/printf-safe: New file.
63157         * modules/fprintf-posix (Depends-on): Add printf-safe.
63158         * modules/printf-posix (Depends-on): Likewise.
63159         * modules/snprintf-posix (Depends-on): Likewise.
63160         * modules/sprintf-posix (Depends-on): Likewise.
63161         * modules/vasnprintf-posix (Depends-on): Likewise.
63162         * modules/vasprintf-posix (Depends-on): Likewise.
63163         * modules/vfprintf-posix (Depends-on): Likewise.
63164         * modules/vprintf-posix (Depends-on): Likewise.
63165         * modules/vsnprintf-posix (Depends-on): Likewise.
63166         * modules/vsprintf-posix (Depends-on): Likewise.
63167         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63168         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63169         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63170         "no" on i386, x86_64, ia64.
63171         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63172         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63173         on i386, x86_64, ia64.
63174         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63175         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63176         on i386, x86_64, ia64.
63177         * tests/test-vasnprintf-posix.c: Include float.h.
63178         (LDBL80_WORDS): New macro.
63179         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63180         on i386, x86_64, ia64.
63181         * tests/test-vasprintf-posix.c: Include float.h.
63182         (LDBL80_WORDS): New macro.
63183         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63184         on i386, x86_64, ia64.
63185         * tests/test-snprintf-posix.c: Include float.h.
63186         * tests/test-sprintf-posix.c: Likewise.
63187         * tests/test-vsnprintf-posix.c: Likewise.
63188         * tests/test-vsprintf-posix.c: Likewise.
63189
63190 2007-06-05  Bruno Haible  <bruno@clisp.org>
63191
63192         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63193         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63194         non-IEEE numbers on i386, x86_64, ia64.
63195         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63196         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63197         * tests/test-isnanl.h: Include float.h.
63198         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63199
63200 2007-06-05  Bruno Haible  <bruno@clisp.org>
63201
63202         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63203         also the %a / %A. Handle the %a / %A code before this extra handling.
63204
63205 2007-06-05  Bruno Haible  <bruno@clisp.org>
63206
63207         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63208         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63209
63210 2007-06-05  Bruno Haible  <bruno@clisp.org>
63211
63212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63213         typo in variable name.
63214
63215 2007-06-05  Eric Blake  <ebb9@byu.net>
63216
63217         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63218         Reported by Simon Josefsson.
63219
63220 2007-06-04  Bruno Haible  <bruno@clisp.org>
63221
63222         Avoid test failures on some PowerPC platforms.
63223         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63224         Define differently for PowerPC.
63225         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63226         Reported by Gary V. Vaughan <gary@gnu.org>.
63227
63228 2007-06-02  Bruno Haible  <bruno@clisp.org>
63229
63230         Fix test-stdint failure on FreeBSD/ia64.
63231         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63232         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63233         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63234         * doc/headers/stdint.texi: Update.
63235
63236 2007-06-01  Bruno Haible  <bruno@clisp.org>
63237
63238         * tests/test-binary-io.c (main): Pass a third argument to open().
63239         Reported by Gary V. Vaughan <gary@gnu.org>.
63240
63241 2007-06-01  Bruno Haible  <bruno@clisp.org>
63242
63243         * doc/functions/frexpl.texi: Update for mingw.
63244
63245 2007-06-01  Bruno Haible  <bruno@clisp.org>
63246
63247         * tests/test-lseek.c (main): Disable test of errno for invalid third
63248         argument.
63249         * doc/functions/lseek.texi: Update.
63250         Reported by Gary V. Vaughan <gary@gnu.org>.
63251
63252 2007-05-28  Bruno Haible  <bruno@clisp.org>
63253
63254         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63255
63256 2007-05-31  Eric Blake  <ebb9@byu.net>
63257
63258         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63259         cross compiling.
63260
63261 2007-05-30  Eric Blake  <ebb9@byu.net>
63262         and Bruno Haible  <bruno@clisp.org>
63263
63264         Work around mingw test failures exposed by m4-1.4.9b.
63265         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63266         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63267         moment.
63268
63269 2007-05-30  Bruno Haible  <bruno@clisp.org>
63270
63271         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63272         assuming that they are closed. Needed on HP-UX 11.
63273
63274 2007-05-29  Bruno Haible  <bruno@clisp.org>
63275
63276         Fix a problem with #include_next.
63277         * lib/dirent_.h: Split the double-inclusion guard.
63278         * lib/fcntl_.h: Likewise.
63279         * lib/float_.h: Likewise.
63280         * lib/iconv_.h: Likewise.
63281         * lib/inttypes_.h: Likewise.
63282         * lib/locale_.h: Likewise.
63283         * lib/math_.h: Likewise.
63284         * lib/netinet_in_.h: Likewise.
63285         * lib/search_.h: Likewise.
63286         * lib/signal_.h: Likewise.
63287         * lib/stdint_.h: Likewise.
63288         * lib/stdio_.h: Likewise.
63289         * lib/stdlib_.h: Likewise.
63290         * lib/string_.h: Likewise.
63291         * lib/sys_select_.h: Likewise.
63292         * lib/sys_socket_.h: Likewise.
63293         * lib/sys_stat_.h: Likewise.
63294         * lib/sys_time_.h: Likewise.
63295         * lib/sysexits_.h: Likewise.
63296         * lib/time_.h: Likewise.
63297         * lib/unistd_.h: Likewise.
63298         * lib/wchar_.h: Likewise.
63299         * lib/wctype_.h: Likewise.
63300
63301 2007-05-29  Bruno Haible  <bruno@clisp.org>
63302
63303         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63304         for the moment.
63305
63306 2007-05-29  Bruno Haible  <bruno@clisp.org>
63307
63308         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63309         invocation.
63310         Reported by Eric Blake.
63311
63312 2007-05-29  Bruno Haible  <bruno@clisp.org>
63313
63314         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63315         compiling case.
63316
63317 2007-05-29  Eric Blake  <ebb9@byu.net>
63318             Bruno Haible  <bruno@clisp.org>
63319
63320         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63321         cross compiles.
63322
63323 2007-05-28  Eric Blake  <ebb9@byu.net>
63324
63325         * modules/closein-tests (test_closein_LDADD): Support test on
63326         cygwin with libtool.
63327
63328 2007-05-28  Bruno Haible  <bruno@clisp.org>
63329
63330         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63331         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63332         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63333         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63334         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63335         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63336         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63337         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63338         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63339
63340 2007-05-28  Eric Blake  <ebb9@byu.net>
63341
63342         Unconditionally include <config.h> in unit tests.
63343         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63344         * tests/test-allocsa.c, tests/test-arcfour.c,
63345         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63346         tests/test-array_list.c, tests/test-array_oset.c,
63347         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63348         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63349         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63350         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63351         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63352         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63353         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63354         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63355         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63356         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63357         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63358         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63359         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63360         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63361         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63362         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63363         test-md5.c, test-memmem.c, test-printf-posix.c,
63364         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63365         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63366         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63367         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63368         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63369         test-vasnprintf-posix2.c, test-vasnprintf.c,
63370         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63371         test-vfprintf-posix.c, test-vprintf-posix.c,
63372         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63373         test-xvasprintf.c: Likewise.
63374
63375 2007-05-28  Bruno Haible  <bruno@clisp.org>
63376
63377         * gnulib-tool (func_import): Remember the --with-tests command-line
63378         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63379         Reported by Eric Blake.
63380
63381 2007-05-28  Bruno Haible  <bruno@clisp.org>
63382
63383         * modules/ftell-tests: New file.
63384         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63385         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63386
63387         * lib/ftell.c: New file.
63388         * modules/ftell: New file.
63389         * m4/ftell.m4: New file.
63390         * doc/functions/ftell.texi: Update.
63391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63392         REPLACE_FTELL.
63393         * lib/stdio_.h (rpl_ftell): New declaration.
63394         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63395         REPLACE_FTELL.
63396
63397 2007-05-28  Eric Blake  <ebb9@byu.net>
63398
63399         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63400
63401 2007-05-28  Bruno Haible  <bruno@clisp.org>
63402
63403         * modules/fseek-tests: New file.
63404         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63405         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63406
63407         * lib/fseek.c: New file.
63408         * modules/fseek: New file.
63409         * m4/fseek.m4: New file.
63410         * doc/functions/fseek.texi: Update.
63411         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63412         REPLACE_FSEEK.
63413         * lib/stdio_.h (rpl_fseek): New declaration.
63414         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63415         REPLACE_FSEEK.
63416
63417 2007-05-28  Bruno Haible  <bruno@clisp.org>
63418
63419         * lib/stdio_.h (fflush): More comments.
63420
63421 2007-05-28  Bruno Haible  <bruno@clisp.org>
63422
63423         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63424         runtime test.
63425
63426 2007-05-28  Eric Blake  <ebb9@byu.net>
63427
63428         Improve lseek module.
63429         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63430         * lib/unistd_.h (lseek): Scale back link warning message.
63431         * tests/test-lseek.c: Beef up test.
63432         * tests/test-lseek.sh: Exercise more facets of lseek.
63433         Reported by Bruno Haible.
63434
63435 2007-05-28  Bruno Haible  <bruno@clisp.org>
63436
63437         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63438         to define.
63439
63440 2007-05-27  Bruno Haible  <bruno@clisp.org>
63441
63442         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63443
63444 2007-05-27  Bruno Haible  <bruno@clisp.org>
63445
63446         * modules/openmp: New file.
63447         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63448         Noah Misch.
63449
63450 2007-05-26  Bruno Haible  <bruno@clisp.org>
63451
63452         * modules/chdir-long (Depends-on): Add fchdir.
63453         * modules/chdir-safer (Depends-on): Likewise.
63454         * modules/fts (Depends-on): Likewise.
63455         * modules/fts-lgpl (Depends-on): Likewise.
63456         * modules/openat (Depends-on): Likewise.
63457         * modules/savewd (Depends-on): Likewise.
63458
63459 2007-05-24  Eric Blake  <ebb9@byu.net>
63460
63461         Fix lseek on mingw.
63462         * modules/lseek: New module.
63463         * m4/lseek.m4: New file.
63464         * lib/lseek.c: New file.
63465         * modules/lseek-tests: New file.
63466         * tests/test-lseek.c: New file.
63467         * tests/test-lseek.sh: New file.
63468         * MODULES.html.sh: Document lseek module.
63469         * modules/fflush (Depends-on): Add lseek, fseeko.
63470         * modules/fseeko (Depends-on): Likewise.
63471         * modules/ftello (Depends-on): Likewise.
63472         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63473         broken.
63474         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63475         broken.
63476         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63477         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63478         * lib/ftello.c (rpl_ftello): Likewise.
63479         * tests/test-fseeko.c (main): Test this.
63480         * tests/test-fseeko.sh: Likewise.
63481         * tests/test-ftello.c (main): Likewise.
63482         * tests/test-ftello.sh: Likewise.
63483         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63484         implies replacing fseek.
63485         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63486         HAVE_FTELLO.
63487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63488         * modules/unistd (Makefile.am): Likewise.
63489         * lib/unistd_.h (lseek): Declare a replacement.
63490         * doc/functions/lseek.texi (lseek): Document this fix.
63491         * doc/functions/fseek.texi (fseek): Likewise.
63492         * doc/functions/ftell.texi (ftell): Likewise.
63493
63494 2007-05-24  Bruno Haible  <bruno@clisp.org>
63495
63496         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63497         in the printed representation of a NaN.
63498         * tests/test-vasprintf-posix.c (test_function): Likewise.
63499         * tests/test-snprintf-posix.h (test_function): Likewise.
63500         * tests/test-sprintf-posix.h (test_function): Likewise.
63501         Reported by Eric Blake.
63502
63503 2007-05-23  Eric Blake  <ebb9@byu.net>
63504
63505         Fix fseeko/ftello on cygwin 1.5.24.
63506         * doc/functions/fseeko.texi (fseeko): Document the fix.
63507         * doc/functions/ftello.texi (ftello): Document the fix.
63508         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63509         * doc/functions/stdout.text (stdout): New file.
63510         * doc/functions/stderr.text (stderr): New file.
63511         * doc/gnulib.texi (Function Substitutes): Use new files.
63512         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63513         prior to 1.7.0.
63514         * tests/test-ftello.c (main): Likewise for ftello.
63515         * tests/test-fseeko.sh: New file.
63516         * tests/test-ftello.sh: New file.
63517         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63518         with seekable stdin.
63519         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63520         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63521         (gl_REPLACE_FSEEKO): New macro.
63522         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63523         * modules/fseeko (Files): Distribute fseeko.c.
63524         * modules/ftello (Files): Distribute ftello.c.
63525         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63526         mode.
63527         * lib/ftello.c (rpl_ftello): New file.
63528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63529         fseeko, ftello.
63530         (gl_STDIN_LARGE_OFFSET): New macro.
63531         * modules/stdio (Makefile.am): Perform the replacement.
63532         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63533
63534 2007-05-23  Bruno Haible  <bruno@clisp.org>
63535
63536         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63537         GNULIB_POSIXCHECK is defined.
63538
63539 2007-05-21  Bruno Haible  <bruno@clisp.org>
63540
63541         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63542         Check also the output for NaN arguments. When cross-compiling, guess
63543         no on IRIX.
63544         * lib/vasnprintf.c: Update comments.
63545         * tests/test-vasnprintf-posix.c (strisnan): New function.
63546         (test_function): Use it.
63547         * tests/test-vasprintf-posix.c (strisnan): New function.
63548         (test_function): Use it.
63549         * tests/test-snprintf-posix.h (strisnan): New function.
63550         (test_function): Use it.
63551         * tests/test-sprintf-posix.h (strisnan): New function.
63552         (test_function): Use it.
63553         Reported by Eric Blake.
63554
63555 2007-05-20  Bruno Haible  <bruno@clisp.org>
63556
63557         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63558         numbers that fails on BeOS.
63559         * doc/functions/frexpl.texi: Update.
63560
63561 2007-05-20  Jim Meyering  <jim@meyering.net>
63562
63563         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63564         forced upon us by glibc-2.6.
63565
63566 2007-05-20  Bruno Haible  <bruno@clisp.org>
63567
63568         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63569         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63570         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63571         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63572         NEED_PRINTF_INFINITE.
63573         (is_infinitel): New function.
63574         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63575         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63576         gl_PREREQ_VASNPRINTF_INFINITE.
63577         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63578         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63579         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63580         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63581         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63582         gl_PREREQ_VASNPRINTF_INFINITE.
63583         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63584         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63585         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63586         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63587         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63588         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63589         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63590         * doc/functions/fprintf.texi: Update.
63591         * doc/functions/printf.texi: Update.
63592         * doc/functions/snprintf.texi: Update.
63593         * doc/functions/sprintf.texi: Update.
63594         * doc/functions/vfprintf.texi: Update.
63595         * doc/functions/vprintf.texi: Update.
63596         * doc/functions/vsnprintf.texi: Update.
63597         * doc/functions/vsprintf.texi: Update.
63598
63599 2007-05-20  Bruno Haible  <bruno@clisp.org>
63600
63601         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63602         was not found in libc.
63603         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63604
63605 2007-05-20  Bruno Haible  <bruno@clisp.org>
63606
63607         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63608         printed as "-nan" instead of "nan".
63609         * tests/test-vasprintf-posix.c (test_function): Likewise.
63610         * tests/test-snprintf-posix.h (test_function): Likewise.
63611         * tests/test-sprintf-posix.h (test_function): Likewise.
63612         Needed for HP-UX 11.
63613
63614 2007-05-20  Jim Meyering  <jim@meyering.net>
63615
63616         Fix buggy test for the fchownat-deref bug.
63617         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63618         symlink required for the run-test.  Without it, this test would
63619         always declare that fchownat doesn't work, and client code would
63620         unnecessarily use the replacement function with fixed libc.
63621         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63622         Reported by Greg Schafer.
63623
63624 2007-05-19  Bruno Haible  <bruno@clisp.org>
63625
63626         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63627         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63628         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63629         Needed for IRIX 6.5 and Solaris 2.5.1.
63630
63631 2007-05-19  Bruno Haible  <bruno@clisp.org>
63632
63633         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63634         (test_function): Skip tests involving -0.0 on platforms where
63635         -0.0 = 0.0.
63636         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63637         (test_function): Skip tests involving -0.0 on platforms where
63638         -0.0 = 0.0.
63639         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63640         (test_function): Skip tests involving -0.0 on platforms where
63641         -0.0 = 0.0.
63642         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63643         (test_function): Skip tests involving -0.0 on platforms where
63644         -0.0 = 0.0.
63645         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63646         tests.
63647         * tests/test-printf-posix.h (test_function): Likewise.
63648         * tests/test-printf-posix.output: Remove all -0.0 related results.
63649         Needed for IRIX 6.5.
63650
63651 2007-05-19  Bruno Haible  <bruno@clisp.org>
63652
63653         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63654         printed as "nan0x7fffffff" instead of "nan".
63655         * tests/test-vasprintf-posix.c (test_function): Likewise.
63656         * tests/test-snprintf-posix.h (test_function): Likewise.
63657         * tests/test-sprintf-posix.h (test_function): Likewise.
63658         * tests/test-fprintf-posix.h (NaN): Remove macro.
63659         (test_function): Remove all NaN related tests.
63660         * tests/test-printf-posix.h (NaN): Remove macro.
63661         (test_function): Remove all NaN related tests.
63662         * tests/test-printf-posix.output: Remove all NaN related results.
63663         Needed for IRIX 6.5.
63664
63665 2007-05-19  Bruno Haible  <bruno@clisp.org>
63666
63667         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63668         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63669
63670 2007-05-19  Bruno Haible  <bruno@clisp.org>
63671
63672         * lib/float_.h: New file.
63673         * m4/float_h.m4: New file.
63674         * modules/float: New file.
63675         * modules/isnanl (Dependencies): Add float.
63676         * modules/isnanl-nolibm (Dependencies): Likewise.
63677         * modules/mathl (Dependencies): Likewise.
63678         * modules/printf-frexpl (Dependencies): Likewise.
63679         * modules/signbit (Dependencies): Likewise.
63680         * modules/vasnprintf (Dependencies): Likewise.
63681         * doc/headers/float.texi: Update.
63682
63683 2007-05-19  Jim Meyering  <jim@meyering.net>
63684
63685         * lib/utimens.c (gl_futimens): Rename from futimens,
63686         now that glibc-2.6 declares futimens.
63687         * lib/utimens.h: Likewise.
63688
63689 2007-05-19  Bruno Haible  <bruno@clisp.org>
63690
63691         Avoid test failures on mingw.
63692         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63693         * tests/test-printf-posix.sh: Likewise.
63694         * tests/test-vfprintf-posix.sh: Likewise.
63695         * tests/test-vprintf-posix.sh: Likewise.
63696
63697 2007-05-19  Bruno Haible  <bruno@clisp.org>
63698
63699         Fix *printf result for NaN, Inf, -0.0 on mingw.
63700         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63701         * lib/vasnprintf.c: Include math.h and isnan.h.
63702         (is_infinite_or_zero): New function.
63703         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63704         values in the %f, %F, %e, %E, %g, %G directives.
63705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63706         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63707         gl_PRINTF_INFINITE and test its result. Invoke
63708         gl_PREREQ_VASNPRINTF_INFINITE.
63709         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63710         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63711         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63712         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63713         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63714         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63715         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63716         * doc/functions/fprintf.texi: Update.
63717         * doc/functions/printf.texi: Update.
63718         * doc/functions/snprintf.texi: Update.
63719         * doc/functions/sprintf.texi: Update.
63720         * doc/functions/vfprintf.texi: Update.
63721         * doc/functions/vprintf.texi: Update.
63722         * doc/functions/vsnprintf.texi: Update.
63723         * doc/functions/vsprintf.texi: Update.
63724
63725 2007-05-19  Bruno Haible  <bruno@clisp.org>
63726
63727         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63728         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63729         Instead of multiplying with 10^k, set extra_zeroes to k.
63730         (scale10_round_long_double): Remove function.
63731
63732 2007-05-18  Bruno Haible  <bruno@clisp.org>
63733
63734         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63735         introduced on 2007-05-06.
63736
63737 2007-05-18  Bruno Haible  <bruno@clisp.org>
63738
63739         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63740         %g directives.
63741         * tests/test-vasprintf-posix.c (test_function): Likewise.
63742         * tests/test-snprintf-posix.h (test_function): Likewise.
63743         * tests/test-sprintf-posix.h (test_function): Likewise.
63744
63745 2007-05-18  Bruno Haible  <bruno@clisp.org>
63746
63747         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63748         (strmatch): New function.
63749         (test_function): Test the %f directive on numbers of various exponents.
63750         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63751         (strmatch): New function.
63752         (test_function): Test the %f directive on numbers of various exponents.
63753         * tests/test-snprintf-posix.h (strmatch): New function.
63754         (test_function): Test the %f directive on numbers of various exponents.
63755         * tests/test-sprintf-posix.h (strmatch): New function.
63756         (test_function): Test the %f directive on numbers of various exponents.
63757         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63758         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63759         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63760         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63761
63762 2007-05-18  Bruno Haible  <bruno@clisp.org>
63763
63764         Add support for 'long double' number output.
63765         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63766         * lib/vasnprintf.c: Include math.h and float+.h.
63767         (mp_limb_t): New type.
63768         (GMP_LIMB_BITS): New macro.
63769         (mp_twolimb_t): New type.
63770         (GMP_TWOLIMB_BITS): New macro.
63771         (mpn_t): New type.
63772         (multiply, divide, convert_to_decimal, decode_long_double,
63773         scale10_round_long_double, scale10_round_decimal_long_double,
63774         floorlog10l): New functions.
63775         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63776         for the %f, %F, %e, %E, %g, %G directives.
63777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63778         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63779         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63780         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63781         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63782         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63783         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63784         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63785         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63786         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63787         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63788         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63789         * modules/snprintf-posix (Depends-on): Likewise.
63790         * modules/sprintf-posix (Depends-on): Likewise.
63791         * modules/vasnprintf-posix (Depends-on): Likewise.
63792         * modules/vasprintf-posix (Depends-on): Likewise.
63793         * modules/vfprintf-posix (Depends-on): Likewise.
63794         * modules/vsnprintf-posix (Depends-on): Likewise.
63795         * modules/vsprintf-posix (Depends-on): Likewise.
63796         * modules/vasnprintf (Files): Add lib/float+.h.
63797         * doc/functions/fprintf.texi: Update.
63798         * doc/functions/printf.texi: Update.
63799         * doc/functions/snprintf.texi: Update.
63800         * doc/functions/sprintf.texi: Update.
63801         * doc/functions/vfprintf.texi: Update.
63802         * doc/functions/vprintf.texi: Update.
63803         * doc/functions/vsnprintf.texi: Update.
63804         * doc/functions/vsprintf.texi: Update.
63805
63806 2007-05-18  Bruno Haible  <bruno@clisp.org>
63807
63808         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63809
63810 2007-05-18  Bruno Haible  <bruno@clisp.org>
63811
63812         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63813         for printing 64-bit integers. Needed for mingw.
63814
63815 2007-05-18  Bruno Haible  <bruno@clisp.org>
63816
63817         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63818         gl_FUNC_FREXPL_WORKS.
63819         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63820
63821 2007-05-18  Bruno Haible  <bruno@clisp.org>
63822
63823         * modules/frexpl-nolibm-tests: New file.
63824
63825         * modules/frexpl-nolibm: New file.
63826         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63827
63828 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63829
63830         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63831         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63832         GCC 4.2, which otherwise issues a lot of warnings.
63833         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63834         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63835         Likewise.
63836         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63837         * modules/iconv_open (iconv.h): Likewise.
63838         * modules/locale (locale.h): Likewise.
63839         * modules/netinet_in (netinet/in.h): Likewise.
63840         * modules/sys_select (sys_select.h): Likewise.
63841         * modules/sys_socket (sys/socket.h): Likewise.
63842         * modules/sys_stat (sys/stat.h): Likewise.
63843         * modules/sysexits (sysexits.h): Likewise.
63844         * modules/unistd (unistd.h): Likewise.
63845
63846 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63847
63848         * modules/closein-tests (Makefile.am): Distribute
63849         `test-closein.sh'.
63850
63851 2007-05-17  Bruno Haible  <bruno@clisp.org>
63852
63853         * tests/test-printf-posix.output: Renamed from
63854         tests/test-fprintf-posix.out.
63855         * modules/fprintf-posix-tests: Update.
63856         * modules/printf-posix-tests: Update.
63857         * modules/vfprintf-posix-tests: Update.
63858         * modules/vprintf-posix-tests: Update.
63859         * tests/test-fprintf-posix.sh: Update.
63860         * tests/test-printf-posix.sh: Update.
63861         * tests/test-vfprintf-posix.sh: Update.
63862         * tests/test-vprintf-posix.sh: Update.
63863         Reported by Ralf Wildenhues.
63864
63865 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63866
63867         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63868         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63869         GCC 4.2, which otherwise issues a lot of warnings.
63870         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63871         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63872         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63873         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63874         it should no longer be needed.
63875         * lib/string_.h: Likewise.
63876         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63877         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63878         * modules/inttypes (inttypes.h): Likewise.
63879         * modules/math (math.h): Likewise.
63880         * modules/search (search.h): Likewise.
63881         * modules/signal (signal.h): Likewise.
63882         * modules/stdint (stdint.h): Likewise.
63883         * modules/stdio (stdio.h): Likewise.
63884         * modules/stdlib (stdlib.h): Likewise.
63885         * modules/string (string.h): Likewise.
63886         * modules/sys_time (sys/time.h): Likewise.
63887         * modules/time (time.h): Likewise.
63888         * modules/wchar (wchar.h): Likewise.
63889         * modules/wctype (wtype.h): Likewise.
63890
63891 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63892
63893         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63894
63895 2007-05-13  Bruno Haible  <bruno@clisp.org>
63896
63897         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63898         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63899         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63900         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63901         (gl_PREREQ_STRTOK_R): Don't require it here.
63902
63903 2007-05-13  Bruno Haible  <bruno@clisp.org>
63904
63905         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63906         when used in C++ mode.
63907
63908 2007-05-12  Bruno Haible  <bruno@clisp.org>
63909
63910         * lib/linebuffer.h: Tweak doc.
63911         * lib/linebuffer.c: Likewise.
63912
63913 2007-05-12  James Youngman  <jay@gnu.org>
63914
63915         * lib/linebuffer.c (readlinebuffer_delim): New function,
63916         like readlinebuffer, but use a caller-specified delimiter.
63917         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63918         as the delimiter.
63919         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63920
63921 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63922
63923         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63924         * modules/openat (Files): Remove openat-die.c.
63925         (Depends-on): Add openat-die.
63926         * modules/openat-die: New module.
63927
63928 2007-05-06  Bruno Haible  <bruno@clisp.org>
63929
63930         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63931         Update with info about Cygwin.
63932         * doc/functions/fprintf.texi: Update.
63933         * doc/functions/printf.texi: Update.
63934         * doc/functions/snprintf.texi: Update.
63935         * doc/functions/sprintf.texi: Update.
63936         * doc/functions/vfprintf.texi: Update.
63937         * doc/functions/vprintf.texi: Update.
63938         * doc/functions/vsnprintf.texi: Update.
63939         * doc/functions/vsprintf.texi: Update.
63940         Reported by Eric Blake.
63941
63942 2007-05-06  Bruno Haible  <bruno@clisp.org>
63943
63944         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63945         padding ourselves for the floating-point directives.
63946         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63947         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63948         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63949         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63950         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63951         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63952         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63953         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63955         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63956         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63957         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63958         * tests/test-snprintf-posix.h (test_function): Also check the width
63959         and some flags in the %f directive.
63960         * tests/test-sprintf-posix.h (test_function): Likewise.
63961         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63962         * tests/test-vasprintf-posix.c (test_function): Likewise.
63963         * doc/functions/fprintf.texi: Update.
63964         * doc/functions/printf.texi: Update.
63965         * doc/functions/snprintf.texi: Update.
63966         * doc/functions/sprintf.texi: Update.
63967         * doc/functions/vfprintf.texi: Update.
63968         * doc/functions/vprintf.texi: Update.
63969         * doc/functions/vsnprintf.texi: Update.
63970         * doc/functions/vsprintf.texi: Update.
63971
63972 2007-05-06  Bruno Haible  <bruno@clisp.org>
63973
63974         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63975         pass the ' flag character to sprintf or snprintf.
63976         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63978         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63979         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63980         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63981         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63982         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63983         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63984         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63985         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63986         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63987         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63988         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63989         flag.
63990         * tests/test-sprintf-posix.h (test_function): Likewise.
63991         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63992         * tests/test-vasprintf-posix.c (test_function): Likewise.
63993         * doc/functions/fprintf.texi: Update.
63994         * doc/functions/printf.texi: Update.
63995         * doc/functions/snprintf.texi: Update.
63996         * doc/functions/sprintf.texi: Update.
63997         * doc/functions/vfprintf.texi: Update.
63998         * doc/functions/vprintf.texi: Update.
63999         * doc/functions/vsnprintf.texi: Update.
64000         * doc/functions/vsprintf.texi: Update.
64001
64002 2007-05-01  Bruno Haible  <bruno@clisp.org>
64003
64004         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64005
64006 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64007
64008         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64009         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64010
64011 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64012
64013         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64014         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64015         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64016
64017 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64018
64019         * lib/argp-help.c (struct hol_entry): New member `ord'.
64020         (HOL_ENTRY_PTRCMP): Use ord for comparison
64021         (hol_sort): Initialize ord.
64022
64023 2007-05-01  Bruno Haible  <bruno@clisp.org>
64024
64025         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64026         Reported by Eric Blake.
64027         * doc/gnulib.texi (Function Substitutes): Update.
64028
64029 2007-05-01  Bruno Haible  <bruno@clisp.org>
64030
64031         * doc/functions.texi: Remove file, now redundant through
64032         doc/functions/*.texi.
64033
64034 2007-05-01  Bruno Haible  <bruno@clisp.org>
64035
64036         * modules/argp (Depends-on): Add sleep.
64037
64038 2007-05-01  Bruno Haible  <bruno@clisp.org>
64039
64040         * modules/sleep-tests: New file.
64041         * tests/test-sleep.c: New file.
64042
64043         * modules/sleep: New file.
64044         * lib/sleep.c: New file.
64045         * m4/sleep.m4: New file.
64046         * lib/unistd_.h (sleep): New declaration.
64047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64048         HAVE_SLEEP.
64049         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64050         * doc/functions/sleep.texi: Document the sleep module.
64051
64052 2007-05-01  Bruno Haible  <bruno@clisp.org>
64053
64054         * lib/sigprocmask.h: Remove file.
64055         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64056         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64057         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64058         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64059         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64060         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64061         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64062         HAVE_SIGSET_T as a shell variable.
64063         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64064         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64065         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64066         (Depends-on): Add signal. Remove verify.
64067         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64068         (Include): Mention <signal.h> instead of sigprocmask.h.
64069         * NEWS: Mention the change.
64070         * lib/fatal-signal.c: Don't include sigprocmask.h.
64071
64072 2007-05-01  Bruno Haible  <bruno@clisp.org>
64073
64074         * modules/signal: New file.
64075         * lib/signal_.h: New file.
64076         * m4/signal_h.m4: New file.
64077
64078 2007-05-01  Bruno Haible  <bruno@clisp.org>
64079
64080         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64081         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64082         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64083         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64084
64085 2007-05-01  Bruno Haible  <bruno@clisp.org>
64086
64087         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64088         configure time.
64089         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64090         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64091         * modules/sys_stat (Makefile.am): Substitute their values into
64092         sys/stat.h.
64093
64094 2007-05-01  Bruno Haible  <bruno@clisp.org>
64095
64096         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64097         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64098         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64099
64100 2007-05-01  Bruno Haible  <bruno@clisp.org>
64101
64102         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64103         'assert' module here.
64104
64105 2007-05-01  Bruno Haible  <bruno@clisp.org>
64106
64107         * doc/functions/*.texi: New files.
64108         * doc/functions/google-ranking.txt: New file.
64109         * doc/gnulib.texi (Function Substitutes): New chapter.
64110         (ctime, inet_ntoa): Remove sections.
64111         * doc/ctime.texi: Remove file.
64112         * doc/inet_ntoa.texi: Remove file.
64113         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64114         dependencies.
64115         (%.info): New rule, specifying a --reference-limit.
64116
64117 2007-05-01  Bruno Haible  <bruno@clisp.org>
64118
64119         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64120
64121 2007-05-01  Bruno Haible  <bruno@clisp.org>
64122
64123         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64124         the portability of 'mkdir' to mingw systems.
64125
64126 2007-05-01  Bruno Haible  <bruno@clisp.org>
64127
64128         * doc/headers/google-ranking.txt: New file.
64129
64130 2007-04-30  Eric Blake  <ebb9@byu.net>
64131
64132         Prefer fseeko to fseek.
64133         * modules/getpass (Depends-on): Add fseeko.
64134         * lib/getpass.c (getpass): Use fseeko, not fseek.
64135
64136 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64137
64138         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64139         assumes the sorting is stable, while most qsort implementations
64140         are not.  Use argument addresses to ensure they never compare as
64141         equal.
64142
64143         * tests/test-argp-2.sh (usage-indent test): Fix output
64144         (func_compare): Restore diff options
64145         * tests/test-argp.c: Restore #include "progname.h"
64146
64147 2007-04-29  Bruno Haible  <bruno@clisp.org>
64148
64149         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64150         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64151         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64152         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64153         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64154         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64155         (TESTS, check_PROGRAMS): Add test-snprintf.
64156         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64157         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64158         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64159         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64160         assertions that fail on HP-UX, OSF/1, or IRIX.
64161         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64162
64163 2007-04-29  Bruno Haible  <bruno@clisp.org>
64164
64165         * MODULES.html.sh (posix_functions): Remove 'contents'.
64166
64167 2007-04-29  Karl Berry  <karl@gnu.org>
64168
64169         * config/srclist.txt (gendocs_template_min): new entry.
64170
64171 2007-04-29  Bruno Haible  <bruno@clisp.org>
64172
64173         Work around fpurge bug on BSD systems.
64174         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64175         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64176         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64177         fpurge to rpl_fpurge if the system already has this function.
64178         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64179         the case where the system already has this function. Correct invariants
64180         on BSD systems.
64181         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64182         BSD systems.
64183
64184 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64185
64186         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64187         proposed by Sven Verdoolaege.
64188
64189         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64190         options.
64191         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64192         (usage and help tests): Update
64193
64194 2007-04-29  Bruno Haible  <bruno@clisp.org>
64195
64196         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64197         Print more information in case of failure. Disable a test on BeOS.
64198
64199 2007-04-29  Bruno Haible  <bruno@clisp.org>
64200
64201         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64202         This helps debugging on systems on which no gdb is available.
64203
64204 2007-04-29  Bruno Haible  <bruno@clisp.org>
64205
64206         * lib/freading.h: Improve comments.
64207         * lib/fwriting.h: Likewise.
64208         * tests/test-freading.c (main): Don't check freading immediately after
64209         repositioning. Needed for glibc.
64210
64211 2007-04-29  Bruno Haible  <bruno@clisp.org>
64212
64213         * lib/freading.c (freading): Trivial simplification.
64214
64215 2007-04-28  Bruno Haible  <bruno@clisp.org>
64216
64217         * tests/test-fwriting.c (main): Also test the interaction between
64218         fflush and fwriting.
64219         * modules/fwriting-tests (Depends-on): Add fflush.
64220
64221         * tests/test-freading.c (main): Also test the interaction between
64222         fflush and freading.
64223         * modules/freading-tests (Depends-on): Add fflush.
64224
64225 2007-04-28  Bruno Haible  <bruno@clisp.org>
64226
64227         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64228         fseeko and ftello.
64229         Suggested by Eric Blake.
64230
64231 2007-04-28  Jim Meyering  <jim@meyering.net>
64232
64233         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64234         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64235         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64236
64237 2007-04-27  Eric Blake  <ebb9@byu.net>
64238
64239         * doc/headers/assert.texi (assert.h): Document assert module use.
64240
64241 2007-04-27  Bruno Haible  <bruno@clisp.org>
64242
64243         * doc/headers/*.texi: New files.
64244         * doc/gnulib.texi (Header File Substitutes): New chapter.
64245         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64246         dependencies.
64247         (standards.info ,standards.html, standards.dvi): Update dependencies.
64248         (mostlyclean, clean): New targets.
64249
64250 2007-04-27  Bruno Haible  <bruno@clisp.org>
64251
64252         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64253         * modules/sysexits (Files, Makefile.am): Update.
64254
64255         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64256         * modules/sys_socket (Files, Makefile.am): Update.
64257
64258         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64259         * modules/sys_stat (Files, Makefile.am): Update.
64260
64261 2007-04-27  Eric Blake  <ebb9@byu.net>
64262
64263         * lib/freading.h: Improve comments.
64264         * lib/fwriting.h: Likewise.
64265         * lib/fflush.c: Likewise.
64266
64267         Fix closein for mingw.
64268         * modules/closein-tests: Add tests for closein.
64269         * tests/test-closein.c: New file.
64270         * tests/test-closein.sh: Likewise.
64271         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64272         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64273
64274 2007-04-27  Bruno Haible  <bruno@clisp.org>
64275
64276         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64277         version is < 6.
64278         * lib/math_.h [__DECC]: Likewise.
64279         * lib/stdio_.h [__DECC]: Likewise.
64280         * lib/stdlib_.h [__DECC]: Likewise.
64281         * lib/string_.h [__DECC]: Likewise.
64282         * lib/time_.h [__DECC]: Likewise.
64283         * lib/wchar_.h [__DECC]: Likewise.
64284         * lib/wctype_.h [__DECC]: Likewise.
64285
64286 2007-04-27  Bruno Haible  <bruno@clisp.org>
64287
64288         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64289
64290 2007-04-27  Bruno Haible  <bruno@clisp.org>
64291
64292         * lib/fflush.c: Add comments.
64293         * modules/fpurge-tests (Depends-on): Add fflush.
64294         * modules/freadable-tests (Depends-on): Likewise.
64295         * modules/fwritable-tests (Depends-on): Likewise.
64296
64297 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64298
64299         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64300         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64301         Report by Bruno Haible <bruno@clisp.org>.
64302
64303 2007-04-26  Eric Blake  <ebb9@byu.net>
64304
64305         Fix fflush on mingw.
64306         * modules/fflush (Depends-on): Add freading.
64307         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64308         but unread data.
64309
64310 2007-04-26  Eric Blake  <ebb9@byu.net>
64311         and Bruno Haible  <bruno@clisp.org>
64312
64313         Implement freading and fwriting.
64314         * lib/freading.c: New file.
64315         * lib/freading.h: Likewise.
64316         * m4/freading.m4: Likewise.
64317         * modules/freading: Likewise.
64318         * modules/freading-tests: Likewise.
64319         * tests/test-freading.c: Likewise.
64320         * lib/fwriting.c: New file.
64321         * lib/fwriting.h: Likewise.
64322         * m4/fwriting.m4: Likewise.
64323         * modules/fwriting: Likewise.
64324         * modules/fwriting-tests: Likewise.
64325         * tests/test-fwriting.c: Likewise.
64326         * MODULES.html.sh (File stream based Input/Output): Mention them.
64327
64328 2007-04-26  Bruno Haible  <bruno@clisp.org>
64329
64330         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64331         'long' when we assume it.
64332         Suggested by Eric Blake.
64333
64334 2007-04-26  Bruno Haible  <bruno@clisp.org>
64335
64336         Ensure fseeko, ftello are declared on glibc systems.
64337         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64338         * modules/fseeko (configure.ac-early): Likewise.
64339         * modules/ftello (configure.ac-early): Likewise.
64340         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64341         AC_FUNC_FSEEKO for this.
64342         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64343         (gl_CHECK_FSEEKO): Remove macro.
64344
64345 2007-04-26  Bruno Haible  <bruno@clisp.org>
64346
64347         * tests/test-fflush.c (main): Also check the ftell result after
64348         fflush and fseek/fseeko.
64349         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64350         file descriptor position cache in the stream.
64351         * lib/fseeko.c (rpl_fseeko): Likewise.
64352
64353 2007-04-26  Bruno Haible  <bruno@clisp.org>
64354
64355         * modules/fflush-tests (Depends-on): Add fseeko.
64356
64357 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64358             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64359
64360         * lib/argz_.h: ensure error_t definition is obtained in same
64361         mechanism system argz.h would have.
64362         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64363         argz facilities are known bad.  Err on the side of caution if
64364         cross-compiling.
64365
64366 2007-04-25  Eric Blake  <ebb9@byu.net>
64367
64368         * lib/fpurge.c (includes): Use stdlib.h for free.
64369         * tests/test-fflush.c (main): Also test fflush-fseeko.
64370
64371 2007-04-25  Bruno Haible  <bruno@clisp.org>
64372
64373         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64374         * lib/fseeko.c: New file.
64375         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64376         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64377         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64378         gl_FUNC_FSEEKO.
64379         (gl_FUNC_FSEEKO): Invoke it.
64380         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64381         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64382         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64383
64384 2007-04-25  Bruno Haible  <bruno@clisp.org>
64385
64386         * modules/fflush (Depends-on): Add ftello.
64387
64388 2007-04-25  Bruno Haible  <bruno@clisp.org>
64389
64390         * modules/ftello-tests: New file.
64391         * tests/test-ftello.c: New file.
64392
64393         * modules/ftello: New file.
64394         * m4/ftello.m4: New file.
64395         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64396         HAVE_FTELLO.
64397         * lib/stdio_.h (ftello): New declaration.
64398         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64399         HAVE_FTELLO.
64400
64401 2007-04-25  Bruno Haible  <bruno@clisp.org>
64402
64403         * modules/fseeko-tests: New file.
64404         * tests/test-fseeko.c: New file.
64405
64406         * modules/fseeko: New file.
64407         * m4/fseeko.m4: New file.
64408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64409         HAVE_FSEEKO.
64410         * lib/stdio_.h (fseeko): New declaration.
64411         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64412         HAVE_FSEEKO.
64413
64414 2007-04-25  Bruno Haible  <bruno@clisp.org>
64415
64416         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64417
64418 2007-04-25  Bruno Haible  <bruno@clisp.org>
64419
64420         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64421         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64422         * tests/test-unistd.c: Likewise.
64423         * tests/test-fcntl.c: Likewise.
64424
64425 2007-04-23  Eric Blake  <ebb9@byu.net>
64426
64427         * lib/fflush.c: Fix missing include.
64428         Reported by Bruno Haible.
64429
64430 2007-04-23  Bruno Haible  <bruno@clisp.org>
64431
64432         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64433         Reported by Eric Blake.
64434
64435 2007-04-23  Bruno Haible  <bruno@clisp.org>
64436
64437         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64438
64439 2007-04-23  Bruno Haible  <bruno@clisp.org>
64440
64441         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64442
64443 2007-04-23  Bruno Haible  <bruno@clisp.org>
64444
64445         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64446         Needed on HP-UX 11.
64447
64448 2007-04-16  Eric Blake  <ebb9@byu.net>
64449
64450         Make fflush rely on fpurge.
64451         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64452         open coding all variants.
64453         * modules/fflush (Depends-on): Add fpurge and unistd.
64454         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64455         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64456
64457         Fix --with-tests compilation on cygwin.
64458         * modules/argmatch-tests (Makefile.am): List gnulib library first
64459         in LDADD.
64460         * modules/argp-tests (Makefile.am): Likewise.
64461         * modules/array-list-tests (Makefile.am): Likewise.
64462         * modules/array-oset-tests (Makefile.am): Likewise.
64463         * modules/avltree-list-tests (Makefile.am): Likewise.
64464         * modules/avltree-oset-tests (Makefile.am): Likewise.
64465         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64466         * modules/carray-list-tests (Makefile.am): Likewise.
64467         * modules/dirname-tests (Makefile.am): Likewise.
64468         * modules/frexp-tests (Makefile.am): Likewise.
64469         * modules/isnanl-tests (Makefile.am): Likewise.
64470         * modules/linked-list-tests (Makefile.am): Likewise.
64471         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64472         * modules/lock-tests (Makefile.am): Likewise.
64473         * modules/rbtree-list-tests (Makefile.am): Likewise.
64474         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64475         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64476         * modules/tls-tests (Makefile.am): Likewise.
64477         * modules/tsearch-tests (Makefile.am): Likewise.
64478         * modules/xvasprintf-tests (Makefile.am): Likewise.
64479
64480         Fix fpurge for cygwin.
64481         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64482         value.
64483         * modules/fpurge-tests (Depends-on): Clean up trash.
64484
64485 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64486
64487         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64488
64489         * m4/autobuild.m4: Re-indent.
64490
64491 2007-04-13  Bruno Haible  <bruno@clisp.org>
64492
64493         * modules/fpurge-tests: New file.
64494         * tests/test-fpurge.c: New file.
64495
64496         * modules/fpurge: New file.
64497         * lib/fpurge.h: New file.
64498         * lib/fpurge.c: New file.
64499         * m4/fpurge.m4: New file.
64500
64501 2007-04-13  Bruno Haible  <bruno@clisp.org>
64502
64503         * modules/fbufmode-tests: New file.
64504         * tests/test-fbufmode.c: New file.
64505
64506         * modules/fbufmode: New file.
64507         * lib/fbufmode.h: New file.
64508         * lib/fbufmode.c: New file.
64509         * m4/fbufmode.m4: New file.
64510
64511 2007-04-13  Bruno Haible  <bruno@clisp.org>
64512
64513         * modules/fwritable-tests: New file.
64514         * tests/test-fwritable.c: New file.
64515
64516         * modules/fwritable: New file.
64517         * lib/fwritable.h: New file.
64518         * lib/fwritable.c: New file.
64519         * m4/fwritable.m4: New file.
64520
64521 2007-04-13  Bruno Haible  <bruno@clisp.org>
64522
64523         * modules/freadable-tests: New file.
64524         * tests/test-freadable.c: New file.
64525
64526         * modules/freadable: New file.
64527         * lib/freadable.h: New file.
64528         * lib/freadable.c: New file.
64529         * m4/freadable.m4: New file.
64530
64531 2007-04-13  Bruno Haible  <bruno@clisp.org>
64532
64533         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64534         MOSTLYCLEANFILES.
64535
64536 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64537
64538         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64539         gzip bootstrap.conf to avoid dragging in i18n machinery.
64540         (gnulib_tool_option): Use it.
64541
64542 2007-04-13  Bruno Haible  <bruno@clisp.org>
64543
64544         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64545         %F directives.
64546         * tests/test-vasprintf-posix.c (test_function): Likewise.
64547         * tests/test-snprintf-posix.h (test_function): Likewise.
64548         * tests/test-sprintf-posix.h (test_function): Likewise.
64549         * tests/test-fprintf-posix.h (test_function): Likewise.
64550         * tests/test-printf-posix.h (test_function): Likewise.
64551         * tests/test-fprintf-posix.out: Likewise.
64552
64553 2007-04-13  Bruno Haible  <bruno@clisp.org>
64554
64555         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64556         * modules/tls-tests (configure.ac): Likewise.
64557         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64558
64559 2007-04-13  Bruno Haible  <bruno@clisp.org>
64560
64561         * lib/tls.c (glthread_tls_get): Fix return type.
64562         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64563
64564 2007-04-12  Eric Blake  <ebb9@byu.net>
64565
64566         * modules/gettime (Depends-on): Remove gettime.
64567         Reported by Dmitry V. Levin.
64568
64569 2007-04-12  Bruno Haible  <bruno@clisp.org>
64570
64571         * modules/fflush (Include): Mention <stdio.h>.
64572         * modules/strtoimax (Include): Mention <inttypes.h>.
64573         * modules/strtoumax (Include): Likewise.
64574
64575 2007-04-12  Eric Blake  <ebb9@byu.net>
64576
64577         * .cvsignore: New file.
64578         * .gitignore: Likewise.
64579
64580 2007-04-12  Bruno Haible  <bruno@clisp.org>
64581
64582         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64583         not before, since $(LDADD) often contains libgnu.a.
64584         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64585         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64586         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64587         Needed on Cygwin.
64588
64589 2007-04-12  Eric Blake  <ebb9@byu.net>
64590
64591         Work around glibc's failure to flush stdin on fclose.
64592         * lib/closein.c (close_stdin): Flush stdin before closing.
64593
64594         Work around glibc's failure to reset seekable stdin on exit.
64595         * modules/closein: New module.
64596         * lib/closein.c: New file.
64597         * lib/closein.h: Likewise.
64598         * m4/closein.m4: Likewise.
64599         * MODULES.html.sh (File stream based Input/Output): Document it.
64600
64601 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64602
64603         * gnulib-tool: Rename generated 'autobuild' script to
64604         'do-autobuild' in --create-megatestdir output.
64605
64606         * doc/gnulib.texi (Build robot for gnulib): Fix.
64607
64608 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64609
64610         * modules/sysexits (Depends-on): Add absolute-header.
64611
64612 2007-04-12  Eric Blake  <ebb9@byu.net>
64613
64614         No need to preserve errno on success.
64615         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64616         Reported by Bruno Haible.
64617
64618 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64619
64620         * MODULES.html.sh (Support for maintaining and releasing
64621         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64622
64623 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64624
64625         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64626
64627 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64628
64629         * modules/autobuild: New module.
64630
64631         * m4/autobuild.m4: New file.
64632
64633 2007-04-11  Bruno Haible  <bruno@clisp.org>
64634
64635         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64636         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64637         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64638         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64639         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64640         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64641         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64642         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64643         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64644         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64645         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64646         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64647         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64648         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64649         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64650         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64651         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64652         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64653         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64654         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64655         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64656         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64658         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64659         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64660         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64661         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64662         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64663         Reported by Eric Blake.
64664
64665 2007-04-11  Bruno Haible  <bruno@clisp.org>
64666
64667         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64668
64669 2007-04-10  Bruno Haible  <bruno@clisp.org>
64670
64671         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64672         for NaN and Infinity. Needed on FreeBSD 6.1.
64673         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64674         regarding results for "%010a" of Infinity and NaN.
64675         * tests/test-vasprintf-posix.c (test_function): Likewise.
64676         * tests/test-snprintf-posix.h (test_function): Likewise.
64677         * tests/test-sprintf-posix.h (test_function): Likewise.
64678         * tests/test-fprintf-posix.h (test_function): Likewise.
64679         * tests/test-printf-posix.h (test_function): Likewise.
64680         * tests/test-fprintf-posix.out: Likewise.
64681
64682 2007-04-10  Bruno Haible  <bruno@clisp.org>
64683
64684         * modules/locale-tests: New file.
64685         * tests/test-locale.c: New file.
64686
64687         * modules/locale: New file.
64688         * lib/locale_.h: New file.
64689         * m4/locale_h.m4: New file.
64690
64691 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64692             Bruno Haible  <bruno@clisp.org>
64693
64694         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64695         be determined, test for availability of the copysignf, copysign,
64696         copysignl functions.
64697         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64698         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64699         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64700
64701 2007-04-09  Eric Blake  <ebb9@byu.net>
64702
64703         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64704         * modules/stdio (Makefile.am): Support fflush.
64705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64706         * modules/fflush: New file.
64707         * lib/fflush.c: Likewise.
64708         * m4/fflush.m4: Likewise.
64709         * modules/fflush-tests: New test.
64710         * tests/test-fflush.c: Likewise.
64711         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64712
64713 2007-04-06  Bruno Haible  <bruno@clisp.org>
64714
64715         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64716         (VASNPRINTF): Use signbit for faster determination whether to print a
64717         minus sign.
64718         * modules/vasnprintf (Files): Remove lib/float+.h.
64719         * modules/fprintf-posix (Depends-on): Add signbit.
64720         * modules/snprintf-posix (Depends-on): Likewise.
64721         * modules/sprintf-posix (Depends-on): Likewise.
64722         * modules/vasnprintf-posix (Depends-on): Likewise.
64723         * modules/vasprintf-posix (Depends-on): Likewise.
64724         * modules/vfprintf-posix (Depends-on): Likewise.
64725         * modules/vsnprintf-posix (Depends-on): Likewise.
64726         * modules/vsprintf-posix (Depends-on): Likewise.
64727
64728 2007-04-06  Bruno Haible  <bruno@clisp.org>
64729
64730         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64731         * tests/test-frexpl.c (main): Likewise.
64732         * tests/test-ldexpl.c (main): Likewise.
64733         * modules/frexp-tests (Depends-on): Add signbit.
64734         * modules/frexpl-tests (Depdends-on): Likewise.
64735         * modules/ldexpl-tests (Depdends-on): Likewise.
64736
64737 2007-04-06  Bruno Haible  <bruno@clisp.org>
64738
64739         * modules/signbit-tests: New file.
64740         * tests/test-signbit.c: New file.
64741
64742         * modules/signbit: New file.
64743         * lib/signbitf.c: New file.
64744         * lib/signbitd.c: New file.
64745         * lib/signbitl.c: New file.
64746         * m4/signbit.m4: New file.
64747         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64748         (signbit): New macro.
64749         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64750         REPLACE_SIGNBIT.
64751         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64752         REPLACE_FREXPL into math.h.
64753
64754 2007-04-06  Bruno Haible  <bruno@clisp.org>
64755
64756         * modules/isnanf-nolibm-tests: New file.
64757         * tests/test-isnanf.c: New file.
64758
64759         * modules/isnanf-nolibm: New file.
64760         * lib/isnanf.h: New file.
64761         * lib/isnanf.c: New file.
64762         * lib/isnan.c: Consider the USE_FLOAT macro.
64763         * m4/isnanf.m4: New file.
64764
64765 2007-04-06  Bruno Haible  <bruno@clisp.org>
64766
64767         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64768         (Link): New section.
64769
64770         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64771
64772 2007-04-06  Bruno Haible  <bruno@clisp.org>
64773
64774         Assume the 'long double' type.
64775         * m4/longdouble.m4: Remove file.
64776         * config/srclist.txt: Don't mention longdouble.m4.
64777         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64778         * lib/float+.h: Likewise.
64779         * lib/frexp.c: Likewise.
64780         * lib/printf-args.h: Likewise.
64781         * lib/printf-args.c: Likewise.
64782         * lib/printf-frexp.c: Likewise.
64783         * lib/printf-parse.c: Likewise.
64784         * lib/vasnprintf.c: Likewise.
64785         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64786         * m4/intl.m4: Likewise.
64787         * m4/isnanl.m4: Likewise.
64788         * m4/printf.m4: Likewise.
64789         * m4/printf-frexpl.m4: Likewise.
64790         * m4/vasnprintf.m4: Likewise.
64791         * modules/allocsa (Files): Remove m4/longdouble.m4.
64792         * modules/gettext (Files): Likewise.
64793         * modules/relocatable-prog-wrapper (Files): Likewise.
64794         * modules/vasnprintf (Files): Likewise.
64795         * modules/isnanl (Files): Likewise.
64796         (Include): Simplify.
64797         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64798         (Include): Simplify.
64799         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64800         (Include): Simplify.
64801         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64802         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64803         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64804         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64805         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64806         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64807         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64808         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64809         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64810         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64811         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64812         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64813         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64814         * tests/test-isnanl.c: Likewise.
64815         * tests/test-snprintf-posix.h: Likewise.
64816         * tests/test-sprintf-posix.h: Likewise.
64817         * tests/test-vasnprintf-posix.c: Likewise.
64818         * tests/test-vasnprintf-posix2.c: Likewise.
64819         * tests/test-vasprintf-posix.c: Likewise.
64820
64821 2007-04-06  Bruno Haible  <bruno@clisp.org>
64822
64823         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64824         * lib/math_.h [__DECC]: Include the overridden include file through
64825         #include_next, outside the double-inclusion guard.
64826         * lib/stdio_.h [__DECC]: Likewise.
64827         * lib/stdlib_.h [__DECC]: Likewise.
64828         * lib/string_.h [__DECC]: Likewise.
64829         * lib/time_.h [__DECC]: Likewise.
64830         * lib/wchar_.h [__DECC]: Likewise.
64831         * lib/wctype_.h [__DECC]: Likewise.
64832         * lib/inttypes_.h [__DECC]: Likewise.
64833         Reported by Albert Chin <china@thewrittenword.com> in
64834         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64835
64836 2007-04-04  Eric Blake  <ebb9@byu.net>
64837
64838         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64839         1.5.x.
64840
64841 2007-04-04  Bruno Haible  <bruno@clisp.org>
64842
64843         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64844         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64845
64846 2007-04-04  Bruno Haible  <bruno@clisp.org>
64847
64848         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64849         results for "%010a" of Infinity and NaN.
64850         * tests/test-vasprintf-posix.c (test_function): Likewise.
64851         * tests/test-snprintf-posix.h (test_function): Likewise.
64852         * tests/test-sprintf-posix.h (test_function): Likewise.
64853         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64854         * tests/test-printf-posix.h (test_function): Likewise.
64855         * tests/test-fprintf-posix.out: Update.
64856         Needed for FreeBSD 6.1.
64857
64858 2007-04-04  Bruno Haible  <bruno@clisp.org>
64859
64860         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64861         directly used by the gnulib modules nor by gnulib-tool.
64862
64863 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64864
64865         * DEPENDENCIES: Give overall description of version dependency
64866         desirability.  Use more-typical names for apps.
64867         Add shell, coreutils, diffutils, grep, tar, gzip.
64868
64869 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64870
64871         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64872
64873 2007-04-04  Karl Berry  <karl@gnu.org>
64874
64875         * MODULES.html.sh (func_module): missing '.
64876
64877 2007-04-03  Bruno Haible  <bruno@clisp.org>
64878
64879         * modules/argmatch-tests (Makefile.am): New variable
64880         test_argmatch_LDADD.
64881         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64882         * modules/array-list-tests (Makefile.am): New variable
64883         test_array_list_LDADD.
64884         * modules/array-oset-tests (Makefile.am): New variable
64885         test_array_oset_LDADD.
64886         * modules/avltree-list-tests (Makefile.am): New variable
64887         test_avltree_list_LDADD.
64888         * modules/avltree-oset-tests (Makefile.am): New variable
64889         test_avltree_oset_LDADD.
64890         * modules/avltreehash-list-tests (Makefile.am): New variable
64891         test_avltreehash_list_LDADD.
64892         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64893         test_canonicalize_lgpl_LDADD.
64894         * modules/carray-list-tests (Makefile.am): New variable
64895         test_carray_list_LDADD.
64896         * modules/dirname-tests (Makefile.am): New variable
64897         test_dirname_LDADD.
64898         * modules/linked-list-tests (Makefile.am): New variable
64899         test_linked_list_LDADD.
64900         * modules/linkedhash-list-tests (Makefile.am): New variable
64901         test_linkedhash_list_LDADD.
64902         * modules/rbtree-list-tests (Makefile.am): New variable
64903         test_rbtree_list_LDADD.
64904         * modules/rbtree-oset-tests (Makefile.am): New variable
64905         test_rbtree_oset_LDADD.
64906         * modules/rbtreehash-list-tests (Makefile.am): New variable
64907         test_rbtreehash_list_LDADD.
64908         * modules/xvasprintf-tests (Makefile.am): New variable
64909         test_xvasprintf_LDADD.
64910         Reported by Eric Blake.
64911
64912 2007-04-03  Eric Blake  <ebb9@byu.net>
64913
64914         * DEPENDENCIES: Weaken m4 requirements.
64915
64916 2007-04-03  Bruno Haible  <bruno@clisp.org>
64917
64918         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64919         * modules/isnanl-tests (configure.ac): Likewise.
64920
64921 2007-04-03  Ben Pfaff  <blp@gnu.org>
64922
64923         * modules/iconv_open: Add $(srcdir)/ to source directory
64924         references in Makefile fragments that call gperf, to fix VPATH
64925         builds.
64926
64927 2007-04-03  Bruno Haible  <bruno@clisp.org>
64928
64929         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64930         * lib/ldexpl.c: Undo last change.
64931
64932 2007-04-03  Bruno Haible  <bruno@clisp.org>
64933
64934         * modules/printf-frexpl (Depends-on): Undo last change.
64935         (Files): Add m4/ldexpl.m4.
64936
64937 2007-04-03  Bruno Haible  <bruno@clisp.org>
64938
64939         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64940         * modules/isnanl (Link): New section.
64941
64942         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64943         * modules/frexp (Link): New section.
64944
64945         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64946         * modules/frexpl (Link): New section.
64947
64948         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64949         * modules/ldexpl (Link): New section.
64950
64951 2007-04-03  Bruno Haible  <bruno@clisp.org>
64952
64953         * modules/TEMPLATE-EXTENDED: New file.
64954         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64955
64956 2007-04-03  Bruno Haible  <bruno@clisp.org>
64957
64958         * DEPENDENCIES: New file.
64959         Suggested by Simon Josefsson.
64960
64961 2007-04-03  Bruno Haible  <bruno@clisp.org>
64962
64963         * doc/gnulib.texi: Escape @.
64964
64965 2007-04-03  James Youngman  <jay@gnu.org>
64966         and Paul Eggert  <eggert@cs.ucla.edu>
64967
64968         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64969         birthtime on all systems that have birthtime, not just those which
64970         use st_birthtimensec rather than st_birthtim.  Putting zero in
64971         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64972         that the birth time is not available for files on an NFS mount.
64973
64974 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64975
64976         * modules/memxor: Move back from crypto/, suggested by Bruno.
64977         * modules/crypto/hmac-sha1: Fix memxor dependency.
64978
64979         * modules/crypto/gc: Moved from ../.
64980
64981 2007-04-02  Eric Blake  <ebb9@byu.net>
64982
64983         * lib/ldexpl.c (includes): Avoid libm.
64984
64985         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64986
64987 2007-04-02  Bruno Haible  <bruno@clisp.org>
64988
64989         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64990         on IRIX.
64991
64992 2007-04-02  Bruno Haible  <bruno@clisp.org>
64993
64994         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64995         x86 or x86_64 platforms running MacOS X.
64996         Reported by Ryan Schmidt <@ryandesign.com>.
64997
64998 2007-04-02  Bruno Haible  <bruno@clisp.org>
64999
65000         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65001         i386.
65002
65003 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65004
65005         * modules/crypto/arcfour: Moved from ../.
65006         * modules/crypto/arcfour-tests: Moved from ../.
65007         * modules/crypto/arctwo: Moved from ../.
65008         * modules/crypto/arctwo-tests: Moved from ../.
65009         * modules/crypto/des: Moved from ../.
65010         * modules/crypto/des-tests: Moved from ../.
65011         * modules/crypto/gc-arcfour: Moved from ../.
65012         * modules/crypto/gc-arcfour-tests: Moved from ../.
65013         * modules/crypto/gc-arctwo: Moved from ../.
65014         * modules/crypto/gc-arctwo-tests: Moved from ../.
65015         * modules/crypto/gc-des: Moved from ../.
65016         * modules/crypto/gc-des-tests: Moved from ../.
65017         * modules/crypto/gc-hmac-md5: Moved from ../.
65018         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65019         * modules/crypto/gc-hmac-sha1: Moved from ../.
65020         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65021         * modules/crypto/gc-md2: Moved from ../.
65022         * modules/crypto/gc-md2-tests: Moved from ../.
65023         * modules/crypto/gc-md4: Moved from ../.
65024         * modules/crypto/gc-md4-tests: Moved from ../.
65025         * modules/crypto/gc-md5: Moved from ../.
65026         * modules/crypto/gc-md5-tests: Moved from ../.
65027         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65028         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65029         * modules/crypto/gc-random: Moved from ../.
65030         * modules/crypto/gc-rijndael: Moved from ../.
65031         * modules/crypto/gc-rijndael-tests: Moved from ../.
65032         * modules/crypto/gc-sha1: Moved from ../.
65033         * modules/crypto/gc-sha1-tests: Moved from ../.
65034         * modules/crypto/gc-tests: Moved from ../.
65035         * modules/crypto/hmac-md5: Moved from ../.
65036         * modules/crypto/hmac-md5-tests: Moved from ../.
65037         * modules/crypto/hmac-sha1: Moved from ../.
65038         * modules/crypto/hmac-sha1-tests: Moved from ../.
65039         * modules/crypto/md2: Moved from ../.
65040         * modules/crypto/md2-tests: Moved from ../.
65041         * modules/crypto/md4: Moved from ../.
65042         * modules/crypto/md4-tests: Moved from ../.
65043         * modules/crypto/md5: Moved from ../.
65044         * modules/crypto/md5-tests: Moved from ../.
65045         * modules/crypto/memxor: Moved from ../.
65046         * modules/crypto/rijndael: Moved from ../.
65047         * modules/crypto/rijndael-tests: Moved from ../.
65048         * modules/crypto/sha1: Moved from ../.
65049
65050 2007-03-30  James Youngman  <jay@gnu.org>
65051
65052         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65053         rename() to change the ctime of a file (because ctime is unaffected
65054         by rename on jfs2 on AIX 5.1).
65055         (main): Start by doing cleanup, in case a previous run failed leaving
65056         test files behind.
65057
65058 2007-03-31  Bruno Haible  <bruno@clisp.org>
65059
65060         Support old proprietary implementations of iconv.
65061         * modules/iconv_open: New file.
65062         * lib/iconv_.h: New file.
65063         * m4/iconv_h.m4: New file.
65064         * lib/iconv_open.c: New file.
65065         * lib/iconv_open-aix.gperf: New file.
65066         * lib/iconv_open-hpux.gperf: New file.
65067         * lib/iconv_open-irix.gperf: New file.
65068         * lib/iconv_open-osf.gperf: New file.
65069         * m4/iconv_open.m4: New file.
65070         * modules/linebreak (Depends-on): Add iconv_open.
65071         * modules/striconv (Depends-on): Likewise.
65072         * modules/striconveh (Depends-on): Likewise.
65073         * modules/unicodeio (Depends-on): Likewise.
65074         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65075         (iconv_t)(-1).
65076         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65077         conversion if cd is (iconv_t)(-1).
65078         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65079         is not possible.
65080
65081 2007-03-31  Bruno Haible  <bruno@clisp.org>
65082
65083         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65084         work on Solaris either. Protect also second use of "autodetect_jp".
65085
65086 2007-03-31  Bruno Haible  <bruno@clisp.org>
65087
65088         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65089         the function is not present.
65090
65091 2007-03-31  Bruno Haible  <bruno@clisp.org>
65092
65093         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65094         the function is not present.
65095
65096 2007-03-31  Bruno Haible  <bruno@clisp.org>
65097
65098         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65099         a bug in HP-UX iconv_open().
65100
65101 2007-03-31  Bruno Haible  <bruno@clisp.org>
65102
65103         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65104         (Mathematics <math.h>): New section, add fpieee.
65105         (Input/output <stdio.h>): Add fseterr.
65106         (Mathematics <math.h>): New section, add printf-frexp.
65107         (Container data structures): Add sublist.
65108         (Core language properties): Add fpucw, inline.
65109         (Functions for greatest-width integer types <inttypes.h>): Add
65110         imaxabs, imaxdiv, inttypes.
65111         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65112         isnanl-nolibm, ldexp.
65113         (Mathematics <math.h>): New section, add printf-frexpl.
65114         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65115         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65116         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65117         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65118         (Unicode string functions): Add unistr/u*-mbtoucr.
65119         (Java): Add javacomp-script, javaexec-script.
65120         (C#): Add csharpcomp-script, csharpexec-script.
65121         (Support for building libraries and executables): Add havelib,
65122         relocatable-*.
65123         (Support for maintaining and releasing projects): Renamed from
65124         'Support for maintaining and release projects'. Add announce-gen.
65125
65126 2007-03-31  Bruno Haible  <bruno@clisp.org>
65127
65128         * README: Talk primarily about git.
65129         (git and CVS): Renamed from CVS.
65130         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65131         gnulib is available through git.
65132         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65133
65134 2007-03-30  Bruno Haible  <bruno@clisp.org>
65135
65136         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65137         * lib/poll_.h: Likewise.
65138         * lib/stat_.h: Likewise.
65139         * lib/sys_time_.h: Likewise.
65140         * lib/sysexit_.h: Likewise.
65141         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65142         * lib/stdbool_.h: Likewise.
65143         * lib/byteswap_.h: Add double-inclusion guard.
65144
65145 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65146
65147         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65148
65149 2007-03-30  Karl Berry  <karl@gnu.org>
65150
65151         * config/srclist-update: double space after USA in the license
65152         substitution, since that's how it's usually (?) written.
65153
65154 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65155
65156         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65157         reported by Bruno Haible.
65158
65159 2007-03-29  Bruno Haible  <bruno@clisp.org>
65160
65161         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65162         a bug in AIX iconv().
65163
65164 2007-03-29  Bruno Haible  <bruno@clisp.org>
65165
65166         * modules/ldexpl-tests: New file.
65167         * tests/test-ldexpl.c: New file.
65168
65169 2007-03-29  Bruno Haible  <bruno@clisp.org>
65170
65171         * lib/ldexpl.c: Include fpucw.h.
65172         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65173         multiplication.
65174         * modules/ldexpl (Depends-on): Add fpucw.
65175
65176 2007-03-29  Bruno Haible  <bruno@clisp.org>
65177
65178         * modules/ldexpl: New file.
65179         * m4/ldexpl.m4: New file.
65180         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65181         set.
65182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65183         REPLACE_LDEXPL.
65184         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65185         REPLACE_LDEXPL.
65186         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65187         gl_FUNC_LDEXPL_WORKS.
65188         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65189         * modules/mathl (Files): Remove lib/ldexpl.c.
65190         (Depends-on): Add ldexpl.
65191
65192 2007-03-29  Bruno Haible  <bruno@clisp.org>
65193
65194         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65195
65196 2007-03-29  Bruno Haible  <bruno@clisp.org>
65197
65198         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65199         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65200         and possibly also HP-UX.
65201         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65202         work on AIX, IRIX, HP-UX, OSF/1.
65203         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65204         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65205         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65206         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65207         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65208         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65209
65210 2007-03-29  Bruno Haible  <bruno@clisp.org>
65211
65212         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65213
65214 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65215
65216         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65217         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65218
65219 2007-03-29  Eric Blake  <ebb9@byu.net>
65220
65221         * lib/acl-internal.h: Remove redundant include.
65222         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65223         Cygwin when a file is locked.
65224
65225 2007-03-29  Bruno Haible  <bruno@clisp.org>
65226
65227         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65228         file.
65229         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65230
65231 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65232
65233         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65234         try to remove a parent directory if the child couldn't be removed
65235         (except for the first rmdir, which could fail because the child
65236         doesn't exist).  Problem reported by Jeff Blaine in
65237         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65238
65239 2007-03-28  Bruno Haible  <bruno@clisp.org>
65240
65241         * lib/striconveh.c (utf8conv_carefully): New function.
65242         (mem_cd_iconveh_internal): Invoke it.
65243
65244 2007-03-28  Bruno Haible  <bruno@clisp.org>
65245
65246         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65247         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65248         input.
65249         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65250         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65251         unistr/u8-uctomb.
65252
65253 2007-03-28  Bruno Haible  <bruno@clisp.org>
65254
65255         * modules/unistr/u8-mbtoucr: New file.
65256         * lib/unistr/u8-mbtoucr.c: New file.
65257         * modules/unistr/u16-mbtoucr: New file.
65258         * lib/unistr/u16-mbtoucr.c: New file.
65259         * modules/unistr/u16-mbtoucr: New file.
65260         * lib/unistr/u16-mbtoucr.c: New file.
65261         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65262
65263 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65264             Bruno Haible  <bruno@clisp.org>
65265
65266         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65267         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65268         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65269
65270         * m4/stdio_h.m4: Add stubs for vasprintf too.
65271
65272         * modules/stdio: Support vasprintf in sed command.
65273
65274         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65275         vasprintf.h.  Add stdio module indicator.
65276
65277         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65278         vasprintf.h.
65279
65280         * lib/vasprintf.h: File removed.
65281
65282         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65283         * lib/vasprintf.c: Ditto.
65284         * lib/xvasprintf.c: Ditto.
65285         * tests/test-vasprintf-posix.c: Ditto.
65286         * tests/test-vasprintf.c: Ditto.
65287
65288 2007-03-27  Bruno Haible  <bruno@clisp.org>
65289
65290         Make vasnprintf multithread-safe.
65291         * lib/vasnprintf.c (decimal_point_char): New function.
65292         (VASNPRINTF): Use it.
65293         Suggested by Simon Josefsson.
65294
65295 2007-03-27  Eric Blake  <ebb9@byu.net>
65296
65297         Support sub-second birthtime on cygwin.
65298         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65299         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65300         (get_stat_birthtime): Also work with st_birthtim.
65301
65302 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65303
65304         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65305         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65306         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65307         (get_stat_birthtime_ns): Simplify compile-time tests.
65308         (get_stat_birthtime): Change the API to look like
65309         get_stat_mtime etc., except return a negative tv_nsec on error.
65310         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65311         Don't check for "spare" fields.
65312         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65313         or for struct stat.st_birthtime, as these tests aren't used.
65314         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65315
65316 2007-03-27  Bruno Haible  <bruno@clisp.org>
65317
65318         * lib/stat-time.h: Include <sys/stat.h>.
65319
65320 2007-03-27  James Youngman  <jay@gnu.org>
65321
65322         * lib/stat-time.h (get_stat_birthtime): New function for
65323           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65324         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65325           and its variants.
65326         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65327         * modules/stat-time-test: New file.
65328         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65329
65330 2007-03-26  Bruno Haible  <bruno@clisp.org>
65331
65332         Better support of signalling NaNs.
65333         * lib/atanl.c: Include isnanl.h.
65334         (atanl): Perform test for NaN at the beginning of the function and
65335         through a call to isnanl.
65336         * lib/cosl.c: Include isnanl.h.
65337         (cosl): Perform test for NaN at the beginning of the function and
65338         through a call to isnanl.
65339         * lib/ldexpl.c: Include isnanl.h.
65340         (ldexpl): Perform test for NaN through a call to isnanl.
65341         * lib/logl.c: Include isnanl.h.
65342         (logl): Perform test for NaN at the beginning of the function and
65343         through a call to isnanl.
65344         * lib/sinl.c: Include isnanl.h.
65345         (sinl): Perform test for NaN at the beginning of the function and
65346         through a call to isnanl.
65347         * lib/sqrtl.c: Include isnanl.h.
65348         (sqrtl): Perform test for NaN at the beginning of the function and
65349         through a call to isnanl.
65350         * lib/tanl.c: Include isnanl.h.
65351         (tanl): Perform test for NaN at the beginning of the function and
65352         through a call to isnanl.
65353         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65354         * modules/mathl (Depends-on): Add isnanl.
65355
65356 2007-03-26  Eric Blake  <ebb9@byu.net>
65357
65358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65359         regression in logic sense of previous patch.
65360
65361 2007-03-26  Bruno Haible  <bruno@clisp.org>
65362
65363         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65364         unportable shell command "if ! ...".
65365         Reported by Ralf Wildenhues.
65366
65367 2007-03-25  Bruno Haible  <bruno@clisp.org>
65368
65369         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65370         <sysexits.h> file, and only add EX_CONFIG.
65371         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65372         absolute file name and whether it is sufficient. Substitute also
65373         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65374         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65375         ABSOLUTE_SYSEXITS_H into sysexits.h.
65376
65377 2007-03-25  Bruno Haible  <bruno@clisp.org>
65378
65379         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65380         hints is NULL.
65381
65382 2007-03-25  Bruno Haible  <bruno@clisp.org>
65383
65384         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65385         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65386
65387 2007-03-25  Bruno Haible  <bruno@clisp.org>
65388
65389         * lib/vasnprintf.c: Include langinfo.h.
65390         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65391         multithread-safe.
65392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65393         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65394         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65395         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65396         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65397         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65398         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65399         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65400         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65401         Reported by Simon Josefsson.
65402
65403 2007-03-25  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65406         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65407         * modules/vasnprintf (Depends-on): Add stdint.
65408
65409 2007-03-25  Bruno Haible  <bruno@clisp.org>
65410
65411         * modules/fpieee: New file.
65412         * m4/fpieee.m4: New file.
65413         * modules/isnan-nolibm (Depends-on): Add fpieee.
65414         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65415         * modules/isnanl (Depends-on): Add fpieee.
65416
65417 2007-03-25  Bruno Haible  <bruno@clisp.org>
65418
65419         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65420
65421 2007-03-25  Bruno Haible  <bruno@clisp.org>
65422
65423         Avoid test failures on IRIX 6.5.
65424         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65425         (main): Use it.
65426         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65427         macros.
65428         (main): Use them.
65429
65430 2007-03-25  Bruno Haible  <bruno@clisp.org>
65431
65432         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65433         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65434         exists but doesn't work.
65435         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65436         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65437         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65438         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65439         math.h.
65440
65441 2007-03-25  Bruno Haible  <bruno@clisp.org>
65442
65443         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65444         returns inf. Needed on IRIX 6.5.
65445
65446 2007-03-25  Bruno Haible  <bruno@clisp.org>
65447
65448         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65449         (main): Use isnanl instead of x != x idiom.
65450         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65451
65452         * tests/test-frexp.c: Include isnan.h.
65453         (main): Use isnan instead of x != x idiom.
65454         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65455
65456 2007-03-25  Bruno Haible  <bruno@clisp.org>
65457
65458         * tests/test-frexp.c (NaN): New function/macro.
65459         (main): Use it instead of 0.0 / 0.0.
65460         * tests/test-isnan.c (NaN): New function/macro.
65461         (main): Use it instead of 0.0 / 0.0.
65462         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65463         (test_function): Use it instead of 0.0 / 0.0.
65464         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65465         (test_function): Use it instead of 0.0 / 0.0.
65466         * tests/test-snprintf-posix.h (NaN): New function/macro.
65467         (test_function): Use it instead of 0.0 / 0.0.
65468         * tests/test-sprintf-posix.h (NaN): New function/macro.
65469         (test_function): Use it instead of 0.0 / 0.0.
65470         * tests/test-fprintf-posix.h (NaN): New function/macro.
65471         (test_function): Use it instead of 0.0 / 0.0.
65472         * tests/test-printf-posix.h (NaN): New function/macro.
65473         (test_function): Use it instead of 0.0 / 0.0.
65474
65475         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65476
65477 2007-03-25  Bruno Haible  <bruno@clisp.org>
65478
65479         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65480
65481 2007-03-25  Bruno Haible  <bruno@clisp.org>
65482
65483         * lib/regexec.c (merge_state_with_log): Make static.
65484
65485 2007-03-25  Bruno Haible  <bruno@clisp.org>
65486
65487         * lib/trigl.c (kernel_rem_pio2): Make static.
65488
65489 2007-03-25  Bruno Haible  <bruno@clisp.org>
65490
65491         * lib/sincosl.c (sincosl_table): Make static.
65492
65493 2007-03-25  Bruno Haible  <bruno@clisp.org>
65494
65495         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65496         if the compiler does not support C99.
65497
65498 2007-03-25  Bruno Haible  <bruno@clisp.org>
65499
65500         * modules/time (Makefile.am): Ensure all rule action lines start with a
65501         tab.
65502
65503 2007-03-24  Bruno Haible  <bruno@clisp.org>
65504
65505         * modules/tsearch-tests: New file.
65506         * tests/test-tsearch.sh: New file.
65507         * tests/test-tsearch.c: New file, mostly copied from glibc.
65508
65509         * modules/search-tests: New file.
65510         * tests/test-search.c: New file.
65511
65512         * modules/search: New file.
65513         * lib/search_.h: New file, incorporating lib/tsearch.h.
65514         * m4/search_h.m4: New file.
65515         * lib/tsearch.h: Remove file.
65516         * lib/tsearch.c: Include search.h instead of tsearch.h.
65517         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65518         HAVE_TSEARCH.
65519         * modules/tsearch (Files): Remove lib/tsearch.h.
65520         (Depends-on): Add search.
65521         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65522         (Include): Change tsearch.h into search.h.
65523
65524 2007-03-24  Bruno Haible  <bruno@clisp.org>
65525
65526         * modules/fpucw: New file.
65527         * lib/fpucw.h: New file.
65528         * lib/frexp.c: Include fpucw.h.
65529         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65530         (FUNC): Use them.
65531         * lib/printf-frexp.c: Include fpucw.h.
65532         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65533         (FUNC): Use them.
65534         * lib/vasnprintf.c: Include fpucw.h.
65535         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65536         'long double' calculations.
65537         * tests/test-frexpl.c: Include fpucw.h.
65538         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65539         * tests/test-printf-frexpl.c: Include fpucw.h.
65540         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65541         * modules/frexpl (Depends-on): Add fpucw.
65542         * modules/printf-frexpl (Depends-on): Likewise.
65543         * modules/fprintf-posix (Depends-on): Likewise.
65544         * modules/snprintf-posix (Depends-on): Likewise.
65545         * modules/sprintf-posix (Depends-on): Likewise.
65546         * modules/vasnprintf-posix (Depends-on): Likewise.
65547         * modules/vasprintf-posix (Depends-on): Likewise.
65548         * modules/vfprintf-posix (Depends-on): Likewise.
65549         * modules/vsnprintf-posix (Depends-on): Likewise.
65550         * modules/vsprintf-posix (Depends-on): Likewise.
65551         * modules/frexpl-tests (Depends-on): Likewise.
65552         * modules/printf-frexpl-tests (Depends-on): Likewise.
65553
65554 2007-03-24  Bruno Haible  <bruno@clisp.org>
65555
65556         * lib/float+.h: New file.
65557         * lib/isnan.c: Include float+.h.
65558         (SIZE): New macro.
65559         (FUNC): Compare only SIZE bytes of the value.
65560         * lib/vasnprintf.c: Include float+.h.
65561         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65562         SIZEOF_LDBL or SIZEOF_DBL bytes.
65563         * modules/isnan-nolibm (Files): Add lib/float+.h.
65564         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65565         * modules/isnanl (Files): Add lib/float+.h.
65566         * modules/vasnprintf (Files): Add lib/float+.h.
65567
65568 2007-03-24  Bruno Haible  <bruno@clisp.org>
65569
65570         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65571         include isnanl-nolibm.h.
65572
65573 2007-03-24  Bruno Haible  <bruno@clisp.org>
65574
65575         * tests/test-read-file.c (main): Don't produce spurious output for
65576         expected situations. Make the test fail if it encountered unexpected
65577         results.
65578
65579 2007-03-24  Bruno Haible  <bruno@clisp.org>
65580
65581         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65582         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65583
65584 2007-03-24  Bruno Haible  <bruno@clisp.org>
65585
65586         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65587
65588 2007-03-24  Bruno Haible  <bruno@clisp.org>
65589
65590         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65591         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65592
65593         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65594         * modules/utf8-ucs4: Turn into a symbolic link to module
65595         unistr/u8-mbtouc.
65596
65597         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65598         utf8-ucs4-unsafe.
65599         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65600         unistr/u8-mbtouc-unsafe.
65601
65602         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65603         * modules/utf16-ucs4: Turn into a symbolic link to module
65604         unistr/u16-mbtouc.
65605
65606         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65607         utf16-ucs4-unsafe.
65608         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65609         unistr/u16-mbtouc-unsafe.
65610
65611         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65612         * modules/ucs4-utf8: Turn into a symbolic link to module
65613         unistr/u8-ubtomb.
65614
65615         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65616         * modules/ucs4-utf16: Turn into a symbolic link to module
65617         unistr/u16-ubtomb.
65618
65619 2007-03-24  Bruno Haible  <bruno@clisp.org>
65620
65621         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65622         Enable the function only if HAVE_INLINE.
65623         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65624         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65625         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65626         Enable the function only if HAVE_INLINE.
65627         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65628         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65629         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65630         Enable the function only if HAVE_INLINE.
65631         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65632         Enable the function only if HAVE_INLINE.
65633         * modules/utf8-ucs4: Update.
65634         * modules/utf8-ucs4-unsafe: Update.
65635         * modules/utf16-ucs4: Update.
65636         * modules/utf16-ucs4-unsafe: Update.
65637         * modules/ucs4-utf8: Update.
65638         * modules/ucs4-utf16: Update.
65639
65640 2007-03-24  Bruno Haible  <bruno@clisp.org>
65641
65642         * lib/utf8-ucs4.h: Remove file.
65643         * lib/utf8-ucs4-unsafe.h: Remove file.
65644         * lib/utf16-ucs4.h: Remove file.
65645         * lib/utf16-ucs4-unsafe.h: Remove file.
65646         * lib/ucs4-utf8.h: Remove file.
65647         * lib/ucs4-utf16.h: Remove file.
65648         * lib/unistr.h: Include their previous contents.
65649         * m4/utf-ucs4.m4: Remove file.
65650         * m4/ucs4-utf.m4: Remove file.
65651         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65652         (Depends-on): Add unistr/base.
65653         (configure.ac): Remove gl_UTF_UCS4.
65654         (Makefile.am): Update.
65655         (Include): Change to unistr.h.
65656         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65657         (Depends-on): Add unistr/base.
65658         (configure.ac): Remove gl_UTF_UCS4.
65659         (Makefile.am): Update.
65660         (Include): Change to unistr.h.
65661         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65662         (Depends-on): Add unistr/base.
65663         (configure.ac): Remove gl_UTF_UCS4.
65664         (Makefile.am): Update.
65665         (Include): Change to unistr.h.
65666         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65667         (Depends-on): Add unistr/base.
65668         (configure.ac): Remove gl_UTF_UCS4.
65669         (Makefile.am): Update.
65670         (Include): Change to unistr.h.
65671         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65672         (Depends-on): Add unistr/base.
65673         (configure.ac): Remove gl_UCS4_UTF.
65674         (Makefile.am): Update.
65675         (Include): Change to unistr.h.
65676         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65677         (Depends-on): Add unistr/base.
65678         (configure.ac): Remove gl_UCS4_UTF.
65679         (Makefile.am): Update.
65680         (Include): Change to unistr.h.
65681         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65682         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65683         utf8-ucs4-unsafe.h.
65684         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65685         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65686         utf16-ucs4-unsafe.h.
65687         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65688         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65689         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65690         * lib/unistr/u8-strchr.c: Likewise.
65691         * lib/unistr/u8-strrchr.c: Likewise.
65692         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65693         * lib/unistr/u16-strchr.c: Likewise.
65694         * lib/unistr/u16-strrchr.c: Likewise.
65695         * lib/striconveh.c: Update.
65696         * lib/linebreak.c: Update.
65697
65698 2007-03-24  Bruno Haible  <bruno@clisp.org>
65699
65700         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65701         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65702
65703 2007-03-22  Bruno Haible  <bruno@clisp.org>
65704
65705         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65706
65707 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65708
65709         * MODULES.html.sh (File system functions): New module write-any-file.
65710         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65711         * m4/write-any-file.m4: New files.
65712
65713 2007-03-23  Eric Blake  <ebb9@byu.net>
65714
65715         * gnulib-tool: Rearrange space-tab sequences, since some editors
65716         like to eat them.
65717
65718 2007-03-23  Eric Blake  <ebb9@byu.net>
65719
65720         * lib/version-etc.c (version_etc_va): Update license wording to
65721         be more concise.  Recommended by Richard Stallman.
65722
65723 2007-03-22  Bruno Haible  <bruno@clisp.org>
65724
65725         * lib/poll.c (MSG_PEEK): New fallback definition.
65726
65727 2007-03-22  Bruno Haible  <bruno@clisp.org>
65728
65729         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65730         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65731         (main): Update.
65732         Fixes a compilation error on BeOS.
65733
65734 2007-03-22  Bruno Haible  <bruno@clisp.org>
65735
65736         * modules/frexpl-tests: New file.
65737         * tests/test-frexpl.c: New file.
65738
65739         * modules/frexpl: New file.
65740         * m4/frexpl.m4: New file.
65741         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65742         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65744         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65745         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65746         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65747
65748 2007-03-22  Bruno Haible  <bruno@clisp.org>
65749
65750         * lib/frexpl.c: Share code with lib/frexp.c.
65751         * modules/mathl (Files): Add lib/frexp.c.
65752         (Depends-on): Add isnanl-nolibm.
65753
65754 2007-03-22  Bruno Haible  <bruno@clisp.org>
65755
65756         * modules/printf-frexp (Files): Add m4/frexp.m4.
65757         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65758         only if the found frexp function actually works.
65759
65760 2007-03-22  Bruno Haible  <bruno@clisp.org>
65761
65762         * lib/frexp.c: Remove older implementation that uses divisions.
65763
65764 2007-03-21  Bruno Haible  <bruno@clisp.org>
65765
65766         * modules/frexp-tests: New file.
65767         * tests/test-frexp.c: New file.
65768
65769         * modules/frexp: New file.
65770         * lib/frexp.c: New file.
65771         * m4/frexp.m4: New file.
65772         * lib/math_.h (frexp): New declaration.
65773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65774         REPLACE_FREXP.
65775         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65776
65777 2007-03-21  Bruno Haible  <bruno@clisp.org>
65778
65779         * modules/isnanl-tests: New file.
65780         * tests/test-isnanl.c: New file.
65781
65782         * modules/isnanl: New file.
65783         * lib/isnanl.h: New file.
65784         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65785         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65786         gl_FUNC_ISNANL_WORKS.
65787         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65788         New macros.
65789
65790 2007-03-21  Bruno Haible  <bruno@clisp.org>
65791
65792         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65793         lib/isnanl.h.
65794         (Include): Update.
65795         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65796         * lib/vasnprintf.c: Update.
65797         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65798         tests/test-isnanl.h, remove tests/test-isnanl.c.
65799         (Makefile.am): Update.
65800         * tests/test-isnanl-nolibm.c: New file.
65801         * tests/test-isnanl.h: New file.
65802         * tests/test-isnanl.c: Remove file.
65803
65804 2007-03-21  Jim Meyering  <jim@meyering.net>
65805
65806         When trying to open ".", treat ESTALE like EACCES.
65807         * lib/savewd.c (savewd_save): Resort to forking not just upon
65808         failure with EACCES, but also when errno is ESTALE.
65809
65810 2007-03-20  Bruno Haible  <bruno@clisp.org>
65811
65812         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65813         Needed on AIX 5.1. Reported by Matthew Woehlke.
65814
65815 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         Suggestions by Bruno Haible:
65818         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65819         our own.
65820         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65821         * modules/acl (Depends-on): Add gettext.
65822
65823 2007-03-19  Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/iconvme: Remove file.
65826         * lib/iconvme.h: Remove file.
65827         * lib/iconvme.c: Remove file.
65828         * m4/iconvme.m4: Remove file.
65829
65830 2007-03-19  Bruno Haible  <bruno@clisp.org>
65831
65832         * doc/relocatable-maint.texi: Break long shell script line.
65833         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65834
65835 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65836
65837         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65838         handle file_has_acl.
65839         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65840         * lib/acl.c: Move header inclusions and related macro defns into
65841         lib/acl-internal.h.
65842         (S_ISLNK): Remove defn, since that's now done for us.
65843         (file_has_acl): Move to lib/file-has-acl.c.
65844         Call acl_trivial if available.  This is the crucial part of the fix.
65845         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65846         shared within the library.  Rewrite a bit, partly to make it compatible
65847         with the GNU coding style.
65848         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65849         Remove unnecessary double-quotes.
65850         Don't test for acl_to_text; the build will catch that.
65851         Replace acl_entries if it doesn't exist and it is needed.
65852         Check for -lsec and acl_trivial (as used on Solaris 10).
65853         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65854         lib/file-has-acl.c.
65855         (Depends-on): Add sys_stat, for S_ISLNK.
65856
65857 2007-03-19  Ben Pfaff  <blp@gnu.org>
65858
65859         * doc/gnulib.texi: Fix typos.
65860         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65861
65862 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65863
65864         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65865         If size is zero here, buf must be zero.
65866
65867 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65868
65869         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65870         <bruno@clisp.org>.
65871
65872 2007-03-18  Bruno Haible  <bruno@clisp.org>
65873
65874         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65875         Suggested by Eric Blake.
65876
65877 2007-03-18  Ben Pfaff  <blp@gnu.org>
65878
65879         * doc/relocatable.texi: Recommend using as prefix a directory
65880         that does not exist and will never be created.  Based on
65881         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65882         and others.
65883
65884 2007-03-17  Bruno Haible  <bruno@clisp.org>
65885
65886         * lib/fchownat.c: Include lchown.h.
65887
65888 2007-03-17  Bruno Haible  <bruno@clisp.org>
65889
65890         Fix endless loop when the given allocated size was > INT_MAX.
65891         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65892         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65893         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65894         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65895         * lib/sprintf.c (sprintf): Likewise.
65896
65897 2007-03-17  Bruno Haible  <bruno@clisp.org>
65898
65899         * tests/test-argp-2.sh (func_compare): Output a context diff.
65900
65901 2007-03-17  Bruno Haible  <bruno@clisp.org>
65902
65903         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65904         locale's decimal-point character.
65905
65906 2007-03-17  Bruno Haible  <bruno@clisp.org>
65907
65908         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65909         before comparing it. Needed because on some platforms (e.g. x86) a
65910         'long double' occupies less bytes than sizeof (long double).
65911
65912 2007-03-17  Bruno Haible  <bruno@clisp.org>
65913
65914         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65915         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65916         * tests/test-getaddrinfo.c (simple): Likewise.
65917         * tests/test-read-file.c (main): Likewise.
65918
65919 2007-03-17  Bruno Haible  <bruno@clisp.org>
65920
65921         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65922
65923 2007-03-17  Bruno Haible  <bruno@clisp.org>
65924
65925         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65926         unused variable.
65927
65928 2007-03-17  Bruno Haible  <bruno@clisp.org>
65929
65930         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65931         * tests/test-c-strncasecmp.c: Likewise.
65932
65933 2007-03-17  Bruno Haible  <bruno@clisp.org>
65934
65935         * modules/stdlib (Depends-on): Add unistd.
65936         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65937         Needed for MacOS X 10.3.
65938
65939 2007-03-17  Bruno Haible  <bruno@clisp.org>
65940
65941         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65942
65943 2007-03-17  Bruno Haible  <bruno@clisp.org>
65944
65945         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65946
65947 2007-03-17  Bruno Haible  <bruno@clisp.org>
65948
65949         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65950         to reflect files copied from gnulib (with or without modifications).
65951         Suggested by Jim Meyering.
65952
65953 2007-03-17  Eric Blake  <ebb9@byu.net>
65954
65955         * NEWS: Document stdlib change from 2007-02-18.
65956
65957 2007-03-17  Jim Meyering  <jim@meyering.net>
65958
65959         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65960         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65961         someone uses a name containing shell meta-characters.
65962         Reported by Alfred M. Szmidt.
65963
65964         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65965
65966 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65967
65968         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65969         and copy gettext configuration files only if configure.ac contains
65970         a use of AM_GNU_GETTEXT_VERSION.
65971
65972 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65973
65974         * build-aux/bootstrap (gnulib_name): New variable.
65975         (gnulib_tool_options): Use it.
65976
65977 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65978
65979         * tests/test-des.c: Use new namespace.
65980
65981 2007-03-15  Bruno Haible  <bruno@clisp.org>
65982
65983         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65984         Reported by James Youngman <jay@gnu.org>.
65985
65986 2007-03-15  Bruno Haible  <bruno@clisp.org>
65987
65988         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65989         declared prototype. Needed with cc on OSF/1 5.1.
65990
65991 2007-03-15  Bruno Haible  <bruno@clisp.org>
65992
65993         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65994         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65995         (struct gl_list_implementation): Add dispose_fn argument to the
65996         'create_empty', 'create' methods.
65997         (struct gl_list_impl_base): Add field 'dispose_fn'.
65998         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65999         argument.
66000         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66001         dispose_fn argument.
66002         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66003         dispose_fn on the dropped values.
66004         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66005         dispose_fn argument.
66006         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66007         dropped values.
66008         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66009         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66010         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66011         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66012         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66013         argument.
66014         (gl_tree_list_free): Call dispose_fn on the dropped values.
66015         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66016         the dropped values.
66017         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66018         Add dispose_fn argument.
66019         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66020         Call dispose_fn on the dropped values.
66021         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66022         Add dispose_fn argument.
66023         (gl_sublist_create): Initialize the 'dispose_fn' field.
66024         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66025         * tests/test-array_list.c (main): Update.
66026         * tests/test-carray_list.c (main): Update.
66027         * tests/test-avltree_list.c (main): Update.
66028         * tests/test-rbtree_list.c (main): Update.
66029         * tests/test-avltreehash_list.c (main): Update.
66030         * tests/test-rbtreehash_list.c (main): Update.
66031         * tests/test-linked_list.c (main): Update.
66032         * tests/test-linkedhash_list.c (main): Update.
66033         * tests/test-array_oset.c (main): Update.
66034
66035 2007-03-15  Bruno Haible  <bruno@clisp.org>
66036
66037         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66038         (gl_oset_create_empty): Add dispose_fn argument.
66039         (struct gl_oset_implementation): Add dispose_fn argument to
66040         'create_empty' method.
66041         (struct gl_oset_impl_base): Add dispose_fn field.
66042         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66043         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66044         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66045         values.
66046         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66047         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66048         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66049         dropped value.
66050         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66051         dropped value.
66052         * tests/test-array_oset.c (main): Update.
66053         * tests/test-avltree_oset.c (main): Update.
66054         * tests/test-rbtree_oset.c (main): Update.
66055         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66056
66057 2007-03-13  Bruno Haible  <bruno@clisp.org>
66058
66059         * tests/test-stdbool.c (i): Update after last patch.
66060
66061 2007-03-12  Bruno Haible  <bruno@clisp.org>
66062
66063         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66064         the iswprint macro. Needed on Solaris 2.5.1.
66065
66066 2007-03-12  Bruno Haible  <bruno@clisp.org>
66067
66068         * tests/test-printf-frexp.c (main): Declare x as volatile.
66069
66070 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66071
66072         * doc/gnulib.texi (Build robot for gnulib): New section.
66073
66074 2007-03-12  Jim Meyering  <jim@meyering.net>
66075
66076         * build-aux/bootstrap: New file.
66077         * build-aux/bootstrap.conf: New file, from coreutils.
66078
66079 2007-03-11  Bruno Haible  <bruno@clisp.org>
66080
66081         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66082
66083 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66084
66085         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66086         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66087         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66088
66089 2007-03-11  Bruno Haible  <bruno@clisp.org>
66090
66091         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66092         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66093
66094 2007-03-11  Bruno Haible  <bruno@clisp.org>
66095
66096         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66097         formula. Needed for SunPRO C 5.0.
66098
66099 2007-03-11  Bruno Haible  <bruno@clisp.org>
66100
66101         * modules/long-options (Depends-on): Add getopt.
66102
66103 2007-03-11  Bruno Haible  <bruno@clisp.org>
66104
66105         * modules/modechange (Depends-on): Add stdbool.
66106
66107 2007-03-11  Bruno Haible  <bruno@clisp.org>
66108
66109         * modules/i-ring (Depends-on): Add stdbool.
66110
66111 2007-03-11  Bruno Haible  <bruno@clisp.org>
66112
66113         * modules/gc-des (Depends-on): Add stdbool.
66114
66115 2007-03-11  Bruno Haible  <bruno@clisp.org>
66116
66117         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66118
66119 2007-03-11  Bruno Haible  <bruno@clisp.org>
66120
66121         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66122
66123 2007-03-11  Bruno Haible  <bruno@clisp.org>
66124
66125         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66126
66127 2007-03-11  Bruno Haible  <bruno@clisp.org>
66128
66129         * lib/vasnprintf.c (sprintf): Undefine.
66130
66131 2007-03-11  Bruno Haible  <bruno@clisp.org>
66132
66133         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66134         initializers in SunPRO C and Compaq C compilers.
66135
66136 2007-03-11  Bruno Haible  <bruno@clisp.org>
66137
66138         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66139         decrementing code ANSI C compliant.
66140
66141 2007-03-11  Bruno Haible  <bruno@clisp.org>
66142
66143         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66144         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66145
66146 2007-03-11  Bruno Haible  <bruno@clisp.org>
66147
66148         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66149         <stdbool.h> substitute doesn't pass.
66150
66151 2007-03-11  Bruno Haible  <bruno@clisp.org>
66152
66153         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66154
66155 2007-03-11  Bruno Haible  <bruno@clisp.org>
66156
66157         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66158         script, for submission to autobuild.josefsson.org.
66159
66160 2007-03-10  Bruno Haible  <bruno@clisp.org>
66161
66162         * modules/canonicalize-lgpl-tests: New file.
66163         * tests/test-canonicalize-lgpl.sh: New file.
66164         * tests/test-canonicalize-lgpl.c: New file.
66165
66166         * modules/c-strcase-tests: New file.
66167         * tests/test-c-strcase.sh: New file.
66168         * tests/test-c-strcasecmp.c: New file.
66169         * tests/test-c-strncasecmp.c: New file.
66170
66171         * modules/atexit-tests: New file.
66172         * tests/test-atexit.sh: New file.
66173         * tests/test-atexit.c: New file.
66174
66175 2007-03-10  Bruno Haible  <bruno@clisp.org>
66176
66177         * tests/test-binary-io.sh: Use temporary filenames that are not so
66178         likely to clash with those of other tests (in a parallel make).
66179         * tests/test-binary-io.c: Likewise.
66180
66181 2007-03-10  Bruno Haible  <bruno@clisp.org>
66182
66183         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66184         fallback; use #error instead.
66185         Suggested by Simon Josefsson.
66186
66187 2007-03-10  Bruno Haible  <bruno@clisp.org>
66188
66189         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66190         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66191         first and the last.
66192
66193 2007-03-10  Bruno Haible  <bruno@clisp.org>
66194
66195         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66196
66197 2007-03-10  Bruno Haible  <bruno@clisp.org>
66198
66199         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66200         "make distcheck".
66201         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66202         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66203         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66204
66205 2007-03-10  Bruno Haible  <bruno@clisp.org>
66206
66207         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66208         variable.
66209         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66210         variable.
66211
66212 2007-03-09  Eric Blake  <ebb9@byu.net>
66213         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66214
66215         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66216         types are not being provided by gnulib.
66217         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66218         types are supported.
66219
66220 2007-03-10  Bruno Haible  <bruno@clisp.org>
66221
66222         * lib/stdio_.h (__attribute__): New macro.
66223         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66224         vsprintf): Specify __attribute__ __format__ for GCC.
66225         Suggested by Eric Blake.
66226
66227 2007-03-09  Bruno Haible  <bruno@clisp.org>
66228
66229         * modules/printf-posix-tests: New file.
66230         * tests/test-printf-posix.sh: New file.
66231         * tests/test-printf-posix.c: New file.
66232
66233         * modules/printf-posix: New file.
66234         * lib/printf.c: New file.
66235         * m4/printf-posix-rpl.m4: New file.
66236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66237         REPLACE_PRINTF.
66238         * lib/stdio_.h (printf): New declaration.
66239         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66240         ____strfmon____): New macros.
66241         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66242         REPLACE_PRINTF.
66243
66244 2007-03-09  Bruno Haible  <bruno@clisp.org>
66245
66246         * tests/test-vasnprintf-posix2.sh: New file.
66247         * tests/test-vasnprintf-posix2.c: New file.
66248         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66249         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66250         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66251
66252         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66253         a locale dependent decimal point, rather than always '.'.
66254
66255 2007-03-09  Eric Blake  <ebb9@byu.net>
66256
66257         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66258         spite of platforms like Tandem/NSK that define it to -1.
66259
66260 2007-03-08  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/vprintf-posix-tests: New file.
66263         * tests/test-vprintf-posix.sh: New file.
66264         * tests/test-vprintf-posix.c: New file.
66265         * tests/test-printf-posix.h: New file.
66266
66267         * modules/vprintf-posix: New file.
66268         * lib/vprintf.c: New file.
66269         * m4/vprintf-posix.m4: New file.
66270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66271         REPLACE_VPRINTF.
66272         * lib/stdio_.h (vprintf): New declaration.
66273         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66274         REPLACE_VPRINTF.
66275
66276 2007-03-08  Bruno Haible  <bruno@clisp.org>
66277
66278         * modules/fprintf-posix-tests: New file.
66279         * tests/test-fprintf-posix.sh: New file.
66280         * tests/test-fprintf-posix.c: New file.
66281
66282         * modules/fprintf-posix: New file.
66283         * lib/fprintf.c: New file.
66284         * m4/fprintf-posix.m4: New file.
66285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66286         REPLACE_FPRINTF.
66287         * lib/stdio_.h (fprintf): New declaration.
66288         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66289         REPLACE_FPRINTF.
66290
66291 2007-03-08  Bruno Haible  <bruno@clisp.org>
66292
66293         * modules/vfprintf-posix-tests: New file.
66294         * tests/test-vfprintf-posix.sh: New file.
66295         * tests/test-vfprintf-posix.c: New file.
66296         * tests/test-fprintf-posix.h: New file.
66297         * tests/test-fprintf-posix.out: New file.
66298
66299         * modules/vfprintf-posix: New file.
66300         * lib/vfprintf.c: New file.
66301         * m4/vfprintf-posix.m4: New file.
66302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66303         REPLACE_VFPRINTF.
66304         * lib/stdio_.h (vfprintf): New declaration.
66305         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66306         REPLACE_VFPRINTF.
66307
66308 2007-03-08  Bruno Haible  <bruno@clisp.org>
66309
66310         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66311
66312 2007-03-08  Bruno Haible  <bruno@clisp.org>
66313
66314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66315         instead of 'expr' invocations.
66316         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66317         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66318         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66319         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66320         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66321         Suggested by Paul Eggert.
66322
66323 2007-03-08  Bruno Haible  <bruno@clisp.org>
66324
66325         * modules/fseterr-tests: New file.
66326         * tests/test-fseterr.c: New file.
66327
66328         * modules/fseterr: New file.
66329         * lib/fseterr.h: New file.
66330         * lib/fseterr.c: New file.
66331
66332 2007-03-08  Bruno Haible  <bruno@clisp.org>
66333
66334         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66335         * lib/getopt_.h: Likewise.
66336         * lib/mbswidth.h: Likewise.
66337         * lib/setenv.h: Likewise.
66338         * lib/vasnprintf.h: Likewise.
66339         * lib/vasprintf.h: Likewise.
66340         * lib/verror.h: Likewise.
66341         * lib/xsetenv.h: Likewise.
66342         * lib/xvasprintf.h: Likewise.
66343
66344 2007-03-08  Jim Meyering  <jim@meyering.net>
66345
66346         * users.txt: Add parted.
66347
66348         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66349
66350 2007-03-07  Bruno Haible  <bruno@clisp.org>
66351
66352         * m4/printf.m4: Make the shell script snippets copy&pastable.
66353
66354 2007-03-02  Bruno Haible  <bruno@clisp.org>
66355
66356         * lib/netinet_in_.h: New file.
66357         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66358         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66359         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66360         (Depends-on): Add absolute-header.
66361         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66362         into netinet/in.h.
66363
66364 2007-03-03  Bruno Haible  <bruno@clisp.org>
66365
66366         * lib/sys_select_.h: New file.
66367         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66368         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66369         * modules/sys_select (Files): Add lib/sys_select_.h.
66370         (Depends-on): Add absolute-header.
66371         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66372         into sys/select.h.
66373
66374 2007-03-02  Bruno Haible  <bruno@clisp.org>
66375
66376         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66377         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66378         values.
66379         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66380         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66381         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66382         * modules/sys_socket (Depends-on): Add absolute-header.
66383         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66384         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66385         (Include): Remove requirement of inclusion of <sys/types.h>.
66386
66387 2007-03-02  Bruno Haible  <bruno@clisp.org>
66388
66389         * lib/byteswap_.h (bswap_32): Fix formula.
66390
66391 2007-03-06  Bruno Haible  <bruno@clisp.org>
66392
66393         * modules/sprintf-posix-tests: New file.
66394         * tests/test-sprintf-posix.c: New file.
66395
66396         * modules/sprintf-posix: New file.
66397         * lib/sprintf.c: New file.
66398         * m4/sprintf-posix.m4: New file.
66399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66400         REPLACE_SPRINTF.
66401         * lib/stdio_.h (sprintf): New declaration.
66402         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66403         REPLACE_SPRINTF.
66404
66405 2007-03-06  Bruno Haible  <bruno@clisp.org>
66406
66407         * modules/vsprintf-posix-tests: New file.
66408         * tests/test-vsprintf-posix.c: New file.
66409         * tests/test-sprintf-posix.h: New file.
66410
66411         * modules/vsprintf-posix: New file.
66412         * lib/vsprintf.c: New file.
66413         * m4/vsprintf-posix.m4: New file.
66414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66415         REPLACE_VSPRINTF.
66416         * lib/stdio_.h (vsprintf): New declaration.
66417         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66418         REPLACE_VSPRINTF.
66419
66420 2007-03-06  Bruno Haible  <bruno@clisp.org>
66421
66422         * modules/vsnprintf (Depend-on): Remove minmax.
66423
66424 2007-03-06  Bruno Haible  <bruno@clisp.org>
66425
66426         * modules/snprintf-posix-tests: New file.
66427         * tests/test-snprintf-posix.c: New file.
66428
66429         * modules/snprintf-posix: New file.
66430         * m4/snprintf-posix.m4: New file.
66431         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66432         gl_FUNC_SNPRINTF.
66433         (gl_FUNC_SNPRINTF): Invoke it.
66434         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66435         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66436         is set.
66437         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66438
66439 2007-03-06  Bruno Haible  <bruno@clisp.org>
66440
66441         * modules/vsnprintf-posix-tests: New file.
66442         * tests/test-vsnprintf-posix.c: New file.
66443         * tests/test-snprintf-posix.h: New file.
66444
66445         * modules/vsnprintf-posix: New file.
66446         * m4/vsnprintf-posix.m4: New file.
66447         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66448         gl_FUNC_VSNPRINTF.
66449         (gl_FUNC_VSNPRINTF): Invoke it.
66450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66451         * lib/stdio_.h (vsnprintf): Define as a replacement if
66452         REPLACE_VSNPRINTF is set.
66453         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66454
66455 2007-03-06  Bruno Haible  <bruno@clisp.org>
66456
66457         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66459
66460 2007-03-06  Bruno Haible  <bruno@clisp.org>
66461
66462         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66463         (asinl): Declare also if HAVE_DECL_ASINL is set.
66464         (atanl): Declare also if HAVE_DECL_ATANL is set.
66465         (ceill): Declare also if HAVE_DECL_CEILL is set.
66466         (cosl): Declare also if HAVE_DECL_COSL is set.
66467         (expl): Declare also if HAVE_DECL_EXPL is set.
66468         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66469         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66470         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66471         (logl): Declare also if HAVE_DECL_LOGL is set.
66472         (sinl): Declare also if HAVE_DECL_SINL is set.
66473         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66474         (tanl): Declare also if HAVE_DECL_TANL is set.
66475         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66476         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66477         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66478         declaration of frexpl, ldexpl.
66479         * modules/printf-frexpl (Depends-on): Add math.
66480         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66481
66482 2007-03-05  Bruno Haible  <bruno@clisp.org>
66483
66484         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66485         frexpl and ldexpl are declared.
66486         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66487
66488 2007-03-05  Bruno Haible  <bruno@clisp.org>
66489
66490         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66491         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66492
66493 2007-03-05  Bruno Haible  <bruno@clisp.org>
66494
66495         * lib/stdio_.h: Include <stddef.h>.
66496
66497 2007-03-05  Bruno Haible  <bruno@clisp.org>
66498
66499         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66500
66501 2007-03-05  Bruno Haible  <bruno@clisp.org>
66502
66503         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66504         NetBSD 4, from Ralf Wildenhues.
66505
66506 2007-03-04  Bruno Haible  <bruno@clisp.org>
66507
66508         * lib/vasprintf.h: Update #if logic for the case when the functions
66509         exist but are overridden.
66510
66511 2007-03-04  Bruno Haible  <bruno@clisp.org>
66512
66513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66514         implementations: glibc-2.4 and MacOS X 10.3.
66515         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66516         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66517         * tests/test-vasprintf-posix.c (test_function): Likewise.
66518
66519 2007-03-04  Bruno Haible  <bruno@clisp.org>
66520
66521         * modules/vasprintf-posix-tests: New file.
66522         * tests/test-vasprintf-posix.c: New file.
66523
66524         * modules/vasprintf-posix: New file.
66525         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66526         defined.
66527         * m4/vasprintf-posix.m4: New file.
66528         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66529         gl_FUNC_VASPRINTF.
66530         (gl_FUNC_VASPRINTF): Invoke it.
66531         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66532         here.
66533         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66534
66535 2007-03-04  Bruno Haible  <bruno@clisp.org>
66536
66537         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66538         REPLACE_GETTIMEOFDAY.
66539         * modules/sys_time (Makefile.am): Likewise.
66540         * m4/sys_time_h.m4: Likewise.
66541         * m4/gettimeofday.m4: Likewise.
66542
66543 2007-03-04  Bruno Haible  <bruno@clisp.org>
66544
66545         * modules/vasnprintf-posix-tests: New file.
66546         * tests/test-vasnprintf-posix.c: New file.
66547
66548         * modules/vasnprintf-posix: New file.
66549         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66550         printf-frexpl.h.
66551         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66552         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66553         REPLACE_VASNPRINTF is defined.
66554         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66555         gl_FUNC_VASNPRINTF.
66556         (gl_FUNC_VASNPRINTF): Invoke it.
66557         * m4/vasnprintf-posix.m4: New file.
66558         * m4/printf.m4: New file.
66559
66560 2007-03-04  Bruno Haible  <bruno@clisp.org>
66561
66562         Compile progreloc.c only if --enable-relocatable is specified.
66563         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66564         if --enable-relocatable was specified.
66565         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66566         lib_SOURCES.
66567
66568 2007-03-04  Jim Meyering  <jim@meyering.net>
66569
66570         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66571         Use it consistently, rather than enumerating errno constants.
66572
66573 2007-03-04  Bruno Haible  <bruno@clisp.org>
66574
66575         * modules/xvasprintf-tests: New file.
66576         * tests/test-xvasprintf.c: New file.
66577
66578         * modules/vasprintf-tests: New file.
66579         * tests/test-vasprintf.c: New file.
66580
66581         * modules/vasnprintf-tests: New file.
66582         * tests/test-vasnprintf.c: New file.
66583
66584         * modules/vsnprintf-tests: New file.
66585         * tests/test-vsnprintf.c: New file.
66586
66587         * modules/snprintf-tests: New file.
66588         * tests/test-snprintf.c: New file.
66589
66590 2007-03-04  Bruno Haible  <bruno@clisp.org>
66591
66592         Compile relocatable.c only if --enable-relocatable is specified.
66593         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66594         gl_RELOCATABLE_LIBRARY.
66595         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66596         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66597         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66598         gl_RELOCATABLE_LIBRARY.
66599         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66600         (Makefile.am): Remove lib_SOURCES.
66601         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66602         gl_RELOCATABLE_LIBRARY.
66603         (Makefile.am): Remove lib_SOURCES.
66604         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66605         always.
66606         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66607         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66608
66609 2007-03-04  Bruno Haible  <bruno@clisp.org>
66610
66611         * modules/argmatch-tests: New file.
66612         * tests/test-argmatch.c: New file.
66613
66614         * tests/test-allocsa.c (main): Halve the number of loop runs.
66615
66616         * modules/alloca-opt-tests: New file.
66617         * tests/test-alloca-opt.c: New file.
66618
66619 2007-03-04  Jim Meyering  <jim@meyering.net>
66620
66621         Work around difference between Linux ACLs and Solaris 10 ZFS.
66622         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66623         for EINVAL.
66624
66625 2007-03-03  Bruno Haible  <bruno@clisp.org>
66626
66627         * modules/relocatable-prog (Depends-on): Add back progreloc's
66628         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66629
66630 2007-03-03  Bruno Haible  <bruno@clisp.org>
66631
66632         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66633         * modules/relocatable-lib: New file.
66634
66635 2007-03-03  Bruno Haible  <bruno@clisp.org>
66636
66637         * modules/relocatable-prog: Renamed from modules/relocatable.
66638         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66639
66640 2007-03-03  Bruno Haible  <bruno@clisp.org>
66641
66642         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66643         m4/relocatable-lib.m4.
66644         (Depends-on): Remove 'relocatable'.
66645         (configure.ac): Add gl_RELOCATABLE_NOP.
66646
66647 2007-03-03  Bruno Haible  <bruno@clisp.org>
66648
66649         * modules/relocatable-prog-wrapper: New file.
66650         * modules/relocatable (Depends-on): Add it. Remove all other
66651         dependencies except progname.
66652         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66653
66654         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66655         (gl_FUNC_STRERROR): Nop.
66656         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66657
66658         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66659         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66660
66661         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66662         (gl_FUNC_READLINK): Update.
66663
66664         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66665
66666 2007-03-03  Bruno Haible  <bruno@clisp.org>
66667
66668         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66669         * modules/xreadlink (Depends-on): Add unistd.
66670         * modules/xreadlink-with-size (Depends-on): Likewise.
66671
66672 2007-03-03  Bruno Haible  <bruno@clisp.org>
66673
66674         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66675         extracted from gt_FUNC_SETENV.
66676         (gt_FUNC_SETENV): Remove macro.
66677         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66678         remove gt_FUNC_SETENV.
66679
66680 2007-03-03  Bruno Haible  <bruno@clisp.org>
66681
66682         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66683         ENABLE_RELOCATABLE here.
66684         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66685
66686 2007-03-03  Bruno Haible  <bruno@clisp.org>
66687
66688         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66689         * tests/test-rbtreehash_list.c: Include progname.h.
66690         (main): Call set_program_name.
66691
66692         * modules/rbtree-oset-tests (Depends-on): Add progname.
66693         * tests/test-rbtree_oset.c: Include progname.h.
66694         (main): Call set_program_name.
66695
66696         * modules/rbtree-list-tests (Depends-on): Add progname.
66697         * tests/test-rbtree_list.c: Include progname.h.
66698         (main): Call set_program_name.
66699
66700         * modules/linked-list-tests (Depends-on): Add progname.
66701         * tests/test-linked_list.c: Include progname.h.
66702         (main): Call set_program_name.
66703
66704 2007-03-03  Bruno Haible  <bruno@clisp.org>
66705
66706         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66707         All uses of __restrict changed to _Restrict_.
66708         * lib/glob_.h (__restrict): Remove macro.
66709
66710 2007-03-02  Bruno Haible  <bruno@clisp.org>
66711
66712         * modules/gettext (configure.ac): Require gettext infrastructure
66713         from version 0.16.1.
66714
66715 2007-03-02  Bruno Haible  <bruno@clisp.org>
66716
66717         * modules/linkedhash-list-tests (Depends-on): Add progname.
66718         * tests/test-linkedhash_list.c: Include progname.h.
66719         (main): Call set_program_name.
66720
66721         * modules/carray-list-tests (Depends-on): Add progname.
66722         * tests/test-carray_list.c: Include progname.h.
66723         (main): Call set_program_name.
66724
66725         * modules/avltreehash-list-tests (Depends-on): Add progname.
66726         * tests/test-avltreehash_list.c: Include progname.h.
66727         (main): Call set_program_name.
66728
66729         * modules/avltree-oset-tests (Depends-on): Add progname.
66730         * tests/test-avltree_oset.c: Include progname.h.
66731         (main): Call set_program_name.
66732
66733         * modules/avltree-list-tests (Depends-on): Add progname.
66734         * tests/test-avltree_list.c: Include progname.h.
66735         (main): Call set_program_name.
66736
66737         * modules/array-oset-tests (Depends-on): Add progname.
66738         * tests/test-array_oset.c: Include progname.h.
66739         (main): Call set_program_name.
66740
66741         * modules/array-list-tests (Depends-on): Add progname.
66742         * tests/test-array_list.c: Include progname.h.
66743         (main): Call set_program_name.
66744
66745         * modules/argp-tests (Depends-on): Add progname.
66746         * tests/test-argp.c: Include argp.h first. Include progname.h.
66747         (main): Call set_program_name.
66748
66749 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66750
66751         * doc/gnulib-tool.texi (Initial import): Reword description of
66752         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66753         limited effect even if defined after the first system include.
66754
66755 2007-03-01  Bruno Haible  <bruno@clisp.org>
66756
66757         * build-aux/config.libpath: Update to libtool-1.5.22.
66758         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66759
66760 2007-03-01  Bruno Haible  <bruno@clisp.org>
66761
66762         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66763         foo_CFLAGS.
66764         Reported by Ralf Wildenhues.
66765
66766 2007-03-01  Bruno Haible  <bruno@clisp.org>
66767
66768         * build-aux/install-reloc: Remove object files left over by some
66769         compilers.
66770         Reported by Ralf Wildenhues.
66771
66772 2007-03-01  Bruno Haible  <bruno@clisp.org>
66773
66774         * build-aux/install-reloc: Break long lines.
66775
66776 2007-03-01  Bruno Haible  <bruno@clisp.org>
66777
66778         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66779         Reported by Ralf Wildenhues.
66780
66781 2007-03-01  Bruno Haible  <bruno@clisp.org>
66782
66783         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66784         include ordering constraints.
66785
66786 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66787
66788         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66789         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66790         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66791         as another example.
66792         * lib/time_.h: Fix misspelling.
66793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66794         Require gl_HEADER_TIME_H_DEFAULTS.
66795         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66796         * m4/time_r.m4 (gl_TIME_R): Likewise.
66797         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66798
66799 2007-03-01  Bruno Haible  <bruno@clisp.org>
66800
66801         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66802         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66803
66804 2007-03-01  Jim Meyering  <jim@meyering.net>
66805
66806         * modules/xreadlink (Maintainer): Add my name.
66807         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66808
66809 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66810             Bruno Haible  <bruno@clisp.org>
66811
66812         * build-aux/install-reloc: Compile also c-ctype.c.
66813         * build-aux/relocatable.sh.in: New file.
66814         * doc/relocatable.texi: New file.
66815         * doc/relocatable-maint.texi: New file.
66816         * doc/gnulib.texi: Include relocatable-maint.texi.
66817         * lib/progreloc.c: Include unistd.h unconditionally.
66818         * lib/relocwrapper.c: Include unistd.h unconditionally.
66819         Include c-ctype.h.
66820         (add_dotbin): Use c_tolower.
66821         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66822         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66823         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66824         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66825         to m4/relocatable-lib.m4.
66826         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66827         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66828         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66829         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66830         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66831         * modules/relocatable: New file.
66832         * modules/relocatable-lib: New file.
66833         * modules/relocatable-script: New file.
66834
66835 2007-02-28  Bruno Haible  <bruno@clisp.org>
66836
66837         Import --enable-relocatable infrastructure.
66838         * build-aux/config.libpath: New file, from GNU gettext.
66839         * build-aux/install-reloc: New file, from GNU gettext.
66840         * build-aux/reloc-ldflags: New file, from GNU gettext.
66841         * lib/relocatable.h: New file, from GNU gettext.
66842         * lib/relocatable.c: New file, from GNU gettext.
66843         * lib/relocwrapper.c: New file, from GNU gettext.
66844         * m4/relocatable.m4: New file, from GNU gettext.
66845
66846 2007-02-28  Bruno Haible  <bruno@clisp.org>
66847
66848         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66849
66850         * modules/xreadlink: New file, from GNU gettext with modifications.
66851         * lib/xreadlink.c: New file, from GNU gettext.
66852         * lib/xreadlink.h: Add comments.
66853         (xreadlink): New declaration.
66854
66855         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66856         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66857         lib/xreadlink-with-size.c.
66858         (configure.ac): Remove gl_XREADLINK invocation.
66859         (Makefile.am): Augment lib_SOURCES.
66860         * m4/xreadlink.m4: Remove file.
66861         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66862         (xreadlink_with_size): Renamed from xreadink.
66863         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66864         * modules/canonicalize (Depends-on): Replace xreadlink with
66865         xreadlink-with-size.
66866         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66867
66868 2007-02-25  Jim Meyering  <jim@meyering.net>
66869
66870         * build-aux/announce-gen: When complaining about excess arguments,
66871         list them.
66872
66873 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66874
66875         * README: Document signed integer overflow situation more
66876         accurately.
66877
66878 2007-02-25  Bruno Haible  <bruno@clisp.org>
66879
66880         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66881         'a' or 'A' conversion.
66882
66883 2007-02-25  Bruno Haible  <bruno@clisp.org>
66884
66885         * modules/filename: Renamed from modules/pathname.
66886         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66887         lib/concatpath.c with lib/concat-filename.c.
66888         (Makefile.am): Update.
66889         (Include): Replace pathname.h with filename.h.
66890         * lib/filename.h: Renamed from lib/pathname.h.
66891         (concatenated_filename): Renamed from concatenated_pathname.
66892         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66893         (concatenated_filename): Renamed from concatenated_pathname.
66894         * lib/findprog.c: Include filename.h instead of pathname.h.
66895         (find_in_path): Update.
66896         * lib/javacomp.c: Include filename.h instead of pathname.h.
66897         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66898         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66899         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66900         is_oldgcj_14_13_usable, is_javac_usable): Update.
66901         * lib/javaexec.c: Include filename.h instead of pathname.h.
66902         (execute_java_class): Update.
66903         * modules/findprog: Update.
66904         * modules/javacomp: Update.
66905         * modules/javaexec: Update.
66906         * MODULES.html.sh (File system functions): Add 'filename', remove
66907         'pathname'.
66908
66909 2007-02-25  Bruno Haible  <bruno@clisp.org>
66910
66911         * modules/printf-frexpl-tests: New file.
66912         * tests/test-printf-frexpl.c: New file.
66913
66914         * modules/printf-frexpl: New file.
66915         * lib/printf-frexpl.h: New file.
66916         * lib/printf-frexpl.c: New file.
66917         * m4/printf-frexpl.m4: New file.
66918
66919 2007-02-25  Bruno Haible  <bruno@clisp.org>
66920
66921         * modules/printf-frexp-tests: New file.
66922         * tests/test-printf-frexp.c: New file.
66923
66924         * modules/printf-frexp: New file.
66925         * lib/printf-frexp.h: New file.
66926         * lib/printf-frexp.c: New file.
66927         * m4/printf-frexp.m4: New file.
66928
66929 2007-02-25  Bruno Haible  <bruno@clisp.org>
66930
66931         Assume automake >= 1.10 for the tests.
66932         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66933         * modules/arctwo-tests: Likewise.
66934         * modules/argp-tests: Likewise.
66935         * modules/avltree-list-tests: Likewise.
66936         * modules/avltree-oset-tests: Likewise.
66937         * modules/avltreehash-list-tests: Likewise.
66938         * modules/carray-list-tests: Likewise.
66939         * modules/crc-tests: Likewise.
66940         * modules/des-tests: Likewise.
66941         * modules/gc-arcfour-tests: Likewise.
66942         * modules/gc-arctwo-tests: Likewise.
66943         * modules/gc-des-tests: Likewise.
66944         * modules/gc-hmac-md5-tests: Likewise.
66945         * modules/gc-hmac-sha1-tests: Likewise.
66946         * modules/gc-md2-tests: Likewise.
66947         * modules/gc-md4-tests: Likewise.
66948         * modules/gc-md5-tests: Likewise.
66949         * modules/gc-pbkdf2-sha1-tests: Likewise.
66950         * modules/gc-rijndael-tests: Likewise.
66951         * modules/gc-sha1-tests: Likewise.
66952         * modules/gc-tests: Likewise.
66953         * modules/getaddrinfo-tests: Likewise.
66954         * modules/hmac-md5-tests: Likewise.
66955         * modules/hmac-sha1-tests: Likewise.
66956         * modules/linked-list-tests: Likewise.
66957         * modules/linkedhash-list-tests: Likewise.
66958         * modules/lock-tests: Likewise.
66959         * modules/md2-tests: Likewise.
66960         * modules/md4-tests: Likewise.
66961         * modules/md5-tests: Likewise.
66962         * modules/rbtree-list-tests: Likewise.
66963         * modules/rbtree-oset-tests: Likewise.
66964         * modules/rbtreehash-list-tests: Likewise.
66965         * modules/read-file-tests: Likewise.
66966         * modules/rijndael-tests: Likewise.
66967         * modules/stdint-tests: Likewise.
66968         * modules/tls-tests: Likewise.
66969
66970 2007-02-24  Bruno Haible  <bruno@clisp.org>
66971
66972         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66973         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66974         function; instead check whether isnan with a double argument links.
66975         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66976         function; instead check whether isnan with a 'long double' argument
66977         links.
66978         Reported by Eric Blake <ebb9@byu.net>.
66979
66980 2007-02-24  Bruno Haible  <bruno@clisp.org>
66981
66982         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66983         defined.
66984         * lib/isnanl.c: Remove all code. Just include isnan.c.
66985         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66986
66987 2007-02-25  Jim Meyering  <jim@meyering.net>
66988
66989         Avoid conflicting types for 'unsetenv' on FreeBSD.
66990         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66991         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66992         in stdlib.h.
66993
66994 2007-02-24  Bruno Haible  <bruno@clisp.org>
66995
66996         * modules/isnanl-nolibm-tests: New file.
66997         * tests/test-isnanl.c: New file.
66998
66999         * modules/isnanl-nolibm: New file.
67000         * lib/isnanl.h: New file.
67001         * lib/isnanl.c: New file.
67002         * m4/isnanl.m4: New file.
67003
67004 2007-02-24  Bruno Haible  <bruno@clisp.org>
67005
67006         * modules/isnan-nolibm-tests: New file.
67007         * tests/test-isnan.c: New file.
67008
67009         * modules/isnan-nolibm: New file.
67010         * lib/isnan.h: New file.
67011         * lib/isnan.c: New file.
67012         * m4/isnan.m4: New file.
67013
67014 2007-02-24  Bruno Haible  <bruno@clisp.org>
67015
67016         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67017         assume that an exponent fits in 20 bits.
67018
67019 2007-02-24  Jim Meyering  <jim@meyering.net>
67020
67021         * m4/regex.m4: Update the description of the configure-time option,
67022         --without-included-regex, to state accurately what the defaults are,
67023         and perhaps to give people an idea why using this option is risky.
67024
67025 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67026
67027         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67028         loops on small arguments.  This attempts to avoid the problem
67029         Bruno Haible reported for AIX 4.3.2 in
67030         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67031
67032 2007-02-23  Bruno Haible  <bruno@clisp.org>
67033
67034         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67035         Needed for help2man.
67036
67037 2007-02-23  Karl Berry  <karl@gnu.org>
67038
67039         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67040         exists, foo.h should be cvs-ignored, not committed.
67041
67042 2007-02-23  Eric Blake  <ebb9@byu.net>
67043
67044         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67045         * lib/stat-time.h (includes): Likewise.
67046         * lib/utimecmp.c (includes): Likewise.
67047         * lib/utimens.h (includes): Likewise.
67048         * lib/getdate.y (includes): Also include "timespec.h" for use
67049         internal to the module.
67050         * modules/utimens (Depends-on): Revert yesterday's patch.
67051         * modules/nanosleep (Depends-on): Add missing dependency.
67052
67053 2007-02-22  Bruno Haible  <bruno@clisp.org>
67054
67055         * lib/glob.c: Don't include getlogin_r.h.
67056
67057 2007-02-22  Jim Meyering  <jim@meyering.net>
67058
67059         * modules/utimens (Depends-on): Add timespec, required for
67060         utimens.h's inclusion of timespec.h.
67061
67062 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67063
67064         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67065         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67066         Schwab in
67067         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67068         I'll try to think of a better way to fix the Solaris problem.
67069
67070         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67071         like glibc; on Solaris 10, it fails with errno == EINVAL.
67072         POSIX says the behavior is unspecified if the first argument is NULL,
67073         so play it safe and never pass NULL to the system getcwd.
67074
67075 2007-02-21  Jim Meyering  <jim@meyering.net>
67076
67077         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67078         of gettimeofday.  It would conflict with the one now always
67079         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67080         an IRIX 6.5 build failure.
67081
67082 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67083
67084         Minor fixups to port to Solaris 10 with Sun C 5.8.
67085         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67086         * modules/getcwd (Depends-on): Add dirfd.
67087         * lib/putenv.c (putenv): #undef it.
67088         (rpl_putenv): New decl.
67089         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67090
67091 2007-02-20  Bruno Haible  <bruno@clisp.org>
67092
67093         * modules/stdio-tests: New file.
67094         * tests/test-stdio.c: New file.
67095
67096         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67097         (Depends-on): Add stdio.
67098         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67099         (Include): Use <stdio.h> instead of vsnprintf.h.
67100         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67101         HAVE_DECL_VSNPRINTF.
67102         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67103
67104         * modules/snprintf (Files): Remove lib/snprintf.h.
67105         (Depends-on): Add stdio.
67106         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67107         (Include): Use <stdio.h> instead of snprintf.h.
67108         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67109         HAVE_DECL_SNPRINTF.
67110         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67111         * lib/getaddrinfo.c: Likewise.
67112
67113         * modules/stdio: New file.
67114         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67115         * lib/snprintf.h: Remove file.
67116         * lib/vsnprintf.h: Remove file.
67117         * lib/.cppi-disable: Remove snprintf.h.
67118         * m4/stdio_h.m4: New file.
67119         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67120
67121 2007-02-20  Jim Meyering  <jim@meyering.net>
67122
67123         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67124         used by e.g., mingw.  From Bruno Haible.
67125
67126 2007-02-19  Bruno Haible  <bruno@clisp.org>
67127
67128         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67129         warnings.
67130         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67131
67132 2007-02-19  Bruno Haible  <bruno@clisp.org>
67133
67134         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67135         from mingw users.
67136
67137 2007-02-19  Bruno Haible  <bruno@clisp.org>
67138
67139         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67140         warnings.
67141         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67142
67143 2007-02-19  Jim Meyering  <jim@meyering.net>
67144
67145         Don't use FD after a successful "fdopendir (fd)".
67146         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67147         Reset it by calling dirfd on the just-obtained DIR*.
67148
67149         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67150         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67151
67152 2007-02-18  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/readlink.c: Include <unistd.h>.
67155         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67156         HAVE_READLINK.
67157         * modules/readlink (Depends-on): Add unistd.
67158         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67159         (Include): Add <unistd.h>.
67160
67161         * lib/getlogin_r.h: Remove file.
67162         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67163         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67164         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67165         HAVE_DECL_GETLOGIN_R.
67166         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67167         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67168         (Include): Use <unistd.h> instead of getlogin_r.h.
67169
67170         * lib/getcwd.h: Remove file.
67171         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67172         * lib/xgetcwd.c: Likewise.
67173         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67174         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67175         * modules/getcwd (Files): Remove lib/getcwd.h.
67176         (Depends-on): Add unistd.
67177         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67178         (Include): Use <unistd.h> instad of getcwd.h.
67179
67180         * lib/ftruncate.c: Include <unistd.h> first.
67181         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67182         Set HAVE_FTRUNCATE.
67183         * modules/ftruncate (Depends-on): Add unistd.
67184         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67185
67186         * lib/fchdir.c: Include <unistd.h> first.
67187         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67188         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67189         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67190         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67191         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67192
67193         * lib/dup2.c: Include <unistd.h> first.
67194         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67195         HAVE_DUP2.
67196         * modules/dup2 (Depends-on): Add unistd.
67197         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67198
67199         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67200         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67201         REPLACE_CHOWN. Don't define chown as a macro here.
67202         * modules/chown (Depends-on): Add unistd.
67203         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67204
67205         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67206         Add definition for GL_LINK_WARNING.
67207         (chown, dup2): New declarations.
67208         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67209         link warning.
67210         (ftruncate): New declaration.
67211         (getcwd): New declaration, taken from old getcwd.h.
67212         (getlogin_r): New declaration, taken from old getlogin_r.h.
67213         (readlink): New declaration.
67214         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67215         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67216         (gl_PREREQ_UNISTD): Remove macro.
67217         (gl_UNISTD_MODULE_INDICATOR): New macro.
67218         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67219         many new variables. Don't set UNISTD_H.
67220         * modules/unistd (Description): Change.
67221         (Depends-on): Add link-warning.
67222         (configure.ac): Update.
67223         (Makefile.am): Create unistd.h always. Substitute many new variables
67224         into it.
67225
67226 2007-02-18  Bruno Haible  <bruno@clisp.org>
67227
67228         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67229         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67230         HAVE_GETSUBOPT.
67231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67232         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67233         * lib/getsubopt.h: Remove file.
67234         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67235         (Depends-on): Add stdlib.
67236         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67237         (Includes): Use <stdlib.h> instead of getsubopt.h.
67238         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67239         Set HAVE_GETSUBOPT.
67240         * lib/getsubopt.c: Don't include getsubopt.h.
67241
67242 2007-02-18  Bruno Haible  <bruno@clisp.org>
67243
67244         * modules/fchdir (Depends-on): Add dup2.
67245
67246 2007-02-18  Bruno Haible  <bruno@clisp.org>
67247
67248         * lib/stdlib_.h: Handle glibc's special invocation convention
67249         specially.
67250
67251 2007-02-18  Bruno Haible  <bruno@clisp.org>
67252
67253         * modules/stdlib-tests: New file.
67254         * tests/test-stdlib.c: New file.
67255
67256         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67257         (Depends-on): Add stdlib.
67258         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67259         (Includes): Use <stdlib.h> instead of mkstemp.h.
67260         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67261         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67262         * lib/mkstemp.c: Don't include mkstemp.h.
67263         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67264         * lib/stdlib--.h: Don't include mkstemp.h.
67265
67266         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67267         (Depends-on): Add stdlib.
67268         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67269         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67270         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67271         HAVE_MKDTEMP.
67272         * lib/mkdtemp.c: Don't include mkdtemp.h.
67273         * lib/clean-temp.c: Don't include mkdtemp.h.
67274
67275         * modules/exit (Files): Remove lib/exit.h.
67276         (Depends-on): Add stdlib.
67277         (Makefile.am): Remove lib_SOURCES.
67278         (Include): Use <stdlib.h> instead of exit.h.
67279         * lib/argmatch.c: Don't include exit.h.
67280         * lib/execute.c: Likewise.
67281         * lib/pagealign_alloc.c: Likewise.
67282         * lib/pipe.c: Likewise.
67283         * lib/wait-process.c: Likewise.
67284         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67285         * lib/exitfail.c: Likewise.
67286         * lib/savewd.c: Likewise.
67287         * lib/xsetenv.c: Likewise.
67288
67289         * modules/stdlib: New file.
67290         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67291         and extra comments about mkstemp().
67292         * lib/exit.h: Remove file.
67293         * lib/mkdtemp.h: Remove file.
67294         * lib/mkstemp.h: Remove file.
67295         * m4/stdlib_h.m4: New file.
67296         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67297
67298 2007-02-18  Bruno Haible  <bruno@clisp.org>
67299
67300         * modules/math-tests: New file.
67301         * tests/test-math.c: New file.
67302
67303         * modules/math: New file.
67304         * modules/mathl (Files): Remove lib/mathl.h.
67305         (Depends-on): Add math.
67306         (Makefile.am): Don't mention mathl.h.
67307         (Include): Use <math.h> instead of mathl.h.
67308         * lib/math_.h: New file.
67309         * lib/mathl.h: Remove file.
67310         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67311         mathl.h.
67312         * lib/asinl.c: Likewise.
67313         * lib/atanl.c: Likewise.
67314         * lib/ceill.c: Likewise.
67315         * lib/cosl.c: Likewise.
67316         * lib/expl.c: Likewise.
67317         * lib/floorl.c: Likewise.
67318         * lib/frexpl.c: Likewise.
67319         * lib/ldexpl.c: Likewise.
67320         * lib/logl.c: Likewise.
67321         * lib/sincosl.c: Likewise.
67322         * lib/sinl.c: Likewise.
67323         * lib/sqrtl.c: Likewise.
67324         * lib/tanl.c: Likewise.
67325         * lib/trigl.c: Likewise.
67326         * m4/math_h.m4: New file.
67327         * MODULES.html.sh (Mathematics): Add math.
67328
67329 2007-02-17  Bruno Haible  <bruno@clisp.org>
67330
67331         * modules/wctype-tests: New file.
67332         * tests/test-wctype.c: New file.
67333
67334         * modules/wchar-tests: New file.
67335         * tests/test-wchar.c: New file.
67336
67337         * modules/unistd-tests: New file.
67338         * tests/test-unistd.c: New file.
67339
67340         * modules/time-tests: New file.
67341         * tests/test-time.c: New file.
67342
67343         * modules/sysexits-tests: New file.
67344         * tests/test-sysexits.c: New file.
67345
67346         * modules/sys_time-tests: New file.
67347         * tests/test-sys_time.c: New file.
67348
67349         * modules/sys_stat-tests: New file.
67350         * tests/test-sys_stat.c: New file.
67351
67352         * modules/sys_socket-tests: New file.
67353         * tests/test-sys_socket.c: New file.
67354
67355         * modules/sys_select-tests: New file.
67356         * tests/test-sys_select.c: New file.
67357
67358         * modules/string-tests: New file.
67359         * tests/test-string.c: New file.
67360
67361         * modules/stdbool-tests: New file.
67362         * tests/test-stdbool.c: New file.
67363
67364         * modules/netinet_in-tests: New file.
67365         * tests/test-netinet_in.c: New file.
67366
67367         * modules/inttypes-tests: New file.
67368         * tests/test-inttypes.c: New file.
67369
67370         * modules/fcntl-tests: New file.
67371         * tests/test-fcntl.c: New file.
67372
67373         * modules/byteswap-tests: New file.
67374         * tests/test-byteswap.c: New file.
67375
67376         * modules/arpa_inet-tests: New file.
67377         * tests/test-arpa_inet.c: New file.
67378
67379 2007-02-17  Bruno Haible  <bruno@clisp.org>
67380
67381         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67382         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67383         if the corresponding module is not enabled. Emit link warnings if
67384         the function is used nevertheless.
67385         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67386         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67387         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67388         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67389         * modules/inttypes (Depends-on): Add link-warning.
67390         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67391         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67392         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67393         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67394         * modules/imaxdiv (configure.ac): Likewise.
67395         * modules/strtoimax (configure.ac): Likewise.
67396         * modules/strtoumax (configure.ac): Likewise.
67397
67398 2007-02-17  Bruno Haible  <bruno@clisp.org>
67399
67400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67401         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67402         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67403         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67404
67405 2007-02-17  Bruno Haible  <bruno@clisp.org>
67406
67407         * modules/link-warning: New file.
67408         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67409         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67410         * modules/string (Depends-on): Add link-warning.
67411         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67412         string.h.
67413         * MODULES.html.sh (Support for building libraries and executables): Add
67414         link-warning.
67415
67416 2007-02-17  Bruno Haible  <bruno@clisp.org>
67417
67418         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67419         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67420         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67421         long lines.
67422
67423 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67424             Bruno Haible  <bruno@clisp.org>
67425
67426         * modules/tmpfile: New file.
67427         * lib/tmpfile.c: New file.
67428         * m4/tmpfile.m4: New file.
67429         * MODULES.html.sh (func_all_modules): New section "Input/output".
67430
67431 2007-02-15  Bruno Haible  <bruno@clisp.org>
67432
67433         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67434         (supports_delete_on_close): New function.
67435         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67436
67437 2007-02-14  Bruno Haible  <bruno@clisp.org>
67438
67439         * modules/mbspcasecmp-tests: New file.
67440         * tests/test-mbspcasecmp.sh: New file.
67441         * tests/test-mbspcasecmp.c: New file.
67442
67443         New module mbspcasecmp.
67444         * modules/mbspcasecmp: New file.
67445         * lib/mbspcasecmp.c: New file.
67446         * lib/string_.h (strncasecmp): Change warning message.
67447         (mbspcasecmp): New declaration.
67448         * m4/mbspcasecmp.m4: New file.
67449         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67450         GNULIB_MBSPCASECMP.
67451         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67452         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67453
67454 2007-02-14  Bruno Haible  <bruno@clisp.org>
67455
67456         * modules/mbsncasecmp-tests: New file.
67457         * tests/test-mbsncasecmp.sh: New file.
67458         * tests/test-mbsncasecmp.c: New file.
67459
67460         New module mbsncasecmp.
67461         * modules/mbsncasecmp: New file.
67462         * lib/mbsncasecmp.c: New file.
67463         * lib/string_.h (mbsncasecmp): New declaration.
67464         * m4/mbsncasecmp.m4: New file.
67465         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67466         GNULIB_MBSNCASECMP.
67467         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67468         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67469
67470 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67471
67472         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67473         Verify that it doesn't overlap with our flags.
67474         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67475         do not have the desired effect in multibyte locales; instead, use
67476         mbscasecmp.
67477         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67478         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67479         we don't require GNU fnmatch ourselves (if our users require it, they
67480         should do so explicitly).
67481
67482         Fix regex code so it doesn't rely on strcasecmp.
67483         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67484         Otherwise, include gnulib's langinfo.h.
67485         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67486         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67487         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67488         * modules/regex (FILES): Remove m4/codeset.m4.
67489         (Depends-on): Add localcharset.  Remove strcase.
67490
67491 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67492
67493         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67494         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67495
67496 2007-02-13  Bruno Haible  <bruno@clisp.org>
67497
67498         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67499         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67500
67501 2007-02-12  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67504         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67505         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67506         time warning rather than a link error.
67507
67508 2007-02-12  Bruno Haible  <bruno@clisp.org>
67509
67510         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67511         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67513
67514 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67515
67516         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67517         args, not 2.
67518
67519 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67520
67521         New module 'time', so that apps can include <time.h> as per
67522         POSIX and GNU instead of separate include files like time_r.h
67523         and timegm.h.  This implementation tries out a simpler approach
67524         for replacing decls in standard include files (as compared to
67525         the string module), somewhat as an experiment.
67526
67527         * config/srclist.txt: Comment out mktime.c for now.
67528         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67529         since it doesn't apply any more.  Use generic wording instead.
67530         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67531         'time'.
67532         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67533         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67534         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67535         Don't include <sys/types.h>; no longer needed since we assume C89.
67536         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67537         * lib/strftime.c: Likewise.
67538         * lib/time_r.c: Likewise.
67539         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67540         * lib/nanosleep.c: Include <time.h> first, to check interface.
67541         * lib/strptime.c: Likewise.
67542         * lib/time_r.c: Likewise.
67543         * lib/timegm.c: Likewise.
67544         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67545         needed.
67546         * lib/timegm.c: Don't include timegm.h; no longer needed.
67547         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67548         time.h now handles any problems in that area.
67549         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67550         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67551         that time.h defines struct timespec.
67552         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67553         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67554         handles that.
67555         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67556         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67557         needed.  Set REPLACE_LOCALTIME.
67558         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67559         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67560         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67561         nanosleep; time_h.m4 now does that.  Don't require
67562         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67563         module handles this now.
67564         * modules/getdate (Depends-on): Remove timespec.  Add time.
67565         * modules/nanosleep (Depends-on): Likewise.
67566         * modules/stat-time (Depends-on): Likewise.
67567         * modules/nanosleep (Include): Include time.h, not timespec.h.
67568         * modules/strptime (Files): Remove lib/strptime.h.
67569         (Depends-on): Add extensions, time.
67570         (Include): Include time.h, not strptime.h.
67571         * modules/time_r (Files): Remove lib/time_r.h.
67572         (Depends-on): Add time.
67573         (Include): Include time.h, not time_r.h.
67574         * modules/timegm: Likewise.
67575         * modules/timespec (Description): Now does timespec-related decls
67576         of our own, instead of struct timespec itself.
67577         (Depends-on): Add time; remove extensions.
67578         (Maintainer): Add self.
67579         * modules/utimecmp (Depends-on): Add time; remove timespec.
67580         * modules/utimens (Depends-on): Likewise.
67581         * modules/xnanosleep (Depends-on): Likewise.
67582
67583 2007-02-11  Bruno Haible  <bruno@clisp.org>
67584
67585         * lib/c-strstr.c: Include allocsa.h.
67586         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67587         * lib/c-strcasestr.c: Include allocsa.h.
67588         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67589         * lib/strcasestr.c: Include allocsa.h.
67590         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67591         * lib/mbsstr.c: Include allocsa.h.
67592         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67593         allocsa/freesa instead of malloc/free.
67594         * lib/mbscasestr.c: Include allocsa.h.
67595         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67596         allocsa/freesa instead of malloc/free.
67597         * modules/c-strstr (Depends-on): Add allocsa.
67598         * modules/c-strcasestr (Depends-on): Likewise.
67599         * modules/strcasestr (Depends-on): Likewise.
67600         * modules/mbsstr (Depends-on): Likewise.
67601         * modules/mbscasestr (Depends-on): Likewise.
67602
67603 2007-02-11  Bruno Haible  <bruno@clisp.org>
67604
67605         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67606
67607         * modules/mbsspn-tests: New file.
67608         * tests/test-mbsspn.sh: New file.
67609         * tests/test-mbsspn.c: New file.
67610
67611 2007-02-11  Bruno Haible  <bruno@clisp.org>
67612
67613         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67614
67615         * modules/mbspbrk-tests: New file.
67616         * tests/test-mbspbrk.sh: New file.
67617         * tests/test-mbspbrk.c: New file.
67618
67619 2007-02-11  Bruno Haible  <bruno@clisp.org>
67620
67621         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67622         unneeded cast.
67623
67624         * modules/mbscspn-tests: New file.
67625         * tests/test-mbscspn.sh: New file.
67626         * tests/test-mbscspn.c: New file.
67627
67628 2007-02-11  Bruno Haible  <bruno@clisp.org>
67629
67630         * modules/mbscasecmp-tests: New file.
67631         * tests/test-mbscasecmp.sh: New file.
67632         * tests/test-mbscasecmp.c: New file.
67633
67634 2007-02-11  Bruno Haible  <bruno@clisp.org>
67635
67636         Ensure O(n) worst-case complexity of mbscasestr.
67637         * lib/mbscasestr.c: Include stdbool.h.
67638         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67639         functions.
67640         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67641         the bookkeeping indicates that it's worth it.
67642         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67643
67644         * modules/mbscasestr-tests: New file.
67645         * tests/test-mbscasestr1.c: New file.
67646         * tests/test-mbscasestr2.sh: New file.
67647         * tests/test-mbscasestr2.c: New file.
67648         * tests/test-mbscasestr3.sh: New file.
67649         * tests/test-mbscasestr3.c: New file.
67650         * tests/test-mbscasestr4.sh: New file.
67651         * tests/test-mbscasestr4.c: New file.
67652         * m4/locale-tr.m4: New file.
67653
67654 2007-02-11  Bruno Haible  <bruno@clisp.org>
67655
67656         Ensure O(n) worst-case complexity of mbsstr.
67657         * lib/mbsstr.c: Include stdbool.h.
67658         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67659         functions.
67660         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67661         bookkeeping indicates that it's worth it.
67662         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67663
67664         * modules/mbsstr-tests: New file.
67665         * tests/test-mbsstr1.c: New file.
67666         * tests/test-mbsstr2.sh: New file.
67667         * tests/test-mbsstr2.c: New file.
67668         * tests/test-mbsstr3.sh: New file.
67669         * tests/test-mbsstr3.c: New file.
67670         * m4/locale-fr.m4: New file.
67671
67672 2007-02-11  Bruno Haible  <bruno@clisp.org>
67673
67674         * lib/mbsrchr.c (mbsrchr): Fix bug.
67675
67676         * modules/mbsrchr-tests: New file.
67677         * tests/test-mbsrchr.sh: New file.
67678         * tests/test-mbsrchr.c: New file.
67679
67680 2007-02-11  Bruno Haible  <bruno@clisp.org>
67681
67682         * lib/mbschr.c (mbschr): Fix bug.
67683
67684         * modules/mbschr-tests: New file.
67685         * tests/test-mbschr.sh: New file.
67686         * tests/test-mbschr.c: New file.
67687         * m4/locale-zh.m4: New file.
67688
67689 2007-02-11  Bruno Haible  <bruno@clisp.org>
67690
67691         Support for copying multibyte string iterators.
67692         * lib/mbiter.h: Include <string.h>.
67693         (mbiter_multi_copy): New function.
67694         (mbi_copy): New macro.
67695         * lib/mbuiter.h: Include <string.h>.
67696         (mbuiter_multi_copy): New function.
67697         (mbui_copy): New macro.
67698
67699 2007-02-11  Bruno Haible  <bruno@clisp.org>
67700
67701         New module mbslen.
67702         * modules/mbslen: New file.
67703         * lib/mbslen.c: New file.
67704         * lib/string_.h (mbslen): New declaration.
67705         * m4/mbslen.m4: New file.
67706         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67707         GNULIB_MBSLEN.
67708         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67709         * MODULES.html.sh (Internationalization functions): Add mbslen.
67710
67711 2007-02-11  Bruno Haible  <bruno@clisp.org>
67712
67713         Ensure O(n) worst-case complexity of strcasestr substitute.
67714         * lib/strcasestr.c: Include stdbool.h.
67715         (knuth_morris_pratt): New function.
67716         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67717         bookkeeping indicates that it's worth it.
67718         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67719
67720         * modules/strcasestr-tests: New file.
67721         * tests/test-strcasestr.c: New file.
67722
67723 2007-02-11  Bruno Haible  <bruno@clisp.org>
67724
67725         Ensure O(n) worst-case complexity of c_strcasestr.
67726         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67727         (knuth_morris_pratt): New function.
67728         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67729         the bookkeeping indicates that it's worth it.
67730         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67731
67732         * modules/c-strcasestr-tests: New file.
67733         * tests/test-c-strcasestr.c: New file.
67734
67735 2007-02-11  Bruno Haible  <bruno@clisp.org>
67736
67737         Ensure O(n) worst-case complexity of c_strstr.
67738         * lib/c-strstr.c: Include stdbool.h, string.h.
67739         (knuth_morris_pratt): New function.
67740         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67741         bookkeeping indicates that it's worth it.
67742         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67743
67744         * lib/c-strstr.c: Complete rewrite for maintainability.
67745
67746         * modules/c-strstr-tests: New file.
67747         * tests/test-c-strstr.c: New file.
67748
67749 2007-02-11  Bruno Haible  <bruno@clisp.org>
67750
67751         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67752         5.2.1 and earlier, whereby \055 was treated just like the range
67753         delimiter '-'.
67754         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67755
67756 2007-02-08  Bruno Haible  <bruno@clisp.org>
67757
67758         * modules/regex (Depends-on): Add stdbool.
67759         Reported by Dalibor Topic <robilad@kaffe.org>.
67760
67761 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67762
67763         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67764         Prefer returning from main to exiting from it.
67765         Remove unnecessary parens after sizeof.
67766
67767 2007-02-05  Bruno Haible  <bruno@clisp.org>
67768
67769         New module mbssep.
67770         * modules/mbssep: New file.
67771         * lib/mbssep.c: New file.
67772         * lib/string_.h (strsep): Add a conditional link warning.
67773         (mbssep): New declaration.
67774         * m4/mbssep.m4: New file.
67775         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67776         GNULIB_MBSSEP.
67777         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67778         * MODULES.html.sh (Internationalization functions): Add mbssep.
67779
67780 2007-02-05  Bruno Haible  <bruno@clisp.org>
67781
67782         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67783         Optimize search in case of 1 delimiter.
67784
67785 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67786
67787         * lib/acl.h: Include sys/types.h before sys/acl.h.
67788
67789 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67790
67791         Merge upstream fix for glibc bugzilla #3957:
67792
67793         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67794
67795         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67796         bit for RE_HAT_LISTS_NOT_NEWLINE.
67797         (build_charclass_op): Remove bogus comment.
67798
67799 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67800
67801         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67802
67803 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67804
67805         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67806         * lib/memmem.c [!defined _LIBC]: Include config.h.
67807
67808 2007-02-04  Bruno Haible  <bruno@clisp.org>
67809
67810         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67811         warning message.
67812
67813 2007-02-04  Bruno Haible  <bruno@clisp.org>
67814
67815         New module mbstok_r.
67816         * modules/mbstok_r: New file.
67817         * lib/mbstok_r.c: New file.
67818         * lib/string_.h (strtok_r): Change argument names to match the
67819         comments. Add a conditional link warning.
67820         (mbstok_r): New declaration.
67821         * m4/mbstok_r.m4: New file.
67822         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67823         GNULIB_MBSTOK_R.
67824         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67825         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67826
67827 2007-02-04  Bruno Haible  <bruno@clisp.org>
67828
67829         New module mbsspn.
67830         * modules/mbsspn: New file.
67831         * lib/mbsspn.c: New file.
67832         * lib/string_.h (strspn): Add a conditional link warning.
67833         (mbsspn): New declaration.
67834         * m4/mbsspn.m4: New file.
67835         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67836         GNULIB_MBSSPN.
67837         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67838         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67839
67840 2007-02-04  Bruno Haible  <bruno@clisp.org>
67841
67842         New module mbspbrk.
67843         * modules/mbspbrk: New file.
67844         * lib/mbspbrk.c: New file.
67845         * lib/string_.h (strpbrk): Add a conditional link warning.
67846         (mbspbrk): New declaration.
67847         * m4/mbspbrk.m4: New file.
67848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67849         GNULIB_MBSPBRK.
67850         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67851         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67852
67853 2007-02-04  Bruno Haible  <bruno@clisp.org>
67854
67855         New module mbscspn.
67856         * modules/mbscspn: New file.
67857         * lib/mbscspn.c: New file.
67858         * lib/string_.h (strcspn): Add a conditional link warning.
67859         (mbscspn): New declaration.
67860         * m4/mbscspn.m4: New file.
67861         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67862         GNULIB_MBSCSPN.
67863         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67864         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67865
67866 2007-02-04  Bruno Haible  <bruno@clisp.org>
67867
67868         New module mbscasestr, reduced goal of strcasestr.
67869         * modules/mbscasestr: New file.
67870         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67871         (mbscasestr): Renamed from strcasestr.
67872         * lib/strcasestr.c: Don't include mbuiter.h.
67873         (strcasestr): Remove support for multibyte locales.
67874         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67875         Change the conditional link warning.
67876         (mbscasestr): New declaration.
67877         * m4/mbscasestr.m4: New file.
67878         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67879         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67880         REPLACE_STRCASESTR.
67881         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67883         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67884         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67885         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67886         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67887         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67888         (Depends-on): Remove mbuiter.
67889         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67890
67891 2007-02-04  Bruno Haible  <bruno@clisp.org>
67892
67893         Simplify handling of strncasecmp.
67894         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67895         the conditional link warning.
67896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67897         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67898         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67899         * modules/strcase (configure.ac): Don't invoke
67900         gl_STRING_MODULE_INDICATOR.
67901         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67902
67903 2007-02-04  Bruno Haible  <bruno@clisp.org>
67904
67905         New module mbscasecmp, reduced goal of strcasecmp.
67906         * modules/mbscasecmp: New file.
67907         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67908         (mbscasecmp): Renamed from strcasecmp.
67909         * lib/strcasecmp.c: Don't include mbuiter.h.
67910         (strcasecmp): Remove support for multibyte locales.
67911         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67912         Change the conditional link warning.
67913         (mbscasecmp): New declaration.
67914         * m4/mbscasecmp.m4: New file.
67915         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67916         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67917         REPLACE_STRCASECMP.
67918         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67919         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67920         GNULIB_MBSCASECMP.
67921         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67922         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67923         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67924         (Depends-on): Remove mbuiter.
67925         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67926
67927 2007-02-04  Bruno Haible  <bruno@clisp.org>
67928
67929         New module mbsstr. Remove module strstr.
67930         * modules/mbsstr: New file.
67931         * modules/strstr: Remove file.
67932         * lib/mbsstr.c: Renamed from lib/strstr.c.
67933         (mbsstr): Renamed from strstr.
67934         * lib/string_.h (strstr): Remove declaration. Change the conditional
67935         link warning.
67936         (mbsstr): New declaration.
67937         * m4/mbsstr.m4: New file.
67938         * m4/strstr.m4: Remove file.
67939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67940         REPLACE_STRSTR.
67941         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67942         Don't initialize GNULIB_STRSTR.
67943         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67944         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67945         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67946         (Support for systems lacking ANSI C 89): Remove strstr.
67947
67948 2007-02-04  Bruno Haible  <bruno@clisp.org>
67949
67950         New module mbsrchr.
67951         * modules/mbsrchr: New file.
67952         * lib/mbsrchr.c: New file.
67953         * lib/string_.h (strrchr): Add a conditional link warning.
67954         (mbsrchr): New declaration.
67955         * m4/mbsrchr.m4: New file.
67956         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67957         GNULIB_MBSRCHR.
67958         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67959         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67960
67961 2007-02-04  Bruno Haible  <bruno@clisp.org>
67962
67963         New module mbschr.
67964         * modules/mbschr: New file.
67965         * lib/mbschr.c: New file.
67966         * lib/string_.h (strchr): Add a conditional link warning.
67967         (mbschr): New declaration.
67968         * m4/mbschr.m4: New file.
67969         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67970         GNULIB_MBSCHR.
67971         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67972         * MODULES.html.sh (Internationalization functions): Add mbschr.
67973
67974 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67975
67976         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67977
67978         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67979
67980 2007-02-04  Bruno Haible  <bruno@clisp.org>
67981
67982         New module description section 'configure.ac-early'.
67983         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67984         (func_get_autoconf_early_snippet): New function.
67985         (func_import, func_create_testdir): Use it. Remove special cases for
67986         modules 'extensions' and 'lock'.
67987         * modules/extensions (configure.ac-early): Require
67988         gl_USE_SYSTEM_EXTENSIONS.
67989         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67990
67991 2007-02-04  Bruno Haible  <bruno@clisp.org>
67992
67993         Make use of gcj-4.3's -fsource and -ftarget option.
67994         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67995         and if so try the options -fsource and -ftarget.
67996         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67997         source_version, ftarget_option, target_version arguments.
67998         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67999         (is_envjavac_oldgcj_14_14_usable): Renamed from
68000         is_envjavac_gcj_14_14_usable.
68001         (is_envjavac_oldgcj_14_13_usable): Renamed from
68002         is_envjavac_gcj_14_13_usable.
68003         (is_gcj_present): Update.
68004         (is_gcj_43, is_gcj43_usable): New functions.
68005         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68006         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68007         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68008         try the options -fsource and -ftarget.
68009
68010 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68013         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68014         larger value.
68015
68016 2007-02-03  Jim Meyering  <jim@meyering.net>
68017
68018         Give tools a better chance to allocate space for very large buffers.
68019         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68020
68021         Make pwd and readlink work also when run with an unreadable parent dir
68022         on systems with openat support.
68023         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68024         provided getcwd function, even when we have openat support.
68025         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68026
68027 2007-02-02  Bruno Haible  <bruno@clisp.org>
68028
68029         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68030         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68031         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68032         portability problems if one of these functions is only used on specific
68033         platforms.
68034         Reported by Paul Eggert.
68035
68036 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68037
68038         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68039         is causing more trouble than it's curing.
68040         * lib/regex_internal.h (__mempcpy): Remove.
68041         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68042         (and make the code a tad smaller to boot).
68043         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68044
68045 2007-02-02  Jim Meyering  <jim@meyering.net>
68046
68047         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68048         section, not in the Makefile.am: one.
68049
68050 2007-02-02  Eric Blake  <ebb9@byu.net>
68051
68052         * lib/strchrnul.c: Always include config.h first.
68053
68054         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68055         gnulib strstr is not necessary here.
68056
68057 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68058
68059         * m4/socklen.m4: Fix typo.
68060
68061 2007-02-02  Eric Blake  <ebb9@byu.net>
68062
68063         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68064         * modules/netinet_in (Makefile.am): Likewise.
68065
68066 2007-02-01  Bruno Haible  <bruno@clisp.org>
68067
68068         * lib/string_.h (GL_LINK_WARNING): New macro.
68069         (strcasecmp, strstr, strcasestr): If provided by the system,
68070         conditionally define as a macro that leads to a warning instead of to
68071         an error.
68072         (strncasecmp): Conditionally define as a macro that leads to a warning.
68073
68074 2007-02-01  Karl Berry  <karl@gnu.org>
68075
68076         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68077
68078 2007-02-01  Bruno Haible  <bruno@clisp.org>
68079
68080         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68081         renamings.
68082
68083 2007-02-01  Eric Blake  <ebb9@byu.net>
68084
68085         * modules/regex (Depends-on): Revert dependence on mempcpy.
68086         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68087         module's definition of mempcpy.
68088         Reported by Paul Eggert.
68089
68090 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68091
68092         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68093         the symbol XYZ before redefining it.  This fixes a problem with
68094         programs that don't use XYZ, when compiled on systems that define
68095         XYZ to something else.
68096
68097 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68098
68099         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68100         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68101         writeable to group or other and (2) is intended to have a special
68102         mode bit that is set or cleared.  In such a case, the directory
68103         should be neither group- nor other-writeable until the special
68104         mode bits are right.
68105
68106 2007-01-31  Eric Blake  <ebb9@byu.net>
68107
68108         * modules/mountlist (Depends-on): Add strstr.
68109
68110         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68111         bug.
68112         * modules/string (Makefile.am): Remove redundant replacement.
68113         * modules/regex (Depends-on): Add mempcpy.
68114
68115 2007-01-31  Bruno Haible  <bruno@clisp.org>
68116
68117         New module description field 'Link'.
68118         * gnulib-tool (func_usage): Document --extract-link-directive.
68119         (sed_extract_prog): Recognize 'Link' directive.
68120         (func_get_link_directive): New function.
68121         (func_import): Show summary of link directives.
68122         Handle --extract-link-directive option.
68123         * modules/acl (Link): New section.
68124         * modules/clock-time (Link): New section.
68125         * modules/euidaccess (Link): New section.
68126         * modules/gettext (Link): New section.
68127         * modules/iconv (Link): New section.
68128         * modules/lock (Link): New section.
68129         * modules/nanosleep (Link): New section.
68130         * modules/readline (Link): New section.
68131
68132 2007-01-27  Bruno Haible  <bruno@clisp.org>
68133
68134         Enforce the use of gnulib modules for unportable <string.h> functions.
68135         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68136         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68137         (gl_HEADER_STRING_H_BODY): Require it.
68138         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68139         the symbol XYZ to one that gives a link error.
68140         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68141         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68142         * modules/mempcpy (configure.ac): Likewise.
68143         * modules/memrchr (configure.ac): Likewise.
68144         * modules/stpcpy (configure.ac): Likewise.
68145         * modules/stpncpy (configure.ac): Likewise.
68146         * modules/strcase (configure.ac): Likewise.
68147         * modules/strcasestr (configure.ac): Likewise.
68148         * modules/strchrnul (configure.ac): Likewise.
68149         * modules/strdup (configure.ac): Likewise.
68150         * modules/strndup (configure.ac): Likewise.
68151         * modules/strnlen (configure.ac): Likewise.
68152         * modules/strpbrk (configure.ac): Likewise.
68153         * modules/strsep (configure.ac): Likewise.
68154         * modules/strstr (configure.ac): Likewise.
68155         * modules/strtok_r (configure.ac): Likewise.
68156
68157 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68158
68159         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68160
68161 2007-01-30  Jim Meyering  <jim@meyering.net>
68162
68163         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68164
68165 2007-01-29  Bruno Haible  <bruno@clisp.org>
68166
68167         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68168         * lib/execute.c: Likewise.
68169         * lib/pipe.c: Likewise.
68170         * lib/printf-args.h: Likewise.
68171         * lib/printf-args.c: Likewise.
68172         * lib/printf-parse.c: Likewise.
68173         * lib/vasnprintf.c: Likewise.
68174
68175 2007-01-29  Eric Blake  <ebb9@byu.net>
68176
68177         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68178         declaration.
68179
68180 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68181
68182         * lib/strptime.h (strptime): Use 'restrict' for args where
68183         POSIX requires this.
68184         * lib/strptime.c (strptime): Likewise.
68185         Change license notice from LGPL to GPL, since gnulib-tool will
68186         change this as needed.
68187         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68188         defined.
68189         Include "strptime.h" first, to check interface.
68190         Do not #undef _LIBC and _NL_CURRENT.
68191         Do not include <stdlib.h>; no longer needed.
68192         Include "time_r.h" and declare ptime_locale_status
68193         only if _LIBC is not defined.
68194         (__P): Remove unused macro.
68195         (match_string): Bring back glibc version, but use it only if _LIBC
68196         is defined.
68197         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68198         Remove unnecessary assertion and abort() call.
68199         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68200         * m4/strptime.m4: Fix serial number comment.
68201         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68202         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68203         (Depends-on): Add time_r.
68204
68205 2007-01-29  Bruno Haible  <bruno@clisp.org>
68206
68207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68208         strptime.
68209         * modules/strptime (Depends-on): Add stdbool.
68210         * lib/strptime.h: Include <time.h> always. Add comments.
68211
68212 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68213
68214         * modules/strptime: New file.
68215         * lib/strptime.h: New file.
68216         * lib/strptime.c: New file.
68217         * m4/strptime.m4: New file.
68218
68219 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68220
68221         * MODULES.html.sh: New module mpsort.
68222         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68223
68224         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68225         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68226         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68227         All uses changed.
68228         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68229         All uses changed.
68230         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68231         to _Restrict_.
68232         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68233         the parameter matches the prototype.
68234
68235 2007-01-28  Jim Meyering  <jim@meyering.net>
68236
68237         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68238         sys/time.h here, reverting that part of the previous patch:
68239         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68240
68241 2007-01-28  Bruno Haible  <bruno@clisp.org>
68242
68243         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68244         value of $(SYS_TIME_H).
68245         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68246         remove it conditionally, too. [added by Jim Meyering]
68247         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68248         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68249         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68250         GETTIMEOFDAY_REPLACEMENT to 1.
68251
68252 2007-01-28  Bruno Haible  <bruno@clisp.org>
68253
68254         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68255         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68257         Set UNISTD_H instead of UNISTD_H2.
68258         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68259
68260 2007-01-28  Bruno Haible  <bruno@clisp.org>
68261
68262         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68263         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68264
68265 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68266
68267         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68268         (func_create_testdir): Ensure C locale for `grep' and `tr'
68269         character ranges.
68270         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68271         ACLOCAL_AMFLAGS parsing state machine.
68272
68273 2007-01-27  Bruno Haible  <bruno@clisp.org>
68274
68275         * modules/unistr/base: Update.
68276
68277 2007-01-27  Bruno Haible  <bruno@clisp.org>
68278
68279         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68280         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68281         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68282         modules/unistr/u32-mbtouc.
68283         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68284         * lib/unistr.h: Update.
68285         * lib/linebreak.c: Update.
68286         * modules/unistr/u32-mbtouc: Renamed from
68287         modules/unistr/u32-mbtouc-safe.
68288         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68289         * lib/unistr.h: Update.
68290         * lib/unistr/u32-to-u8.c: Update.
68291         * lib/unistr/u32-to-u16.c: Update.
68292
68293 2007-01-27  Bruno Haible  <bruno@clisp.org>
68294
68295         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68296         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68297         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68298         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68299         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68300         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68301         modules/unistr/u16-mbtouc.
68302         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68303         * lib/unistr.h: Update.
68304         * lib/linebreak.c: Update.
68305         * modules/linebreak: Update.
68306         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68307         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68308         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68309         * modules/unistr/u16-mbtouc: Renamed from
68310         modules/unistr/u16-mbtouc-safe.
68311         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68312         * lib/unistr.h: Update.
68313         * lib/unistr/u16-to-u8.c: Update.
68314         * modules/unistr/u16-to-u8: Update.
68315         * lib/unistr/u16-to-u32.c: Update.
68316         * modules/unistr/u16-to-u32: Update.
68317
68318 2007-01-27  Bruno Haible  <bruno@clisp.org>
68319
68320         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68321         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68322         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68323         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68324         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68325         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68326         modules/unistr/u8-mbtouc.
68327         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68328         * lib/unistr.h: Update.
68329         * lib/striconveh.c: Update.
68330         * modules/striconveh: Update.
68331         * lib/linebreak.c: Update.
68332         * modules/linebreak: Update.
68333         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68334         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68335         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68336         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68337         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68338         * lib/unistr.h: Update.
68339         * lib/striconveh.c: Update.
68340         * modules/striconveh: Update.
68341         * lib/unistr/u8-to-u16.c: Update.
68342         * modules/unistr/u8-to-u16: Update.
68343         * lib/unistr/u8-to-u32.c: Update.
68344         * modules/unistr/u8-to-u32: Update.
68345
68346 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68347
68348         Sync from Libtool.
68349         * lib/argz.c: Do not include strings.h nor memory.h, include
68350         string.h unconditionally.  Patch by Simon Josefsson.
68351
68352 2007-01-27  Bruno Haible  <bruno@clisp.org>
68353
68354         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68355         from gl_HEADER_STRING_H_BODY.
68356         (gl_HEADER_STRING_H_BODY): Require it.
68357         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68358         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68359         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68360         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68361         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68362         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68363         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68364         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68365         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68366         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68367         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68368         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68369         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68370         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68371         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68372
68373 2007-01-27  Bruno Haible  <bruno@clisp.org>
68374
68375         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68376         check_PROGRAMS into noinst_PROGRAMS.
68377         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68378         check_PROGRAMS in this case.
68379         (func_import): Set for_test to false.
68380         (func_create_testdir): Set for_test to true.
68381
68382 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68383             Bruno Haible  <bruno@clisp.org>
68384
68385         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68386         (Depends-on): Add string.
68387         (Includes): Use <string.h> instead of strcasestr.h.
68388         * modules/string (Makefile.am): Also substitute the value of
68389         REPLACE_STRCASESTR.
68390         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68391         assume strcasestr is declared in <string.h> not <strings.h>. Also
68392         set REPLACE_STRCASESTR.
68393         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68394         REPLACE_STRCASESTR.
68395         * lib/strcasestr.h: Remove file.
68396         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68397         * lib/string_.h (strcasestr): New declaration.
68398
68399 2007-01-27  Bruno Haible  <bruno@clisp.org>
68400
68401         * lib/string_.h: Use 'extern'.
68402
68403 2007-01-27  Jim Meyering  <jim@meyering.net>
68404
68405         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68406         of set-but-not-used local, "q".
68407
68408         * lib/mempcpy.c: Include <config.h> before <string.h>.
68409         This fixes a compilation error on HP-UX, due to the system's
68410         "restrict"-using mempcpy prototype.
68411
68412 2007-01-26  Bruno Haible  <bruno@clisp.org>
68413
68414         Small optimization.
68415         * lib/javacomp.c: Include c-strstr.h.
68416          (is_envjavac_gcj): Use c_strstr instead of strstr.
68417         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68418
68419 2007-01-26  Bruno Haible  <bruno@clisp.org>
68420
68421         * MODULES.html.sh (Unicode string functions): Add the new modules.
68422
68423         * modules/uniconv/u32-strconv-to-locale: New file.
68424         * lib/uniconv/u32-strconv-to-locale.c: New file.
68425
68426         * modules/uniconv/u16-strconv-to-locale: New file.
68427         * lib/uniconv/u16-strconv-to-locale.c: New file.
68428
68429         * modules/uniconv/u8-strconv-to-locale: New file.
68430         * lib/uniconv/u8-strconv-to-locale.c: New file.
68431
68432         * modules/uniconv/u32-strconv-from-locale: New file.
68433         * lib/uniconv/u32-strconv-from-locale.c: New file.
68434
68435         * modules/uniconv/u16-strconv-from-locale: New file.
68436         * lib/uniconv/u16-strconv-from-locale.c: New file.
68437
68438         * modules/uniconv/u8-strconv-from-locale: New file.
68439         * lib/uniconv/u8-strconv-from-locale.c: New file.
68440
68441         * modules/uniconv/u32-strconv-to-enc: New file.
68442         * lib/uniconv/u32-strconv-to-enc.c: New file.
68443         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68444         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68445
68446         * modules/uniconv/u16-strconv-to-enc: New file.
68447         * lib/uniconv/u16-strconv-to-enc.c: New file.
68448         * lib/uniconv/u-strconv-to-enc.h: New file.
68449         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68450         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68451
68452         * modules/uniconv/u8-strconv-to-enc: New file.
68453         * lib/uniconv/u8-strconv-to-enc.c: New file.
68454         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68455         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68456
68457         * modules/uniconv/u32-strconv-from-enc: New file.
68458         * lib/uniconv/u32-strconv-from-enc.c: New file.
68459         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68460         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68461
68462         * modules/uniconv/u16-strconv-from-enc: New file.
68463         * lib/uniconv/u16-strconv-from-enc.c: New file.
68464         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68465         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68466
68467         * modules/uniconv/u8-strconv-from-enc: New file.
68468         * lib/uniconv/u8-strconv-from-enc.c: New file.
68469         * lib/uniconv/u-strconv-from-enc.h: New file.
68470         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68471         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68472
68473         * modules/uniconv/u32-conv-from-enc: New file.
68474         * lib/uniconv/u32-conv-from-enc.c: New file.
68475         * modules/uniconv/u32-conv-from-enc-tests: New file.
68476         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68477
68478         * modules/uniconv/u16-conv-from-enc: New file.
68479         * lib/uniconv/u16-conv-from-enc.c: New file.
68480         * lib/uniconv/u-conv-from-enc.h: New file.
68481         * modules/uniconv/u16-conv-from-enc-tests: New file.
68482         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68483
68484         * modules/uniconv/u8-conv-from-enc: New file.
68485         * lib/uniconv/u8-conv-from-enc.c: New file.
68486         * modules/uniconv/u8-conv-from-enc-tests: New file.
68487         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68488
68489         * modules/uniconv/base: New file.
68490         * lib/uniconv.h: New file.
68491
68492 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68493
68494         * doc/gnulib-tool.texi (Initial import): Update to match current
68495         behavior with strdup module.
68496         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68497         * lib/memmem.h: Remove; all uses removed.  This is now done
68498         by <string.h>.
68499         * lib/mempcpy.h: Likewise.
68500         * lib/memrchr.h: Likewise.
68501         * lib/stpcpy.h: Likewise.
68502         * lib/stpncpy.h: Likewise.
68503         * lib/strcase.h: Likewise.
68504         * lib/strchrnul.h: Likewise.
68505         * lib/strdup.h: Likewise.
68506         * lib/strndup.h: Likewise.
68507         * lib/strnlen.h: Likewise.
68508         * lib/strpbrk.h: Likewise.
68509         * lib/strsep.h: Likewise.
68510         * lib/strstr.h: Likewise.
68511         * lib/strtok_r.h: Likewise.
68512         * lib/string_.h: New file.
68513         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68514         Rely on <string.h> instead.
68515         * lib/canon-host.c: Likewise.
68516         * lib/chdir-long.c: Likewise.
68517         * lib/concatpath.c: Likewise.
68518         * lib/exclude.c: Likewise.
68519         * lib/fchdir.c: Likewise.
68520         * lib/getaddrinfo.c: Likewise.
68521         * lib/getcwd.c: Likewise.
68522         * lib/getsubopt.c: Likewise.
68523         * lib/glob.c: Likewise.
68524         * lib/hard-locale.c: Likewise.
68525         * lib/iconvme.c: Likewise.
68526         * lib/javacomp.c: Likewise.
68527         * lib/mempcpy.c: Likewise.
68528         * lib/memrchr.c: Likewise.
68529         * lib/regex_internal.h: Likewise.
68530         * lib/stpncpy.c: Likewise.
68531         * lib/strcasecmp.c: Likewise.
68532         * lib/strchrnul.c: Likewise.
68533         * lib/strdup.c: Likewise.
68534         * lib/striconv.c: Likewise.
68535         * lib/striconveh.c: Likewise.
68536         * lib/striconveha.c: Likewise.
68537         * lib/strncasecmp.c: Likewise.
68538         * lib/strndup.c: Likewise.
68539         * lib/strnlen.c: Likewise.
68540         * lib/strsep.c: Likewise.
68541         * lib/strstr.c: Likewise.
68542         * lib/strtok_r.c: Likewise.
68543         * lib/userspec.c: Likewise.
68544         * lib/w32spawn.h: Likewise.
68545         * lib/xstrndup.c: Likewise.
68546         * lib/mountlist.c (strstr): Remove decl.
68547         * m4/string_h.m4: New file.
68548         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68549         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68550         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68551         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68552         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68553         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68554         Set REPLACE_STRCASECMP if necessary.
68555         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68556         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68557         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68558         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68559         HAVE_DECL_STRDUP if necessary.
68560         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68561         since gl_FUNC_STRNDUP does that now.
68562         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68563         Check for decl here...
68564         (gl_PREREQ_STRNLEN): ... not here.
68565         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68566         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68567         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68568         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68569         necessary.
68570         * modules/string: New file.
68571         * modules/memmem (Files): Remove special-purpose include file.
68572         (Depends-on): Add string.
68573         (Include): Include <string.h>, not the removed file.
68574         * modules/mempcpy: Likewise.
68575         * modules/memrchr: Likewise.
68576         * modules/stpcpy: Likewise.
68577         * modules/stpncpy: Likewise.
68578         * modules/strcase: Likewise.
68579         * modules/strchrnul: Likewise.
68580         * modules/strdup: Likewise.
68581         * modules/strndup: Likewise.
68582         * modules/strnlen: Likewise.
68583         * modules/strpbrk: Likewise.
68584         * modules/strsep: Likewise.
68585         * modules/strstr: Likewise.
68586         * modules/strtok_r: Likewise.
68587         * tests/test-dirname.c: Don't include "strdup.h", since
68588         <string.h> now suffices.
68589         * tests/test-memmem.c: Don't include "memmem.h", since
68590         <string.h> now suffices.
68591
68592 2007-01-25  Bruno Haible  <bruno@clisp.org>
68593
68594         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68595         *resultp is 0.
68596
68597         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68598         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68599         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68600         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68601
68602         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68603         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68604         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68605         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68606         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68607         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68608
68609 2007-01-24  Bruno Haible  <bruno@clisp.org>
68610
68611         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68612         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68613         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68614         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68615         gl_FUNC_FTS_CORE.
68616         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68617         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68618         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68619         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68620         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68621         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68622         gl_FUNC_FCHOWNAT.
68623         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68624         gl_FUNC_STRFTIME.
68625         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68626         Reported by Ralf Wildenhues.
68627
68628 2007-01-24  Bruno Haible  <bruno@clisp.org>
68629
68630         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68631         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68632         gl_GETADDRINFO.
68633         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68634         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68635         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68636
68637 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68640         Don't use 'exit'; just return from 'main'.
68641         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68642
68643         * lib/fnmatch_.h: Readjust white space and comments to match
68644         glibc, to avoid spurious diffs.
68645
68646 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68647
68648         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68649         2004-12-01 change by Jakub Jelinek, since this code won't compile
68650         if !LIBC.  Problem reported by Bob Proulx.
68651
68652 2007-01-23  Bruno Haible  <bruno@clisp.org>
68653
68654         * lib/striconveh.c: Include c-strcaseeq.h.
68655         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68656         * modules/striconveh (Depends-on): Add c-strcaseeq.
68657
68658 2007-01-23  Bruno Haible  <bruno@clisp.org>
68659
68660         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68661
68662         * modules/c-strcaseeq: New file.
68663         * lib/c-strcaseeq.h: New file.
68664
68665         * modules/streq: New file.
68666         * lib/streq.h: New file.
68667
68668 2007-01-23  Bruno Haible  <bruno@clisp.org>
68669
68670         * modules/striconveha-tests: New file.
68671         * tests/test-striconveha.c: New file.
68672
68673         * lib/striconveha.h: Include <stdbool.h>.
68674         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68675         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68676         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68677         (mem_iconveha): New function.
68678         (str_iconveha_notranslit): Renamed from str_iconveha.
68679         (str_iconveha): New function.
68680         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68681         c-strcase.
68682
68683 2007-01-23  Bruno Haible  <bruno@clisp.org>
68684
68685         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68686         encodings without forgiving before trying any encoding with handler.
68687         (str_iconveha): Try all encodings without forgiving before trying any
68688         encoding with handler.
68689
68690 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68691
68692         Import the following changes from libc.
68693
68694         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68695
68696         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68697
68698         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68699
68700         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68701         normal_bracket label.
68702
68703         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68704
68705         [BZ #361]
68706         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68707         to normal_bracket after fetching the next character.
68708
68709 2007-01-22  Bruno Haible  <bruno@clisp.org>
68710
68711         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68712         argument.
68713         * lib/striconveh.c (iconv_carefully_1): New function.
68714         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68715         argument.
68716         (str_cd_iconveh): Update.
68717         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68718         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68719         * tests/test-striconveh.c (MAGIC): New macro.
68720         (new_offsets): New function.
68721         (main): Test call with and without offsets.
68722
68723 2007-01-22  Bruno Haible  <bruno@clisp.org>
68724
68725         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68726         * modules/sys_select (Makefile.am): Likewise.
68727         * modules/sys_socket (Makefile.am): Likewise.
68728         * modules/sys_time (Makefile.am): Likewise.
68729
68730 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68731
68732         * modules/gettimeofday (License): Change from GPL to LGPL, since
68733         gettimeofday is a library function.
68734
68735 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68736
68737         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68738
68739 2007-01-21  Bruno Haible  <bruno@clisp.org>
68740
68741         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68742
68743 2007-01-21  Bruno Haible  <bruno@clisp.org>
68744
68745         * modules/striconveha: New file.
68746         * lib/striconveha.h: New file.
68747         * lib/striconveha.c: New file.
68748         * MODULES.html.sh (Internationalization functions): Add striconveha.
68749         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68750         string.
68751         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68752
68753 2007-01-21  Bruno Haible  <bruno@clisp.org>
68754
68755         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68756         * lib/striconveh.c (str_iconveh): Likewise.
68757
68758 2007-01-21  Bruno Haible  <bruno@clisp.org>
68759
68760         * lib/striconveh.h (mem_iconveh): New declaration.
68761         * lib/striconveh.c (mem_iconveh): New function.
68762         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68763
68764 2007-01-21  Bruno Haible  <bruno@clisp.org>
68765
68766         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68767
68768         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68769         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68770         original result buffer.
68771         (str_cd_iconveh): Update.
68772         * tests/test-striconveh.c (main): Update.
68773
68774         * lib/striconv.h (mem_cd_iconv): Change specification.
68775         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68776         result buffer.
68777         (str_cd_iconv): Update.
68778         * tests/test-striconv.c (main): Update.
68779
68780 2007-01-21  Bruno Haible  <bruno@clisp.org>
68781
68782         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68783
68784 2007-01-20  Jim Meyering  <jim@meyering.net>
68785
68786         * lib/userspec.c (parse_with_separator): If a user or group string
68787         starts with "+", skip the corresponding name-to-ID look-up, since
68788         such a look-up must fail: user and group names may not include "+".
68789
68790 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68791
68792         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68793         since we now assume the sys_time module.
68794         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68795         check for sys/time.h; no longer needed.
68796         * modules/poll (Depends-on): Depend on sys_time.
68797
68798 2007-01-18  Bruno Haible  <bruno@clisp.org>
68799
68800         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68801         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68802
68803         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68804         gettimeofday.
68805
68806         * tests/test-gettimeofday.c: Include <time.h>.
68807         (dummy): Remove variable.
68808
68809         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68810         gl_HEADER_SYS_TIME_H.
68811         (gl_HEADER_SYS_TIME_H): New macro.
68812
68813         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68814         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68816         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68817         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68818         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68819         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68820         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68821         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68822         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68823         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68824
68825         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68826         last change; it caused a compilation error when cross-compiling to
68827         Cygwin.
68828
68829 2007-01-18  Jim Meyering  <jim@meyering.net>
68830
68831         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68832         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68833         than the race-prone "test -d sys || mkdir sys".
68834         (configure.ac): Use AC_PROG_MKDIR_P.
68835         * modules/sys_select: Likewise.
68836         * modules/sys_socket: Likewise.
68837         * modules/sys_time: Likewise.
68838
68839 2007-01-18  Eric Blake  <ebb9@byu.net>
68840
68841         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68842         replace gettimeofday.
68843         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68844         name, to avoid infinite recursion.
68845
68846 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68847
68848         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68849         module sys_time.
68850         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68851         assume timespec.h defines struct timeval.
68852         * lib/settime.c: Likewise.
68853         * lib/utimens.c: Likewise.
68854         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68855         since we now assume the gettimeofday module.
68856         * lib/tempname.c (__gen_tempname): Likewise.
68857         * lib/gettimeofday.h: Remove.
68858         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68859         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68860         Include <time.h>, for 'time()'.
68861         (localtime_buffer_addr): Also use this workaround if
68862         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68863         to simplify the uses.  All uses changed.
68864         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68865         that #undef is inside {}, and 'const' follows type name consistently.
68866         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68867         (gettimeofday): Do not use the maximum possible value for
68868         tv->tv_usec, since that might break usages other than ls.c.
68869         Instead, we'll leave ls.c alone.  This undoes today's patch
68870         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68871         we've never observed the problem but might as well keep the
68872         canary.
68873         * lib/nanosleep.c: Include timespec.h first, for interface check.
68874         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68875         now assume the sys_time module.
68876         * lib/tempname.c: Likewise.
68877         * lib/timespec.h: Likewise.
68878         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68879         needed.
68880         * lib/strftime.c: Likewise.
68881         * lib/timespec.h: Likewise.
68882         * lib/posixtm.c: Include posixtm.h first, for interface check.
68883         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68884         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68885         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68886         * lib/sys_time_.h: New file.
68887         * lib/timespec.h (struct timespec): Use long int, not long.
68888         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68889         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68890         Remove obsolescent call to AC_HEADER_TIME.
68891         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68892         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68893         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68894         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68895         Likewise.
68896         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68897         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68898         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68899         into the sys_time module.  Check for gettimeofday just once.
68900         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68901         for gettimeofday signature to just check the signature.  Merely
68902         compile it, since linking doesn't test signature.  Improve test for
68903         whether gettimeofday.o is actually needed.
68904         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68905         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68906         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68907         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68908         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68909         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68910         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68911         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68912         than worrying about sys/time.h.
68913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68914         Don't bother worrying about TIME_WITH_SYS_TIME.
68915         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68916         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68917         * m4/sys_time_h.m4: New file.
68918         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68919         Don't include sys/time.h.  Return from main rather than exiting.
68920         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68921         all uses changed.
68922         * modules/gethrxtime (Depends-on): Add sys_time.
68923         * modules/gettime (Depends-on): Likewise.
68924         * modules/gettimeofday (Depends-on): Likewise.
68925         * modules/nanosleep (Depends-on): Likewise.
68926         * modules/settime (Depends-on): Likewise.
68927         * modules/tempname (Depends-on): Likewise.
68928         * modules/utimens (Depends-on): Likewise.
68929         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68930         (Include): Change back to <sys/time.h>.
68931         (Maintainer): Add self.
68932         * modules/sys_time: New file.
68933         * modules/tempname (Depends-on): Add gettimeofday.
68934         * tests/test-gettimeofday.c: Include <sys/time.h>
68935         rather than gettimeofday.h.
68936
68937 2007-01-17  Bruno Haible  <bruno@clisp.org>
68938
68939         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68940         the license default to GPL.
68941         (func_create_testdir): Don't complain if a module is LGPL and its
68942         tests module depends on GPLed modules.
68943
68944 2007-01-17  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/gettimeofday.c (gettimeofday): Add code for the case
68947         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68948         maximum possible value for tv->tv_usec, rather than the minimum one.
68949
68950 2005-10-08  Martin Lambers  <marlam@marlam.de>
68951 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68952 2007-01-16  Bruno Haible  <bruno@clisp.org>
68953
68954         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68955         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68956         gl_FUNC_GETTIMEOFDAY.
68957         (Include): Add gettimeofday.h.
68958         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68959         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68960         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68961         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68962         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68963         * lib/gettimeofday.h: New file.
68964         * lib/gettimeofday.c: Include <sys/timeb.h>.
68965         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68966         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68967         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68968         fall back on time().
68969
68970         * tests/test-gettimeofday.c: New file.
68971         * modules/gettimeofday-tests: New file.
68972
68973 2007-01-16  Eric Blake  <ebb9@byu.net>
68974
68975         * modules/fnmatch (Depends-on): Depend on wchar.
68976         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68977         * m4/fnmatch.m4: Likewise.
68978         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68979         * m4/mbchar.m4: Likewise.
68980         * modules/mbswidth (Depends-on): Depend on wchar.
68981         * lib/mbswidth.c: Assume <wchar.h>.
68982         * m4/mbswidth.m4: Likewise.
68983         * modules/quotearg (Depends-on): Depend on wchar.
68984         * lib/quotearg.c: Assume <wchar.h>.
68985         * m4/quotearg.m4: Likewise.
68986         * modules/regex (Depends-on): Depend on wchar.
68987         * lib/regex_internal.h: Assume <wchar.h>.
68988         * m4/regex.m4: Likewise.
68989         * modules/stdint (Depends-on): Depend on wchar.
68990         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68991         * m4/stdint.m4: Likewise.
68992         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68993         * modules/strftime (Depends-on): Depend on wchar.
68994         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68995         * modules/strtol (Depends-on): Depend on wchar.
68996         * lib/strtol.c: Assume <wchar.h>.
68997         * modules/wcwidth (Depends-on): Depend on wchar.
68998         * lib/wcwidth.h: Assume <wchar.h>.
68999         * m4/wcwidth.m4: Likewise.
69000
69001 2007-01-16  Bruno Haible  <bruno@clisp.org>
69002
69003         * modules/csharpexec-script: New, created from...
69004         * modules/csharpexec: ... this.
69005
69006 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69007
69008         * modules/javaexec-script: New, created from...
69009         * modules/javaexec: ... this.
69010
69011 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69012
69013         * modules/poll (Dependencies): Add sys_select.
69014
69015 2007-01-15  Jim Meyering  <jim@meyering.net>
69016
69017         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69018         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69019         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69020         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69021
69022 2007-01-15  Bruno Haible  <bruno@clisp.org>
69023
69024         * modules/striconveh: New file.
69025         * lib/striconveh.h: New file.
69026         * lib/striconveh.c: New file.
69027         * MODULES.html.sh (Internationalization functions): Add striconveh.
69028
69029         * modules/striconveh-tests: New file.
69030         * tests/test-striconveh.c: New file.
69031
69032 2007-01-15  Bruno Haible  <bruno@clisp.org>
69033
69034         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69035         not from GNU libiconv or GNU libc.
69036
69037 2007-01-15  Bruno Haible  <bruno@clisp.org>
69038
69039         * doc/gnulib-intro.texi (Copyright): Explain the different license
69040         terms for module descriptions, autoconf macros, tests, documentation.
69041
69042 2007-01-14  Bruno Haible  <bruno@clisp.org>
69043
69044         * modules/striconv-tests: New file.
69045         * tests/test-striconv.c: New file.
69046
69047 2007-01-14  Bruno Haible  <bruno@clisp.org>
69048
69049         * modules/iconv-tests: New file.
69050         * tests/test-iconv.c: New file.
69051
69052 2007-01-14  Bruno Haible  <bruno@clisp.org>
69053
69054         * gnulib-tool (func_get_license): For test modules, use the license of
69055         the main module.
69056
69057 2007-01-14  Bruno Haible  <bruno@clisp.org>
69058
69059         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69060         if iconv is found to exist.
69061
69062 2007-01-14  Bruno Haible  <bruno@clisp.org>
69063
69064         * modules/c-ctype-tests: New file.
69065         * tests/test-c-ctype.c: New file.
69066
69067 2007-01-14  Bruno Haible  <bruno@clisp.org>
69068
69069         * modules/binary-io-tests: New file.
69070         * tests/test-binary-io.sh: New file.
69071         * tests/test-binary-io.c: New file.
69072
69073 2007-01-14  Bruno Haible  <bruno@clisp.org>
69074
69075         * modules/array-oset-tests: New file.
69076         * tests/test-array_oset.c: New file.
69077
69078 2007-01-14  Bruno Haible  <bruno@clisp.org>
69079
69080         * modules/array-list-tests: New file.
69081         * tests/test-array_list.c: New file.
69082
69083 2007-01-14  Bruno Haible  <bruno@clisp.org>
69084
69085         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69086         and make.
69087         Reported by Simon Josefsson in
69088         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69089
69090 2007-01-14  Bruno Haible  <bruno@clisp.org>
69091
69092         * modules/allocsa-tests: New file.
69093         * tests/test-allocsa.c: New file.
69094
69095 2007-01-14  Bruno Haible  <bruno@clisp.org>
69096
69097         * modules/fchdir (Depends-on): Add absolute-header.
69098         * modules/unistd (Depends-on): Likewise.
69099
69100 2006-12-30  Bruno Haible  <bruno@clisp.org>
69101
69102         * modules/fchdir: New file.
69103         * modules/unistd (Files): Add lib/unistd_.h.
69104         (Makefile.am): Generate unistd.h from unistd_.h.
69105         * lib/fchdir.c: New file.
69106         * lib/dirent_.h: New file.
69107         * lib/unistd_.h: New file.
69108         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69109         * m4/fchdir.m4: New file.
69110         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69111         (gl_HEADER_UNISTD): Invoke it.
69112         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69113         function.
69114         * lib/backupfile.c (opendir, closedir): Undefine.
69115         * lib/chown.c (open, close): Undefine.
69116         * lib/clean-temp.c (open, close): Undefine.
69117         * lib/copy-file.c (open, close): Undefine.
69118         * lib/execute.c (open, close): Undefine.
69119         * lib/fsusage.c (open, close): Undefine.
69120         * lib/gc-gnulib.c (open, close): Undefine.
69121         * lib/getcwd.c (opendir, closedir): Undefine.
69122         * lib/glob.c (opendir, closedir): Undefine.
69123         * lib/javacomp.c (open, close): Undefine.
69124         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69125         * lib/openat-proc.c (open, close): Undefine.
69126         * lib/pagealign_alloc.c (open, close): Undefine.
69127         * lib/pipe.c (open, close): Undefine.
69128         * lib/progreloc.c (open, close): Undefine.
69129         * lib/savedir.c (opendir, closedir): Undefine.
69130         * lib/utime.c (open, close): Undefine.
69131         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69132
69133 2007-01-10  Bruno Haible  <bruno@clisp.org>
69134
69135         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69136
69137 2007-01-12  Eric Blake  <ebb9@byu.net>
69138
69139         Provide a robust <wchar.h>.  Further simplifications are now
69140         possible in other modules, but not included here.
69141         * modules/wchar: New module.
69142         * m4/wchar.m4: New file.
69143         * lib/wchar_.h: Likewise.
69144         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69145         of the new module.
69146         * MODULES.html.sh (Extended multibyte and wide character utilities):
69147         New section.
69148
69149 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69150
69151         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69152         to a reasonable default for memory allocation.
69153         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69154         file system that reports garbage st_size values for symlinks.
69155         Problem reported by Liyang Hu.
69156
69157 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69158
69159         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69160         Emacs .#* auto-save files).
69161
69162 2007-01-11  Bruno Haible  <bruno@clisp.org>
69163
69164         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69165         directory.
69166
69167 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69168
69169         Use @...@ consistently in lib/wctype_.h.
69170         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69171         on it being set to 1 or 0.
69172         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69173         go back to AC_SUBSTing it.
69174         * modules/wctype (Makefile.am): Undo previous change.
69175
69176 2007-01-10  Eric Blake  <ebb9@byu.net>
69177
69178         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69179         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69180         * modules/wctype (Makefile.am): Likewise.
69181         Reported by Chris McGuire.
69182
69183 2007-01-10  Jim Meyering  <jim@meyering.net>
69184
69185         fts.c: a small readability/maintainability improvement
69186         * lib/fts.c (fts_read): Make this code slightly more readable and
69187         maintainable by hoisting the "sp->fts_cur = p" assignments to
69188         immediately follow the statements that set P.  Derived from
69189         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69190
69191 2007-01-10  Eric Blake  <ebb9@byu.net>
69192
69193         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69194         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69195         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69196         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69197         Reported by Chris McGuire.
69198
69199 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69200
69201         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69202         in sed script.
69203
69204 2007-01-09  Bruno Haible  <bruno@clisp.org>
69205
69206         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69207         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69208         variables.
69209         (func_module): Use them.
69210
69211 2007-01-09  Bruno Haible  <bruno@clisp.org>
69212
69213         * modules/unistr/base: New file.
69214         * lib/unistr.h: New file.
69215
69216         * modules/unistr/u8-to-u16: New file.
69217         * lib/unistr/u8-to-u16.c: New file.
69218
69219         * modules/unistr/u8-to-u32: New file.
69220         * lib/unistr/u8-to-u32.c: New file.
69221
69222         * modules/unistr/u16-to-u8: New file.
69223         * lib/unistr/u16-to-u8.c: New file.
69224
69225         * modules/unistr/u16-to-u32: New file.
69226         * lib/unistr/u16-to-u32.c: New file.
69227
69228         * modules/unistr/u32-to-u8: New file.
69229         * lib/unistr/u32-to-u8.c: New file.
69230
69231         * modules/unistr/u32-to-u16: New file.
69232         * lib/unistr/u32-to-u16.c: New file.
69233
69234         * modules/unistr/u8-check: New file.
69235         * modules/unistr/u16-check: New file.
69236         * modules/unistr/u32-check: New file.
69237         * lib/unistr/u8-check.c: New file.
69238         * lib/unistr/u16-check.c: New file.
69239         * lib/unistr/u32-check.c: New file.
69240
69241         * modules/unistr/u8-chr: New file.
69242         * modules/unistr/u16-chr: New file.
69243         * modules/unistr/u32-chr: New file.
69244         * lib/unistr/u8-chr.c: New file.
69245         * lib/unistr/u16-chr.c: New file.
69246         * lib/unistr/u32-chr.c: New file.
69247
69248         * modules/unistr/u8-cmp: New file.
69249         * modules/unistr/u16-cmp: New file.
69250         * modules/unistr/u32-cmp: New file.
69251         * lib/unistr/u8-cmp.c: New file.
69252         * lib/unistr/u16-cmp.c: New file.
69253         * lib/unistr/u32-cmp.c: New file.
69254
69255         * modules/unistr/u8-cpy: New file.
69256         * modules/unistr/u16-cpy: New file.
69257         * modules/unistr/u32-cpy: New file.
69258         * lib/unistr/u8-cpy.c: New file.
69259         * lib/unistr/u16-cpy.c: New file.
69260         * lib/unistr/u32-cpy.c: New file.
69261         * lib/unistr/u-cpy.h: New file.
69262
69263         * modules/unistr/u8-cpy-alloc: New file.
69264         * modules/unistr/u16-cpy-alloc: New file.
69265         * modules/unistr/u32-cpy-alloc: New file.
69266         * lib/unistr/u8-cpy-alloc.c: New file.
69267         * lib/unistr/u16-cpy-alloc.c: New file.
69268         * lib/unistr/u32-cpy-alloc.c: New file.
69269         * lib/unistr/u-cpy-alloc.h: New file.
69270
69271         * modules/unistr/u8-endswith: New file.
69272         * modules/unistr/u16-endswith: New file.
69273         * modules/unistr/u32-endswith: New file.
69274         * lib/unistr/u8-endswith.c: New file.
69275         * lib/unistr/u16-endswith.c: New file.
69276         * lib/unistr/u32-endswith.c: New file.
69277         * lib/unistr/u-endswith.h: New file.
69278
69279         * modules/unistr/u8-mblen: New file.
69280         * modules/unistr/u16-mblen: New file.
69281         * modules/unistr/u32-mblen: New file.
69282         * lib/unistr/u8-mblen.c: New file.
69283         * lib/unistr/u16-mblen.c: New file.
69284         * lib/unistr/u32-mblen.c: New file.
69285
69286         * modules/unistr/u8-mbtouc: New file.
69287         * modules/unistr/u16-mbtouc: New file.
69288         * modules/unistr/u32-mbtouc: New file.
69289         * lib/unistr/u8-mbtouc.c: New file.
69290         * lib/unistr/u16-mbtouc.c: New file.
69291         * lib/unistr/u32-mbtouc.c: New file.
69292
69293         * modules/unistr/u8-mbtouc-safe: New file.
69294         * modules/unistr/u16-mbtouc-safe: New file.
69295         * modules/unistr/u32-mbtouc-safe: New file.
69296         * lib/unistr/u8-mbtouc-safe.c: New file.
69297         * lib/unistr/u16-mbtouc-safe.c: New file.
69298         * lib/unistr/u32-mbtouc-safe.c: New file.
69299
69300         * modules/unistr/u8-move: New file.
69301         * modules/unistr/u16-move: New file.
69302         * modules/unistr/u32-move: New file.
69303         * lib/unistr/u8-move.c: New file.
69304         * lib/unistr/u16-move.c: New file.
69305         * lib/unistr/u32-move.c: New file.
69306         * lib/unistr/u-move.h: New file.
69307
69308         * modules/unistr/u8-next: New file.
69309         * modules/unistr/u16-next: New file.
69310         * modules/unistr/u32-next: New file.
69311         * lib/unistr/u8-next.c: New file.
69312         * lib/unistr/u16-next.c: New file.
69313         * lib/unistr/u32-next.c: New file.
69314
69315         * modules/unistr/u8-prev: New file.
69316         * modules/unistr/u16-prev: New file.
69317         * modules/unistr/u32-prev: New file.
69318         * lib/unistr/u8-prev.c: New file.
69319         * lib/unistr/u16-prev.c: New file.
69320         * lib/unistr/u32-prev.c: New file.
69321
69322         * modules/unistr/u8-set: New file.
69323         * modules/unistr/u16-set: New file.
69324         * modules/unistr/u32-set: New file.
69325         * lib/unistr/u8-set.c: New file.
69326         * lib/unistr/u16-set.c: New file.
69327         * lib/unistr/u32-set.c: New file.
69328         * lib/unistr/u-set.h: New file.
69329
69330         * modules/unistr/u8-startswith: New file.
69331         * modules/unistr/u16-startswith: New file.
69332         * modules/unistr/u32-startswith: New file.
69333         * lib/unistr/u8-startswith.c: New file.
69334         * lib/unistr/u16-startswith.c: New file.
69335         * lib/unistr/u32-startswith.c: New file.
69336         * lib/unistr/u-startswith.h: New file.
69337
69338         * modules/unistr/u8-stpcpy: New file.
69339         * modules/unistr/u16-stpcpy: New file.
69340         * modules/unistr/u32-stpcpy: New file.
69341         * lib/unistr/u8-stpcpy.c: New file.
69342         * lib/unistr/u16-stpcpy.c: New file.
69343         * lib/unistr/u32-stpcpy.c: New file.
69344         * lib/unistr/u-stpcpy.h: New file.
69345
69346         * modules/unistr/u8-stpncpy: New file.
69347         * modules/unistr/u16-stpncpy: New file.
69348         * modules/unistr/u32-stpncpy: New file.
69349         * lib/unistr/u8-stpncpy.c: New file.
69350         * lib/unistr/u16-stpncpy.c: New file.
69351         * lib/unistr/u32-stpncpy.c: New file.
69352         * lib/unistr/u-stpncpy.h: New file.
69353
69354         * modules/unistr/u8-strcat: New file.
69355         * modules/unistr/u16-strcat: New file.
69356         * modules/unistr/u32-strcat: New file.
69357         * lib/unistr/u8-strcat.c: New file.
69358         * lib/unistr/u16-strcat.c: New file.
69359         * lib/unistr/u32-strcat.c: New file.
69360         * lib/unistr/u-strcat.h: New file.
69361
69362         * modules/unistr/u8-strchr: New file.
69363         * modules/unistr/u16-strchr: New file.
69364         * modules/unistr/u32-strchr: New file.
69365         * lib/unistr/u8-strchr.c: New file.
69366         * lib/unistr/u16-strchr.c: New file.
69367         * lib/unistr/u32-strchr.c: New file.
69368
69369         * modules/unistr/u8-strcmp: New file.
69370         * modules/unistr/u16-strcmp: New file.
69371         * modules/unistr/u32-strcmp: New file.
69372         * lib/unistr/u8-strcmp.c: New file.
69373         * lib/unistr/u16-strcmp.c: New file.
69374         * lib/unistr/u32-strcmp.c: New file.
69375
69376         * modules/unistr/u8-strcpy: New file.
69377         * modules/unistr/u16-strcpy: New file.
69378         * modules/unistr/u32-strcpy: New file.
69379         * lib/unistr/u8-strcpy.c: New file.
69380         * lib/unistr/u16-strcpy.c: New file.
69381         * lib/unistr/u32-strcpy.c: New file.
69382         * lib/unistr/u-strcpy.h: New file.
69383
69384         * modules/unistr/u8-strcspn: New file.
69385         * modules/unistr/u16-strcspn: New file.
69386         * modules/unistr/u32-strcspn: New file.
69387         * lib/unistr/u8-strcspn.c: New file.
69388         * lib/unistr/u16-strcspn.c: New file.
69389         * lib/unistr/u32-strcspn.c: New file.
69390         * lib/unistr/u-strcspn.h: New file.
69391
69392         * modules/unistr/u8-strdup: New file.
69393         * modules/unistr/u16-strdup: New file.
69394         * modules/unistr/u32-strdup: New file.
69395         * lib/unistr/u8-strdup.c: New file.
69396         * lib/unistr/u16-strdup.c: New file.
69397         * lib/unistr/u32-strdup.c: New file.
69398         * lib/unistr/u-strdup.h: New file.
69399
69400         * modules/unistr/u8-strlen: New file.
69401         * modules/unistr/u16-strlen: New file.
69402         * modules/unistr/u32-strlen: New file.
69403         * lib/unistr/u8-strlen.c: New file.
69404         * lib/unistr/u16-strlen.c: New file.
69405         * lib/unistr/u32-strlen.c: New file.
69406         * lib/unistr/u-strlen.h: New file.
69407
69408         * modules/unistr/u8-strmblen: New file.
69409         * modules/unistr/u16-strmblen: New file.
69410         * modules/unistr/u32-strmblen: New file.
69411         * lib/unistr/u8-strmblen.c: New file.
69412         * lib/unistr/u16-strmblen.c: New file.
69413         * lib/unistr/u32-strmblen.c: New file.
69414
69415         * modules/unistr/u8-strmbtouc: New file.
69416         * modules/unistr/u16-strmbtouc: New file.
69417         * modules/unistr/u32-strmbtouc: New file.
69418         * lib/unistr/u8-strmbtouc.c: New file.
69419         * lib/unistr/u16-strmbtouc.c: New file.
69420         * lib/unistr/u32-strmbtouc.c: New file.
69421
69422         * modules/unistr/u8-strncat: New file.
69423         * modules/unistr/u16-strncat: New file.
69424         * modules/unistr/u32-strncat: New file.
69425         * lib/unistr/u8-strncat.c: New file.
69426         * lib/unistr/u16-strncat.c: New file.
69427         * lib/unistr/u32-strncat.c: New file.
69428         * lib/unistr/u-strncat.h: New file.
69429
69430         * modules/unistr/u8-strncmp: New file.
69431         * modules/unistr/u16-strncmp: New file.
69432         * modules/unistr/u32-strncmp: New file.
69433         * lib/unistr/u8-strncmp.c: New file.
69434         * lib/unistr/u16-strncmp.c: New file.
69435         * lib/unistr/u32-strncmp.c: New file.
69436
69437         * modules/unistr/u8-strncpy: New file.
69438         * modules/unistr/u16-strncpy: New file.
69439         * modules/unistr/u32-strncpy: New file.
69440         * lib/unistr/u8-strncpy.c: New file.
69441         * lib/unistr/u16-strncpy.c: New file.
69442         * lib/unistr/u32-strncpy.c: New file.
69443         * lib/unistr/u-strncpy.h: New file.
69444
69445         * modules/unistr/u8-strnlen: New file.
69446         * modules/unistr/u16-strnlen: New file.
69447         * modules/unistr/u32-strnlen: New file.
69448         * lib/unistr/u8-strnlen.c: New file.
69449         * lib/unistr/u16-strnlen.c: New file.
69450         * lib/unistr/u32-strnlen.c: New file.
69451         * lib/unistr/u-strnlen.h: New file.
69452
69453         * modules/unistr/u8-strpbrk: New file.
69454         * modules/unistr/u16-strpbrk: New file.
69455         * modules/unistr/u32-strpbrk: New file.
69456         * lib/unistr/u8-strpbrk.c: New file.
69457         * lib/unistr/u16-strpbrk.c: New file.
69458         * lib/unistr/u32-strpbrk.c: New file.
69459         * lib/unistr/u-strpbrk.h: New file.
69460
69461         * modules/unistr/u8-strrchr: New file.
69462         * modules/unistr/u16-strrchr: New file.
69463         * modules/unistr/u32-strrchr: New file.
69464         * lib/unistr/u8-strrchr.c: New file.
69465         * lib/unistr/u16-strrchr.c: New file.
69466         * lib/unistr/u32-strrchr.c: New file.
69467
69468         * modules/unistr/u8-strspn: New file.
69469         * modules/unistr/u16-strspn: New file.
69470         * modules/unistr/u32-strspn: New file.
69471         * lib/unistr/u8-strspn.c: New file.
69472         * lib/unistr/u16-strspn.c: New file.
69473         * lib/unistr/u32-strspn.c: New file.
69474         * lib/unistr/u-strspn.h: New file.
69475
69476         * modules/unistr/u8-strstr: New file.
69477         * modules/unistr/u16-strstr: New file.
69478         * modules/unistr/u32-strstr: New file.
69479         * lib/unistr/u8-strstr.c: New file.
69480         * lib/unistr/u16-strstr.c: New file.
69481         * lib/unistr/u32-strstr.c: New file.
69482         * lib/unistr/u-strstr.h: New file.
69483
69484         * modules/unistr/u8-strtok: New file.
69485         * modules/unistr/u16-strtok: New file.
69486         * modules/unistr/u32-strtok: New file.
69487         * lib/unistr/u8-strtok.c: New file.
69488         * lib/unistr/u16-strtok.c: New file.
69489         * lib/unistr/u32-strtok.c: New file.
69490         * lib/unistr/u-strtok.h: New file.
69491
69492         * modules/unistr/u8-uctomb: New file.
69493         * modules/unistr/u16-uctomb: New file.
69494         * modules/unistr/u32-uctomb: New file.
69495         * lib/unistr/u8-uctomb.c: New file.
69496         * lib/unistr/u16-uctomb.c: New file.
69497         * lib/unistr/u32-uctomb.c: New file.
69498
69499         * MODULES.html.sh (Unicode string functions): Add the new modules.
69500
69501 2007-01-08  Bruno Haible  <bruno@clisp.org>
69502
69503         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69504         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69505         subdirectories.
69506
69507 2007-01-08  Karl Berry  <karl@gnu.org>
69508
69509         * doc/error.texi: mention that main() fns must set program_name
69510         when progname is used.
69511
69512 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69513
69514         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69515         WCTYPE_H is empty, for the benefit of builds from non-distclean
69516         directories.  Problem reported by Eric Blake in
69517         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69518
69519 2007-01-08  Bruno Haible  <bruno@clisp.org>
69520
69521         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69522         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69523         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69524         PROVIDE_CANONICALIZE_FILENAME_MODE.
69525         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69526
69527 2007-01-08  Bruno Haible  <bruno@clisp.org>
69528
69529         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69530         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69531         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69532         * lib/fts.c: Likewise.
69533         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69534
69535 2006-12-25  Bruno Haible  <bruno@clisp.org>
69536
69537         * modules/utf8-ucs4-safe: New file.
69538         * lib/utf8-ucs4-safe.h: New file.
69539         * lib/unistr/utf8-ucs4-safe.c: New file.
69540
69541         * modules/utf16-ucs4-safe: New file.
69542         * lib/utf16-ucs4-safe.h: New file.
69543         * lib/unistr/utf16-ucs4-safe.c: New file.
69544
69545         * MODULES.html.sh (Unicode string functions): Add the new modules.
69546
69547 2007-01-08  Bruno Haible  <bruno@clisp.org>
69548
69549         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69550         (Depends-on): Add unitypes.
69551         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69552         (u8_mbtouc_aux): Move out to separate file.
69553         (u8_mbtouc): Use ucs4_t, uint8_t types.
69554         * lib/unistr/utf8-ucs4.c: New file.
69555
69556         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69557         (Depends-on): Add unitypes.
69558         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69559         (u16_mbtouc_aux): Move out to separate file.
69560         (u16_mbtouc): Use ucs4_t, uint16_t types.
69561         * lib/unistr/utf16-ucs4.c: New file.
69562
69563         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69564         (Depends-on): Add unitypes.
69565         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69566         (u8_uctomb_aux): Move out to separate file.
69567         (u8_uctomb): Use ucs4_t, uint8_t types.
69568         * lib/unistr/ucs4-utf8.c: New file.
69569
69570         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69571         (Depends-on): Add unitypes.
69572         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69573         (u16_uctomb_aux): Move out to separate file.
69574         (u16_uctomb): Use ucs4_t, uint16_t types.
69575         * lib/unistr/ucs4-utf16.c: New file.
69576
69577 2006-12-25  Bruno Haible  <bruno@clisp.org>
69578
69579         * modules/unitypes: New file.
69580         * lib/unitypes.h: New file.
69581         * MODULES.html.sh (func_all_modules): New section "Unicode string
69582         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69583         this section. Add unitypes.
69584
69585 2007-01-08  Bruno Haible  <bruno@clisp.org>
69586
69587         Avoid variable names that conflict with those from libtool.
69588         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69589         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69590         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69591         library_names_spec to acl_library_names_spec, hardcode_* to
69592         acl_hardcode_*.
69593         Reported by Ralf Wildenhues.
69594
69595 2007-01-08  Bruno Haible  <bruno@clisp.org>
69596
69597         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69598         definition.
69599         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69600         definition.
69601         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69602         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69603         definition.
69604         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69605         definition.
69606         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69607         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69608         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69609         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69610         definition.
69611         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69612         definition.
69613         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69614         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69615         GC_USE_<algorithm>.
69616         * lib/gc-libgcrypt.c: Likewise.
69617         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69618         * modules/gc-arctwo (configure.ac): Likewise.
69619         * modules/gc-des (configure.ac): Likewise.
69620         * modules/gc-hmac-md5 (configure.ac): Likewise.
69621         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69622         * modules/gc-md2 (configure.ac): Likewise.
69623         * modules/gc-md4 (configure.ac): Likewise.
69624         * modules/gc-md5 (configure.ac): Likewise.
69625         * modules/gc-random (configure.ac): Likewise.
69626         * modules/gc-rijndael (configure.ac): Likewise.
69627         * modules/gc-sha1 (configure.ac): Likewise.
69628
69629 2007-01-08  Bruno Haible  <bruno@clisp.org>
69630
69631         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69632         macro definition.
69633         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69634         definition.
69635         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69636         definition.
69637         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69638         * modules/fcntl-safer (configure.ac): Likewise.
69639         * modules/fopen-safer (configure.ac): Likewise.
69640         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69641         GNULIB_FWRITEERROR macro definition.
69642
69643 2007-01-08  Bruno Haible  <bruno@clisp.org>
69644
69645         * m4/gnulib-common.m4: New file.
69646         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69647         (func_get_filelist): Add m4/gnulib-common.m4.
69648
69649 2007-01-08  Bruno Haible  <bruno@clisp.org>
69650
69651         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69652         command.
69653
69654 2007-01-08  Jim Meyering  <jim@meyering.net>
69655
69656         Use a more robust test for a "can't happen" condition.
69657         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69658         narrowed the st_size value.  Presuming the "can't happen" condition
69659         is true, that narrowing could conceivably convert an invalid st_size
69660         value into a valid one.  Instead, use a change based on Matthew
69661         Woehlke's original patch.
69662
69663         Slight readability improvement: use an assert-like macro
69664         in place of literal "abort ()" uses.
69665         * lib/fts.c (fts_assert): Define.
69666         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69667         Use this macro instead of a bare 'abort'.
69668
69669 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69670
69671         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69672         simply work around them.
69673         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69674         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69675         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69676         declaring.
69677         Don't bother to define as macros, since the standard doesn't require it.
69678         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69679         longer worry about IRIX 5.3.
69680         (HAVE_WCTYPE_CTMP_BUG): Remove.
69681
69682 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69683
69684         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69685         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69686         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69687         Problems reported by Georg Schwarz for IRIX 5.3.
69688
69689         * gnulib-tool (autoconf_minversion): Take the maximum version number
69690         found, not the minimum.  Problem reported by James Youngman.
69691
69692 2007-01-03  Karl Berry  <karl@gnu.org>
69693
69694         * doc/error.texi: new file, explaining interaction with progname.
69695         * doc/gnulib.texi: include it.  Update copyright.
69696
69697 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69698
69699         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69700         AC_CANONICAL_HOST, to improve autobuild outputs.
69701
69702 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69703             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69704
69705         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69706         sockets, server sockets, and other file descriptors.  Count errors
69707         to compute the return value.  Reorder the code a bit to be easier
69708         to follow.  Don't set event bits that were not requested (except
69709         POLLERR and POLLHUP).
69710
69711 2007-01-01  Bruno Haible  <bruno@clisp.org>
69712
69713         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69714
69715 2007-01-03  Jim Meyering  <jim@meyering.net>
69716
69717         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69718
69719 2007-01-02  Bruno Haible  <bruno@clisp.org>
69720
69721         * modules/settime (Include): Require timespec.h.
69722         * modules/nanosleep (Include): Likewise.
69723
69724 2007-01-01  Bruno Haible  <bruno@clisp.org>
69725
69726         * gnulib-tool (func_emit_copyright_notice): Bump year.
69727         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69728
69729 2007-01-01  Bruno Haible  <bruno@clisp.org>
69730
69731         Improve support for OpenBSD.
69732         * build-aux/config.rpath (libname_spec): Export.
69733         (library_names_spec): New variable. Export.
69734         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69735         library_names_spec from the config.rpath output. Locate shared library
69736         through the name pattern in library_names_spec.
69737
69738 2007-01-01  Eric Blake  <ebb9@byu.net>
69739
69740         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69741
69742 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69743
69744         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69745         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69746         assume the C locale, and avoid an "eval" that could cause trouble.
69747         Problem with SORT reported by Bob Proulx.
69748
69749         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69750         Define.  Trivial patch from Henning Nielsen Lund, originally
69751         sent to bug-grep@gnu.org today.
69752
69753 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69754
69755         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69756         struct stat.  Problem reported by Henning Nielsen Lund.
69757         * lib/acl.c: Include acl.h first, to check interface.  Don't
69758         bother to include sys/types.h and sys/stat.h again.
69759
69760 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69761
69762         Import the following change from libc; problem reported by
69763         Sven Verdoolaege.
69764
69765         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69766
69767         [BZ #1373]
69768         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69769
69770 2006-12-28  Jim Meyering  <jim@meyering.net>
69771
69772         * build-aux/announce-gen: Do not assume that the package
69773         builds any of tar.gz, tar.bz2, and .xdelta files.
69774         Suggestion from Simon Josefsson.
69775
69776 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69777
69778         * modules/announce-gen: New file.
69779
69780 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69781
69782         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69783         handles its gotchas now.
69784         * lib/mbswidth.c: Likewise.
69785         * lib/wcwidth.h: Likewise.
69786         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69787         and iswcntrl; the wctype module does this stuff now.
69788         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69790         * modules/mbchar (Depends-on): Add wctype.
69791         * modules/mbswidth (Depends-on): Likewise.
69792         * modules/wcwidth (Depends-on): Likewise.
69793
69794 2006-12-27  Eric Blake  <ebb9@byu.net>
69795
69796         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69797         module uses more than what <wctype.h> is required to provide.
69798
69799 2006-12-26  Eric Blake  <ebb9@byu.net>
69800
69801         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69802
69803 2006-12-26  Eric Blake  <ebb9@byu.net>
69804
69805         * modules/absolute-header: New module.
69806         * modules/fcntl (Depends-on): Depend on it.
69807         * modules/inttypes (Depends-on): Likewise.
69808         * modules/stdint (Depends-on): Likewise.
69809         * modules/sys_stat (Depends-on): Likewise.
69810         * modules/wctype (Depends-on): Likewise.
69811         * MODULES.html.sh (Support for building libraries and
69812         executables): Document it.
69813
69814 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69815
69816         * gnulib-tool (SED): Remove, undoing previous change.
69817         The problem was that it broke coreutils on Solaris, because
69818         "sed --posix" leaked into a makefile.
69819         (sed): New alias, if 'alias' and GNU sed.
69820
69821 2006-12-24  Jim Meyering  <jim@meyering.net>
69822
69823         Work around an fchownat bug in glibc-2.4:
69824         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69825         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69826         in spite of the -P option.
69827         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69828         New macros.
69829         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69830         * modules/openat (Files): Add lib/fchownat.c.
69831         * lib/openat.c (fchownat): Don't define here.  Move to...
69832         * lib/fchownat.c: ...this new file.
69833
69834 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69835
69836         Fix bug reported by Bruno Haible in
69837         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69838         where quotearg.c didn't compile on Mac OS X 10.2 because it
69839         lacks <wchar.h> and wint_t.
69840         * lib/wctype_.h (__wctype_wint_t): New type.
69841         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69842         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69843         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69844         Arg is now of type __wctype_wint_t, not wint_t.
69845         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69846         substitute HAVE_WINT_T.
69847         * modules/wctype (Files): Add m4/wint_t.m4.
69848         (wctype.h): Substitute HAVE_WINT_T.
69849
69850 2006-12-23  Bruno Haible  <bruno@clisp.org>
69851
69852         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69853
69854 2006-12-23  Bruno Haible  <bruno@clisp.org>
69855
69856         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69857         S_ISLNK.
69858         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69859         mingw.
69860
69861 2006-12-22  Bruno Haible  <bruno@clisp.org>
69862
69863         * lib/copy-file.c: Include acl.h.
69864         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69865         Close the file descriptors only after being done with copy_acl.
69866         * modules/copy-file (Depends-on): Add acl.
69867
69868 2006-12-22  Bruno Haible  <bruno@clisp.org>
69869
69870         * gnulib-tool (SED): New variable.
69871         Use $SED instead of sed everywhere.
69872
69873 2006-12-22  Bruno Haible  <bruno@clisp.org>
69874
69875         * modules/no-c++: New file.
69876         * m4/no-c++.m4: New file.
69877         * MODULES.html.sh (Support for building libraries and executables):
69878         Add no-c++.
69879
69880 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69881
69882         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69883         Include <limits.h>, and use its INT_MAX to rewrite the
69884         j loop so that it does not overflow 'int'.  Problem reported by
69885         Ralf Wildenhues in
69886         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69887         Play it safe by shifting left by 1 rather than multiplying by 2,
69888         as GCC is less likely to optimize this away when the value
69889         is signed (when it assumes overflow leads to undefined behavior).
69890         Also, don't assume time_t uses two's complement.
69891
69892 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69893
69894         * MODULES.html.sh: New module wctype.
69895         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69896         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69897         <wctype.h>, since the new wctype module should fix this.
69898         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69899         the wctype module should arrange for it.
69900         * lib/regex_internal.h: Likewise.
69901         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69902         since the wctype module should handle this now.
69903         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69904         * modules/fnmatch (Depends-on): Add wctype.
69905         * modules/quotearg (Depends-on): Likewise.
69906         * modules/regex (Depends-on): Likewise.
69907
69908 2006-12-19  Bruno Haible  <bruno@clisp.org>
69909
69910         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69911         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69912
69913 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69914
69915         * modules/savewd (Depends-on): Fix dependency on fcntl.
69916
69917 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69918
69919         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69920         conforms to C99, rather than relying on the user's environment
69921         setting of STDINT_H.
69922
69923 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69924         and Eric Blake  <ebb9@byu.net>
69925
69926         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69927         This is more consistent with the other defines here.
69928         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69929         Port to z/OS.  Problem reported by Paul Gilmartin.
69930         Change local vars to use gl_ prefix rather than ac_.
69931         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69932         with other defines.
69933         * modules/double-slash-root: New module.
69934         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69935         (Depends-on): Add double-slash-root.
69936         * MODULES.html.sh (File system functions): Mention new module.
69937
69938 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69939
69940         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69941         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69942         This is for the benefit of gzip, which doesn't do i18n.
69943
69944 2006-12-12  Jim Meyering  <jim@meyering.net>
69945
69946         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69947         Reported by Andreas Schwab <schwab@suse.de>.
69948
69949 2006-12-12  Bruno Haible  <bruno@clisp.org>
69950
69951         Merge these changes.
69952         2006-09-05  Bruno Haible  <bruno@clisp.org>
69953         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69954         iconv_alloc succeeded.
69955         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69956         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69957         test for " && dest " at the end - dest is always != NULL there. Call
69958         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69959         with 2xNULL arguments, also to flush the state storage. Handle the
69960         IRIX iconv behaviour. Realloc the final result, to throw away unused
69961         memory.
69962
69963 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69964
69965         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69966         and fchmodat unconditionally, since glibc 2.4 has them.
69967         Problem reported by Arkadiusz Miskiewicz.
69968
69969 2006-12-10  Bruno Haible  <bruno@clisp.org>
69970
69971         * gnulib-tool (func_import): Show the include files only for those
69972         modules that are copied and specified.
69973         Reported by Karl Berry.
69974
69975 2006-12-08  Jim Meyering  <jim@meyering.net>
69976
69977         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69978         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69979
69980         * build-aux/announce-gen: Add two new options, both optional:
69981         --bootstrap-tools=TOOL_LIST
69982               a comma-separated list of tools, e.g.,
69983               autoconf,automake,bison,gnulib
69984         --gnulib-snapshot-date=DATE
69985               if gnulib is in the bootstrap tool list,
69986               then report this as the snapshot date.
69987               If not specified, use the current date/time.
69988               If you specify a date here, be sure it's UTC.
69989
69990 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69991
69992         * tests/test-argp-2.sh: Fix test to match actual output.
69993         (func_compare): Fix sed script to be portable.
69994
69995 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69996
69997         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69998         workaround for this case.  It is not autoconfigured now; offhand
69999         it's hard to see how to autoconfigure it.
70000
70001 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70002
70003         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70004         a directory that is about to be chowned.  Such a directory's
70005         initial file permissions should permit the owner only and this
70006         should not be changed until after the chown, since the group and
70007         other bits would be incorrect if they granted permission before
70008         the chown.
70009
70010         Fix porting problem for iswctype reported by Georg Schwarz in:
70011         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70012         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70013         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70014         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70015         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70016
70017 2006-12-03  Jim Meyering  <jim@meyering.net>
70018
70019         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70020         p->fts_statp may not yet be defined.
70021         (fts_read): Instead, set it in the caller, once p->fts_statp is
70022         sure to be defined, and corresponds to a top-level directory.
70023         This bug made du -x fail.  Here's the coreutils test case:
70024         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70025         Reported by Mike Frysinger.
70026
70027 2006-12-01  Jim Meyering  <jim@meyering.net>
70028
70029         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70030         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70031         Reported by Simon Josefsson.
70032
70033 2006-11-30  Jim Meyering  <jim@meyering.net>
70034
70035         * m4/warning.m4: Use the all-permissive copyright notice
70036         recommended by RMS (rather than LGPL).
70037         * m4/vararrays.m4: Likewise.
70038         * m4/flexmember.m4: Likewise.
70039
70040 2006-11-29  Bruno Haible  <bruno@clisp.org>
70041
70042         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70043         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70044         using +=.
70045         Reported by Simon Josefsson <simon@josefsson.org>.
70046
70047 2006-11-28  James Youngman <jay@gnu.org>
70048
70049         * README: Advise users that they might find the bug-gnulib@gnu.org
70050         and autotools-announce@gnu.org mailing lists useful.
70051
70052 2006-11-28  Bruno Haible  <bruno@clisp.org>
70053
70054         * m4/ptrdiff_max.m4: Remove file.
70055
70056 2006-11-21  Bruno Haible  <bruno@clisp.org>
70057
70058         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70059         _AC_COMPUTE_INT.
70060         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70061         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70062         _AC_COMPUTE_INT.
70063         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70064         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70065         _AC_COMPUTE_INT.
70066         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70067
70068 2006-11-28  Jim Meyering  <jim@meyering.net>
70069
70070         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70071         warning from "gcc -Wshadow" about shadowing the builtin.
70072
70073 2006-11-27  Bruno Haible  <bruno@clisp.org>
70074
70075         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70076         _AC_COMPUTE_INT.
70077         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70078
70079 2006-11-27  Bruno Haible  <bruno@clisp.org>
70080             Paul Eggert  <eggert@cs.ucla.edu>
70081
70082         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70083
70084 2006-11-26  Bruno Haible  <bruno@clisp.org>
70085
70086         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70087         noinst_LTLIBRARIES.
70088
70089 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70090             Bruno Haible  <bruno@clisp.org>
70091
70092         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70093         if compiling with "gcc -ansi".
70094
70095 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70096
70097         Fix some incompatibilities with gcc -ansi -pedantic.
70098         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70099         if compiling pedantically with GCC, unless it's C99 or later.
70100         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70101         it mishandles gcc -ansi -pedantic as well.
70102         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70103         if gcc -pedantic.
70104         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70105         initializers for struct if -pedantic, unless it's C99 or later.
70106
70107 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70108
70109         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70110         Don't close an fd more than once. Identical atimes indicate
70111         success, not failure.
70112
70113 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70114
70115         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70116
70117 2006-11-23  Jim Meyering  <jim@meyering.net>
70118
70119         * build-aux/announce-gen: New file.  From coreutils.
70120
70121 2006-11-22  Jim Meyering  <jim@meyering.net>
70122
70123         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70124         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70125         (fts_read): Use a temporary to narrow the overused st_size member
70126         before using it in a switch statement.  Reported by Matthew Woehlke.
70127
70128         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70129         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70130
70131 2006-11-20  Bruno Haible  <bruno@clisp.org>
70132
70133         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70134         changequote instead of pairs of brackets.
70135         Reported by Andreas Schwab <schwab@suse.de>.
70136
70137 2006-11-21  Jim Meyering  <jim@meyering.net>
70138
70139         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70140         so as to remain compatible with older compilers.
70141         Patch from Michael Deutschmann.
70142
70143 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70144
70145         * MODULES.html.sh (File system functions): Add openat.
70146
70147         * lib/openat.h (rpl_fstatat): New macro, if
70148         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70149         (fstatat): Define to rpl_fstatat under the same conditions,
70150         unless COMPILING_FSTATAT.
70151         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70152         seems to have the bug.
70153         * lib/fstatat.c: New file.
70154         * modules/openat (Files): Add it.
70155
70156 2006-11-20  Bruno Haible  <bruno@clisp.org>
70157
70158         * Makefile: New file.
70159
70160 2006-11-20  Jim Meyering  <jim@meyering.net>
70161
70162         The beginnings of syntax-related checks for gnulib.
70163         * lib/Makefile: New file.
70164         * lib/t-idcache: New script.  Ensure that the two halves of
70165         idcache.c stay in sync.
70166
70167         * lib/idcache.c: Adjust comments in user- and group- portions to
70168         be more accurate, and to be consistent with one another.
70169
70170 2006-11-20  Jim Meyering  <jim@meyering.net>
70171
70172         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70173         continue using the flexible array member (thus, this module performs
70174         half as many malloc calls), with the addition that...
70175         (getgroup, getuser): Consistently record a non-match via an empty
70176         "name" string, and map an empty string match to a NULL return value.
70177         * modules/idcache (Depends-on): Re-add flexmember.
70178
70179         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70180         (getuidbyname, getgroup, getgidbyname): Likewise.
70181
70182         Use cleaner syntax: NULL rather than 0.
70183         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70184
70185 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70186
70187         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70188         It mishandled the case where the group was missing.
70189         Problem reported by Greg Schafer.
70190         * modules/idcache: Likewise.
70191
70192 2006-11-18  Jim Meyering  <jim@meyering.net>
70193
70194         * check-module (%exempt_header): Add exception for some
70195         conditionally-included headers.
70196
70197         * modules/i-ring (Depends-on): Add verify.
70198         (License): Change to LGPL.
70199
70200 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70201
70202         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70203         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70204         and inttostr.h.  Use snprintf rather than uinttostr, so that
70205         LGPLed code doesn't depend on GPLed.
70206
70207 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70208
70209         * modules/inline (License): Change from GPL to LGPL.
70210
70211 2006-11-17  Jim Meyering  <jim@meyering.net>
70212
70213         * modules/d-type (License): Switch to LGPL.
70214
70215 2006-11-15  Bruno Haible  <bruno@clisp.org>
70216
70217         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70218
70219 2006-11-15  Eric Blake  <ebb9@byu.net>
70220
70221         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70222         the module dependency.
70223
70224 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70225             Bruno Haible  <bruno@clisp.org>
70226
70227         * gnulib-tool (func_create_testdir): Add license consistency check.
70228
70229 2006-11-15  Eric Blake  <ebb9@byu.net>
70230
70231         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70232         random "(cached)" in configure output.
70233
70234 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70235
70236         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70237         test for conforming inttypes.h is both announced and cached.
70238
70239         * MODULES.html.sh (seen_modules, seen_files): New variables.
70240         (func_module): Rewrite to use a few less gnulib-tool and sed
70241         invocations.  Avoid a couple of quadratic algorithms for ...
70242         (missed_modules, missed_files): ... these, with ...
70243         (func_append, func_tmpdir): ... these new functions, from
70244         gnulib-tool.  Analogously, install traps for cleanup.
70245
70246         * tests/test-gc.c (main): Remove unused variables.
70247         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70248
70249 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70250
70251         * modules/inttostr (License): Change to LGPL.
70252
70253 2006-11-14  Eric Blake  <ebb9@byu.net>
70254
70255         * modules/tempname (License): Change to LGPL.
70256
70257 2006-11-14  Eric Blake  <ebb9@byu.net>
70258
70259         * doc/functions.texi (Function Portability): *printf functions on
70260         Cygwin now understand all POSIX size specifiers.
70261
70262 2006-11-14  Bruno Haible  <bruno@clisp.org>
70263
70264         * modules/c-ctype (License): Change to LGPL.
70265
70266 2006-11-12  Bruno Haible  <bruno@clisp.org>
70267
70268         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70269         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70270         for GNOME libraries, for which the include files are installed in
70271         subdirectories of $prefix/include.
70272
70273 2006-11-12  Bruno Haible  <bruno@clisp.org>
70274
70275         * m4/lib-link.m4: Require at least autoconf-2.54.
70276         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70277         name to underscores for the --with option.
70278
70279 2006-11-13  Bruno Haible  <bruno@clisp.org>
70280
70281         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70282         the tests directory.
70283         Reported by Ralf Wildenhues.
70284
70285 2006-11-13  Bruno Haible  <bruno@clisp.org>
70286
70287         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70288         (func_emit_initmacro_end): Undo the override here.
70289         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70290         Works around the famous automake error in coreutils.
70291
70292 2006-11-13  Eric Blake  <ebb9@byu.net>
70293
70294         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70295         element, not its node.
70296
70297 2006-11-12  Bruno Haible  <bruno@clisp.org>
70298
70299         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70300         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70301
70302 2006-11-12  Bruno Haible  <bruno@clisp.org>
70303
70304         * gnulib-tool: New option --local-symlink.
70305         (func_usage): Document it.
70306         (lsymbolic): New variable.
70307         (func_import, func_create_testdir): If --symlink was not specified,
70308         test whether --local-symlink was specified and the file comes from
70309         the local_gnulib_dir.
70310
70311 2006-11-12  Bruno Haible  <bruno@clisp.org>
70312
70313         * gnulib-tool (func_ln): New function.
70314         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70315
70316 2006-11-12  Bruno Haible  <bruno@clisp.org>
70317
70318         Finish support for source files in subdirectories.
70319         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70320         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70321         AUTOMAKE_OPTIONS.
70322         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70323
70324 2006-11-12  Bruno Haible  <bruno@clisp.org>
70325
70326         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70327         EXTRA_lib_SOURCES augmentation.
70328         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70329
70330 2006-11-12  Jim Meyering  <jim@meyering.net>
70331
70332         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70333         file descriptors.  This also averts a failure on systems with
70334         native openat support when a traversed directory lacks "x" access.
70335         * lib/fts_.h: Include "i-ring.h"
70336         (struct FTS) [fts_fd_ring]: New member.
70337         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70338         (FCHDIR): Add parentheses.
70339         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70340         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70341         When descending, rather than simply closing the previous
70342         fts_cwd_fd value, push that file descriptor onto the ring.
70343         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70344         (fts_open): Initialize the new fd_ring member.
70345         (fts_close): Clear the ring.
70346         (fts_safe_changedir): When possible, use our new fd_ring to skip
70347         the diropen and fstat and dev/ino comparison that would normally
70348         accompany a virtual `chdir ("..")'.
70349
70350         * modules/fts (Depends-on): Add i-ring.
70351         * modules/i-ring: New module.
70352         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70353         * m4/i-ring.m4: New file.
70354
70355 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70356
70357         * gnulib-tool (func_create_testdir): Fix replacement of
70358         `build-aux' in configure.ac.  Run autotools in gltests
70359         subdirectory.
70360         (func_create_testdir, func_create_megatestdir, test): There is
70361         no need for '--force' in most autotool invocations in a new
70362         tree.  Actually fail the whole test if any of the tools, or the
70363         configure or make stages fail.
70364
70365         Sync from Automake.
70366         * build-aux/gnupload: Revert last change.  Add pointer to upload
70367         instructions of the GNU Maintenance Instructions.
70368         Suggestion by Karl Berry.
70369
70370 2006-11-10  Jim Meyering  <jim@meyering.net>
70371
70372         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70373
70374 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70375
70376         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70377         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70378         (bind_textdomain_codeset) [! ENABLE_NLS]:
70379         Evaluate all the arguments.  That way, callers get compatible behavior
70380         if the arguments have side effects.  Also, it avoids some GCC
70381         diagnostics in some cases; Joel E. Denny reported problems when Bison
70382         was configured with --enable-gcc-warnigs.
70383
70384 2006-11-10  Jim Meyering  <jim@meyering.net>
70385
70386         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70387         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70388         account.
70389
70390 2006-11-10  Jim Meyering  <jim@meyering.net>
70391
70392         * modules/inline: New file/module.
70393         * modules/xalloc (Files): Remove m4/inline.m4.
70394         (Depends-on): Add inline, instead.
70395         * modules/oset: Likewise.
70396         * modules/list: Likewise.
70397
70398 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70399
70400         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70401         Problem reported by Matthew Woehlke.
70402
70403 2006-11-09  Bruno Haible  <bruno@clisp.org>
70404
70405         * lib/tempname.c (gen_tempname): Remove variant that invokes
70406         __gen_tempname.
70407         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70408         __gen_tempname.
70409
70410 2006-11-08  Bruno Haible  <bruno@clisp.org>
70411
70412         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70413         to 'yes' instead of 'cross-compiling'.
70414
70415 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70416
70417         * lib/quotearg.h (quotearg_free): New decl.
70418         * lib/quotearg.c (quotearg_free): New function.
70419         (slot0, nslots, slotvec0, slotvec):
70420         Now file-scope so that quotearg_free can get at them.
70421
70422 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70423
70424         Sync from Automake.
70425         * build-aux/gnupload: Add missing 'gnu' to example URL.
70426         Report by Karl Berry.
70427
70428 2006-11-08  Bruno Haible  <bruno@clisp.org>
70429
70430         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70431         Suggested by Paul Eggert.
70432
70433 2006-11-08  Jim Meyering  <jim@meyering.net>
70434
70435         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70436         It's already included if !_LIBC.
70437         (fts_safe_changedir): Add a comment.
70438
70439 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70440
70441         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70442         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70443         Matthew Woehlke.
70444
70445         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70446         definitions up, to avoid colliding with change below.
70447         (static_inline) [HAVE_INLINE]: New macro.
70448         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70449         Provide extern decls when !HAVE_INLINE.  Do not define unless
70450         static_inline is defined, either by us or by xmalloc.c.  Use
70451         static_inline rather than static inline.
70452         (XCALLOC): Optimize sizeof(T) = 1 case.
70453         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70454
70455 2006-11-07  Bruno Haible  <bruno@clisp.org>
70456
70457         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70458         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70459         AC_C_INLINE.
70460         * modules/xalloc (Files): Add m4/inline.m4.
70461
70462 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70463
70464         * README: Fix typo.
70465         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70466         (Miscellanous Notes): ...from this.
70467
70468 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70469
70470         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70471         Mention that offsetof should be used instead of sizeof.
70472         From Bruno Haible.
70473
70474 2006-11-07  Bruno Haible  <bruno@clisp.org>
70475
70476         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70477
70478 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70479
70480         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70481         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70482         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70483         (gl_tree_add_before, gl_tree_add_after):
70484         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70485         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70486         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70487         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70488         (gl_linked_add_after, gl_linked_add_at): Likewise.
70489         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70490         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70491         (gl_tree_add_before, gl_tree_add_after): Likewise.
70492         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70493         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70494         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70495
70496 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70497
70498         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70499
70500 2006-11-06  Bruno Haible  <bruno@clisp.org>
70501
70502         * m4/inline.m4: New file.
70503         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70504         * modules/list (Files): Add m4/inline.m4.
70505         * modules/oset (Files): Likewise.
70506
70507 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70508
70509         * lib/idcache.c: Include <stddef.h>, for offsetof.
70510         (struct userid.name): Change from char * to a flexible array member.
70511         All uses changed.
70512         * modules/idcache (Depends-on): Add flexmember.
70513
70514         * MODULES.html.sh (Core language properties): New module flexmember.
70515         * modules/flexmember, m4/flexmember.m4: New files.
70516
70517         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70518         inline functions that are identical with the old xnmalloc_inline,
70519         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70520         that we can avoid some unnecessary integer multiplications and
70521         divisions in the common case where the element size is known at
70522         compile time.
70523         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70524         needed.
70525         (xnboundedmalloc): Remove.
70526         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70527         arguments, for consistency with rest of this header.
70528         (xcharalloc): Rewrite using XNMALLOC.
70529         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70530         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70531         versions have been moved to lib/xalloc.h and renamed to be the
70532         non-*_inline versions.
70533         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70534         and xnrealloc functions, since those functions are now inline and
70535         now call us.
70536         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70537         renaming described above.
70538         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70539         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70540         captures the dependency in AC_C_INLINE.
70541
70542         New module canonicalize-lgpl, proposed by Charles Wilson in
70543         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70544         with a few small changes afterwards.
70545         * MODULES.html.sh (File system functions): New module
70546         canonicalize-lgpl.
70547         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70548         and canonicalize_file_name.
70549         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70550         * modules/canonicalize-lgpl: New files.
70551
70552 2006-11-05  Bruno Haible  <bruno@clisp.org>
70553
70554         * gnulib-tool (func_import, func_create_testdir): Create directories
70555         also for files in subdirectories of lib/.
70556
70557 2006-11-05  Bruno Haible  <bruno@clisp.org>
70558
70559         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70560         ANSI C compliant.
70561
70562 2006-11-03  Bruno Haible  <bruno@clisp.org>
70563
70564         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70565         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70566         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70567         (xnboundedmalloc): New inline function.
70568         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70569         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70570         xmalloc.
70571         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70572         xmalloc.
70573         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70574         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70575         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70576         xmalloc.
70577         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70578         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70579         xmalloc.
70580         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70581         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70582         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70583         xmalloc.
70584         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70585         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70586         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70587         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70588         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70589         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70590         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70591
70592 2006-11-03  Bruno Haible  <bruno@clisp.org>
70593
70594         * lib/c-ctype.h [C++]: Define functions without name mangling.
70595         * lib/fwriteerror.h [C++]: Likewise.
70596         * lib/gcd.h [C++]: Likewise.
70597         * lib/linebreak.h [C++]: Likewise.
70598
70599 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70600
70601         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70602         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70603         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70604         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70605         Check for functions and headers just once.
70606         Check for declaration of canonicalize_file_name.
70607         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70608
70609 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70610
70611         * gnulib-tool (func_import): Fix typo in actioncmd.
70612
70613 2006-11-02  Bruno Haible  <bruno@clisp.org>
70614
70615         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70616         newline sequence in the Makefile.am snippet as a space, like "make"
70617         does.
70618         Reported by Roger Persson <perrog@gmail.com>.
70619
70620 2006-11-01  Bruno Haible  <bruno@clisp.org>
70621
70622         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70623         already declared in <string.h>.
70624         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70625
70626 2006-11-01  Bruno Haible  <bruno@clisp.org>
70627
70628         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70629         * lib/strcase.h: Include <string.h>.
70630         (strcasecmp): Define to rpl_strcasecmp here.
70631
70632 2006-11-01  Bruno Haible  <bruno@clisp.org>
70633
70634         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70635
70636 2006-11-01  Eric Blake  <ebb9@byu.net>
70637
70638         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70639
70640         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70641
70642 2006-10-29  Bruno Haible  <bruno@clisp.org>
70643
70644         Make it compile in C++ mode.
70645         * lib/full-write.c (full_rw): Add a cast.
70646
70647 2006-11-01  Bruno Haible  <bruno@clisp.org>
70648
70649         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70650         be POSIX compliant.
70651         Reported by Roger Persson <perrog@gmail.com>.
70652
70653 2006-11-01  Eric Blake  <ebb9@byu.net>
70654
70655         * lib/getopt_.h: Fix comments.
70656
70657 2006-10-31  Eric Blake  <ebb9@byu.net>
70658
70659         * modules/tmpdir (Depends-on): Add sys_stat.
70660         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70661         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70662         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70663         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70664         tempname.
70665
70666 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70667
70668         Avoid some C++ diagnostics reported by Bruno Haible.
70669         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70670         xmalloc.
70671         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70672         (struct slotvec): Move to top level.
70673         (quotearg_n_options): Rewrite to avoid xmalloc.
70674         * lib/xalloc.h (xcharalloc): New function.
70675         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70676         [defined __cplusplus]: Add function template that provides result
70677         type propagation.  This part of the change is from Bruno Haible.
70678
70679 2006-10-29  Bruno Haible  <bruno@clisp.org>
70680
70681         Make it compile in C++ mode.
70682         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70683         * lib/strnlen1.c (strnlen1): Cast memchr result.
70684         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70685         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70686         (create_temp_dir): Rename local variable 'template'.
70687         (compile_csharp_using_sscli): Add cast.
70688         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70689         * lib/findprog.c (find_in_path): Likewise.
70690         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70691         * lib/wait-process.c (register_slave_subprocess): Likewise.
70692
70693 2006-10-22  Bruno Haible  <bruno@clisp.org>
70694
70695         * modules/tsearch: New file.
70696         * lib/tsearch.h: New file.
70697         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70698         * m4/tsearch.m4: New file.
70699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70700
70701 2006-10-29  Eric Blake  <ebb9@byu.net>
70702
70703         * lib/arcfour.c: Assume config.h.
70704         * lib/arctwo.c: Likewise.
70705         * lib/base64.c: Likewise.
70706         * lib/check-version.c: Likewise.
70707         * lib/crc.c: Likewise.
70708         * lib/des.c: Likewise.
70709         * lib/gc-gnulib.c: Likewise.
70710         * lib/gc-libgcrypt.c: Likewise.
70711         * lib/gc-pbkdf2-sha1.c: Likewise.
70712         * lib/getaddrinfo.c: Likewise.
70713         * lib/getdelim.c: Likewise.
70714         * lib/getline.c: Likewise.
70715         * lib/hmac-md5.c: Likewise.
70716         * lib/hmac-sha1.c: Likewise.
70717         * lib/iconvme.c: Likewise.
70718         * lib/md2.c: Likewise.
70719         * lib/md4.c: Likewise.
70720         * lib/memxor.c: Likewise.
70721         * lib/read-file.c: Likewise.
70722         * lib/readline.c: Likewise.
70723         * lib/rijndael-alg-fst.c: Likewise.
70724         * lib/rijndael-api-fst.c: Likewise.
70725         * lib/xgetdomainname.c: Likewise.
70726
70727 2006-10-28  Eric Blake  <ebb9@byu.net>
70728
70729         * lib/xstrndup.c: Assume config.h.
70730
70731 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70732
70733         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70734         stat-macros.h is now for our own macros, whereas stat_h is for
70735         macros in the <sys/stat.h> name space.
70736         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70737         (STAT_MACROS_H): Remove.
70738         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70739         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70740         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70741         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70742         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70743         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70744         Move these macros to ...
70745         * lib/stat_.h: here.  Don't include stat-macros.h.
70746         * lib/canonicalize.c: Don't include stat-macros.h.
70747         * lib/chown.c: Likewise.
70748         * lib/euidaccess.c: Likewise.
70749         * lib/file-type.c: Likewise.
70750         * lib/filemode.c: Likewise.
70751         * lib/glob.c: Likewise.
70752         * lib/isapipe.c: Likewise.
70753         * lib/lchown.c: Likewise.
70754         * lib/lstat.c: Likewise.
70755         * lib/mkdir-p.c: Likewise.
70756         * lib/rmdir.c: Likewise.
70757         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70758         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70759         unless mkdir isn't declared, to speed up 'configure'.
70760         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70761         would define all the S_* symbols.
70762         * modules/canonicalize (Depends-on):
70763         Depend on sys_stat, not stat-macros.
70764         * modules/chown: Likewise.
70765         * modules/euidaccess: Likewise.
70766         * modules/filemode: Likewise.
70767         * modules/file-type: Likewise.
70768         * modules/glob: Likewise.
70769         * modules/isapipe: Likewise.
70770         * modules/lchown: Likewise.
70771         * modules/lstat: Likewise.
70772         * modules/mkancesdirs: Likewise.
70773         * modules/rmdir: Likewise.
70774         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70775         * modules/modechange: Likewise.
70776         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70777         (configure.ac): Remove gl_STAT_MACROS.
70778         * modules/sys_stat (Depends-on): Remove stat-macros.
70779
70780 2006-10-27  Bruno Haible  <bruno@clisp.org>
70781
70782         * m4/signed.m4: Remove file.
70783         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70784         invocation.
70785         * modules/vasnprintf (Files): Remove m4/signed.m4.
70786
70787 2006-10-27  Bruno Haible  <bruno@clisp.org>
70788
70789         Update to GNU gettext 0.16.
70790         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70791         m4/inttypes-h.m4, m4/signed.m4.
70792         * m4/gettext.m4: Update to GNU gettext 0.16.
70793         * m4/intl.m4: New file, from GNU gettext.
70794         * m4/intldir.m4: New file, from GNU gettext.
70795         * config/srclist.txt: Update
70796
70797 2006-10-27  Eric Blake  <ebb9@byu.net>
70798
70799         * MODULES.html.sh: Document tempname.
70800         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70801         dependencies.
70802         (Files): Move lib/tempname.c...
70803         * modules/tempname: ...to this new module.
70804         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70805         (gl_PREREQ_TEMPNAME): Move...
70806         * m4/tempname.m4: ...to this new file.
70807         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70808         * modules/sys_stat (Depends-on): Add stat-macros.
70809         * lib/stat_.h (includes): Pick up stat macros.
70810         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70811         if stat macros are broken.
70812         * lib/tempname.c (includes): No need to include "stat-macros.h".
70813         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70814         (direxists, __path_search) [!_LIBC]: Don't compile these in
70815         gnulib; the tmpdir module covers that.
70816         * lib/tempname.h: New file.
70817
70818 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70819
70820         * COPYING: Explain how gnulib-tool converts licence headers.
70821         Almost all wording by Eric Blake.
70822
70823 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70824
70825         * lib/mbchar.h (is_basic_table): Make read-only.
70826         * lib/mbchar.c (is_basic_table): Likewise.
70827         Reported by John Darrington.
70828
70829 2006-10-25  Bruno Haible  <bruno@clisp.org>
70830
70831         * lib/progname.h (set_program_name): Undefine before defining.
70832
70833 2006-10-25  Bruno Haible  <bruno@clisp.org>
70834
70835         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70836         false for non-gcc C++ compilers.
70837         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70838
70839 2006-10-24  Bruno Haible  <bruno@clisp.org>
70840
70841         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70842         iconv implementations like Irix iconv.
70843
70844 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70845
70846         * modules/vararrays: New file.
70847         * m4/vararrays.m4: New file, taken from diffutils.
70848         * MODULES.html.sh: New module vararrays.
70849
70850 2006-10-24  Karl Berry  <karl@gnu.org>
70851
70852         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70853         Don't call GNU Unix.
70854
70855 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70856
70857         * users.txt: Add Libtool.
70858
70859         Sync from Libtool:
70860
70861         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70862
70863         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70864         to gnulib's policy of including config.h unconditionally.
70865
70866 2006-10-24  Bruno Haible  <bruno@clisp.org>
70867
70868         * modules/wcwidth (Files): Add m4/wint_t.m4.
70869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70870         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70871
70872 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70873
70874         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70875         to pacify GCC with some -W flags enabled.  Problem reported by
70876         Bruno Haible.
70877
70878 2006-10-24  Jim Meyering  <jim@meyering.net>
70879
70880         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70881         Reported by Karl Berry.
70882
70883 2006-10-23  Bruno Haible  <bruno@clisp.org>
70884
70885         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70886
70887 2006-10-24  Bruno Haible  <bruno@clisp.org>
70888
70889         * lib/gl_list.h: Use C comment style, not C++ comment style.
70890
70891 2006-10-23  Eric Blake  <ebb9@byu.net>
70892
70893         * lib/getaddrinfo.c (includes): Add missing include.
70894
70895 2006-10-23  Bruno Haible  <bruno@clisp.org>
70896             Paul Eggert  <eggert@cs.ucla.edu>
70897
70898         Ability to rename obstack_free.
70899         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70900         obstack_free.
70901         (obstack_free): Invoke the __obstack_free macro.
70902         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70903
70904 2006-10-23  Bruno Haible  <bruno@clisp.org>
70905             Paul Eggert  <eggert@cs.ucla.edu>
70906
70907         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70908         __argc, __argv from the declaration. (They are defined as macros on
70909         mingw.)
70910
70911 2006-10-22  Bruno Haible  <bruno@clisp.org>
70912
70913         * doc/gnulib-intro.texi: New file.
70914         * doc/gnulib.texi: Include it.
70915
70916 2006-10-21  Bruno Haible  <bruno@clisp.org>
70917
70918         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70919         "Introduction", "Miscellanous Notes", "Particular Modules".
70920
70921 2006-10-21  Bruno Haible  <bruno@clisp.org>
70922
70923         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70924         Change mostlyclean-local rule to avoid sh syntax error from bash
70925         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70926
70927 2006-10-23  Jim Meyering  <jim@meyering.net>
70928
70929         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70930         in place of snprintf.
70931
70932         * modules/inttostr (Files): Add lib/uinttostr.c.
70933         * lib/uinttostr.c (inttostr): New file/function.
70934         * lib/inttostr.h (uinttostr): Declare.
70935         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70936         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70937         Add uinttostr.
70938         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70939
70940 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70941
70942         * lib/canonicalize.c (ELOOP): Define if not already defined.
70943         Problem reported by Bruno Haible in
70944         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70945
70946 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70947
70948         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70949         Problem reported by Perry Smith and Ville Laurikari.
70950
70951         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70952         uses.
70953
70954 2006-10-19  Bruno Haible  <bruno@clisp.org>
70955
70956         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70957         for mingw.
70958
70959 2006-10-19  Bruno Haible  <bruno@clisp.org>
70960
70961         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70962         Needed for mingw.
70963
70964 2006-10-19  Bruno Haible  <bruno@clisp.org>
70965
70966         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70967
70968 2006-10-19  Bruno Haible  <bruno@clisp.org>
70969
70970         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70971         it.
70972
70973 2006-10-19  Bruno Haible  <bruno@clisp.org>
70974
70975         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70976         invocation.
70977
70978 2006-10-19  Bruno Haible  <bruno@clisp.org>
70979
70980         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70981         mountlist by default.
70982
70983 2006-10-16  Bruno Haible  <bruno@clisp.org>
70984
70985         * lib/c-strstr.c: Include c-strstr.h.
70986
70987 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70988
70989         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70990         in a slash.
70991
70992 2006-10-18  Bruno Haible  <bruno@clisp.org>
70993
70994         * lib/lock.h [C++]: Wrap definitions in extern "C".
70995
70996 2006-10-18  Bruno Haible  <bruno@clisp.org>
70997
70998         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70999         gl_LIBOBJS list.
71000
71001 2006-10-18  Bruno Haible  <bruno@clisp.org>
71002
71003         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71004
71005 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71006
71007         * lib/xstrtol.h: Include gettext.h.
71008         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71009         Problem reported by Eric Blake.
71010         * modules/xstrtol (Depends-on): Add gettext-h.
71011
71012 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71013
71014         * lib/strftime.c (advance): New macro.
71015         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71016         incomplete type, so you can't add 0 to it.  Problem and patch
71017         reported by Eelco Dolstra for dietlibc.
71018
71019 2006-10-18  Jim Meyering  <jim@meyering.net>
71020
71021         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71022         type for a local, and rename it: s/up/user_proc/.
71023
71024 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71025
71026         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71027         READ_UTMP_USER_PROCESS.
71028         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71029
71030 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71031
71032         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71033         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71034
71035 2006-10-17  Eric Blake  <ebb9@byu.net>
71036
71037         * lib/sigprocmask.c (sigprocmask): Fix typo.
71038
71039         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71040
71041         * modules/clean-temp (Makefile.am): Don't add to make output...
71042         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71043         config.h.
71044
71045 2006-10-17  Bruno Haible  <bruno@clisp.org>
71046
71047         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71048         differently if DEFAULT_TEXT_DOMAIN is set.
71049
71050 2006-10-16  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/clean-temp.c: Include fwriteerror.h.
71053
71054 2006-10-16  Bruno Haible  <bruno@clisp.org>
71055
71056         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71057
71058 2006-10-16  Bruno Haible  <bruno@clisp.org>
71059
71060         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71061         * lib/sigprocmask.h: Include <sys/types.h>.
71062         (sigset_t): Use the system's definition if present.
71063
71064 2006-10-17  Eric Blake  <ebb9@byu.net>
71065
71066         * lib/xvasprintf.c (includes): Assume config.h.
71067         * lib/xasprintf.c (includes): Likewise.
71068
71069 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71070
71071         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71072         at least as wide as intmax_t.
71073
71074 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71075
71076         (Imported from Automake.)
71077         * build-aux/gnupload: Update to version 1.1 of directive file.
71078
71079 2006-10-16  Eric Blake  <ebb9@byu.net>
71080
71081         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71082         match Automake 1.10a.
71083
71084 2006-10-14  Bruno Haible  <bruno@clisp.org>
71085
71086         * modules/sigprocmask: New file.
71087         * lib/sigprocmask.h: New file.
71088         * lib/sigprocmask.c: New file.
71089         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71090         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71091         request sigprocmask.o.
71092         (gl_PREREQ_SIGPROCMASK): New macro.
71093         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71094         (Depends-on): Add sigprocmask.
71095         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71096         gt_SIGNALBLOCKING. Test for 'raise' only once.
71097         * lib/fatal-signal.c: Include sigprocmask.h.
71098         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71099         unblock_fatal_signals): Define always.
71100         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71101         sigprocmask.
71102
71103 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71104
71105         Sync from Automake.
71106         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71107         which incorrectly sets the mode of an existing destination
71108         directory.  In some cases the unpatched install-sh could do the
71109         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71110         system.  We hope this is rare in practice, but it's clearly worth
71111         fixing.  Problem reported by Alex Unleashed in
71112         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71113         Also, don't bother to check for -m bugs unless we're using -m;
71114         suggested by Stepan Kasal.
71115
71116 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71117
71118         Sync from Automake.
71119         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71120         `-c' flag, so they appear at the same position as in %FASTDEP%
71121         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71122         which ignores unknown options only after the first non-option.
71123         Bug report against M4 by Nelson H. F. Beebe.
71124
71125 2006-10-13  Jim Meyering  <jim@meyering.net>
71126
71127         Fix a bug in yesterday's change.
71128         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71129         p->fts_statp->st_dev would be used uninitialized.
71130         Ensures that we always call fts_stat on the very first entry.
71131         Miklos Szeredi reported that find -xdev stopped working.
71132
71133 2006-10-12  Bruno Haible  <bruno@clisp.org>
71134
71135         * gnulib-tool (func_get_automake_snippet): Append an automatically
71136         computed EXTRA_DIST augmentation.
71137         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71138         * modules/alloca-opt (Makefile.am): Likewise.
71139         * modules/allocsa (Makefile.am): Likewise.
71140         * modules/arcfour (Makefile.am): Likewise.
71141         * modules/arctwo (Makefile.am): Likewise.
71142         * modules/argmatch (Makefile.am): Likewise.
71143         * modules/argz (Makefile.am): Likewise.
71144         * modules/atexit (Makefile.am): Likewise.
71145         * modules/backupfile (Makefile.am): Likewise.
71146         * modules/byteswap (Makefile.am): Likewise.
71147         * modules/c-strtod (Makefile.am): Likewise.
71148         * modules/c-strtold (Makefile.am): Likewise.
71149         * modules/calloc (Makefile.am): Likewise.
71150         * modules/canon-host (Makefile.am): Likewise.
71151         * modules/canonicalize (Makefile.am): Likewise.
71152         * modules/chdir-long (Makefile.am): Likewise.
71153         * modules/chdir-safer (Makefile.am): Likewise.
71154         * modules/check-version (Makefile.am): Likewise.
71155         * modules/chown (Makefile.am): Likewise.
71156         * modules/cloexec (Makefile.am): Likewise.
71157         * modules/close-stream (Makefile.am): Likewise.
71158         * modules/closeout (Makefile.am): Likewise.
71159         * modules/crc (Makefile.am): Likewise.
71160         * modules/csharpexec (Makefile.am): Likewise.
71161         * modules/cycle-check (Makefile.am): Likewise.
71162         * modules/des (Makefile.am): Likewise.
71163         * modules/dev-ino (Makefile.am): Likewise.
71164         * modules/dirfd (Makefile.am): Likewise.
71165         * modules/dirname (Makefile.am): Likewise.
71166         * modules/dup2 (Makefile.am): Likewise.
71167         * modules/eealloc (Makefile.am): Likewise.
71168         * modules/error (Makefile.am): Likewise.
71169         * modules/euidaccess (Makefile.am): Likewise.
71170         * modules/exclude (Makefile.am): Likewise.
71171         * modules/exitfail (Makefile.am): Likewise.
71172         * modules/fcntl-safer (Makefile.am): Likewise.
71173         * modules/fcntl (Makefile.am): Likewise.
71174         * modules/file-type (Makefile.am): Likewise.
71175         * modules/fileblocks (Makefile.am): Likewise.
71176         * modules/filemode (Makefile.am): Likewise.
71177         * modules/filenamecat (Makefile.am): Likewise.
71178         * modules/fnmatch (Makefile.am): Likewise.
71179         * modules/fopen-safer (Makefile.am): Likewise.
71180         * modules/fpending (Makefile.am): Likewise.
71181         * modules/fprintftime (Makefile.am): Likewise.
71182         * modules/free (Makefile.am): Likewise.
71183         * modules/fsusage (Makefile.am): Likewise.
71184         * modules/ftruncate (Makefile.am): Likewise.
71185         * modules/fts (Makefile.am): Likewise.
71186         * modules/gc-arcfour (Makefile.am): Likewise.
71187         * modules/gc-des (Makefile.am): Likewise.
71188         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71189         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71190         * modules/gc-md4 (Makefile.am): Likewise.
71191         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71192         * modules/gc-sha1 (Makefile.am): Likewise.
71193         * modules/gc (Makefile.am): Likewise.
71194         * modules/getaddrinfo (Makefile.am): Likewise.
71195         * modules/getcwd (Makefile.am): Likewise.
71196         * modules/getdelim (Makefile.am): Likewise.
71197         * modules/getdomainname (Makefile.am): Likewise.
71198         * modules/getgroups (Makefile.am): Likewise.
71199         * modules/gethostname (Makefile.am): Likewise.
71200         * modules/gethrxtime (Makefile.am): Likewise.
71201         * modules/getline (Makefile.am): Likewise.
71202         * modules/getloadavg (Makefile.am): Likewise.
71203         * modules/getlogin_r (Makefile.am): Likewise.
71204         * modules/getndelim2 (Makefile.am): Likewise.
71205         * modules/getopt (Makefile.am): Likewise.
71206         * modules/getpagesize (Makefile.am): Likewise.
71207         * modules/getpass-gnu (Makefile.am): Likewise.
71208         * modules/getpass (Makefile.am): Likewise.
71209         * modules/getsubopt (Makefile.am): Likewise.
71210         * modules/gettime (Makefile.am): Likewise.
71211         * modules/gettimeofday (Makefile.am): Likewise.
71212         * modules/getugroups (Makefile.am): Likewise.
71213         * modules/getusershell (Makefile.am): Likewise.
71214         * modules/glob (Makefile.am): Likewise.
71215         * modules/group-member (Makefile.am): Likewise.
71216         * modules/hard-locale (Makefile.am): Likewise.
71217         * modules/hash (Makefile.am): Likewise.
71218         * modules/hmac-md5 (Makefile.am): Likewise.
71219         * modules/hmac-sha1 (Makefile.am): Likewise.
71220         * modules/human (Makefile.am): Likewise.
71221         * modules/idcache (Makefile.am): Likewise.
71222         * modules/imaxabs (Makefile.am): Likewise.
71223         * modules/imaxdiv (Makefile.am): Likewise.
71224         * modules/inet_ntop (Makefile.am): Likewise.
71225         * modules/inet_pton (Makefile.am): Likewise.
71226         * modules/intprops (Makefile.am): Likewise.
71227         * modules/inttostr (Makefile.am): Likewise.
71228         * modules/inttypes (Makefile.am): Likewise.
71229         * modules/isapipe (Makefile.am): Likewise.
71230         * modules/javaversion (Makefile.am): Likewise.
71231         * modules/lchmod (Makefile.am): Likewise.
71232         * modules/lchown (Makefile.am): Likewise.
71233         * modules/localcharset (Makefile.am): Likewise.
71234         * modules/long-options (Makefile.am): Likewise.
71235         * modules/lstat (Makefile.am): Likewise.
71236         * modules/malloc (Makefile.am): Likewise.
71237         * modules/mathl (Makefile.am): Likewise.
71238         * modules/mbchar (Makefile.am): Likewise.
71239         * modules/md2 (Makefile.am): Likewise.
71240         * modules/md4 (Makefile.am): Likewise.
71241         * modules/md5 (Makefile.am): Likewise.
71242         * modules/memcasecmp (Makefile.am): Likewise.
71243         * modules/memchr (Makefile.am): Likewise.
71244         * modules/memcmp (Makefile.am): Likewise.
71245         * modules/memcoll (Makefile.am): Likewise.
71246         * modules/memcpy (Makefile.am): Likewise.
71247         * modules/memmem (Makefile.am): Likewise.
71248         * modules/memmove (Makefile.am): Likewise.
71249         * modules/mempcpy (Makefile.am): Likewise.
71250         * modules/memrchr (Makefile.am): Likewise.
71251         * modules/memset (Makefile.am): Likewise.
71252         * modules/memxor (Makefile.am): Likewise.
71253         * modules/mkancesdirs (Makefile.am): Likewise.
71254         * modules/mkdir-p (Makefile.am): Likewise.
71255         * modules/mkdir (Makefile.am): Likewise.
71256         * modules/mkdtemp (Makefile.am): Likewise.
71257         * modules/mkstemp (Makefile.am): Likewise.
71258         * modules/mktime (Makefile.am): Likewise.
71259         * modules/modechange (Makefile.am): Likewise.
71260         * modules/mountlist (Makefile.am): Likewise.
71261         * modules/nanosleep (Makefile.am): Likewise.
71262         * modules/obstack (Makefile.am): Likewise.
71263         * modules/openat (Makefile.am): Likewise.
71264         * modules/pagealign_alloc (Makefile.am): Likewise.
71265         * modules/pathmax (Makefile.am): Likewise.
71266         * modules/physmem (Makefile.am): Likewise.
71267         * modules/poll (Makefile.am): Likewise.
71268         * modules/posixtm (Makefile.am): Likewise.
71269         * modules/posixver (Makefile.am): Likewise.
71270         * modules/putenv (Makefile.am): Likewise.
71271         * modules/quote (Makefile.am): Likewise.
71272         * modules/quotearg (Makefile.am): Likewise.
71273         * modules/raise (Makefile.am): Likewise.
71274         * modules/read-file (Makefile.am): Likewise.
71275         * modules/readline (Makefile.am): Likewise.
71276         * modules/readlink (Makefile.am): Likewise.
71277         * modules/readtokens (Makefile.am): Likewise.
71278         * modules/readutmp (Makefile.am): Likewise.
71279         * modules/realloc (Makefile.am): Likewise.
71280         * modules/regex (Makefile.am): Likewise.
71281         * modules/rename-dest-slash (Makefile.am): Likewise.
71282         * modules/rename (Makefile.am): Likewise.
71283         * modules/rijndael (Makefile.am): Likewise.
71284         * modules/rmdir (Makefile.am): Likewise.
71285         * modules/rpmatch (Makefile.am): Likewise.
71286         * modules/safe-read (Makefile.am): Likewise.
71287         * modules/safe-write (Makefile.am): Likewise.
71288         * modules/same-inode (Makefile.am): Likewise.
71289         * modules/same (Makefile.am): Likewise.
71290         * modules/save-cwd (Makefile.am): Likewise.
71291         * modules/savedir (Makefile.am): Likewise.
71292         * modules/setenv (Makefile.am): Likewise.
71293         * modules/settime (Makefile.am): Likewise.
71294         * modules/sha1 (Makefile.am): Likewise.
71295         * modules/sig2str (Makefile.am): Likewise.
71296         * modules/snprintf (Makefile.am): Likewise.
71297         * modules/stat-macros (Makefile.am): Likewise.
71298         * modules/stat-time (Makefile.am): Likewise.
71299         * modules/stdbool (Makefile.am): Likewise.
71300         * modules/stdint (Makefile.am): Likewise.
71301         * modules/stdlib-safer (Makefile.am): Likewise.
71302         * modules/stpcpy (Makefile.am): Likewise.
71303         * modules/stpncpy (Makefile.am): Likewise.
71304         * modules/strcase (Makefile.am): Likewise.
71305         * modules/strcasestr (Makefile.am): Likewise.
71306         * modules/strchrnul (Makefile.am): Likewise.
71307         * modules/strcspn (Makefile.am): Likewise.
71308         * modules/strdup (Makefile.am): Likewise.
71309         * modules/strerror (Makefile.am): Likewise.
71310         * modules/strftime (Makefile.am): Likewise.
71311         * modules/strndup (Makefile.am): Likewise.
71312         * modules/strnlen (Makefile.am): Likewise.
71313         * modules/strpbrk (Makefile.am): Likewise.
71314         * modules/strsep (Makefile.am): Likewise.
71315         * modules/strstr (Makefile.am): Likewise.
71316         * modules/strtod (Makefile.am): Likewise.
71317         * modules/strtoimax (Makefile.am): Likewise.
71318         * modules/strtok_r (Makefile.am): Likewise.
71319         * modules/strtol (Makefile.am): Likewise.
71320         * modules/strtoll (Makefile.am): Likewise.
71321         * modules/strtoul (Makefile.am): Likewise.
71322         * modules/strtoull (Makefile.am): Likewise.
71323         * modules/strtoumax (Makefile.am): Likewise.
71324         * modules/strverscmp (Makefile.am): Likewise.
71325         * modules/sys_socket (Makefile.am): Likewise.
71326         * modules/sys_stat (Makefile.am): Likewise.
71327         * modules/sysexits (Makefile.am): Likewise.
71328         * modules/time_r (Makefile.am): Likewise.
71329         * modules/timegm (Makefile.am): Likewise.
71330         * modules/timespec (Makefile.am): Likewise.
71331         * modules/tmpfile-safer (Makefile.am): Likewise.
71332         * modules/trim (Makefile.am): Likewise.
71333         * modules/unistd-safer (Makefile.am): Likewise.
71334         * modules/unlinkdir (Makefile.am): Likewise.
71335         * modules/unlocked-io (Makefile.am): Likewise.
71336         * modules/userspec (Makefile.am): Likewise.
71337         * modules/utime (Makefile.am): Likewise.
71338         * modules/utimecmp (Makefile.am): Likewise.
71339         * modules/utimens (Makefile.am): Likewise.
71340         * modules/vasnprintf (Makefile.am): Likewise.
71341         * modules/vasprintf (Makefile.am): Likewise.
71342         * modules/vsnprintf (Makefile.am): Likewise.
71343         * modules/xalloc (Makefile.am): Likewise.
71344         * modules/xgetcwd (Makefile.am): Likewise.
71345         * modules/xnanosleep (Makefile.am): Likewise.
71346         * modules/xreadlink (Makefile.am): Likewise.
71347         * modules/xstrtod (Makefile.am): Likewise.
71348         * modules/xstrtol (Makefile.am): Likewise.
71349         * modules/xstrtold (Makefile.am): Likewise.
71350         * modules/yesno (Makefile.am): Likewise.
71351         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71352
71353 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * modules/error (Makefile.am): Distribute files through
71356         EXTRA_DIST, not lib_SOURCES.
71357
71358 2006-10-12  Eric Blake  <ebb9@byu.net>
71359
71360         * modules/error (Makefile.am): Distribute files in /lib.
71361         * modules/obstack (Makefile.am): Likewise.
71362
71363 2006-10-12  Bruno Haible  <bruno@clisp.org>
71364
71365         * modules/acl (Makefile.am): Distribute all files in lib/ through
71366         EXTRA_DIST.
71367         * modules/arcfour (Makefile.am): Likewise.
71368         * modules/arctwo (Makefile.am): Likewise.
71369         * modules/argmatch (Makefile.am): Likewise.
71370         * modules/argz (Makefile.am): Likewise.
71371         * modules/atexit (Makefile.am): Likewise.
71372         * modules/backupfile (Makefile.am): Likewise.
71373         * modules/c-strtod (Makefile.am): Likewise.
71374         * modules/c-strtold (Makefile.am): Likewise.
71375         * modules/calloc (Makefile.am): Likewise.
71376         * modules/canon-host (Makefile.am): Likewise.
71377         * modules/canonicalize (Makefile.am): Likewise.
71378         * modules/chdir-long (Makefile.am): Likewise.
71379         * modules/chdir-safer (Makefile.am): Likewise.
71380         * modules/check-version (Makefile.am): Likewise.
71381         * modules/chown (Makefile.am): Likewise.
71382         * modules/cloexec (Makefile.am): Likewise.
71383         * modules/close-stream (Makefile.am): Likewise.
71384         * modules/closeout (Makefile.am): Likewise.
71385         * modules/crc (Makefile.am): Likewise.
71386         * modules/cycle-check (Makefile.am): Likewise.
71387         * modules/des (Makefile.am): Likewise.
71388         * modules/dirfd (Makefile.am): Likewise.
71389         * modules/dirname (Makefile.am): Likewise.
71390         * modules/dup2 (Makefile.am): Likewise.
71391         * modules/euidaccess (Makefile.am): Likewise.
71392         * modules/exclude (Makefile.am): Likewise.
71393         * modules/exitfail (Makefile.am): Likewise.
71394         * modules/fcntl-safer (Makefile.am): Likewise.
71395         * modules/file-type (Makefile.am): Likewise.
71396         * modules/fileblocks (Makefile.am): Likewise.
71397         * modules/filemode (Makefile.am): Likewise.
71398         * modules/filenamecat (Makefile.am): Likewise.
71399         * modules/fnmatch (Makefile.am): Likewise.
71400         * modules/fopen-safer (Makefile.am): Likewise.
71401         * modules/fpending (Makefile.am): Likewise.
71402         * modules/fprintftime (Makefile.am): Likewise.
71403         * modules/free (Makefile.am): Likewise.
71404         * modules/fsusage (Makefile.am): Likewise.
71405         * modules/ftruncate (Makefile.am): Likewise.
71406         * modules/fts (Makefile.am): Likewise.
71407         * modules/gc (Makefile.am): Likewise.
71408         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71409         * modules/getaddrinfo (Makefile.am): Likewise.
71410         * modules/getcwd (Makefile.am): Likewise.
71411         * modules/getdelim (Makefile.am): Likewise.
71412         * modules/getdomainname (Makefile.am): Likewise.
71413         * modules/getgroups (Makefile.am): Likewise.
71414         * modules/gethostname (Makefile.am): Likewise.
71415         * modules/gethrxtime (Makefile.am): Likewise.
71416         * modules/getline (Makefile.am): Likewise.
71417         * modules/getloadavg (Makefile.am): Likewise.
71418         * modules/getlogin_r (Makefile.am): Likewise.
71419         * modules/getopt (Makefile.am): Likewise.
71420         * modules/getpass (Makefile.am): Likewise.
71421         * modules/getpass-gnu (Makefile.am): Likewise.
71422         * modules/getsubopt (Makefile.am): Likewise.
71423         * modules/gettime (Makefile.am): Likewise.
71424         * modules/gettimeofday (Makefile.am): Likewise.
71425         * modules/getugroups (Makefile.am): Likewise.
71426         * modules/getusershell (Makefile.am): Likewise.
71427         * modules/glob (Makefile.am): Likewise.
71428         * modules/group-member (Makefile.am): Likewise.
71429         * modules/hard-locale (Makefile.am): Likewise.
71430         * modules/hash (Makefile.am): Likewise.
71431         * modules/hmac-md5 (Makefile.am): Likewise.
71432         * modules/hmac-sha1 (Makefile.am): Likewise.
71433         * modules/human (Makefile.am): Likewise.
71434         * modules/idcache (Makefile.am): Likewise.
71435         * modules/imaxabs (Makefile.am): Likewise.
71436         * modules/imaxdiv (Makefile.am): Likewise.
71437         * modules/inet_ntop (Makefile.am): Likewise.
71438         * modules/inet_pton (Makefile.am): Likewise.
71439         * modules/inttostr (Makefile.am): Likewise.
71440         * modules/isapipe (Makefile.am): Likewise.
71441         * modules/lchown (Makefile.am): Likewise.
71442         * modules/long-options (Makefile.am): Likewise.
71443         * modules/lstat (Makefile.am): Likewise.
71444         * modules/malloc (Makefile.am): Likewise.
71445         * modules/mathl (Makefile.am): Likewise.
71446         * modules/mbchar (Makefile.am): Likewise.
71447         * modules/md2 (Makefile.am): Likewise.
71448         * modules/md4 (Makefile.am): Likewise.
71449         * modules/md5 (Makefile.am): Likewise.
71450         * modules/memcasecmp (Makefile.am): Likewise.
71451         * modules/memchr (Makefile.am): Likewise.
71452         * modules/memcmp (Makefile.am): Likewise.
71453         * modules/memcoll (Makefile.am): Likewise.
71454         * modules/memcpy (Makefile.am): Likewise.
71455         * modules/memmem (Makefile.am): Likewise.
71456         * modules/memmove (Makefile.am): Likewise.
71457         * modules/mempcpy (Makefile.am): Likewise.
71458         * modules/memrchr (Makefile.am): Likewise.
71459         * modules/memset (Makefile.am): Likewise.
71460         * modules/memxor (Makefile.am): Likewise.
71461         * modules/mkancesdirs (Makefile.am): Likewise.
71462         * modules/mkdir (Makefile.am): Likewise.
71463         * modules/mkdir-p (Makefile.am): Likewise.
71464         * modules/mkdtemp (Makefile.am): Likewise.
71465         * modules/mkstemp (Makefile.am): Likewise.
71466         * modules/mktime (Makefile.am): Likewise.
71467         * modules/modechange (Makefile.am): Likewise.
71468         * modules/mountlist (Makefile.am): Likewise.
71469         * modules/nanosleep (Makefile.am): Likewise.
71470         * modules/openat (Makefile.am): Likewise.
71471         * modules/pagealign_alloc (Makefile.am): Likewise.
71472         * modules/physmem (Makefile.am): Likewise.
71473         * modules/poll (Makefile.am): Likewise.
71474         * modules/posixtm (Makefile.am): Likewise.
71475         * modules/posixver (Makefile.am): Likewise.
71476         * modules/putenv (Makefile.am): Likewise.
71477         * modules/quote (Makefile.am): Likewise.
71478         * modules/quotearg (Makefile.am): Likewise.
71479         * modules/raise (Makefile.am): Likewise.
71480         * modules/read-file (Makefile.am): Likewise.
71481         * modules/readline (Makefile.am): Likewise.
71482         * modules/readlink (Makefile.am): Likewise.
71483         * modules/readtokens (Makefile.am): Likewise.
71484         * modules/readutmp (Makefile.am): Likewise.
71485         * modules/realloc (Makefile.am): Likewise.
71486         * modules/regex (Makefile.am): Likewise.
71487         * modules/rename (Makefile.am): Likewise.
71488         * modules/rename-dest-slash (Makefile.am): Likewise.
71489         * modules/rijndael (Makefile.am): Likewise.
71490         * modules/rmdir (Makefile.am): Likewise.
71491         * modules/rpmatch (Makefile.am): Likewise.
71492         * modules/safe-read (Makefile.am): Likewise.
71493         * modules/safe-write (Makefile.am): Likewise.
71494         * modules/same (Makefile.am): Likewise.
71495         * modules/save-cwd (Makefile.am): Likewise.
71496         * modules/savedir (Makefile.am): Likewise.
71497         * modules/setenv (Makefile.am): Likewise.
71498         * modules/settime (Makefile.am): Likewise.
71499         * modules/sha1 (Makefile.am): Likewise.
71500         * modules/sig2str (Makefile.am): Likewise.
71501         * modules/snprintf (Makefile.am): Likewise.
71502         * modules/stdlib-safer (Makefile.am): Likewise.
71503         * modules/stpcpy (Makefile.am): Likewise.
71504         * modules/stpncpy (Makefile.am): Likewise.
71505         * modules/strcase (Makefile.am): Likewise.
71506         * modules/strcasestr (Makefile.am): Likewise.
71507         * modules/strchrnul (Makefile.am): Likewise.
71508         * modules/strcspn (Makefile.am): Likewise.
71509         * modules/strdup (Makefile.am): Likewise.
71510         * modules/strerror (Makefile.am): Likewise.
71511         * modules/strftime (Makefile.am): Likewise.
71512         * modules/strndup (Makefile.am): Likewise.
71513         * modules/strnlen (Makefile.am): Likewise.
71514         * modules/strpbrk (Makefile.am): Likewise.
71515         * modules/strsep (Makefile.am): Likewise.
71516         * modules/strstr (Makefile.am): Likewise.
71517         * modules/strtod (Makefile.am): Likewise.
71518         * modules/strtoimax (Makefile.am): Likewise.
71519         * modules/strtok_r (Makefile.am): Likewise.
71520         * modules/strtol (Makefile.am): Likewise.
71521         * modules/strtoll (Makefile.am): Likewise.
71522         * modules/strtoul (Makefile.am): Likewise.
71523         * modules/strtoull (Makefile.am): Likewise.
71524         * modules/strtoumax (Makefile.am): Likewise.
71525         * modules/strverscmp (Makefile.am): Likewise.
71526         * modules/time_r (Makefile.am): Likewise.
71527         * modules/timegm (Makefile.am): Likewise.
71528         * modules/tmpfile-safer (Makefile.am): Likewise.
71529         * modules/unistd-safer (Makefile.am): Likewise.
71530         * modules/unlinkdir (Makefile.am): Likewise.
71531         * modules/userspec (Makefile.am): Likewise.
71532         * modules/utime (Makefile.am): Likewise.
71533         * modules/utimecmp (Makefile.am): Likewise.
71534         * modules/utimens (Makefile.am): Likewise.
71535         * modules/vasnprintf (Makefile.am): Likewise.
71536         * modules/vasprintf (Makefile.am): Likewise.
71537         * modules/vsnprintf (Makefile.am): Likewise.
71538         * modules/xalloc (Makefile.am): Likewise.
71539         * modules/xgetcwd (Makefile.am): Likewise.
71540         * modules/xnanosleep (Makefile.am): Likewise.
71541         * modules/xreadlink (Makefile.am): Likewise.
71542         * modules/xstrtod (Makefile.am): Likewise.
71543         * modules/xstrtol (Makefile.am): Likewise.
71544         * modules/xstrtold (Makefile.am): Likewise.
71545         * modules/yesno (Makefile.am): Likewise.
71546
71547 2006-10-12  Jim Meyering  <jim@meyering.net>
71548
71549         * m4/getloadavg.m4: Revert the change below.
71550
71551         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71552         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71553         fail with a symlink, which is what coreutils' ./bootstrap now
71554         creates by default.
71555
71556 2006-10-12  Bruno Haible  <bruno@clisp.org>
71557
71558         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71559         mingw.
71560         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71561         MSVC and mingw explicitly.
71562
71563 2006-10-11  Simon Josefsson  <jas@extundo.com>
71564             Bruno Haible  <bruno@clisp.org>
71565
71566         Add support for multiple gnulib-tool invocations in the scope of a
71567         single configure.ac file.
71568         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71569         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71570         with the same contents as the _LIBADD variable.
71571         (func_emit_initmacro_start, func_emit_initmacro_end,
71572         func_emit_initmacro_done): New functions.
71573         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71574         gl_LIBOBJS and gl_LTLIBOBJS.
71575
71576 2006-10-11  Bruno Haible  <bruno@clisp.org>
71577
71578         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71579         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71580         autoreconf. Instead, invoke autopoint explicitly but move back the
71581         *.m4 files from gnulib.
71582
71583 2006-10-11  Bruno Haible  <bruno@clisp.org>
71584
71585         * gnulib-tool (func_usage): Make module names after --create-testdir
71586         optional.
71587         (func_create_testdir): If no module was specified, use nearly all
71588         modules.
71589
71590 2006-10-12  Jim Meyering  <jim@meyering.net>
71591
71592         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71593         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71594         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71595         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71596         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71597         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71598         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71599         (fts_set_stat_required): New function.
71600         (fts_open): Defer the calls to fts_stat, if possible or requested.
71601         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71602         into fts_stat itself.
71603         (fts_read): Perform any required (deferred) fts_stat call.
71604         (fts_build): Likewise, for the directory we're about to open and read.
71605         In the readdir loop, carefully decide whether each entry will require
71606         an eventual call to fts_stat, using dirent.d_type info if available.
71607         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71608         a command line argument into this function.  Update all callers.
71609         Map a return value of FTS_DOT to FTS_D for a command line argument.
71610         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71611         Thanks to Miklos Szeredi for his tenacity and for the initial
71612         bug report about "find" failing on a FUSE-based file system.
71613
71614         * lib/fts.c (fts_open): Use consistent indentation.
71615
71616 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71617
71618         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71619         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71620         reported by Jim Meyering.  All uses of cache variables renamed
71621         to match Autoconf's.
71622         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71623         the other one.
71624
71625         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71626         Fix misspelling in diagnostic.
71627
71628 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71629
71630         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71631         defined.  Problem reported by Matthew Woehlke.
71632
71633         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71634         Add support for Tandem NonStop R series.
71635         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71636         Use new macro.
71637
71638         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71639         (has_trailing_slash): Omit size arg; all callers changed.
71640         Omit 'inline', since it doesn't help performance and we'd
71641         need to configure it.
71642         Don't count //, ///, etc. as having a trailing slash.
71643         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71644         (rpl_rename_dest_slash): On failure, use rename's errno rather
71645         than (in some cases) an incorrect or junk errno.
71646         Simplify code by removing need to compute length; this does
71647         cause it to make two passes instead of one over the file name,
71648         but it's worth it.
71649
71650         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71651         change, since Autoconf's version may no longer be appropriate now
71652         that we are using CVS Autoconf's version.  Add support for Tandem.
71653
71654 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71655             Bruno Haible  <bruno@clisp.org>
71656
71657         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71658         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71659         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71660         gl_AC_TYPE_LONG_LONG.
71661
71662         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71663         instead of HAVE_LONG_LONG.
71664         * lib/printf-args.c (printf_fetchargs): Likewise.
71665         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71666         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71667         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71668         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71669         gl_AC_TYPE_LONG_LONG.
71670
71671 2006-10-11  Bruno Haible  <bruno@clisp.org>
71672
71673         * m4/longlong.m4: Add comments.
71674         * m4/ulonglong.m4: Likewise.
71675
71676 2006-10-10  Bruno Haible  <bruno@clisp.org>
71677
71678         Make it possible to #define stpcpy, strdup to aliases.
71679         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71680         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71681
71682 2006-10-10  Bruno Haible  <bruno@clisp.org>
71683
71684         Make it possible to #define gcd to an alias.
71685         * lib/gcd.c: Include config.h.
71686
71687 2006-10-10  Bruno Haible  <bruno@clisp.org>
71688
71689         Make it possible to #define c_isascii to an alias.
71690         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71691         defined. Undefine the macros before defining them, to avoid gcc
71692         warnings.
71693         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71694         define NO_C_CTYPE_MACROS early.
71695
71696 2006-10-10  Bruno Haible  <bruno@clisp.org>
71697
71698         Make it possible to #define set_program_name to an alias.
71699         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71700         ENABLE_RELOCATABLE early.
71701
71702 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71703
71704         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71705         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71706         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71707         More generally, don't assume that 64-bit signed int is available
71708         if unsigned int is, and vice versa.
71709         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71710         unsigned symbols, not on their signed counterparts.
71711         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71712         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71713         (UINT64_C, UINTMAX_C):
71714         Likewise.
71715         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71716         unsigned counterparts.
71717         (Have_long_long, Unsigned): New macros.
71718         (Int): Renamed from INT.
71719         (strtoimax): Use the new macros.
71720         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71721         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71722         * modules/inttypes (inttypes.h): Substitute
71723         HAVE_UNSIGNED_LONG_LONG_INT.
71724         * modules/stdint (stdint.h): Likewise.
71725         (Files): Add m4/ulonglong.m4.
71726
71727 2006-10-10  Bruno Haible  <bruno@clisp.org>
71728
71729         Fix a gcc -Wshadow warning.
71730         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71731         to 'bucket'.
71732         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71733         gl_linked_indexof_from_to): Likewise.
71734         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71735         Likewise.
71736         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71737         Likewise.
71738         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71739         Reported by Eric Blake.
71740
71741 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71742
71743         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71744         for NetBSD.  Problem reported by Bruno Haible.
71745
71746 2006-10-09  Jim Meyering  <jim@meyering.net>
71747
71748         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71749         Patch from Bruno Haible.
71750
71751 2006-10-09  Jim Meyering  <jim@meyering.net>
71752
71753         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71754         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71755         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71756
71757 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71758
71759         Don't include <config.h> twice; this doesn't work in some cases,
71760         e.g., when config.h has "#define intmax_t long long int" and
71761         we include <config.h>, <inttypes.h>, <config.h> in that order.
71762         Problem reported by Matthew Woehlke in:
71763         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71764         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71765         * lib/fts-cycle.c: Don't include config.h.
71766         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71767         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71768         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71769         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71770         inttypes.h.
71771         * lib/xstrtoumax.c: Likewise.
71772         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71773         __strtol and the like, so that this module is more like its siblings.
71774         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71775         Remove; no longer needed now that we assume gnulib inttypes.h.
71776
71777 2006-10-08  Bruno Haible  <bruno@clisp.org>
71778
71779         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71780         option.
71781
71782 2006-10-07  Jim Meyering  <jim@meyering.net>
71783
71784         * modules/inttypes (inttypes.h): Revert what seems to have been
71785         an inadvertent part of today's change: use "|", not "/" in the
71786         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71787
71788 2006-10-07  Bruno Haible  <bruno@clisp.org>
71789
71790         * modules/sublist: New file.
71791
71792 2006-10-07  Bruno Haible  <bruno@clisp.org>
71793
71794         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71795         * modules/argz (argz.h): Likewise.
71796         * modules/arpa_inet (arpa/inet.h): Likewise.
71797         * modules/byteswap (byteswap.h): Likewise.
71798         * modules/configmake (configmake.h): Likewise.
71799         * modules/fcntl (fcntl.h): Likewise.
71800         * modules/fnmatch (fnmatch.h): Likewise.
71801         * modules/getopt (getopt.h): Likewise.
71802         * modules/glob (glob.h): Likewise.
71803         * modules/inttypes (inttypes.h): Likewise.
71804         * modules/netinet_in (netinet/in.h): Likewise.
71805         * modules/poll (poll.h): Likewise.
71806         * modules/stdbool (stdbool.h): Likewise.
71807         * modules/stdint (stdint.h): Likewise.
71808         * modules/sys_select (sys/select.h): Likewise.
71809         * modules/sys_socket (sys/socket.h): Likewise.
71810         * modules/sys_stat (sys/stat.h): Likewise.
71811         * modules/sysexits (sysexits.h): Likewise.
71812         * modules/unistd (unistd.h): Likewise.
71813         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71814         Add a "DO NOT EDIT" comment to the generated file.
71815         (func_import): Likewise for gnulib-comp.m4.
71816
71817 2006-10-07  Bruno Haible  <bruno@clisp.org>
71818
71819         * lib/gl_sublist.h: New file.
71820         * lib/gl_sublist.c: New file.
71821
71822 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71823
71824         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71825         name (relative to the original working directory) and the file
71826         name component (relative to the temporary working directory).  All
71827         callers changed.
71828         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71829         * lib/mkdir-p.c (make_dir_parents): Likewise.
71830         * lib/mkdir-p.h (make_dir_parents): Likewise.
71831
71832 2006-10-06  Eric Blake  <ebb9@byu.net>
71833
71834         Define several macros for use by the clean-temp module.
71835         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71836         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71837         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71838
71839         * lib/clean-temp.h (close_stream_temp): New declaration.
71840         * lib/clean-temp.c (includes): Pull in headers according to what
71841         other modules are in use.
71842         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71843
71844 2006-10-06  Bruno Haible  <bruno@clisp.org>
71845
71846         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71847         instead of fopen, fwriteerror.
71848
71849 2006-10-06  Bruno Haible  <bruno@clisp.org>
71850
71851         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71852         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71853         int.
71854         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71855         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71856         Return an error indicator.
71857         Suggested by Eric Blake.
71858
71859 2006-10-06  Bruno Haible  <bruno@clisp.org>
71860
71861         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71862         Reported by Eric Blake.
71863
71864 2006-10-06  Bruno Haible  <bruno@clisp.org>
71865
71866         * modules/closeout (Description): Mention stderr too.
71867
71868 2006-10-06  Bruno Haible  <bruno@clisp.org>
71869         and Paul Eggert  <eggert@cs.ucla.edu>
71870
71871         * lib/closeout.c (close_stdout): Also close stderr.
71872         * lib/closeout.h: Update comment.
71873
71874 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71875
71876         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71877         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71878         * lib/dirchownmod.c: Include lchown.h.
71879         * lib/lchown.c: Don't include files that lchown.h now includes.
71880         Don't declare chown, since lchown.h now does that.
71881         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71882         (lchown): Define to rpl_chown if lchown is declared but
71883         does not exist.  Declare using a prototype if lchown is not
71884         declared.  Add a copyright notice.
71885         * lib/mkstemp.h: Include <unistd.h>.
71886         * lib/openat.c: Include lchown.h.
71887
71888         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71889         we now test for that separately.
71890         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71891         rather than O_NOFOLLOW, when testing whether it's possible to
71892         avoid a race condition reliably.
71893         * lib/savewd.c (savewd_chdir): Likewise.
71894
71895         Remove macros that are no longer needed now that stdint.h is
71896         reliable.
71897         * lib/fsusage.c (UINTMAX_MAX): Remove.
71898         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71899         * lib/utimecmp.c (SIZE_MAX): Remove.
71900
71901         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71902
71903         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71904         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71905         O_NOATIME works.
71906
71907 2006-10-05  Bruno Haible  <bruno@clisp.org>
71908
71909         * lib/gl_list.h (gl_sortedlist_search_from_to,
71910         gl_sortedlist_indexof_from_to): New declarations.
71911         (gl_list_implementation): New fields sortedlist_search_from_to,
71912         sortedlist_indexof_from_to.
71913         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71914         inline functions.
71915         * lib/gl_list.c (gl_sortedlist_search_from_to,
71916         gl_sortedlist_indexof_from_to): New functions.
71917         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71918         function.
71919         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71920         (gl_array_sortedlist_search_from_to): New function.
71921         (gl_array_list_implementation): Update.
71922         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71923         function.
71924         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71925         (gl_carray_sortedlist_search_from_to): New function.
71926         (gl_carray_list_implementation): Update.
71927         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71928         gl_linked_sortedlist_indexof_from_to): New functions.
71929         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71930         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71931         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71932         gl_tree_sortedlist_indexof_from_to): New functions.
71933         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71934         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71935         Update.
71936         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71937         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71938         Update.
71939
71940 2006-10-05  Bruno Haible  <bruno@clisp.org>
71941
71942         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71943         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71944         (struct gl_list_implementation): Add fields search_from_to,
71945         indexof_from_to. Remove fields search, indexof.
71946         (gl_list_search): Use the search_from_to method.
71947         (gl_list_search_from, gl_list_search_from_to): New functions.
71948         (gl_list_indexof): Use the indexof_from_to method.
71949         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71950         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71951         (gl_list_search_from, gl_list_search_from_to): New functions.
71952         (gl_list_indexof): Use the indexof_from_to method.
71953         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71954         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71955         gl_array_indexof. Add start_index, end_index arguments.
71956         (gl_array_search_from_to): Renamed from gl_array_search. Add
71957         start_index, end_index arguments.
71958         (gl_array_remove, gl_array_list_implementation): Update.
71959         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71960         gl_carray_indexof. Add start_index, end_index arguments.
71961         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71962         start_index, end_index arguments.
71963         (gl_carray_remove, gl_carray_list_implementation): Update.
71964         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71965         gl_linked_search. Add start_index, end_index arguments.
71966         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71967         start_index, end_index arguments.
71968         (gl_linked_remove): Update.
71969         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71970         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71971         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71972         field to 'size_t'.
71973         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71974         gl_tree_search. Add start_index, end_index arguments.
71975         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71976         start_index, end_index arguments.
71977         (gl_tree_remove): Update.
71978         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71979         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71980         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71981         function.
71982         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71983         gl_tree_search. Add start_index, end_index arguments.
71984         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71985         start_index, end_index arguments.
71986         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71987         Update.
71988         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71989
71990 2006-10-05  Bruno Haible  <bruno@clisp.org>
71991
71992         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71993
71994         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71995         fwriteerror_temp): New declarations.
71996         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71997         (descriptors): New variable.
71998         (cleanup): First, close the descriptors.
71999         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72000         fclose_temp, fwriteerror_temp): New functions.
72001
72002 2006-10-04  Jim Meyering  <jim@meyering.net>
72003
72004         * lib/fts.c (fts_open): Tiny comment change.
72005
72006 2006-10-04  Bruno Haible  <bruno@clisp.org>
72007
72008         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72009         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72010         gl_LOCK_BODY.
72011         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72012         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72013         gl_LOCK_EARLY_BODY.
72014         (gl_LOCK): Require gl_LOCK_BODY.
72015
72016 2006-10-04  Bruno Haible  <bruno@clisp.org>
72017
72018         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72019         (gl_oset_search_atleast): New declaration.
72020         (struct gl_oset_implementation): Add field 'search_atleast'.
72021         (gl_oset_search_atleast): New inline function.
72022         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72023         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72024         (gl_array_oset_implementation): Update.
72025         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72026         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72027         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72028
72029 2006-10-04  Bruno Haible  <bruno@clisp.org>
72030
72031         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72032
72033 2006-10-03  Bruno Haible  <bruno@clisp.org>
72034
72035         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72036         from gl_avltreehash_list_implementation.
72037
72038 2006-10-03  Bruno Haible  <bruno@clisp.org>
72039
72040         * lib/gl_oset.c (gl_oset_add): Fix return type.
72041
72042 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72043
72044         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72045
72046 2006-10-02  Eric Blake  <ebb9@byu.net>
72047
72048         * modules/strnlen (Depends-on): Add extensions.
72049
72050 2006-10-02  Eric Blake  <ebb9@byu.net>
72051
72052         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72053         definition in 2.60+.
72054
72055 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72056
72057         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72058         checks.
72059
72060 2006-10-02  Bruno Haible  <bruno@clisp.org>
72061
72062         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72063         to the AUTOMAKE_OPTIONS.
72064         Reported by Jim Meyering.
72065
72066 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72067
72068         Work around bug in Solaris 10 /proc file system:
72069         /proc/self/fd/NNN/.. isn't the parent directory of
72070         the directory whose file descriptor is NNN.  This needs to
72071         be worked around at run time, not compile time, since a
72072         program might be built on Solaris 8, where things work, and
72073         run on Solaris 10.
72074         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72075         to use the following interface instead:
72076         (OPENAT_BUFFER_SIZE): New macro.
72077         (openat_proc_name): New function.
72078         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72079         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72080         Likewise.
72081         * lib/openat-proc.c: New file.
72082         * modules/openat (Files): Add lib/openat-proc.c.
72083         (Depends-on): Add same-inode, stdbool.
72084         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72085
72086 2006-09-29  Bruno Haible  <bruno@clisp.org>
72087
72088         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72089         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72090         argument. Set stdout_closed before testing for ferror, not after.
72091         (fwriteerror, fwriteerror_no_ebadf): New functions.
72092
72093 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72094
72095         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72096
72097 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72098
72099         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72100         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72101
72102 2006-09-28  Jim Meyering  <jim@meyering.net>
72103
72104         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72105         Include <unistd.h>.
72106
72107 2006-09-28  Bruno Haible  <bruno@clisp.org>
72108
72109         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72110         * modules/linkedhash-list (Depends-on): Likewise.
72111         * modules/rbtreehash-list (Depends-on): Likewise.
72112
72113 2006-09-28  Bruno Haible  <bruno@clisp.org>
72114
72115         * lib/strndup.h: Simplify the redefinition of strndup.
72116         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72117         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72118
72119 2006-09-28  Bruno Haible  <bruno@clisp.org>
72120
72121         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72122         * lib/gl_linkedhash_list.c: Likewise.
72123         * lib/gl_rbtreehash_list.c: Likewise.
72124
72125 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72126
72127         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72128         getaddrinfo.
72129
72130         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72131         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72132         it causes <stdio_ext.h> to cause a compile-time error.
72133         Problem reported by Nelson H. F. Beebe.
72134         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72135         of HAVE_DECL___PENDING.
72136
72137         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72138         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72139         declaration.
72140
72141 2006-09-27  Jim Meyering  <jim@meyering.net>
72142
72143         This file could end up with a definition for a function
72144         named __strndup, rather than rpl_strndup on a system with
72145         incomplete weak_alias support.
72146         * lib/strndup.c (strndup): Rename from __strndup.
72147         Remove #defines that used to map __strndup to strndup.
72148         Don't use K&R prototypes.
72149         Remove LIBC-related code, since this file is not sync'd with glibc.
72150         * lib/strndup.h: Revamp, accordingly.
72151         * m4/strndup.m4: Modernize.
72152
72153 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72154
72155         * modules/savewd (Depends-on): Add 'raise'.
72156         * lib/savewd.c: Include <signal.h>, for 'raise'.
72157
72158 2006-09-26  Jim Meyering  <jim@meyering.net>
72159
72160         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72161         when we detect Darwin 8.7.0's acl_get_file bug.
72162         Rearrange to perform the new (below) run-test while $LIBS
72163         contains any acl-related library.  Set USE_ACL at the end.
72164         (gl_ACL_GET_FILE): New function.
72165
72166 2006-09-26  Eric Blake  <ebb9@byu.net>
72167
72168         * lib/verror.c: Include <config.h> unconditionally.
72169
72170 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72171
72172         * modules/clock-time (Maintainer): Add self.
72173         * modules/getlogin_r (Depends-on): Add extensions.
72174
72175 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72176
72177         * modules/clock-time: New module.
72178         * modules/nanosleep (Depends-on): Add clock-time.
72179         * modules/gethrxtime (Depends-on): Likewise.
72180         * modules/gettime (Depends-on): Likewise.
72181         * modules/settime (Depends-on): Likewise.
72182
72183         * modules/fts-lgpl: Depend on openat.
72184         * modules/mkancesdirs: Depend on savewd.
72185         * modules/mkdir-p: Likewise.
72186
72187 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72188
72189         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72190
72191         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72192         `gl_have_arbitrary_file_name_length_limit' to
72193         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72194         actually works between configure runs.
72195
72196 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72197             Bruno Haible  <bruno@clisp.org>
72198
72199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72200
72201 2006-09-25  Jim Meyering  <jim@meyering.net>
72202
72203         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72204         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72205
72206 2006-09-25  Eric Blake  <ebb9@byu.net>
72207
72208         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72209         exec's in 2006-09-18 patch when shuffling fds.
72210
72211 2006-09-25  Bruno Haible  <bruno@clisp.org>
72212
72213         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72214         Reported by Jim Meyering.
72215
72216 2006-09-24  Jim Meyering  <jim@meyering.net>
72217
72218         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72219         compare a pointer against a literal "0".  That caused failures with
72220         at least HP-UX's hpcc.
72221
72222 2006-09-22  Simon Josefsson  <jas@extundo.com>
72223
72224         * modules/gc-sha1:
72225         * modules/gc-md4:
72226         * modules/gc-hmac-sha1:
72227         * modules/gc-hmac-md5:
72228         * modules/gc-des:
72229         * modules/gc-arcfour: Distribute more files.
72230
72231 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72232
72233         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72234         (gl_linked_iterator_from_to): Initialize struct completely.
72235         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72236         (gl_tree_iterator_from_to): Likewise
72237         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72238         * lib/gl_array_list.c [lint] (gl_array_iterator)
72239         (gl_array_iterator_from_to): Likewise.
72240         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72241         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72242         (gl_carray_iterator_from_to): Likewise.
72243
72244         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72245         * lib/md4.c (md4_process_block): Remove unused variable.
72246         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72247         parentheses for clarity.
72248
72249 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72250
72251         * modules/bison-i18n (Depends-on): Add gettext.
72252
72253 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72254
72255         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72256         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72257         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72258         also add missing comma that caused broken test.
72259         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72260         stdlib.h, for `abort'.
72261         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72262         variables.
72263         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72264         include unistd.h if present, for `rmdir'.
72265         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72266         variables.
72267         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72268         in the process include standard headers for prototypes.
72269         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72270         gets declared on GNU/Linux.
72271         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72272         unistd.h, for `rmdir'.
72273         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72274
72275         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72276         always true.
72277         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72278
72279         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72280
72281 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72282
72283         * gnulib-tool (func_version): Create output all at once.  This
72284         may help avoid triggering unnecessary SIGPIPEs, and at any
72285         rate it doesn't hurt.
72286
72287 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72288             Bruno Haible  <bruno@clisp.org>
72289
72290         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72291         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72292         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72293
72294         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72295         (gl_FUNC_VASPRINTF): Invoke it.
72296
72297 2006-09-22  Bruno Haible  <bruno@clisp.org>
72298
72299         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72300         getloadavg.c as first argument.
72301
72302 2006-09-22  Bruno Haible  <bruno@clisp.org>
72303
72304         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72305         at the beginning of the gl_INIT macro.
72306         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72307         gl_GETLOADAVG.
72308
72309 2006-09-22  Bruno Haible  <bruno@clisp.org>
72310
72311         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72312         module.
72313         Suggested by Ralf Wildenhues.
72314
72315 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72316
72317         Import this patch from libc:
72318
72319         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72320
72321         * lib/regex_internal.c (re_string_reconstruct): Handle
72322         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72323         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72324         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72325         re_string_context_at.
72326
72327         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72328         now requires it.
72329         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72330         gl_REGEX now does it for us.
72331         (gl_REGEX): Add test taken from
72332         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72333
72334         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72335         Check that large offsets work.  Modernize Autoconf usages.
72336         Prefer "yes" to mean a good thing rather than a bad.
72337         Don't put "#define mkstemp" in config.h, as this might interfere
72338         with standard system headers that "#define mkstemp mkstemp64".
72339
72340         * modules/mkstemp (Depends-on): Add extensions, so that
72341         mkstemp is visible on some platforms.
72342         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72343         (Include): Change to "mkstemp.h" from <stdlib.h>.
72344         (Files): Add mkstemp.h.
72345
72346         * lib/mkstemp.h: New file, since some standard headers
72347         #define mkstemp.
72348         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72349         Include "mkstemp.h".
72350         Make the _LIBC code resemble glibc original more,
72351         e.g., use K&R style.
72352         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72353         (mkstemp): Remove, since mkstemp.h does this for us.
72354         * lib/stdlib--.h: Include mkstemp.h.
72355
72356         Import this patch from libc:
72357
72358         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72359
72360         * lib/tempname.c (__gen_tempname): Change attempts_min
72361         into a macro.  Use preprocessor to decide how to initialize
72362         attempts [Coverity CID 67].
72363
72364 2006-09-20  Bruno Haible  <bruno@clisp.org>
72365
72366         * lib/mkdtemp.c: Import from libc.
72367         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72368                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72369                 attempts_min into a macro.  Use preprocessor to decide how to
72370                 initialize attempts [Coverity CID 67].
72371         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72372                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72373                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72374
72375 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72376
72377         * gnulib-tool (func_exit): New function, to allow to pass the
72378         exit status portably through the trap.  Use everywhere.
72379         (--help, --version): Signal a write error.
72380         (trap): catch SIGPIPE, for write errors.
72381         Exit at the end of the trap, with the correct exit status.
72382
72383 2006-09-19  Karl Berry  <karl@gnu.org>
72384
72385         * doc/gnulib.texi: note about the license texinfo files.
72386
72387 2006-09-19  Eric Blake  <ebb9@byu.net>
72388
72389         * gnulib-tool: Avoid space-tab.
72390
72391 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72394         that prevented coreutils 6.1 from building.  Problem reported
72395         by Petter Reinholdtsen.
72396
72397 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         * gnulib-tool (avoidlist): Fix typo that broke options like
72400         --avoid=lock that are used by coreutils bootstrap.
72401
72402 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72403
72404         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72405         more systematically.
72406
72407 2006-09-18  Jim Meyering  <jim@meyering.net>
72408
72409         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72410
72411 2006-09-18  Bruno Haible  <bruno@clisp.org>
72412
72413         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72414
72415 2006-09-18  Bruno Haible  <bruno@clisp.org>
72416
72417         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72418         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72419         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72420         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72421         * m4/gettext.m4: Require autoconf >= 2.52.
72422         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72423         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72424         of gl_cv_header_inttypes_h.
72425
72426 2006-09-18  Bruno Haible  <bruno@clisp.org>
72427
72428         * lib/javaversion.c: Include configmake.h.
72429
72430 2006-09-18  Bruno Haible  <bruno@clisp.org>
72431
72432         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72433         avoid that the while loops be executed in a subshell.
72434
72435 2006-09-18  Bruno Haible  <bruno@clisp.org>
72436
72437         * MODULES.html.sh (func_module): Break long lines.
72438         Suggested by Bruce Korb <bkorb@gnu.org>.
72439
72440 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72441
72442         Speed up by a factor of 1.12.
72443         * gnulib-tool (nl): New variable.
72444         (func_import): Rewrite include directive extraction to only read each
72445         directive once.
72446
72447 2006-09-17  Bruno Haible  <bruno@clisp.org>
72448
72449         * modules/javaversion (Makefile.am): Remove DEFS setting.
72450         (Depends-on): Add configmake, for PKGDATADIR definition.
72451
72452 2006-09-17  Bruno Haible  <bruno@clisp.org>
72453
72454         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72455
72456 2006-09-17  Bruno Haible  <bruno@clisp.org>
72457
72458         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72459         (func_modules_transitive_closure, func_modules_add_dummy,
72460         func_modules_to_filelist, func_import, func_create_testdir,
72461         func_create_megatestdir, ...): Use it wherever possible.
72462         Suggested by Ralf Wildenhues.
72463
72464 2006-09-16  Karl Berry  <karl@gnu.org>
72465
72466         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72467         to avoid sectioning errors.
72468         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72469         [ifinfo]: blank line after @center-ed titles.
72470         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72471         Spell FSF address consistently with others.
72472         (These changes approved by rms.)
72473
72474 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72475
72476         Speed up by a factor of 1.61.
72477         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72478         already checked module names again.
72479
72480 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72481
72482         Speed up by a factor of 1.13.
72483         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72484         for new_files, and the input to func_add_or_update.
72485
72486 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72487
72488         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72489         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72490
72491 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72492
72493         * modules/mkancesdirs (Depends-on): Add fcntl.
72494         * modules/savewd: New file.
72495         * MODULES.html.sh (File system functions): Add savewd.
72496
72497         * modules/configmake (Makefile.am): Add support for the
72498         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72499
72500 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72501
72502         * m4/savewd.m4: New file.
72503
72504 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72505
72506         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72507         (dirchownmod): New arg FD.  All callers changed.
72508         Use FD rather than opening the directory ourself, as opening is
72509         now the caller's responsibility.
72510         * lib/dirchownmod.h: Likewise.
72511         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72512         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72513         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72514         (test_dir): Remove.
72515         (mkancesdirs): Return length of prefix of FILE that has already
72516         been made, or -2 if there is a child doing the work.  Redo
72517         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72518         ".", and treat ".." specially since it might stray back into
72519         already-created areas.  Use a subprocess if necessary.  New arg
72520         WD; all users changed.  MAKE_DIR function should now return 1
72521         if it creates a directory that is not readable.  Return -2 if
72522         a child process is spun off.
72523         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72524         Adjust signature to match code.
72525         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72526         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72527         all users changed.
72528         * lib/savewd.c, lib/savewd.h: New files.
72529
72530 2006-09-15  Jim Meyering  <jim@meyering.net>
72531
72532         * modules/rename-dest-slash: New module.
72533         * MODULES.html.sh (posix_compat): Add it here.
72534
72535         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72536
72537 2006-09-15  Jim Meyering  <jim@meyering.net>
72538
72539         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72540         file.
72541
72542         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72543
72544 2006-09-15  Jim Meyering  <jim@meyering.net>
72545
72546         * lib/rename-dest-slash.c (has_trailing_slash): Use
72547         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72548         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72549         test before testing whether SRC is a directory.
72550         Suggestions from Bruno Haible.
72551
72552         Avoid a warning about an unused variable.
72553         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72554         into the #ifdef block where it's used.
72555
72556         * lib/rename-dest-slash.c: New file.
72557
72558 2006-09-14  Bruno Haible  <bruno@clisp.org>
72559
72560         * lib/allocsa.c: Include <config.h> unconditionally.
72561         * lib/asnprintf.c: Likewise.
72562         * lib/asprintf.c: Likewise.
72563         * lib/c-strcasecmp.c: Likewise.
72564         * lib/c-strcasestr.c: Likewise.
72565         * lib/c-strncasecmp.c: Likewise.
72566         * lib/c-strstr.c: Likewise.
72567         * lib/classpath.c: Likewise.
72568         * lib/clean-temp.c: Likewise.
72569         * lib/concatpath.c: Likewise.
72570         * lib/copy-file.c: Likewise.
72571         * lib/csharpcomp.c: Likewise.
72572         * lib/csharpexec.c: Likewise.
72573         * lib/execute.c: Likewise.
72574         * lib/fatal-signal.c: Likewise.
72575         * lib/findprog.c: Likewise.
72576         * lib/fwriteerror.c: Likewise.
72577         * lib/gl_array_list.c: Likewise.
72578         * lib/gl_array_oset.c: Likewise.
72579         * lib/gl_avltree_list.c: Likewise.
72580         * lib/gl_avltree_oset.c: Likewise.
72581         * lib/gl_avltreehash_list.c: Likewise.
72582         * lib/gl_carray_list.c: Likewise.
72583         * lib/gl_linked_list.c: Likewise.
72584         * lib/gl_linkedhash_list.c: Likewise.
72585         * lib/gl_list.c: Likewise.
72586         * lib/gl_oset.c: Likewise.
72587         * lib/gl_rbtree_list.c: Likewise.
72588         * lib/gl_rbtree_oset.c: Likewise.
72589         * lib/gl_rbtreehash_list.c: Likewise.
72590         * lib/imaxabs.c: Likewise.
72591         * lib/imaxdiv.c: Likewise.
72592         * lib/javacomp.c: Likewise.
72593         * lib/javaexec.c: Likewise.
72594         * lib/javaversion.c: Likewise.
72595         * lib/linebreak.c: Likewise.
72596         * lib/localcharset.c: Likewise.
72597         * lib/lock.c: Likewise.
72598         * lib/mbchar.c: Likewise.
72599         * lib/mbswidth.c: Likewise.
72600         * lib/mkdtemp.c: Likewise.
72601         * lib/pipe.c: Likewise.
72602         * lib/printf-args.c: Likewise.
72603         * lib/printf-parse.c: Likewise.
72604         * lib/progname.c: Likewise.
72605         * lib/progreloc.c: Likewise.
72606         * lib/readlink.c: Likewise.
72607         * lib/sh-quote.c: Likewise.
72608         * lib/stpcpy.c: Likewise.
72609         * lib/stpncpy.c: Likewise.
72610         * lib/strcasecmp.c: Likewise.
72611         * lib/strcasestr.c: Likewise.
72612         * lib/strcspn.c: Likewise.
72613         * lib/striconv.c: Likewise.
72614         * lib/strncasecmp.c: Likewise.
72615         * lib/strnlen1.c: Likewise.
72616         * lib/strstr.c: Likewise.
72617         * lib/strtok_r.c: Likewise.
72618         * lib/tls.c: Likewise.
72619         * lib/tmpdir.c: Likewise.
72620         * lib/unicodeio.c: Likewise.
72621         * lib/unsetenv.c: Likewise.
72622         * lib/vasnprintf.c: Likewise.
72623         * lib/vasprintf.c: Likewise.
72624         * lib/wait-process.c: Likewise.
72625         * lib/xallocsa.c: Likewise.
72626         * lib/xsetenv.c: Likewise.
72627         * lib/xstriconv.c: Likewise.
72628
72629 2006-09-13  Simon Josefsson  <jas@extundo.com>
72630
72631         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72632         that internally, suggested by Ralf Wildenhues
72633         <Ralf.Wildenhues@gmx.de>.
72634
72635 2006-09-13  Simon Josefsson  <jas@extundo.com>
72636
72637         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72638         @LIBOBJS@.
72639         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72640
72641 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72642
72643         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72644         longer worry about uses that don't define HAVE_CONFIG_H.
72645         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72646         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72647         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72648         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72649         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72650         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72651         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72652         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72653         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72654         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72655         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72656         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72657         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72658         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72659         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72660         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72661         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72662         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72663         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72664         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72665         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72666         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72667         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72668         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72669         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72670         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72671         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72672         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72673         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72674         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72675         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72676         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72677         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72678         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72679         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72680         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72681         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72682         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72683         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72684         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72685         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72686         Likewise.
72687
72688 2006-09-13  Eric Blake  <ebb9@byu.net>
72689
72690         * lib/getopt.c: Fix typo in last commit.
72691
72692 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72693
72694         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72695         dgettext.
72696
72697 2006-09-12  Jim Meyering  <jim@meyering.net>
72698
72699         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72700         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72701         Reported by Nelson H. F. Beebe.
72702
72703 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72704
72705         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72706         program_invocation_name and program_invocation_short_name are
72707         initialized.
72708         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72709         and program_invocation_short_name to argp.h, so they are visible
72710         to user programs.
72711         * lib/argp.h: Likewise
72712
72713 2006-09-10  Bruno Haible  <bruno@clisp.org>
72714
72715         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72716         m4/inttypes_h.m4, m4/uintmax_t.m4.
72717
72718 2006-09-10  Bruno Haible  <bruno@clisp.org>
72719
72720         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72721         gl_AC_TYPE_UINTMAX_T.
72722
72723 2006-09-10  Bruno Haible  <bruno@clisp.org>
72724
72725         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72726
72727 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72728
72729         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72730         convention.  Text proposed by Bruno Haible.
72731         (struct argp_option): Document the use of N_() wrappers.
72732
72733         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72734         '\v', and translate the two parts separately, instead of feeding
72735         the whole string to gettext.  This allows to exclude
72736         '\v' from the strings visible to the translator by writing doc
72737         strings as N_("..") "\v" N_("..").
72738
72739 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72740
72741         * config/srclist.txt: Undo latest change; the bug was fixed.
72742
72743 2006-09-09  Bruno Haible  <bruno@clisp.org>
72744
72745         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72746         assignments if building a library without libtool.
72747         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72748         in func_emit_lib_Makefile_am.
72749         (func_import): When building a static library libfoo.a, arrange to
72750         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72751         (func_create_testdir): Likewise.
72752         * modules/gc (configure.ac, Makefile.am): If building statically,
72753         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72754         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72755         * modules/striconv (configure.ac, Makefile.am): Likewise.
72756         Based on a suggestion by Ralf Wildenhues.
72757
72758 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72759
72760         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72761         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72762         Also:
72763
72764         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72765         Add year_2050_test to catch glibc bug 2821
72766         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72767
72768         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72769         Prefer #ifdef to #if.
72770
72771         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72772         Return from 'main' instead of calling 'exit'.
72773
72774 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72775
72776         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72777         returned the maximum time_t value rather than (time_t) -1.
72778         Problem originally reported by William Bardwell
72779         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72780
72781         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72782         Moved to here ...
72783         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72784         ... from here.
72785
72786 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72787
72788         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72789         2821 is fixed.
72790
72791 2006-09-08  Jim Meyering  <jim@meyering.net>
72792
72793         Don't make generated files read-only.  That would bother too many
72794         people.  However, do retain the ability to work when targets are
72795         read-only: remove the destination and temporary files before writing
72796         them (when generated via sed or echo), or by using the -f option for
72797         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72798         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72799         * modules/byteswap, modules/configmake, modules/fcntl:
72800         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72801         * modules/localcharset, modules/netinet_in, modules/poll:
72802         * modules/stdbool, modules/stdint, modules/sys_select:
72803         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72804
72805 2006-09-08  Jim Meyering  <jim@meyering.net>
72806
72807         Avoid new build failure on FreeBSD 6.0.
72808         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72809         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72810         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72811
72812 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72813
72814         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72815
72816 2006-09-07  Jim Meyering  <jim@meyering.net>
72817
72818         Fix global typo in last change: use chmod u-w, not chmod u-x.
72819         Spotted by Paul Eggert and Bruce Korb.
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-06  Jim Meyering  <jim@meyering.net>
72828
72829         Make generated files be read-only.
72830         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72831         Ensure that each generated file is now read-only.
72832         * modules/argz: Likewise.
72833         * modules/arpa_inet: Likewise.
72834         * modules/byteswap: Likewise.
72835         * modules/configmake: Likewise.
72836         * modules/fcntl: Likewise.
72837         * modules/fnmatch: Likewise.
72838         * modules/getopt: Likewise.
72839         * modules/glob: Likewise.
72840         * modules/inttypes: Likewise.
72841         * modules/netinet_in: Likewise.
72842         * modules/poll: Likewise.
72843         * modules/stdbool: Likewise.
72844         * modules/stdint: Likewise.
72845         * modules/sys_select: Likewise.
72846         * modules/sys_socket: Likewise.
72847         * modules/sys_stat: Likewise.
72848         * modules/sysexits: Likewise.
72849         * modules/localcharset: Same as above, but continue using temporary
72850         file named "t-$@" (why different?) rather than the "$@-t" used
72851         everywhere else.
72852
72853         * modules/sysexits (Makefile.am): Replace literal occurrences
72854         of "sysexit.h" more readable, and more consistent, "$@".
72855
72856 2006-09-06  Bruno Haible  <bruno@clisp.org>
72857
72858         * modules/striconv: New file.
72859         * modules/xstriconv: New file.
72860         * MODULES.html.sh (Internationalization functions): Add striconv,
72861         xstriconv.
72862
72863 2006-09-06  Bruno Haible  <bruno@clisp.org>
72864
72865         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72866         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72867         not using libtool correctly.
72868
72869 2006-09-06  Bruno Haible  <bruno@clisp.org>
72870
72871         * lib/striconv.h: New file.
72872         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72873         iconvstring.c.
72874         * lib/xstriconv.h: New file.
72875         * lib/xstriconv.c: New file.
72876
72877 2006-09-06  Bruno Haible  <bruno@clisp.org>
72878
72879         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72880         lib_..._LDFLAGS.
72881
72882 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72883
72884         * lib/argz_.h: Sync from Libtool.
72885
72886         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72887                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72888
72889         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72890
72891 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72892
72893         * modules/trim: New file.
72894
72895 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72896
72897         * lib/trim.h: New file.
72898         * lib/trim.c: New file.
72899
72900 2006-09-05  Bruno Haible  <bruno@clisp.org>
72901
72902         * MODULES.html.sh (String handling): Add trim.
72903
72904 2006-09-04  Karl Berry  <karl@gnu.org>
72905
72906         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72907         until next release.
72908
72909 2006-09-03  Bruno Haible  <bruno@clisp.org>
72910
72911         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72912         correctly.
72913
72914 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72915
72916         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72917         not gl_GETLOADAVG.  Omit unneeded semicolons.
72918         Problems reported by Ralf Wildenhues in
72919         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72920         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72921         at the end, which is the usual gnulib style.
72922
72923         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72924         of doing all the work ourselves.
72925         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72926         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72927
72928 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72929
72930         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72931         Problem reported by Ralf Wildenhues in
72932         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72933
72934         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72935         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72936
72937 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72938
72939         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72940         yesterday's patch by changing test -n to test -z.
72941
72942 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72943
72944         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72945         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72946         the former is now obsolescent.
72947
72948         * modules/chdir-long (Depends-on): Add fcntl.
72949
72950 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72951
72952         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72953         obsolescent, and programs should use gnulib instead.
72954         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72955         but with prefixes changed.
72956
72957 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72958
72959         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72960         or stdbool.h, because they might not exist while configuring.
72961
72962         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72963         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72964         does that for us.
72965         (O_DIRECTORY): Remove.
72966
72967 2006-08-31  Eric Blake  <ebb9@byu.net>
72968
72969         * gnulib-tool: Don't let emacs change spaces to TAB.
72970
72971 2006-08-31  Bruno Haible  <bruno@clisp.org>
72972
72973         * gnulib-tool: When calling func_import more than once, do it in a
72974         subshell.
72975         Reported by Eric Blake <ebb9@byu.net>.
72976
72977 2006-08-31  Bruno Haible  <bruno@clisp.org>
72978
72979         * gnulib-tool (nl): Remove variable.
72980         (sed_transform_lib_file): Use more robust test for config-h module.
72981         (func_import): Fix typo in 2006-08-25 patch.
72982
72983 2006-08-31  Bruno Haible  <bruno@clisp.org>
72984
72985         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72986         specified, augment Makefile.am variables instead of assigning them.
72987
72988 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72989
72990         Work around a bug in both the Linux and SunOS 64-bit kernels:
72991         nanosleep mishandles sleeps for longer than 2**31 seconds.
72992         Problem reported by Frank v Waveren in
72993         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72994         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72995         Check for nanosleep bug.
72996         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72997
72998 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72999
73000         Work around a bug in both the Linux and SunOS 64-bit kernels:
73001         nanosleep mishandles sleeps for longer than 2**31 seconds.
73002         Problem reported by Frank v Waveren in
73003         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73004         * lib/nanosleep.c (BILLION): New constant.
73005         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73006         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73007         implementation.
73008
73009 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73010
73011         * modules/nanosleep (Depends-on): Add gettime.
73012
73013 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73014         and Simon Josefsson  <jas@extundo.com>
73015         and Oskar Liljeblad  <oskar@osk.mine.nu>
73016
73017         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73018         * gnulib-tool (func_import): New license type 'unmodifiable license
73019         text'.
73020         * modules/fdl: Use it.  Longer description.
73021         * module/gpl, module/lgpl: New files.
73022
73023 2006-08-30  Jim Meyering  <jim@meyering.net>
73024
73025         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73026         shadowing the parameter.
73027
73028 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73029
73030         Sync from Libtool:
73031
73032         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73033
73034         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73035         sharing with gnulib.  Report by Eric Blake.
73036
73037 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * modules/isapipe: New file.
73040         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73041
73042 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         * modules/configmake (Makefile.am): Add a comment, and omit
73045         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73046         by Bruno Haible.
73047
73048 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73049
73050         * m4/isapipe.m4: New file.
73051
73052 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73053
73054         * lib/isapipe.c, lib/isapipe.h: New files.
73055
73056 2006-08-29  Jim Meyering  <jim@meyering.net>
73057
73058         * modules/configmake (Makefile.am): Make configmake.h depend on
73059         Makefile.  Otherwise, a stale configmake.h could hang around.
73060
73061 2006-08-29  Eric Blake  <ebb9@byu.net>
73062
73063         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73064         resolution of upstream bug 3044.
73065
73066 2006-08-29  Bruno Haible  <bruno@clisp.org>
73067
73068         * modules/localcharset (Depends-on): Add configmake.
73069         (Makefile.am): Remove setting of LIBDIR through DEFS.
73070
73071 2006-08-29  Bruno Haible  <bruno@clisp.org>
73072
73073         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73074         defined.
73075
73076 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73077
73078         * modules/fcntl: New file.
73079         * modules/chdir-safer (Depends-on): Add fcntl.
73080         * modules/fts: Likewise.
73081         * modules/mkdir-p: Likewise.
73082
73083         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73084         This undoes the most recent change, since we're now addressing the
73085         problem in a different way.
73086
73087         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73088         into output, since the output might be called Makefile.am even
73089         if $makefile_name is something different.
73090         (func_import): Use $makefile_am rather than
73091         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73092         empty.
73093
73094         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73095
73096 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73097
73098         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73099         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73100         recent change to stdint.m4, since we're now addressing the problem in a
73101         different way.
73102
73103 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73104
73105         * m4/fcntl_h.m4: New file.
73106
73107 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73108
73109         * lib/fcntl_.h: New file.
73110         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73111         the fcntl module.
73112         * lib/dirchownmod.c: Likewise.
73113         * lib/fts.c: Likewise.
73114
73115         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73116         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73117         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73118         just before including <inttypes.h>, to avoid circular inclusion.
73119
73120 2006-08-28  Jim Meyering  <jim@meyering.net>
73121
73122         * doc/visibility.texi: Actually read and correct the grammar of the
73123         sentence affected by yesterday's change.
73124
73125 2006-08-28  Eric Blake  <ebb9@byu.net>
73126
73127         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73128         needs wrapper.
73129
73130 2006-08-28  Eric Blake  <ebb9@byu.net>
73131
73132         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73133
73134 2006-08-28  Eric Blake  <ebb9@byu.net>
73135
73136         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73137
73138 2006-08-28  Bruno Haible  <bruno@clisp.org>
73139
73140         * modules/c-strstr: New file, from GNU gettext.
73141         * MODULES.html.sh (String handling): Add c-strstr.
73142
73143 2006-08-28  Bruno Haible  <bruno@clisp.org>
73144
73145         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73146         macros.
73147         Reported by Eric Blake.
73148
73149 2006-08-28  Bruno Haible  <bruno@clisp.org>
73150
73151         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73152         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73153         * lib/vasprintf.c: Include errno.h, limits.h.
73154         (EOVERFLOW): New fallback definition.
73155         (vasprintf): Test here whether the string length is > INT_MAX.
73156         * lib/vsnprintf.c: Include errno.h, limits.h.
73157         (EOVERFLOW): New fallback definition.
73158         (vsnprintf): Fix bug when generated string was too long for the buffer.
73159         Test here whether the string length is > INT_MAX.
73160
73161 2006-08-28  Bruno Haible  <bruno@clisp.org>
73162
73163         * lib/inttypes_.h (SCNX*): Remove definitions.
73164         Reported by Eric Blake.
73165
73166 2006-08-28  Bruno Haible  <bruno@clisp.org>
73167
73168         * lib/c-strstr.h: New file, from GNU gettext.
73169         * lib/c-strstr.c: New file, from GNU gettext.
73170
73171 2006-08-28  Bruno Haible  <bruno@clisp.org>
73172
73173         * gnulib-tool: Reorder some statements.
73174
73175 2006-08-28  Bruno Haible  <bruno@clisp.org>
73176
73177         * gnulib-tool: New option --makefile-name.
73178         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73179         $makefile_name.
73180         (func_import): Write $makefile_name to the cache file, and read it from
73181         there unless explicitly specified. Use $makefile_name as file name
73182         instead of Makefile.am. Adjust the recommendations accordingly.
73183
73184 2006-08-28  Bruno Haible  <bruno@clisp.org>
73185
73186         * gnulib-tool (func_verify_module): Check against misapplying patch.
73187
73188 2006-08-28  Bruno Haible  <bruno@clisp.org>
73189
73190         * gnulib-tool (func_relativize, func_relconcat): New functions.
73191         Give an error if --local-dir is given with --update.
73192         Remove trailing slashes from $local_gnulib_dir.
73193         (func_import): Store the relativized $local_gnulib_dir in
73194         gnulib-cache.m4, and read it from there if not specified explicitly.
73195
73196 2006-08-28  Bruno Haible  <bruno@clisp.org>
73197
73198         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73199         is the current directory. Respect also $local_gnulib_dir.
73200
73201 2006-08-28  Bruno Haible  <bruno@clisp.org>
73202             Simon Josefsson  <jas@extundo.com>
73203
73204         BeOS portability.
73205         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73206
73207 2006-08-27  Jim Meyering  <jim@meyering.net>
73208
73209         * doc/visibility.texi: Remove duplicate word: "pointer".
73210
73211 2006-08-26  Bruno Haible  <bruno@clisp.org>
73212
73213         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73214         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73215         (Makefile.am): Create inttypes.h from inttypes_.h.
73216         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73217
73218         * modules/imaxabs: New file.
73219
73220         * modules/imaxdiv: New file.
73221
73222 2006-08-26  Bruno Haible  <bruno@clisp.org>
73223
73224         * m4/inttypes.m4: New file.
73225         * m4/_inttypes_h.m4: Remove file.
73226         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73227         PRI_MACROS_BROKEN.
73228         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73229
73230         * m4/imaxabs.m4: New file.
73231
73232         * m4/imaxdiv.m4: New file.
73233
73234 2006-08-26  Bruno Haible  <bruno@clisp.org>
73235
73236         * lib/inttypes_.h: New file.
73237         * lib/inttypes.h: Remove file.
73238         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73239
73240         * lib/imaxabs.c: New file.
73241
73242         * lib/imaxdiv.c: New file.
73243
73244 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73245
73246         New config-h module, so that "make" output needn't be cluttered
73247         by -DHAVE_CONFIG_H.
73248         * MODULES.html.sh (Support for building libraries and executables):
73249         Add config-h.
73250         * modules/config-h: New file.
73251         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73252         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73253         the config-h module is used.
73254
73255         New configmake module, so that "make" output needn't be cluttered
73256         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73257         * MODULES.html.sh (Support for building libraries and executables):
73258         Add configmake.
73259         * modules/configmake: New file.
73260
73261 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73262
73263         * m4/config-h.m4: New file.
73264
73265 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73266
73267         * config/srclist.txt: Add elisp-comp.
73268
73269 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73270
73271         * MODULES.html.sh (Support for building libraries and executables):
73272         Add elisp-comp.
73273         * build-aux/elisp-comp: New file.
73274         * modules/elisp-comp: New file.
73275
73276 2006-08-24  Bruno Haible  <bruno@clisp.org>
73277
73278         * gnulib-tool (func_create_testdir): Use non-default values of
73279         sourcebase and m4base.
73280
73281 2006-08-24  Bruno Haible  <bruno@clisp.org>
73282
73283         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73284         HTML structure.
73285
73286 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73287
73288         * modules/openat (Depends-on): Add lchown.
73289
73290 2006-08-23  Bruno Haible  <bruno@clisp.org>
73291
73292         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73293         of gl_LOCK_EARLY instead of gl_LOCK.
73294
73295 2006-08-23  Bruno Haible  <bruno@clisp.org>
73296
73297         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73298         on OSF/1 to no.
73299         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73300
73301 2006-08-23  Bruno Haible  <bruno@clisp.org>
73302
73303         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73304         as unusable.
73305
73306         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73307         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73308         (gl_LOCK): New macro.
73309
73310 2006-08-22  Simon Josefsson  <jas@extundo.com>
73311
73312         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73313         to md5 module.
73314
73315 2006-08-22  Simon Josefsson  <jas@extundo.com>
73316
73317         * MODULES.html.sh: Add "Support for maintaining and release
73318         projects".
73319
73320         * build-aux/gnupload: New file, from coreutils.
73321
73322 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73323
73324         Avoid the need for AC_LIBSOURCES in m4 macros.
73325         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73326         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73327         * modules/check-version (EXTRA_DIST): Add check-version.h.
73328         * modules/crc (EXTRA_DIST): Add crc.h.
73329         * modules/des (EXTRA_DIST): Add des.h.
73330         * modules/gc (EXTRA_DIST): Add gc.h.
73331         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73332         * modules/getline (EXTRA_DIST): Add getline.h.
73333         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73334         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73335         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73336         * modules/md2 (EXTRA_DIST): Add md2.h.
73337         * modules/md4 (EXTRA_DIST): Add md4.h.
73338         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73339         * modules/read-file (EXTRA_DIST): Add read-file.h.
73340         * modules/readline (EXTRA_DIST): Add readline.h.
73341         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73342         rijndael-api-fst.h.
73343
73344 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73345
73346         * m4/rijndael.m4 (gl_ARCFOUR):
73347         * m4/arctwo.m4 (gl_ARCTWO):
73348         * m4/check-version.m4 (gl_CHECK_VERSION):
73349         * m4/crc.m4 (gl_CRC):
73350         * m4/des.m4 (gl_DES):
73351         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73352         * m4/gc.m4 (gl_GC):
73353         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73354         * m4/getline.m4 (gl_FUNC_GETLINE):
73355         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73356         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73357         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73358         * m4/md2.m4 (gl_MD2):
73359         * m4/md4.m4 (gl_MD4):
73360         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73361         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73362         * m4/readline.m4 (gl_FUNC_READLINE):
73363         * m4/rijndael.m4 (gl_RIJNDAEL):
73364         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73365         to get the necessary .h files and whatnot.
73366
73367 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73368
73369         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73370         gnulib rather than the other way around.
73371         * config/srclistvars.sh (COREUTILS): Remove.
73372
73373 2006-08-22  Jim Meyering  <jim@meyering.net>
73374
73375         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73376
73377         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73378
73379 2006-08-22  Eric Blake  <ebb9@byu.net>
73380
73381         * modules/regexprops-generic: New file.
73382         * MODULES.html.sh (Support for building documentation): List it.
73383
73384 2006-08-22  Eric Blake  <ebb9@byu.net>
73385
73386         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73387         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73388         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73389         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73390
73391 2006-08-22  Bruno Haible  <bruno@clisp.org>
73392
73393         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73394         and lib_LTLIBRARIES like the other lib_* variables.
73395
73396 2006-08-22  Bruno Haible  <bruno@clisp.org>
73397
73398         * build-aux/x-to-1.in: New file, from GNU gettext.
73399
73400 2006-08-22  Bruno Haible  <bruno@clisp.org>
73401
73402         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73403         <utmpx.h> exists.
73404
73405 2006-08-22  Bruno Haible  <bruno@clisp.org>
73406
73407         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73408         <utmpx.h> exists.
73409
73410 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73411
73412         BeOS portability.
73413         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73414         exist.
73415         Problem reported by Bruno Haible.
73416
73417 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73418
73419         Avoid the need for AC_LIBSOURCES in m4 macros.
73420         * modules/acl (EXTRA_DIST): Add acl.h.
73421         * modules/argmatch (Files): Add m4/argmatch.m4.
73422         (configure.ac): Add gl_ARGMATCH.
73423         (EXTRA_DIST): Renamed from lib_SOURCES, for
73424         consistency with the other modules.  Remove argmatch.c.
73425         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73426         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73427         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73428         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73429         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73430         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73431         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73432         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73433         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73434         * modules/closeout (EXTRA_DIST): Add closeout.h.
73435         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73436         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73437         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73438         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73439         dirname.h; remove basename.c and stripslash.c.
73440         * modules/exclude (EXTRA_DIST): Add exclude.h.
73441         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73442         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73443         * modules/file-type (EXTRA_DIST): Add file-type.h.
73444         * modules/filemode (EXTRA_DIST): Add filemode.h.
73445         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73446         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73447         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73448         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73449         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73450         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73451         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73452         * modules/getdate (EXTRA_DIST): Add getdate.c.
73453         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73454         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73455         * modules/getpass (EXTRA_DIST): Add getpass.h.
73456         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73457         * modules/group-member (EXTRA_DIST): Add group-member.h.
73458         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73459         * modules/hash (EXTRA_DIST): Add hash.h.
73460         * modules/human (EXTRA_DIST): Add human.h.
73461         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73462         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73463         * modules/lchown (EXTRA_DIST): Add lchown.h.
73464         * modules/long-options (EXTRA_DIST): Add long-options.h.
73465         * modules/lstat (EXTRA_DIST): Add lstat.h.
73466         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73467         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73468         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73469         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73470         * modules/memxor (EXTRA_DIST): Add memxor.h.
73471         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73472         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73473         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73474         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73475         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73476         * modules/physmem (EXTRA_DIST): Add physmem.h.
73477         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73478         * modules/posixver (EXTRA_DIST): Add posixver.h.
73479         * modules/quote (EXTRA_DIST): Add quote.h.
73480         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73481         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73482         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73483         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73484         regex_internal.h regexec.c.
73485         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73486         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73487         * modules/same (EXTRA_DIST): Add same.h.
73488         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73489         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73490         * modules/savedir (EXTRA_DIST): Add savedir.h.
73491         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73492         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73493         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73494         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73495         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73496         * modules/strdup (EXTRA_DIST): Add strdup.h.
73497         * modules/strftime (EXTRA_DIST): Add strftime.h.
73498         * modules/strndup (EXTRA_DIST): Add strndup.h.
73499         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73500         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73501         * modules/time_r (EXTRA_DIST): Add time_r.h.
73502         * modules/timespec (EXTRA_DIST): Add timespec.h.
73503         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73504         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73505         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73506         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73507         * modules/userspec (EXTRA_DIST): Add userspec.h.
73508         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73509         * modules/utimens (EXTRA_DIST): Add utimens.h.
73510         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73511         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73512         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73513         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73514         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73515         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73516         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73517         * modules/yesno (EXTRA_DIST): Add yesno.h.
73518
73519 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73520
73521         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73522
73523         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73524         * m4/dev-ino.m4, same-inode.m4: Remove.
73525
73526         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73527         * m4/acl.m4 (AC_FUNC_ACL):
73528         * m4/backupfile.m4 (gl_BACKUPFILE):
73529         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73530         * m4/canon-host.m4 (gl_CANON_HOST):
73531         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73532         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73533         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73534         * m4/cloexec.m4 (gl_CLOEXEC):
73535         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73536         * m4/closeout.m4 (gl_CLOSEOUT):
73537         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73538         * m4/dirname.m4 (gl_DIRNAME):
73539         * m4/exclude.m4 (gl_EXCLUDE):
73540         * m4/exitfail.m4 (gl_EXITFAIL):
73541         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73542         * m4/file-type.m4 (gl_FILE_TYPE):
73543         * m4/filemode.m4 (gl_FILEMODE):
73544         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73545         * m4/fpending.m4 (gl_FUNC_FPENDING):
73546         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73547         * m4/fts.m4 (gl_FUNC_FTS):
73548         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73549         * m4/getdate.m4 (gl_GETDATE):
73550         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73551         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73552         * m4/getpass.m4 (gl_FUNC_GETPASS):
73553         * m4/gettime.m4 (gl_GETTIME):
73554         * m4/getugroups.m4 (gl_GETUGROUPS):
73555         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73556         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73557         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73558         * m4/hash.m4 (gl_HASH):
73559         * m4/idcache.m4 (gl_IDCACHE):
73560         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73561         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73562         * m4/long-options.m4 (gl_LONG_OPTIONS):
73563         * m4/lstat.m4 (gl_FUNC_LSTAT):
73564         * m4/md5.m4 (gl_MD5):
73565         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73566         * m4/memcoll.m4 (gl_MEMCOLL):
73567         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73568         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73569         * m4/memxor.m4 (gl_MEMXOR):
73570         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73571         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73572         * m4/modechange.m4 (gl_MODECHANGE):
73573         * m4/mountlist.m4 (gl_MOUNTLIST):
73574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73575         * m4/openat.m4 (gl_FUNC_OPENAT):
73576         * m4/pathmax.m4 (gl_PATHMAX):
73577         * m4/physmem.m4 (gl_PHYSMEM):
73578         * m4/posixtm.m4 (gl_POSIXTM):
73579         * m4/posixver.m4 (gl_POSIXVER):
73580         * m4/quote.m4 (gl_QUOTE):
73581         * m4/quotearg.m4 (gl_QUOTEARG):
73582         * m4/readtokens.m4 (gl_READTOKENS):
73583         * m4/readutmp.m4 (gl_READUTMP):
73584         * m4/regex.m4 (gl_REGEX):
73585         * m4/safe-read.m4 (gl_SAFE_READ):
73586         * m4/safe-write.m4 (gl_SAFE_WRITE):
73587         * m4/same.m4 (gl_SAME):
73588         * m4/save-cwd.m4 (gl_SAVE_CWD):
73589         * m4/savedir.m4 (gl_SAVEDIR):
73590         * m4/settime.m4 (gl_SETTIME):
73591         * m4/sha1.m4 (gl_SHA1):
73592         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73593         * m4/stat-macros.m4 (gl_STAT_MACROS):
73594         * m4/stat-time.m4 (gl_STAT_TIME):
73595         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73596         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73597         * m4/strdup.m4 (gl_FUNC_STRDUP):
73598         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73599         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73600         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73601         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73602         * m4/time_r.m4 (gl_TIME_R):
73603         * m4/timespec.m4 (gl_TIMESPEC):
73604         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73605         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73606         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73607         * m4/userspec.m4 (gl_USERSPEC):
73608         * m4/utimecmp.m4 (gl_UTIMECMP):
73609         * m4/utimens.m4 (gl_UTIMENS):
73610         * m4/xalloc.m4 (gl_XALLOC):
73611         * m4/xgetcwd.m4 (gl_XGETCWD):
73612         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73613         * m4/xreadlink.m4 (gl_XREADLINK):
73614         * m4/xstrtod.m4 (gl_XSTRTOD):
73615         * m4/yesno.m4 (gl_YESNO):
73616         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73617         to get the necessary .h files and whatnot.
73618
73619 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73620             Bruno Haible  <bruno@clisp.org>
73621
73622         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73623         /bin/sh understanding of '!' conditional negation.
73624
73625 2006-08-21  Jim Meyering  <jim@meyering.net>
73626
73627         * modules/openat (Depends-on): Really alphabetize.
73628
73629         * modules/acl (Depends-on): Add error and quote.
73630
73631         * check-module (find_included_lib_files): Add at-func.c to the
73632         ok-to-include-more-than-once white list.
73633
73634         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73635
73636 2006-08-21  Bruno Haible  <bruno@clisp.org>
73637
73638         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73639         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73640         Reported by Martin Lambers <marlam@marlam.de>.
73641
73642 2006-08-21  Bruno Haible  <bruno@clisp.org>
73643
73644         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73645         specify an installation location, don't emit a noinst_LIBRARIES or
73646         noinst_LTLIBRARIES assignment.
73647
73648 2006-08-21  Bruno Haible  <bruno@clisp.org>
73649
73650         BeOS portability.
73651         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73652         BeOS has mbrtowc() but no <wctype.h>.
73653
73654 2006-08-21  Bruno Haible  <bruno@clisp.org>
73655
73656         BeOS portability.
73657         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73658         exist.
73659
73660 2006-08-21  Bruno Haible  <bruno@clisp.org>
73661
73662         BeOS portability.
73663         * lib/mbchar.h: Include <wctype.h> only if it exists.
73664
73665 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73666
73667         Remove files that are no longer needed by their respective modules.
73668         * m4/obstack.m4: Remove.
73669         * m4/strerror_r.m4: Remove.
73670         * m4/uint32_t.m4: Remove.
73671         * m4/uintptr_t.m4: Remove.
73672         * m4/ullong_max.m4: Remove.
73673         * m4/xstrtoimax.m4: Remove.
73674         * m4/xstrtoumax.m4: Remove.
73675
73676         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73677         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73678         dependencies now capture this.
73679
73680         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73681         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73682         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73683         * m4/human.m4 (gl_HUMAN): Likewise.
73684         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73685         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73686
73687         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73688
73689         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73690         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73691         stdint.
73692         * m4/human.m4 (gl_HUMAN): Likewise.
73693         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73694         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73695         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73696         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73697         * m4/xstrtol (gl_XSTRTOL): Likewise.
73698
73699         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73700         AC_TYPE_LONG_LONG_INT.
73701         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73702         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73703         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73704         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73705
73706         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73707         on stdbool.
73708
73709         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73710         (gl_PREREQ_XSTRTOUL): Remove.
73711
73712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73713
73714         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73715         mode.
73716
73717 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73718
73719         Add and change modules to make it easier for coreutils to use
73720         gnulib-tool.
73721         * modules/backupfile (Files): Remove m4/d-ino.m4.
73722         (Depends-on): Add d-ino.
73723         * modules/cycle-check (Depends-on): Add stdint.
73724         (lib_SOURCES): Add cycle-check.h.
73725         * modules/d-ino: New module.
73726         * modules/d-type: New module.
73727         * modules/error (Files): Remove m4/strerror_r.m4.
73728         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73729         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73730         m4/inttypes_h.m4, m4/uintmax_t.m4.
73731         (Depends-on): Add stdint.
73732         (lib_SOURCES): Add fsusage.h.
73733         * modules/getcwd (Files): Remove d-ino.m4.
73734         (Depends-on): Add d-ino.
73735         * modules/getndelim2 (Depends-on): Add stdint.
73736         * modules/glob (Files): Remove m4/d-type.m4.
73737         (Depends-on): Add d-type.
73738         * modules/host-os: New module.
73739         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73740         m4/inttypes_h.m4, m4/uintmax_t.m4.
73741         * Depends-on: Add stdint.
73742         (lib_SOURCES): Add human.h.
73743         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73744         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73745         m4/uintmax_t.m4, m4/ulonglong.m4.
73746         (Depends-on): Add stdint.
73747         (EXTRA_DIST): Add inttostr.h.
73748         * modules/lchmod: New module.
73749         * modules/link-follow: New module.
73750         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73751         (Depends-on): Add lchmod.
73752         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73753         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73754         (Depends-on): Add stdint.
73755         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73756         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73757         (Depends-on): Add stdint.
73758         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73759         * modules/perl: New module.
73760         * modules/regex (Depends-on): Add stdint.
73761         * modules/rmdir-errno: New module.
73762         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73763         m4/intmax_t.m4.
73764         (Depends-on): Add stdint.
73765         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73766         m4/uintmax_t.m4.
73767         (Depends-on): Add stdint.
73768         * modules/unlink-busy: New module.
73769         * modules/utimecmp (Depends-on): Add stdint.
73770         * modules/uptime: New module.
73771         * modules/winsz-ioctl: New module.
73772         * modules/winsz-termios: New module.
73773         * modules/xnanosleep (Depends-on): Add nanosleep.
73774         * modules/ullong_max: Remove.
73775         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73776         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73777         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73778         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73779         (Depends-on): Add inttypes.
73780         (lib_SOURCES): Add xstrtol.h.
73781         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73782         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73783         * MODULES.html.sh: Move 'assert' into the assert section.
73784         Move 'dummy' into the linking section.
73785         Remove ullong_max.
73786         Add section for compatibility checks for POSIX:2001 functions,
73787         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73788         winsz-ioctl, and winsz-termios into it.
73789         Add lchmod.
73790         Add top-level Misc section and put host-os, perl, and uptime
73791         into it.
73792
73793 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73794
73795         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73796         now assume the stdint module.  Do not include inttypes.h.
73797         * lib/fsusage.h: Likewise.
73798         * lib/getndelim2.c: Likewise.
73799         * lib/human.h: Likewise.
73800         * lib/inttostr.h: Likewise.
73801         * lib/obstack.c: Likewise.
73802         * lib/regex_internal.h: Likewise.
73803         * lib/tempname.c: Likewise.
73804         * lib/utimecmp.c: Likewise.
73805         * lib/xstrtol.h: Likewise.
73806
73807         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73808
73809         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73810         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73811         * lib/xtime.h: Likewise.
73812
73813 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73814
73815         * modules/openat (Files): Add lib/fchmodat.c.
73816         Fixes problem reported by Jay Youngman.
73817
73818 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73819
73820         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73821         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73822
73823 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73824             Bruno Haible  <bruno@clisp.org>
73825
73826         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73827         and is a script that invokes bison. Tighten the code. Add comments.
73828
73829 2006-08-18  Jim Meyering  <jim@meyering.net>
73830
73831         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73832         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73833         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73834         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73835
73836 2006-08-18  Bruno Haible  <bruno@clisp.org>
73837
73838         * modules/bison-i18n: New file.
73839         * MODULES.html.sh (Internationalization functions): Add it.
73840
73841 2006-08-18  Bruno Haible  <bruno@clisp.org>
73842
73843         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73844         sys/statvfs.h. When getmntinfo was found, check its declaration and
73845         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73846
73847 2006-08-18  Bruno Haible  <bruno@clisp.org>
73848
73849         * m4/bison-i18n.m4: New file, from bison.
73850
73851 2006-08-18  Bruno Haible  <bruno@clisp.org>
73852
73853         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73854         (ME_DUMMY): Treat "kernfs" as a dummy.
73855         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73856
73857 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73858
73859         Update from coreutils.
73860
73861         2006-08-15  Jim Meyering  <jim@meyering.net>
73862
73863         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73864
73865         2006-01-17  Jim Meyering  <jim@meyering.net>
73866
73867         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73868
73869         2006-01-11  Jim Meyering  <jim@meyering.net>
73870
73871         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73872         Check for the lchmod function.
73873
73874 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73875
73876         Update from coreutils.
73877
73878         * lib/__fpending.h: Add copyright notice.
73879         * lib/fprintftime.h: Likewise.
73880         * lib/savedir.c: Use (C) in copyright notice.
73881         * lib/savedir.h: Likewise.
73882
73883         2006-08-15  Jim Meyering  <jim@meyering.net>
73884
73885         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73886         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73887         in support of the EXPECTED_ERRNO macro.
73888         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73889         definitions.  Instead, define the appropriate symbols and include
73890         "at-func.c".
73891         * lib/mkdirat.c (mkdirat): Likewise.
73892         * lib/fchmodat.c (fchmodat): Likewise.
73893         (ENOSYS): Remove definition.
73894         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73895         it.  Don't include "unistd--.h" -- it wasn't ever used.
73896
73897         2006-01-17  Jim Meyering  <jim@meyering.net>
73898
73899         Rewrite fts.c not to change the current working directory,
73900         by using openat, fstatat, fdopendir, etc..
73901
73902         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73903         (HAVE_OPENAT_SUPPORT): Define.
73904         [_LIBC] (fchdir): Don't undef or define; no longer used.
73905         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73906         Now, this `function' always succeeds, and consumes its file descriptor
73907         parameter -- so callers must not close such FDs.  Update callers.
73908         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73909         (diropen): Add parameter, SP.  Adjust all callers.
73910         Implement using diropen_fd, rather than open.
73911         (fts_open): Initialize new member, fts_cwd_fd.
73912         Remove fts_rft-setting code.
73913         (fts_close): Close fts_cwd_fd, if necessary.
73914         (__opendir2): Define in terms of opendir or opendirat,
73915         depending on whether the FST_NOCHDIR flag is set.
73916         (fts_build): Since fts_safe_changedir consumes its FD, and since
73917         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73918         and close the dup'd file descriptor upon failure.
73919         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73920         (fts_safe_changedir): Tweak semantics to reflect that this function
73921         now calls cwd_advance_fd and hence consumes its FD argument.
73922         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73923         [struct FTS] (fts_rft): Remove now-unused member.
73924         [struct FTS] (fts_cycle.state): Improve comment.
73925
73926         * lib/openat.c (openat_needs_fchdir): New function.
73927         * lib/openat.h (openat_needs_fchdir): Declare it.
73928
73929 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73930
73931         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73932         Problem and fix reported by Pádraig Brady in
73933         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73934
73935 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73936
73937         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73938
73939 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73940
73941         * lib/memcoll.c (memcoll): Optimize for the common case where the
73942         arguments are bytewise equal.
73943
73944 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73945
73946         * doc/regexprops-generic.texi: Add a copyright notice.
73947
73948 2006-08-15  Bruno Haible  <bruno@clisp.org>
73949
73950         * modules/tmpdir (License): Change to LGPL.
73951
73952 2006-08-15  Bruno Haible  <bruno@clisp.org>
73953
73954         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73955         module.
73956
73957 2006-08-14  Simon Josefsson  <jas@extundo.com>
73958
73959         * config/srclist.txt: Add gnupload.
73960
73961 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73962
73963         Change copyright notice from LGPL 2 to GPL 2, since that's the
73964         standard form used in the gnulib repository.
73965         * tests/test-lock.c: Likewise.
73966         * tests/test-stdint.c: Likewise.
73967         * tests/test-tls.c: Likewise.
73968
73969         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73970         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73971         Add copyright notice.
73972
73973         * check-module: Add copyright notice.  Output a copyright
73974         notice if "--version" is specified.
73975         * modules/COPYING: New file.
73976         * tests/test-getaddrinfo.c: Add copyright notice.
73977         * tests/test-verify.c: Likewise.
73978
73979 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73980
73981         Change copyright notice from LGPL 2 to GPL 2, since that's the
73982         standard form used in the gnulib repository.
73983         * lib/lock.c: LGPL -> GPL.
73984         * lib/lock.h: Likewise.
73985         * lib/strnlen1.c: Likewise.
73986         * lib/strnlen1.h: Likewise.
73987         * lib/tls.c: Likewise.
73988         * lib/tls.h: Likewise.
73989         * lib/tmpdir.c: Likewise.
73990
73991         * lib/TODO: Remove; this belongs only in coreutils.
73992
73993 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73994
73995         Add copyright notices to long-enough files that lack them, since
73996         otherwise the files aren't clearly free.  Use the same notice that
73997         getdate.texi already uses.
73998         * doc/alloca-opt.texi: Add copyright notice.
73999         * doc/alloca.texi: Likewise.
74000         * doc/ctime.texi: Likewise.
74001         * doc/functions.texi: Likewise.
74002         * doc/gcd.texi: Likewise.
74003         * doc/gnulib-tool.texi: Likewise.
74004         * doc/inet_ntoa.texi: Likewise.
74005         * doc/visibility.texi: Likewise.
74006
74007         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74008         * doc/quote.texi: Add copyright notice.
74009
74010         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74011         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74012         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74013         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74014         is now obsolete, and give a pointer to the Sun list.
74015         Add copyright notice.
74016
74017 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74018
74019         * config/srclistvars.sh: Add copyright notice.
74020
74021 2006-08-14  Eric Blake  <ebb9@byu.net>
74022
74023         Import the following change from libc:
74024
74025         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74026
74027         Upstream bug 2997.
74028         * lib/misc/error.c: Add space between program name and message if file
74029         name is missing.
74030
74031 2006-08-12  Karl Berry  <karl@gnu.org>
74032
74033         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74034         remove, these originate in gnulib now.
74035
74036 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74037
74038         * doc/Makefile (standards.info standards.html standards.dvi):
74039         Also depend on make-stds.texi.
74040
74041 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74044         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74045
74046         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74047         in wchar_t.  Problem reported by Eric Blake.
74048
74049         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74050         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74051         Also, help the compiler to keep LEN in a register.
74052
74053 2006-08-11  Eric Blake  <ebb9@byu.net>
74054
74055         * users.txt: Sort.  Add tar.
74056
74057 2006-08-11  Bruno Haible  <bruno@clisp.org>
74058
74059         * users.txt: New file.
74060
74061 2006-08-11  Bruno Haible  <bruno@clisp.org>
74062
74063         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74064         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74065
74066 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74067
74068         * modules/snprintf (Depends-on): Remove minmax.
74069         (Maintainer): Add self and Bruno.
74070
74071 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74072
74073         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74074         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74075         (EOVERFLOW): Define if the system does not.
74076         Do not include "minmax.h"; it wasn't used.
74077         (snprintf): Don't assume size_t promotes to an unsigned type.
74078         Fix bug when generated string was too long for the buffer: the
74079         buffer's contents are supposed to be the initial prefix of the
74080         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74081         exceeds INT_MAX; do the check ourselves.
74082
74083         Import the following changes from libc:
74084
74085         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74086
74087         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74088         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74089         set wc to the byte which couldn't be converted.
74090         (re_string_reconstruct): Don't clear valid_raw_len before calling
74091         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74092         tip_context using re_string_context_at.
74093
74094         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74095
74096         * lib/posix/regex.h: g++ still cannot handled [restrict].
74097
74098         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74099
74100         * lib/posix/regex.h: Remove special handling for VMS.
74101
74102 2006-08-10  Jim Meyering  <jim@meyering.net>
74103
74104         * modules/same-inode: New module.
74105         * modules/dev-ino: New module.
74106         * modules/cycle-check: Depend on these modules, rather than simply
74107         including their .h files.
74108         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74109         required via m4/cycle-check.m4.
74110         * modules/same: Depend on new same-inode module, rather than
74111         including same-inode.h.
74112         * modules/chdir-safer: New file.
74113
74114         * modules/chown (Depends-on): Add stat-macros.
74115
74116 2006-08-10  Jim Meyering  <jim@meyering.net>
74117
74118         * m4/cycle-check.m4: New file.
74119         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74120         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74121
74122 2006-08-10  Eric Blake  <ebb9@byu.net>
74123
74124         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74125         in from original proposal.
74126
74127 2006-08-10  Eric Blake  <ebb9@byu.net>
74128         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74129
74130         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74131         namespace.
74132
74133 2006-08-10  Bruno Haible  <bruno@clisp.org>
74134
74135         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74136         as well.
74137
74138 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74139
74140         Sync from coreutils.
74141
74142         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74143
74144         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74145         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74146
74147 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74148
74149         * modules/restrict: Remove; no longer needed now that we assume
74150         Autoconf 2.59 or later.
74151         * MODULES.html.sh: Remove 'restrict'.
74152         * modules/argp (Depends-on): Remove 'restrict'.
74153         * modules/base64 (Depends-on): Likewise.
74154         * modules/gc (Depends-on): Likewise.
74155         * modules/getaddrinfo (Depends-on): Likewise.
74156         * modules/glob (Depends-on): Likewise.
74157         * modules/inet_ntop (Depends-on): Likewise.
74158         * modules/inet_pton (Depends-on): Likewise.
74159         * modules/memxor (Depends-on): Likewise.
74160         * modules/regex (Depends-on): Likewise.
74161         * modules/strtok_r (Depends-on): Likewise.
74162         * modules/time_r (Depends-on): Likewise.
74163
74164 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74167         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74168         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74169         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74170         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74171         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74172         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74173         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74174
74175         Merge from coreutils.
74176         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74177         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74178         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74179         * m4/time_r.m4 (gl_TIME_R): Likewise.
74180
74181 2006-08-09  Karl Berry  <karl@gnu.org>
74182
74183         * config/srclist.txt: no more gettext-tools, per Bruno.
74184
74185 2006-08-08  Eric Blake  <ebb9@byu.net>
74186
74187         * modules/verror: New module.
74188         * MODULES.html.sh: Document it.
74189
74190 2006-08-08  Eric Blake  <ebb9@byu.net>
74191
74192         * lib/verror.h, lib/verror.c: New files.
74193
74194 2006-08-08  Eric Blake  <ebb9@byu.net>
74195
74196         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74197         verror_at_line output complies with GNU Coding Standards even when
74198         file is NULL.
74199
74200 2006-08-07  Bruno Haible  <bruno@clisp.org>
74201
74202         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74203         versions of AIX.
74204         Reported by Ralf Wildenhues.
74205
74206 2006-08-07  Bruno Haible  <bruno@clisp.org>
74207
74208         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74209         in an AC_DEFUN. Needed so that the autoconf snippets can use
74210         AC_REQUIRE.
74211
74212 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74213
74214         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74215         Initialize pkgdata_DATA.
74216         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74217         overriding it.
74218
74219 2006-08-06  Eric Blake  <ebb9@byu.net>
74220
74221         * lib/error.h: Fold in some upstream changes from glibc.
74222         * lib/error.c: Likewise.
74223
74224 2006-08-04  Bruno Haible  <bruno@clisp.org>
74225
74226         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74227         Make the mostlyclean-local rule depend on mostlyclean-generic.
74228         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74229
74230 2006-07-31  Bruno Haible  <bruno@clisp.org>
74231
74232         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74233         <stdlib.h>, <string.h>.
74234
74235 2006-07-30  Bruno Haible  <bruno@clisp.org>
74236
74237         * modules/readlink (License): Change to LGPL.
74238
74239 2006-07-30  Bruno Haible  <bruno@clisp.org>
74240
74241         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74242         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74243         set PKGDATADIR to point to it.
74244
74245 2006-07-30  Bruno Haible  <bruno@clisp.org>
74246
74247         * modules/csharpexec (configure.ac): Comment out macro invocation.
74248         * modules/javaexec (configure.ac): Likewise.
74249         * modules/javacomp-script (configure.ac): Likewise.
74250
74251         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74252
74253 2006-07-30  Bruno Haible  <bruno@clisp.org>
74254
74255         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74256         linked-list.
74257
74258 2006-07-30  Bruno Haible  <bruno@clisp.org>
74259
74260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74261
74262 2006-07-30  Bruno Haible  <bruno@clisp.org>
74263
74264         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74265         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74266         get removed.
74267
74268 2006-07-29  Bruno Haible  <bruno@clisp.org>
74269
74270         Make it possible for gnulib-tool to work with locally modified or
74271         augmented gnulib repositories.
74272         * gnulib-tool (func_usage): Document --local-dir option.
74273         (local_gnulib_dir): New variable.
74274         Handle --local-dir option.
74275         (func_lookup_file): New function.
74276         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74277         (func_get_description, func_get_filelist, func_get_description,
74278         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74279         func_get_automake_snippet, func_get_include_directive,
74280         func_get_license, func_get_maintainer): Use func_lookup_file.
74281         (func_import, func_create_testdir): Use func_lookup_file.
74282
74283 2006-07-29  Bruno Haible  <bruno@clisp.org>
74284
74285         * modules/setenv (Depends-on): Add unistd.
74286
74287 2006-07-29  Bruno Haible  <bruno@clisp.org>
74288
74289         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74290
74291 2006-07-29  Bruno Haible  <bruno@clisp.org>
74292
74293         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74294
74295 2006-07-29  Bruno Haible  <bruno@clisp.org>
74296
74297         * gnulib-tool (import, update): If there is no Makefile.am, look at
74298         aclocal.m4, instead of bailing out.
74299
74300 2006-07-29  Bruno Haible  <bruno@clisp.org>
74301
74302         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74303         Categorize the options by when they are useful.
74304
74305 2006-07-29  Bruno Haible  <bruno@clisp.org>
74306
74307         * gnulib-tool (func_usage): Document option --no-libtool.
74308         Handle option --no-libtool.
74309         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74310         for changed semantics of $libtool variable.
74311         (func_import): Likewise. If libtool is not used, show this through
74312         an option --no-libtool.
74313         (func_create_testdir): Update.
74314
74315 2006-07-29  Bruno Haible  <bruno@clisp.org>
74316
74317         * gnulib-tool (func_import): Extend error message about missing
74318         --doc-base.
74319
74320 2006-07-29  Bruno Haible  <bruno@clisp.org>
74321
74322         * gnulib-tool (func_import): Don't create the $docbase directory if
74323         there is no file to store there.
74324
74325 2006-07-29  Bruno Haible  <bruno@clisp.org>
74326
74327         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74328         relevant, look for configure.ac there, not in the current directory.
74329         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74330
74331 2006-07-29  Bruno Haible  <bruno@clisp.org>
74332
74333         * gnulib-tool (SORT): New variable.
74334         (func_usage): Undocument --assume-autoconf option.
74335         Remove --assume-autoconf option handling.
74336         (autoconf_minversion): Determine from the contents of configure.ac.
74337         (func_import): Remove autoconf_minversion handling.
74338         Suggested by Eric Blake.
74339
74340 2006-07-29  Bruno Haible  <bruno@clisp.org>
74341
74342         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74343
74344 2006-07-29  Bruno Haible  <bruno@clisp.org>
74345
74346         * config/srclist.txt (*setenv.[ch]): Remove rules.
74347
74348 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74349
74350         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74351
74352 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74353
74354         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74355         arpa/inet.h.
74356
74357 2006-07-28  Simon Josefsson  <jas@extundo.com>
74358
74359         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74360         * modules/inet_pton (Depends-on): Likewise.
74361
74362 2006-07-28  Simon Josefsson  <jas@extundo.com>
74363
74364         * m4/netinet_in_h.m4: New file.
74365
74366 2006-07-28  Simon Josefsson  <jas@extundo.com>
74367
74368         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74369         #include's.
74370
74371 2006-07-28  Simon Josefsson  <jas@extundo.com>
74372
74373         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74374         #include's.
74375
74376 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74377
74378         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74379         setgid on directories only if they set these bits.
74380         * lib/modechange.h: Remove obsolete comment about masks.
74381
74382 2006-07-28  Eric Blake  <ebb9@byu.net>
74383
74384         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74385         macro expansion.
74386
74387 2006-07-28  Bruno Haible  <bruno@clisp.org>
74388
74389         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74390
74391 2006-07-28  Bruno Haible  <bruno@clisp.org>
74392
74393         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74394
74395 2006-07-28  Bruno Haible  <bruno@clisp.org>
74396
74397         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74398         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74399         Define fallbacks.
74400         Avoids link error on FreeBSD 4.x.
74401         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74402
74403         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74404         encoding.
74405         * lib/mbswidth.c (iswcntrl): Likewise.
74406
74407 2006-07-27  Bruno Haible  <bruno@clisp.org>
74408
74409         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74410         test.
74411
74412 2006-07-27  Bruno Haible  <bruno@clisp.org>
74413
74414         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74415         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74416         defined.
74417
74418 2006-07-26  Eric Blake  <ebb9@byu.net>
74419
74420         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74421
74422 2006-07-26  Eric Blake  <ebb9@byu.net>
74423
74424         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74425         like mingw that lack mkstemp.
74426         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74427         avoid compilation warning on mingw.
74428
74429 2006-07-26  Bruno Haible  <bruno@clisp.org>
74430
74431         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74432         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74433         INT_FAST*_MIN, INTPTR_MIN.
74434
74435 2006-07-25  Bruno Haible  <bruno@clisp.org>
74436
74437         * modules/version-etc (Depends-on): Add stdarg.
74438
74439 2006-07-25  Bruno Haible  <bruno@clisp.org>
74440
74441         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74442         complex commands.
74443
74444 2006-07-25  Bruno Haible  <bruno@clisp.org>
74445
74446         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74447         defined in <stdarg.h> or config.h.
74448
74449 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74450
74451         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74452         (gl_STDIO_SAFER): Remove.
74453
74454 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74455
74456         * MODULES.html.sh (File stream based Input/Output):
74457         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74458         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74459         * modules/fopen-safer, modules/tmpfile-safer: New files.
74460         * modules/stdio-safer: Remove.
74461
74462 2006-07-24  Bruno Haible  <bruno@clisp.org>
74463
74464         * modules/tmpdir: New file.
74465         * MODULES.html.sh (File system functions): Add it.
74466
74467 2006-07-24  Bruno Haible  <bruno@clisp.org>
74468
74469         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74470         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74471
74472 2006-07-24  Bruno Haible  <bruno@clisp.org>
74473
74474         * modules/clean-temp: New file.
74475
74476 2006-07-24  Bruno Haible  <bruno@clisp.org>
74477
74478         * m4/tmpdir.m4: New file, from GNU gettext.
74479
74480 2006-07-24  Bruno Haible  <bruno@clisp.org>
74481
74482         * lib/tmpdir.h: New file, from GNU gettext.
74483         * lib/tmpdir.c: New file, from GNU gettext.
74484
74485 2006-07-24  Bruno Haible  <bruno@clisp.org>
74486
74487         * lib/clean-temp.h: New file, from GNU gettext.
74488         * lib/clean-temp.c: New file, from GNU gettext.
74489
74490 2006-07-23  Eric Blake  <ebb9@byu.net>
74491
74492         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74493         (Depends-on): Add binary-io.
74494
74495 2006-07-23  Eric Blake  <ebb9@byu.net>
74496
74497         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74498
74499 2006-07-23  Eric Blake  <ebb9@byu.net>
74500
74501         * lib/tmpfile-safer.c: New file.
74502         * lib/stdio-safer.h (fopen_safer): Add prototype.
74503         * lib/stdio--.h (tmpfile): Make safer.
74504
74505 2006-07-23  Bruno Haible  <bruno@clisp.org>
74506
74507         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74508         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74509         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74510         gl_linked_remove_at): Use it.
74511
74512 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74513         and Simon Josefsson <jas@extundo.com>
74514
74515         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74516
74517         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74518
74519 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74520
74521         * modules/close-stream: New file.
74522         * modules/closeout (Description): Make it clear that it exits
74523         with a diagnostic on error.
74524         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74525         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74526
74527 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74528
74529         * m4/close-stream.m4: New file.
74530
74531 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74532
74533         * lib/close-stream.c, lib/close-stream.h: New files.
74534
74535 2006-07-22  Bruno Haible  <bruno@clisp.org>
74536
74537         Merge from GNU gettext 0.15.
74538
74539         2006-05-01  Bruno Haible  <bruno@clisp.org>
74540
74541                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74542
74543         2006-07-22  Bruno Haible  <bruno@clisp.org>
74544
74545                 * modules/javaversion: New file.
74546                 * MODULES.html.sh (Java): Add javaversion.
74547
74548         2006-03-12  Bruno Haible  <bruno@clisp.org>
74549
74550                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74551
74552         2005-12-04  Bruno Haible  <bruno@clisp.org>
74553
74554                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74555                 (untested).
74556
74557         2006-06-21  Bruno Haible  <bruno@clisp.org>
74558
74559                 Avoid warnings from recent versions of mcs.
74560                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74561                 -o, -L, -r any more. Use options documented since mcs-1.0
74562                 instead. Similarly for -g.
74563
74564         2005-12-04  Bruno Haible  <bruno@clisp.org>
74565
74566                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74567                 .resources, not .resource.
74568
74569         2005-07-09  Bruno Haible  <bruno@clisp.org>
74570
74571                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74572                 add a .dll suffix.
74573                 Reported by Mark Junker <mjscod@gmx.de>.
74574
74575         2006-07-22  Bruno Haible  <bruno@clisp.org>
74576
74577                 * modules/gettext: Upgrade to gettext-0.15.
74578                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74579                 m4/visibility.m4.
74580                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74581
74582 2006-07-22  Bruno Haible  <bruno@clisp.org>
74583
74584         Merge from GNU gettext 0.15.
74585
74586         2006-03-25  Bruno Haible  <bruno@clisp.org>
74587
74588                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74589
74590         2006-07-21  Bruno Haible  <bruno@clisp.org>
74591
74592                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74593                 "1.1".
74594
74595         2006-05-09  Bruno Haible  <bruno@clisp.org>
74596
74597                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74598                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74599                 for the conftestver execution.
74600
74601         2006-05-01  Bruno Haible  <bruno@clisp.org>
74602
74603                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74604                 optional target-version argument. Verify that the compiler
74605                 groks source of the specified source-version, or add -source
74606                 option as necessary. Verify that the compiler produces
74607                 bytecode in the specified target-version, or add -target and
74608                 -source options as necessary. Make the result of the test
74609                 available as variable CONF_JAVAC. Also log error output in
74610                 config.log.
74611
74612         2006-03-11  Bruno Haible  <bruno@clisp.org>
74613
74614                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74615
74616         2006-05-09  Bruno Haible  <bruno@clisp.org>
74617
74618                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74619                 CLASSPATH_SEPARATOR to a semicolon.
74620
74621         2006-03-12  Bruno Haible  <bruno@clisp.org>
74622
74623                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74624                 available as variable CONF_JAVA, for subsequent autoconf
74625                 tests. Also log error output in config.log.
74626
74627         2006-07-19  Bruno Haible  <bruno@clisp.org>
74628
74629                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74630                 that getline works on glibc2 systems. Needed to avoid trouble
74631                 in relocatable.c.
74632                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74633
74634         2005-12-04  Bruno Haible  <bruno@clisp.org>
74635
74636                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74637                 launcher (untested).
74638
74639         2005-12-04  Bruno Haible  <bruno@clisp.org>
74640
74641                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74642
74643         2006-07-22  Bruno Haible  <bruno@clisp.org>
74644
74645                 * gettext.m4: Update from GNU gettext-0.15.
74646                 * nls.m4: Likewise.
74647                 * po.m4: Likewise.
74648                 * inttypes-pri.m4: Likewise.
74649                 * inttypes-h.m4: Renamed from inttypes.m4.
74650                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74651
74652 2006-07-22  Bruno Haible  <bruno@clisp.org>
74653
74654         Merge from GNU gettext 0.15.
74655
74656         2005-07-05  Bruno Haible  <bruno@clisp.org>
74657
74658                 * printf-args.c (printf_fetchargs): Work around broken
74659                 definition of wint_t on mingw.
74660
74661         2005-02-12  Bruno Haible  <bruno@clisp.org>
74662
74663                 * xallocsa.h: Add extern "C" for C++.
74664
74665         2006-05-17  Bruno Haible  <bruno@clisp.org>
74666
74667                 Cygwin portability.
74668                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74669
74670         2006-04-30  Bruno Haible  <bruno@clisp.org>
74671
74672                 * progreloc.c: Include <mach-o/dyld.h> if available.
74673                 (find_executable): Use _NSGetExecutablePath when possible.
74674
74675         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74676
74677                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74678                 function.
74679
74680         2005-12-29  Bruno Haible  <bruno@clisp.org>
74681
74682                 * progreloc.c (set_program_name_and_installdir): Fix
74683                 compilation error.
74684
74685         2005-12-04  Bruno Haible  <bruno@clisp.org>
74686
74687                 Cygwin portability.
74688                 * progreloc.c: Include <windows.h> also on Cygwin.
74689                 (find_executable): Add support for Cygwin.
74690                 (set_program_name_and_installdir): Handle also platforms with
74691                 nonempty EXEEXT.
74692
74693         2006-07-11  Bruno Haible  <bruno@clisp.org>
74694
74695                 * javacomp.c: Fix a comment.
74696                 Reported by Jim Meyering.
74697
74698         2006-04-30  Bruno Haible  <bruno@clisp.org>
74699
74700                 * javacomp.h (compile_java_class): Add source_version,
74701                 target_version arguments.
74702                 * javacomp.c: Rewritten to choose only a compiler that
74703                 respects the specified source_version and target_version.
74704
74705         2006-06-27  Bruno Haible  <bruno@clisp.org>
74706
74707                 Assume correct S_ISDIR macro.
74708                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74709
74710         2006-07-22  Bruno Haible  <bruno@clisp.org>
74711
74712                 * javaversion.h: New file, from GNU gettext.
74713                 * javaversion.c: New file, from GNU gettext.
74714                 * javaversion.java: New file, from GNU gettext.
74715                 * javaversion.class: New file, from GNU gettext.
74716
74717         2006-05-17  Bruno Haible  <bruno@clisp.org>
74718
74719                 Cygwin portability.
74720                 * javaexec.c (execute_java_class): Test for jview program
74721                 also on Cygwin.
74722
74723         2006-04-09  Bruno Haible  <bruno@clisp.org>
74724
74725                 * fatal-signal.c: Don't include string.h.
74726                 (at_fatal_signal): Use a copying loop instead of memcpy.
74727
74728         2005-12-04  Bruno Haible  <bruno@clisp.org>
74729
74730                 * csharpexec.c: Add support for 'clix' launcher (untested).
74731                 (execute_csharp_using_sscli): New function.
74732                 (execute_csharp_program): Call it.
74733
74734         2006-06-21  Bruno Haible  <bruno@clisp.org>
74735
74736                 Avoid warnings from recent versions of mcs.
74737                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74738                 -o, -L, -r any more. Use options documented since mcs-1.0
74739                 instead. Similarly for -g.
74740
74741         2005-07-09  Bruno Haible  <bruno@clisp.org>
74742
74743                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74744                 add a .dll suffix.
74745                 Reported by Mark Junker <mjscod@gmx.de>.
74746
74747         2006-06-17  Bruno Haible  <bruno@clisp.org>
74748
74749                 * config.charset: Update for NetBSD 3.0.
74750
74751         2006-05-17  Bruno Haible  <bruno@clisp.org>
74752
74753                 Cygwin portability.
74754                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74755
74756         2006-05-16  Bruno Haible  <bruno@clisp.org>
74757
74758                 * localcharset.c [CYGWIN]: Include <windows.h>.
74759                 (get_charset_aliases): For Cygwin, return the same CPxxx
74760                 aliases list as under WIN32.
74761                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74762                 the environment variables. Fall back to GetACP().
74763
74764         2006-04-05  Bruno Haible  <bruno@clisp.org>
74765
74766                 * config.charset: Update Juan Manuel Guerrero's address.
74767
74768         2005-02-12  Bruno Haible  <bruno@clisp.org>
74769
74770                 * allocsa.h: Add extern "C" for C++.
74771
74772         2005-02-10  Bruno Haible  <bruno@clisp.org>
74773
74774                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74775                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74776
74777         2006-07-22  Bruno Haible  <bruno@clisp.org>
74778
74779                 * gettext.h: Update to GNU gettext-0.15.
74780
74781 2006-07-22  Bruno Haible  <bruno@clisp.org>
74782
74783         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74784         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74785         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74786
74787 2006-07-21  Eric Blake  <ebb9@byu.net>
74788
74789         * modules/stdlib-safer: New file.
74790         * MODULES.html.sh (File stream based Input/Output): Add
74791         stdlib-safer.
74792
74793 2006-07-21  Eric Blake  <ebb9@byu.net>
74794
74795         * lib/stdlib-safer.h: New file from coreutils, required by
74796         stdlib--.h.
74797
74798 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74799
74800         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74801
74802 2006-07-20  Bruno Haible  <bruno@clisp.org>
74803
74804         * gnulib-tool: Recognize new option --assume-autoconf.
74805         (autoconf_minversion): New variable.
74806         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74807
74808 2006-07-20  Bruno Haible  <bruno@clisp.org>
74809
74810         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74811
74812 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74813
74814         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74815         Reindent and repaginate.
74816
74817 2006-07-19  Derek Price  <derek@ximbiot.com>
74818
74819         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74820         Correct grammar.
74821
74822 2006-07-17  Bruno Haible  <bruno@clisp.org>
74823
74824         * modules/list: New file.
74825         * modules/array-list: New file.
74826         * modules/carray-list, modules/carray-list-tests: New files.
74827         * modules/linked-list, modules/linked-list-tests: New files.
74828         * modules/avltree-list, modules/avltree-list-tests: New files.
74829         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74830         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74831         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74832         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74833         * modules/oset: New file.
74834         * modules/array-oset: New file.
74835         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74836         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74837         * tests/test-carray_list.c: New file.
74838         * tests/test-linked_list.c: New file.
74839         * tests/test-avltree_list.c: New file.
74840         * tests/test-rbtree_list.c: New file.
74841         * tests/test-linkedhash_list.c: New file.
74842         * tests/test-avltreehash_list.c: New file.
74843         * tests/test-rbtreehash_list.c: New file.
74844         * tests/test-avltree_oset.c: New file.
74845         * tests/test-rbtree_oset.c: New file.
74846         * MODULES.html.sh (Container data structures): New section.
74847
74848 2006-07-17  Bruno Haible  <bruno@clisp.org>
74849
74850         * m4/gl_list.m4: New file.
74851
74852 2006-07-17  Bruno Haible  <bruno@clisp.org>
74853
74854         * lib/gl_list.h: New file.
74855         * lib/gl_list.c: New file.
74856         * lib/gl_array_list.h: New file.
74857         * lib/gl_array_list.c: New file.
74858         * lib/gl_carray_list.h: New file.
74859         * lib/gl_carray_list.c: New file.
74860         * lib/gl_linked_list.h: New file.
74861         * lib/gl_linked_list.c: New file.
74862         * lib/gl_anylinked_list1.h: New file.
74863         * lib/gl_anylinked_list2.h: New file.
74864         * lib/gl_avltree_list.h: New file.
74865         * lib/gl_avltree_list.c: New file.
74866         * lib/gl_anyavltree_list1.h: New file.
74867         * lib/gl_anyavltree_list2.h: New file.
74868         * lib/gl_rbtree_list.h: New file.
74869         * lib/gl_rbtree_list.c: New file.
74870         * lib/gl_anyrbtree_list1.h: New file.
74871         * lib/gl_anyrbtree_list2.h: New file.
74872         * lib/gl_anytree_list1.h: New file.
74873         * lib/gl_anytree_list2.h: New file.
74874         * lib/gl_linkedhash_list.h: New file.
74875         * lib/gl_linkedhash_list.c: New file.
74876         * lib/gl_anyhash_list1.h: New file.
74877         * lib/gl_anyhash_list2.h: New file.
74878         * lib/gl_avltreehash_list.h: New file.
74879         * lib/gl_avltreehash_list.c: New file.
74880         * lib/gl_rbtreehash_list.h: New file.
74881         * lib/gl_rbtreehash_list.c: New file.
74882         * lib/gl_anytreehash_list1.h: New file.
74883         * lib/gl_anytreehash_list2.h: New file.
74884
74885         * lib/gl_oset.h: New file.
74886         * lib/gl_oset.c: New file.
74887         * lib/gl_array_oset.h: New file.
74888         * lib/gl_array_oset.c: New file.
74889         * lib/gl_avltree_oset.h: New file.
74890         * lib/gl_avltree_oset.c: New file.
74891         * lib/gl_rbtree_oset.h: New file.
74892         * lib/gl_rbtree_oset.c: New file.
74893         * lib/gl_anytree_oset.h: New file.
74894
74895 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74896
74897         * m4/mkancesdirs.m4: New file.
74898         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74899         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74900         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74901         it.
74902
74903 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74904
74905         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74906         * lib/mkancesdirs.h: New files.
74907         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74908         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74909         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74910         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74911         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74912         callers changed.  Revamp internals significantly, by not
74913         attempting to create directories that are temporarily more
74914         permissive than the final results.  Do not attempt to use
74915         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74916         This removes some race conditions, fixes some bugs, and simplifies
74917         things.  Use new dirchownmod function to do owner and mode changes.
74918         * lib/mkdir-p.h: Likewise.
74919         * lib/modechange.c (octal_to_mode): New function.
74920         (struct mode_change): New member mentioned.
74921         (make_node_op_equals): New arg mentioned.  All callers changed.
74922         (mode_compile): Keep track of which mode bits the user has explicitly
74923         mentioned.
74924         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74925         New arg PMODE_BITS, to keep track of which mode bits the user
74926         mentioned; it treats S_ISUID and S_ISGID speciall.
74927         All callers changed.
74928         * lib/modechange.h: Likewise.
74929
74930 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74931
74932         * MODULES.html.sh: Add mkancestors.
74933         * modules/mkancesdirs: New module.
74934         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74935         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74936         The chdir-safer and afs files are now orphans; I'll remove them
74937         unless someone speaks up.
74938         Add lib/dirchownmod.c, lib/dirchownmod.h.
74939         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74940         Add lchown, mkancesdirs.
74941         (Maintainer): Add self.
74942
74943 2006-07-15  Karl Berry  <karl@gnu.org>
74944
74945         * gnulib-tool: help message wording/arrangement.
74946
74947 2006-07-14  Simon Josefsson  <jas@extundo.com>
74948
74949         * doc/gnulib.texi (Libtool and Windows): New section.
74950
74951 2006-07-12  Simon Josefsson  <jas@extundo.com>
74952
74953         * modules/gendocs (License): Fix license, approved by Karl.
74954
74955 2006-07-12  Eric Blake  <ebb9@byu.net>
74956
74957         * MODULES.html.sh: Add gendocs.
74958
74959 2006-07-11  Eric Blake  <ebb9@byu.net>
74960
74961         * modules/fdl: New module, to install doc/fdl.texi.
74962         * MODULES.html.sh: Add new section for documentation modules.
74963         * gnulib-tool: Avoid space-tab.
74964         (--doc-base): New option, to manage files from doc.
74965
74966 2006-07-11  Eric Blake  <ebb9@byu.net>
74967
74968         * m4/absolute-header.m4: Fix comments to match recent change.
74969
74970 2006-07-11  Eric Blake  <ebb9@byu.net>
74971
74972         * gnulib-tool: List --doc-base before --tests-base.
74973
74974 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74975
74976         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74977
74978 2006-07-11  Bruno Haible  <bruno@clisp.org>
74979
74980         * README: Mention where to put documentation.
74981
74982 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74983
74984         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74985
74986 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74987
74988         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74989         to stdint.m4.
74990
74991 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74994         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74995         "no/such/file/stdint.h" when there is no such file, so that
74996         the resulting C code can be parsed by dodgy compilers.
74997         Problems reported by Bob Proulx.
74998
74999 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75000
75001         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75002         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75003         macros into the GNU _D_EXACT_NAMLEN.
75004         * lib/savedir.c:  Likewise.
75005         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75006
75007 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75008         and Paul Eggert  <eggert@cs.ucla.edu>
75009
75010         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75011         * m4/savedir.m4:
75012         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75013         macros into the GNU _D_EXACT_NAMLEN.
75014
75015 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75016
75017         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75018         around the absolute name, to work around a problem with the HP-UX
75019         11.23 native C compiler, reported by Bob Proulx.
75020
75021 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75022
75023         * doc/maintain.texi, make-stds.texi: Sync from
75024         <http://savannah.gnu.org/projects/gnustandards>.
75025
75026 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75027
75028         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75029
75030 2006-07-09  Jim Meyering  <jim@meyering.net>
75031
75032         * m4/glob.m4: Remove a doubled word in a comment.
75033
75034 2006-07-09  Jim Meyering  <jim@meyering.net>
75035
75036         * lib/argp-pv.c: Remove a doubled word in a comment.
75037         * lib/check-version.c (check_version): Likewise.
75038         * lib/javacomp.c (compile_java_class): Likewise.
75039
75040 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75041
75042         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75043         for the benefit of people using Autoconf 2.60.  If you want to
75044         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75045         (or m4/onceonly.m4, if pre-2.57) manually.
75046
75047 2006-07-08  Jim Meyering  <jim@meyering.net>
75048
75049         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75050         comment.
75051         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75052         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75053         comment.
75054
75055 2006-07-08  Jim Meyering  <jim@meyering.net>
75056
75057         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75058
75059 2006-07-07  Simon Josefsson  <jas@extundo.com>
75060
75061         * tests/test-crc.c: Change expected crc value, the test vector
75062         were probably computed using the old broken crc.c?
75063
75064 2006-07-06  Simon Josefsson  <jas@extundo.com>
75065
75066         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75067         now the canonical place for the M4 file).
75068
75069         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75070         from the sys_socket dependency now.
75071
75072         * modules/inet_pton (Files): Ditto.
75073
75074         * modules/inet_ntop (Files): Ditto.
75075
75076 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75077
75078         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75079         not gl_PREREQ_GETUSERSHELL.
75080
75081 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75082
75083         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75084         with only one argument, for Autoconf 2.60.
75085         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75086         expand to nothing, so add a shell command to avoid syntax error.
75087         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75088
75089 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75090
75091         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75092
75093 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75094
75095         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75096         no longer needed.  Check for isblank decl.
75097         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75098         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75099         of existence.
75100
75101 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75102
75103         * lib/getloadavg.c: Use __VMS, not VMS.
75104         * lib/getopt.c: Likewise.
75105         * lib/getpagesize.h: Likewise.
75106         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75107         and probably does not work.
75108
75109 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75110
75111         * lib/.cppi-disable: Add wcwidth.
75112         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75113         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75114         (ISGRAPH): Remove.  All uses changed to isgraph.
75115         (FOLD) [!defined _LIBC]: Remove special case.
75116         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75117         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75118         HAVE_ISBLANK.
75119         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75120         case.
75121
75122 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75123
75124         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75125         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75126         brackets.  Other minor changes to suppress some compiler
75127         warnings.
75128
75129 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75130         and Paul Eggert  <eggert@cs.ucla.edu>
75131
75132         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75133         of invoking obsolescent AC_HEADER_DIRENT macro.
75134         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75135         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75136         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75137         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75138         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75139         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75140         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75141         * m4/readdir.m4: Remove; no longer needed.
75142
75143 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75144         and Paul Eggert  <eggert@cs.ucla.edu>
75145
75146         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75147         Don't worry about this obsolete case any more.
75148         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75149         directories.
75150         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75151         worry about this obsolete case any more.
75152         * lib/fts.c: Likewise.
75153         * lib/getcwd.c: Likewise.
75154         * lib/glob.h: Likewise.
75155         * lib/savedir.c: Likewise.
75156
75157 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75158
75159         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75160         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75161         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75162         needed.
75163         All uses removed.
75164         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75165         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75166         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75167         needed.
75168         * m4/getdate.m4 (gl_GETDATE): Likewise.
75169         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75170         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75171         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75172         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75173         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75174         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75175         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75176         needed.
75177
75178 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75179
75180         * lib/memcasecmp.c: Include <limits.h>.
75181         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75182         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75183         Don't assume isdigit succeeds only on '0' through '9'.
75184
75185 2006-07-05  Eric Blake  <ebb9@byu.net>
75186
75187         * modules/getaddrinfo (Depends-on): Add snprintf.
75188
75189 2006-07-05  Eric Blake  <ebb9@byu.net>
75190
75191         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75192         to avoid 'header present but could not be compiled' on cygwin.
75193
75194 2006-07-05  Eric Blake  <ebb9@byu.net>
75195
75196         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75197         missing from netdb.h.
75198         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75199
75200 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75201
75202         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75203         no longer needed.
75204         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75205         * m4/getdate.m4 (gl_GETDATE): Likewise.
75206         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75207         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75208         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75209         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75210         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75211
75212 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75213
75214         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75215         All uses of is_space replaced by isspace.
75216         * lib/exit.h: Don't talk about STDC_HEADERS.
75217         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75218         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75219         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75220         replaced by isprint etc.
75221         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75222         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75223         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75224         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75225         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75226         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75227
75228 2006-07-05  Bruno Haible  <bruno@clisp.org>
75229
75230         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75231         the function exists, before testing against AIX.
75232         Reported by Martin Lambers <marlam@marlam.de>.
75233
75234 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75235
75236         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75237         From Mark D. Baushke.
75238
75239 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75240
75241         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75242         to the absolute name, not just one, to bypass Sun C 5.8's
75243         "warning: #include of /usr/include/... may be non-portable".
75244
75245 2006-07-04  Eric Blake  <ebb9@byu.net>
75246
75247         * modules/dirname-tests: New test module.
75248         * tests/test-dirname.c: New file, replacing dirname.c
75249         TEST_DIRNAME section that was recently deleted.
75250
75251 2006-07-04  Bruno Haible  <bruno@clisp.org>
75252
75253         Assume ANSI C header files and <ctype.h> functions.
75254         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75255         (mbsnwidth): Use isprint, iscntrl instead.
75256
75257 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75258
75259         Merge from coreutils.
75260         * MODULES.html.sh: Add xstrtold.
75261         * modules/xstrtold: New file.
75262         * modules/cycle-check (Files): Add lib/same-inode.h.
75263         * modules/dirname (Files): Add m4/double-slash-root.m4.
75264         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75265         * modules/mkdir-p (Files): Add lib/same-inode.h.
75266         * modules/same (Files): Add lib/same-inode.h.
75267
75268 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75269
75270         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75271         This is to keep the terminology clean; POSIX talks about
75272         "absolute pathnames", not "full pathnames", but the GNU
75273         Coding Standards say to use "path" for something else;
75274         so use "absolute" to keep both sides happy.
75275         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75276         Set gl_absolute_header, not gl_full_header_path.
75277         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75278         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75279         All uses changed.
75280
75281         Merge from coreutils.
75282
75283         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75284
75285         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75286         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75287         want to require the building of c-strtod.o.
75288         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75289         needs -lm directly.
75290         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75291
75292         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75293
75294         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75295         --as-needed option if available.  Problem reported by Albert Chin in
75296         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75297         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75298         cc merely issues a bunch of annoying warnings for --as-needed
75299         (this problem was reported by Bob Proulx).  Also, try linking with
75300         -lm to detect a bug in binutils 2.16 (this problem was reported
75301         by Ralf Wildenhues).
75302
75303         2006-06-18  Jim Meyering  <jim@meyering.net>
75304
75305         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75306         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75307         macro.
75308         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75309         also check for glibc-2.4's abort-inducing bug.
75310
75311         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75312         Low-probability clean-up should be to use rmdir to get rid of
75313         the just-created directory, not unlink.
75314
75315         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75316         configure fail, and request a bug report to inform us about it.
75317         Add a comment that, barring reports to the contrary, in 2007 we'll
75318         assume ftruncate is universally available.
75319
75320         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75321
75322         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75323
75324         2006-03-12  Jim Meyering  <jim@meyering.net>
75325
75326         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75327         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75328         * m4/same.m4 (gl_SAME): Likewise.
75329         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75330
75331         2006-03-11  Eric Blake  <ebb9@byu.net>
75332
75333         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75334         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75335         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75336         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75337
75338 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75339
75340         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75341         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75342         reported by Mark D. Baushke, one in
75343         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75344
75345         Merge from coreutils.
75346
75347         * lib/.cppi-disable: Add stdint_.h.
75348         * lib/.cvsignore: Add stdint.h.
75349
75350         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75351
75352         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75353         both double and long double versions.
75354         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75355         * lib/xstrtold.c: New file.
75356         * lib/xstrtod.h (xstrtold): New decl.
75357
75358         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         * lib/filemode.c (setst): Remove.
75361         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75362         (arguably) clearer, and the generated code is a bit smaller on my
75363         Debian GNU/Linux stable x86 host.
75364
75365         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75366
75367         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75368         Assume that filemode.h includes sys/types.h and sys/stat.h.
75369         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75370         (ftypelet): Reorder to put common cases first, for efficiency.
75371         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75372         to do 'M'.
75373         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75374         of 10, for compatibility with FreeBSD.  All callers changed.
75375         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75376         types that can't be deduced solely from st_mode.  First arg is now a
75377         const pointer.
75378         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75379         (strmode): Renamed from mode_string.
75380         (filemodestring): New decl.
75381         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75382         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75383         needed.
75384         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75385
75386         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75387
75388         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75389         fsusage.h now does that.  Include fsusage.h first, to test interface.
75390         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75391         at most one method (the old code could have generated decls that
75392         didn't conform to C89, not that this was ever exercised).
75393         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75394
75395         2006-03-19  Jim Meyering  <jim@meyering.net>
75396
75397         Work even in a chroot where d_ino values for entries in "/"
75398         don't match the stat.st_ino values for the same names.
75399         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75400         number, iterate through all entries again, using lstat instead.
75401         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75402         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75403
75404         * lib/getcwd.c (__getcwd): Clarify a comment.
75405         Use memcpy in place of a call to strcpy.
75406
75407         2006-03-12  Jim Meyering  <jim@meyering.net>
75408
75409         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75410         matches that of the current directory (which we're about to chdir ".."
75411         out of), then save the dev-ino of the parent, instead.
75412
75413         * lib/same-inode.h (SAME_INODE): New file/macro.
75414         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75415         Include "same-inode.h", instead.
75416         * lib/same.c: Likewise.
75417         * lib/cycle-check.h: Include "same-inode.h".
75418         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75419         * lib/cycle-check.c (SAME_INODE): Remove definition.
75420         * lib/root-dev-ino.h: Include "same-inode.h".
75421
75422         2006-03-11  Eric Blake  <ebb9@byu.net>
75423
75424         * lib/same.c (same_name): s/base_name/last_component/
75425         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75426         * lib/filenamecat.c (file_name_concat): Likewise.
75427
75428         2006-03-11  Eric Blake  <ebb9@byu.net>,
75429                     Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75432         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75433         drive prefix.
75434         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75435         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75436         (last_component): New method.
75437         * lib/dirname.c (dir_len): Determine when drive letters need a
75438         subsequent slash.  Preserve // when it is special.
75439         (dir_name): Don't append dot when drive letter is absolute.
75440         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75441         * lib/basename.c (base_name): New semantics - malloc the result.
75442         Preserve // when it is special.  Preserve relative files that look
75443         like drive letters.
75444         (base_len): Preserve // when it is special.
75445         (last_component): New method, similar to old base_name semantics.
75446         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75447         base_name.  Strip redundant slashes from ///.
75448
75449 2006-07-03  Jim Meyering  <jim@meyering.net>
75450
75451         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75452         macro is used before the first cycle_check call.
75453
75454 2006-07-03  Eric Blake  <ebb9@byu.net>
75455
75456         * modules/dirname (Depends-on): Add xstrndup.
75457
75458 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75459
75460         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75461         test cases, so that config.log is a bit easier to follow.
75462
75463 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75464
75465         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75466         both are 64 bits, since this seems to be the tradition, and this
75467         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75468         we ever run into a host that prefers long long to long in this
75469         case, we'll need another configure-time test.  Problem reported by
75470         Jim Meyering.
75471
75472 2006-07-02  Eric Blake  <ebb9@byu.net>
75473
75474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75475
75476 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75477
75478         * modules/inttypes (Depends-on): No longer depends on stdint.
75479         * modules/stdint (Description): Say more about assumptions.
75480         Say that the fast types might differ.  Say macros are used.
75481         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75482         (Makefile.am): Revise list of substituted symbols to match
75483         new stdint.m4.
75484         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75485         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75486         * tests/test-stdint.c (verify_same_types)
75487         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75488         the code conforms to C99/C89.
75489         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75490         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75491
75492 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75493
75494         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75495         but fix a bug, by requiring at least 64 bits.
75496         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75497         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75498         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75499         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75500
75501         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75502         changes.  Make 2.59 a prerequisite.  Check and substitute for
75503         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75504         inttypes.h.  Do not use special include files; just use the
75505         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75506         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75507         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75508         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75509         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75510         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75511         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75512         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75513         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75514         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75515         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75516         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75517         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75518         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75519         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75520         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75521         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75522         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75523         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75524         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75525         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75526         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75527         not check for things that C99 does not require, e.g., int8_t.  If
75528         a test isn't needed unless <stdint.h> isn't working, and is
75529         unlikely to be needed for any other reason, then don't do it
75530         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75531         size_t, since we assume C89 freestanding at least.  Do not check
75532         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75533         the right thing even if the types are not defined.  Instead use:
75534         (gl_STDINT_TYPE_PROPERTIES): New macro.
75535         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75536         testing whether <sys/types.h> clashes, as Autoconf does this for
75537         us now.  All uses removed.
75538         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75539         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75540         (gl_CHECK_TYPE_SAME):
75541         Remove; no longer needed.
75542         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75543         exists, since we'll return 0 anyway in that case.
75544         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75545
75546 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75547
75548         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75549         possible collision with system files.
75550         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75551         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75552         WCHAR_MIN and WCHAR_MAX in this case.
75553         (<stddef.h>): Do not include; no longer needed.
75554         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75555         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75556         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75557         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75558         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75559         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75560         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75561         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75562         !defined(__c99))]: Include in this case too, since it's harmless
75563         now.
75564         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75565         dangerous to do so.
75566         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75567         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75568         (_STDINT_MIN, _STDINT_MAX): New macros.
75569         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75570         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75571         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75572         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75573         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75574         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75575         macros, not typedefs; this simplifies things quite a bit.
75576         Use long int for all types narrower than int64_t.
75577         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75578         Define in terms of long long int or int64_t or long int,
75579         not int64_t or int32_t.  This saves some compile-time testing.
75580         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75581         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75582         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75583         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75584         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75585         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75586         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75587         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75588         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75589         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75590         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75591         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75592         undef any previous version and define our own version, for
75593         simplicity and consistency with the new macros for types.
75594         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75595         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75596         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75597         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75598         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75599         @WINT_T_SUFFIX@ to keep things simple here.
75600         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75601         Simplify by assuming typical 8/16/32/64 host, since we're
75602         already doing that elsewhere anyway.
75603         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75604         and assume long long int is 64 bits if available.  This
75605         speeds up 'configure'.
75606
75607 2006-07-01  Eric Blake  <ebb9@byu.net>
75608
75609         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75610         Reported by Andreas Buening.
75611
75612 2006-07-01  Eric Blake  <ebb9@byu.net>
75613
75614         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75615
75616 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75617
75618         * lib/getaddrinfo.c: fixed typo
75619
75620 2006-06-29  Jim Meyering  <jim@meyering.net>
75621
75622         * modules/strftime (Maintainer): Add my name, since with the
75623         FPRINTFTIME changes strftime.c has forked from glibc.
75624
75625 2006-06-29  Eric Blake  <ebb9@byu.net>
75626
75627         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75628
75629 2006-06-29  Eric Blake  <ebb9@byu.net>
75630
75631         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75632
75633 2006-06-29  Eric Blake  <ebb9@byu.net>
75634
75635         * lib/stat_.h: New file.
75636
75637 2006-06-29  Eric Blake  <ebb9@byu.net>
75638
75639         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75640         unused static function.
75641
75642 2006-06-29  Eric Blake  <ebb9@byu.net>
75643
75644         * doc/functions.texi (Function Portability): Document missing lstat
75645         on mingw.
75646
75647 2006-06-29  Eric Blake  <ebb9@byu.net>
75648
75649         * MODULES.html.sh: Add sys_stat.
75650         * modules/sys_stat: New module.
75651         * modules/mkstemp (Depends-on): Add sys_stat.
75652
75653 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75654
75655         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75656
75657 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75658
75659         * m4/c-bs-a.m4: Removed.
75660
75661 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75662
75663         * lib/strftime.c: Assume strftime() exists.
75664
75665 2006-06-29  Derek Price  <derek@ximbiot.com>
75666
75667         * modules/c-bs-a: Removed - \a is C89.
75668         * MODULES.html.sh: Remove c-bs-a.
75669
75670 2006-06-29  Bruno Haible  <bruno@clisp.org>
75671
75672         * modules/wcwidth (License): Change to LGPL.
75673
75674 2006-06-28  Simon Josefsson  <jas@extundo.com>
75675
75676         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75677         on _WIN32.
75678
75679         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75680         getnameinfo.
75681
75682 2006-06-28  Simon Josefsson  <jas@extundo.com>
75683
75684         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75685
75686 2006-06-28  Simon Josefsson  <jas@extundo.com>
75687
75688         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75689         functions there.  It will succeed on Windows XP, but on Windows
75690         2000 and (presumably) earlier, it will fail, and use the internal
75691         re-implementation.
75692         (use_win32_p): New function.
75693         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75694         Support AI_NUMERICSERV to disable getservbyname.
75695         (getnameinfo): New function, only supports
75696         NI_NUMERICHOST|NI_NUMERICSERV for now.
75697
75698         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75699         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75700         getnameinfo.
75701
75702 2006-06-28  Eric Blake  <ebb9@byu.net>
75703
75704         * modules/wcwidth: New file.
75705         * modules/mbchar (Depends-on): Add wcwidth.
75706         * modules/mbswidth (Depends-on): Add wcwidth.
75707         * MODULES.html.sh: Add wcwidth.
75708
75709 2006-06-28  Eric Blake  <ebb9@byu.net>
75710
75711         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75712         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75713
75714 2006-06-28  Eric Blake  <ebb9@byu.net>
75715
75716         * lib/xvasprintf.h: Fix comments.
75717
75718 2006-06-28  Eric Blake  <ebb9@byu.net>
75719
75720         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75721         * lib/mbswidth.c (wcwidth): Move from here...
75722         * lib/wcwidth.h: ...to this new file.
75723
75724 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75725
75726         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75727
75728         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75729         it's obsolete.
75730         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75731
75732 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75733
75734         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75735         Autoconf 2.60 says this stuff was obsolete.
75736
75737 2006-06-28  Bruno Haible  <bruno@clisp.org>
75738
75739         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75740
75741 2006-06-28  Bruno Haible  <bruno@clisp.org>
75742
75743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75744         gt_TYPE_WCHAR_T.
75745
75746 2006-06-28  Bruno Haible  <bruno@clisp.org>
75747
75748         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75749         declaration for wcwidth.
75750         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75751
75752 2006-06-28  Bruno Haible  <bruno@clisp.org>
75753
75754         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75755         (mkdir): Define using _mkdir.
75756
75757 2006-06-28  Bruno Haible  <bruno@clisp.org>
75758
75759         * lib/getaddrinfo.h: Fix POSIX URL.
75760         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75761         _WIN32.
75762         (use_win32_p): Make static.
75763         (getaddrinfo): Reject service name if it is empty or does not consist
75764         solely of decimal digits, or if its value is > 65535.
75765         (getnameinfo): Remove useless casts.
75766
75767 2006-06-27  Simon Josefsson  <jas@extundo.com>
75768
75769         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75770         Eggert and Martin Lambers.
75771
75772 2006-06-27  Simon Josefsson  <jas@extundo.com>
75773
75774         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75775         Eggert and Martin Lambers.
75776
75777 2006-06-27  Bruno Haible  <bruno@clisp.org>
75778
75779         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75780         result to 0, not to empty.
75781         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75782
75783 2006-06-27  Bruno Haible  <bruno@clisp.org>
75784
75785         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75786
75787 2006-06-26  Simon Josefsson  <jas@extundo.com>
75788
75789         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75790         present.
75791
75792 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75793
75794         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75795         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75796         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75797
75798 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75799
75800         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75801
75802 2006-06-26  Bruno Haible  <bruno@clisp.org>
75803
75804         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75805
75806 2006-06-26  Bruno Haible  <bruno@clisp.org>
75807
75808         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75809
75810 2006-06-26  Bruno Haible  <bruno@clisp.org>
75811
75812         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75813         SGI C compiler in pre-C99 mode.
75814         Suggested by Mark D. Baushke and Larry Jones.
75815
75816 2006-06-26  Bruno Haible  <bruno@clisp.org>
75817
75818         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75819         WCHAR_MAX.
75820         Reported by Mark D. Baushke and Larry Jones.
75821
75822 2006-06-26  Bruno Haible  <bruno@clisp.org>
75823
75824         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75825         in pre-C99 mode.
75826         Suggested by Mark D. Baushke and Larry Jones.
75827
75828 2006-06-23  Simon Josefsson  <jas@extundo.com>
75829             Bruno Haible  <bruno@clisp.org>
75830
75831         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75832         Emit mostlyclean-local rule.
75833         (func_emit_tests_Makefile_am): Likewise.
75834         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75835
75836 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75837
75838         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75839
75840 2006-06-23  Bruno Haible  <bruno@clisp.org>
75841
75842         * tests/test-stdint.c: Update to match ISO C 99 Technical
75843         Corrigendum 1.
75844
75845 2006-06-23  Bruno Haible  <bruno@clisp.org>
75846
75847         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75848
75849 2006-06-23  Bruno Haible  <bruno@clisp.org>
75850
75851         * lib/stdint_.h: Treat IRIX like OpenBSD.
75852
75853 2006-06-23  Bruno Haible  <bruno@clisp.org>
75854
75855         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75856         ISO C 99 Technical Corrigendum 1.
75857
75858 2006-06-22  Simon Josefsson  <jas@extundo.com>
75859
75860         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75861         MinGW.
75862
75863 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75864
75865         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75866         needed.  Some compiler complained about some of them.  Problem reported
75867         by Larry Jones in
75868         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75869
75870 2006-06-21  Simon Josefsson  <jas@extundo.com>
75871
75872         * tests/test-getaddrinfo.c: New file.
75873
75874         * modules/getaddrinfo-tests: New file.
75875
75876         * MODULES.html.sh: Add inet_pton.
75877
75878         * modules/inet_pton: New file.
75879
75880 2006-06-21  Simon Josefsson  <jas@extundo.com>
75881
75882         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75883         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75884         of using the (limited) gnulib implementation on Windows XP.
75885
75886         * m4/inet_pton.m4: New file.
75887
75888 2006-06-21  Simon Josefsson  <jas@extundo.com>
75889
75890         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75891         variable.
75892
75893         * lib/socket_.h: Don't define WINVER.
75894
75895         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75896         slightly modified to work in gnulib.
75897
75898 2006-06-21  Simon Josefsson  <jas@extundo.com>
75899
75900         * doc/gnulib.texi (Windows sockets): Add.
75901
75902 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75903
75904         * lib/read-file.c (fread_file): Start with buffer allocation of
75905         0 bytes rather than 1 byte; this simplifies the code.
75906         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75907         code to free buffer and save/restore errno.
75908         (internal_read_file): Remove unused local.
75909
75910 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75911
75912         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75913         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75914         Problem reported by Denis Excoffier in
75915         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75916
75917 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75918
75919         * modules/sys_socket, modules/socklen: Include sys/types since
75920         FreeBSD 4.x's sys/socket.h needs it.
75921
75922 2006-06-19  Simon Josefsson  <jas@extundo.com>
75923
75924         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75925
75926 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75929
75930 2006-06-19  Bruno Haible  <bruno@clisp.org>
75931
75932         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75933         and FULL_PATH_INTTYPES_H in angle brackets.
75934         Reported by Mark D. Baushke <mdb@gnu.org>.
75935
75936 2006-06-17  Eric Blake  <ebb9@byu.net>
75937
75938         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75939         errno.
75940
75941 2006-06-17  Bruno Haible  <bruno@clisp.org>
75942
75943         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75944         <sys/inttypes.h>.
75945
75946 2006-06-17  Bruno Haible  <bruno@clisp.org>
75947
75948         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75949         whether errno is declared. Assume <errno.h> declares errno.
75950
75951 2006-06-17  Bruno Haible  <bruno@clisp.org>
75952
75953         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75954
75955 2006-06-17  Bruno Haible  <bruno@clisp.org>
75956
75957         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75958         problem on Solaris 2.5.1.
75959
75960 2006-06-16  Eric Blake  <ebb9@byu.net>
75961
75962         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75963         * lib/unicodeio.c [!defined errno]: Likewise.
75964         * lib/strtol.c [!defined errno]: Likewise.
75965         * lib/strtod.c [!defined errno]: Likewise.
75966
75967 2006-06-15  Eric Blake  <ebb9@byu.net>
75968
75969         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75970
75971 2006-06-15  Eric Blake  <ebb9@byu.net>
75972
75973         * config/srclist.txt (ssize_t.m4): Lose sync.
75974
75975 2006-06-15  Bruno Haible  <bruno@clisp.org>
75976
75977         * modules/stdint (Files): Include m4/full-header-path.m4,
75978         m4/size_max.m4, m4/wchar_t.m4.
75979         (Makefile.am): Many more substitutions.
75980         * modules/stdint-tests: New file.
75981         * tests/test-stdint.c: New file.
75982
75983 2006-06-15  Bruno Haible  <bruno@clisp.org>
75984
75985         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75986         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75987         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75988         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75989         gl_CHECK_TYPE_SAME): New macros.
75990
75991 2006-06-15  Bruno Haible  <bruno@clisp.org>
75992
75993         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75994
75995 2006-06-15  Bruno Haible  <bruno@clisp.org>
75996
75997         * lib/stdint_.h: Rewritten to be fully auto-configured.
75998         Fixes bug on HP-UX/IA64.
75999
76000 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * lib/getdate.y (__attribute__): Don't define if already defined.
76003         Problem reported by Larry Jones.
76004         * lib/utimens.c (__attribute__): Likewise.
76005
76006 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76009         reported by Andreas Schwab.
76010
76011 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76012             Bruno Haible  <bruno@clisp.org>
76013
76014         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76015         check for the declaration of strnlen and a run test that exposes the
76016         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76017         rpl_strndup.
76018
76019 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76020             Bruno Haible  <bruno@clisp.org>
76021
76022         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76023
76024 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76025
76026         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76027         compile test, for Tru64 4.0D.
76028
76029 2006-05-28  Karl Berry  <karl@gnu.org>
76030
76031         * config/srclist.txt (printf-args.c): lose sync.
76032
76033 2006-05-26  Martin Lambers  <marlam@marlam.de>
76034
76035         * lib/getpass.c: Updates the test for the native W32 API, and adds
76036         missing includes, thus fixing compilation warnings.
76037
76038 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76039
76040         * lib/exclude.c (exclude_fnmatch): New function.
76041         (excluded_file_name): Call exclude_fnmatch.
76042         * lib/exclude.h (excluded_file_name): New prototype
76043
76044 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76045
76046         * lib/tempname.c (small_open, large_open): New macros.
76047         (__open, __open64) [!_LIBC]: Remove.
76048         (__gen_tempname): Use small_open and large_open instead of __open
76049         and __open64.  This fixes a portability bug on HP-UX 11.11i
76050         reported by Simon Wing-Tang in
76051         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76052
76053 2006-05-24  Bruno Haible  <bruno@clisp.org>
76054
76055         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76056         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76057         Reported by Thorsten Maerz <torte@netztorte.de> via
76058         Aaron Stone <aaron@serendipity.cx>.
76059
76060 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76063         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76064         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76065         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76066         not really conditional on the cache.
76067         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76068
76069 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76070
76071         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76072         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76073         (my_usleep): Don't mishandle maximum value.
76074
76075 2006-05-19  Jim Meyering  <jim@meyering.net>
76076
76077         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76078
76079 2006-05-17  Bruno Haible  <bruno@clisp.org>
76080
76081         Cygwin portability.
76082         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76083
76084 2006-05-17  Bruno Haible  <bruno@clisp.org>
76085
76086         * lib/stdint_.h: Fix recognition of Cygwin.
76087
76088 2006-05-15  Bruno Haible  <bruno@clisp.org>
76089
76090         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76091         on libtool patch by Ralf Wildenhues.
76092
76093 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76094
76095         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76096         test for C99 conformance; (bool) 0.5 is an integer constant
76097         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76098         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76099
76100 2006-05-11  Simon Josefsson  <jas@extundo.com>
76101
76102         * m4/xvasprintf.m4: Fix obvious typo.
76103
76104 2006-05-11  Jim Meyering  <jim@meyering.net>
76105
76106         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76107         James Lemley.
76108
76109 2006-05-10  Simon Josefsson  <jas@extundo.com>
76110
76111         * lib/md4.c: Typo fix, update copyright years.
76112         (K1, K2): Don't use L because it turn computations into 64-bit on
76113         64-bit platforms.
76114
76115 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76116
76117         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76118         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76119         unwanted sign propagation, e.g., on hosts with 64-bit int.
76120         There still are some problems with reeelly weird theoretical hosts
76121         (e.g., 33-bit int) but it's not worth worrying about now.
76122         * lib/sha1.c (rol): Likewise.
76123         (K1, K2, K3, K4): Remove unnecessary L suffix.
76124
76125 2006-05-10  Bruno Haible  <bruno@clisp.org>
76126
76127         * lib/des.c: Cast to avoid warnings.
76128
76129 2006-05-09  Bruno Haible  <bruno@clisp.org>
76130
76131         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76132         (Depends-on): Depend also on xsize, stdarg.
76133         (configure.ac): Add gl_XVASPRINTF.
76134
76135 2006-05-09  Bruno Haible  <bruno@clisp.org>
76136
76137         * m4/xvasprintf.m4: New file.
76138
76139 2006-05-09  Bruno Haible  <bruno@clisp.org>
76140
76141         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76142         (EOVERFLOW): Define fallback value.
76143         (xstrcat): New function.
76144         (xvasprintf): Recognize the special case of a string concatenation.
76145
76146 2006-05-08  Eric Blake  <ebb9@byu.net>
76147
76148         * gnulib-tool (func_version): Base copyright year on CVS date.
76149         (func_emit_copyright_notice): New function.
76150         (func_emit_lib_Makefile_am): Use it.
76151         (func_emit_tests_Makefile_am): Likewise.
76152         (func_import): Likewise.
76153
76154 2006-05-08  Bruno Haible  <bruno@clisp.org>
76155
76156         * modules/stdarg: New file.
76157         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76158
76159 2006-05-08  Bruno Haible  <bruno@clisp.org>
76160
76161         * m4/stdarg.m4: New file, from GNU gettext.
76162
76163 2006-05-08  Bruno Haible  <bruno@clisp.org>
76164
76165         * config/srclist.txt (build-aux/config.rpath): different from latest
76166         release.
76167
76168 2006-05-08  Bruno Haible  <bruno@clisp.org>
76169
76170         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76171
76172 2006-05-05  Jim Meyering  <jim@meyering.net>
76173
76174         * m4/warning.m4: New file, derived from bison's file by the same name.
76175
76176 2006-05-03  Bruno Haible  <bruno@clisp.org>
76177
76178         * lib/stdint_.h: Shorter URL.
76179         * lib/inttypes.h: Likewise.
76180
76181 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76182
76183         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76184
76185 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76186
76187         * lib/verify.h: Document the internals better.  Most of this change
76188         was written by Bruno Haible.
76189
76190 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * doc/verify.texi: New file, partly based on a proposal by
76193         Bruno Haible.
76194
76195 2006-05-02  Bruno Haible  <bruno@clisp.org>
76196
76197         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76198         test from here...
76199         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76200
76201 2006-04-29  Bruno Haible  <bruno@clisp.org>
76202
76203         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76204         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76205
76206 2006-04-29  Bruno Haible  <bruno@clisp.org>
76207
76208         * gnulib-tool: Make --update option actually work.
76209
76210 2006-04-29  Bruno Haible  <bruno@clisp.org>
76211
76212         * doc/gcd.texi: New file.
76213         * doc/gnulib.texi: Include it.
76214
76215 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76216
76217         * lib/getdate.y (get_date): When adding relative date, start with the
76218         initial time, not with the result of the first mktime call.
76219
76220 2006-04-25  Bruno Haible  <bruno@clisp.org>
76221
76222         * gnulib-tool (func_import): Output the include directives in three
76223         blocks, sorted separately.
76224         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76225
76226 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76227
76228         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76229         to define main with arguments, for C++.  Reported by Eric Blake.
76230         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76231         Prefer 'int main ()' to 'int main (void)', for C++.
76232         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76233         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76234         for 'main', for C99 and C++.
76235
76236 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76237
76238         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76239         Don't assume that exit status -1 is valid.
76240         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76241         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76242         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76243         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76244         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76245         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76246         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76247         functions can be used without declaring them, or that you can
76248         exit with status -1.
76249         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76250
76251 2006-04-24  Karl Berry  <karl@gnu.org>
76252
76253         * config/srclist.txt (longdouble.m4): sync lost.
76254
76255 2006-04-24  Eric Blake  <ebb9@byu.net>
76256
76257         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76258
76259 2006-04-24  Bruno Haible  <bruno@clisp.org>
76260
76261         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76262         poll() implementation in AIX.
76263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76264
76265 2006-04-24  Bruno Haible  <bruno@clisp.org>
76266
76267         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76268         assigned exactly once.
76269
76270 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76271             Bruno Haible  <bruno@clisp.org>
76272
76273         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76274         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76275         for AM_CPPFLAGS.
76276
76277 2006-04-23  Bruno Haible  <bruno@clisp.org>
76278
76279         * modules/copy-file: Depend on unistd.
76280         * modules/execute: Likewise.
76281         * modules/fatal-signal: Likewise.
76282         * modules/findprog: Likewise.
76283         * modules/mkdtemp : Likewise.
76284         * modules/pipe: Likewise.
76285         * modules/wait-process: Likewise.
76286
76287 2006-04-23  Bruno Haible  <bruno@clisp.org>
76288
76289         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76290         condition was already detected.
76291         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76292
76293 2006-04-23  Bruno Haible  <bruno@clisp.org>
76294
76295         * lib/copy-file.c: Include <unistd.h> unconditionally.
76296         * lib/execute.c: Likewise.
76297         * lib/fatal-signal.c: Likewise.
76298         * lib/findprog.c: Likewise.
76299         * lib/mkdtemp.c: Likewise.
76300         * lib/pipe.h: Likewise.
76301         * lib/pipe.c: Likewise.
76302         * lib/wait-process.h: Likewise.
76303
76304 2006-04-23  Bruno Haible  <bruno@clisp.org>
76305
76306         * gnulib-tool (func_usage): Fix --import description. Document
76307         --update.
76308         (func_import): Create temporary file in a temporary directory, if
76309         --dry-run is specified. Silence errors from 'grep' when there are no
76310         m4 files in $m4dir.
76311         (func_create_testdir): Silence errors from 'grep' when there are no
76312         m4 files in $m4dir.
76313         Reported by Karl Berry <karl@freefriends.org>.
76314
76315 2006-04-20  Bruno Haible  <bruno@clisp.org>
76316
76317         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76318         one argument, so that the code will be portable to Autoconf 2.60.
76319         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76320         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76321         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76322
76323 2006-04-19  Derek Price  <derek@ximbiot.com>
76324             Eric Blake  <ebb9@byu.net>
76325
76326         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76327         rather than "/full/path.h".  Update comment to match.  Shorten &
76328         generalize m4_translit call via AS_TR_CPP.
76329
76330 2006-04-19  Derek Price  <derek@ximbiot.com>
76331             Eric Blake  <ebb9@byu.net>
76332
76333         * lib/inttypes.h: Correct grammar in comment.
76334
76335 2006-04-18  Derek Price  <derek@ximbiot.com>
76336             Paul Eggert  <eggert@cs.ucla.edu>
76337
76338         * modules/inttypes: New file.
76339         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76340
76341 2006-04-18  Derek Price  <derek@ximbiot.com>
76342             Paul Eggert  <eggert@cs.ucla.edu>
76343
76344         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76345         New files.
76346
76347 2006-04-18  Derek Price  <derek@ximbiot.com>
76348             Paul Eggert  <eggert@cs.ucla.edu>
76349
76350         * lib/inttypes.h: New file.
76351         * lib/strtoimax.c: Assume <inttypes.h>.
76352
76353 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76354
76355         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76356         isn't mounted.  Problem reported by Kir Kolyshkin.
76357
76358 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76361         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76362         Derek R. Price.
76363         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76364         implementation.
76365
76366 2006-04-12  Eric Blake  <ebb9@byu.net>
76367
76368         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76369         is now done automatically by the corresponding Autoconf macro.
76370
76371 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76372
76373         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76374         time_r.h.
76375
76376 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76377
76378         Merge regex changes from libc, removing some of our
76379         POSIX-conformance changes that were rejected and redoing them in a
76380         less-intrusive way.
76381
76382         * lib/regcomp.c (re_compile_internal, init_dfa):
76383         Length arg is now size_t, not Idx.  All uses changed.
76384         (peek_token): Forward decl now says internal_function.
76385         (__re_error_msgid, __re_error_msgid_idx):
76386         Now static rather than extern with attribute_hidden.
76387         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76388         For some reason libc prefers K&R style defns for external functions.
76389         (regerror) [!defined _LIBC]: Likewise.
76390         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76391         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76392         (build_range_exp, build_collating_symbol):
76393         Use K&R-style defn.
76394         (re_compile_fastmap): Use '\0' to memset, not 0.
76395         (utf8_sb_map): Make the calculations more obvious.
76396         (init_dfa, parse_bracket_exp, build_charclass_op):
76397         Call calloc and cast result, as glibc does.
76398         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76399         (build_range_exp, build_collating_symbol):
76400         Now internal functions.
76401
76402         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76403
76404         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76405         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76406         Don't depend on VMS; depend on __VMS instead, for POSIX
76407         namespace cleanness.
76408         (regoff_t): Define to ssize_t, not long int.
76409
76410         Remove the REG_ macros named below.  Instead, make the old names
76411         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76412         __USE_GNU_REGEX.
76413         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76414         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76415         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76416         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76417         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76418         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76419         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76420         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76421         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76422         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76423         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76424         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76425         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76426         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76427         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76428         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76429         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76430         (REG_NREGS):
76431         Remove.  All uses replaced by the old RE_* names.
76432         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76433         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76434         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76435         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76436         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76437         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76438         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76439         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76440         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76441         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76442         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76443         Don't bother having these macros be independent of each others'
76444         values, since they no longer exist in the POSIX name space.
76445
76446         Rename the following member names back to their old names,
76447         unless !__USE_GNU_REGEX.  All uses changed back.
76448         (buffer): Renamed from re_buffer.
76449         (allocated): Renamed from re_allocated.
76450         (used): Renamed from re_used.
76451         (syntax): Renamed from re_syntax.
76452         (fastmap): Renamed from re_fastmap.
76453         (translate): Renamed from re_translate.
76454         (can_be_null): Renamed from re_can_be_null.
76455         (regs_allocated): Renamed from re_regs_allocated.
76456         (fastmap_accurate): Renamed from re_fastmap_accurate.
76457         (no_sub): Renamed from re_no_sub.
76458         (not_bol): Renamed from re_not_bol.
76459         (not_eol): Renamed from re_not_eol.
76460         (newline_anchor): Renamed from re_newline_anchor.
76461         (num_regs): Renamed from rm_num_regs.
76462         (start): Renamed from rm_start.
76463         (end): Renamed from rm_end.
76464
76465         (free_state): Move up a bit.
76466
76467         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76468         #define to be empty.
76469         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76470         when that is what is intended.
76471         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76472         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76473         (MAX): New macro.
76474         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76475         All uses changed back to re_malloc, etc.  It's now the caller's
76476         responsibility to check for overflow; all callers changed.
76477         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76478         (re_x2nrealloc): Remove.
76479         (free_state): Remove decl.
76480
76481         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76482         (re_set_registers, re_exec):
76483         Use K&R-style defn.
76484
76485         2006-01-31  Roland McGrath  <roland@redhat.com>
76486
76487         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76488         Reported by Mike Frysinger <vapier@gentoo.org>.
76489
76490         2006-01-15  Andreas Jaeger  <aj@suse.de>
76491
76492         [BZ #1950]
76493         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76494         build_wcs_upper_buffer change.
76495         (build_wcs_upper_buffer): Change return type.
76496
76497         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76498
76499         * lib/regex_internal.h: Include <stdint.h> if available.
76500
76501         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76502
76503         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76504
76505         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76506
76507         * lib/regcomp.c: Adjust for changed secondary hash function.
76508
76509         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76510
76511         * lib/regex.h: Pretty printing.
76512         Clean up namespace a bit.
76513
76514         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76515
76516         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76517         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76518
76519         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76520                     Ulrich Drepper  <drepper@redhat.com>
76521
76522         [BZ #1302]
76523         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76524         changed.
76525         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76526
76527         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76528
76529         [BZ #281]
76530         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76531         * lib/regcomp.c: Remove unnecessary uses of
76532         unsigned RE_TRANSLATE_TYPE.
76533         * lib/regex_internal.h: Likewise.
76534         * lib/regex_internal.c: Likewise.
76535         * lib/regexec.c: Likewise.
76536         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76537
76538         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76539
76540         * lib/regexec.c (find_recover_state): Remove unnecessary
76541         initialization.
76542         (transit_state_bkref): Make DFA a const pointer.
76543         (get_subexp): Likewise.
76544         (check_arrival): Likewise.
76545         (update_cur_sifted_state): Likewise.
76546         (re_search_internal): Likewise.
76547         (prune_impossible_nodes): Likewise.
76548         (acquire_init_state_context): Likewise.
76549         (proceed_next_node): Likewise.
76550         (set_regs): Likewise.
76551         (free_fail_stack_return): Likewise.
76552         (check_arrival_expand_ecl): Mark DFA parameter as const.
76553         (check_arrival_expand_ecl_sub): Likewise.
76554         (check_subexp_limits): Likewise.
76555         (sub_epsilon_src_nodes):  Likewise.
76556         (add_epsilon_src_nodes):  Likewise.
76557         (merge_state_array): Likewise.
76558         (update_regs): Likewise.
76559         (build_trtable): Likewise.
76560         (sift_states_backward): Mark MCTX parameter as const.
76561         (build_sifted_states): Likewise.
76562         (update_cur_sifted_state): Likewise.
76563         (sift_states_mkref): Likewise.
76564         (check_arrival_expand_ecl): Mark eclosure as const.
76565         (check_dst_limits_calc_pos_1): Likewise.
76566         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76567         pointer.
76568
76569         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76570
76571         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76572         (transit_state_sb): Likewise.
76573         (transit_state_mb): Likewise.
76574         (sift_states_iter_mb): Likewise.
76575         (check_arrival_add_next_nodes): Likewise.
76576         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76577         [_LIBC] (re_search_2_stub): Use mempcpy.
76578
76579         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76580         mbrtowc for very simple UTF-8 case.
76581
76582         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76583         a pointer-to-const.
76584         (re_acquire_state_context): Likewise.
76585         * lib/regex_internal.h: Adjust prototypes.
76586
76587         * lib/regex.c: Prevent using C++ compilers.
76588
76589         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76590         (re_acquire_state_context): Likewise.
76591
76592 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76593
76594         * modules/regex (Depends-on): Add ssize_t.
76595
76596 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76597
76598         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76599         translation table.
76600
76601 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76604
76605 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76606             Bruno Haible  <bruno@clisp.org>
76607
76608         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76609         <sys/types.h> and <inttypes.h>.
76610
76611 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76612
76613         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76614         `__error_t_defined', so argp.h will not typedef the former.
76615
76616 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76617
76618         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76619         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76620         glibc names.  Even if glibc is changed to conform to POSIX, the
76621         traditional names will be available anyway, since regex depends on
76622         the extensions module.  Also, fix a longstanding typo in the
76623         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76624         reported by Emanuele Giaquinta.  Also, change sense of cached
76625         variable, so that the message makes sense.
76626
76627 2006-03-24  Simon Josefsson  <jas@extundo.com>
76628
76629         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76630         including some doc fixes.
76631         (base64_encode_alloc): Fix +1 bug on allocation failures.
76632
76633 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76634
76635         * lib/base64.c (base64_encode): Do not read past end of array with
76636         unsanitized input on systems with CHAR_BIT > 8.
76637
76638 2006-03-24  Eric Blake  <ebb9@byu.net>
76639
76640         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76641
76642 2006-03-22  Karl Berry  <karl@gnu.org>
76643
76644         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76645         * config/srclistvars.sh (COREUTILS): new var.
76646
76647 2006-03-17  Jim Meyering  <jim@meyering.net>
76648
76649         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76650         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76651
76652 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76653
76654         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76655         no longer needs it.  Instead, check that regoff_t is as least
76656         as wide as ptrdiff_t.
76657
76658         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76659         so that our regex.h stays compatible with the installed regex.
76660         This is helpful for installers who configure --without-included-regex.
76661         Problem reported by Emanuele Giaquinta.
76662
76663 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76664
76665         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76666         Typedef to long int, not to off_, as POSIX will likely change
76667         in that direction.
76668
76669 2006-03-15  Eric Blake  <ebb9@byu.net>
76670
76671         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76672
76673 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76674
76675         * lib/argp-help.c (validate_uparams): Fix typo
76676         * lib/argp-parse.c (argp_default_options): Consistently begin help
76677         messages with a lowercase letter.
76678
76679 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76680
76681         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76682         overrun buffers and shouldn't be used (much as gets shouldn't be
76683         used).
76684         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76685
76686 2006-03-08  Simon Josefsson  <jas@extundo.com>
76687
76688         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76689         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76690
76691 2006-03-08  Simon Josefsson  <jas@extundo.com>
76692
76693         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76694         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76695
76696 2006-03-08  Simon Josefsson  <jas@extundo.com>
76697
76698         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76699         signal that configure disabled the device.
76700
76701 2006-03-08  Simon Josefsson  <jas@extundo.com>
76702
76703         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76704         languages.
76705
76706 2006-03-07  Simon Josefsson  <jas@extundo.com>
76707
76708         * modules/getopt (Depends-on): Add unistd.
76709
76710         * modules/unistd: New file.
76711
76712 2006-03-07  Simon Josefsson  <jas@extundo.com>
76713
76714         * modules/gc-random: New file.
76715
76716 2006-03-07  Simon Josefsson  <jas@extundo.com>
76717
76718         * m4/unistd_h.m4: New file.
76719
76720 2006-03-07  Simon Josefsson  <jas@extundo.com>
76721
76722         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76723         test to be side-effect free by storing the result in the cache
76724         variable gl_cv_lib_readline, and moving the assignment of
76725         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76726         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76727
76728 2006-03-07  Simon Josefsson  <jas@extundo.com>
76729
76730         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76731         error on missing devices (the functions will return an error).
76732
76733         * m4/gc.m4: Move random stuff to gc-random.m4
76734
76735 2006-03-07  Simon Josefsson  <jas@extundo.com>
76736
76737         * lib/unistd_.h: New file.
76738
76739 2006-03-07  Simon Josefsson  <jas@extundo.com>
76740
76741         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76742
76743 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76744
76745         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76746         Problem reported by Juan Manuel Guerrero.
76747
76748 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76749
76750         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76751         the unistd module.
76752         * lib/getlogin_r.c: Likewise.
76753         * lib/getlogin_r.h: Likewise.
76754         * lib/glob.c: Likewise.
76755         * lib/pagealign_alloc.c: Likewise.
76756         * lib/unistd_.h: Remove; no longer needed.
76757
76758 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76759
76760         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76761         Add unistd.
76762         * modules/c-stack (Depends-on): Add unistd.
76763         * modules/getlogin_r: Likewise.
76764         * modules/glob: Likewise.
76765         * modules/pagealign_alloc: Likewise.
76766         * modules/unistd (Files): Remove lib/unistd_.h.
76767         (EXTRA_DIST): Remove.
76768         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76769         need unistd_.h.
76770         (MOSTLYCLEANFILES): Remove unistd.h-t.
76771
76772 2006-03-03  Simon Josefsson  <jas@extundo.com>
76773
76774         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76775
76776 2006-03-03  Simon Josefsson  <jas@extundo.com>
76777
76778         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76779         libidn and bison.
76780
76781 2006-03-03  Simon Josefsson  <jas@extundo.com>
76782
76783         * build-aux/maint.mk: Add indent target.
76784
76785 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76786
76787         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76788         our replacement poll.h in any case, to avoid a differing
76789         declaration from a system header.  Seen on AIX.
76790
76791 2006-03-01  Simon Josefsson  <jas@extundo.com>
76792
76793         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76794         <kasal@ucw.cz>.
76795
76796 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76797
76798         * modules/gettime (Depends-on): Add extensions module.
76799         * modules/nanosleep (Depends-on): Likewise.
76800         * modules/settime (Depends-on): Likewise.
76801
76802 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76803
76804         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76805         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76806         pedantically.
76807         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76808         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76809
76810         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76811         not "==".  Reported by Ralf Wildenhues.
76812
76813 2006-03-01  Karl Berry  <karl@gnu.org>
76814
76815         * doc/Copyright/request-*: new files, synced from gnuorg.
76816
76817 2006-03-01  Karl Berry  <karl@gnu.org>
76818
76819         * config/srclist.txt (Copyright/*): new entries.
76820
76821 2006-02-28  Simon Josefsson  <jas@extundo.com>
76822
76823         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76824
76825 2006-02-27  Simon Josefsson  <jas@extundo.com>
76826
76827         * lib/base64.h: Indent #define's.  From Jim Meyering
76828         <jim@meyering.net>.
76829
76830 2006-02-27  Jim Meyering  <jim@meyering.net>
76831
76832         Revert the change of 2006-02-24, so these files can continue
76833         to be sync'd from gettext.
76834         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76835         of `config.h'.
76836
76837 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76838
76839         * modules/intprops: New file.
76840         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76841         Add intprops.
76842         * modules/getloadavg (Files): Remove lib/intprops.h.
76843         (Depends-on): Add intprops.
76844         * modules/human: Likewise.
76845         * modules/inttostr: Likewise.
76846         * modules/openat: Likewise.
76847         * modules/sig2str: Likewise.
76848         * modules/userspec: Likewise.
76849         * modules/utimecmp: Likewise.
76850         * modules/xnanosleep: Likewise.
76851         * modules/xstrtol: Likewise.
76852
76853 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76854
76855         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76856         * modules/lock-tests (TESTS): Use $(EXEEXT).
76857         * modules/tls-tests: Likewise.
76858         * modules/argp-tests: Likewise.
76859         (check_PROGRAMS): New var, replacing...
76860         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76861
76862 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76863
76864         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76865         `config.h'.
76866
76867 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76868
76869         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76870
76871 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76872
76873         Sync from coreutils.
76874         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76875         gl_CHDIR_SAFER.
76876
76877 2006-02-22  Jim Meyering  <jim@meyering.net>
76878
76879         Sync from coreutils.
76880         * m4/chdir-safer.m4: New file.
76881
76882 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76883
76884         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76885         AT_FDCWD exceeds INT_MAX.
76886         * lib/openat.h (AT_FDCWD): Likewise.
76887
76888 2006-02-17  Eric Blake  <address@hidden>
76889
76890         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76891
76892 2006-02-16  Simon Josefsson  <jas@extundo.com>
76893
76894         * modules/getaddrinfo (Depends-on): Add sys_socket.
76895
76896 2006-02-15  Simon Josefsson  <jas@extundo.com>
76897
76898         * build-aux/maint.mk: Add dsyntax-check rule.
76899
76900 2006-02-15  Eric Blake  <ebb9@byu.net>
76901
76902         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76903         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76904         'present but cannot compile' warnings on cygwin.
76905         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76906         use ws2tcpip.h if sys/socket.h works.
76907         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76908         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76909
76910 2006-02-14  Simon Josefsson  <jas@extundo.com>
76911
76912         * modules/maintainer-makefile (Files): Rename.
76913
76914         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76915         and (the local) Makefile.cfg to maint-cfg.mk.
76916
76917         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76918         to the latter.
76919
76920         * modules/maintainer-makefile: New module.
76921
76922         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76923         severaly stripped to make it possible to build it up from scratch
76924         with reliable tests.
76925
76926         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76927         fixes to permit overriding the default actions when configure and
76928         makefile are not available.
76929
76930 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76931
76932         Sync from coreutils.
76933         * modules/lstat (Depends-on): Don't depend on xalloc.
76934         (License): Change from GPL to LGPL, since this is now simply a
76935         replacement for a libc function.
76936
76937 2006-02-14  Jim Meyering  <jim@meyering.net>
76938
76939         Sync from coreutils.
76940
76941         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76942         failure on deficient systems, and simplify gnulib lgpl dependencies.
76943         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76944         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76945
76946         * lib/xalloc-die.c: Remove unused definition of N_.
76947
76948 2006-02-14  Jim Meyering  <jim@meyering.net>
76949
76950         Sync from coreutils.
76951         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76952         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76953         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76954         double-quote uses of that variable, to accommodate the rare case in
76955         which getmntent is available in none of the libraries checked.  This
76956         happens at least on FreeBSD 5.0.
76957
76958 2006-02-13  Simon Josefsson  <jas@extundo.com>
76959
76960         * gnulib-tool (Usage): Fix --import, from
76961         karl@freefriends.org (Karl Berry).
76962
76963 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76964
76965         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76966
76967 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76968
76969         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76970         "autoupdate" on 2005-12-12.
76971
76972 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76973
76974         * modules/closeout (Depends-on): Remove atexit.
76975
76976 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76977
76978         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76979         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76980
76981 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76982
76983         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76984         __EXTENSIONS__ if this causes compilation to fail.  Problem
76985         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76986         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76987
76988 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76989
76990         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76991         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76992         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76993         All uses changed.
76994
76995 2006-01-26  Simon Josefsson  <jas@extundo.com>
76996
76997         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76998         prototype is visible on mingw32.
76999
77000         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77001         for mingw32.
77002
77003         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77004         mingw32).
77005
77006 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77007
77008         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77009         attempt to open for write; this always fails, at least on POSIX
77010         hosts.  This reinstates the 2006-01-09 change, which was
77011         inadvertently removed.
77012
77013 2006-01-26  Bruno Haible  <bruno@clisp.org>
77014
77015         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77016         Reported by Paul Eggert.
77017
77018 2006-01-26  Bruno Haible  <bruno@clisp.org>
77019             Paul Eggert  <eggert@cs.ucla.edu>
77020
77021         * lib/stdbool_.h (_Bool)
77022         [(! (defined __cplusplus || defined __BEOS__)
77023           && !defined __GNUC__
77024           && !(defined __HP_cc || defined __xlc__
77025                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77026                || defined __sgi))]:
77027         #define to signed char in these cases too; this simplifies
77028         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77029         etc., separately) and makes it more conservative.
77030
77031 2006-01-25  Simon Josefsson  <jas@extundo.com>
77032
77033         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77034         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77035         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77036
77037 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77038
77039         * lib/argp-namefrob.h: Bugfix. Remove stray #
77040
77041 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77042
77043         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77044         so that we test the test.
77045         Check for yet another HP-UX cc bug involving *bool |= bool.
77046
77047 2006-01-25  Karl Berry  <karl@gnu.org>
77048
77049         * config/srclist.txt (vasnprintf.c): sync lost.
77050
77051 2006-01-25  Jim Meyering  <jim@meyering.net>
77052
77053         Sync from the stable (b5) branch of coreutils:
77054
77055         * lib/fts.c (fts_children): Don't let close() clobber errno from
77056         failed fchdir().
77057
77058         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77059         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77060         a dangling symlink.  That can also happen at least for ELOOP.
77061         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77062         FYI, this bug predates the inclusion of fts.c in coreutils.
77063
77064         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77065         in their own block, so pre-c99 compilers don't object.
77066
77067         Avoid the double-free (first in fts_read, second in fts_close) that
77068         would occur when an `active' directory is made inaccessible (e.g.,
77069         via chmod a-x) during a traversal.
77070         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77071         before returning.  Reproduce this failure by
77072         mkdir -p a/b; cd a; chmod a-x . b
77073         Reported by Stavros Passas.
77074
77075 2006-01-25  Jim Meyering  <jim@meyering.net>
77076
77077         * lib/fileblocks.c: Remove more useless parentheses.
77078         * lib/readutmp.h: Likewise.
77079
77080 2006-01-25  Bruno Haible  <bruno@clisp.org>
77081
77082         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77083         warnings.
77084         Reported by Paul Eggert.
77085
77086 2006-01-25  Bruno Haible  <bruno@clisp.org>
77087
77088         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77089         rid of a trap command. For Solaris sh.
77090         Reported by Mark D. Baushke <mdb@gnu.org>.
77091
77092 2006-01-24  Simon Josefsson  <jas@extundo.com>
77093
77094         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77095         Bruno.
77096
77097 2006-01-24  Karl Berry  <karl@gnu.org>
77098
77099         * config/srclist.txt (argp-namefrob.h): sync lost.
77100
77101 2006-01-24  Jim Meyering  <jim@meyering.net>
77102
77103         * modules/openat (Files): Add lib/intprops.h.
77104         From Mark D. Baushke.
77105
77106 2006-01-24  Jim Meyering  <jim@meyering.net>
77107
77108         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77109         Reported by Mark D. Baushke.
77110
77111 2006-01-24  Jim Meyering  <jim@meyering.net>
77112
77113         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77114
77115 2006-01-24  Bruno Haible  <bruno@clisp.org>
77116
77117         * modules/strnlen (Maintainer): Change from glibc to all.
77118
77119 2006-01-24  Bruno Haible  <bruno@clisp.org>
77120
77121         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77122         Patch by Paul Eggert.
77123
77124 2006-01-24  Bruno Haible  <bruno@clisp.org>
77125
77126         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77127         already has it.
77128         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77129         2005-11-26.
77130
77131         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77132         'signed char' to avoid problems with the built-in _Bool type.
77133         Reported by Paul Eggert on 2005-11-26.
77134
77135 2006-01-24  Bruno Haible  <bruno@clisp.org>
77136
77137         * gnulib-tool (func_import): Avoid constructing complicated sed
77138         expressions inside backquote.
77139         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77140
77141 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77142
77143         These changes imported from libc.
77144         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77145         test and two separate function calls.
77146         * lib/strndup.c (__strndup): Add libc_hidden_def.
77147
77148 2006-01-23  Simon Josefsson  <jas@extundo.com>
77149
77150         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77151         Remove the test_*_SOURCES variable: automake infers it by default.
77152         * modules/tls-tests: Likewise.
77153
77154 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77155
77156         Work around porting bugs reported by Dieter in
77157         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77158         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77159         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77160         Include "getopt.h" first, to check interface.
77161         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77162         !HAVE_DECL_GETENV.
77163         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77164         (__strndup): Revert to K&R-style function dfns, the glibc style.
77165         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77166         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77167         Include strnlen.h first, to get prototype properly.
77168         (strnlen): Renamed from __strnlen.
77169         Remove weak alias.
77170
77171 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77172
77173         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77174
77175 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77176
77177         * config/srclist.txt: Adjust to reflect glibc reorganization.
77178         This affects only comments.
77179
77180 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77181
77182          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77183          Reported by Bruce Korb <bkorb@gnu.org>.
77184
77185 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77186
77187         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77188         to pacify gcc -Wswitch-default.
77189
77190 2006-01-22  Bruno Haible  <bruno@clisp.org>
77191
77192         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77193         temporary buffer for sprintf, take into account the precision also
77194         for 'd', 'i', 'u', 'o', 'x', 'X'.
77195
77196 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77197
77198         * modules/argp-tests: New module
77199         * tests/test-argp.c: New file
77200         * tests/test-argp-2.sh: New file
77201
77202 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77203
77204         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77205         (__argp_base_name): Removed
77206         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77207         typo.
77208         (__argp_base_name): Provide macro definition or extern declaration
77209         depending on the configuration
77210
77211 2006-01-20  Simon Josefsson  <jas@extundo.com>
77212
77213         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77214
77215 2006-01-20  Simon Josefsson  <jas@extundo.com>
77216
77217         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77218
77219 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77220
77221         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77222         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77223         Suggested by Bruno Haible.
77224
77225 2006-01-20  Karl Berry  <karl@gnu.org>
77226
77227         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77228         until changes propagate, I guess.
77229
77230 2006-01-19  Simon Josefsson  <jas@extundo.com>
77231
77232         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77233
77234 2006-01-19  Simon Josefsson  <jas@extundo.com>
77235
77236         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77237
77238 2006-01-19  Simon Josefsson  <jas@extundo.com>
77239
77240         * gnulib-tool: Set check_PROGRAMS.
77241
77242         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77243         modules/des-tests, modules/gc-arcfour-tests,
77244         modules/gc-arctwo-tests, modules/gc-des-tests,
77245         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77246         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77247         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77248         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77249         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77250         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77251         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77252         test_*_SOURCES.
77253
77254 2006-01-18  Simon Josefsson  <jas@extundo.com>
77255
77256         * modules/socklen (Depends-on): Depend on sys_socket.
77257
77258 2006-01-18  Simon Josefsson  <jas@extundo.com>
77259
77260         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77261         modules/des-tests, modules/gc-arcfour-tests,
77262         modules/gc-arctwo-tests, modules/gc-des-tests,
77263         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77264         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77265         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77266         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77267         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77268         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77269         $(EXEEXT) to automake TESTS variable, for mingw32.
77270
77271 2006-01-17  Simon Josefsson  <jas@extundo.com>
77272
77273         * modules/socklen (Include): Need sys/socket.h.
77274
77275 2006-01-17  Bruno Haible  <bruno@clisp.org>
77276
77277         * modules/ssize_t (Include): Add <sys/types.h>.
77278
77279 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77280
77281         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77282         it's not portable and it doesn't work with cross-compiles.
77283         Problem reported by Bruno Haible.  Fix missing-$ typo in
77284         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77285         -zignore from being used with Sun's C compiler.
77286
77287 2006-01-12  Simon Josefsson  <jas@extundo.com>
77288
77289         * lib/base64.c: Fix warning, reported by Bruno Haible
77290         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77291
77292 2006-01-12  Bruno Haible  <bruno@clisp.org>
77293
77294         * modules/ldd: New file.
77295         * build-aux/ldd.sh.in: New file.
77296         * MODULES.html.sh (Support for building libraries and executables): Add
77297         ldd.
77298
77299 2006-01-12  Bruno Haible  <bruno@clisp.org>
77300
77301         * m4/ldd.m4: New file.
77302
77303 2006-01-12  Bruno Haible  <bruno@clisp.org>
77304
77305         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77306         endless loop while replacing $auxdir with build-aux.
77307
77308 2006-01-11  Simon Josefsson  <jas@extundo.com>
77309
77310         * lib/stdint_.h (SIZE_MAX): Add missing (.
77311
77312 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77313
77314         Sync from coreutils.
77315         * lib/md5.c: Fix commentary typos.
77316         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77317         * lib/md5.h (__attribute__): Remove; unused.
77318         * lib/sha1.c: Fix commentary to match md5 better.
77319         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77320         so that we don't need to worry about alignment.  All uses changed.
77321         This merges the 2005-10-28 md5 change into sha1.
77322
77323 2006-01-11  Jim Meyering  <jim@meyering.net>
77324
77325         Sync from coreutils.
77326         * lib/md5.c (OP): Fix spacing.
77327
77328 2006-01-11  Bruno Haible  <bruno@clisp.org>
77329
77330         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77331         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77332         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77333
77334 2006-01-11  Bruno Haible  <bruno@clisp.org>
77335
77336         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77337         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77338         the "early" section as well.
77339
77340 2006-01-11  Bruno Haible  <bruno@clisp.org>
77341
77342         Avoid "ar: no archive members specified" error on MacOS X.
77343         * gnulib-tool (func_modules_add_dummy): New function.
77344         (func_import, func_create_testdir): Invoke it.
77345
77346 2006-01-11  Bruno Haible  <bruno@clisp.org>
77347
77348         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77349         with $auxdir in AC_CONFIG_FILES statements.
77350
77351 2006-01-11  Bruno Haible  <bruno@clisp.org>
77352
77353         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77354         Initialize also noinst_HEADERS to empty.
77355
77356 2006-01-11  Bruno Haible  <bruno@clisp.org>
77357
77358         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77359         variables.
77360         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77361         autoreconf.
77362
77363 2006-01-11  Bruno Haible  <bruno@clisp.org>
77364
77365         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77366         overridable by the user.
77367         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77368
77369 2006-01-10  Simon Josefsson  <jas@extundo.com>
77370
77371         * modules/sys_socket: New file.
77372
77373 2006-01-10  Simon Josefsson  <jas@extundo.com>
77374
77375         * m4/sys_socket_h.m4: New file.
77376
77377 2006-01-10  Simon Josefsson  <jas@extundo.com>
77378
77379         * lib/socket_.h: New file.
77380
77381 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77382
77383         * modules/readutmp (Maintainer): Add myself.
77384
77385 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77386
77387         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77388         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77389         People who are still concerned with buggy memcmp implementations
77390         can invoke gl_FUNC_MEMCMP themselves.
77391
77392 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77393
77394         * lib/regex_internal.h (BITSET_WORD_BITS):
77395         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77396         preprocessor mishandles large unsigned values as if they were signed.
77397         Problem reported by Claudio Fontana in
77398         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77399
77400 2006-01-10  Jim Meyering  <jim@meyering.net>
77401
77402         Avoid the double-free (first in fts_read, second in fts_close) that
77403         would occur when an `active' directory is made inaccessible (e.g.,
77404         via chmod a-x) during a traversal.
77405         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77406         before returning.  Reproduce this failure by
77407         mkdir -p a/b; cd a; chmod a-x . b
77408         Reported by Stavros Passas.
77409
77410         Sync from coreutils.
77411         * lib/sha1.c: Tweak grammar in a comment.
77412
77413 2006-01-10  Jim Meyering  <jim@meyering.net>
77414
77415         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77416         Patch by Joerg Sonnenberger.
77417
77418 2006-01-10  Bruno Haible  <bruno@clisp.org>
77419
77420         * modules/readutmp: Depend on module free.
77421         * modules/strtok_r: Depend on module restrict.
77422
77423 2006-01-10  Bruno Haible  <bruno@clisp.org>
77424
77425         * modules/gettext (configure.ac): Add an invocation of
77426         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77427
77428 2006-01-10  Bruno Haible  <bruno@clisp.org>
77429
77430         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77431         Reported by Werner Lemberg <wl@gnu.org>.
77432
77433 2006-01-10  Bruno Haible  <bruno@clisp.org>
77434
77435         * lib/localcharset.c: Update from GNU gettext.
77436
77437 2006-01-10  Bruno Haible  <bruno@clisp.org>
77438
77439         * lib/argp.h (__const): Remove macro. Use const instead.
77440         * lib/argp-fmtstream.h (__const): Likewise.
77441         * lib/glob_.h (__const): Remove macro.
77442         * lib/glob-libc.h: Use const instead of __const.
77443
77444 2006-01-10  Bruno Haible  <bruno@clisp.org>
77445
77446         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77447         variable.
77448         Needed to avoid an automake error regarding the 'gettext' module.
77449
77450 2006-01-09  Simon Josefsson  <jas@extundo.com>
77451
77452         * modules/inet_ntop (Depends-on): Add restrict.
77453
77454 2006-01-09  Simon Josefsson  <jas@extundo.com>
77455
77456         * modules/gc-rijndael-tests (License): Put under LGPL.
77457
77458         * modules/gc-des-tests (License): Likewise.
77459
77460         * modules/gc-arcfour-tests (License): Likewise.
77461
77462         * modules/gc-arctwo-tests (License): Likewise.
77463
77464         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77465
77466         * modules/gc-hmac-sha1-tests (Files): Likewise.
77467
77468         * modules/gc-hmac-md5-tests (License): Likewise.
77469
77470         * modules/gc-sha1-tests (License): Likewise.
77471
77472         * modules/gc-md5-tests (License): Likewise.
77473
77474         * modules/gc-md4-tests (License): Likewise.
77475
77476         * modules/gc-md2-tests (License): Likewise.
77477
77478         * modules/gc-tests (License): Likewise.
77479
77480         * modules/des-tests (License): Likewise.
77481
77482         * modules/md4-tests (License): Likewise.
77483
77484         * modules/md2-tests (License): Likewise.
77485
77486 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77487
77488         Sync from coreutils:
77489
77490         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77491         * modules/lib-ignore: New file.
77492         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77493         chdir-safer.m4, lchmod.m4.
77494         * modules/openat: Add mkdirat.c, openat-priv.h.
77495
77496 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77497
77498         Sync from coreutils.
77499         * m4/lib-ignore.m4: New file.
77500         * m4/lchmod.m4: New file.
77501
77502 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77503
77504         Sync from coreutils.
77505         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77506         for write access: POSIX says that must fail.
77507         * lib/fts.c (diropen): Likewise.
77508         * lib/save-cwd.c (save_cwd): Likewise.
77509         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77510         well, for minor improvements on hosts that lack O_DIRECTORY.
77511         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77512         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77513         Fall back on chown if open failed with EACCES.
77514
77515         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77516         Report an error at compile-time if only a 1-second nominal clock
77517         resolution is found.
77518
77519         * lib/lchmod.h: New file.
77520         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77521         (make_dir_parents): Use lchown rather than chown, and
77522         lchmod rather than chmod.
77523
77524         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77525         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77526         "proc" reported by n0dalus.
77527
77528         * lib/mountlist.c: Include <limits.h>.
77529         (dev_from_mount_options)
77530         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77531         New function.  It no longer assumes "dev=" has the System V meaning
77532         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77533         (read_file_system_list)
77534         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77535         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77536         dev= in that case.
77537
77538         * lib/posixtm.h (PDS_PRE_2000): New macro.
77539         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77540         allow_century.  All usages changed.  Reject dates outside the range
77541         1969-1999 if PDS_PRE_2000 is used.
77542
77543 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77544
77545         Sync from coreutils.
77546         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77547         (Time of day items): Mention the possibility of leap seconds.
77548         Problem reported by Dr. David Alan Gilbert.
77549
77550 2006-01-09  Jim Meyering  <jim@meyering.net>
77551
77552         Sync from coreutils.
77553
77554         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77555
77556         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77557
77558         * lib/modechange.c (mode_compile): Reject an invalid mode string
77559         that starts with an octal digit.  From Andreas Gruenbacher.
77560
77561         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77562         and dup to open_safer and dup_safer, respectively.
77563         (openat_permissive): Fix typo in comment.
77564
77565         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77566         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77567         (_): Remove; no longer needed.
77568         (openat): Renamed from rpl_openat; no need for rpl_openat
77569         since openat.h renames openat for us.
77570         Replace most of the body with a call to openat_permissive,
77571         to avoid duplicate code.
77572         Port to (probably hypothetical) environments were mode_t is
77573         wider than int.
77574         (openat_permissive): Require mode arg, so that we can check
77575         types better.  Put it just after flags.  Change cwd failure
77576         indicator from pointer-to-bool to pointer-to-errno-value.
77577         All callers changed.
77578         Invoke openat_save_fail and/or openat_restore_fail if
77579         cwd_errno is null, so that openat can call us.
77580         (openat_permissive, fdopendir, fstatat, unlinkat):
77581         Simplify errno handling to avoid some duplicate code,
77582         as it's OK to set errno on success.
77583         * lib/openat.h: Revamp code so that function macros depend on
77584         __OPENAT_PREFIX only, not also on AT_FDCWD.
77585         (openat_ro): Remove.  Caller changed to use openat_permissive.
77586         (openat_permissive): Now a macro, if not a function.
77587         (openat_restore_fail, openat_save_fail): Now always functions,
77588         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77589
77590         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77591         and openat.c.
77592         * lib/mkdirat.c: Include openat-priv.h.
77593         Remove definitions of macros defined therein.
77594         * lib/openat.c: Likewise.
77595
77596         * lib/mkdirat.c (mkdirat): New file and function.
77597         * lib/openat.h (mkdirat): Declare.
77598
77599         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77600
77601         * lib/openat.h (openat_permissive): Declare.
77602         (openat_ro): Define.
77603
77604         * lib/openat.c (EXPECTED_ERRNO): New macro.
77605         (openat_permissive): New function -- used in remove.c rewrite.
77606         (all functions): Set errno just before returning, only if there
77607         was an actual failure.
77608         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77609
77610         Emulate openat-family functions using Linux's procfs, if possible.
77611         Idea and some code based on Ulrich Drepper's glibc changes.
77612
77613         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77614         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77615         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77616         before falling back on save_cwd and restore_cwd.
77617         (fdopendir, fstatat, unlinkat): Likewise.
77618
77619         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77620         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77621
77622         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77623         as second argument to va_arg.  Otherwise, some versions of gcc
77624         warn that `if this code is reached, the program will abort'.
77625
77626 2006-01-09  Jim Meyering  <jim@meyering.net>
77627
77628         Sync from coreutils.
77629         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77630         Require openat-priv.h.
77631
77632 2006-01-09  Bruno Haible  <bruno@clisp.org>
77633
77634         * modules/strnlen (Include): Use strnlen.h.
77635
77636 2006-01-09  Bruno Haible  <bruno@clisp.org>
77637
77638         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77639
77640 2006-01-09  Bruno Haible  <bruno@clisp.org>
77641
77642         * lib/sysexit_.h (EX_OK): New macro.
77643         Suggested by Martin Lambers <marlam@marlam.de>.
77644
77645 2006-01-09  Bruno Haible  <bruno@clisp.org>
77646
77647         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77648         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77649
77650 2006-01-09  Bruno Haible  <bruno@clisp.org>
77651
77652         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77653         numbers.
77654
77655 2006-01-09  Bruno Haible  <bruno@clisp.org>
77656
77657         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77658         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77659         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77660         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77661
77662 2006-01-09  Bruno Haible  <bruno@clisp.org>
77663
77664         * build-aux/javacomp.sh.in: New file, moved from lib/.
77665         * modules/javacomp-script (Files): Update.
77666         (configure.ac): Add AC_CONFIG_FILES invocation.
77667         (EXTRA_DIST): Remove variable.
77668
77669         * build-aux/javaexec.sh.in: New file, moved from lib/.
77670         * modules/javaexec (Files): Update.
77671         (configure.ac): Add AC_CONFIG_FILES invocation.
77672         (EXTRA_DIST): Remove javaexec.sh.in.
77673
77674         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77675         * modules/csharpcomp-script (Files): Update.
77676         (configure.ac): Add AC_CONFIG_FILES invocation.
77677         (EXTRA_DIST): Remove variable.
77678
77679         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77680         * modules/csharpexec (Files): Update.
77681         (configure.ac): Add AC_CONFIG_FILES invocation.
77682         (EXTRA_DIST): Remove csharpexec.sh.in.
77683
77684 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77685
77686         Sync from coreutils.
77687
77688         Add POSIX ACL support
77689         * lib/acl.h (copy_acl, set_acl): Add declarations.
77690         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77691         systems other than Linux.
77692         (chmod_or_fchmod): New function: use fchmod when possible,
77693         and chmod otherwise.
77694         (file_has_acl): Add a POSIX ACL implementation, with a
77695         Linux-specific subcase.
77696         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77697         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77698         acls are unsupported.
77699         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77700         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77701         are unsupported.
77702
77703 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77704
77705         Sync from coreutils.
77706         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77707
77708 2006-01-07  Bruno Haible  <bruno@clisp.org>
77709
77710         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77711         gl_EARLY.
77712
77713 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77714
77715         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77716         Problem reported for Mingw by Mark Junker.
77717
77718 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * README: Gnulib normally doesn't generate a tarball.
77721
77722 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77723
77724         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77725         long int, not int, for nanosecond counts, so that people who are
77726         used to POSIX struct timespec won't be surprised.  Reported by Jim
77727         Meyering.
77728
77729 2005-12-28  Bruno Haible  <bruno@clisp.org>
77730
77731         * build-aux/config.rpath: Update from GNU gettext.
77732
77733 2005-12-16  Jim Meyering  <jim@meyering.net>
77734
77735         * modules/fprintftime: New module.
77736         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77737
77738 2005-12-16  Jim Meyering  <jim@meyering.net>
77739
77740         * m4/fprintftime.m4: New file.
77741
77742 2005-12-16  Jim Meyering  <jim@meyering.net>
77743
77744         * lib/fprintftime.c, lib/fprintftime.h: New files.
77745
77746 2005-12-15  Simon Josefsson  <jas@extundo.com>
77747
77748         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77749         new m4/socklen.m4.
77750
77751 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77752
77753         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77754         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77755
77756 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77757
77758         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77759         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77760         struct uparams is valid. Fall back to the default values if it is
77761         not.
77762
77763 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77764
77765         * modules/argp (Files): Add argp-pin.c
77766         (Depends-on): dirname
77767         (lib_SOURCES): Add argp-pin.c
77768
77769 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77770
77771         * m4/argp.m4:  Check if program_invocation_name and
77772         program_invocation_short_name are declared and define appropriate
77773         macros if they are not.
77774
77775 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77776
77777         * lib/argp-help.c (__argp_base_name): New function
77778         (__argp_short_program_name): Rewrite using __argp_base_name
77779         * lib/argp-namefrob.h: Define program_invocation_name and
77780         program_invocation_short_name if requested
77781         (__argp_base_name): Add prototype
77782         * lib/argp-parse.c (argp_def): Use gettext wrappers
77783         (argp_default_parser): Use __argp_base_name
77784         * lib/argp-pin.c: New file. Defines program_invocation_name and
77785         program_invocation_short_name on systems that lack them.
77786
77787 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77788
77789         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77790         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77791         porting problem reported by Georg Schwarz in
77792         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77793
77794 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77795
77796         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77797         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77798         porting problem reported by Georg Schwarz in
77799         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77800
77801 2005-12-05  Bruno Haible  <bruno@clisp.org>
77802
77803         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77804         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77805         Reported by Mark Junker <mjscod@gmx.de>.
77806
77807 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77808
77809         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77810         Use implementation from Albert Chin, with some
77811         comments/corrections by Stepan Kasal and myself.
77812
77813 2005-12-02  Bruno Haible  <bruno@clisp.org>
77814
77815         * gnulib-tool (func_import): Accept GPLed build tool modules when
77816         --lgpl is given.
77817         * modules/csharpcomp-script: New file.
77818         * modules/csharpcomp: Depend on it.
77819         * modules/javacomp-script: New file.
77820         * modules/javacomp: Depend on it.
77821         Suggested by Simon Josefsson.
77822
77823 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77824
77825         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77826         statement, to work around an HP-UX 10.20 compiler bug reported by
77827         Peter O'Gorman.
77828
77829 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77830
77831         * modules/savedir (Depends-on): Add openat.
77832
77833 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77834
77835         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77836         (uintmax_t) [defined uintmax_t]: Do not declare.
77837         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77838         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77839         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77840         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77841         sake of portability to weird hosts that C allows (though we don't
77842         know of any practical examples).
77843
77844         * lib/savedir.h (fdsavedir): New decl.
77845         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77846         contains most of the former guts of savedir.
77847         (savedir): Use savedirstream.
77848         Include "openat.h".
77849
77850 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77851
77852         * modules/obstack (Files): Add m4/ulonglong.m4.
77853         Problem reported by Davide Angelocola.
77854
77855 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77856
77857         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77858         coreutils no longer futzes with rounding modes.
77859
77860 2005-11-14  Jim Meyering  <jim@meyering.net>
77861
77862         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77863         replacement of mkstemp.
77864
77865 2005-11-10  Simon Josefsson  <jas@extundo.com>
77866
77867         * lib/readline.c: Remove EOL.
77868
77869 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77870
77871         * modules/gethrxtime (Depends-on): Add gettime.
77872
77873 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77874
77875         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77876         or gettimeofday; no longer needed.
77877
77878 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77879
77880         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77881         time business.
77882         (gethrxtime) [! (HAVE_NANOUPTIME
77883         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77884         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77885         our own approximation.
77886
77887 2005-11-08  Eric Blake  <ebb9@byu.net>
77888
77889         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77890
77891 2005-11-08  Eric Blake  <ebb9@byu.net>
77892
77893         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77894
77895 2005-11-04  Bruno Haible  <bruno@clisp.org>
77896
77897         * gnulib-tool: Implement --update mode.
77898
77899 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77900
77901         Fix porting problem reported by Theodoros V. Kalamatianos.
77902         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77903         Don't assume that futimes failing means we must fail.
77904
77905 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77906
77907         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77908         variables to suggest the intended function of the PATH_MAX check.
77909
77910 2005-10-30  Kean Johnston  <jkj@sco.com>
77911
77912         Trivial changes to support SCO systems.
77913         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77914         as PATH_MAX.
77915         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77916         where __ptr is null when no I/O is pending.
77917
77918 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77919
77920         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77921         leave errno alone.  Problem reported by Dmitry V. Levin.
77922
77923 2005-10-28  Simon Josefsson  <jas@extundo.com>
77924
77925         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77926         Test more.
77927
77928         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77929
77930         * modules/md2, modules/md2-tests: New files.
77931
77932 2005-10-28  Simon Josefsson  <jas@extundo.com>
77933
77934         * m4/inet_ntop.m4: More tests.
77935
77936         * m4/gc-md2.m4, md2.m4: New file.
77937
77938 2005-10-28  Simon Josefsson  <jas@extundo.com>
77939
77940         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77941         "restrict" keywords, as per POSIX.  Protect the function
77942         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77943         Don't use K&R prototypes.  Check the sprintf return values.
77944         Re-define EAFNOSUPPORT if not present.  Indent.
77945
77946         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77947         suggested by Bruno Haible <bruno@clisp.org>.
77948
77949         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77950
77951         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77952
77953         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77954         libgcrypt).
77955
77956         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77957
77958         * lib/md2.h, lib/md2.c: New files.
77959
77960 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77961
77962         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77963         errno alone.  Problem reported by Frederic Jolliton.
77964
77965 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77966
77967         * modules/verify (License): Change from GPL to LGPL.  This is a
77968         tiny module and there are apparently near-equivalents that are
77969         under the BSD license.
77970
77971 2005-10-24  Simon Josefsson  <jas@extundo.com>
77972
77973         * modules/sha1: Relicense to LGPL.
77974
77975 2005-10-24  Simon Josefsson  <jas@extundo.com>
77976
77977         * lib/md4.h: Shrink buffer size, now that we changed the type.
77978
77979 2005-10-23  Simon Josefsson  <jas@extundo.com>
77980
77981         * gnulib-tool (func_import): Fix --tests-base.
77982
77983 2005-10-22  Simon Josefsson  <jas@extundo.com>
77984
77985         * modules/arcfour (Depends-on): Need stdint.
77986
77987 2005-10-22  Simon Josefsson  <jas@extundo.com>
77988
77989         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77990         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77991
77992 2005-10-22  Simon Josefsson  <jas@extundo.com>
77993
77994         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77995         suggested by Bruno Haible <bruno@clisp.org>.
77996
77997 2005-10-22  Simon Josefsson  <jas@extundo.com>
77998
77999         * lib/crc.h: Include stddef.h, for size_t.
78000
78001 2005-10-22  Simon Josefsson  <jas@extundo.com>
78002
78003         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78004         arcfour_context struct (simplify test vector testing in GNU
78005         Shishi).
78006
78007 2005-10-21  Simon Josefsson  <jas@extundo.com>
78008
78009         * modules/des, modules/des-tests: New files.
78010
78011         * modules/gc-des, modules/gc-des-tests: New files.
78012
78013         * tests/test-des.c, tests/test-gc-des.c: New file.
78014
78015 2005-10-21  Simon Josefsson  <jas@extundo.com>
78016
78017         * modules/arctwo, modules/arctwo-tests: New files.
78018
78019         * tests/test-arctwo.c: New file.
78020
78021         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78022
78023         * tests/test-gc-arctwo.c: New file.
78024
78025 2005-10-21  Simon Josefsson  <jas@extundo.com>
78026
78027         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78028         Bruno Haible <bruno@clisp.org>.
78029
78030         * m4/gc-des.m4: New file.
78031
78032 2005-10-21  Simon Josefsson  <jas@extundo.com>
78033
78034         * m4/arctwo.m4: New file.
78035
78036         * m4/gc-arctwo.m4: New file.
78037
78038 2005-10-21  Simon Josefsson  <jas@extundo.com>
78039
78040         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78041         block.
78042
78043 2005-10-21  Simon Josefsson  <jas@extundo.com>
78044
78045         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78046         <bruno@clisp.org>.
78047
78048         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78049
78050         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78051         Bruno Haible <bruno@clisp.org>.
78052
78053         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78054         <bruno@clisp.org>.
78055
78056 2005-10-21  Simon Josefsson  <jas@extundo.com>
78057
78058         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78059
78060 2005-10-21  Simon Josefsson  <jas@extundo.com>
78061
78062         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78063
78064 2005-10-21  Simon Josefsson  <jas@extundo.com>
78065
78066         * lib/des.h, lib/des.c: New files.
78067
78068         * lib/gc-gnulib.c: Support DES.c
78069
78070 2005-10-21  Simon Josefsson  <jas@extundo.com>
78071
78072         * lib/arctwo.h, lib/arctwo.c: New files.
78073
78074         * lib/gc-gnulib.c: Support ARCTWO.
78075
78076 2005-10-21  Simon Josefsson  <jas@extundo.com>
78077
78078         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78079         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78080
78081 2005-10-21  Simon Josefsson  <jas@extundo.com>
78082
78083         * gnulib-tool (func_import, func_create_testdir): Define automake
78084         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78085         Makefile.am snippet),
78086         suggested by Bruno Haible <bruno@clisp.org>.
78087
78088         * modules/gc (Makefile.am): Use it.
78089
78090 2005-10-21  Bruno Haible  <bruno@clisp.org>
78091
78092         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78093         patch.
78094
78095 2005-10-19  Simon Josefsson  <jas@extundo.com>
78096
78097         * tests/test-gc-rijndael.c: New file.
78098
78099         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78100
78101 2005-10-19  Simon Josefsson  <jas@extundo.com>
78102
78103         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78104         interface too.
78105
78106 2005-10-19  Simon Josefsson  <jas@extundo.com>
78107
78108         * tests/test-gc-arcfour.c: New file.
78109
78110         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78111
78112 2005-10-19  Simon Josefsson  <jas@extundo.com>
78113
78114         * modules/gc-md4, modules/gc-md4-tests: New file.
78115
78116         * tests/test-gc-md4.c: New file.
78117
78118 2005-10-19  Simon Josefsson  <jas@extundo.com>
78119
78120         * m4/gc-md4.m4: New file.
78121
78122 2005-10-19  Simon Josefsson  <jas@extundo.com>
78123
78124         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78125         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78126         <kasal@ucw.cz>.
78127
78128 2005-10-19  Simon Josefsson  <jas@extundo.com>
78129
78130         * m4/gc-arcfour.m4: New file.
78131
78132         * m4/gc-rijndael.m4: New file.
78133
78134 2005-10-19  Simon Josefsson  <jas@extundo.com>
78135
78136         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78137
78138 2005-10-19  Simon Josefsson  <jas@extundo.com>
78139
78140         * lib/gc-gnulib.c: Support ARCFOUR.
78141
78142 2005-10-19  Simon Josefsson  <jas@extundo.com>
78143
78144         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78145         support.
78146
78147         * lib/gc.h: Add ECB enum type.
78148
78149         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78150
78151 2005-10-18  Simon Josefsson  <jas@extundo.com>
78152
78153         * tests/test-md5.c: New file.
78154
78155         * modules/md5-tests: New file.
78156
78157 2005-10-18  Simon Josefsson  <jas@extundo.com>
78158
78159         * tests/test-md4.c: New file.
78160
78161         * modules/md4, modules/md4-tests: New files.
78162
78163 2005-10-18  Simon Josefsson  <jas@extundo.com>
78164
78165         * m4/md4.m4: New file.
78166
78167 2005-10-18  Simon Josefsson  <jas@extundo.com>
78168
78169         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78170
78171 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78172
78173         * gnulib-tool (func_create_testdir): Omit the second check whether
78174         BUILT_SOURCES in nonempty.
78175
78176 2005-10-17  Simon Josefsson  <jas@extundo.com>
78177
78178         * tests/test-rijndael.c: New file.
78179
78180 2005-10-17  Simon Josefsson  <jas@extundo.com>
78181
78182         * modules/sha1: Depend on stdint instead of md5.
78183
78184         * modules/md5: Depend on stdint, remove uint32_t.
78185
78186 2005-10-17  Simon Josefsson  <jas@extundo.com>
78187
78188         * modules/gc-sha1-tests: New file.
78189
78190         * tests/test-gc-sha1.c: New file.
78191
78192 2005-10-17  Simon Josefsson  <jas@extundo.com>
78193
78194         * m4/md5.m4: Remove call to uint32_t.m4.
78195
78196 2005-10-17  Simon Josefsson  <jas@extundo.com>
78197
78198         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78199
78200         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78201         md5.h.
78202
78203         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78204
78205         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78206
78207 2005-10-17  Simon Josefsson  <jas@extundo.com>
78208
78209         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78210
78211 2005-10-17  Simon Josefsson  <jas@extundo.com>
78212
78213         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78214
78215 2005-10-17  Simon Josefsson  <jas@extundo.com>
78216
78217         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78218
78219         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78220
78221 2005-10-17  Bruno Haible  <bruno@clisp.org>
78222
78223         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78224         that it can also be used in a test.
78225
78226 2005-10-16  Bruno Haible  <bruno@clisp.org>
78227
78228         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78229         TESTS_ENVIRONMENT, so that individual tests can augment it.
78230
78231         * gnulib-tool (func_create_testdir): Use an intermediate target for
78232         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78233         macros, like $(ALLOCA_H), which cannot be passed through the command
78234         line.
78235
78236 2005-10-15  Simon Josefsson  <jas@extundo.com>
78237
78238         * modules/rijndael-tests: New file.
78239
78240         * modules/rijndael: New file.
78241
78242 2005-10-15  Simon Josefsson  <jas@extundo.com>
78243
78244         * m4/rijndael.m4: New file.
78245
78246 2005-10-15  Simon Josefsson  <jas@extundo.com>
78247
78248         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78249
78250         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78251
78252 2005-10-14  Simon Josefsson  <jas@extundo.com>
78253
78254         * tests/test-arcfour.c: New file.
78255
78256         * modules/arcfour, modules/arcfour-tests: New files.
78257
78258 2005-10-14  Simon Josefsson  <jas@extundo.com>
78259
78260         * m4/arcfour.m4: New file.
78261
78262 2005-10-14  Simon Josefsson  <jas@extundo.com>
78263
78264         * lib/arcfour.h, lib/arcfour.c: New files.
78265
78266 2005-10-14  Roland McGrath  <roland@redhat.com>
78267
78268         Import from libc.  [BZ #1331]
78269         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78270         macro argument.
78271         Reported by Matej Vela <vela@debian.org>.
78272
78273 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78274
78275         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78276         include <wchar.h>; no longer needed.
78277
78278 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78279
78280         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78281
78282 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78283         and  Ulrich Drepper  <drepper@redhat.com>
78284
78285         Import from libc.
78286         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78287         instead of inline stream orientation test and two separate
78288         function calls.  Pay no attention to USE_IN_LIBIO.
78289
78290 2005-10-13  Simon Josefsson  <jas@extundo.com>
78291
78292         * modules/gc-hmac-md5-tests: New file.
78293
78294         * tests/test-gc-hmac-sha1.c: New file.
78295
78296         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78297
78298         * modules/gc-hmac-md5-tests: New file.
78299
78300         * tests/test-gc-md5.c: New file.
78301
78302         * modules/gc-md5-tests: New file.
78303
78304 2005-10-13  Simon Josefsson  <jas@extundo.com>
78305
78306         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78307         Move memory allocation outside of loop.
78308
78309 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78312         intermediate directory is in a read-only file system.  Problem
78313         reported by Eric Blake.
78314
78315 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78316
78317         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78318
78319 2005-10-12  Simon Josefsson  <jas@extundo.com>
78320
78321         * tests/test-hmac-sha1.c: New file.
78322
78323         * modules/hmac-sha1-tests: New file.
78324
78325         * modules/hmac-sha1: New file.
78326
78327 2005-10-12  Simon Josefsson  <jas@extundo.com>
78328
78329         * modules/gc-sha1: New file.
78330
78331 2005-10-12  Simon Josefsson  <jas@extundo.com>
78332
78333         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78334
78335         * tests/test-gc-pbkdf2-sha1.c: New file.
78336
78337 2005-10-12  Simon Josefsson  <jas@extundo.com>
78338
78339         * modules/gc-md5, modules/gc-hmac-md5: New files.
78340
78341         * modules/gc (Files): Remove md5, memxor and hmac files.
78342
78343 2005-10-12  Simon Josefsson  <jas@extundo.com>
78344
78345         * m4/gc-pbkdf2-sha1.m4: New file.
78346
78347         * m4/gc-hmac-sha1.m4: New file.
78348
78349         * m4/gc-sha1: New file.
78350
78351         * m4/hmac-sha1.m4: New file.
78352
78353 2005-10-12  Simon Josefsson  <jas@extundo.com>
78354
78355         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78356
78357         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78358
78359 2005-10-12  Simon Josefsson  <jas@extundo.com>
78360
78361         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78362         suggested by Bruno Haible <bruno@clisp.org>.
78363
78364 2005-10-12  Simon Josefsson  <jas@extundo.com>
78365
78366         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78367
78368 2005-10-12  Simon Josefsson  <jas@extundo.com>
78369
78370         * lib/gc-pbkdf2-sha1.c: New file.
78371
78372         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78373
78374 2005-10-12  Simon Josefsson  <jas@extundo.com>
78375
78376         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78377
78378         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78379
78380 2005-10-12  Simon Josefsson  <jas@extundo.com>
78381
78382         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78383         GC_USE_HMAC_MD5, respectively.
78384
78385         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78386         (gc_md5): Fix typo.
78387
78388         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78389
78390         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78391
78392         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78393
78394 2005-10-12  Bruno Haible  <bruno@clisp.org>
78395
78396         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78397         Reported by Stepan Kasal <kasal@ucw.cz>.
78398
78399 2005-10-11  Simon Josefsson  <jas@extundo.com>
78400
78401         * tests/test-crc.c: New file.
78402
78403         * modules/crc, modules/crc-tests: New files.
78404
78405 2005-10-11  Simon Josefsson  <jas@extundo.com>
78406
78407         * m4/crc.m4: New file.
78408
78409 2005-10-11  Simon Josefsson  <jas@extundo.com>
78410
78411         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78412
78413         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78414
78415         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78416
78417 2005-10-11  Simon Josefsson  <jas@extundo.com>
78418
78419         * lib/crc.h, lib/crc.c: New files.
78420
78421         * lib/gc.h (gc_hash_buffer): Add doc.
78422
78423 2005-10-11  Bruno Haible  <bruno@clisp.org>
78424
78425         * modules/c-strcasestr: New file.
78426         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78427
78428 2005-10-11  Bruno Haible  <bruno@clisp.org>
78429
78430         * modules/c-strcase: New file.
78431         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78432
78433 2005-10-11  Bruno Haible  <bruno@clisp.org>
78434
78435         * lib/strcasecmp.c: Include limits.h.
78436         (strcasecmp): Avoid integer overflow on exotic platforms.
78437         * lib/strncasecmp.c: Include limits.h.
78438         (strncasecmp): Avoid integer overflow on exotic platforms.
78439         Reported by Paul Eggert.
78440
78441 2005-10-11  Bruno Haible  <bruno@clisp.org>
78442
78443         * lib/c-strcasestr.h: New file, from GNU gettext.
78444         * lib/c-strcasestr.c: New file, from GNU gettext.
78445
78446 2005-10-11  Bruno Haible  <bruno@clisp.org>
78447
78448         * lib/c-strcase.h: New file, from GNU gettext.
78449         * lib/c-strcasecmp.c: New file, from GNU gettext.
78450         * lib/c-strncasecmp.c: New file, from GNU gettext.
78451
78452 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78453
78454         * modules/mempcpy (License): GPL -> LGPL.
78455         * modules/strchrnul (License): Likewise.
78456         * modules/sysexits (License): Likewise.
78457
78458 2005-10-08  Simon Josefsson  <jas@extundo.com>
78459
78460         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78461
78462 2005-10-07  Simon Josefsson  <jas@extundo.com>
78463
78464         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78465
78466 2005-10-06  Simon Josefsson  <jas@extundo.com>
78467
78468         * tests/test-hmac-md5.c: New file.
78469
78470         * modules/hmac-md5-tests: New file.
78471
78472         * modules/hmac-md5: New file.
78473
78474 2005-10-06  Simon Josefsson  <jas@extundo.com>
78475
78476         * m4/hmac-md5.m4: New file.
78477
78478         * m4/memxor.m4: Require gl_C_RESTRICT.
78479
78480 2005-10-06  Simon Josefsson  <jas@extundo.com>
78481
78482         * lib/memxor.c (memxor): Avoid casts and warnings.
78483
78484 2005-10-06  Simon Josefsson  <jas@extundo.com>
78485
78486         * lib/hmac-md5.c: New file.
78487
78488         * lib/hmac.h: New file.
78489
78490 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78491
78492         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78493         promotes to int, not unsigned int, to catch the AIX 5.3
78494         compiler bug.
78495
78496 2005-10-05  Simon Josefsson  <jas@extundo.com>
78497
78498         * modules/memxor: New file.
78499
78500         * modules/iconv (Files): Move config.rpath to havelib, it is used
78501         there.
78502
78503         * modules/havelib (Files): Add config.rpath.
78504
78505 2005-10-05  Simon Josefsson  <jas@extundo.com>
78506
78507         * m4/memxor.m4: New file.
78508
78509 2005-10-05  Simon Josefsson  <jas@extundo.com>
78510
78511         * lib/memxor.c (memxor): Fix compiler error.
78512
78513         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78514         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78515
78516         * lib/memxor.h, lib/memxor.c: New files.
78517
78518         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78519         we assume all systems have it, suggested by Jim Meyering
78520         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78521         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78522         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78523         same reasons.
78524
78525 2005-10-05  Simon Josefsson  <jas@extundo.com>
78526
78527         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78528
78529 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78530
78531         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78532         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78533         needed, since the source code now assumes these .h files.
78534
78535 2005-10-05  Derek Price  <derek@ximbiot.com>
78536
78537         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78538
78539 2005-10-05  Bruno Haible  <bruno@clisp.org>
78540
78541         * modules/stdint (License): Change to LGPL.
78542
78543 2005-10-04  Simon Josefsson  <jas@extundo.com>
78544
78545         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78546         D. Baushke" <mdb@gnu.org>.
78547
78548 2005-10-04  Bruno Haible  <bruno@clisp.org>
78549
78550         * lib/verify.h (verify_true): Provide alternative definition for C++.
78551
78552 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78553
78554         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78555         (SSIZE_MAX): New macro, if not already defined.
78556         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78557         than 2 GiB.
78558
78559 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78560
78561         Sync from coreutils.
78562         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78563         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78564         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78565         ULLONG_MAX doesn't work with 2.7.2.1.
78566
78567 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78568
78569         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78570         From Ben Pfaff.
78571
78572         * modules/exclude (Depends-on): Depend on verify.
78573         * modules/strtoimax (Depends-on): Likewise.
78574         * modules/utimecmp (Depends-on): Likewise.
78575
78576 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * lib/exclude.c: Include verify.h.
78579         (verify): Remove.  All callers changed to use verify.h's version.
78580         * lib/strtoimax.c: Likewise.
78581         * lib/utimecmp.c: Likewis.e
78582
78583         Sync from coreutils.
78584         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78585         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78586         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78587         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78588         bother returning ENOSYS if settimeofday or stime fails; just let
78589         them return whatever errno they want to return.
78590         * lib/utimens.c: Include unistd.h, for dup2.
78591         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78592         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78593
78594 2005-10-02  Jim Meyering  <jim@meyering.net>
78595
78596         Sync from coreutils.
78597         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78598         from glibc-2.2.5 that fails for read-only files.
78599
78600 2005-10-02  Jim Meyering  <jim@meyering.net>
78601
78602         Sync from coreutils.
78603         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78604         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78605         `#if HAVE_CONFIG_H'.
78606         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78607         Remove AT_FDCWD test.
78608         Do not consume the fd unless successful.
78609         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78610         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78611         block, so that we don't even try to compile it if settimeofday is
78612         available.  This works around a compilation failure on OSF1 V5.1,
78613         due to stime requiring a `long int*' while tv_sec is `int'.
78614
78615 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78616
78617         Sync from coreutils.
78618         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78619         against `yes', rather than just testing for nonempty.
78620
78621 2005-10-01  Simon Josefsson  <jas@extundo.com>
78622
78623         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78624         and Darwin.
78625
78626         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78627         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78628         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78629         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78630         Check if struct addrinfo is declared.
78631
78632 2005-10-01  Simon Josefsson  <jas@extundo.com>
78633
78634         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78635         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78636         AI_* and EAI_* definitions.  Protect function declarations.
78637
78638 2005-10-01  Jim Meyering  <jim@meyering.net>
78639
78640         Sync from coreutils.
78641
78642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78643         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78644         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78645         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78646         in the inet and nsl libraries.  Required on Solaris 5.7.
78647
78648 2005-10-01  Jim Meyering  <jim@meyering.net>
78649
78650         Sync from coreutils.
78651         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78652         in the inet and nsl libraries.  Required on Solaris 5.7.
78653
78654 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78655
78656         * lib/getdelim.c (getdelim): Remove unused variables.
78657
78658 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78659
78660         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78661         so that the code works even with ancient cpp.  Portability problem
78662         with GCC 2.7.2.1 reported by Thomas M.Ott.
78663
78664 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78665
78666         * modules/regex (Depends-on): Add strcase.
78667
78668         * modules/gethostname (Licence): Change from GPL to LGPL, since
78669         gethostname.c is a trivial implementation of a standard library
78670         function.
78671         * modules/poll (License): Change from GPL to LGPL, since it's
78672         derived from LGPL code.
78673
78674 2005-09-27  Jim Meyering  <jim@meyering.net>
78675
78676         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78677         HAVE_CONFIG_H.
78678
78679         * lib/intprops.h (signed_type_or_expr__): Define.
78680         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78681         for unsigned types.
78682
78683 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78684
78685         * lib/verify.h (verify_expr): Remove, replacing with:
78686         (verify_true): New macro that returns true instead of void.
78687         (verify_type__): Remove.
78688         (verify): Use verify_true rather than verify_type__.
78689
78690 2005-09-26  Bruno Haible  <bruno@clisp.org>
78691
78692         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78693         is necessary.
78694         (lib_SOURCES): Remove mbchar.c.
78695         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78696         (Files): Add m4/mbrtowc.m4.
78697         * modules/mbiter: Likewise.
78698         * modules/mbuiter: Likewise.
78699
78700 2005-09-26  Bruno Haible  <bruno@clisp.org>
78701
78702         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78703         compile mbchar.c if they are not both present.
78704         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78705         * m4/mbiter.m4 (gl_MBITER): Likewise.
78706         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78707         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78708         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78709
78710 2005-09-25  Jim Meyering  <jim@meyering.net>
78711
78712         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78713         also uses socklen_t.
78714
78715 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78716
78717         * lib/utimens.c (ENOSYS): Define if not already defined.
78718         (futimens): Support having a null PATH if the file descriptor
78719         is nonnegative.
78720
78721         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78722         Remove.
78723         (__attribute): Define to empty unless GCC 3.1 or later.
78724         This works around a core dump on OpenBSD 3.4, which has GCC
78725         2.95.3, which dumps core when given __attribute__(()).  It also
78726         simplifies other tests, since we really don't want to bother with
78727         worrying about which ancient version of GCC supported what.
78728         Original problem reported by Yoann Vandoorselaere, with part of
78729         the fix suggested by Derek Price.
78730
78731 2005-09-24  Jim Meyering  <jim@meyering.net>
78732
78733         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78734         so we can once again use a positive bitfield width of 1 -- now we
78735         don't have to explain why we were using a bitfield width of 2.
78736
78737 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78738
78739         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78740         and similarly for the other external symbols.  Problem reported
78741         by James Gallager.
78742
78743         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78744         bug reported by Jim Meyering.
78745
78746         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78747         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78748         not needed, since socklen is a prerequisite module.
78749
78750 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78751
78752         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78753         Problem reported by Eric Blake.
78754         (getaddrinfo): Initialize se so that it's not garbage.
78755         Redo internal storage allocation so that it doesn't make unportable
78756         assumptions about alignment.
78757         Fix a memory leak.
78758
78759         * lib/utimens.c (futimens): Use futimesat if available.
78760         Prefer it to futimes since it doesn't have the futimes bug.
78761
78762         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78763         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78764         Instead, declare a function that returns a pointer to an array,
78765         and use verify_type__ to declare the size of the array.
78766         Problem and germ of a solution reported by Bruno Haible.
78767         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78768         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78769
78770 2005-09-23  Jim Meyering  <jim@meyering.net>
78771
78772         Sync from coreutils.
78773         Correct build failure (socklen_t not defined) on at least
78774         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78775         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78776
78777 2005-09-23  Jim Meyering  <jim@meyering.net>
78778
78779         * modules/getaddrinfo (Depends-on): Add socklen.
78780
78781 2005-09-23  Bruno Haible  <bruno@clisp.org>
78782
78783         * tests/test-verify.c: New file.
78784
78785 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         Sync from coreutils.
78788
78789         * modules/argmatch (Depends-on): Add verify.
78790         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78791         unistd-safer.
78792         * modules/save-cwd (Depends-on): Likewise.
78793
78794         * modules/openat (Files): Add lib/openat-die.c.
78795         (Depends-on): Remove error, exitfail.
78796         Add dirname.
78797
78798         * modules/verify: New file.
78799         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78800         with "verify" module.
78801
78802 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78803
78804         Sync from coreutils.
78805
78806         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78807         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78808         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78809         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78810         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78811         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78812         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78813         Don't bother checking for string.h, stdlib.h, unistd.h.
78814         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78815         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78816         module's job.
78817         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78818         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78819
78820         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78821         (gl_GETDATE): Use it.
78822
78823         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78824
78825 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78826
78827         Sync from coreutils.
78828
78829         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78830         stat-time.h.
78831         * lib/argmatch.h: Include verify.h
78832         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78833         (ARGMATCH_ASSERT): Remove; unused.
78834         * lib/canonicalize.c: Assume STDC_HEADERS.
78835         * lib/exclude.c: Include "strcase.h".
78836         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78837         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78838         and stdio-safer.h.
78839         (getusershell): Call fopen, not fopen_safer.
78840         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78841         Do not include unistd-safer.h.
78842         (save_cwd): Don't call fd_safer; no longer needed
78843         now that we include fcntl--.h.
78844
78845         * lib/getdate.y (relative_time): New type.
78846         (RELATIVE_TIME_0): New constant.
78847         (parser_control): Use relative_time instead of doing it ourselves.
78848         (%union): Add new relative_time rel member.
78849         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78850         Now typeless.
78851         (relunit, relunit_snumber): Now of type rel.
78852         (zone, rel, relunit, get_date): Adjust to above changes.
78853
78854         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78855         Do not include unistd-safer.h.
78856         (getloadavg): Don't call fd_safer; no longer needed
78857         now that we include fcntl--.h.
78858
78859         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78860         (make_dir_parents): Treat ENOSYS like EEXIST.
78861
78862         Improve quality of diagnostics on restore_cwd failure.
78863         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78864         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78865         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78866         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78867         each time through the loop.  Do not diagnose restore_cwd failure;
78868         that is the caller's job (and perhaps the caller does not care).
78869
78870         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78871         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78872         If the file already exists but is not a directory, don't bother
78873         to try to make its parents.
78874         Close potential file descriptor leak if we can't chdir("/") (!).
78875         Don't always return true if chdir($PWD) fails; return true only
78876         if the requested action was done successfully (except for the
78877         chdir($PWD)).
78878         Don't log final directory unless we actually made it.
78879         Refactor to avoid duplicate code to fix up permissions.
78880         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78881
78882         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78883         to make it a bit faster and (I hope) clearer.
78884         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78885         Fix bug in formats like %2N.
78886
78887         * lib/verify.h: New file.
78888
78889 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78890
78891         Sync from coreutils.
78892         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78893
78894 2005-09-22  Jim Meyering  <jim@meyering.net>
78895
78896         Sync from coreutils.
78897
78898         * m4/lstat.m4 (gl_FUNC_LSTAT):
78899         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78900         Remove obsolete comment.
78901         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78902         * m4/xstrtod.m4: Likewise.
78903
78904         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78905
78906 2005-09-22  Jim Meyering  <jim@meyering.net>
78907
78908         Sync from coreutils.
78909
78910         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78911
78912         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78913         the .tm_year member, since otherwise gcc-4.0 would now warn about
78914         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78915
78916         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78917         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78918
78919         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78920         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78921         when run in a time zone for which daylight savings time is in effect
78922         for the starting date.
78923
78924         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78925         stop us from restricting permissions of just-created absolute-named
78926         directories.
78927         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78928         to restore initial working directory.
78929         * lib/mkdir-p.c (make_dir_parents): New parameter:
78930         different_working_dir, to tell caller if/when we change the working
78931         directory and are unable to return to the initial one.
78932         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78933         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78934         `return false'.  This fixes a bug introduced on 2004-07-30.
78935
78936         * lib/openat.c (fdopendir): Be sure to close the supplied
78937         file descriptor before returning.  This makes our replacement
78938         implementation a little closer to Solaris's, where fdopendir
78939         ties the file descriptor to the returned DIR* pointer.
78940         * lib/openat.c (unlinkat): New function.
78941         * lib/openat.h (unlinkat): Add prototype.
78942         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78943         (openat_restore_fail): Rename from openat_restore_die.
78944         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78945
78946         Provide an alternative to exiting immediately upon save_cwd or
78947         restore_cwd failure.  Now, an application can arrange e.g.,
78948         to perform a longjump in that case.
78949         * lib/openat.c: Include dirname.h.
78950         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78951         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78952         and openat_restore_die rather than calling error directly.
78953         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78954
78955         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78956         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78957         define.
78958
78959         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78960         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78961                             int utc, int nanoseconds);
78962         Background:
78963         date should not have to allocate a megabyte of virtual memory to
78964         handle a format argument like +%1048575T.  When implemented with
78965         strftime, it must allocate such a buffer, use strftime to fill it
78966         in, print it, then free it.
78967         With fprintftime, it simply prints everything and exits.
78968         With no need for memory allocation, that's one fewer way to fail.
78969         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78970         optional field width, not before, so we accept %9:z, not %:9z.
78971         (my_strftime): Be sure to use L_('x') for literals.
78972
78973         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78974         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78975         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78976         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78977         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78978         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78979         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78980         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78981         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78982         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78983         * lib/xgethostname.c, lib/xreadlink.c:
78984         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78985
78986         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78987         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78988         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78989         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78990         and don't include <sys/file.h>).
78991
78992 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78993
78994         Sync from coreutils.
78995
78996         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78997         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78998         [!LDAV_DONE]: Avoid unused variable warning.
78999
79000 2005-09-21  Bruno Haible  <bruno@clisp.org>
79001
79002         * lib/unicodeio.h (unicode_to_mb): New declaration.
79003
79004 2005-09-20  Derek Price  <derek@ximbiot.com>
79005
79006         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79007         getaddrinfo.h.
79008
79009 2005-09-20  Bruno Haible  <bruno@clisp.org>
79010
79011         * gnulib-tool: Remove trailing slashes from the values specified for
79012         --source-base, --m4-base, --tests-base, --aux-dir.
79013         Suggested by Simon Josefsson <jas@extundo.com>.
79014
79015 2005-09-20  Bruno Haible  <bruno@clisp.org>
79016
79017         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79018         func_modules_to_filelist, func_import, func_create_testdir): Make all
79019         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79020         change when gnulib-tool is invoked in a different locale.
79021
79022 2005-09-19  Simon Josefsson  <jas@extundo.com>
79023
79024         * m4/socklen.m4: Fix typo.
79025
79026 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79027
79028         Use a consistent style for including <config.h>.
79029         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79030         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79031         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79032         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79033         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79034         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79035         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79036         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79037         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79038         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79039         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79040         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79041         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79042         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79043         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79044         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79045         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79046         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79047         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79048         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79049         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79050         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79051         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79052         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79053         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79054         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79055         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79056         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79057         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79058         lib/xstrtoumax.c, lib/yesno.c:
79059         Standardize inclusion of config.h.
79060         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79061         lib/inttostr.h:  Removed inclusion of config.h from header files.
79062         * lib/inttostr.c:  Adjusted in-tree users.
79063         * lib/timespec.h: Remove superfluous warning to include config.h.
79064         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79065         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79066         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79067         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79068         config.h with HAVE_CONFIG_H.
79069
79070 2005-09-19  Jim Meyering  <jim@meyering.net>
79071
79072         * modules/pathmax (License): Change to LGPL.
79073
79074 2005-09-19  Derek Price  <derek@ximbiot.com>
79075
79076         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79077
79078 2005-09-19  Bruno Haible  <bruno@clisp.org>
79079
79080         * gnulib-tool (import): Provide default for --tests-base.
79081
79082 2005-09-19  Bruno Haible  <bruno@clisp.org>
79083
79084         * doc/quote.texi: New file, extracted from gnulib.texi.
79085         * doc/ctime.texi: New file, extracted from gnulib.texi.
79086         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79087         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79088         * doc/gnulib.texi: Include them.
79089
79090 2005-09-18  Bruno Haible  <bruno@clisp.org>
79091
79092         Portability fix.
79093         * gnulib-tool (func_readlink): New function.
79094         (func_ln_if_changed): Use it.
79095
79096 2005-09-18  Bruno Haible  <bruno@clisp.org>
79097
79098         * gnulib-tool: Support --with-tests also with --import.
79099         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79100         (func_import): Use variables $testsbase and $inctests. Emit a
79101         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79102         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79103         SUBDIRS += $testsdir.
79104         (func_create_testdir): Update.
79105
79106 2005-09-18  Bruno Haible  <bruno@clisp.org>
79107
79108         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79109         instead of $dry_run.
79110         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79111         (func_ln_if_changed): Don't handle dry-run here.
79112         (func_import): In dry-run mode, detect more precisely which actions
79113         would be performed, and don't use "...ing" verbs.
79114
79115 2005-09-18  Bruno Haible  <bruno@clisp.org>
79116
79117         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79118         (func_import): Use join on two temporary files instead of three nested
79119         loops, in order to determine which files are new or old.
79120
79121 2005-09-18  Bruno Haible  <bruno@clisp.org>
79122
79123         * gnulib-tool (func_import): Comment out code that spits out the
79124         new files with --dry-run.
79125
79126 2005-09-18  Bruno Haible  <bruno@clisp.org>
79127
79128         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79129
79130 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79131
79132         * lib/stat-time.h: New file.
79133         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79134         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79135         in a different way.
79136         (timespec_cmp): New function.
79137         * lib/utimecmp.c: Include stat-time.h.
79138         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79139         members exist, not on the obsolescent ST_MTIM_NSEC.
79140         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79141
79142 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79143
79144         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79145
79146 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79147
79148         * MODULES.html.sh (File system functions): Add stat-time.
79149         * modules/stat-time: New file.
79150         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79151         is now done in a different way, by the stat-time module.
79152         * modules/utimecmp (Depends-on): Add stat-time.
79153
79154 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79155
79156         * m4/st_mtim.m4: Remove.  Superseded by...
79157         * m4/stat-time.m4: New file.
79158         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79159         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79160
79161 2005-09-15  Derek Price  <derek@ximbiot.com>
79162
79163         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79164
79165 2005-09-15  Derek Price  <derek@ximbiot.com>
79166
79167         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79168         * lib/regex_internal.c: Ditto, using this...
79169         (__GNUC_PREREQ): ...new macro.
79170         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79171         using...
79172         (__GNUC_PREREQ): ...this new macro.
79173
79174         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79175
79176 2005-09-15  Derek Price  <derek@ximbiot.com>
79177             Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79180         changes, consolidating in...
79181         * lib/regex_internal.h: ...this file.
79182
79183 2005-09-13  Jim Meyering  <jim@meyering.net>
79184
79185         * lib/canon-host.c: Filter through gnu indent and reword comments
79186         slightly.
79187         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79188
79189 2005-09-13  Derek Price  <derek@ximbiot.com>
79190
79191         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79192         failure.
79193         Reported by Jim Meyering  <jim@meyering.net>.
79194
79195 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79196
79197         * lib/base64.c: Typo.
79198         (base64_encode): Put b64str in initialized data section.
79199
79200 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79201
79202         Merge glibc and coreutils changes into gnulib, plus a few
79203         extra fixes.
79204         * lib/md5.c: Use #error rather than a string.
79205         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79206         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79207         (__attribute__): Define to empty for non recent-GCC.
79208         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79209         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79210         Renamed from their non-__ counterparts, with new macros replacing
79211         them if not _LIBC.  Add __THROW attribute.
79212         (rol): Remove.
79213         (struct md5_ctx): Align buffer if using GCC.
79214         * lib/sha1.h (struct sha1_ctx): Likewise.
79215         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79216         The old name was backwards.
79217         (NOTSWAP): Remove; not used.
79218         (rol): New macro, moved here from md5.h.
79219         (sha1_process_block): Remove a FIXME that doesn't make sense.
79220
79221 2005-09-12  Derek Price  <derek@ximbiot.com>
79222
79223         Return usable errors from canon-host.
79224         * lib/canon-host.h: New file.
79225         * lib/canon-host.c (canon_host): Wrap...
79226         (canon_host_r): ...this new function, which now relies exclusively on
79227         getaddrinfo.
79228         (ch_strerror): New function.
79229         (last_cherror): New global.
79230         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79231         interface.
79232         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79233         void *.
79234         (freeaddrinfo): Free ai->ai_canonname when set.
79235
79236 2005-09-12  Derek Price  <derek@ximbiot.com>
79237
79238         Make canon-host require getaddrinfo.
79239         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79240         AC_LIBSOURCE canon-host.h.  Call...
79241         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79242         gl_GETADDRINFO.
79243         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79244
79245 2005-09-12  Derek Price  <derek@ximbiot.com>
79246
79247         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79248         LGPL.
79249         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79250
79251 2005-09-12  Derek Price  <derek@ximbiot.com>
79252
79253         * lib/gai_strerror.c: Include config.h when available.  Include
79254         getaddrinfo.h before other headers to test interface.
79255         Reported by Larry Jones <lawrence.jones@ugs.com>.
79256
79257 2005-09-12  Derek Price  <derek@ximbiot.com>
79258             Paul Eggert  <eggert@cs.ucla.edu>
79259
79260         * modules/glob (Files): Add glob-libc.h.
79261
79262 2005-09-12  Derek Price  <derek@ximbiot.com>
79263             Paul Eggert  <eggert@cs.ucla.edu>
79264
79265         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79266         glob_.h, glob-libc.h.
79267         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79268
79269 2005-09-12  Derek Price  <derek@ximbiot.com>
79270             Paul Eggert  <eggert@cs.ucla.edu>
79271
79272         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79273         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79274         protecting things that should be done only in gnulib contexts.
79275         * lib/glob_.h: New file, containing only the glob things needed for
79276         gnulib.
79277         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79278         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79279         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79280         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79281         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79282         and to respect the namespace rules better.
79283
79284 2005-09-08  Simon Josefsson  <jas@extundo.com>
79285
79286         * modules/socklen: New file.
79287
79288 2005-09-08  Simon Josefsson  <jas@extundo.com>
79289
79290         * m4/socklen.m4: New file.
79291
79292 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79293
79294         * modules/utimens (Files): Add m4/utimbuf.m4, since
79295         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79296         Reported by Sergey Poznyakoff.
79297
79298 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79301         definitions, since that's the preferred style in glibc.
79302         Fix a minor spacing issue, and update copyright notice to match
79303         glibc's.
79304
79305 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79306
79307         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79308
79309 2005-09-06  Simon Josefsson  <jas@extundo.com>
79310
79311         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79312         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79313
79314 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79315
79316         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79317         warning.
79318
79319 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79320
79321         * config/srclist.txt: Add glibc bug 1302.
79322
79323 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79324
79325         Change bitset word type from unsigned int to unsigned long int,
79326         as this has better performance on typical 64-bit hosts.
79327         Port bitset code to hosts with unusual word sizes.
79328         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79329         (build_collating_symbol):
79330         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79331         argument is a bitset.  This is merely a style issue, but it makes
79332         it clearer that an entire array is expected.
79333         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79334         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79335         Port to the case where bitset_word is not the same as unsigned int.
79336         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79337         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79338         Likewise.
79339         * lib/regexec.c (check_dst_limits_calc_pos_1,
79340         check_subexp_matching_top):
79341         (build_trtable, group_nodes_into_DFAstates):
79342         Likewise.
79343         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79344         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79345         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79346         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79347         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79348         * lib/regcomp.c (optimize_subexps, lower_subexp):
79349         Work even if bitset_word has holes in its bitwise representation.
79350         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79351         * lib/regexec.c (check_dst_limits_calc_pos_1,
79352         check_subexp_matching_top):
79353         Likewise.
79354         * lib/regex_internal.c (re_string_reconstruct):
79355         Don't assume UCHAR_MAX == 255.
79356         * lib/regex_internal.h (bitset_set_all): Likewise.
79357         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79358         All uses changed.
79359         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79360         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79361         All uses changed.
79362         (BITSET_WORD_MAX): New macro.
79363         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79364         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79365         (bitset_empty, bitset_copy):
79366         Prefer sizeof (bitset) to multiplying it out ourselves.
79367         (bitset_not_merge): Remove; unused.
79368         (bitset_contain): Return bool, not unsigned int with one bit on.
79369         All callers changed.
79370         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79371         alignment than re_node_set; do this by defining a new internal
79372         type struct dests_alloc and using it to allocate memory.
79373
79374 2005-09-05  Bruno Haible  <bruno@clisp.org>
79375
79376         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79377         links.
79378
79379 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79380
79381         * modules/size_max (Makefile.am): Add size_max.h
79382
79383 2005-09-04  Derek Price  <derek@ximbiot.com>
79384
79385         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79386
79387 2005-09-03  Simon Josefsson  <jas@extundo.com>
79388
79389         * gnulib-tool: Fix typo.
79390
79391 2005-09-03  Simon Josefsson  <jas@extundo.com>
79392
79393         * config/srclist.txt: Add glibc bug 1293.
79394
79395 2005-09-03  Derek Price  <derek@ximbiot.com>
79396
79397         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79398         From Larry Jones <lawrence.jones@ugs.com>.
79399
79400 2005-09-02  Simon Josefsson  <jas@extundo.com>
79401
79402         * modules/socklen: New file.
79403
79404 2005-09-02  Simon Josefsson  <jas@extundo.com>
79405
79406         * modules/havelib: New module.
79407
79408         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79409         Use havelib.
79410
79411 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79412
79413         Check for arithmetic overflow when calculating sizes, to prevent
79414         some buffer-overflow issues.  These patches are conservative, in the
79415         sense that when I couldn't determine whether an overflow was possible,
79416         I inserted a run-time check.
79417         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79418         macros.
79419         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79420         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79421         (re_xnrealloc, re_x2nrealloc): New inline functions.
79422         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79423         parse_bracket_exp):
79424         (build_equiv_class, build_charclass): Check for arithmetic overflow
79425         in size expression calculations.
79426         * lib/regex_internal.c (re_string_realloc_buffers):
79427         (build_wcs_upper_buffer, re_node_set_add_intersect):
79428         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79429         (re_dfa_add_node, register_state): Likewise.
79430         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79431         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79432         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79433         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79434
79435 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79436
79437         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79438         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79439
79440 2005-09-02  Bruno Haible  <bruno@clisp.org>
79441
79442         Support for lib vs. lib64 distinction on biarch platforms.
79443         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79444         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79445         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79446
79447 2005-09-02  Bruno Haible  <bruno@clisp.org>
79448
79449         * gnulib-tool (import): In the other first-use case, provide defaults
79450         as well.
79451
79452 2005-09-02  Bruno Haible  <bruno@clisp.org>
79453
79454         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79455         patches not yet found in the latest gettext release.
79456
79457 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79458
79459         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79460         to avoid a collision with bits/local_lim.h in glibc.
79461         All uses changed.  Problem reported by Dmitry V. Levin in
79462         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79463
79464         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79465         bugs in int versus size_t comparisons.
79466         (re_string_context_at): Fix bug where the code assumed that
79467         Idx is signed.
79468
79469         Use bool where appropriate.
79470         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79471         All callers changed.
79472         (calc_eclosure_iter): Likewise, for ROOT arg.
79473         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79474         (build_charclass_op): Likewise, for NON_MATCH arg.
79475         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79476         (re_string_construct_common): Likewise, for ICASE arg.
79477         * lib/regexec.c (re_search_2_stub, re_search_stub):
79478         Likewise, for RET_LEN arg.
79479         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79480         (set_regs): Likewise, for FL_BACKTRACK arg.
79481         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79482         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79483         (calc_eclosure_iter, parse_bracket_exp):
79484         Use bool for internal variables that are booleans.
79485         * lib/regexec.c (re_search_internal, check_matching,
79486         proceed_next_node):
79487         (set_regs, build_sifted_states, sift_states_bkref):
79488         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79489         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79490         (find_collation_sequence_value):
79491         Likewise.
79492         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79493         (re_node_set_compare):
79494         Return bool, not int. All callers changed.
79495         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79496         (build_trtable, check_node_accept): Likewise.
79497         * lib/regex_internal.h: Include stdbool.h.
79498
79499         Fix bugs uncovered when converting to bool.
79500         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79501         failure instead of charging ahead blindly.
79502         * lib/regex_internal.c (register_state): Likewise.
79503         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79504         for freeing internal storage.
79505         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79506         bitset pieces used as boolean, to avoid undefined behavior
79507         on hosts that do int overflow checking.
79508
79509 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79510
79511         * config/srclist.txt: Add glibc bugs 1285-1287.
79512
79513 2005-09-01  Jim Meyering  <jim@meyering.net>
79514
79515         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79516         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79517         Require gl_STAT_MACROS, too.
79518
79519 2005-09-01  Bruno Haible  <bruno@clisp.org>
79520
79521         * gnulib-tool (import): In the first-use case, provide defaults.
79522
79523 2005-09-01  Bruno Haible  <bruno@clisp.org>
79524
79525         * gnulib-tool (func_import): Remove the .tmp files.
79526
79527 2005-09-01  Bruno Haible  <bruno@clisp.org>
79528
79529         * gnulib-tool (func_import): Fix handling of symbolic links.
79530
79531 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79534         old glibc regex code mishandles strings longer than 2**31 bytes.
79535         This patch fixes this when the regex code is used in gnulib
79536         (i.e., outside glibc).
79537
79538         This patch should not affect the use of the regex code inside
79539         glibc.  No doubt this problem also needs to be handled for glibc
79540         as well, but the result will be an incompatible change to the
79541         glibc ABI, and the old ABI will have to be supported too.  That
79542         can be the the subject for another patch.
79543
79544         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79545         governing whether the rest of this patch is active.  By default,
79546         the macro is disabled and the patch has no effect.
79547         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79548         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79549         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79550         (re_match_2, re_set_registers): Use the new types.
79551         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79552         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79553         New macros.
79554         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79555         (re_string_context_at, bin_tree_t, re_dfastate_t):
79556         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79557         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79558         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79559         (re_string_char_size_at, re_string_wchar_at):
79560         (re_string_elem_size_at):
79561         Use the new types and macros to port to 64-bit hosts.
79562         Use unsigned types for internal values, so that the code
79563         mostly works even for arrays larger than SSIZE_MAX.
79564         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79565         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79566         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79567         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79568         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79569         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79570         (calc_inveclosure, parse_dup_op, build_range_exp):
79571         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79572         (fetch_number, create_token_tree, mark_opt_subexp):
79573         Likewise.
79574         * lib/regex_internal.c (re_string_construct_common,
79575         create_ci_newstate):
79576         (create_cd_newstate, re_string_allocate, re_string_construct):
79577         (re_string_realloc_buffers, build_wcs_upper_buffer):
79578         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79579         (re_string_reconstruct, re_string_peek_byte_case):
79580         (re_string_fetch_byte_case, re_string_context_at):
79581         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79582         (re_node_set_init_copy, re_node_set_add_intersect):
79583         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79584         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79585         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79586         (re_acquire_state, re_acquire_state_context, register_state):
79587         Likewise.
79588         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79589         search_cur_bkref_entry):
79590         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79591         (re_search_internal, re_search_2_stub, re_search_stub)
79592         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79593         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79594         (update_cur_sifted_state, check_dst_limits):
79595         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79596         (check_subexp_limits, sift_states_bkref, merge_state_array):
79597         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79598         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79599         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79600         (expand_bkref_cache, check_node_accept_bytes):
79601         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79602         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79603         (acquire_init_state_context, check_halt_node_context):
79604         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79605         (sift_states_backward, clean_state_log_if_needed):
79606         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79607         (find_recover_state, transit_state_sb, transit_state_mb):
79608         (transit_state_bkref, build_trtable, match_ctx_clean):
79609         Likewise.
79610         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79611         to work around an assumption that REG_MISSING is negative.
79612
79613         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79614         (seek_collating_symbol_entry) [defined _LIBC]:
79615         (lookup_collation_sequence_value) [defined _LIBC]:
79616         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79617         Use prototypes rather than old-style function definitions.
79618         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79619         (transit_state_sb) [0]:
79620         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79621
79622         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79623         rm_eo.
79624
79625         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79626         (optimize_subexps, lower_subexp):
79627         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79628         since the signed shift might overflow.  Use 1u<<31 instead.
79629         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79630         Likewise.
79631         * lib/regexec.c (check_dst_limits_calc_pos_1,
79632         check_subexp_matching_top): Likewise.
79633
79634         * lib/regcomp.c (optimize_subexps, lower_subexp):
79635         Use CHAR_BIT rather than 8, for clarity.
79636         * lib/regexec.c (check_dst_limits_calc_pos_1):
79637         (check_subexp_matching_top): Likewise.
79638         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79639         have to worry about portability issues when shifting it left.
79640         Remove no-longer-needed test for table_size > 0.
79641         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79642         in a word, as the resulting behavior is undefined.
79643         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79644         in one case, a <= should have been an <, and in another case the
79645         whole test was missing.
79646         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79647         the standard name CHAR_BIT.
79648         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79649         this is not true on one's complement and signed-magnitude hosts.
79650
79651         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79652         next_last_offset.
79653         (struct re_dfa_t): Remove unused member states_alloc.
79654         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79655
79656 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79657
79658         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79659         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79660         and large-file glibc and in 32-bit large-file Solaris.
79661
79662 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79663
79664         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79665         lengths fit in regoff_t; this isn't true if regoff_t is the same
79666         width as size_t.
79667         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79668         (= START + RANGE) instead of RANGE.  This avoids overflow
79669         problems when regoff_t is the same width as size_t.
79670         All callers changed.
79671         (re_search_2_stub): Check for overflow when adding the
79672         sizes of the two strings.
79673         (re_search_stub): Check for overflow when adding START
79674         to RANGE; if it occurs, substitute the extreme value.
79675
79676 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79677
79678         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79679
79680 2005-08-31  Jim Meyering  <jim@meyering.net>
79681
79682         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79683         a pointer-to-const.
79684         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79685         (register_state): Likewise.
79686         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79687         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79688         (group_nodes_into_DFAstates): Likewise.
79689
79690 2005-08-31  Jim Meyering  <jim@meyering.net>
79691
79692         * check-module: Add a FIXME comment.
79693
79694 2005-08-31  Eric Blake  <ebb9@byu.net>
79695
79696         * modules/unistd-safer (Files): Add unistd--.h.
79697         * modules/stdio-safer (Files): Add stdio--.h.
79698
79699 2005-08-31  Derek Price  <derek@ximbiot.com>
79700
79701         * lib/getdelim.c (getdelim): Return EOF on EOF.
79702         Reported by Larry Jones <lawrence.jones@ugs.com>.
79703
79704 2005-08-31  Bruno Haible  <bruno@clisp.org>
79705
79706         Avoid unnecessary diffs in the generated lib/Makefile.am.
79707         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79708         the generated files.
79709         (func_import): Don't set cmd.
79710
79711 2005-08-31  Bruno Haible  <bruno@clisp.org>
79712
79713         * lib/strstr.c: Include <stddef.h>, for NULL.
79714         * lib/strcasestr.c: Likewise.
79715         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79716
79717 2005-08-31  Bruno Haible  <bruno@clisp.org>
79718
79719         * gnulib-tool: New option --macro-prefix.
79720         (func_import): Use macro_prefix.
79721         (import): Handle option --macro-prefix.
79722
79723 2005-08-31  Bruno Haible  <bruno@clisp.org>
79724
79725         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79726         Also use new variables cached_lgpl, cached_libtool.
79727
79728 2005-08-31  Bruno Haible  <bruno@clisp.org>
79729
79730         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79731         always instantiating them.
79732
79733 2005-08-31  Bruno Haible  <bruno@clisp.org>
79734
79735         * gnulib-tool (func_import): Read the previous cached settings
79736         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79737         earlier added by gnulib but are now dropped. Warn when a gnulib file
79738         overwrites a non-gnulib file.
79739
79740 2005-08-31  Bruno Haible  <bruno@clisp.org>
79741
79742         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79743         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79744         projects that don't keep autogenerated files in CVS. Put into
79745         actioncmd only the specified modules, not the transitive closure.
79746
79747 2005-08-31  Bruno Haible  <bruno@clisp.org>
79748
79749         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79750         Create directories that shall be filled.
79751         (import): Don't look for gl_* macros in configure.ac. Recurse across
79752         all directories containing a gnulib-cache.m4 files, if meaningful.
79753
79754 2005-08-31  Bruno Haible  <bruno@clisp.org>
79755
79756         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79757         (import): Set seen_libtool when we see gl_LIBTOOL.
79758
79759 2005-08-31  Bruno Haible  <bruno@clisp.org>
79760
79761         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79762         declaration macro definitions from generated gnulib.m4.
79763
79764 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79765
79766         * lib/iconvme.h: Add prototype for iconv_alloc.
79767
79768 2005-08-29  Simon Josefsson  <jas@extundo.com>
79769
79770         * lib/iconvme.c: Fix errno.
79771
79772 2005-08-29  Bruno Haible  <bruno@clisp.org>
79773
79774         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79775         that it works when the directory contains spaces.
79776
79777 2005-08-29  Bruno Haible  <bruno@clisp.org>
79778
79779         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79780
79781 2005-08-29  Bruno Haible  <bruno@clisp.org>
79782
79783         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79784         Emit more advice.
79785
79786 2005-08-29  Bruno Haible  <bruno@clisp.org>
79787         and Stepan Kasal  <kasal@ucw.cz>
79788
79789         * check-module: If more parameters are given, check each of them
79790         separately; add more exceptions, as noted by Jim Meyering.
79791         (check_module): New procedure.
79792         (%exempt_header): Now contains all exceptions.
79793
79794 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79795
79796         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79797
79798 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79799
79800         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79801
79802 2005-08-28  Bruno Haible  <bruno@clisp.org>
79803
79804         * m4/gnulib-tool.m4: New file.
79805
79806 2005-08-27  Jim Meyering  <jim@meyering.net>
79807
79808         * modules/unistd-safer (Files): Add pipe-safer.c.
79809         * modules/fcntl-safer (Files): Add creat-safer.c.
79810
79811 2005-08-27  Jim Meyering  <jim@meyering.net>
79812
79813         * m4/stdlib-safer.m4: New file.  From coreutils.
79814         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79815         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79816         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79817         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79818         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79819
79820 2005-08-27  Jim Meyering  <jim@meyering.net>
79821
79822         * lib/fopen-safer.c: Merge minor changes from coreutils.
79823         * lib/dup-safer.c: Likewise.
79824         * lib/fd-safer.c: Likewise.
79825
79826         Merge from coreutils.
79827         * lib/stdio--.h: New file.
79828         * lib/stdlib--.h: New file.
79829         * lib/mkstemp-safer.c: New file.
79830
79831         GNU tar needs these.
79832         * lib/pipe-safer.c: New file.
79833         * lib/creat-safer.c: New file.
79834         * lib/fcntl--.h (creat): Define to creat_safer.
79835         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79836         * lib/unistd--.h (pipe): Define to pipe_safer.
79837         * lib/unistd-safer.h: Declare pipe_safer.
79838
79839 2005-08-26  Simon Josefsson  <jas@extundo.com>
79840
79841         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79842         Haible <bruno@clisp.org>.
79843
79844 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79845
79846         * lib/regex_internal.h: Remove all references to
79847         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79848         or better.
79849         (bitset_not, bitset_merge, bitset_not_merge):
79850         (bitset_mask, re_string_allocate, re_string_construct):
79851         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79852         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79853         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79854         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79855         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79856         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79857         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79858         (re_acquire_state_context):
79859         Remove unnecessary forward decls.
79860         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79861         Put __attribute at function definition,
79862         now that the function decl has been removed.
79863         * lib/regex_internal.c (re_string_peek_byte_case):
79864         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79865         Likewise.
79866
79867 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79868
79869         * m4/regex.m4: Add AC_PREREQ(2.50).
79870         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79871
79872 2005-08-25  Simon Josefsson  <jas@extundo.com>
79873
79874         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79875         __fsetlocking.
79876
79877 2005-08-25  Simon Josefsson  <jas@extundo.com>
79878
79879         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79880         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79881         GLIBC specific code.
79882
79883 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79884
79885         Make regex safe for g++.  This fixes one real bug (an "err"
79886         that should have been "*err").  g++ problem reported by
79887         Sam Steingold.
79888         * lib/regex_internal.h (re_calloc): New macro, consistent with
79889         re_malloc etc.  All callers of calloc changed to use re_calloc.
79890         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79891         not int.  All callers changed.
79892         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79893         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79894         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79895         (find_recover_state): Change "err" to "*err"; this fixes what
79896         appears to be a real bug.
79897         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79898         versus int.
79899
79900 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79901
79902         * modules/regex (Depends-on): Add malloc, since the code
79903         assumes that !malloc(0) means failure.
79904
79905 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79906
79907         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79908
79909         alloca modernization/simplification for regex.
79910         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79911         needs to be at the start of the file, and can be moved into
79912         regex_internal.h and simplified.
79913         * lib/regex_internal.h: Include <alloca.h>.
79914         (__libc_use_alloca) [!defined _LIBC]: New macro.
79915         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79916         now works outside glibc.
79917
79918 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79919
79920         * config/srclist.txt: Add glibc bugs 1241, 1245.
79921
79922 2005-08-25  Jim Meyering  <jim@meyering.net>
79923
79924         * lib/open-safer.c: Include <config.h>.
79925         Otherwise, we'd lose LARGEFILE support in any file using
79926         e.g. "fcntl--.h"
79927
79928 2005-08-25  Bruno Haible  <bruno@clisp.org>
79929
79930         * m4/minmax.m4: Require autoconf 2.52.
79931         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79932         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79933         alternatives of translit over the alphabet.
79934         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79935
79936 2005-08-24  Simon Josefsson  <jas@extundo.com>
79937
79938         * tests/test-getpass.c: New file.
79939
79940 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79943         for GNU regex features.
79944
79945 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79946
79947         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79948         * lib/regex.h (regerror): Likewise.
79949
79950         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79951         requires this.  (The code never needed it.)
79952
79953         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79954         All uses of recently-renamed identifiers changed to use the new,
79955         POSIX-compliant names.  The code will build and run just fine
79956         without these changes, but it's better to eat our own dog food
79957         and use the standard-conforming names.
79958
79959         * lib/regex.h: Fix a multitude of POSIX name space violations.
79960         These changes have an effect only for programs that define
79961         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79962         do not change anything for programs compiled in the normal way.
79963         Also, there is no effect on the ABI.
79964
79965         (_REGEX_SOURCE): New macro.
79966         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79967         defined and _GNU_SOURCE is not; this fixes a name space violation.
79968
79969         Rename the following macros to obey POSIX requirements.
79970         The old names are still visible as macros if _REGEX_SOURCE is defined.
79971         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79972         RE_BACKSLASH_ESCAPE_IN_LISTS.
79973         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79974         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79975         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79976         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79977         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79978         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79979         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79980         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79981         (REG_INTERVALS): renamed from RE_INTERVALS.
79982         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79983         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79984         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79985         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79986         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79987         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79988         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79989         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79990         RE_UNMATCHED_RIGHT_PAREN_ORD.
79991         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79992         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79993         (REG_DEBUG): renamed from RE_DEBUG.
79994         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79995         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79996         unusual, since we can't clash with the POSIX REG_ICASE.
79997         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79998         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79999         (REG_NO_SUB): renamed from RE_NO_SUB.
80000         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80001         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80002         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80003         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80004         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80005         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80006         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80007         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80008         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80009         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80010         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80011         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80012         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80013         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80014         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80015         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80016         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80017         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80018         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80019         (REG_FIXED): Renamed from REGS_FIXED.
80020         (REG_NREGS): Renamed from RE_NREGS.
80021
80022         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80023         of other REG_* macros, since POSIX says the user is allowed to
80024         #undef these macros selectively.
80025
80026         (reg_errcode_t): Update comment stating what other tables need
80027         to be consistent.
80028
80029         Rename the following enum values to obey POSIX requirements.
80030         The old names are still visible as macros.
80031         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80032         is not defined, since GNU is supposed to be a superset of POSIX as
80033         much as possible, and since we want reg_errcode_t to be a signed
80034         type for implementation consistency.
80035         (_REG_NOERROR): Renamed from REG_NOERROR.
80036         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80037         (_REG_BADPAT): Renamed from REG_BADPAT.
80038         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80039         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80040         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80041         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80042         (_REG_EBRACK): Renamed from REG_EBRACK.
80043         (_REG_EPAREN): Renamed from REG_EPAREN.
80044         (_REG_EBRACE): Renamed from REG_EBRACE.
80045         (_REG_BADBR): Renamed from REG_BADBR.
80046         (_REG_ERANGE): Renamed from REG_ERANGE.
80047         (_REG_ESPACE): Renamed from REG_ESPACE.
80048         (_REG_BADRPT): Renamed from REG_BADRPT.
80049         (_REG_EEND): Renamed from REG_EEND.
80050         (_REG_ESIZE): Renamed from REG_ESIZE.
80051         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80052         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80053         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80054         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80055         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80056
80057         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80058         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80059         changed.  But support the old name if the new one is not defined
80060         and if _REGEX_SOURCE.
80061
80062         Change the following member names in struct re_pattern_buffer.
80063         The old names are still supported if !_REGEX_SOURCE.
80064         The new names are always supported, regardless of _REGEX_SOURCE.
80065         (re_buffer): Renamed from buffer.
80066         (re_allocated): Renamed from allocated.
80067         (re_used): Renamed from used.
80068         (re_syntax): Renamed from syntax.
80069         (re_fastmap): Renamed from fastmap.
80070         (re_translate): Renamed from translate.
80071         (re_can_be_null): Renamed from can_be_null.
80072         (re_regs_allocated): Renamed from regs_allocated.
80073         (re_fastmap_accurate): Renamed from fastmap_accurate.
80074         (re_no_sub): Renamed from no_sub.
80075         (re_not_bol): Renamed from not_bol.
80076         (re_not_eol): Renamed from not_eol.
80077         (re_newline_anchor): Renamed from newline_anchor.
80078
80079         Change the following member names in struct re_registers.
80080         The old names are still supported if !_REGEX_SOURCE.
80081         The new names are always supported, regardless of _REGEX_SOURCE.
80082         (rm_num_regs): Renamed from num_regs.
80083         (rm_start): Renamed from start.
80084         (rm_end): Renamed from end.
80085
80086         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80087         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80088         Prepend __ to parameter names.
80089
80090         Undo yesterday's changes.
80091
80092 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80093
80094         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80095         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80096         lib/regex.c.
80097
80098 2005-08-24  Jim Meyering  <jim@meyering.net>
80099
80100         Sync from coreutils.
80101         * m4/fcntl-safer.m4: New file.
80102
80103         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80104         and object files for this module.
80105
80106 2005-08-24  Jim Meyering  <jim@meyering.net>
80107
80108         Sync from coreutils.
80109         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80110
80111 2005-08-24  Jim Meyering  <jim@meyering.net>
80112
80113         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80114         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80115
80116 2005-08-24  Jim Meyering  <jim@meyering.net>
80117
80118         * modules/fcntl-safer: New module.
80119         * modules/fts (Depends-on): Add fcntl-safer.
80120         * MODULES.html.sh (File descriptor based Input/Output):
80121         Add fcntl-safer.
80122
80123 2005-08-24  Bruno Haible  <bruno@clisp.org>
80124
80125         Support for unit test modules.
80126         * modules/README: Mention tests modules.
80127         * modules/TEMPLATE-TESTS: New file.
80128         * gnulib-tool: New options --extract-tests-module, --with-tests and
80129         --tests-base (unused for the moment).
80130         (testsbase, inctests): New variables.
80131         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80132         (func_verify_module): Exclude TEMPLATE-TESTS.
80133         (func_verify_nontests_module, func_verify_tests_module): New functions.
80134         (func_get_dependencies): Add implicit dependency for tests modules.
80135         (func_get_tests_module): New function.
80136         (func_modules_transitive_closure): When --with-tests was specified,
80137         include the unit tests as well, unless explicitly avoided.
80138         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80139         (func_emit_tests_Makefile_am): New function.
80140         (func_create_testdir): When --with-tests was specified, emit a
80141         tests/ directory.
80142         * MODULES.html.sh (Future developments): Update.
80143
80144 2005-08-24  Bruno Haible  <bruno@clisp.org>
80145
80146         * modules/tls-tests: New file.
80147         * tests/test-tls.c: New file, from GNU gettext.
80148
80149 2005-08-24  Bruno Haible  <bruno@clisp.org>
80150
80151         * modules/lock-tests: New file.
80152         * tests/test-lock.c: New file, from GNU gettext.
80153
80154 2005-08-24  Bruno Haible  <bruno@clisp.org>
80155
80156         * lib/lock.h: Add multiple inclusion guard.
80157         * lib/tls.h: Add multiple inclusion guard.
80158
80159 2005-08-24  Bruno Haible  <bruno@clisp.org>
80160
80161         * gnulib-tool: Add support for the --aux-dir option to
80162         --create-testdir, --create-megatestdir, --test, --megatest.
80163         (func_create_testdir, func_create_megatestdir): Optionally emit a
80164         AC_CONFIG_AUX_DIR directive.
80165         (create-testdir, create-megatestdir, test, megatest): Provide a
80166         default value for $auxdir.
80167
80168 2005-08-24  Bruno Haible  <bruno@clisp.org>
80169
80170         * gnulib-tool (import): Use compound statement instead of subshell
80171         where possible.
80172
80173 2005-08-24  Bruno Haible  <bruno@clisp.org>
80174
80175         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80176
80177 2005-08-24  Bruno Haible  <bruno@clisp.org>
80178
80179         * gnulib-tool (func_version): Update.
80180
80181 2005-08-24  Bruno Haible  <bruno@clisp.org>
80182
80183         * gnulib-tool (func_import, func_create_testdir,
80184         func_create_megatestdir): Quote all autoconf macro arguments.
80185
80186 2005-08-24  Bruno Haible  <bruno@clisp.org>
80187
80188         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80189         option --force, because --force causes the aclocal.m4 of each
80190         subdirectory to be newer than the corresponding config.h.in.
80191
80192 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80193
80194         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80195         All contents moved to gl_REGEX.
80196         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80197         assume that it does.
80198
80199 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80200
80201         * lib/regex.h (REG_NOSYS)
80202         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80203         Define, since POSIX requires it as of 2001.
80204         (_REG_ENOSYS)
80205         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80206         New private symbol, used to keep the enum signed in all cases.
80207         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80208         Youngman in
80209         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80210
80211         * lib/regex_internal.c (re_string_skip_chars, register_state):
80212         (calc_state_hash):
80213         Remove forward decls; no longer needed now that we use prototypes.
80214         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80215         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80216         (clean_state_log_if_needed): Likewise.
80217
80218 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80219
80220         * config/srclist.txt: Add glibc bugs 1231-1233.
80221
80222 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         Fix problems reported by Sam Steingold in
80225         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80226         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80227         assumed that reg_errcode_t is a signed type, which is not
80228         necessarily true if _XOPEN_SOURCE is not defined.
80229         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80230         since some compilers warn about it otherwise.
80231
80232 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80233
80234         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80235         (init_word_char, create_initial_state, duplicate_node_closure):
80236         (fetch_token, peek_token_bracket, build_range_exp):
80237         (build_collating_symbol): Remove forward decls; no longer needed
80238         now that we use prototypes.
80239
80240         * lib/regcomp.c:
80241         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80242         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80243         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80244         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80245         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80246         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80247         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80248         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80249         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80250         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80251         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80252         (build_charclass, build_charclass_op, fetch_number, create_tree):
80253         (create_token_tree, mark_opt_subexp, duplicate_tree):
80254         Use prototypes rather than old-style definitions.
80255
80256         * lib/regex_internal.c:
80257         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80258         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80259         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80260         (re_string_reconstruct, re_string_peek_byte_case):
80261         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80262         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80263         (re_node_set_init_copy, re_node_set_add_intersect):
80264         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80265         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80266         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80267         (re_acquire_state, re_acquire_state_context, register_state):
80268         (create_ci_newstate, create_cd_newstate, free_state):
80269         Likewise.
80270         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80271         re_search_2):
80272         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80273         (re_search_internal, prune_impossible_nodes):
80274         (acquire_init_state_context, check_matching, static):
80275         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80276         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80277         (update_regs, sift_states_backward, build_sifted_states):
80278         (clean_state_log_if_needed, merge_state_array):
80279         (update_cur_sifted_state, add_epsilon_src_nodes):
80280         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80281         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80282         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80283         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80284         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80285         (check_arrival, check_arrival_add_next_nodes):
80286         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80287         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80288         (check_node_accept_bytes, check_node_accept, extend_buffers):
80289         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80290         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80291         (sift_ctx_init):
80292         Likewise.
80293
80294         * lib/regex_internal.h:
80295         (re_string_allocate, re_string_construct, re_string_reconstruct):
80296         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80297         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80298         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80299         (re_string_context_at, re_string_peek_byte_case):
80300         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80301         is defined, since we now use prototypes always.
80302
80303         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80304         C89 or better.  All uses removed.
80305
80306 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80307
80308         * config/srclist.txt: Add glibc bugs 1220-1227.
80309
80310 2005-08-20  Jim Meyering  <jim@meyering.net>
80311
80312         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80313         of unused local, dfa.
80314
80315 2005-08-20  Bruno Haible  <bruno@clisp.org>
80316
80317         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80318
80319 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80322         (re_node_set_insert_last, re_dfa_add_node):
80323         Rename local variables to avoid GCC shadowing warnings.
80324
80325 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80326
80327         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80328         [defined lint]: Suppress bogus uninitialized-variable warnings.
80329
80330         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80331         and let the caller return REG_ESPACE if out of space.  This
80332         removes an uninitialied-variable warning with GCC 4.0.1, and also
80333         avoids taking the address of a local variable.  All callers
80334         changed.
80335
80336 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80337
80338         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80339         $LIBCSRC/posix/regexec.c.
80340         Add glibc bug 1217 for regcomp.c.
80341
80342 2005-08-19  Jim Meyering  <jim@meyering.net>
80343
80344         * lib/regexec.c (proceed_next_node): Redo local variables to
80345         avoid GCC shadowing warnings.
80346
80347 2005-08-18  Bruno Haible  <bruno@clisp.org>
80348
80349         * lib/strstr.c (strstr): Fix return value in multibyte case.
80350         * lib/strcasestr.c (strcasestr): Likewise.
80351
80352 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80353
80354         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80355
80356 2005-08-17  Jim Meyering  <jim@meyering.net>
80357
80358         Make the %s format (seconds since the epoch) work for a negative
80359         number and when used with a zero-padded field width, e.g. %015s.
80360
80361         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80362         label so that it precedes the code to set `digits'.  Otherwise,
80363         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80364         print `00-22'.  Now, it prints `-0022', as it should.
80365
80366 2005-08-17  Bruno Haible  <bruno@clisp.org>
80367
80368         * modules/strstr (Files): Add m4/mbrtowc.m4.
80369         (Depends-on): Add mbuiter.
80370
80371 2005-08-17  Bruno Haible  <bruno@clisp.org>
80372
80373         * modules/strcasestr: New file.
80374         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80375         strcasestr.
80376
80377 2005-08-17  Bruno Haible  <bruno@clisp.org>
80378
80379         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80380
80381 2005-08-17  Bruno Haible  <bruno@clisp.org>
80382
80383         * modules/mbuiter: New file.
80384         * MODULES.html.sh (Extended multibyte and wide character utilities):
80385         Add mbuiter.
80386
80387 2005-08-17  Bruno Haible  <bruno@clisp.org>
80388
80389         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80390         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80391
80392 2005-08-17  Bruno Haible  <bruno@clisp.org>
80393
80394         * m4/strcasestr.m4: New file.
80395
80396 2005-08-17  Bruno Haible  <bruno@clisp.org>
80397
80398         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80399         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80400
80401 2005-08-17  Bruno Haible  <bruno@clisp.org>
80402
80403         * lib/strcasestr.h: New file.
80404         * lib/strcasestr.c: New file.
80405
80406 2005-08-17  Bruno Haible  <bruno@clisp.org>
80407
80408         * lib/strcasecmp.c: Use mbuiter.h.
80409
80410 2005-08-17  Bruno Haible  <bruno@clisp.org>
80411
80412         * lib/mbuiter.h: New file.
80413
80414 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80415
80416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80417         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80418         and gl_GETOPT are both invoked via different paths (as happens
80419         with GNU tar CVS because it uses both argp and getopt), the former
80420         wins.
80421
80422 2005-08-16  Bruno Haible  <bruno@clisp.org>
80423
80424         * modules/tls: New file.
80425         * MODULES.html.sh (Multithreading): Add tls.
80426
80427 2005-08-16  Bruno Haible  <bruno@clisp.org>
80428
80429         * modules/strnlen1: New file.
80430         * MODULES.html.sh (String handling): Add strnlen1.
80431
80432 2005-08-16  Bruno Haible  <bruno@clisp.org>
80433
80434         * modules/strcase (Files): Add m4/mbrtowc.m4.
80435         (Depends-on): Add strnlen1, mbchar.
80436
80437 2005-08-16  Bruno Haible  <bruno@clisp.org>
80438
80439         * modules/mbiter: New file.
80440         * MODULES.html.sh (Extended multibyte and wide character utilities):
80441         Add mbiter.
80442
80443 2005-08-16  Bruno Haible  <bruno@clisp.org>
80444
80445         * modules/mbfile: New file.
80446         * MODULES.html.sh (Extended multibyte and wide character utilities):
80447         Add mbfile.
80448
80449 2005-08-16  Bruno Haible  <bruno@clisp.org>
80450
80451         * modules/mbchar: New file.
80452         * MODULES.html.sh (Extended multibyte and wide character utilities):
80453         New section.
80454
80455 2005-08-16  Bruno Haible  <bruno@clisp.org>
80456
80457         * m4/tls.m4: New file, from GNU gettext.
80458
80459 2005-08-16  Bruno Haible  <bruno@clisp.org>
80460
80461         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80462         always.
80463         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80464
80465 2005-08-16  Bruno Haible  <bruno@clisp.org>
80466
80467         * m4/mbiter.m4: New file.
80468
80469 2005-08-16  Bruno Haible  <bruno@clisp.org>
80470
80471         * m4/mbfile.m4: New file.
80472
80473 2005-08-16  Bruno Haible  <bruno@clisp.org>
80474
80475         * m4/mbchar.m4: New file.
80476
80477 2005-08-16  Bruno Haible  <bruno@clisp.org>
80478
80479         * lib/tls.h: New file, from GNU gettext.
80480         * lib/tls.c: New file, from GNU gettext.
80481
80482 2005-08-16  Bruno Haible  <bruno@clisp.org>
80483
80484         * lib/strnlen1.h: New file.
80485         * lib/strnlen1.c: New file.
80486
80487 2005-08-16  Bruno Haible  <bruno@clisp.org>
80488
80489         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80490         (mbi_init): Update.
80491         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80492         NUL byte, not after it.
80493
80494 2005-08-16  Bruno Haible  <bruno@clisp.org>
80495
80496         * lib/strcase.h (strcasecmp): Add note in comments.
80497         * lib/strncasecmp.c: Use code from strcasecmp.c.
80498         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80499         (strcasecmp): Work correctly in multibyte locales.
80500
80501 2005-08-16  Bruno Haible  <bruno@clisp.org>
80502
80503         * lib/mbiter.h: New file.
80504
80505 2005-08-16  Bruno Haible  <bruno@clisp.org>
80506
80507         * lib/mbfile.h: New file.
80508
80509 2005-08-16  Bruno Haible  <bruno@clisp.org>
80510
80511         * lib/mbchar.h: New file.
80512         * lib/mbchar.c: New file.
80513
80514 2005-08-16  Bruno Haible  <bruno@clisp.org>
80515
80516         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80517         the valid ones. Makes the comparison operations transitive:
80518         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80519         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80520
80521 2005-08-15  Simon Josefsson  <jas@extundo.com>
80522
80523         * modules/ssize_t (License): Change to 'unlimited'.
80524
80525         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80526
80527 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80528
80529         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80530         Add comments for each pending glibc patch.
80531
80532 2005-08-15  Bruno Haible  <bruno@clisp.org>
80533
80534         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80535         __cplusplus is defined.
80536
80537 2005-08-14  Jim Meyering  <jim@meyering.net>
80538
80539         Sync from coreutils.
80540
80541         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80542         Use the hash-table-based cycle-detection code not just when
80543         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80544         Reported by James Youngman in
80545         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80546         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80547         FTS_TIGHT_CYCLE_CHECK.
80548         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80549         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80550         once again.
80551         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80552         * lib/fts.c (fd_safer): Remove decl.
80553         Include fcntl--.h rather than unistd-safer.h
80554         (fts_safe_changedir): Don't call fd_safer; no longer needed
80555         now that we include fcntl--.h.
80556
80557 2005-08-12  Simon Josefsson  <jas@extundo.com>
80558
80559         * modules/getndelim2: Use ssize_t module.
80560         * modules/getnline: Likewise.
80561         * modules/safe-read: Likewise.
80562         * modules/xreadlink: Likewise.
80563
80564         * modules/ssize_t: New file.
80565
80566 2005-08-12  Simon Josefsson  <jas@extundo.com>
80567
80568         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80569
80570 2005-08-12  Simon Josefsson  <jas@extundo.com>
80571
80572         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80573         ssize_t.
80574
80575 2005-08-12  Simon Josefsson  <jas@extundo.com>
80576
80577         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80578         readline, getdelim and check_version.
80579         (Support for systems lacking ISO C 99: Sizes of integer types):
80580         Add size_max.
80581
80582 2005-08-12  Bruno Haible  <bruno@clisp.org>
80583
80584         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80585
80586 2005-08-11  Simon Josefsson  <jas@extundo.com>
80587
80588         * modules/readline: New file.
80589
80590         * modules/strnlen (Files): Add strnlen.h.
80591
80592 2005-08-11  Simon Josefsson  <jas@extundo.com>
80593
80594         * m4/readline.m4: New file.
80595
80596 2005-08-11  Simon Josefsson  <jas@extundo.com>
80597
80598         * lib/readline.h, readline.c: New file.
80599
80600 2005-08-11  Simon Josefsson  <jas@extundo.com>
80601
80602         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80603         gl_AVOID.
80604
80605 2005-08-11  Bruno Haible  <bruno@clisp.org>
80606
80607         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80608
80609 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80610
80611         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80612
80613 2005-08-10  Simon Josefsson  <jas@extundo.com>
80614
80615         * tests/test-iconvme.c: New file.
80616
80617 2005-08-10  Simon Josefsson  <jas@extundo.com>
80618
80619         * m4/strnlen.m4: New file.
80620
80621         * m4/strndup.m4: Don't check for strnlen declaration, done in
80622         strnlen.m4.
80623
80624 2005-08-10  Simon Josefsson  <jas@extundo.com>
80625
80626         * lib/strndup.c: Use strnlen.h.
80627
80628         * lib/strnlen.h: New file.
80629
80630 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80631
80632         * README: Typos.
80633
80634 2005-08-02  Simon Josefsson  <jas@extundo.com>
80635
80636         * modules/readline: New file.
80637
80638 2005-08-02  Simon Josefsson  <jas@extundo.com>
80639
80640         * modules/getdelim: New file.
80641
80642         * modules/getline: Rewrite, don't use getndelim2.
80643
80644 2005-08-02  Simon Josefsson  <jas@extundo.com>
80645
80646         * m4/getline.m4: Separate out getdelim stuff into separate module.
80647
80648         * m4/getdelim.m4: New file.
80649
80650 2005-08-02  Simon Josefsson  <jas@extundo.com>
80651
80652         * lib/getline.h, getline.c: Rewrite.
80653
80654         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80655
80656 2005-07-31  Bruno Haible  <bruno@clisp.org>
80657
80658         * lib/lock.h (gl_lock_initializer): New macro.
80659         (gl_lock_define_initialized): Use it.
80660         (gl_rwlock_initializer): New macro.
80661         (gl_rwlock_define_initialized): Use it.
80662         (gl_recursive_lock_initializer): New macro.
80663         (gl_recursive_lock_define_initialized): Use it.
80664
80665 2005-07-30  Karl Berry  <karl@gnu.org>
80666
80667         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80668         Report from Ben Pfaff, regarding getopt.
80669
80670 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80671
80672         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80673         normal way.
80674         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80675         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80676         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80677         (gl_GETOPT): Use the new macros.  Most of the implementation
80678         is moved to the new macros.  This is for programs like Emacs
80679         that don't want all the functionality of gl_GETOPT.
80680
80681 2005-07-26  Bruno Haible  <bruno@clisp.org>
80682
80683         * m4/lock.m4: Update from GNU gettext.
80684
80685 2005-07-26  Bruno Haible  <bruno@clisp.org>
80686
80687         * lib/lock.h: Update from GNU gettext.
80688         * lib/lock.c: Update from GNU gettext.
80689
80690 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80691
80692         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80693         obsolescent AC_TRY_RUN.  Include the default includes files, for
80694         'exit'.
80695
80696 2005-07-24  Bruno Haible  <bruno@clisp.org>
80697
80698         * modules/visibility: New file.
80699         * MODULES.html.sh (Misc): Add visibility.
80700
80701 2005-07-24  Bruno Haible  <bruno@clisp.org>
80702
80703         * m4/visibility.m4: New file.
80704
80705 2005-07-24  Bruno Haible  <bruno@clisp.org>
80706
80707         * doc/visibility.texi: New file.
80708
80709 2005-07-22  Bruno Haible  <bruno@clisp.org>
80710
80711         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80712         $(ALLOCA_H), redundant through BUILT_SOURCES.
80713         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80714         redundant through BUILT_SOURCES.
80715         * modules/byteswap (Makefile.am): Remove explicit dependency on
80716         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80717         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80718         $(FNMATCH_H), redundant through BUILT_SOURCES.
80719         * modules/getopt (Makefile.am): Remove explicit dependency on
80720         $(GETOPT_H), redundant through BUILT_SOURCES.
80721         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80722         redundant through BUILT_SOURCES.
80723         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80724         redundant through BUILT_SOURCES.
80725         * modules/stdbool (Makefile.am): Remove explicit dependency on
80726         $(STDBOOL_H), redundant through BUILT_SOURCES.
80727         * modules/stdint (Makefile.am): Remove explicit dependency on
80728         $(STDINT_H), redundant through BUILT_SOURCES.
80729         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80730         Remove explicit dependency on $(SYSEXITS_H).
80731         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80732
80733 2005-07-18  Simon Josefsson  <jas@extundo.com>
80734
80735         * lib/check-version.c (check_version): Accept identical versions too.
80736
80737 2005-07-18  Bruno Haible  <bruno@clisp.org>
80738
80739         * modules/lock: New file.
80740         * MODULES.html.sh (Multithreading): New section.
80741
80742 2005-07-18  Bruno Haible  <bruno@clisp.org>
80743
80744         * m4/lock.m4: New file, from GNU gettext.
80745
80746 2005-07-18  Bruno Haible  <bruno@clisp.org>
80747
80748         * lib/lock.h: New file, from GNU gettext.
80749         * lib/lock.c: New file, from GNU gettext.
80750
80751 2005-07-18  Bruno Haible  <bruno@clisp.org>
80752
80753         * lib/lock.h (gl_once_t): New type.
80754         (gl_once_define, gl_once): New macros.
80755         * lib/lock.c (fresh_once): New variable.
80756         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80757         functions.
80758
80759 2005-07-16  Simon Josefsson  <jas@extundo.com>
80760
80761         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80762         workaround, suggested by Bruno.
80763
80764 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80765
80766         * modules/xalloc (Depends-on): Add xalloc-die.
80767         * modules/xvasprintf (Depends-on): Add xalloc-die.
80768
80769 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80770
80771         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80772         with a minor change.
80773
80774 2005-07-15  Bruno Haible  <bruno@clisp.org>
80775
80776         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80777         When using lib/poll.c, define poll as rpl_poll.
80778
80779 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80780
80781         * modules/argp (Depends-on): Remove unlocked-io.
80782
80783 2005-07-14  Derek Price  <derek@ximbiot.com>
80784
80785         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80786         for glob symlink bug.
80787
80788 2005-07-14  Bruno Haible  <bruno@clisp.org>
80789
80790         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80791         Instead, test for *_unlocked function declarations directly.
80792
80793 2005-07-11  Simon Josefsson  <jas@extundo.com>
80794
80795         * modules/size_max: New file.
80796
80797         * modules/xsize: Depend on size_max module for size_max.m4.
80798
80799 2005-07-11  Simon Josefsson  <jas@extundo.com>
80800
80801         * lib/size_max.h: New file.
80802
80803 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80804
80805         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80806         copyright symbol and the year.
80807         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80808         (version_etc_va): Use parameterized copyright notice.
80809         Reword to conform to the current GNU coding standards.
80810
80811 2005-07-11  Karl Berry  <karl@gnu.org>
80812
80813         * doc/gnulib.texi (Quoting): new node.
80814         (Initial import): more info, from Patrice.
80815
80816 2005-07-11  Bruno Haible  <bruno@clisp.org>
80817
80818         * gnulib-tool (func_usage): Document option --avoid.
80819         (Command line options): Handle --avoid.
80820         (func_acceptable): New function.
80821         (func_modules_transitive_closure): Use it.
80822
80823 2005-07-11  Bruno Haible  <bruno@clisp.org>
80824
80825         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80826         Reported by Jim Meyering.
80827
80828 2005-07-10  Bruno Haible  <bruno@clisp.org>
80829
80830         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80831         Needed when size_t is smaller than 'unsigned int'.
80832         Reported by Paul Eggert.
80833
80834 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80835
80836         * modules/argp (Depends-on): Add unlocked-io
80837
80838 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80839
80840         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80841         block of defines.
80842
80843 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80844
80845         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80846         fix now.
80847
80848 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80849         and Paul Eggert  <eggert@cs.ucla.edu>
80850
80851         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80852         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80853
80854 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80855
80856         * modules/regex (Files): Add lib/regex_internal.c,
80857         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80858         (Depends-on): Add extensions.
80859         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80860
80861 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80862
80863         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80864         pathconf.
80865         * m4/same.m4 (gl_SAME): Likewise.
80866         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80867
80868         * m4/regex.m4: Adjust to new libc regex implementation.
80869         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80870         all the .c and .h parts of (the new) regex.
80871         Quote the m4 stuff better.
80872         Check for RE_ICASE bug of old gnulib.
80873         Check for REG_STARTEND of recent libc.
80874         Rename local variables from jm_* to gl_*.
80875         Quote operand of "test -f".
80876         Say "recent enough" version of libc, not "version 2".
80877         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80878         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80879         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80880         Remove check for btowc, isascii.
80881         Require AM_LANGINFO_CODESET.
80882
80883 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80884
80885         * lib/regex.c, regex.h: Sync from libc.
80886         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80887         * lib/regexec.c:
80888         New files, synced from libc, except that regex_internal.h
80889         currently has a small porting fix.
80890
80891 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80892
80893         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80894         regex_internal.c, regexec.c.
80895         Add regex_internal.h too, but as a comment, since the libc version
80896         is currently broken in gnulib mode.
80897
80898 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80899
80900         Support programs like Emacs that use gnulib but not gettext.
80901         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80902         * modules/gettext-h: New file.
80903         * modules/gettext (Files): Remove lib/gettext.h.
80904         (Depends-on): Add gettext-h.
80905         (Makefile.am): Remove lib_SOURCES.
80906         * modules/argmatch, modules/c-stack, modules/closeout:
80907         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80908         * modules/execute, modules/file-type, modules/getaddrinfo:
80909         * modules/getopt, modules/human, modules/javacomp:
80910         * modules/javaexec, modules/mkdir-p, modules/obstack:
80911         * modules/openat, modules/pagealign_alloc, modules/pipe:
80912         * modules/quotearg, modules/regex, modules/rpmatch:
80913         * modules/unicodeio, modules/userspec, modules/version-etc:
80914         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80915         * modules/xsetenv:
80916         Depend on gettext-h, not gettext.
80917
80918 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         * gnulib-tool (func_import): Add support for 'public domain' license.
80921         * modules/alloca, modules/atexit, modules/memmove:
80922         Now public domain, not GPL.
80923         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80924         * modules/realloc, modules/strerror, modules/strtod:
80925         Now LGPL, not GPL.
80926
80927 2005-07-05  Bruno Haible  <bruno@clisp.org>
80928
80929         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80930         autoconf CVS. Needed for mingw.
80931
80932 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80933
80934         Remove the dependency of the strftime module on the tzset module.
80935         * modules/strftime (Depends-on): Remove dependency on tzset.
80936
80937 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80938
80939         Remove the dependency of the strftime module on the tzset module.
80940         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80941         gl_FUNC_TZSET_CLOBBER.
80942
80943 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80944
80945         Remove the dependency of the strftime module on the tzset module.
80946         * lib/strftime.c (my_strftime)
80947         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80948         Copy the input structure, to work around some of the bug with
80949         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80950         Solaris releases, you should also use the tzset module, but we won't
80951         require it as a dependency any more since we don't want LGPLed code
80952         to depend on GPLed code.
80953
80954 2005-07-02  Jim Meyering  <jim@meyering.net>
80955
80956         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80957         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80958         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80959         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80960
80961 2005-07-02  Jim Meyering  <jim@meyering.net>
80962
80963         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80964
80965 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80968         declares only 'struct timespec;' (!).
80969
80970 2005-07-01  Jim Meyering  <jim@meyering.net>
80971
80972         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80973         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80974         * lib/save-cwd.c, tempname.c:
80975         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80976         and don't include <sys/file.h>).
80977
80978 2005-06-29  Jim Meyering  <jim@meyering.net>
80979
80980         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80981         type name.  Use the variable name instead.
80982         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80983         Likewise.
80984
80985 2005-06-28  Simon Josefsson  <jas@extundo.com>
80986
80987         * modules/check-version (Files): Add check-version.m4.
80988
80989 2005-06-28  Simon Josefsson  <jas@extundo.com>
80990
80991         * m4/check-version.m4: New file, suggested by Jim Meyering
80992         <jim@meyering.net>.
80993
80994 2005-06-28  Simon Josefsson  <jas@extundo.com>
80995
80996         * lib/check-version.h, lib/check-version.c: New files.
80997
80998 2005-06-28  Simon Josefsson  <jas@extundo.com>
80999
81000         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81001         collision with global variable.  Better indentation.  Don't
81002         increment buffer pointer beyond buffer end.  Based on comments
81003         from Paul Eggert <eggert@cs.ucla.edu>.
81004
81005         * lib/base64.h: Indent.
81006
81007 2005-06-28  Simon Josefsson  <jas@extundo.com>
81008
81009         * doc/gnulib.texi (Library version handling): New section.
81010
81011 2005-06-28  Jim Meyering  <jim@meyering.net>
81012
81013         * check-module (find_included_lib_files): Hard-code another
81014         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81015         but modules/fts-lgpl (correctly) does not list those files.
81016
81017         * modules/canonicalize (Files): Add lib/pathmax.h.
81018
81019 2005-06-25  Simon Josefsson  <jas@extundo.com>
81020
81021         * modules/check-version: New file.
81022
81023 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81024
81025         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81026         initializer of struct addrinfo, as an indication that we don't
81027         care how many members the structure has.
81028
81029 2005-06-24  Derek Price  <derek@ximbiot.com>
81030         and Bruno Haible  <bruno@clisp.org>
81031
81032         Remove stat module & update lstat.
81033         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81034         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81035         * m4/stat.m4: Remove this file.
81036
81037 2005-06-24  Derek Price  <derek@ximbiot.com>
81038         and Bruno Haible  <bruno@clisp.org>
81039
81040         Remove stat module & update lstat.
81041         * lib/stat.c: Remove this file...
81042         (slash_aware_lstat): ...moving this content and its support...
81043         * lib/lstat.c (rpl_lstat): ...into here.
81044         * lib/lstat.h: New file.
81045
81046 2005-06-24  Derek Price  <derek@ximbiot.com>
81047         and Bruno Haible  <bruno@clisp.org>
81048
81049         Remove stat module & update lstat.
81050         * config/srclist.txt (libc sources): Remove stat.
81051
81052 2005-06-24  Derek Price  <derek@ximbiot.com>
81053         and Bruno Haible  <bruno@clisp.org>
81054
81055         Remove stat module & update lstat.
81056         * MODULES.html.sh (stat): Remove.
81057         * MODULES.html: Regenerated.
81058         * modules/lstat (Description): Correct function name.
81059         (Files): Add "lstat.h".
81060         (Depends-on): Remove stat, add xalloc, stat-macros.
81061         * modules/stat: Remove this file.
81062         (Include): Add "lstat.h", remove <sys/stat.h>.
81063
81064 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81067         (ranged_convert): Don't save conversion in a temporary struct.
81068         This causes a warning with GCC 4.0.0, and anyway in the typical
81069         case it's not worth the extra 100 bytes or so of code.
81070         (ranged_convert, __mktime_internal): When calling a function via a
81071         pointer P, use P () rather than (*P) (), as we now assume C89 or
81072         better.
81073
81074 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81075
81076         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81077         "who -r" failed to give output.  Problem reported by Tim Waugh.
81078
81079         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81080         (xcalloc): Use it to avoid needless tests.
81081         Problem reported by Jim Meyering.
81082
81083 2005-06-20  Derek Price  <derek@ximbiot.com>
81084
81085         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81086         unnecessary for Autoconfs > 2.59c.
81087
81088 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81089
81090         * lib/argp.h (__option_is_short): Check upper limit of
81091         __key. Isprint() requires its argument to have the value
81092         of an unsigned char or EOF.
81093
81094 2005-06-16  Jim Meyering  <jim@meyering.net>
81095
81096         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81097         when either N or S is zero.
81098
81099 2005-06-16  Derek Price  <derek@ximbiot.com>
81100
81101         * m4/bison.m4: Declare YACC & YFLAGS precious.
81102
81103 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81104
81105         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81106         multibyte string or pattern, fall back on unibyte matching.
81107         Problem reported by James Youngman.
81108
81109 2005-06-08  Bruno Haible  <bruno@clisp.org>
81110
81111         * modules/csharpcomp: New file.
81112         * MODULES.html.sh (C#): Add csharpcomp.
81113
81114 2005-06-08  Bruno Haible  <bruno@clisp.org>
81115
81116         * m4/csharpcomp.m4: New file, from GNU gettext.
81117
81118 2005-06-08  Bruno Haible  <bruno@clisp.org>
81119
81120         * lib/csharpcomp.h: New file, from GNU gettext.
81121         * lib/csharpcomp.c: New file, from GNU gettext.
81122         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81123
81124 2005-06-08  Bruno Haible  <bruno@clisp.org>
81125
81126         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81127         warning on mingw.
81128
81129 2005-06-07  Derek Price  <derek@ximbiot.com>
81130
81131         Sync from CVS.
81132         * lib/glob_.h: Indent nested #ifdef.
81133
81134 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81135
81136         Sync from coreutils.
81137         Use "file name" when talking about file names, instead of "filename"
81138         or "path", as per the GNU coding standards.
81139         * lib/mkdir-p.c: Renamed from makepath.c.
81140         (make_dir_parents): Renamed from make_path.  All callers changed.
81141         * lib/mkdir-p.h: Likewise.  All includers changed.
81142         * lib/filenamecat.c: Renamed from path-concat.c.
81143         (file_name_concat): Renamed from path_concat.  All callers changed.
81144         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81145         * lib/filenamecat.h: Likewise.  All includers changed.
81146         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81147         in comments or local variable names.
81148         * lib/basename.c: Likewise.
81149         * lib/canonicalize.c, canonicalize.h: Likewise.
81150         * lib/dirname.c, dirname.h: Likewise.
81151         * lib/euidaccess.c: Likewise.
81152         * lib/exclude.c: Likewise
81153         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81154         * lib/fsusage.c, fsuage.h: Likewise.
81155         * lib/fts.c, fts_.h: Likewise.
81156         * lib/getcwd.c: Likewise.
81157         * lib/getloadavg.c: Likewise.
81158         * lib/mkstemp.c: Likewise.
81159         * lib/mountlist.c, mountlist.h: Likewise.
81160         * lib/openat.c, openat.h: Likewise.
81161         * lib/readlink-stub.c: Likewise.
81162         * lib/readutmp.c, readutmp.h: Likewise.
81163         * lib/rename.c: Likewise.
81164         * lib/rmdir.c: Likewise.
81165         * lib/same.c: Likewise.
81166         * lib/savedir.c: Likewise.
81167         * lib/stripslash.c: Likewise.
81168         * lib/tempname.c: Likewise.
81169         * lib/xreadlink.c: Likewise.
81170         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81171         All uses changed.
81172         * lib/exclude.h: Likewise.
81173
81174         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81175         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81176         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81177         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81178         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81179         files have been getting away with it for years (MORE/BSD 4.3
81180         is extinct now).
81181         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81182         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81183
81184         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81185         Define to 256, not 255, as per modern POSIX.
81186
81187 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81188
81189         Sync from coreutils.
81190         Use "file name" when talking about file names, instead of "filename"
81191         or "path", as per the GNU coding standards.
81192         * MODULES.html.sh: mkdir-p renamed from makepath.
81193         filenamecat renamed from path-concat.
81194         * modules/filenamecat: Renamed from modules/path-concat.
81195         (Files): filenamecat.h and filenamecat.c renamed from
81196         path-concat.h and path-concat.c.
81197         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81198         (Include): filenamecat.h, not path-concat.h.
81199         * modules/mkdir-p: Renamed from modules/makepath.
81200         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81201         makepath.c.
81202         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81203         (Include): mkdir-p.h, not makepath.h.
81204
81205 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81206
81207         Sync from coreutils.
81208         * m4/mkdir-p.m4: Renamed from makepath.m4.
81209         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81210         Rename files from makepath.c to mkdir-p.c, and from
81211         makepath.h to mkdir-p.h.
81212         * m4/filenamecat.m4: Renamed from path-concat.m4.
81213         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81214         Rename files from path-concat.c to filenamecat.c,
81215         and from path-concat.h to filenamecat.h.
81216         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81217         "file name" in local variables or comments.
81218         * m4/rename.m4: Likewise.
81219
81220 2005-06-01  Bruno Haible  <bruno@clisp.org>
81221
81222         * modules/csharpexec: New file.
81223         * MODULES.html.sh (C#): New section.
81224
81225 2005-06-01  Bruno Haible  <bruno@clisp.org>
81226
81227         * m4/csharp.m4: New file, from GNU gettext.
81228         * m4/csharpexec.m4: New file, from GNU gettext.
81229
81230 2005-06-01  Bruno Haible  <bruno@clisp.org>
81231
81232         * lib/csharpexec.h: New file, from GNU gettext.
81233         * lib/csharpexec.c: New file, from GNU gettext.
81234         * lib/csharpexec.sh.in: New file, from GNU gettext.
81235
81236 2005-05-31  Derek Price  <derek@ximbiot.com>
81237             Paul Eggert  <eggert@cs.ucla.edu>
81238
81239         Sync from cvs.
81240         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81241
81242 2005-05-31  Derek Price  <derek@ximbiot.com>
81243             Paul Eggert  <eggert@cs.ucla.edu>
81244
81245         Sync from cvs.
81246         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81247
81248 2005-05-29  Derek Price  <derek@ximbiot.com>
81249
81250         * config/srclist.txt (glob_.h, glob.c): Add these files.
81251
81252 2005-05-29  Derek Price  <derek@ximbiot.com>
81253
81254         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81255         * modules/glob: New file.
81256         * modules/getlogin_r: Add link to POSIX spec in description.
81257
81258 2005-05-29  Derek Price  <derek@ximbiot.com>
81259             Paul Eggert  <eggert@cs.ucla.edu>
81260
81261         * m4/glob.m4: New file.
81262
81263 2005-05-29  Derek Price  <derek@ximbiot.com>
81264             Paul Eggert  <eggert@cs.ucla.edu>
81265
81266         * lib/glob_.h, lib/glob.c: New files.
81267
81268 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81269
81270         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81271         * modules/fts-lgpl (Depends-on): Remove gettext.
81272
81273 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81274
81275         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81276         and don't require gt_INTTYPES_PRI.
81277
81278 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81279
81280         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81281
81282         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81283         the configuration hassle isn't worth it.
81284         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81285         (LONGEST_MODIFIER, PRIuMAX): Remove.
81286
81287 2005-05-27  Bruno Haible  <bruno@clisp.org>
81288
81289         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81290
81291 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81292
81293         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81294         _POSIX_PTHREAD_SEMANTICS for Solaris.
81295
81296 2005-05-25  Derek Price  <derek@ximbiot.com>
81297
81298         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81299
81300 2005-05-25  Derek Price  <derek@ximbiot.com>
81301             Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81304         * lib/getlogin_r.c, getlogin_r.h: New files.
81305
81306 2005-05-25  Bruno Haible  <bruno@clisp.org>
81307             Derek Price  <derek@ximbiot.com>
81308
81309         * lib/getlogin_r.h: Simplify API documentation.
81310
81311 2005-05-23  Derek Price  <derek@ximbiot.com>
81312
81313         * modules/minmax (Files): Add m4/minmax.m4.
81314         (configure.ac): Add gl_MINMAX.
81315
81316 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81317
81318         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81319         so that unistd-safer.h (GPL'ed code) need not be included.
81320
81321 2005-05-22  Bruno Haible  <bruno@clisp.org>
81322
81323         * m4/minmax.m4: New file.
81324         Based on a patch by Derek Price <derek@ximbiot.com>.
81325
81326 2005-05-22  Bruno Haible  <bruno@clisp.org>
81327
81328         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81329         (INT64_MIN): Fix definition.
81330         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81331
81332         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81333         NEED_SIGNED_INT_TYPES.
81334
81335         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81336         HAVE_SYSTEM_INTTYPES.
81337
81338 2005-05-22  Bruno Haible  <bruno@clisp.org>
81339
81340         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81341         Also include <sys/param.h> if it defines MIN, MAX.
81342         Based on a patch by Derek Price <derek@ximbiot.com>.
81343
81344 2005-05-21  Jim Meyering  <jim@meyering.net>
81345
81346         * modules/fts (Files): Add m4/inttypes-pri.m4.
81347         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81348
81349 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81350
81351         New fts module.
81352         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81353         (setup_dir, free_dir): New functions.
81354         (enter_dir, leave_dir): Define trivial
81355         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81356         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81357         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81358         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81359         Move to fts-cycle.c.
81360         (fts_open): Use setup_dir.
81361         (fts_close): Use free_dir.
81362         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81363         This adds a label and some gotos, but the alternatives were messier.
81364         Check for memory allocation failure when entering a dir.
81365         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81366         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81367         (FTS): New member fts_cycle, that is a union that contains the
81368         old active_dir_ht and cycle_state.  All uses changed to mention
81369         fts_cycle.ht and fts_cycle.state.
81370         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81371         fts.c, with the following changes:
81372         (setup_dir, free_dir): New functions.
81373         (enter_dir): Now returns bool.  Return true if successful, false
81374         if memory exhausted.  All callers changed.
81375         Do not bother partly cleaning up on
81376         memory allocation failure; that is free_dir's job.
81377         However, free ad if hash_insert fails, to avoid memory leak.
81378         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81379         fts->fts_options to see which union member to use.
81380
81381 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81382
81383         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81384         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81385
81386 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81387
81388         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81389
81390 2005-05-20  Jim Meyering  <jim@meyering.net>
81391
81392         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81393         Now a macro, to pacify GCC.
81394
81395 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81396
81397         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81398         of -1.
81399
81400 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81401
81402         * lib/chown.c (rpl_chown): Return -1 on failure.
81403
81404 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81405
81406         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81407         Don't check for stddef.h.
81408         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81409         don't use its results.
81410         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81411         since we include them unconditionally.  Don't require
81412         AM_STDBOOL_H, since stdbool is a prerequisite.
81413         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81414         since we assume C89 or better.
81415         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81416         as we don't use their results.
81417         Don't check for fchdir, memmove, memset, strrchr, as we use
81418         them unconditionally.
81419         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81420         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81421
81422 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81423
81424         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81425         Include <stddef.h> unconditionally, since we assume C89 now.
81426         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81427         * lib/fts.c: Include fts_.h first, to check interface.
81428         Do not include intprops.h; no longer needed.
81429         Include cycle-check.h and hash.h, since fts_.h no longer does.
81430         Remove unnecessary casts of closedir to void.
81431         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81432         decide whether to decrement nlinks.
81433         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81434         (FTS): Use struct hash_table * instead of Hash_table, so that
81435         we no longer need to include hash.h here.
81436
81437 2005-05-18  Jim Meyering  <jim@meyering.net>
81438
81439         * modules/dirfd (License): Change to LGPL.  Most of the code
81440         is already in the public domain.
81441
81442 2005-05-18  Jim Meyering  <jim@meyering.net>
81443
81444         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81445         Reported by Yoann Vandoorselaere.
81446
81447 2005-05-17  Jim Meyering  <jim@meyering.net>
81448
81449         * m4/fts.m4: New file, from coreutils.
81450
81451 2005-05-17  Jim Meyering  <jim@meyering.net>
81452
81453         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81454
81455 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81456
81457         Sync from coreutils.
81458         * m4/unlinkdir.m4: New file.
81459
81460 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81461
81462         Sync from coreutils.
81463         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81464         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81465         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81466         White space changes only.
81467         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81468         special.
81469         * lib/yesno.c: Include getline.h, not ctype.h.
81470         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81471         Use getline to remove arbitrary restriction on response length.
81472
81473 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81474
81475         * config/srclist-update: Spell out "Street" in FSF postal
81476         mail address; this is the style the FSF seems to prefer.
81477
81478         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81479         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81480         this updates FSF postal mail address.
81481
81482         Sync from coreutils.
81483         * modules/unlinkdir: New file.
81484         * modules/yesno (Depends-on): Add getline.
81485         * MODULES.html.sh (File system functions): Add unlinkdir.
81486
81487 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81488
81489         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81490         lib/strsep.h:
81491         Change the initial comment to refer to GPL, not LGPL.
81492         gnulib-tool will change it to LGPL as needed.
81493
81494         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81495         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81496         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81497         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81498         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81499         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81500         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81501         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81502         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81503         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81504         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81505         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81506         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81507         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81508         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81509         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81510         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81511         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81512         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81513         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81514         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81515         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81516         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81517         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81518         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81519         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81520         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81521         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81522         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81523         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81524         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81525         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81526         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81527         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81528         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81529         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81530         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81531         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81532         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81533         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81534         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81535         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81536         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81537         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81538         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81539         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81540         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81541         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81542         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81543         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81544         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81545         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81546         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81547         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81548         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81549         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81550         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81551         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81552         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81553         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81554         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81555         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81556         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81557         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81558         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81559         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81560         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81561         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81562         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81563         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81564         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81565         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81566         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81567         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81568         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81569         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81570         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81571         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81572         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81573         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81574         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81575         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81576         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81577         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81578         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81579         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81580         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81581         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81582         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81583         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81584         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81585         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81586         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81587         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81588         lib/yesno.c, lib/yesno.h:
81589         Update FSF postal mail address.
81590
81591 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81594         tests/test-memmem.c, tests/test-stpncpy.c:
81595         Update FSF postal mail address.
81596
81597 2005-05-13  Bruno Haible  <bruno@clisp.org>
81598
81599         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81600         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81601         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81602         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81603         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81604         Add support for 64-bit integers in the MSVC compiler.
81605
81606 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81607
81608         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81609
81610 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81611
81612         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81613
81614 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81615
81616         * doc/getdate.texi (General date syntax): Don't say that date
81617         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81618         Problem reported by Nic Ferrier.
81619
81620 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81621
81622         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81623         specified in ai_socktype. Fix invalid ai_protocol
81624         check. ai_protocol is usually set to 0 or depending on
81625         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81626         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81627         ai_socktype / ai_protocol in the returned addrinfo structure.
81628
81629 2005-05-10  Simon Josefsson  <jas@extundo.com>
81630
81631         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81632         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81633
81634 2005-05-10  Karl Berry  <karl@gnu.org>
81635
81636         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81637         (from http://www.gnu.org/licenses).
81638         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81639         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81640         fdl.texi suffices.
81641
81642 2005-05-10  Karl Berry  <karl@gnu.org>
81643
81644         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81645         (COPYING.DOC): remove.
81646
81647         * config/srclist-update: new FSF address.
81648
81649 2005-05-10  Derek Price  <derek@ximbiot.com>
81650
81651         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81652         possible.
81653
81654 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81655             Bruno Haible  <bruno@clisp.org>
81656
81657         * modules/inet_ntop: New file.
81658         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81659         inet_ntop.
81660
81661 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81662             Bruno Haible  <bruno@clisp.org>
81663
81664         * m4/inet_ntop.m4: New file.
81665
81666 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81667             Bruno Haible  <bruno@clisp.org>
81668
81669         * lib/inet_ntop.h: New file.
81670         * lib/inet_ntop.c: New file, from glibc with modifications.
81671
81672 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81673
81674         * modules/time_r (License): Change to LGPL.
81675         * modules/extensions (License): Change to LGPL.  Actually,
81676         the license is more permissive than that, but currently gnulib-tool
81677         doesn't know how to handle more-permissive licenses.
81678
81679         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81680         Problem reported by Dave Love.
81681
81682 2005-05-08  Jim Meyering  <jim@meyering.net>
81683
81684         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81685         blank.
81686
81687 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         * modules/argmatch (Depends-on): Add stdbool.
81690         * modules/backupfile (Depends-on): Likewise.
81691         * modules/chdir-long (Depends-on): Likewise.
81692         * modules/closeout (Depends-on): Likewise.
81693         * modules/cycle-check (Depends-on): Likewise.
81694         * modules/dirname (Depends-on): Likewise.
81695         * modules/fnmatch (Depends-on): Likewise.
81696         * modules/fsusage (Depends-on): Likewise.
81697         * modules/fwriteerror (Depends-on): Likewise.
81698         * modules/getcwd (Depends-on): Likewise.
81699         * modules/getloadavg (Depends-on): Likewise.
81700         * modules/hard-locale (Depends-on): Likewise.
81701         * modules/makepath (Depends-on): Likewise.
81702         * modules/mountlist (Depends-on): Likewise.
81703         * modules/nanosleep (Depends-on): Likewise.
81704         * modules/posixtm (Depends-on): Likewise.
81705         * modules/quotearg (Depends-on): Likewise.
81706         * modules/readtokens (Depends-on): Likewise.
81707         * modules/readtokens0 (Depends-on): Likewise.
81708         * modules/readutmp (Depends-on): Likewise.
81709         * modules/save-cwd (Depends-on): Likewise.
81710         * modules/strftime (Depends-on): Likewise.
81711         * modules/userspec (Depends-on): Likewise.
81712         * modules/utimecmp (Depends-on): Likewise.
81713         * modules/xgetcwd (Depends-on): Likewise.
81714         * modules/xnanosleep (Depends-on): Likewise.
81715         * modules/xstrtod (Depends-on): Likewise.
81716         * modules/yesno (Depends-on): Likewise.
81717
81718 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81719
81720         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81721         needless checks.
81722
81723 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81724
81725         Merge from coreutils.  Among other things,
81726         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81727         * lib/fd-safer.c: New file.
81728         * lib/fcntl-safer.h, open-safer.c: Remove.
81729         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81730         * lib/dup-safer.c: Include unistd-safer.h first.
81731         Don't include errno.h.
81732         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81733         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81734         * lib/file-type.c: Rely on file-type.h change.
81735         * lib/getloadavg.c: Include unistd-safer.h.
81736         (getloadavg): Use safer open.
81737         * lib/getusershell.c: Include "stdio-safer.h".
81738         (getusershell): Use safer fopen.
81739         * lib/long-options.c (long_options): Use NULL rather than 0.
81740         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81741         'free'.
81742         * lib/modechange.c: Likewise.
81743         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81744         (MODE_DONE): New constant.
81745         (struct mode_change): Remove 'next' member.
81746         (make_node_op_equals): New function; like the old one of the
81747         same name, except it allocates an array.
81748         (mode_compile, mode_create_from_ref): Use it.
81749         (mode_compile): Allocate result as an array, not a linked list.
81750         Parse octal string ourself, so that we catch mistakes like "+0".
81751         (mode_adjust): Arg is an array, not a linked list.
81752         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81753         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81754         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81755         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81756         Remove.  This is now stat-macros.h's job.
81757         (talloc): Remove.  All callers replaced by xalloc, so that
81758         our invokers don't have to worry about reporting memory failures.
81759         (make_node_op_equals): Remove.
81760         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81761         New constants.
81762         (struct mode_change): Moved here from modechange.h.
81763         (mode_append_entry): Remove.
81764         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81765         apps to have incorrect behavior.  Use simpler algorithm for head
81766         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81767         Detect more invalid usages rather than having somewhat-random behavior.
81768         Don't insert an "a=" action, as that leads to incorrect behavior.
81769         (mode_compile, mode_create_from_ref): Return NULL on error instead
81770         of an enum, since now there's only one way to have an error.  All
81771         callers changed.
81772         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81773         at the correct time.  Simplify calculation of "+u" and its ilk.
81774         Don't mishandle "+X".
81775         (mode_free): Remove "register" and localize decls.
81776         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81777         (struct mode_change): Move to modechange.c; callers don't
81778         need to see this stuff.
81779         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81780         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81781         (mode_change, mode_adjust): Reflect the new signatures noted above.
81782         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81783         that might redefine system include files.
81784         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81785         (my_usleep): Use NULL rather than (void *) 0.
81786         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81787         Use siginterrupt to specify that system calls should be interrupted.
81788         (rpl_nanosleep): Move initialization of suspended closer to call of
81789         my_usleep.
81790         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81791         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81792         (desirable_utmp_entry): New function.
81793         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81794         using x2nrealloc, to simplify logic.
81795         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81796         size calculation.  Do not assume utmp file is a regular file.
81797         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81798         (READ_UTMP_CHECK_PIDS): New constant.
81799         * lib/save-cwd.c: Include unistd-safer.h.
81800         (save_cwd): Use fd_safer.
81801         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81802         [!_LIBC] Include "stat-macros.h" instead.
81803         * lib/unistd-safer.h (fd_safer): New decl.
81804
81805 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81806
81807         * modules/getloadavg (Depends-on): Add unistd-safer.
81808         * modules/getusershell (Depends-on): Add stdio-safer.
81809         * modules/lstat (Depends-on): Remove xalloc.
81810         * modules/mkstemp (Depends-on): Add stat-macros.
81811         * modules/modechange (Depends-on): Remove xstrtol.
81812         Add stat-macros, xalloc.
81813         * modules/save-cwd (Depends-on): Add unistd-safer.
81814         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81815         * modules/unistd-safer (Files): Add lib/fd-safer.c
81816         (Makefile.am): Remove lib_SOURCES.
81817
81818         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81819         Remove fcntl-safer; unistd-safer supersedes it.
81820
81821 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81822
81823         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81824         AC_HEADER_STAT.
81825         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81826         (gl_PREREQ_CHOWN): Remove.
81827         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81828         it.  Don't require AC_HEADER_STAT.
81829         (gl_PREREQ_LSTAT): Remove.
81830         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81831         Don't require AC_HEADER_STAT.
81832         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81833         (gl_PREREQ_RMDIR): Remove.
81834         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81835         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81836         the stat-macros module a prerequisite.
81837         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81838         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81839         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81840         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81841         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81842         variable names.
81843         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81844         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81845         variable prefixes.
81846         * m4/fcntl-safer.m4: Remove.
81847         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81848         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81849         Invoke gl_PREREQ_FD_SAFER.
81850         (gl_PREREQ_FD_SAFER): New macro.
81851         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81852         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81853         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81854         Remove duplicate call to AC_LIBOBJ(readutmp).
81855         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81856
81857         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81858         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81859
81860 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81861
81862         * MODULES.html.sh (Misc): Add byteswap.
81863
81864 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81865
81866         * modules/getcwd (Depends-on): Add extensions.
81867         * modules/openat (Depends-on): Likewise.
81868
81869 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81870
81871         * modules/byteswap: New file.
81872
81873 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81874
81875         * m4/byteswap.m4: New file.
81876
81877 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81878
81879         * lib/byteswap_.h: New file.
81880
81881 2005-04-25  Karl Berry  <karl@gnu.org>
81882
81883         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81884
81885 2005-04-25  Albert Chin  <china@thewrittenword.com>
81886
81887         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81888         Toolkit C bug.
81889
81890 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81891
81892         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81893         (func_ln_if_changed): Remove forcibly for no error message
81894         in case file does not exist.
81895
81896 2005-04-19  Simon Josefsson  <jas@extundo.com>
81897
81898         * gnulib-tool (Options): Make --symlink mean --symbolic.
81899
81900 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81901
81902         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81903
81904 2005-04-16  Simon Josefsson  <jas@extundo.com>
81905
81906         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81907
81908 2005-04-15  Simon Josefsson  <jas@extundo.com>
81909
81910         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81911
81912 2005-04-15  Simon Josefsson  <jas@extundo.com>
81913
81914         * gnulib-tool: Rename --symlink to --symbolic.
81915
81916 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81917
81918         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81919         symbolic links to files instead of copying/moving.  Add --aux-dir,
81920         specifying directory relative --dir where auxiliary build tools
81921         are placed.
81922
81923 2005-04-14  Bruno Haible  <bruno@clisp.org>
81924
81925         * modules/allocsa (License): Change to LGPL.
81926         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81927
81928 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81929
81930         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81931         that "UTC +1 second" continues to work.  Problem reported
81932         by Dmitry V. Levin.
81933         (relunit_snumber): New rule.
81934         (relunit): Use it.
81935
81936 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81937
81938         * lib/getdate.y (universal_time_zone_table): New constant.
81939         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81940         universal_time_zone_table.
81941         (lookup_zone): Prefer universal_time_zone_table to
81942         local_time_zone_table, so that "GMT" time stamps are allowed in
81943         London during the summer.  Problem reported by Ian Abbott.
81944
81945 2005-04-12  Jim Meyering  <jim@meyering.net>
81946
81947         * lib/human.c (humblock): Set *options even when returning due to
81948         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81949         warning from gcc-4.
81950
81951 2005-04-09  Jim Meyering  <jim@meyering.net>
81952
81953         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81954         -Wuninitialized: initialize tm0.tm_year.
81955
81956 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81957
81958         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81959         count, since there's no maximum.  All uses changed.
81960         Add member dsts_seen.
81961         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81962         not being INT_MAX.
81963         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81964         Use pc_rels_seen to decide whther a date is absolute.
81965
81966         * lib/getdate.y (number): Don't overwrite year.
81967         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81968         check.
81969
81970 2005-04-02  Simon Josefsson  <jas@extundo.com>
81971
81972         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81973         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81974
81975 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81976
81977         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81978         where no absolute path name can be longer than PATH_MAX.
81979
81980 2005-03-27  Jim Meyering  <jim@meyering.net>
81981
81982         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81983
81984 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81985
81986         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81987         "one's complement" -> "ones' complement" in comment, as per Knuth.
81988         "value of type" -> "type or expression" in comment.
81989         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81990
81991 2005-03-26  Jim Meyering  <jim@meyering.net>
81992
81993         Comment nits.
81994         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81995         Correct typos: s/or/of/.
81996
81997 2005-03-26  Jim Meyering  <jim@meyering.net>
81998
81999         * modules/check-include-files: Move to ../ and rename to...
82000         * check-module: ...this.
82001
82002 2005-03-25  Jim Meyering  <jim@meyering.net>
82003
82004         * modules/xvasprintf (Files): Add xalloc.h.
82005
82006 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82007
82008         * modules/gettext (Files): config/config.rpath ->
82009         build-aux/config.rpath
82010         * modules/iconv (Files): Likewise.
82011         Problem reported by Oskar Liljeblad.
82012
82013 2005-03-23  Jim Meyering  <jim@meyering.net>
82014
82015         * modules/check-include-files: New script to check for
82016         missing dependencies, multiple includes, etc.
82017
82018         * modules/c-strtold (Depends-on): Add xalloc.
82019         * modules/c-strtod (Depends-on): Add xalloc.
82020         * modules/hash (Depends-on): Add xalloc.
82021         (Files): Remove lib/xalloc.h.
82022
82023         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82024         * modules/userspec (Files): Add lib/inttostr.h.
82025
82026 2005-03-23  Jim Meyering  <jim@meyering.net>
82027
82028         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82029
82030 2005-03-22  Jim Meyering  <jim@meyering.net>
82031
82032         * modules/stat-macros: New module.
82033         * modules/canonicalize, modules/euidaccess, modules/file-type,
82034         * modules/filemode, modules/lchown, modules/makepath,
82035         * modules/rmdir, modules/stat: Depend on new stat-macros module
82036         rather than listing lib/stat-macros.h manually.
82037         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82038
82039 2005-03-22  Jim Meyering  <jim@meyering.net>
82040
82041         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82042
82043 2005-03-22  Bruno Haible  <bruno@clisp.org>
82044
82045         * config/srclist.txt: Replace target directory 'config' with
82046         'build-aux'.
82047         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82048         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82049         ../build-aux/.
82050
82051 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82052
82053         * modules/chdir-long (Depends-on): Add mempcpy.
82054
82055         * modules/acl, modules/backupfile, modules/c-strtod,
82056         modules/c-strtold, modules/canon-host, modules/canonicalize,
82057         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82058         modules/exclude, modules/exitfail, modules/file-type,
82059         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82060         modules/getdate, modules/getline, modules/getpagesize,
82061         modules/getpass, modules/getugroups, modules/group-member,
82062         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82063         modules/inttostr, modules/long-options, modules/makepath,
82064         modules/md5, modules/memcasecmp, modules/memcoll,
82065         modules/modechange, modules/mountlist, modules/path-concat,
82066         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82067         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82068         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82069         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82070         modules/strftime, modules/strndup, modules/strverscmp,
82071         modules/timespec, modules/unlocked-io, modules/userspec,
82072         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82073         modules/yesno:
82074         Remove lib_SOURCES line from Makefile.am section, as this is now
82075         done automatically by the corresponding Autoconf macro.
82076
82077 2005-03-21  Jim Meyering  <jim@meyering.net>
82078
82079         Changes imported from coreutils.
82080
82081         * lib/cycle-check.c: Don't include xalloc.h.
82082
82083         * lib/path-concat.c: Don't include assert.h.
82084         (path_concat): Remove assertion that would have triggered
82085         for ABASE starting with more than one slash.
82086         Reported by Andreas Schwab.
82087
82088         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82089         properly when ABASE is an absolute file name.
82090         Correct the description of this function.
82091         Include <assert.h>.
82092         Add an assertion and a test driver.
82093         This fixes a bug introduced on 2004-07-02.
82094         Andreas Schwab reported the resulting failure of cp --parents:
82095         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82096
82097 2005-03-21  Jim Meyering  <jim@meyering.net>
82098
82099         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82100         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82101
82102 2005-03-21  Jim Meyering  <jim@meyering.net>
82103         and  Paul Eggert  <eggert@cs.ucla.edu>
82104
82105         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82106         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82107         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82108         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82109         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82110         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82111         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82112         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82113         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82114         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82115         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82116         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82117         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82118         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82119         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82120         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82121         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82122         for these modules.
82123
82124 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82125
82126         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82127         (which shouldn't happen), generate nothing instead of returning 0
82128         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82129
82130 2005-03-16  Bruno Haible  <bruno@clisp.org>
82131
82132         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82133         HAVE_LONGLONG_64BIT.
82134
82135 2005-03-16  Bruno Haible  <bruno@clisp.org>
82136
82137         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82138         HAVE_LONGLONG_64BIT.
82139
82140 2005-03-16  Bruno Haible  <bruno@clisp.org>
82141
82142         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82143         HAVE_LONGLONG_64BIT.
82144
82145 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82146
82147         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82148         reliably distinguish strftime failure from empty output on POSIX
82149         hosts.
82150
82151 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82152
82153         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82154         (iconv_string): Don't guess a size-zero buffer, as that might cause
82155         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82156         result would be 'too large', where 'too large' is (heuristically)
82157         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82158         overflow concerns.  This will prevent some unwanted malloc failures
82159         when the inputs are very large.
82160
82161 2005-03-15  Karl Berry  <karl@gnu.org>
82162
82163         * config/srclist.txt (config.rpath): from gettext.
82164         * config/config.rpath: update.
82165
82166 2005-03-15  Bruno Haible  <bruno@clisp.org>
82167
82168         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82169         to 'negate'.
82170
82171         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82172         variable.
82173
82174         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82175         results.
82176
82177 2005-03-14  Simon Josefsson  <jas@extundo.com>
82178
82179         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82180         <fx@gnu.org>.
82181
82182 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82183
82184         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82185         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82186         intprops.h.
82187         * lib/strtol.c: Likewise.
82188
82189 2005-03-14  Jim Meyering  <jim@meyering.net>
82190
82191         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82192         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82193         to be nonzero so that we (and caller) can detect the difference
82194         between a valid zero-length expansion and an error return, even
82195         when the underlying strftime fails before writing anything into
82196         that location.
82197
82198 2005-03-14  Bruno Haible  <bruno@clisp.org>
82199
82200         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82201         Update from GNU gettext 0.14.3.
82202
82203 2005-03-10  Jim Meyering  <jim@meyering.net>
82204
82205         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82206
82207 2005-03-10  Jim Meyering  <jim@meyering.net>
82208
82209         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82210         so that this module works on systems without fchdir.
82211
82212 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82213
82214         Factor int-properties macros into a single file, except for
82215         glibc-related files.
82216         * lib/intprops.h: New file.
82217         * lib/getloadavg.c: Include it instead of limits.h.
82218         (INT_STRLEN_BOUND): Remove.
82219         * lib/human.c: Include intprops.h.
82220         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82221         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82222         302/1000.
82223         * lib/inttostr.h: Include intprops.h instead of limits.h.
82224         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82225         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82226         for consistency with intprops.h.
82227         (time_t_is_integer, twos_complement_arithmetic): Use them.
82228         * lib/sig2str.h: Include <signal.h>, intprops.h.
82229         (INT_STRLEN_BOUND): Remove.
82230         * lib/strftime.c (TYPE_SIGNED): Remove.
82231         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82232         * lib/strtol.c: Adjust comments to match intprops.h.
82233         * lib/userspec.c: Include intprops.h.
82234         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82235         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82236         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82237         instead of rolling our own expressions.
82238         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82239
82240         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82241         instead of int.
82242         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82243         the right thing even if adding 1900 would overflow.  Similarly
82244         for tm_mon + 1 and tm_yday + 1.
82245         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82246         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82247         (DO_SIGNED_NUMBER): New macro.
82248         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82249
82250 2005-03-07  Bruno Haible  <bruno@clisp.org>
82251
82252         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82253
82254 2005-03-07  Bruno Haible  <bruno@clisp.org>
82255
82256         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82257
82258 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82259
82260         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82261         (func_import): Only replace files via --import when they have actually
82262         changed.
82263
82264 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82265
82266         * m4/mmap-anon.m4: New file.
82267         * m4/pagealign_alloc.m4: New file.
82268
82269 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82270             Bruno Haible  <bruno@clisp.org>
82271
82272         * modules/pagealign_alloc: New file.
82273         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82274
82275 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82276             Bruno Haible  <bruno@clisp.org>
82277
82278         * lib/pagealign_alloc.h: New file.
82279         * lib/pagealign_alloc.c: New file.
82280
82281 2005-03-03  Bruno Haible  <bruno@clisp.org>
82282
82283         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82284         Use an all-permissive copyright notice, recommended by RMS.
82285
82286 2005-03-02  Bruno Haible  <bruno@clisp.org>
82287
82288         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82289         of AIX, the replacement has to be done only after <string.h> is
82290         included, therefore not in config.h. stpncpy.h does the replacement,
82291         and stpncpy.c uses it.
82292
82293 2005-03-02  Bruno Haible  <bruno@clisp.org>
82294
82295         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82296         stpncpy.c uses it.
82297
82298 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82301         The workaround isn't strictly needed for POSIX conformance, and
82302         it's too much of a pain to configure and maintain.  We'll ask
82303         people to fix their kernels instead.
82304         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82305         (NANOSLEEP_BUG_WORKAROUND): Remove.
82306         (xnanosleep): Remove the workaround.
82307
82308 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82311         Reported by Derek Price.
82312         (Include): Add "timespec.h".
82313
82314         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82315
82316 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82317
82318         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82319         to detect nanosleep bug.
82320
82321 2005-03-01  Bruno Haible  <bruno@clisp.org>
82322
82323         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82324
82325 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82326
82327         * modules/gethrxtime: New file.
82328         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82329         (Depends-on): Add gethrxtime.
82330         (configure.ac): Add gl_XNANOSLEEP.
82331         (Makefile.am): Remove lib_SOURCES line.
82332
82333 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82334
82335         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82336         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82337
82338 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82341         * lib/timespec.h (gettime): Return void, since it always
82342         succeeds now.  All uses changed.
82343         * lib/gettime.c (gettime): Likewise.
82344         [HAVE_NANOTIME]: Prefer nanotime.
82345         Assume gettimeofday succeeds, as POSIX requires.
82346         Assime time () succeeds, since other code already does.
82347         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82348         (timespec_subtract): Remove.
82349         (NANOSLEEP_BUG_WORKAROUND): New constant.
82350         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82351         things considerably.  Use it only on GNU/Linux hosts, since the
82352         workaround shouldn't be needed elsewhere.
82353
82354 2005-02-24  Bruno Haible  <bruno@clisp.org>
82355
82356         * modules/gettext (Files): Add m4/glibc2.m4.
82357
82358 2005-02-24  Bruno Haible  <bruno@clisp.org>
82359
82360         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82361         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82362         * m4/progtest.m4:
82363         Update from GNU gettext 0.14.2.
82364         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82365
82366 2005-02-24  Bruno Haible  <bruno@clisp.org>
82367
82368         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82369         * lib/config.charset: Update from GNU gettext 0.14.2.
82370
82371 2005-02-24  Bruno Haible  <bruno@clisp.org>
82372
82373         * lib/gettext.h: Update from GNU gettext 0.14.2.
82374
82375 2005-02-23  Simon Josefsson  <jas@extundo.com>
82376
82377         * m4/iconvme.m4: New file.
82378
82379 2005-02-23  Jim Meyering  <jim@meyering.net>
82380
82381         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82382         change.
82383         Thanks to Bruno Haible for catching it.
82384
82385 2005-02-22  Simon Josefsson  <jas@extundo.com>
82386
82387         * modules/iconvme: New file.
82388
82389         * MODULES.html.sh: Add iconvme.
82390
82391 2005-02-22  Simon Josefsson  <jas@extundo.com>
82392
82393         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82394
82395 2005-02-22  Simon Josefsson  <jas@extundo.com>
82396
82397         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82398
82399 2005-02-22  Jim Meyering  <jim@meyering.net>
82400
82401         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82402         s/ifndef/ifdef/.
82403
82404 2005-02-20  Neil Conway  <neilc@samurai.com>
82405
82406         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82407         returned by OSX/Darwin if the specified buffer is not large
82408         enough for the hostname.
82409
82410 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82411
82412         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82413         pass it to _help, otherwise the latter coredumps trying to
82414         dereference state.root_argp.
82415
82416 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82417
82418         * modules/chdir-long (Depends-on): Add memrchr.
82419         * modules/memrchr (Files): Add lib/memrchr.h.
82420         (Include): "memrchr.h".
82421
82422 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82423
82424         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82425
82426 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         * lib/memrchr.h: New file.
82429         * lib/chdir-long.c: Include it.
82430         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82431         Don't bother including stddef.h.
82432
82433 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82434
82435         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82436         inclusion.
82437         Include <sys/types.h>, for dev_t.
82438         (ME_DUMMY, ME_REMOTE): Move from here....
82439         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82440         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82441         Dmitry V. Levin.
82442         Include mountlist.h first, to test the interface.
82443
82444 2005-01-29  Bruno Haible  <bruno@clisp.org>
82445
82446         * lib/progname.c (program_name): Initialize.
82447         Needed when linking statically on MacOS X.
82448
82449 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82450
82451         Sync from coreutils.
82452         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82453         (Depends-on): Add c-strtod.
82454         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82455
82456 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82457
82458         Sync from coreutils.
82459         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82460
82461         Remove files that are specific to coreutils.
82462         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82463
82464 2005-01-28  Bruno Haible  <bruno@clisp.org>
82465
82466         * modules/javacomp: New file.
82467         * MODULES.html.sh (Java): Add javacomp.
82468
82469 2005-01-28  Bruno Haible  <bruno@clisp.org>
82470
82471         * m4/javacomp.m4: New file, from GNU gettext.
82472
82473 2005-01-28  Bruno Haible  <bruno@clisp.org>
82474
82475         * lib/javacomp.sh.in: New file, from GNU gettext.
82476         * lib/javacomp.h: New file, from GNU gettext.
82477         * lib/javacomp.c: New file, from GNU gettext.
82478
82479 2005-01-26  Simon Josefsson  <jas@extundo.com>
82480
82481         * lib/gai_strerror.c: Use GPL in header.
82482
82483 2005-01-26  Bruno Haible  <bruno@clisp.org>
82484
82485         * modules/javaexec: New file.
82486         * MODULES.html.sh (Java): Add javaexec.
82487
82488 2005-01-26  Bruno Haible  <bruno@clisp.org>
82489
82490         * m4/javaexec.m4: New file, from GNU gettext.
82491
82492 2005-01-26  Bruno Haible  <bruno@clisp.org>
82493
82494         * lib/javaexec.sh.in: New file, from GNU gettext.
82495         * lib/javaexec.h: New file, from GNU gettext.
82496         * lib/javaexec.c: New file, from GNU gettext.
82497
82498 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82499
82500         * modules/lchown (Depends-on): Remove lchown.h
82501
82502 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82503
82504         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82505         must be defined if the header file was not found, in order
82506         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82507
82508 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82509
82510         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82511         initializers for struct pentry_state.
82512         (__argp_error): Check return value of __asprintf
82513         (__argp_failure): Translate error message
82514
82515         * lib/argp-parse.c: Removed braces around the expansion of N_()
82516
82517 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82518
82519         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82520         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82521         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82522         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82523         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82524         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82525         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82526         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82527         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82528         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82529         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82530         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82531         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82532         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82533         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82534         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82535         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82536         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82537         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82538         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82539         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82540         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82541         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82542         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82543         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82544         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82545         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82546         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82547         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82548         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82549         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82550         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82551         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82552         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82553         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82554         Use an all-permissive copyright notice, recommended by RMS.
82555
82556 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82557
82558         * modules/chdir-long (Depends-on): Remove mempcpy.
82559
82560 2005-01-21  Jim Meyering  <jim@meyering.net>
82561
82562         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82563         same value as for Solaris 9.
82564
82565         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82566         component length.  This included changing the parameter to be
82567         of type `char *' rather than `char const *'.
82568         * lib/chdir-long.h (chdir_long): Update prototype.
82569
82570         * lib/openat.c (fdopendir, fstatat): New functions.
82571         * lib/openat.h: Include headers required for use of DIR and struct
82572         stat.
82573         [AT_SYMLINK_NOFOLLOW]: Define.
82574         (fdopendir, fstatat): Add prototypes.
82575
82576 2005-01-21  Bruno Haible  <bruno@clisp.org>
82577
82578         * modules/classpath: New file.
82579         * MODULES.html.sh (Java): Add classpath.
82580
82581 2005-01-21  Bruno Haible  <bruno@clisp.org>
82582
82583         * lib/classpath.h: New file, from GNU gettext.
82584         * lib/classpath.c: New file, from GNU gettext.
82585
82586 2005-01-20  Simon Josefsson  <jas@extundo.com>
82587
82588         * modules/version-etc-fsf: New file.
82589
82590 2005-01-20  Simon Josefsson  <jas@extundo.com>
82591
82592         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82593         * lib/version-etc.c: Remove version_etc_copyright.
82594         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82595         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82596
82597 2005-01-20  Simon Josefsson  <jas@extundo.com>
82598
82599         * lib/base64.h (isbase64): Add.
82600
82601         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82602         using a unsigned prototype, don't inline.
82603         (base64_decode): Use it.
82604
82605 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82606
82607         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82608         it.
82609
82610 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82611
82612         * lib/save-cwd.c (save_cwd): Remove code to support the case
82613         where fchdir is missing or flaky.
82614
82615 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82616
82617         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82618
82619 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82620
82621         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82622         AC_LIBSOURCES now does this.
82623         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82624         with new ullong_max module.
82625
82626 2005-01-19  Bruno Haible  <bruno@clisp.org>
82627
82628         * modules/sh-quote: New file.
82629         * MODULES.html.sh (Executing programs): Add sh-quote.
82630
82631 2005-01-19  Bruno Haible  <bruno@clisp.org>
82632
82633         * lib/sh-quote.h: New file, from GNU gettext.
82634         * lib/sh-quote.c: New file, from GNU gettext.
82635
82636 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         Merge from coreutils.
82639         * m4/ullong_max.m4: New file.
82640         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82641         (gl_MACROS): Assume localeconv exists.
82642
82643 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         Merge changes from coreutils, as described below in several
82646         changelogs dated today.
82647
82648         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82649         (O_DIRECTORY): Remove; not needed here, since "." must be
82650         a directory.  All uses removed.
82651         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82652         universal on Suns, and we also need to test for IRIX.
82653         Revamp code to use 'if' rather than '#if'.
82654         Avoid unnecessary comparison of cwd->desc to 0.
82655
82656         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82657         for known valid error numbers rather than observed invalid ones.
82658
82659 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82660
82661         * modules/ullong_max: New file.
82662
82663         * modules/chdir-long, modules/openat: New files.
82664         * modules/save-cwd (Depends-on): Depend on chdir-long.
82665         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82666
82667 2005-01-18  Jim Meyering  <jim@meyering.net>
82668
82669         Merge from coreutils.
82670         * m4/chdir-long.m4, m4/openat.m4: New files.
82671         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82672         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82673         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82674         is sane and DOES follow symlinks.  Besides, testing 20 different
82675         systems found no broken chown implementations.
82676         Prompted by a change in rsync's copy of this macro.
82677         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82678
82679         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82680
82681         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82682         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82683         NULL-means-set-to-current-time semantics.
82684         Remove temporary file immediately, rather than waiting
82685         for configure's at-exit trap code to do it.
82686
82687 2005-01-18  Jim Meyering  <jim@meyering.net>
82688
82689         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82690
82691         * lib/utimens.c (futimens): Account for the fact that futimes
82692         can also fail with errno == ENOSYS or errno == ENOENT.
82693         Patch from Dmitry V. Levin.
82694
82695         Change the name of the robust chdir function from chdir to chdir_long.
82696         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82697         (restore_cwd): Use chdir_long, not chdir.
82698         * lib/chdir-long.c: Renamed from chdir.c.
82699         * lib/chdir-long.h: Renamed from chdir.h.
82700         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82701         Hurd.
82702
82703 2005-01-18  Bruno Haible  <bruno@clisp.org>
82704
82705         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82706         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82707         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82708         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82709         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82710         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82711         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82712         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82713         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82714         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82715         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82716         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82717         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82718         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82719         Use an all-permissive copyright notice, recommended by RMS.
82720
82721 2005-01-18  Bob Proulx  <bob@proulx.com>
82722
82723         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82724         simplify offsetof() macro construct to avoid compile failure with
82725         native HP-UX 11.0 ANSI C compiler.
82726
82727 2005-01-17  Bruno Haible  <bruno@clisp.org>
82728
82729         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82730         redundant because stpncpy.m4 takes care of it.
82731
82732 2005-01-17  Bruno Haible  <bruno@clisp.org>
82733
82734         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82735
82736 2005-01-17  Bruno Haible  <bruno@clisp.org>
82737
82738         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82739         used.
82740
82741 2005-01-17  Bruno Haible  <bruno@clisp.org>
82742
82743         * lib/fwriteerror.h (fwriteerror): Change specification to include
82744         fclose.
82745         * lib/fwriteerror.c: Include <stdbool.h>.
82746         (fwriteerror): At the end, close the file stream. Record whether
82747         stdout was already closed.
82748
82749 2005-01-17  Bruno Haible  <bruno@clisp.org>
82750
82751         * lib/execute.c (environ): Declare if needed.
82752         * lib/pipe.c (environ): Likewise.
82753         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82754
82755 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82756
82757         * modules/argp: Depend on vsnprintf
82758
82759 2005-01-10  Jim Meyering  <jim@meyering.net>
82760
82761         * modules/closeout (Depends-on): Add atexit.
82762
82763 2005-01-06  Bruno Haible  <bruno@clisp.org>
82764
82765         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82766
82767 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82768
82769         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82770         definitions to be after all include files, to avoid collisions.
82771         Problem reported by Bob Proulx.
82772
82773 2005-01-04  Jim Meyering  <jim@meyering.net>
82774
82775         Changes imported from coreutils.
82776         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82777         as the mkstemp template, use a temporary directory and an
82778         8.3-friendly template to avoid trouble on systems like DJGPP.
82779         Reported by Juan M. Guerrero via Stepan Kasal.
82780         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82781         close. Remove the temporary directory right away, rather than waiting
82782         for configure's at-exit trap code to do it.
82783         Suggestion from Stepan Kasal.
82784
82785 2005-01-01  Simon Josefsson  <jas@extundo.com>
82786
82787         * gnulib-tool: Print #include directives when --import'ing.
82788
82789 2004-12-28  Simon Josefsson  <jas@extundo.com>
82790
82791         * tests/test-base64.c: Include required header files.  Remove
82792         unused variables.
82793
82794 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82795
82796         * modules/error (Depends-on): Remove gettext.
82797
82798 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82801         not needed.  This removes a dependency on the gettext module.
82802         [defined _LIBC]: Do not include <libintl.h>; not needed.
82803
82804 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82807         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82808
82809 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82810
82811         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82812         HAVE_DECL_STRTOLD.
82813
82814 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82815
82816         * modules/getdate (Depends-on): Remove alloca-opt.
82817
82818 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82819
82820         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82821
82822 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82823
82824         * lib/argp-parse.c: Include <stddef.h>.
82825         (alignof, alignto): New macros.
82826         (parser_init): Don't assume that void * is aligned sufficiently
82827         for struct option.
82828
82829         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82830         need to extend the stack.
82831         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82832         large.
82833
82834 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82835
82836         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82837
82838 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82839
82840         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82841         (2004-10-24) change.  Apparently this was a false alarm.
82842
82843         * modules/getdate: Depend on alloca-opt, not alloca.
82844
82845 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82846
82847         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82848         Remove now-obsolete comment about AIX.
82849         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82850         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82851         (YYMAXDEPTH): New macro.
82852
82853 2004-12-18  Simon Josefsson  <jas@extundo.com>
82854
82855         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82856
82857 2004-12-18  Bruno Haible  <bruno@clisp.org>
82858
82859         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82860
82861 2004-12-18  Bruno Haible  <bruno@clisp.org>
82862
82863         * lib/fatal-signal.c (fatal_signals): Make non-const.
82864         (init_fatal_signals): New function.
82865         (uninstall_handlers, install_handlers): Ignore signals that were set to
82866         SIG_IGN.
82867         (at_fatal_signal): Call init_fatal_signals.
82868         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82869         SIG_IGN.
82870         Reported by Paul Eggert.
82871
82872 2004-12-18  Bruno Haible  <bruno@clisp.org>
82873
82874         * doc/alloca.texi: New file.
82875         * doc/alloca-opt.texi: New file.
82876
82877 2004-12-17  Jim Meyering  <jim@meyering.net>
82878
82879         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82880         Otherwise, install-sh could exit with improper exit status when
82881         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82882
82883 2004-12-16  Simon Josefsson  <jas@extundo.com>
82884
82885         * tests/test-base64.c: Add license.
82886
82887 2004-12-15  Stepan Kasal  <address@hidden>
82888
82889         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82890
82891 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82892
82893         * modules/getcwd (Files): Add m4/d-ino.m4.
82894         Suggested by Mark D. Baushke.
82895
82896 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82897
82898         * lib/getdate.y (textint): New member "negative".
82899         (time_zone_hhmm): New function.
82900         Expect 14 shift-reduce conflicts, not 13.
82901         (o_colon_minutes): New rule.
82902         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82903         (yylex): Set the "negative" member of signed numbers.
82904
82905 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82906
82907         * doc/getdate.texi (Time of day items, Time zone items):
82908         Describe new formats +00:00, UTC+00:00.
82909
82910 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82913         spurious "-l"s.  Problem reported by Stepan Kasal.
82914
82915 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82916
82917         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82918         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82919
82920 2004-12-04  Simon Josefsson  <jas@extundo.com>
82921
82922         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82923         Vandoorselaere <yoann@prelude-ids.org>.
82924
82925 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82926
82927         Changes imported from coreutils.
82928         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82929         exist.
82930         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82931
82932 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82933
82934         Changes imported from coreutils.
82935         * lib/hard-locale.c: Assume <locale.h> exists.
82936         Include "strdup.h".
82937         (GLIBC_VERSION): New macro.
82938         (hard_locale): Assume setlocale exists.
82939         Rewrite to avoid #ifdef.
82940         Use strdup rather than malloc + strcpy.
82941         * lib/human.c: Assume <locale.h> exists.
82942         (human_readable): Assume localeconv exists.
82943
82944 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82945
82946         * modules/hard-locale (Depends-on): Add strdup.
82947
82948 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82949
82950         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82951         convert T2, not T.  (Imported from libc.)
82952
82953 2004-11-30  Simon Josefsson  <jas@extundo.com>
82954
82955         * modules/restrict (License): Change to LGPL.
82956
82957 2004-11-30  Simon Josefsson  <jas@extundo.com>
82958
82959         * m4/restrict.m4: Add copyright and copying conditions.
82960
82961 2004-11-30  Simon Josefsson  <jas@extundo.com>
82962
82963         * m4/base64.m4: New file.
82964
82965 2004-11-30  Simon Josefsson  <jas@extundo.com>
82966
82967         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82968         base64.
82969
82970         * tests/test-base64.c: New file.
82971
82972         * modules/base64: New file.
82973
82974 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82975
82976         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82977         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82978
82979         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82980
82981 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82982
82983         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82984         (__getcwd.c): Don't restore errno; glibc doesn't.
82985         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82986         first, falling back to our code only if its results look suspicious.
82987         Ensure that the resulting buffer is only as large as necessary.
82988
82989         * lib/readutmp.c: Include readutmp.h first.
82990         Include <errno.h>, since readutmp.h no longer does that.
82991         * lib/readutmp.h: Don't include <errno.h>,
82992         <sys/param.h>, <time.h>; not needed to establish interface.
82993         (errno): Remove decl.
82994         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82995         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82996         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82997
82998 2004-11-28  Simon Josefsson  <jas@extundo.com>
82999
83000         * lib/base64.h, base64.c: New file.
83001
83002 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83003
83004         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83005
83006 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83009         (Depends-on): Remove pathmax, same.  Add mempcpy.
83010         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83011         (Makefile.am): Append getcwd.h to lib_SOURCES.
83012         (Include): Add getcwd.h.
83013         (Maintainer): Change from Jim Meyering to "all, glibc",
83014         since getdate now uses intended-for-glibc code.
83015         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83016         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83017
83018 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83019
83020         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83021         HP's ANSI C compiler.
83022         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83023         Declaring int functions causes warnings on some modern systems and
83024         shouldn't be needed to compile on ancient ones.
83025         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83026         defined.
83027
83028         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83029         with the following changes.
83030         (__set_errno): Parenthesize properly.
83031         Include <stdbool.h>.
83032         (MIN, MAX, MATCHING_INO): New macros.
83033         (__getcwd): Define with prototype, not K&R form.
83034         Use heuristics to allocate default buffer on stack if possible.
83035         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83036         behavior, and to avoid the PATH_MAX limit when computing
83037         ../../../../...
83038         Use MATCHING_INO to compare inode number to file.
83039         Check for arithmetic overflow in size calculations.
83040         Fix bug in reallocation of dot array that caused getcwd to fail
83041         on directories nested deeper than 75.
83042         Be more careful about saving errno on error.
83043         Do not use realloc; use only free+malloc, as this is a bit
83044         more flexible and avoids a needless copy operation.
83045         Do not inspect st_dev and st_ino for symbolic links; POSIX
83046         doesn't specify the latter.
83047         Check for closedir errors.
83048         Avoid needless casts.
83049         Use "#ifdef weak_alias" around weak_alias, to be like other
83050         glibc code.
83051         The following changes to getcwd.c have effect only when used in
83052         gnulib; they have no effect inside glibc proper.
83053         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83054         as alloca isn't used.
83055         (alloca, __alloca): Likewise.
83056         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83057         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83058         unconditionally, as gnulib assumes C89 or better.
83059         Do not include <sys/param.h>.
83060         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83061         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83062         better.
83063         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83064         Include <dirent.h> in a way that is compatible with modern Autoconf.
83065         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83066         New macros, if not already defined.
83067         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83068         Use "_LIBC", not "defined _LIBC", for consistency.
83069         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83070         a mempcpy module.
83071         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83072         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83073         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83074         credit only to Jim Meyering and adjust the copyright dates.
83075         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83076         <stdlib.h>, <unistd.h>, "pathmax.h".
83077         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83078         (INITIAL_BUFFER_SIZE): Remove.
83079         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83080
83081 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83082
83083         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83084         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83085         Use the _ONCE methods, for efficiency.
83086         Check for fcntl.h.  In test program, include <errno.h>
83087         and <fcntl.h> if available.  Remove old K&R cruft from
83088         test program.  Check for common errors in GNU/Linux,
83089         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83090         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83091         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83092         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83093         name accordingly.
83094         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83095         accommodate new getcwd.c.
83096         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83097         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83098         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83099         that's all we need now.
83100
83101 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83102
83103         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83104         argp-parse.c depends on getopt internals, that means we should
83105         always use our getopt, to be on the safe side.
83106         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83107         order not to spoil the result of an eventual previous invocation
83108         of gl_GETOPT_SUBSTITUTE.
83109
83110 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83111
83112         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83113         redefinition warnings. To avoid them, include the defines
83114         in `#if !defined __need_getopt ... #endif'. The only place
83115         where __getopt_argv_const is used is in definitions
83116         of getopt_long and getopt_long_only below, which are as well
83117         protected by `#ifndef __need_getopt'.
83118         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83119         __need_getopt after including <stdio.h> and <unistd.h> These
83120         headers might have defined it.
83121
83122 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83123
83124         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83125
83126 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83127
83128         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83129         (futimens): New function, which uses futimes if available.
83130         (futimens, utimens): Support timespec==NULL, with same semantics
83131         as utime and utimens.
83132         * lib/utimens.h (futimens): New decl.
83133
83134 2004-11-23  Jim Meyering  <jim@meyering.net>
83135
83136         * lib/getopt_.h: Remove trailing blanks.
83137
83138 2004-11-23  Jim Meyering  <jim@meyering.net>
83139
83140         * lib/__fpending.c: Add comment.
83141
83142 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83143
83144         * modules/canonicalize (Depends-on): Add xreadlink.
83145         Problem reported by James Youngman.
83146
83147 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83148
83149         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83150         New macros.
83151         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83152         optopt): Use them instead of invoking ## directly; otherwise, the
83153         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83154
83155 2004-11-19  Bruno Haible  <bruno@clisp.org>
83156
83157         * lib/strtok_r.c: Move comments from here...
83158         * lib/strtok_r.h: ... to here.
83159
83160 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83161
83162         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83163         implementations that mishandle size_t overflow.
83164
83165 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83166
83167         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83168         might fail.  Problem reported by Yoann Vandoorselaere.
83169         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83170         implementations that mishandle size_t overflow.
83171
83172 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83173
83174         * modules/canon-host (Depends-on): Add strdup.
83175
83176 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83177
83178         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83179
83180 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83181
83182         * lib/canon-host.c: Include "strdup.h".
83183         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83184         Use strdup instead of malloc/strcpy to duplicate strings.
83185
83186         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83187         (human_space_before_unit): New constant.
83188         * lib/human.c (human_readable): Support it.
83189
83190         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83191         (xgetcwd): Set errno correctly when failing.
83192         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83193         the failure is actually due to a PATH_MAX problem.
83194
83195         Further getopt changes to make it more likely that glibc will
83196         buy the changes back.
83197         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83198         (getopt): Use it, so to preserve glibc semantic
83199         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83200         when compiling for libc.
83201         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83202         (getopt_long, getopt_long_only): Use it.
83203
83204         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83205         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83206         (getopt): Argv is now char * const *, as per standard.
83207         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83208         not char *__getopt_argv_const *.
83209         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83210         _getopt_long_only_r): Likewise.
83211         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83212         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83213         _getopt_long_r, _getopt_long_only_r): Likewise.
83214         * lib/getopt_.h (__getopt_argv_const): Remove.
83215         (getopt): Argv is now char * const *, as per standard.
83216
83217         * lib/getdate.y (tORDINAL): New token.
83218         (day, relunit): Allow it for relative times.
83219         (relative_time_table): Use tORDINAL for ordinals.
83220
83221 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83222
83223         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83224         Document that "second" isn't allowed as an ordinal number.
83225
83226 2004-11-16  Jim Meyering  <jim@meyering.net>
83227
83228         * modules/closeout (Depends-on): Add fpending.
83229
83230 2004-11-15  Jim Meyering  <jim@meyering.net>
83231
83232         * lib/closeout.c: Include "__fpending.h" once again.
83233         Include <stdbool.h>.
83234         (close_stdout): Don't fail just because stdout was closed initially,
83235         since some programs don't write to stdout in the normal course of
83236         operation (other than --version and --help), and we don't want this
83237         function to make e.g. `touch file >&-' fail.
83238         But do fail if it was closed and someone has tried to write to it.
83239         E.g., `printf foo >&-' must fail.
83240
83241 2004-11-13  Jim Meyering  <jim@meyering.net>
83242
83243         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83244
83245 2004-11-12  Simon Josefsson  <jas@extundo.com>
83246
83247         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83248         small doc fix is still pending.
83249
83250 2004-11-11  Simon Josefsson  <jas@extundo.com>
83251
83252         * modules/strtok_r: New file.
83253
83254         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83255         strtok_r.
83256
83257 2004-11-11  Simon Josefsson  <jas@extundo.com>
83258
83259         * m4/strtok_r.m4: New file.
83260
83261         * m4/getopt.m4: Replace opterr.
83262
83263 2004-11-11  Simon Josefsson  <jas@extundo.com>
83264
83265         * lib/strtok_r.h, strtok_r.c: New file.
83266
83267 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83270         of replacing opterr, getopt, etc.  This should handle the
83271         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83272
83273 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83274
83275         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83276         we can stop lying to compilers about the constness of argv when we
83277         are compiled outside glibc.
83278         (getopt, getopt_long, getopt_long_only): Use it.
83279         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83280         _getopt_internal, getopt): Likewise.
83281         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83282         _getopt_long_only_r): Likewise.
83283         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83284         _getopt_long_r, _getopt_long_only_r): Likewise.
83285
83286         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83287         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83288         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83289         the other external symbols.
83290         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83291         declaration, since the above renaming now works around collisions.
83292
83293 2004-11-11  Jim Meyering  <jim@meyering.net>
83294
83295         * lib/linebreak.c: Remove trailing blanks.
83296         * lib/alloca_.h: Likewise.
83297         * lib/acosl.c: Likewise.
83298         * lib/euidaccess.c: Likewise.
83299         * lib/allocsa.h: Likewise.
83300
83301 2004-11-10  Simon Josefsson  <jas@extundo.com>
83302
83303         * m4/getaddrinfo.m4: New file.
83304
83305 2004-11-10  Simon Josefsson  <jas@extundo.com>
83306
83307         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83308
83309 2004-11-10  Simon Josefsson  <jas@extundo.com>
83310
83311         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83312         getaddrinfo.
83313
83314         * modules/getaddrinfo: New file.
83315
83316 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83319
83320 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83321
83322         * lib/mktime.c (SHR): New macro, which is a portable
83323         substitute for >> that should work even on Crays.
83324         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83325         Problem reported by Mark D. Baushke in
83326         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83327         * lib/getdate.y (SHR): Likewise.
83328         (tm_diff): Use it.
83329         * lib/strftime.c (SHR): Likewise.
83330         (tm_diff): Use it.
83331         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83332         quote_these_too, so that right shifts are well defined.  All uses
83333         changed.
83334
83335 2004-11-10  Jim Meyering  <jim@meyering.net>
83336
83337         Ensure that no close failure goes unreported.
83338         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83339         return early when it seems there's nothing to flush.
83340         Don't include __fpending.h.
83341
83342 2004-11-10  Jim Meyering  <jim@meyering.net>
83343
83344         * modules/closeout (Depends-on): Remove fpending.
83345
83346 2004-11-10  Jim Meyering  <jim@meyering.net>
83347
83348         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83349
83350 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83351
83352         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83353         gl_FUNC_STRFTIME.
83354         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83355         and AC_REQUIRE when possible, to avoid duplicate checks.
83356         Check for <wchar.h>.
83357
83358 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83359
83360         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83361
83362 2004-11-09  Bruno Haible  <bruno@clisp.org>
83363
83364         * m4/sockpfaf.m4: New file.
83365
83366 2004-11-05  Bruno Haible  <bruno@clisp.org>
83367
83368         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83369         Reported by Mark D. Baushke <mdb@cvshome.org>.
83370
83371 2004-11-04  Bruno Haible  <bruno@clisp.org>
83372
83373         2004-09-11  Bruno Haible  <bruno@clisp.org>
83374                 * allocsa.valgrind: New file.
83375         2004-02-06  Bruno Haible  <bruno@clisp.org>
83376                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83377                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83378                 Reported by Christopher Seip <chris.seip@hp.com>.
83379
83380 2004-11-04  Bruno Haible  <bruno@clisp.org>
83381
83382         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83383         (Makefile.am): Distribute it.
83384
83385 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83388         with errno == ERANGE if the buffer is too small.
83389         Problem reported by Mark D. Baushke.
83390
83391 2004-11-03  Albert Chin  <china@thewrittenword.com>
83392             Paul Eggert  <eggert@cs.ucla.edu>
83393
83394         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83395         equivalent, substitute $ac_type for equivalent type rather than
83396         blindly using uint32_t *always* which won't work if uint32_t is not
83397         available.  Define _UINT32_T to work around typedef of uint32_t if
83398         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83399         2.5.1.
83400
83401 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83402
83403         * m4/jm-macros.m4: Sync from coreutils.
83404         (gl_MACROS): Check for mbrlen, for pathchk.
83405         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83406
83407 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83408
83409         * lib/xreadlink.c (MAXSIZE): New macro.
83410         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83411         size does not exceed MAXSIZE.  Avoid cast.
83412         As suggested by Mark D. Baushke in
83413         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83414         if readlink fails with buffer size just under MAXSIZE, try again
83415         with MAXSIZE.
83416
83417 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83418
83419         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83420
83421 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83422         and  Paul Eggert  <eggert@cs.ucla.edu>
83423
83424         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83425         (get_date): Overparenthesize to avoid GCC warning.
83426
83427 2004-11-02  Bruno Haible  <bruno@clisp.org>
83428
83429         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83430         returns void.
83431
83432 2004-11-02  Bruno Haible  <bruno@clisp.org>
83433
83434         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83435         function returns void.
83436
83437 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83438
83439         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83440         fflush_unlocked, flockfile, funlockfile, funlockfile,
83441         fputs_unlocked, putc_unlocked.
83442
83443 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83444
83445         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83446         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83447         already declared.
83448
83449 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83450
83451         * modules/getdate (Files): Add doc/getdate.texi.
83452         (Depends-on): Add setenv, xalloc.
83453
83454 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83455
83456         * lib/getdate.y: Add support for TZ="foo" within a date string.
83457         Fix some bugs near time_t boundaries.  Reject dates with
83458         out-of-range components, e.g., "Sept 31".
83459         Include <stdlib.h>, "setenv.h", "xalloc.h".
83460         (ISDIGIT_LOCALE): Remove; unused.
83461         Note that the TZ and time functions used here are not reentrant.
83462         (mktime_ok, get_tz): New functions.
83463         (TZBUFSIZE): New constant.
83464         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83465         This requires that we sometimes generate our own TZ="XXX..." setting.
83466
83467 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83468
83469         * doc/getdate.texi: New file, from coreutils with modifications for
83470         the new TZ parsing.
83471
83472 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83473
83474         * lib/mktime.c (not_equal_tm): Remove redundant check.
83475
83476 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         * modules/regex (lib_SOURCES): Add regex.c.
83479         Reported by James Youngman in
83480         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83481
83482 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83483
83484         * lib/getdate.y: Use Bison 1.875 features, and some minor
83485         code cleanups.  This change does not affect semantics.
83486         Don't include <stdlib.h>; no longer needed.
83487         Don't include unlocked-io.h; only the "#if TEST" code uses
83488         stdio, and performance isn't crucial there.
83489         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83490         Bison 1.875 features as described below.
83491         All uses of "PC." replaced by "pc->".
83492         (YYSTYPE): Add a forward declaration.
83493         (yylex, yyerror): Use full prototypes in forward decls.
83494         Use "%pure-parser" rather than obsolescent "%pure_parser".
83495         Use %parse-param and %lex-param instead of obsolescent
83496         YYPARSE_PARAM and YYLEX_PARAM.
83497         (meridian_table, month_and_day_table, time_units_table,
83498         relative_time_table, time_zone_table, military_table,
83499         lookup_zone, lookup_word, get_date):
83500         Use NULL instead of 0 where appropriate.
83501         (to_hour): Avoid abort (), to avoid a dependency on
83502         stdlib.h.
83503         (yyerror, yylex): Now accepts parser_control * arg.
83504         (main) [TEST]: Use '\0' rather than 0 for char.
83505
83506 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83507
83508         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83509
83510 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83511
83512         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83513         It's now the caller's responsibility to handle the case where
83514         !HAVE_GETPAGESIZE && !defined getpagesize.
83515
83516         * lib/mktime.c (leapyear): Arg is long int, not int.
83517
83518 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83519
83520         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83521
83522 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83523
83524         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83525         missing.  Problem reported by James Youngman.
83526
83527 2004-10-16  Simon Josefsson  <jas@extundo.com>
83528
83529         * gnulib-tool: Fix comments.  Fix parse problem.
83530         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83531
83532 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83535         implementation of getopt_long.  Problem reported by Alexander Taler in:
83536         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83537
83538 2004-10-15  Bruno Haible  <bruno@clisp.org>
83539
83540         * gnulib-tool: Untabify. Initialize supplied_libname.
83541         (func_usage): More homogenous output.
83542         (func_modules_transitive_closure, func_modules_to_filelist,
83543         func_emit_lib_Makefile_am): New functions.
83544         (func_import): New function, extracted from big case statement. Use
83545         func_get_license, func_modules_transitive_closure,
83546         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83547         opt_lgpl. Don't use test -a, as it's not portable.
83548         (func_create_testdir): Use func_modules_transitive_closure,
83549         func_modules_to_filelist, func_emit_lib_Makefile_am.
83550
83551 2004-10-15  Bruno Haible  <bruno@clisp.org>
83552
83553         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83554
83555 2004-10-15  Bruno Haible  <bruno@clisp.org>
83556
83557         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83558         the portions belonging to each module.
83559         Suggested by Derek Robert Price <derek@ximbiot.com>.
83560
83561 2004-10-12  Simon Josefsson  <jas@extundo.com>
83562
83563         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83564         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83565         to real functions.
83566
83567 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83568
83569         * modules/vsnprintf: New file.
83570
83571 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83572
83573         * m4/vsnprintf.m4: New file.
83574
83575 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83576
83577         * lib/vsnprintf.h: New file.
83578         * lib/vsnprintf.c: New file.
83579
83580 2004-10-11  Bruno Haible  <bruno@clisp.org>
83581
83582         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83583         vsnprintf.
83584
83585 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83586
83587         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83588
83589 2004-10-07  Bruno Haible  <bruno@clisp.org>
83590
83591         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83592         fits into the provided buffer.
83593
83594 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83595
83596         * lib/diacrit.c, diacrit.h: Add GPL notice.
83597
83598         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83599         notice.
83600         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83601         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83602         This avoids a potential constant-folding bug.
83603
83604 2004-10-05  Bruno Haible  <bruno@clisp.org>
83605
83606         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83607         for the declaration of strsep.
83608
83609 2004-10-05  Bruno Haible  <bruno@clisp.org>
83610
83611         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83612
83613 2004-10-04  Simon Josefsson  <jas@extundo.com>
83614
83615         * modules/memmem: New file.
83616         * tests/test-memmem.c: New file.
83617         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83618
83619 2004-10-04  Simon Josefsson  <jas@extundo.com>
83620
83621         * m4/memmem.m4: New file.
83622
83623 2004-10-04  Simon Josefsson  <jas@extundo.com>
83624
83625         * lib/memmem.h: New file.
83626         * lib/memmem.c: New file, taken from glibc.
83627
83628 2004-10-04  Simon Josefsson  <jas@extundo.com>
83629
83630         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83631         '#ifdef USE_UNLOCKED_IO'.
83632
83633 2004-10-04  Simon Josefsson  <jas@extundo.com>
83634
83635         * config/srclist.txt: Add memmem from glibc.
83636
83637 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83638
83639         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83640
83641         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83642         modules/exclude, modules/getdate, modules/getline,
83643         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83644         modules/getusershell, modules/linebuffer, modules/md5,
83645         modules/mountlist, modules/posixtm, modules/readtokens,
83646         modules/readutmp, modules/regex, modules/sha1,
83647         modules/version-etc, modules/yesno:
83648         Remove dependency on unlocked-io.
83649
83650 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83651
83652         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83653
83654         * m4/unlocked-io.m4: Add copyright notice.
83655         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83656
83657 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83660         * lib/xmalloc.c (xmemdup): Likewise.
83661         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83662         XFREE): Remove these long-obsolescent macros.
83663         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83664         * lib/xstrdup.c: Remove.
83665
83666         * lib/regex.c (re_comp): Cast gettext return value to char *,
83667         Problem reported by Martin Neitzel via Mark D. Baushke.
83668
83669 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83670
83671         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83672         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83673         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83674         regex.c, sha1.c, version-etc.c, yesno.c:
83675         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83676         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83677         the includer's responsibility.
83678
83679         Sync from coreutils.
83680
83681         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83682         points to the start of a string, as the C Standard says the
83683         resulting behavior is undefined.
83684
83685         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83686         simple -> simple_backups, numbered_existing ->
83687         numbered_existing_backups, numbered -> numbered_backups
83688         to avoid shadowing problems.  All uses changed.
83689         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83690         * lib/backupfile.c (check_extension, numbered_backup):
83691         Rename locals to avoid shadowing 'basename'.
83692         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83693         once.
83694
83695         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83696         * lib/.cvsignore: Add getopt.h.
83697
83698 2004-10-04  Bruno Haible  <bruno@clisp.org>
83699
83700         * modules/README: New file.
83701         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83702         not a module.
83703
83704 2004-10-02  Jim Meyering  <jim@meyering.net>
83705
83706         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83707
83708 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83709
83710         * modules/strsep: New file.
83711
83712 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83713
83714         * m4/strsep.m4: New file.
83715
83716 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83717
83718         * lib/strsep.h: New file.
83719         * lib/strsep.c: New file.
83720
83721 2004-10-01  Simon Josefsson  <jas@extundo.com>
83722
83723         * lib/snprintf.c (snprintf): Handle size==0.
83724
83725 2004-10-01  Simon Josefsson  <jas@extundo.com>
83726             Bruno Haible  <bruno@clisp.org>
83727
83728         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83729         (snprintf): Declare 'args'.
83730
83731 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83732
83733         * lib/snprintf.c: Remove comments as to why each header is needed.
83734
83735 2004-10-01  Bruno Haible  <bruno@clisp.org>
83736
83737         * MODULES.html.sh: Add strsep.
83738
83739 2004-09-30  Simon Josefsson  <jas@extundo.com>
83740
83741         * modules/snprintf: New file.
83742
83743 2004-09-30  Simon Josefsson  <jas@extundo.com>
83744
83745         * m4/snprintf.m4: New file.
83746
83747 2004-09-30  Simon Josefsson  <jas@extundo.com>
83748
83749         * lib/snprintf.h, lib/snprintf.c: New files.
83750
83751 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83752
83753         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83754         (hol_entry_help): Never translate an empty string.
83755         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83756         * lib/argp.h (OPTION_NO_TRANS): New option.
83757
83758 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83759
83760         * modules/argp (Maintainer): Replace Simon Josefsson
83761         by Sergey Poznyakoff.
83762
83763 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83764
83765         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83766         changes merged back into glibc.
83767
83768 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83769
83770         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83771
83772 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83773
83774         * lib/xvasprintf.c: Include xalloc.h.
83775         (xvasprintf): Use xalloc_die, not xmalloc_die.
83776
83777 2004-09-29  Bruno Haible  <bruno@clisp.org>
83778
83779         * modules/alloca-opt: New file, derived from modules/alloca.
83780         * modules/allocsa: Depend on alloca-opt instead of alloca.
83781         * modules/setenv: Likewise.
83782         * modules/vasnprintf: Likewise.
83783         * MODULES.html.sh: Add alloca-opt.
83784
83785 2004-09-28  Simon Josefsson  <jas@extundo.com>
83786
83787         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83788         LGPL, and to replace license template from GPL to LGPL.
83789
83790 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         * modules/dummy: Change license to LGPL.
83793
83794 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83795
83796         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83797
83798 2004-09-24  Simon Josefsson  <jas@extundo.com>
83799
83800         * modules/minmax (License): Change from GPL to LGPL.
83801
83802 2004-09-23  Simon Josefsson  <jas@extundo.com>
83803
83804         * gnulib-tool (--import): Typo.
83805
83806 2004-09-23  Simon Josefsson  <jas@extundo.com>
83807
83808         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83809
83810 2004-09-22  Bruno Haible  <bruno@clisp.org>
83811
83812         * modules/*: Add 'License' field.
83813         * gnulib-tool: Accept --extract-license option.
83814         (func_get_license): New function.
83815
83816 2004-09-21  Bruno Haible  <bruno@clisp.org>
83817
83818         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83819         Reported by Simon Josefsson.
83820
83821 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83822
83823         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83824         gl_AC_TYPE_LONG_LONG.
83825
83826 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83827
83828         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83829
83830 2004-09-18  Simon Josefsson  <jas@extundo.com>
83831         and  Paul Eggert  <eggert@cs.ucla.edu>
83832
83833         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83834         calls with autoreconf.  Define GL_LIB.
83835
83836 2004-09-14  Karl Berry  <karl@gnu.org>
83837
83838         * config/srclist.txt: unsync setenv.c, sigh.
83839
83840 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83841
83842         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83843         Problem reported by Bruno Haible in:
83844         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83845
83846 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83847
83848         * config/srclist.txt: Comment out argp-pvh.c.
83849
83850 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83851
83852         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83853         in case some system header has #define'd it.  Problem reported by
83854         Soeren D. Schulze in
83855         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83856
83857 2004-09-09  Karl Berry  <karl@gnu.org>
83858
83859         * regex.[ch]: delete from the root.  These were supposed to be
83860                 synced with emacs cvs, but this has not happened for about
83861                 a year, and anyway nothing else uses emacs regex.[ch].
83862                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83863                 lib/regex[.ch] is untouched.
83864
83865 2004-09-09  Bruno Haible  <bruno@clisp.org>
83866
83867         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83868
83869 2004-09-09  Bruno Haible  <bruno@clisp.org>
83870
83871         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83872         modifications.
83873         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83874
83875 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83876
83877         * modules/xvasprintf: New file.
83878         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83879
83880 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83881
83882         * lib/xvasprintf.h: New file.
83883         * lib/xvasprintf.c: New file.
83884         * lib/xasprintf.c: New file.
83885
83886 2004-09-08  Bruno Haible  <bruno@clisp.org>
83887
83888         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83889
83890 2004-09-08  Bruno Haible  <bruno@clisp.org>
83891
83892         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83893         length is > INT_MAX.
83894         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83895         more.
83896
83897 2004-09-08  Bruno Haible  <bruno@clisp.org>
83898
83899         * lib/stdint_.h: New file, taken from GNU clisp.
83900
83901 2004-09-08  Bruno Haible  <bruno@clisp.org>
83902             Oskar Liljeblad  <oskar@osk.mine.nu>
83903
83904         * modules/stdint: New file.
83905         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83906
83907 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83908
83909         Import from coreutils.
83910         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83911         strings on unbounded length.  alloca's performance benefits aren't
83912         that important here.
83913         (V_STRDUP): Remove.
83914         (parse_with_separator): New function, with most of the internals
83915         of the old parse_user_spec.  Allow user to omit both user and group,
83916         for compatibility with FreeBSD.
83917         Clone only the user name, not the entire spec.
83918         Do not set *uid, *gid unless entirely successful.
83919         Avoid memory leak in some failing cases.
83920         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83921         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83922         (parse_user_spec): Rewrite to use parse_with_separator.
83923
83924 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83925
83926         * modules/userspec: Don't depend on alloca.
83927
83928 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83929
83930         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83931
83932 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83933
83934         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83935         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83936         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83937
83938 2004-08-16  Simon Josefsson  <jas@extundo.com>
83939
83940         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83941         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83942         Add --dry-run for --import.
83943         Let user provided command line parameters override configure.ac
83944         settings.
83945
83946 2004-08-12  Simon Josefsson  <jas@extundo.com>
83947
83948         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83949         as discussed with Paul Eggert in threads rooted at
83950         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83951         and
83952         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83953         Before, the test was empty, and relied on ELIDE_CODE in source
83954         code.)
83955         (gl_PREREQ_GETOPT): New macro.
83956         (gl_GETOPT): Use them.
83957
83958 2004-08-12  Simon Josefsson  <jas@extundo.com>
83959
83960         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83961         * lib/getopt_.h: Renamed from getopt.h.
83962
83963 2004-08-12  Simon Josefsson  <jas@extundo.com>
83964
83965         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83966         Change default library name from libfoo to libgnu.
83967         Now, if you have a configure.ac that says:
83968                 gl_SOURCE_BASE(gl)
83969                 gl_M4_BASE(gl/m4)
83970                 gl_MODULES(error getopt etcetera)
83971                 gl_INIT
83972         you can import all you need by running:
83973                 ../gnulib/gnulib-tool --import
83974
83975         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83976         (Makefile.am): Rewrite, use logic from argz.
83977         (Include): Use <getopt.h> instead of "getopt.h".
83978
83979 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83980
83981         * modules/argp (Files): Add m4/unlocked-io.m4.
83982         (Depends-on): Add extensions.
83983
83984 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83985
83986         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83987         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83988         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83989         Check for program_invocation_name, program_invocation_short_name,
83990         flockfile, funlockfile, features.h, _getopt_long_only_r.
83991
83992 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83993
83994         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83995         its complicated substitute.
83996         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83997         and program_invocation_name.
83998         (__argp_basename) [!_LIBC]: Remove; the only use was
83999         replaced by its body.
84000         (__argp_short_program_name): Change condition from
84001         !defined __argp_short_program_name to
84002         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84003         to match argp-namefrob.h.
84004         (__argp_failure): Don't assume strerror_r returns char *.
84005         * lib/argp-parse.c (N_): Define unconditionally.
84006         (argp_default_options): Fill out initializers with 0 to avoid
84007         gcc warnings.
84008
84009 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84010
84011         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84012         getopt1.c.
84013
84014 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         Merge from coreutils.
84017
84018         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84019
84020         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84021         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84022
84023 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84024
84025         Merge from coreutils.
84026
84027         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84028         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84029         for Reliant Unix 5.43.
84030
84031         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84032         (union fooround): Use uintmax_t, not long int.
84033         The rest is a merge from libc:
84034         [defined _LIBC]: Include <shlib-compat.h>.
84035         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84036
84037         * lib/settime.c (settime): Recode to avoid warning with
84038         Sun Forte C 6U2.
84039
84040         * lib/strverscmp.c: Convert to UTF-8.
84041
84042 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84043
84044         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84045         m4/uintmax_t.m4.
84046
84047 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84048
84049         * modules/xalloc-die: New file.
84050         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84051
84052         * modules/md5 (Files): Add m4/uint32_t.m4.
84053         * modules/sha1: Renamed from modules/sha.
84054         (Files):
84055         Rename lib/sha.h to lib/sha1.h.
84056         Rename lib/sha.c to lib/sha1.c.
84057         Rename m4/sha.m4 to m4/sha1.m4.
84058         (lib_SOURCES): Likewise.
84059         (configure.ac): Rename gl_SHA to gl_SHA1.
84060         (Include): sha.h -> sha1.h.
84061
84062 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84063
84064         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84065         * m4/sha1.m4: Renamed from sha.m4.
84066         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84067
84068 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84069
84070         * lib/obstack.h (obstack_empty_p):
84071         Don't assume that chunk->contents is suitably aligned.
84072         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84073         Likewise. Problem reported by Benno in
84074         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84075
84076         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84077         readable.  This could be improved further but it'd take some work.
84078
84079 2004-08-08  Simon Josefsson  <jas@extundo.com>
84080
84081         * modules/xgethostname (Depends-on): Remove exit and error (not
84082         used).
84083
84084         * modules/getpass-gnu: Add getpass.h.
84085         (Depends-on): Add stdbool.
84086         * modules/getpass: Add getpass.h.
84087
84088 2004-08-08  Simon Josefsson  <jas@extundo.com>
84089
84090         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84091         Check getpass declaration.
84092
84093 2004-08-08  Simon Josefsson  <jas@extundo.com>
84094
84095         * lib/xgethostname.c: Don't include error.h (not used).
84096
84097         * lib/getpass.h: Add.
84098         * lib/getpass.c: Include getpass.h first.
84099
84100 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84101
84102         * lib/xalloc-die.c: New file.
84103         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84104         All uses removed.
84105         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84106         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84107         xalloc-die.c.
84108         (_, N_, xalloc_die): Move to xalloc-die.c.
84109         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84110         so that we needn't mess with xalloc_msg_memory_exhausted.
84111
84112         * lib/sha1.h: Renamed from sha.h.
84113         (SHA1_H): Renamed from _SHA_H.
84114         (sha1_ctx): Renamed from sha_ctx.
84115         (sha1_init_ctx): Renamed from sha_init_ctx.
84116         (sha1_process_block): Renamed from sha_process_block.
84117         (sha1_process_bytes): Renamed from sha_process_bytes.
84118         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84119         (sha1_read_ctx): Renamed from sha_read_ctx.
84120         (sha1_stream): Renamed from sha_stream.
84121         (sha1_buffer): Renamed from sha_buffer.
84122         * lib/sha1.c: Likewise; renamed from sha.c.
84123         Do not include <sys/types.h>.
84124         Include <stddef.h> rather than <stdlib.h>.
84125
84126 2004-08-08  Bruno Haible  <bruno@clisp.org>
84127
84128         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84129         FILESYSTEM_PREFIX_LEN.
84130         * lib/progreloc.c: Likewise.
84131         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84132
84133 2004-08-06  Simon Josefsson  <jas@extundo.com>
84134
84135         * modules/progname (Depends-on): Don't depend on stdbool.
84136
84137 2004-08-06  Simon Josefsson  <jas@extundo.com>
84138
84139         * modules/getsubopt: New file.
84140         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84141         getsubopt.
84142
84143 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84144
84145         More merge from coreutils.
84146
84147         * m4/utimens.m4, m4/utimecmp.m4: New files.
84148         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84149         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84150         prereq.m4, sha.m4: Import changes from coreutils.
84151
84152 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84153
84154         More merge from coreutils.
84155         * modules/raise, modules/readtokens0, modules/utimens:
84156         * modules/utimecmp, module/xnanosleep: New files.
84157         * modules/strftime: Add lib/strftime.h.
84158         Change include from <time.h> to "strftime.h".
84159         * modules/yesno: Add lib/yesno.h.
84160         * modules/backupfile: Remove lib/addext.c.
84161         * modules/euidaccess: Add stat-macros.h.
84162         * modules/canonicalize, modules/euidaccess,
84163         modules/filemode, modules/lchown, modules/makepath,
84164         modules/rmdir, modules/stat: Likewise.
84165
84166 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84167
84168         Merge from tar.
84169         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84170         SIZE_MAX is a valid preprocessor constant.
84171         (__argp_basename): Change from "#ifndef _LIBC"
84172         to "#ifndef __argp_short_program_name", so that
84173         we don't compile these functions for tar.
84174
84175         More merges from coreutils.
84176         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84177         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84178         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84179         * lib/addext.c: Remove; no longer needed.
84180         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84181         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84182         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84183         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84184         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84185         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84186         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84187         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84188         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84189         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84190         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84191         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84192         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84193         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84194         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84195         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84196         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84197         Import changes from coreutils.
84198
84199 2004-08-05  Simon Josefsson  <jas@extundo.com>
84200
84201         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84202
84203 2004-08-05  Simon Josefsson  <jas@extundo.com>
84204
84205         * m4/getsubopt.m4: New file.
84206
84207 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84208
84209         Merge from coreutils.
84210
84211         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84212         * m4/getcwd-path-max.m4: New files.
84213
84214         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84215         FILESYSTEM_PREFIX_LEN ->
84216         FILE_SYSTEM_PREFIX_LEN.
84217         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84218         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84219         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84220         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84221
84222         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84223         prerequisite modules now handle the DOS stuff.
84224         Don't check for unistd.h.
84225
84226 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84227
84228         Merge from coreutils.
84229
84230         * lib/.gdb-history: Remove; this doesn't belong here.
84231
84232         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84233         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84234         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84235         * lib/getcwd.c: New files.
84236
84237         * lib/dirname.h: Include <stdbool.h>.
84238         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84239         for consistency with POSIX terminology.  All uses changed.
84240         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84241         (strip_trailing_slashes): Use bool for booleans.
84242         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84243
84244         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84245         sometimes returns a positive errno value even when it succeeds.
84246         (print_errno_message) [!LIBC]: Fall back on strerror if
84247         __strerror_r fails.
84248
84249         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84250         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84251         (longest_relative_suffix): New function.
84252         (path_concat): Use it.  Assume first argument is not NULL.
84253         Port to DOS.  Omit redundant separators.
84254         Report an error instead of returning NULL.
84255         Use mempcpy instead of memcpy.
84256         (xpath_concat): Remove: not declared or used.
84257
84258         * lib/same.h: Include <stdbool.h>
84259         (same_name): Return bool, not int.
84260         * lib/same.c (same_name): Likewise.
84261         (errno): Don't declare; we assume C89 or better now.
84262
84263         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84264         if not already defined.
84265
84266         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84267         * lib/dup-safer.c (errno): Likewise.
84268
84269 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84270
84271         Merge from coreutils.
84272         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84273         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84274         * modules/path-concat: Don't depend on strdup.
84275
84276 2004-08-03  Simon Josefsson  <jas@extundo.com>
84277
84278         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84279         * lib/progname.h: Don't include stdbool.h.
84280
84281 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84282
84283         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84284         * MODULES.html.sh (func_all_modules): Remove fatal.
84285
84286 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84287
84288         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84289
84290 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84291
84292         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84293         working.
84294
84295 2004-08-02  Simon Josefsson  <jas@extundo.com>
84296
84297         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84298         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84299         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84300
84301 2004-08-01  Simon Josefsson  <jas@extundo.com>
84302
84303         * lib/xgetdomainname.c: Include stdlib.h, for free().
84304
84305 2004-07-19  Bruno Haible  <bruno@clisp.org>
84306
84307         * MODULES.html.sh (func_all_modules): Add dummy.
84308
84309 2004-07-16  Simon Josefsson  <jas@extundo.com>
84310
84311         * modules/dummy: New file.
84312
84313 2004-07-16  Simon Josefsson  <jas@extundo.com>
84314
84315         * lib/dummy.c: New file.
84316
84317 2004-07-16  Bruno Haible  <bruno@clisp.org>
84318
84319         * lib/backupfile.h: Add extern "C" for C++.
84320         * lib/closeout.h: Likewise.
84321         * lib/copy-file.h: Likewise.
84322         * lib/findprog.h: Likewise.
84323         * lib/full-write.h: Likewise.
84324         * lib/pathname.h: Likewise.
84325         * lib/progname.h: Likewise.
84326         * lib/stpcpy.h: Likewise.
84327         * lib/stpncpy.h: Likewise.
84328         * lib/strcase.h: Likewise.
84329         * lib/strstr.h: Likewise.
84330         * lib/xalloc.h: Likewise.
84331
84332         * lib/mbswidth.h: Add extern "C" for C++.
84333         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84334
84335 2004-07-13  Robert Millan  <robertmh@gnu.org>
84336
84337         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84338
84339 2004-07-09  Simon Josefsson  <jas@extundo.com>
84340
84341         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84342         failed without this.)
84343
84344 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84345
84346         * modules/chown (Files): Add lib/fchown-stub.c, since
84347         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84348
84349 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84350
84351         * lib/fchown-stub.c: New file.
84352
84353 2004-06-24  Jim Meyering  <jim@meyering.net>
84354
84355         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84356
84357 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84358
84359         * modules/argz: Omit "#include".
84360
84361         * MODULES.html.sh (func_all_modules): Add calloc, to match
84362         2004-06-01 addition of calloc module.
84363
84364 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84365
84366         * m4/argz.m4: New file, which is autoupdated from libtool.
84367
84368 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84369
84370         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84371         libtool.
84372
84373 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84374
84375         * config/srclist-update: Don't insist on "USA." before the
84376         close-comment, as libtool omits the period and puts the */ on a
84377         separate line.
84378         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84379         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84380
84381 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84382
84383         * modules/argz: New file.
84384         * MODULES.html.sh (func_all_modules): Add argz.
84385
84386 2004-06-12  Jim Meyering  <jim@meyering.net>
84387         and  Paul Eggert  <eggert@cs.ucla.edu>
84388
84389         * modules/hash (Files): Add lib/xalloc.h.
84390         * modules/pipe (Depends-on): Add wait-process.
84391         * modules/stat (Depends-on): Add xalloc.
84392         * modules/userspec (Files): Add lib/userspec.h.
84393         * modules/xstrto
84394
84395         Upgrade from gettext-0.13.
84396         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84397         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84398         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84399
84400 2004-06-10  Jim Meyering  <jim@meyering.net>
84401
84402         * lib/calloc.c: New file.
84403
84404 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84405
84406         * lib/getdate.y (yylex): Allow space between sign and number.
84407         Problem reported by Dan Jacobson.
84408
84409 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84410
84411         Merge from coreutils CVS.
84412
84413         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84414         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84415         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84416         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84417         xstrtol.m4: Fix copyright date and/or serial number.
84418
84419         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84420         See if we need an fchown replacement.
84421         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84422         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84423         and use the replacement function if we detect either defect.
84424
84425         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84426         gl_UTIMECMP.
84427
84428 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84429         and  Jim Meyering  <jim@meyering.net>
84430
84431         Merge from coreutils CVS.
84432
84433         * lib/stat-macros.h: New file, with contents from file-type.h
84434         and coreutils' system.h.
84435         * lib/file-type.c: Include "stat-macros.h".
84436         * lib/file-type.h (file_type): Move all macro definitions to new file,
84437         stat-macros.h.
84438
84439         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84440         Wrap old code with this conditional.
84441         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84442         function that does not dereference symlinks.
84443         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84444
84445         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84446         dependency problems.
84447         (xreadlink): Accept new arg SIZE, for efficiency.
84448         All decls and uses changed.
84449         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84450
84451         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84452         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84453
84454         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84455         sysexits.h.
84456
84457 2004-06-01  Jim Meyering  <jim@meyering.net>
84458
84459         * m4/calloc.m4: New file.
84460
84461 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84462
84463         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84464         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84465         Also, fix a typo in a diagnostic.
84466
84467 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84468
84469         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84470         or AC_FUNC_REALLOC.
84471
84472 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84473
84474         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84475         macros to be defined.
84476         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84477         the allocator returns NULL because the requested size is zero.
84478
84479 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84480
84481         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84482         var.  Add comment explaining why libc still defines it.  This
84483         merges the following patch from glibc:
84484         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84485
84486 2004-05-20  Andreas Schwab  <schwab@suse.de>
84487
84488         * m4/free.m4: Replace free if it not known to work, not the other
84489         way round.
84490
84491 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84492
84493         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84494         present in glibc since revision 1.1 of this file.
84495         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84496         obstack_alignment_mask, obstack_alloc, obstack_base,
84497         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84498         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84499         obstack_grow0, obstack_init, obstack_int_grow,
84500         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84501         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84502         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84503         nonexistent functions.
84504
84505 2004-05-18  Karl Berry  <karl@gnu.org>
84506
84507         * config/srclist.txt: break link for vasnprintf.c.
84508
84509 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84510
84511         Port obstack to the AS/400, where pointers are 16 bytes wide and
84512         you cannot cast an integer to a valid pointer.  This patch is
84513         currently waiting to be integrated into glibc; see
84514         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84515
84516         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84517         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84518         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84519         (struct obstack): temp member is now a union of a pointer and
84520         an integer, instead of an integer.  All integer uses changed.
84521         This does not affect the physical layout of struct obstack,
84522         except on hosts (like the AS/400) where the size or alignment of
84523         void * is greater than that of ptrdiff_t.
84524         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84525         __STDC__)]: Store temporary in pointer member of union, not
84526         integer member.
84527         * lib/obstack.c: Include <stddef.h>, for offsetof.
84528         (struct fooalign): Remove; it doesn't need a name.
84529         (union fooround): Change double to long double, and add void *.
84530         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84531         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84532         not a macro.  Hence the values are always int; so remove all
84533         casts-to-int in uses.
84534
84535 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84536
84537         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84538         we can get this patch merged into glibc.
84539
84540 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84541             Paul Eggert  <eggert@cs.ucla.edu>
84542
84543         * m4/argp: Depend on alloca.
84544
84545 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84546             Paul Eggert  <eggert@cs.ucla.edu>
84547
84548         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84549         freecoding.
84550
84551 2004-05-17  Bruno Haible  <bruno@clisp.org>
84552
84553         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84554         precision that consists of a '.' followed by an empty digit string.
84555         Patch by Tor Lillqvist <tml@iki.fi>.
84556
84557 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84560         for backward compatibility with older code.  We need our own
84561         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84562         it under some other name, and our alloca.h will define it.
84563
84564 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84565             Derek Price  <derek@ximbiot.com>
84566
84567         * lib/alloca.c: Include <alloca.h>, to get our interface.
84568         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84569         include <alloca.h> first.  Use C89 prototype for alloca; this
84570         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84571         Use #elif for simplicity, since we can assume C89 now.
84572         Don't try to source the system alloca.h since it will not be found
84573         and to prevent recursively including its replacement.
84574         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84575         * lib/regex.c: Likewise.
84576
84577 2004-05-16  Derek Price  <derek@ximbiot.com>
84578             Paul Eggert  <eggert@cs.ucla.edu>
84579
84580         getline cleanup.  This changes the getndelim2 API: both order of
84581         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84582         no delimiter).
84583
84584         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84585         interface does that.
84586         (getline): Always use getdelim, so that we don't have two
84587         copies of this code.
84588         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84589         if available.
84590         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84591         (GETNDELIM2_MAXIMUM): New macro.
84592         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84593         instead of the old practice of delim2==0.  All callers changed.
84594         Return -1 on overflow, instead of returning junk.
84595         Do not set *linesize unless allocation succeeds.
84596         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84597         that we include sys/types.h.
84598         * lib/getnline.h: Likewise.
84599         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84600         (getndelim2): Reorder arguments.
84601         * lib/getnline.c (getnline, getndelim):
84602         Don't discard the NMAX argument.
84603         (getnline): Invoke getndelim, to avoid code duplication.
84604         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84605         of (size_t) -1 by callers of the getnline family.
84606
84607 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84608
84609         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84610         Check for gettimeofday.
84611         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84612         Check for settimeofday, stime.
84613
84614 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84615
84616         * lib/nanosleep.c (suspended): Change its type from int to
84617         sig_atomic_t volatile.
84618         (first_call): Make it private to rpl_nanosleep, and have it
84619         be zero initially as that's a bit faster.
84620         (my_usleep): Round up fractional times instead of truncating them,
84621         as this is the usual meaning for 'sleep'.
84622
84623         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84624         doesn't work.
84625         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84626         (ENOSYS): Define if not defined.
84627         (settime): Fall back on stime if it exists and settimeofday fails.
84628         But don't bother with fallbacks if a method fails with errno == EPERM.
84629
84630 2004-05-11  Jim Meyering  <jim@meyering.net>
84631
84632         Prior to this change, the save_cwd caller required read access to the
84633         current directory on most systems (ones with the fchdir function).
84634
84635         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84636         fails, try write-only, and finally, resort to using xgetcwd.
84637
84638 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84639
84640         * lib/obstack.c, obstack.h: Import changes from libc.
84641
84642 2004-04-28  Bruno Haible  <bruno@clisp.org>
84643
84644         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84645         also implicitly appends .exe to executables.
84646         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84647         accepts Windows pathnames.
84648         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84649         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84650         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84651         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84652         Reported by Derek Robert Price <derek@ximbiot.com>.
84653
84654 2004-04-21  Karl Berry  <karl@gnu.org>
84655
84656         * config/srclist.txt (localcharset.c): break sync.
84657
84658 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84659
84660         * m4/host-os.m4: Add a copyright notice.
84661
84662 2004-04-20  Jim Meyering  <jim@meyering.net>
84663
84664         Change UTILS_ to gl_ in AC_DEFINE'd names.
84665         Change utils_- and jm_-prefixed variables, too.
84666         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84667         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84668         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84669
84670         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84671         Don't emit trailing blanks.
84672         Also rename jm_-prefixed variables to have gl_ prefix.
84673
84674         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84675         Also rename jm_-prefixed variables to have gl_ prefix.
84676
84677         * m4/jm-macros.m4: Reflect the renamings.
84678         * m4/prereq.m4: Likewise.
84679
84680 2004-04-20  Jim Meyering  <jim@meyering.net>
84681
84682         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84683         memory.
84684
84685 2004-04-20  Jim Meyering  <jim@meyering.net>
84686             Bruno Haible  <bruno@clisp.org>
84687
84688         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84689         memory when realloc fails.
84690
84691 2004-04-19  Jim Meyering  <jim@meyering.net>
84692
84693         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84694         now that readutmp.c may call `free (0)'.
84695
84696 2004-04-19  Bruno Haible  <bruno@clisp.org>
84697
84698         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84699         * m4/inttypes_h.m4: Likewise.
84700         * m4/stdint_h.m4: Likewise.
84701         * m4/intmax_t.m4: Likewise.
84702         * m4/uintmax_t.m4: Likewise.
84703
84704 2004-04-18  Jim Meyering  <jim@meyering.net>
84705
84706         * m4/prereq.m4: Don't forbid jm_ prefix.
84707
84708         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84709         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84710         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84711         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84712         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84713         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84714         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84715         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84716         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84717         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84718         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84719         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84720         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84721         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84722         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84723         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84724         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84725         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84726         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84727
84728 2004-04-18  Jim Meyering  <jim@meyering.net>
84729
84730         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84731         failure, don't leak memory and do call END_UTMP_ENT.
84732
84733 2004-04-16  Jim Meyering  <jim@meyering.net>
84734
84735         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84736         coreutils' stat program.
84737         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84738
84739 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84740
84741         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84742         C89.
84743         (CHAR_BIT): Remove, since we assume C89.
84744         Include <stdint.h> if available, as per current Autoconf CVS advice.
84745
84746 2004-03-31  Jim Meyering  <jim@meyering.net>
84747
84748         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84749         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84750         * m4/xalloc.m4: Likewise.
84751
84752 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84753
84754         Merge from coreutils.
84755
84756         * m4/inttostr.m4: New file.
84757         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84758         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84759         Require gl_CLOCK_TIME.
84760         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84761
84762 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84763
84764         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84765         not bool, to be more consistent with Unix conventions.
84766         Suggested by Bruno Haible.
84767
84768         Merge from coreutils.
84769
84770         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84771         * lib/umaxtostr.c: New files.
84772
84773         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84774         the usual <time.h> dance.
84775         (get_date): Change signature to support fractional time stamps.
84776         All callers changed.
84777         * lib/getdate.y: Include "getdate.h" first, as we can now
84778         assume C89 and don't need to worry about 'const'.
84779         Similarly, include "unlocked-io.h" near start, not in middle.
84780         Include <limits.h>.
84781         (textint.value): Use long int rather than int.
84782         (textint.digits): Use size_t rather than int.
84783         (BILLION, LOG10_BILLION): New constants.
84784         (parser_control): New member rel_ns.  Members day_ordinal,
84785         time_zone, month, day, hour, minutes, rel_year, rel_month,
84786         rel_day, rel_hour, rel_minutes, rel_seconds
84787         are now long int, not int.  Member seconds is now struct timespec,
84788         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84789         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84790         not int.
84791         (%union.intval): Now long int, not int.
84792         New member timespec.
84793         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84794         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84795         (spec): Now is a timespec or an item list.
84796         (timespec, items): New nonterminals.
84797         (time, rel, relunit, number, get_date):
84798         Add support for fractional seconds.
84799         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84800         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84801         (to_hour): First arg is now long int, not int.
84802         (to_year): Returns long int, not int.
84803         Don't treat year -70 like 70.
84804         (tm_diff): Returns long int, not int.
84805         (lookup_word): Use bool instead of int when appropriate.
84806         (yylex): Use size_t for count, not int.
84807         Detect overflow when parsing large integer constants.
84808         Add support for fractions.
84809         (get_date): Make pointers 'const' if possible.
84810         Use more-portable code to detect integer overflow.
84811         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84812         Don't use ctime; it's not reliable if the year has >4 digits.
84813
84814         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84815         This is for compatibility with BSD.
84816
84817         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84818         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84819         From coreutils' system.h.
84820
84821         * lib/userspec.c: Don't include "posixver.h".
84822         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84823         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84824         compatible extension.  Simplify code by removing a boolean int
84825         that was always nonzero if a string was nonnull.
84826
84827 2004-03-30  Jim Meyering  <jim@meyering.net>
84828
84829         Merge from coreutils.
84830
84831         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84832         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84833         on some systems one must include <grp.h> before it.
84834         Reported by Christian Krackowizer.
84835
84836 2004-03-30  Jim Meyering  <jim@meyering.net>
84837
84838         Merge from coreutils.
84839
84840         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84841
84842         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84843         an empty input stream.
84844
84845         * lib/readtokens.c: Include <stdbool.h>.
84846         (readtoken): Use `size_t' rather than int/long.
84847         All callers adjusted.
84848         Use `bool' rather than `int' where appropriate.
84849         Use memset rather than an explicit loop.
84850         Use x2nrealloc rather than xrealloc.
84851         Allow the use of `\0' as a delimiter.
84852         (readtokens): Likewise.
84853         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84854
84855 2004-03-30  Jim Meyering  <jim@meyering.net>
84856
84857         * m4/realloc.m4: Remove file, since now it does no more than
84858         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84859         the `configure.ac' section of module/realloc.
84860         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84861
84862 2004-03-30  Bruno Haible  <bruno@clisp.org>
84863
84864         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84865         nonnull.
84866
84867 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84868
84869         Merge changes to getloadavg.c from coreutils and Emacs.
84870
84871         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84872         Define to an expression, not to the empty string.
84873         Include cloexec.h and xalloc.h.
84874         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84875         Use set_cloexec_flag rather than rolling our own.
84876         * lib/cloexec.c, lib/cloexec.h: New files.
84877
84878 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84879
84880         * m4/cloexec.m4: New file.
84881
84882 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84883
84884         * lib/getopt.h: Sync with libc CVS.
84885
84886 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84887             Bruno Haible  <bruno@clisp.org>
84888
84889         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84890         mbswidth.
84891
84892 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84893             Bruno Haible  <bruno@clisp.org>
84894
84895         * lib/mbswidth.h: Include <wchar.h> only if
84896         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84897         <wchar.h>.
84898         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84899
84900 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84901
84902         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84903         Sync with libc CVS.
84904         * lib/getopt_int.h: New file, also synced from libc.
84905
84906 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84907
84908         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84909         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84910         Bring back getopt.c, getopt.h, getopt1.c.
84911
84912 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84913
84914         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84915         All uses changed.  Check for sa_sigaction member; this fixes
84916         a bug first reported by Jason Andrade in
84917         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84918
84919 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84920
84921         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84922         '#if' expressions.  Unlike the code it replaces, it does not
84923         depend on (defined _SC_PAGESIZE).  However, it does depend on
84924         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84925         first reported by Jason Andrade in
84926         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84927
84928 2004-02-25  Simon Josefsson  <jas@extundo.com>
84929
84930         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84931
84932 2004-02-25  Simon Josefsson  <jas@extundo.com>
84933
84934         * lib/strdup.h: New file.
84935         * lib/strdup.c: Include it.
84936         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84937         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84938
84939 2004-02-23  Karl Berry  <karl@gnu.org>
84940
84941         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84942         (from fencepost.gnu.org:/gd/gnuorg).
84943
84944 2004-02-23  Karl Berry  <karl@gnu.org>
84945
84946         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84947         * config/srclist.txt: add maintain/standards documents.
84948
84949 2004-02-18  Bruno Haible  <bruno@clisp.org>
84950
84951         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84952         Reported by Derek Robert Price <derek@ximbiot.com>.
84953
84954 2004-02-16  Karl Berry  <karl@gnu.org>
84955
84956         * config/mkinstalldirs, install-sh: update from automake.
84957
84958 2004-02-06  Karl Berry  <karl@gnu.org>
84959
84960         * m4/po.m4: update from gettext 0.14.1.
84961
84962 2004-02-06  Karl Berry  <karl@gnu.org>
84963
84964         * lib/config.charset: update from gettext 0.14.1.
84965
84966 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84967
84968         Add comments and code, prompted by suggestions from Bruno Haible
84969         for sh-quote.
84970         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84971         describing the enum quoting_style values.
84972         * lib/quotearg.c (quotearg_alloc): New function.
84973         (quotearg_buffer_restyled): Treat lone { and } as special.
84974         Treat = as special.  Work around bug with older shells
84975         that "see" a '\' that is really the 2nd byte of a multibyte char.
84976         Quote empty string with shell_quoting_style.
84977
84978 2004-02-03  Bruno Haible  <bruno@clisp.org>
84979
84980         * m4/pipe.m4: New file, from GNU gettext.
84981
84982 2004-02-03  Bruno Haible  <bruno@clisp.org>
84983
84984         * lib/pipe.h: New file, from GNU gettext.
84985         * lib/pipe.c: New file, from GNU gettext.
84986
84987 2004-01-27  Bruno Haible  <bruno@clisp.org>
84988
84989         * m4/execute.m4: New file, from GNU gettext.
84990
84991 2004-01-27  Bruno Haible  <bruno@clisp.org>
84992
84993         * lib/execute.h: New file, from GNU gettext.
84994         * lib/execute.c: New file, from GNU gettext.
84995         * lib/w32spawn.h: New file, from GNU gettext.
84996
84997 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84998
84999         Merge from diffutils.
85000
85001         * lib/file-type.c (file_type): Add typed memory objects.
85002         * lib/file-type.h (S_TYPEISTMO): New macro.
85003
85004         * lib/c-stack.h (c_stack_action): Remove argv argument.
85005         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85006         (die): Don't calculate message unless segv_action returns.
85007         (get_stack_location, min_address_from_argv, max_address_from_argv,
85008         volatile stack_base, volatile_stack_size): Remove.
85009         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85010         that every segmentation violation is a stack overflow.  (Ouch!)
85011         See Debian bug 136249 (still outstanding) for more info about why
85012         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85013
85014 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85015
85016         Exit-status fix from coreutils.
85017
85018         Use exit_failure consistently in place of EXIT_FAILURE,
85019         so that program exit statuses are consistent on failure.
85020
85021         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85022         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85023         * lib/argmatch.h: Comment fix to match the above.
85024         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85025         Now a macro referring to exit_failure, instead of a separate
85026         variable.  Include "exitfail.h" to get it.
85027         * lib/xstrtol.h: Include "exitfail.h".
85028         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85029
85030         * lib/long-options.c (parse_long_options): Use prototype
85031         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85032         for clarity.
85033
85034 2004-01-21  Jim Meyering  <jim@meyering.net>
85035
85036         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85037         so as not to conflict with a different-sized __mktime_internal
85038         function in GNU libc.
85039         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85040         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85041
85042 2004-01-20  Karl Berry  <karl@gnu.org>
85043
85044         * config/config.guess: update from config.
85045
85046         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85047
85048 2004-01-20  Bruno Haible  <bruno@clisp.org>
85049
85050         Safer stack allocation.
85051         * lib/setenv.c: Include allocsa.h.
85052         (alloca): Remove fallback definition.
85053         (freea): Remove macro.
85054         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85055         instead of freea.
85056
85057 2004-01-20  Bruno Haible  <bruno@clisp.org>
85058
85059         * m4/eealloc.m4: New file, from GNU gettext.
85060
85061 2004-01-20  Bruno Haible  <bruno@clisp.org>
85062
85063         * m4/allocsa.m4: New file, from GNU gettext.
85064
85065 2004-01-20  Bruno Haible  <bruno@clisp.org>
85066
85067         * lib/xallocsa.h: New file, from GNU gettext.
85068         * lib/xallocsa.c: New file, from GNU gettext.
85069
85070 2004-01-20  Bruno Haible  <bruno@clisp.org>
85071
85072         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85073
85074 2004-01-20  Bruno Haible  <bruno@clisp.org>
85075
85076         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85077         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85078         specially.
85079
85080 2004-01-20  Bruno Haible  <bruno@clisp.org>
85081
85082         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85083         patch.
85084
85085 2004-01-20  Bruno Haible  <bruno@clisp.org>
85086
85087         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85088
85089 2004-01-20  Bruno Haible  <bruno@clisp.org>
85090
85091         * lib/eealloc.h: New file.
85092
85093 2004-01-20  Bruno Haible  <bruno@clisp.org>
85094
85095         * lib/binary-io.h: Avoid warnings on Cygwin.
85096
85097 2004-01-20  Bruno Haible  <bruno@clisp.org>
85098
85099         * lib/allocsa.h: New file, from GNU gettext.
85100         * lib/allocsa.c: New file, from GNU gettext.
85101
85102 2004-01-18  Karl Berry  <karl@gnu.org>
85103
85104         * doc/gpl.texi, doc/lgpl.texi: new files.
85105
85106 2004-01-18  Karl Berry  <karl@gnu.org>
85107
85108         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85109         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85110
85111 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85112
85113         Merge from coreutils.
85114
85115         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85116         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85117         (gl_DEFAULT_POSIX2_VERSION): Move
85118         the documentation from 'configure' into 'config.hin',
85119         so that 'configure --help' isn't burdened by it and
85120         we don't have to worry about its formatting there.
85121         Reword the documentation so that it's more succinct
85122         and can be run together into a single paragraph.
85123         * m4/same.m4 (gl_SAME): Check for pathconf.
85124
85125 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85126
85127         Merge from coreutils.
85128
85129         * lib/posixver.c: Include posixver.h.
85130
85131         * lib/same.c: Include <stdbool.h>, <limits.h>.
85132         (_POSIX_NAME_MAX): Define if not defined.
85133         (MIN): New macro.
85134         (same_name): If file names are silently truncated, report
85135         that the file names are the same if they are the same after
85136         the silent truncation.
85137
85138         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85139         conversion function.
85140         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85141         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85142         longer needed.
85143
85144 2004-01-15  Jim Meyering  <jim@meyering.net>
85145
85146         Merge from coreutils.
85147
85148         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85149         if no library is required.
85150         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85151         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85152         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85153         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85154         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85155         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85156         value, $ac_cv_search_crypt, if it's "none required".
85157         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85158         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85159         not gl_FUNC_GETLOADAVG.
85160         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85161         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85162
85163 2004-01-15  Jim Meyering  <jim@meyering.net>
85164
85165         Merge from coreutils.
85166
85167         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85168         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85169         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85170
85171         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85172         optional configure-time default.
85173
85174         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85175
85176         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85177
85178 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85179
85180         Merge from coreutils.
85181
85182         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85183         value, $ac_cv_search_nanosleep, if it's "none required".
85184
85185 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85186
85187         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85188         with like-named macro in fnmatch.c.
85189         (EXT): Use an internal constant instead.
85190
85191         Merge fnmatch patches from glibc.
85192         * lib/fnmatch.c (mbsinit): Remove define.
85193         Add libc_hidden_ver (__fnmatch, fnmatch).
85194         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85195         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85196
85197 2004-01-14  Karl Berry  <karl@gnu.org>
85198
85199         * config/install-sh: update from automake.
85200
85201 2004-01-13  Karl Berry  <karl@gnu.org>
85202
85203         * config/install-sh: update from automake.
85204
85205 2004-01-09  Karl Berry  <karl@gnu.org>
85206
85207         * config/install-sh: update from automake.
85208
85209 2004-01-05  Karl Berry  <karl@gnu.org>
85210
85211         * config/config.{sub,guess}: update from config.
85212
85213 2003-12-31  Karl Berry  <karl@gnu.org>
85214
85215         * config/depcomp: update from automake.
85216
85217 2003-12-14  Karl Berry  <karl@gnu.org>
85218
85219         * lib/config.charset: update from gettext-runtime.
85220
85221 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85222
85223         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85224         Bug reported by Alfred M. Szmidt.
85225
85226 2003-12-03  Bruno Haible  <bruno@clisp.org>
85227
85228         * m4/gettext.m4: Upgrade from gettext-0.13.
85229         * m4/po.m4: Upgrade from gettext-0.13.
85230         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85231         * m4/intmax.m4: New file, from gettext-0.13.
85232         * m4/printf-posix.m4: New file, from gettext-0.13.
85233
85234 2003-11-29  Karl Berry  <karl@gnu.org>
85235
85236         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85237
85238 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85239             Bruno Haible  <bruno@clisp.org>
85240
85241         * lib/printf-parse.h: Don't include sys/types.h.
85242         (ARG_NONE): New macro.
85243         (char_directive): Change type of *arg_index fields to size_t.
85244         * lib/printf-parse.c: Don't include sys/types.h.
85245         (SSIZE_MAX): Remove macro.
85246         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85247         Remove unnecessary overflow check.
85248         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85249         fields.
85250
85251 2003-11-25  Bruno Haible  <bruno@clisp.org>
85252
85253         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85254
85255 2003-11-25  Bruno Haible  <bruno@clisp.org>
85256
85257         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85258         gt_TYPE_SSIZE_T.
85259
85260 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85261
85262         * modules/alloca: Remove dependency on xalloc.
85263
85264 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85265
85266         * lib/alloca.c: Remove dependency on xalloc module.
85267         (xalloc_die): Remove.
85268         (memory_full) [!defined emacs]: New macro.
85269         [!defined emacs]: Don't include xalloc.h.
85270         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85271         address arithmetic overflows.  Change datatypes a bit to avoid
85272         unnecessary casts.
85273
85274 2003-11-22  Jim Meyering  <jim@meyering.net>
85275
85276         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85277         s/size/size_t/.
85278
85279 2003-11-21  Karl Berry  <karl@gnu.org>
85280
85281         * config/config.{sub,guess}: update from config.
85282
85283 2003-11-18  Karl Berry  <karl@gnu.org>
85284
85285         * config/config.{sub,guess}: update from config.
85286
85287         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85288
85289 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85290
85291         * README: Mention that S+T cannot overflow if S is the size of
85292         an existing object and T is sufficiently small.
85293
85294 2003-11-17  Jim Meyering  <jim@meyering.net>
85295
85296         On systems without utime and without a utimes function capable of
85297         dealing with a NULL struct utimbuf* argument, this utime replacement
85298         could -- in unusual circumstances -- leak a file descriptor.
85299         * lib/utime.c: Include <unistd.h> and <errno.h>.
85300         (utime_null): Be sure to close `fd' and to preserve errno.
85301         Reported by Geoff Collyer via Arnold Robbins.
85302
85303 2003-11-17  Bruno Haible  <bruno@clisp.org>
85304
85305         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85306         (Depends-on): Add xsize.
85307
85308 2003-11-17  Bruno Haible  <bruno@clisp.org>
85309
85310         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85311
85312 2003-11-17  Bruno Haible  <bruno@clisp.org>
85313
85314         * lib/vasnprintf.c (alloca): Remove fallback definition.
85315         (freea): Remove definition.
85316         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85317         Reported by Paul Eggert.
85318
85319 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85320             Bruno Haible  <bruno@clisp.org>
85321
85322         Protect against address arithmetic overflow.
85323         * lib/printf-args.h: Include stddef.h.
85324         (arguments): Change type of field 'count' to size_t.
85325         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85326         'unsigned int' where appropriate.
85327         * lib/printf-parse.h: Include sys/types.h.
85328         (char_directive): Change type of *arg_index fields to ssize_t.
85329         (char_directives): Change type of fields 'count', max_*_length to
85330         size_t.
85331         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85332         (SSIZE_MAX): Define fallback value.
85333         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85334         instead of 'int' where appropriate. Check a_allocated, d_allocated
85335         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85336         * lib/vasnprintf.c: Include xsize.h.
85337         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85338         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85339         overflow. Avoid wraparound when converting a width or precision from
85340         decimal to binary.
85341
85342 2003-11-16  Bruno Haible  <bruno@clisp.org>
85343
85344         Update from GNU gettext.
85345         * lib/printf-parse.c: Generalize to it can be compiled for wide
85346         strings.
85347         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85348         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85349         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85350         SNPRINTF): New macros.
85351         Don't include <alloca.h> if the file is used inside libintl.
85352         (local_wcslen): New function, for Solaris 2.5.1.
85353         (VASNPRINTF): Use it instead of wcslen.
85354
85355 2003-11-16  Bruno Haible  <bruno@clisp.org>
85356
85357         * lib/xsize.h (xmax): New function.
85358         (xsum, xsum3, xsum4): Declare as "pure" functions.
85359
85360 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85361
85362         * modules/xalloc (Files): Undo latest change, since xalloc.h
85363         no longer needs SIZE_MAX or PTRDIFF_MAX.
85364
85365 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85366
85367         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85368         gl_PTRDIFF_MAX.
85369
85370 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85371
85372         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85373         "return", to pacify some unknown compiler.  Problem reported
85374         by Joerg Schilling.
85375
85376 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85377
85378         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85379         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85380         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85381         heuristic is just as accurate as far as we know, and it removes a
85382         dependency on size_max.m4 and ptrdiff_max.m4.
85383
85384 2003-11-11  Bruno Haible  <bruno@clisp.org>
85385
85386         * modules/xsize (Files): Add m4/size_max.m4.
85387         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85388
85389 2003-11-11  Bruno Haible  <bruno@clisp.org>
85390
85391         * m4/size_max.m4: New file.
85392         * m4/ptrdiff_max.m4: New file.
85393         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85394         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85395         (gl_XALLOC): Invoke it.
85396
85397 2003-11-11  Bruno Haible  <bruno@clisp.org>
85398
85399         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85400         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85401         defined.
85402
85403 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85404
85405         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85406         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85407         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85408         From Bruno Haible.
85409         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85410         not (size_t) -1, since it's defined here.
85411
85412 2003-11-09  Karl Berry  <karl@gnu.org>
85413
85414         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85415
85416 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85417
85418         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85419         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85420         Reject sizes of exactly SIZE_MAX bytes.
85421         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85422         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85423
85424 2003-11-05  Bruno Haible  <bruno@clisp.org>
85425
85426         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85427         SIZE_MAX defined in <limits.h> on Solaris.
85428
85429 2003-11-04  Jim Meyering  <jim@meyering.net>
85430
85431         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85432         variable names, rather than @VAR@.
85433         * modules/poll: Likewise.
85434
85435 2003-11-04  Bruno Haible  <bruno@clisp.org>
85436
85437         * modules/xsize: New file.
85438         * modules/linebreak: Depend on xsize.
85439         * MODULES.html.sh (func_all_modules): Add xsize.
85440
85441 2003-11-04  Bruno Haible  <bruno@clisp.org>
85442
85443         * m4/xsize.m4: New file.
85444
85445 2003-11-04  Bruno Haible  <bruno@clisp.org>
85446
85447         * lib/xsize.h: New file.
85448         * lib/linebreak.c: Include xsize.h.
85449         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85450         argument for overflow.
85451         Suggested by Paul Eggert.
85452
85453 2003-11-03  Karl Berry  <karl@gnu.org>
85454
85455         * config/config.{guess,sub}: update from config.
85456
85457 2003-11-03  Jim Meyering  <jim@meyering.net>
85458
85459         * modules/userspec (lib_SOURCES): Add userspec.h.
85460         (Include): Add "userspec.h".
85461         Improve description.
85462
85463 2003-11-03  Jim Meyering  <jim@meyering.net>
85464
85465         * lib/userspec.c: Include "userspec.h".
85466         * lib/userspec.h: New file.
85467
85468 2003-11-03  Bruno Haible  <bruno@clisp.org>
85469
85470         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85471
85472 2003-11-03  Bruno Haible  <bruno@clisp.org>
85473
85474         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85475         available, to avoid (extremely rare) race condition.
85476         Suggested by Paul Eggert.
85477
85478 2003-11-02  Karl Berry  <karl@gnu.org>
85479
85480         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85481
85482 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85483
85484         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85485         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85486         (read_filesystem_list): Set and use me_type_malloced.
85487         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85488         whatever the type happens to be), for brevity and consistency.
85489         Check for size calculation overflow on Alphas running OSF/1.
85490
85491 2003-10-31  Jim Meyering  <jim@meyering.net>
85492
85493         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85494
85495         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85496
85497 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85498             Bruno Haible  <bruno@clisp.org>
85499
85500         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85501         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85502
85503 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85504
85505         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85506         netbsd*-gnu*.  Suggested by Robert Millan.
85507
85508 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85509
85510         * modules/group-member: Depend on stdbool.
85511
85512 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85513
85514         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85515
85516 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85517
85518         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85519         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85520         after the 'gnu' in these cases.  This fixes some bugs in the
85521         previous change, and is based on suggestions by Robert Millan.
85522
85523 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85524
85525         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85526         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85527         no longer needed.
85528         * lib/quotearg.c (quotearg_n_options): Use it.
85529         * lib/group-member.c: Include <stdbool.h>.
85530         (free_group_info): Arg is now const *; don't free arg.
85531         (get_group_info): Now returns bool and accepts struct group_info *,
85532         rather than returning a malloc'ed struct group_info *.
85533         All uses changed.  Check for overflow in internal size calculation.
85534
85535         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85536         rather than xmalloc/xrealloc.
85537         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85538         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85539         conformance bug: the old code used a pointer after freeing the
85540         storage that it addressed.
85541         * lib/hash.c (hash_initialize): Simplify the code by using
85542         xalloc_oversized rather than doing it by hand.
85543         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85544         the buffer preserved.  Use free and xmalloc instead.
85545         * lib/quotearg.c (quotearg_n_options): Likewise.
85546         Use a simpler test for size overflow.  Don't use xalloc_oversized
85547         because unsigned int might be wider than size_t (!); this suggests
85548         that we should switch from unsigned int to size_t for slot numbers.
85549
85550 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85551
85552         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85553         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85554         NetBSD kernels.  Requested by Richard Stallman.
85555
85556 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85557
85558         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85559         to allocate the returned structure.  Do not allocate a subarray,
85560         as x2nrealloc will do that.
85561         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85562         instead of xnrealloc.
85563         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85564
85565 2003-10-27  Bruno Haible  <bruno@clisp.org>
85566
85567         * lib/stdbool_.h: Better support for BeOS.
85568
85569 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85570
85571         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85572         now uses inline.
85573
85574 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85575
85576         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85577         callers that want to do their own size-overflow checking.  Include
85578         <stdbool.h>, since xalloc_oversized returns bool.
85579         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85580         to use xalloc_oversized.
85581
85582         Add two functions x2realloc, x2nrealloc, for programs that grow
85583         arrays dynamically by doubling their sizes.
85584         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85585         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85586         New functions.
85587
85588         Port to C99 semantics for 'inline' of external functions.
85589         Bug reported by Bruno Haible.
85590         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85591         with the old contents of xnmalloc.
85592         (xnmalloc, xmalloc): Use it.
85593         (xnrealloc_inline): New static inline function,
85594         with the old contents of xnrealloc.
85595         (xnrealloc, xrealloc): Use it.
85596
85597         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85598         that.
85599
85600 2003-10-26  Karl Berry  <karl@gnu.org>
85601
85602         * config/srclist.txt (COPYING.DOC): no longer available from
85603         /gd/gnuorg; don't know where the ultimate source is.
85604
85605 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85606
85607         Fix several address-calculation bugs in the hash modules,
85608         plus some minor code cleanup.
85609
85610         * lib/hash.h: Include <stdbool.h>, for bool.
85611         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85612         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85613         hash_get_n_entries, hash_get_max_bucket_length,
85614         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85615         hash_rehash): Use size_t rather than unsigned.
85616         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85617         hash_get_n_buckets_used, hash_get_n_entries,
85618         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85619         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85620         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85621         Likewise.
85622         (SIZE_MAX): Define if not defined.
85623         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85624         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85625         hash_print):
85626         Use const * when possible.
85627         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85628         (check_tuning): Fix bug: if tuning parameters were very close to
85629         0 or 1, rounding errors could have caused subscript violations.
85630         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85631         (hash_initialize): Add 'fail:' label
85632         to free table and return NULL, and use it to simplify code.
85633         Use calloc rather than clearing the storage ourself.
85634         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85635         buffer size calculations.
85636         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85637         Include <stddef.h>, for size_t.
85638         * lib/hash-pjw.c (hash_pjw): Likewise.
85639         Switch to method described by Bruno Haible.
85640         Include <limits.h>, for CHAR_BIT.
85641         (SIZE_BITS): New macro.
85642
85643 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85644
85645         * m4/getline.m4 (AM_FUNC_GETLINE):
85646         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85647         hosts.  Problem reported by Derek Robert Price in
85648         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85649         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85650         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85651
85652 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85653
85654         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85655         ceiling the allocation at NMAX bytes rather than silently
85656         discarding input bytes before NMAX is reached.  This makes
85657         a difference only if NMAX exceeds SIZE_MAX / 2.
85658
85659         * lib/obstack.c: Merge from glibc.
85660         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85661         Add libc_hidden_def (_obstack_newchunk).
85662         (_obstack_free) [! defined _LIBC]: Remove.
85663         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85664         a clone of the function body.
85665         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85666         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85667
85668         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85669         glibc.
85670         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85671         arg to memcpy.
85672
85673         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85674         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85675         Don't use lvalue casts, as GCC plans to remove support for them
85676         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85677         was also present in the non-GCC version, indicating that this
85678         code had always been buggy and had never been widely used.
85679         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85680         Use the fast variant of each macro, rather than copying the
85681         definiens of the fast variant; that way, we'll be more likely to
85682         catch future bugs in the fast variants.
85683
85684 2003-10-20  Bruno Haible  <bruno@clisp.org>
85685
85686         * modules/wait-process: New file.
85687         * MODULES.html.sh (func_all_modules): Add wait-process.
85688
85689 2003-10-20  Bruno Haible  <bruno@clisp.org>
85690
85691         * m4/wait-process.m4: New file.
85692
85693 2003-10-20  Bruno Haible  <bruno@clisp.org>
85694
85695         * lib/wait-process.h: New file, from GNU gettext.
85696         * lib/wait-process.c: New file, from GNU gettext.
85697
85698 2003-10-19  Jim Meyering  <jim@meyering.net>
85699
85700         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85701         HPUX 10.20.
85702
85703 2003-10-18  Karl Berry  <karl@gnu.org>
85704
85705         * config/config.guess: update from config.
85706
85707 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85708
85709         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85710         (getgroups): First arg is int, not size_t.
85711         Don't let 'free' mangle errno.
85712
85713 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85714
85715         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85716
85717 2003-10-16  Karl Berry  <karl@gnu.org>
85718
85719         * config/config.{guess,sub}: update from config.
85720
85721 2003-10-16  Jim Meyering  <jim@meyering.net>
85722
85723         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85724         memcpy.
85725
85726 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85727
85728         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85729         (SIZE_MAX): Remove.
85730         (new_exclude, add_exclude_file): Initial size no longer needs to
85731         be a power of 2.
85732         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85733         our own address arithmetic overflow checking.
85734
85735         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85736         (fnmatch): Do not alloca more than 2000 wide characters;
85737         instead, use malloc for large buffers.
85738         Check for address arithmetic overflow, and return -1
85739         with errno set to ENOMEM in that case.
85740         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85741         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85742         instead, return -1.  Check for address arithmetic overflow.
85743
85744 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85745
85746         Handle invalid suffixes and overflow independently, so that
85747         callers can treat them independently as needed.  Fix some bugs in
85748         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85749         suffix for a human-readable blocksize.  The major caller-visible
85750         change is the addition of a new
85751         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85752         that both overflow and suffix chars were found.
85753
85754         * lib/human.c (humblock): Don't check separately for invalid suffix
85755         char; that is xstrtoumax's job (now that its bug is fixed).
85756         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85757         INTMAX_MAX]: New macros.
85758         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85759         TYPE_MAXIMUM): New macros.
85760         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85761         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85762         if overflow occurs, as it's what __strtol does and it's more useful
85763         in practice.
85764         (__xstrtol): If __strtol reports some error other than ERANGE,
85765         reflect it to the caller as LONGINT_INVALID.  If it reports
85766         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85767         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85768         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85769         value.
85770         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85771         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85772         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85773         [defined UINTMAX_MAX]: New macros.
85774
85775 2003-10-14  Bruno Haible  <bruno@clisp.org>
85776
85777         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85778
85779 2003-10-14  Bruno Haible  <bruno@clisp.org>
85780
85781         * m4/sig_atomic_t: New file, from GNU gettext.
85782         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85783
85784 2003-10-14  Bruno Haible  <bruno@clisp.org>
85785
85786         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85787         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85788         Also use volatile where needed.
85789
85790 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85791
85792         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85793         Change maintainer from Bruno Haible to 'all'.
85794
85795 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85796
85797         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85798
85799 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85800
85801         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85802         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85803         and define in terms of the other primitives.
85804         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85805         (SIZE_MAX): Define if not already defined.
85806         (array_size_overflow): New function.
85807         (xalloc_die): Abort instead of exiting if 'error' returns.
85808         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85809         (xmalloc, xrealloc): Use them.
85810         (xcalloc): Check for address arithmetic overflow.
85811         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85812         a bit faster than strcpy.
85813
85814 2003-10-10  Simon Josefsson  <jas@extundo.com>
85815
85816         * modules/argp (Depends-on): Add restrict and strcase.
85817
85818 2003-10-10  Simon Josefsson  <jas@extundo.com>
85819
85820         * m4/argp.m4: Add AC_C_INLINE.
85821
85822 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85823
85824         Merge getpass from libc, plus a few fixes.
85825
85826         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85827         Include <stdbool.h>.
85828         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85829         __fsetlocking to empty.
85830         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85831         do include <bits/libc-lock.h>.
85832         Do not include <fcntl.h>; not needed.
85833         [_LIBC]: Include <wchar.h>.
85834         (NOTCANCEL_MODE): New macro.
85835         (flockfile, funlockfile) [_LIBC]: New macros.
85836         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85837         [!_LIBC]: New macros.
85838         (call_fclose): New function.
85839         (getpass): Use it.  Save tty stream separately; this simplifies the
85840         code and makes it more reliable if stdin happens to equal stdout.
85841         Invoke __fsetlocking on tty.
85842         Handle thread cancellation if needed.
85843         Namespace cleanup (use __tcgetattr, __getline).
85844         Use bool for Booleans.
85845         [USE_IN_LIBIO]: Handle wide streams.
85846         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85847         stream might go where.
85848
85849         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85850         doesn't have to include <stdio.h> before us.
85851         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85852         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85853         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85854         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85855         if not declared, so that we can use getpass.c code from libc without
85856         rewriting it.
85857         (flockfile, ftrylockfile, funlockfile): New macros.
85858
85859 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85860
85861         * modules/getpass: Depend on stdbool.
85862
85863 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85864
85865         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85866
85867 2003-10-07  Karl Berry  <karl@gnu.org>
85868
85869         * config/config.{guess,sub}: update from config.
85870
85871 2003-10-06  Jim Meyering  <jim@meyering.net>
85872             Bruno Haible  <bruno@clisp.org>
85873
85874         This lets translators provide better translations for the
85875         "Written by ..." part of --version output.
85876         * lib/version-etc.h: Include stdarg.h.
85877         (version_etc_copyright): Declare as readonly.
85878         (version_etc): Make this function variadic with a NULL-terminated list
85879         of author name strings.
85880         (version_etc_va): New declaration.
85881         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85882         (version_etc_copyright): Declare as readonly.
85883         (version_etc_va): New function. Provide a different translatable string
85884         for each possible number of authors < 10. Abbreviate when there are 10
85885         authors or more.
85886         (version_etc): Make this function variadic. Call version_etc_va.
85887         Suggestion from Gary V. Vaughan.
85888
85889         * lib/long-options.h (parse_long_options): Change prototype: the
85890         authors string is moved to the end and becomes variadic.
85891         * lib/long-options.c: Include stdarg.h.
85892         (parse_long_options): Make this function variadic, too.
85893         Call version_etc_va, not version_etc.
85894
85895 2003-10-06  Bruno Haible  <bruno@clisp.org>
85896
85897         * modules/version-etc-2: Remove file.
85898         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85899
85900 2003-10-06  Bruno Haible  <bruno@clisp.org>
85901
85902         * modules/fatal-signal: New file.
85903         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85904
85905 2003-10-06  Bruno Haible  <bruno@clisp.org>
85906
85907         * m4/fatal-signal.m4: New file.
85908         * m4/signalblocking.m4: New file, from GNU gettext.
85909
85910 2003-10-06  Bruno Haible  <bruno@clisp.org>
85911
85912         * lib/version-etc-2.h: Remove file.
85913         * lib/version-etc-2.c: Remove file.
85914
85915 2003-10-06  Bruno Haible  <bruno@clisp.org>
85916
85917         * lib/fatal-signal.h: New file, from GNU gettext.
85918         * lib/fatal-signal.c: New file, from GNU gettext.
85919
85920 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85921
85922         * README: Rework advice for preventing empty .o files.
85923         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85924         not <sys/types.h>.
85925
85926 2003-10-04  Karl Berry  <karl@gnu.org>
85927
85928         * lib/argp*: update from libc.
85929
85930 2003-10-04  Karl Berry  <karl@gnu.org>
85931
85932         * config/config.{guess,sub}: update from config.
85933
85934 2003-10-02  Bruno Haible  <bruno@clisp.org>
85935
85936         * modules/lchown (Include): Add lchown.h.
85937         * modules/time_r (Include): Use "..." syntax.
85938         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85939
85940 2003-10-01  Simon Josefsson  <jas@extundo.com>
85941
85942         * MODULES.html.sh (func_all_modules): Move gethostname from section
85943         'based on' to section 'lacking' POSIX:2001.
85944
85945 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85946
85947         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85948         to output mode on the same stream.
85949
85950 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85951
85952         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85953         Fix arg typo in previous patch.
85954
85955 2003-09-28  Jim Meyering  <jim@meyering.net>
85956
85957         * lib/error.c: Correct cpp indentation.
85958
85959 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85960
85961         * modules/free: New file.
85962
85963 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85964
85965         * m4/free.m4: New file.
85966
85967 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85968
85969         * lib/minmax.h (MIN, MAX)
85970         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85971         Omit the special code that used __typeof__, since we worry that
85972         it could be more trouble than it's worth.  See:
85973         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85974         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85975
85976         * lib/free.c: New file.
85977
85978 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85979
85980         Trivial fixes to Makefile.am parts of module listings.
85981         * modules/strstr: Append strstr.h to lib_SOURCES.
85982         * modules/strcase: Likewise, for strcase.h.
85983
85984 2003-09-27  Karl Berry  <karl@gnu.org>
85985
85986         * config/mkinstalldirs: update from automake.
85987
85988 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85989
85990         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85991         (error_tail): Do not loop, reallocating temporary buffer, since
85992         the output cannot contain more wide characters than the input
85993         contains bytes, the size must be big enough already.  This avoids
85994         one potential size overflow calculation.  Check for size overflow
85995         when calculating temporary buffer size.  Free temporary buffer
85996         when done, if it was allocated with malloc; this plugs a memory
85997         leak.  Remove casts from void * to pointers, that are no longer
85998         needed now that we're assuming C89 or better.
85999
86000         Merge error changes from glibc.
86001
86002         * lib/error.c, error.h: Update copyright notice header to match glibc.
86003         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86004         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86005         Disable cancellation while printing error.
86006         * lib/error.h: Prepend __ to parameter names.
86007
86008 2003-09-26  Jim Meyering  <jim@meyering.net>
86009
86010         * lib/error.c (error_tail): Move some declarations
86011         into inner scope where the local variables are used.
86012
86013 2003-09-26  Bruno Haible  <bruno@clisp.org>
86014
86015         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86016         stpncpy().
86017         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86018
86019 2003-09-26  Bruno Haible  <bruno@clisp.org>
86020
86021         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86022         (stpncpy): Define as alias for gnu_stpncpy.
86023         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86024
86025 2003-09-25  Simon Josefsson  <jas@extundo.com>
86026
86027         * lib/xgetdomainname.h: New file.
86028         * lib/xgetdomainname.c: New file.
86029
86030 2003-09-25  Simon Josefsson  <jas@extundo.com>
86031             Bruno Haible  <bruno@clisp.org>
86032
86033         * modules/getdomainname: New file.
86034         * modules/xgetdomainname: New file.
86035         * MODULES.html.sh (func_all_modules): Add getdomainname,
86036         xgetdomainname.
86037
86038 2003-09-25  Simon Josefsson  <jas@extundo.com>
86039             Bruno Haible  <bruno@clisp.org>
86040
86041         * m4/getdomainname.m4: New file.
86042
86043 2003-09-25  Simon Josefsson  <jas@extundo.com>
86044             Bruno Haible  <bruno@clisp.org>
86045
86046         * lib/getdomainname.h: New file.
86047         * lib/getdomainname.c: New file.
86048
86049 2003-09-25  Karl Berry  <karl@gnu.org>
86050
86051         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86052
86053 2003-09-25  Karl Berry  <karl@gnu.org>
86054
86055         * config/install-sh: update from automake.
86056
86057 2003-09-25  Bruno Haible  <bruno@clisp.org>
86058
86059         * modules/version-etc-2: New file, from modules/version-etc with
86060         modifications.
86061         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86062
86063 2003-09-25  Bruno Haible  <bruno@clisp.org>
86064
86065         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86066         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86067
86068 2003-09-24  Simon Josefsson  <jas@extundo.com>
86069
86070         * modules/xgethostname: Add xgethostname.h.
86071
86072 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86073
86074         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86075         the buffer associated with the argument.  Bug reported by
86076         Simon Josefsson.
86077
86078 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86079
86080         * README: Document assumptions that 'int' is at least 32 bits
86081         wide, that integer arithmetic is 2's complement without overflow,
86082         that there are no holes in integer values, that adding sizes of
86083         two nonoverlapping objects can't overflow, and that all-bits-zero
86084         yields scalar zero.  Fix spelling and capitalization typos.
86085
86086 2003-09-19  Karl Berry  <karl@gnu.org>
86087
86088         * lib/argp.h: update from libc.
86089
86090 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86091
86092         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86093         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86094         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86095
86096 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86097
86098         * gnulib-tool: Use "test -h", not "test -L", for portability
86099         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86100         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86101         (sed_extract_prog): Issue s commands one-by-one, rather than
86102         using \| in one s command.
86103
86104 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86105
86106         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86107         input error, instead of returning NULL the next time we are called
86108         (and therefore losing track of errno).
86109
86110 2003-09-16  Bruno Haible  <bruno@clisp.org>
86111
86112         * gnulib-tool (func_create_testdir): Warn about duplicated
86113         dependencies.
86114
86115 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86116
86117         * modules/argmatch, modules/fatal, modules/obstack,
86118         modules/xalloc, modules/xgethostname: Sort dependencies by
86119         importance, not alphabetically.
86120
86121 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86122
86123         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86124         fails, so that the caller gets the proper errno.
86125
86126         * lib/readutmp.c (read_utmp): Likewise.
86127         Check for fstat error.  Close stream and free storage
86128         when failing.
86129
86130 2003-09-14  Karl Berry  <karl@gnu.org>
86131
86132         * config/srclist.txt (strdup.c): disable for c89 changes.
86133
86134 2003-09-14  Jim Meyering  <jim@meyering.net>
86135
86136         * lib/getloadavg.c: Correct cpp indentation.
86137         * lib/strdup.c: Likewise.
86138         * lib/vasnprintf.c: Likewise.
86139
86140 2003-09-14  Bruno Haible  <bruno@clisp.org>
86141
86142         * modules/fwriteerror: New file.
86143         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86144
86145 2003-09-14  Bruno Haible  <bruno@clisp.org>
86146
86147         * lib/fwriteerror.h: New file.
86148         * lib/fwriteerror.c: New file.
86149
86150 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86151
86152         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86153         modules/xgethostname, modules/xalloc: Depend on exit.
86154
86155 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86156
86157         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86158
86159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86160         and AC_MINIX, too, so that their extensions are available.
86161
86162         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86163         This macro has been superseded by gl_BACKUPFILE.
86164
86165         More patches to assume C89 or better.
86166
86167         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86168
86169         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86170         unconditionally.
86171         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86172         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86173         Include <string.h>, <stdlib.h> unconditionally.
86174         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86175         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86176         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86177         headers or for string.h.
86178         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86179         or strtoul.
86180
86181         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86182         headers.
86183         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86184         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86185         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86186         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86187         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86188         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86189         memcpy, memset.
86190         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86191         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86192         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86193         strtol.
86194         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86195         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86196         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86197         strtoul.
86198
86199 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86200
86201         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86202         * lib/obstack.c [!defined _LIBC]: Likewise.
86203         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86204         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86205         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86206
86207         More changes to assume C89 or better.
86208
86209         * lib/error.c (error_tail): Assume vprintf.
86210
86211         * lib/argmatch.c (getenv): Remove decl.
86212         * lib/progreloc.c (get_full_program_name): Define via prototype.
86213         * lib/setenv.c (clearenv): Likewise.
86214         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86215         needed.
86216         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86217         (malloc, memcpy): Remove decls.
86218         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86219         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86220         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86221         (memcpy): Remove macro.
86222         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86223         (__P): Remove.  All uses removed.
86224         (PTR): Remove.  All uses changed to void *.
86225         (CHAR_BIT, NULL): Remove.
86226         (spaces, zeros, memset_space, memset_zero)
86227         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86228         Remove.
86229         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86230         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86231         Define with prototype.
86232         Remove now-unnecessary prototype decl.
86233         (extra_args_spec): Assume ANSI C.  All uses changed.
86234         (extra_args_spec_iso): Remove.
86235         (my_strftime, emacs_strftimeu): Define via prototype.
86236         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86237         unconditionally.
86238         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86239         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86240         (strtoul, strtol): Remove decls.
86241         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86242         LONG_MAX): Remove.
86243         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86244         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86245         (LOCALE_PARAM_PROTO): New macro.
86246         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86247         (INTERNAL (strtol), strtol): Define with a prototype.
86248         (PARAMS): Remove.  All uses removed.
86249         * lib/tempname.c: Include <string.h> unconditionally.
86250         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86251         * lib/xgethostname.c (main): Define with a prototype.
86252         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86253         Include <stdlib.h> unconditionally.
86254         (calloc, malloc, realloc, free): Remove decls.
86255         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86256         Include <stdlib.h> unconditionally.  Sort include file names.
86257         (strtod): Remove.
86258         (xstrtod): Define with a prototype.
86259         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86260         (strtol, strtoul): Remove decls.
86261
86262 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86263
86264         More patches to assume C89 or better.
86265         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86266         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86267         string.h, memchr, STDC_HEADERS.
86268
86269 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86270
86271         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86272         Include <stdlib.h>, <string.h> unconditionally.
86273         Remove now-unnecessary cast to char *.
86274         * lib/strnlen.c: Include <string.h> unconditionally.
86275         * lib/yesno.c (yesno): Define with a prototype.
86276
86277 2003-09-11  Bruno Haible  <bruno@clisp.org>
86278
86279         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86280
86281 2003-09-10  Jim Meyering  <jim@meyering.net>
86282
86283         * lib/error.c: Correct indentation of cpp directives.
86284
86285 2003-09-10  Bruno Haible  <bruno@clisp.org>
86286
86287         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86288         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86289         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86290         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86291         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86292         <stdlib.h> and <string.h> checks.
86293         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86294         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86295
86296 2003-09-10  Bruno Haible  <bruno@clisp.org>
86297
86298         * lib/strcspn.c: Include <string.h> unconditionally.
86299         * lib/strpbrk.c: Include <string.h> unconditionally.
86300         * lib/strstr.c: Include <string.h> unconditionally.
86301         * lib/unicodeio.c: Include <string.h> unconditionally.
86302         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86303         * lib/unsetenv.c: Likewise.
86304         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86305         * lib/yesno.c: Include <stdlib.h> unconditionally.
86306         (rpmatch): Add prototype.
86307
86308 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86309
86310         More patches to assume C89 or better.
86311         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86312         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86313         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86314         or for string.h.
86315         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86316         stdlib.h.
86317         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86318         C headers.
86319         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86320         string.h.
86321         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86322         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86323         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86324         or for string.h.
86325         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86326         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86327         C headers.
86328         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86329         memcpy.
86330         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86331         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86332         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86333         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86334         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86335         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86336         string.h, free.
86337         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86338         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86339         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86340         C headers, or for string.h.
86341         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86342         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86343         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86344         headers, memory.h, stdlib.h, string.h, strings.h.
86345         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86346         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86347         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86348         strchr.
86349         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86350         headers, memory.h, string.h.
86351         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86352         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86353         free.
86354         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86355         headers.
86356         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86357         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86358         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86359         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86360         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86361
86362 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86363
86364         More K&R removal.
86365
86366         * lib/acosl.c (main): Use a prototype.
86367         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86368         tanl.c: Likewise.
86369
86370         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86371
86372         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86373         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86374         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86375         with a prototype.
86376         * lib/getopt.c (const): Remove macro.
86377         Include <string.h> unconditionally.
86378         (my_index): Remove; all uses changed to strchr.
86379         (strlen): Remove decl.
86380         (exchange): Remove forward decl; no longer needed.
86381         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86382         Define with prototype.
86383         * lib/getopt1.c (const): Remove macro.
86384         (getopt_long, getopt_long_only, main): Define with prototype.
86385
86386         * lib/getugroups.c: Include <string.h> unconditionally.
86387
86388         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86389         (getusershell, setusershell, endusershell, readname, main):
86390         Define with prototypes.
86391
86392         * lib/group-member.c: Include group-member.h first.
86393         Include <stdlib.h> unconditionally.
86394
86395         * lib/hard-locale.c: Include hard-locale.h first.
86396         Include <stdlib.h>, <string.h> unconditionally.
86397
86398         * lib/hash.c (free, malloc): Remove decls.
86399         Include <stdlib.h> unconditionally.
86400
86401         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86402         (getenv): Do not declare.
86403
86404         * lib/idcache.c: Include <string.h> unconditionally.
86405
86406         * lib/long-options.c: Include long-options.h first, to test interface.
86407         Include <stdlib.h> unconditionally.
86408
86409         * lib/makepath.c: Include makepath.h first, to test interface.
86410         Include <stdlib.h> and <string.h> unconditionally.
86411
86412         * lib/linebuffer.c: Include <stdlib.h>.
86413         (free): Remove decl.
86414
86415         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86416         stddef.h. rpl_malloc returns void *, not char *.
86417         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86418         prototype.
86419
86420         * lib/md5.h: Include <limits.h> unconditionally.
86421         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86422         (__P): Remove; all uses removed.
86423         * lib/md5.c: Include "md5.h" first.
86424         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86425         md5_buffer, md5_process_bytes, md5_process_block):
86426         Define with prototypes.
86427         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86428         * lib/sha.c: Include "sha.h" first.
86429         Include <stdlib.h>, <string.h> unconditionally.
86430
86431         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86432         * lib/memcmp.c (__ptr_t): Likewise.
86433         * lib/memrchr.c (__ptr_t): Likewise.
86434         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86435         Include <string.h> unconditionally.
86436         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86437         * lib/memchr.c: Include <stdlib.h> unconditionally.
86438         * lib/memchr.c (LONG_MAX): Remove.
86439         * lib/memrchr.c (LONG_MAX): Likewise.
86440         * lib/memchr.c (__memchr): Define via a prototype.
86441         * lib/memrchr.c (__memrchr): Likewise.
86442         * lib/memcmp.c (__P): Remove, and remove all uses.
86443         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86444         Remove forward decls; no longer needed.
86445         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86446         Use types required by C89 in prototype.
86447
86448         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86449         * lib/savedir.c: Likewise.
86450         * lib/mkdir.c (free): Remove decl.
86451         * lib/rmdir.c (rmdir): Define with a prototype.
86452         * lib/savedir.c: Include savedir.h first, to test interface.
86453
86454         * lib/mktime.c (STDC_HEADERS): Remove.
86455         Include <stdlib.h>, <string.h> unconditionally.
86456
86457         * lib/modechange.c: Include <stdlib.h> unconditionally.
86458         (malloc): Remove decl.
86459
86460         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86461         (free): Remove decl.
86462
86463         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86464         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86465         (This type really should be intptr_t, but that's a C99ism.)
86466         (_obstack_memcpy): Remove: all uses changed to memcpy.
86467         Include <string.h> unconditionally.
86468         (struct obstack): Assume __STDC__ for types of members
86469         chunkfun, freefun, extra_arg.
86470         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86471         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86472         obstack_begin, obstack_specify_allocation,
86473         obstack_specify_allocation_with_arg, obstack_chunkfun,
86474         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86475         Remove unprototyped decls and the macros that use them.
86476         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86477         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86478         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86479         (defined __STDC__ && __STDC__)]:
86480         Remove nonprototyped code.
86481         Include <stdlib.h> unconditionally.
86482         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86483         _obstack_allocated_p, _obstack_free, obstack_free,
86484         _obstack_memory_used, print_and_abort):
86485         Define using prototypes.
86486         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86487         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86488         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86489         obstack_next_free, obstack_object_size, obstack_room) [0]:
86490         Remove unused, unprototyped code.
86491
86492         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86493
86494         * lib/physmem.c (physmem_total, physmem_available, main): Define
86495         with prototypes.
86496
86497         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86498         (main): Define with a prototype.
86499
86500         * lib/posixver.c (getenv): Remove decl.
86501
86502         * lib/putenv.c (malloc): Returns void *, not char *.
86503         Include <string.h> unconditionally.
86504         (strchr, memcpy, NULL): Do not define.
86505
86506         * lib/readtokens.c: Include readtokens.h first, to test interface.
86507         Include <stdlib.h>, <string.h> unconditionally.
86508         (init_tokenbuffer): Define with a prototype.
86509
86510         * lib/regex.c (PARAMS): Remove.  All uses removed.
86511         All uses of _RE_ARGS removed, too.
86512         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86513         unconditionally.
86514         (bzero): Assume memset exists.
86515         (memcmp, memcpy, NULL): Remove.
86516         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86517         char, or assignments to local vars of type signed char.
86518         (init_syntax_once, PREFIX(extract_number_and_incr),
86519         PREFIX(print_partial_compiled_pattern),
86520         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86521         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86522         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86523         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86524         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86525         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86526         wcs_compile_range, byte_compile_range, truncate_wchar,
86527         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86528         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86529         count_mbs_length, wcs_re_match_2_internal,
86530         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86531         PREFIX(alt_match_null_string_p),
86532         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86533         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86534         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86535         now-unnecessary declaration, if any.
86536         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86537         regcomp, regexec):
86538         Remove now-unnecessary casts among pointer types.
86539         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86540
86541         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86542         (free): Remove decl.
86543
86544         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86545
86546         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86547         (free): Remove decl.
86548
86549         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86550         * lib/xgetcwd.c: Likewise.
86551
86552         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86553         (free): Remove decl.
86554
86555         * lib/strchrnul.c (strchrnul): Define with a prototype.
86556         Fix bug: c_in was not converted to char before searching.
86557
86558         The following changes are not K&R related:
86559
86560         * lib/group-member.h: Include <sys/types.h>, so that this file is
86561         self-contained.
86562         * lib/makepath.h: Likewise.
86563
86564         * lib/getusershell.c (readname, default_index, line_size, readname):
86565         Use size_t, not int, for sizes.
86566         (readname): If the size overflows, report an error instead of
86567         looping forever.
86568
86569 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86570
86571         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86572         libc.
86573
86574 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86575
86576         * README: New section: portability guidelines.
86577
86578 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86579
86580         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86581         C89 spec.
86582
86583 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86584
86585         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86586
86587 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86588
86589         Assume C89 or better; remove K&R cruft.
86590         A few of these changes were first proposed by Derek Robert Price
86591         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86592
86593         * lib/addext.c: Include <string.h> unconditionally.
86594         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86595         Don't declare getenv or malloc.
86596
86597         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86598         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86599         (NULL): Remove.
86600         (find_stack_direction, alloca): Use prototypes.
86601
86602         * lib/atexit.c (atexit): Define using a prototype.
86603
86604         * lib/basename.c, dirname.c, stripslash.c:
86605         Include <string.h> unconditionally.
86606
86607         * lib/bcopy.c: Include <stddef.h>.
86608         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86609
86610         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86611
86612         * lib/error.h (error, error_at_line, error_print_progname)
86613         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86614         * lib/error.c: Include error.h first, to check interface.
86615         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86616         (VA_START): Remove; all uses changeed to va_start.
86617         (exit, strerror): Remove decls.
86618         (error_print_progname): Prototype uncondionally.
86619         Don't include <errno.h>; no longer needed.
86620         (private_strerror): Remove.
86621         (error_tail): Always define.
86622         (error, error_at_line): Assume C89 or better; always use prototypes.
86623         * lib/fatal.c: Include "fatal.h" first, to test interface.
86624         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86625         (VA_START): Remove; all uses changed to va_start.
86626         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86627         this case.
86628         (exit): Remove decl.
86629         (fatal): Prototype unconditionally.  Assume va_start works.
86630         Abort at end, to pacify gcc.
86631
86632         * lib/euidaccess.c (main): Define with a prototype.
86633
86634         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86635
86636         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86637
86638         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86639         prototypes.
86640         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86641         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86642         (getenv): Remove decl.
86643         (fnmatch): Define using a prototype.
86644         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86645         (FCT): Define using a prototype.
86646
86647         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86648
86649         * lib/gethostname.c: Include <stddef.h>.
86650         (gethostname): Define with prototype.  Length is size_t, not int.
86651
86652 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86653
86654         Assume C89 or better; remove K&R cruft.
86655         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86656         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86657         string.h, getenv, malloc.
86658         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86659         headers.
86660         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86661         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86662         do not check for strerror.
86663         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86664         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86665         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86666         do not check for doprnt or vprintf.
86667         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86668         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86669
86670 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86671
86672         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86673         getversion.c should have been removed then, but was accidentally
86674         preserved.
86675
86676         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86677         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86678
86679 2003-09-08  Karl Berry  <karl@gnu.org>
86680
86681         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86682                 config, forget about prep.
86683
86684         * config/depcomp, missing: update from automake.
86685
86686 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86687
86688         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86689         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86690
86691 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86692
86693         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86694         copy_tm_result.  Bug reported by Simon Josefsson in
86695         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86696
86697 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86698
86699         * m4/time_r.m4: New file.
86700         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86701         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86702         is. Check for timegm declaration.
86703         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86704         Do not check for gmtime_r.
86705         Replace mktime if __mktime_internal does not exist and if mktime
86706         hasn't been replaced already.
86707
86708 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86709
86710         * lib/time_r.c, lib/time_r.h: New files.
86711
86712         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86713         __localtime_r.
86714         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86715         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86716
86717         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86718         __gmtime_r.
86719         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86720         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86721         Include <time_r.h>.
86722
86723         * lib/timegm.c: Switch to glibc implementation, with the following
86724         changes:
86725         [defined HAVE_CONFIG_H]: Include <config.h>.
86726         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86727         (__mktime_internal) [!defined _LIBC]: New decl.
86728         (__gmtime_r) [!defined _LIBC]: New macro and function.
86729         (timegm): Use a prototype, since gnulib assumes C89.
86730         Do not bother declaring tmp to be const, as it's not really usefu.
86731         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86732         (timegm): Declare only if HAVE_DECL_TIMEGM.
86733
86734 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86735
86736         * MODULES.html.sh (func_all_modules): Add time_r.
86737         * modules/time_r: New file.
86738         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86739         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86740
86741 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86742
86743         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86744         Bug reported by Lute Kamstra in
86745         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86746
86747         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86748         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86749         course with correspondingly smaller numbers for tomorrow and
86750         yesterday.  From Tadayoshi Funaba.  Originally installed into
86751         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86752         coreutils merge?).
86753
86754 2003-08-31  Simon Josefsson  <jas@extundo.com>
86755
86756         * modules/timegm: New file.
86757         * MODULES.html.sh (func_all_modules): Add timegm.
86758
86759 2003-08-31  Simon Josefsson  <jas@extundo.com>
86760
86761         * m4/timegm.m4: New file.
86762
86763 2003-08-31  Simon Josefsson  <jas@extundo.com>
86764
86765         * lib/timegm.h: New file.
86766         * lib/timegm.c: New file.  Based on
86767         wget-1.8.2/src/http.c:mktime_from_utc.
86768
86769 2003-08-31  Karl Berry  <karl@gnu.org>
86770
86771         * lib/argp.h: update from libc.
86772
86773 2003-08-28  Bruno Haible  <bruno@clisp.org>
86774
86775         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86776         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86777         followed by '#define fnmatch fnmatch_posix' gives an error.
86778
86779 2003-08-28  Bruno Haible  <bruno@clisp.org>
86780
86781         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86782         warning on QNX, which defines O_BINARY to 000000.
86783
86784 2003-08-27  Jim Meyering  <jim@meyering.net>
86785
86786         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86787         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86788         would fail after 32.  Reported by Danny Levinson.  Details here:
86789         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86790
86791 2003-08-24  Bruno Haible  <bruno@clisp.org>
86792
86793         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86794         MSVC7 <stdio.h> is included later.
86795
86796 2003-08-22  Simon Josefsson  <jas@extundo.com>
86797
86798         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86799
86800 2003-08-20  Karl Berry  <karl@gnu.org>
86801
86802         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86803
86804 2003-08-20  Bruno Haible  <bruno@clisp.org>
86805
86806         * modules/progname: New file.
86807         * MODULES.html.sh (func_all_modules): Add progname.
86808
86809 2003-08-20  Bruno Haible  <bruno@clisp.org>
86810
86811         * lib/progname.h: New file, from GNU gettext.
86812         * lib/progname.c: New file, from GNU gettext.
86813         * lib/progreloc.c: New file, from GNU gettext.
86814
86815 2003-08-19  Jim Meyering  <jim@meyering.net>
86816
86817         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86818         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86819
86820 2003-08-19  Bruno Haible  <bruno@clisp.org>
86821
86822         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86823         more.
86824
86825 2003-08-19  Bruno Haible  <bruno@clisp.org>
86826
86827         * lib/xstrdup.c: Assume <string.h> exists.
86828
86829 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86830
86831         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86832         in makefile rules.
86833
86834 2003-08-18  Jim Meyering  <jim@meyering.net>
86835
86836         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86837         * m4/lib-ld.m4: Likewise.
86838
86839 2003-08-18  Jim Meyering  <jim@meyering.net>
86840
86841         * lib/setenv.h: Indent nested cpp directive.
86842         * lib/vasnprintf.c: Remove trailing blanks.
86843
86844 2003-08-17  Simon Josefsson  <jas@extundo.com>
86845
86846         * modules/xstrndup: New file.
86847         * MODULES.html.sh (func_all_modules): Add xstrndup.
86848
86849 2003-08-17  Simon Josefsson  <jas@extundo.com>
86850
86851         * modules/argp: Fix autoconf macro name. Add more dependencies.
86852
86853 2003-08-17  Simon Josefsson  <jas@extundo.com>
86854
86855         * m4/xstrndup.m4: New file.
86856
86857 2003-08-17  Simon Josefsson  <jas@extundo.com>
86858
86859         * m4/argp.m4: New file.
86860
86861 2003-08-17  Simon Josefsson  <jas@extundo.com>
86862             Bruno Haible  <bruno@clisp.org>
86863
86864         * lib/xstrndup.h: New file.
86865         * lib/xstrndup.c: New file.
86866
86867 2003-08-17  Bruno Haible  <bruno@clisp.org>
86868
86869         * modules/strndup (Files, Include): Add lib/strndup.h.
86870
86871 2003-08-17  Bruno Haible  <bruno@clisp.org>
86872
86873         * modules/euidaccess (Files): Add lib/euidaccess.h.
86874
86875 2003-08-17  Bruno Haible  <bruno@clisp.org>
86876
86877         * lib/strndup.h: New file.
86878
86879 2003-08-17  Bruno Haible  <bruno@clisp.org>
86880
86881         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86882         like AC_GNU_SOURCE.
86883         * modules/extensions (configure.ac): Comment out the invocation of
86884         gl_USE_SYSTEM_EXTENSIONS.
86885
86886 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86887
86888         Merges from coreutils, etc.
86889         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86890         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86891         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86892         fixing a typo.
86893         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86894         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86895
86896 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86897
86898         Document merge from coreutils.
86899         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86900         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86901         * modules/utime: Add m4/utimes-null.m4.
86902
86903 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86904
86905         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86906         space, undoing this 2003-08-12 change:
86907         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86908
86909 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86910
86911         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86912         strtoul.c from libc, undoing this 2003-08-12 change:
86913         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86914
86915 2003-08-16  Jim Meyering  <jim@meyering.net>
86916
86917         Merges from coreutils.
86918         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86919         prefix.  Adjust cache variables similarly.  Create 500 rather than
86920         just 300 files, to exercise bug on Darwin6.5, too.
86921         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86922         $missing_dir.
86923         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86924         AM_SYS_POSIX_TERMIOS.
86925         Reported by mkc@mathdogs.com.
86926         Also change use of $am_cv_sys_posix_termios
86927         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86928         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86929         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86930         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86931         in /proc/mounts until it finds one with matching device number.  This
86932         is unnecessary when the FILE argument *is* a mount point.  No stat call
86933         is necessary in that case.  So, disable the statvfs-testing code on
86934         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86935         as RedHat bug# 84846.
86936         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86937         to 1MB, so as not to render systems with no stack size limit (e.g.,
86938         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86939         Include <unistd.h>.  On some systems,
86940         it is required for the definition of _SC_PAGESIZE.
86941
86942 2003-08-16  Jim Meyering  <jim@meyering.net>
86943
86944         Merge from coreutils.
86945         * lib/xstrtoimax.c: #else #if -> #elif.
86946         * lib/xstrtoumax.c: Likewise.
86947
86948 2003-08-16  Jim Meyering  <jim@meyering.net>
86949
86950         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86951         * m4/utimes.m4: Removed.
86952         * m4/utimes-null.m4: Renamed from utimes.m4.
86953
86954         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86955         to 1MB, so as not to render systems with no stack size limit (e.g.,
86956         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86957         Include <unistd.h>.  On some systems,
86958         it is required for the definition of _SC_PAGESIZE.
86959
86960 2003-08-16  Jim Meyering  <jim@meyering.net>
86961         and Paul Eggert  <eggert@cs.ucla.edu>
86962
86963         Merges from coreutils, etc.
86964
86965         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86966         using the latest version from cvs.  This avoids problems with #line
86967         directives using a vendor (Sun) compiler.
86968         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86969         Don't set GETGROUPS_LIB here; now it's
86970         done via getgroups.m4's wrapper function.
86971         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86972         rather than just in sh-util/configure.in, so that the
86973         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86974         same.
86975         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86976         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86977         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86978         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86979         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86980         Remove code that is now done by the newly-required macros.
86981         Append $(EXEEXT) to DF_PROG.
86982         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86983         Do not invoke or require the following here,
86984         since prereq.m4 or some gnulib .m4 now does this for us:
86985         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86986         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86987         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86988         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86989         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86990         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86991         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86992         AC_FUNC_OBSTACK.
86993         Do not replace the following functions, as this is now the job
86994         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86995         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86996         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86997         atexit getpass, strdup, getpagesize.
86998         Replace 'raise'.
86999         Do not check for the following functions, as this is now the job
87000         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87001         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87002         setregid.
87003         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87004         Check for sys/sysctl.h.
87005         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87006         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87007         of checking for ssize_t ourselves.
87008
87009         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87010         Require every macro that gnulib/modules/* suggests for us.
87011         (jm_PREREQ_ADDEXT): New macro.
87012         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87013         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87014
87015         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87016         (gl_PHYSMEM): Use it.
87017         Also check for `table' function.
87018         Check for new headers and functions.
87019         Add check for sys/sysmp.h.
87020         With suggestions from Kaveh Ghazi.
87021         Ignore headers that are present but cannot be compiled.  This
87022         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87023         C 5.4.
87024
87025 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87026
87027         Document merge from coreutils.
87028         * modules/userspec: Depend on posixver.
87029         * modules/strftime: Depend on tzset.
87030
87031 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87032
87033         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87034         rather than tab, after '#' in shell-script copyright notices.
87035         Suggested by Bruno Haible.
87036
87037 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87038
87039         * config/srclist-update: Use three spaces, rather than tab, after '#'
87040         in shell-script copyright notices.  Suggested by Bruno Haible.
87041         Remove unnecessary parenthesization in regular expression.
87042
87043 2003-08-15  Jim Meyering  <jim@meyering.net>
87044
87045         Merge from coreutils.
87046         * lib/xgethostname.c: Include <stdlib.h>.
87047         (xghostname): Don't exit for anything other than memory-related
87048         failure; just return NULL.
87049         * lib/userspec.c: Include "posixver.h".
87050         (parse_user_spec): Accept `.' as a separator only
87051         in pre-POSIX-200112 mode.
87052         * lib/strtoimax.c: Use #elif rather than #else #if.
87053         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87054         Remove function, now that we can rely on a working tzset function.
87055         [!_LIBC]: Ensure that the required autoconf test has been run.
87056         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87057         Use underlying_strftime for %r.
87058         * lib/sha.c: Merge in some clean-up and optimization changes from
87059         glibc.
87060         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87061         Ensure that it is a multiple of 64.
87062         Rearrange loop exit tests so as to avoid performing an
87063         additional fread after encountering an error or EOF.
87064         * lib/realloc.c: Update copyright date.
87065
87066 2003-08-15  Jim Meyering  <jim@meyering.net>
87067         and Paul Eggert  <eggert@twinsun.com>
87068
87069         Merge from coreutils.
87070         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87071         member but strut utmpx does not.  Needed for AIX 4.3.3.
87072         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87073
87074 2003-08-15  Jim Meyering  <jim@meyering.net>
87075         and Paul Eggert  <eggert@cs.ucla.edu>
87076
87077         Merges from coreutils, etc.
87078         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87079         Require gl_FUNC_TZSET_CLOBBER.
87080         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87081         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87082         members.
87083
87084 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87085
87086         Help the merge from coreutils.
87087         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87088         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87089         * m4/tzset.m4: Use it too.
87090
87091 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87092
87093         * modules/tzset: New file.
87094
87095 2003-08-14  Jim Meyering  <jim@meyering.net>
87096
87097         Merges from coreutils.
87098         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87099         variable names, rather than @FNMATCH_H@.
87100         * modules/alloca: Likewise for $(ALLOCA_H).
87101
87102         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87103         the three copies of the literal target, `fnmatch.h'.
87104         * modules/alloca (alloca.h): Likewise.
87105
87106 2003-08-14  Jim Meyering  <jim@meyering.net>
87107
87108         Merge from coreutils.
87109         * m4/tzset.m4: New file.
87110         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87111         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87112         otherwise, AIX 5.1 systems would end up using the latter.
87113         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87114         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87115         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87116         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87117
87118 2003-08-14  Jim Meyering  <jim@meyering.net>
87119
87120         Merge from coreutils.
87121         * lib/obstack.h: Whitespace changes.
87122         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87123         and xcalloc return values.
87124         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87125         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87126         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87127         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87128         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87129         error from mntctl.
87130         Use mntctl's return value to drive the entry-processing loop, since
87131         we can't rely on the value of the vmt_length member in the last
87132         entry.  On some systems doing so could result in exhausting
87133         virtual memory.  Based in part on a patch from Mike Jetzer.
87134
87135 2003-08-14  Jim Meyering  <jim@meyering.net>
87136         and Paul Eggert  <eggert@twinsun.com>
87137
87138         Merges from coreutils, plus other fixes.
87139         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87140         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87141         for credits and details.  Thanks to Kaveh Ghazi for helping
87142         to keep these files in sync.
87143         (ARRAY_SIZE): Define it.
87144         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87145         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87146         (memcasecmp): Don't assume size_t fits in unsigned int.
87147         Remove casts and duplicate code.
87148         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87149         (memcpy): Remove definition.
87150         Merge in some clean-up and optimization changes from glibc.
87151         [BLOCKSIZE]: Move definition to top of file.
87152         Ensure that it is a multiple of 64.
87153         Rearrange loop exit tests so as to avoid performing an
87154         additional fread after encountering an error or EOF.
87155         * lib/md5.h (md5_uintptr): Define.
87156         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87157         return to the initial working directory.  Preserve errno
87158         for caller.
87159         * lib/idcache.c: Include "xalloc.h".
87160         (xmalloc, xrealloc): Remove decls.
87161         (getuser): Remove casts no longer required in C89.
87162         * lib/human.c: Include stdio.h, for sprintf.
87163         * lib/group-member.c: Include "xalloc.h".
87164         (xmalloc, xrealloc): Remove decls.
87165         (get_group_info): Remove casts no longer required in C89.
87166         * lib/getusershell.c (readname): Remove casts no longer required in
87167         C89.
87168         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87169         * lib/getline.c: Whitespace fix, from coreutils.
87170
87171 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87172
87173         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87174         Check for isascii.
87175
87176         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87177         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87178         Undo previous (whitespace-only) change.
87179
87180 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87181
87182         * lib/exclude.c: Include <ctype.h>
87183         (IN_CTYPE_DOMAIN): New macro.
87184         (is_space): New fn.
87185         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87186         and empty lines.
87187
87188         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87189         Undo previous (whitespace-only) change.
87190
87191 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87192
87193         * config/srclist-update: Change update back to the old behavior,
87194         leaving whitespace alone.  Use one 'sed' command rather than a
87195         pipeline.
87196         (fixlicense): Now a variable, not a function.
87197         (remove_trailing_blanks): Remove.
87198         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87199         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87200         Undo previous (whitespace-only) change.
87201
87202 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87203
87204         Merge from coreutils.
87205         * modules/euidaccess: Add lib_SOURCES, include for new
87206         file euidaccess.h
87207
87208 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87209
87210         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87211         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87212         Normalize leading white space and remove trailing white space.
87213
87214         Merge from coreutils
87215         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87216
87217         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87218         0.12.1.  These files are now being upgraded automatically by
87219         ../config/srclist-update.
87220
87221 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87222
87223         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87224         Normalize leading white space and remove trailing white space.
87225         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87226         notice, as per ../config/srclist-update.
87227
87228         Merge from coreutils.
87229         * lib/euidaccess.h: New file.
87230         * lib/euidaccess.c: Include it.
87231         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87232         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87233         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87234
87235 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87236
87237         * config/srclist-update: Add copyright notice.
87238         (remove_id_lines, remove_trailing_blanks): New constants.
87239         (fixfile): Use them to normalize spacing a bit in copied files.
87240         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87241         Normalize leading white space and remove trailing white space.
87242
87243         * config/texinfo.tex: Sync with texinfo.
87244
87245         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87246         strtoul.c from libc, to merge coreutils whitespace changes.
87247
87248         * config/srclist.txt: Get the following m4 files from gettext:
87249         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87250         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87251         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87252         wint_t.m4.
87253
87254 2003-08-12  Karl Berry  <karl@gnu.org>
87255
87256         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87257         been made.
87258
87259 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87260
87261         * modules/gnu-source, m4/gnu-source.m4:
87262         Remove; we're assuming Autoconf 2.54 or later now.
87263         Suggested by Bruno Haible.
87264         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87265
87266 2003-08-11  Bruno Haible  <bruno@clisp.org>
87267
87268         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87269
87270 2003-08-11  Bruno Haible  <bruno@clisp.org>
87271
87272         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87273         (vasnprintf): Use it instead of wcslen.
87274
87275 2003-08-11  Bruno Haible  <bruno@clisp.org>
87276
87277         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87278         value to ensure that _Bool promotes to int. Use #define for _Bool when
87279         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87280
87281 2003-08-10  Karl Berry  <karl@gnu.org>
87282
87283         * lib/regex.h: update from libc (whitespace fix).
87284
87285 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87286
87287         Merge some files from coreutils.  These changes were
87288         originally made by Jim Meyering.
87289         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87290         many older Unixes require this.
87291         * lib/alloca.c (alloca): Remove cast to argument of free;
87292         no longer needed in C89.
87293         * lib/alloca_.h, regex.h: Fix white space to match
87294         what GNU indent does.
87295
87296 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87297
87298         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87299         apparently Emacs's Unicode mode got confused before my 2003-08-05
87300         checkin.
87301
87302 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87303
87304         * m4/extensions.m4: New file.
87305         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87306         Require gl_USE_SYSTEM_EXTENSIONS.
87307         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87308         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87309
87310 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87311
87312         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87313         * modules/extensions, modules/gnu-source: New files.
87314         * modules/timespec, modules/unlocked-io: Depend on extensions.
87315
87316 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87317
87318         * modules/restrict: New file.
87319         * MODULES.html.sh (func_all_modules): Add restrict.
87320         * modules/regex: Depend on restrict.
87321
87322 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87323
87324         * m4/restrict.m4: New file.
87325         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87326
87327 2003-08-07  Bruno Haible  <bruno@clisp.org>
87328
87329         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87330         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87331
87332 2003-08-07  Bruno Haible  <bruno@clisp.org>
87333
87334         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87335         makes the module 'getndelim2' compatible with the module 'getline'.
87336
87337 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87338
87339         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87340         byte with "\201" to avoid glitches when editing that source file
87341         with multi-gnome-terminal.
87342
87343 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87344
87345         * lib/bumpalloc.h: Remove.
87346
87347 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87348
87349         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87350         * modules/bumpalloc: Remove.
87351
87352 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87353
87354         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87355         GNU coding style.
87356
87357         Merge from coreutils.
87358         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87359         1. From glibc.
87360         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87361         from Karl Berry, implemented by Jim Meyering.
87362         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87363         from Dmitry V. Levin.
87364         Remove anachronistic cast of xrealloc.
87365         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87366         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87367         type. Otherwise, it wouldn't compile with at least /bin/cc on
87368         ymp-cray-unicos9.0.2.X.
87369         Combine two mostly-identical uses of alloca into one.
87370         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87371
87372 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87373
87374         [From Emacs.]
87375
87376         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87377         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87378         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87379         obsolete NLIST_NAME_UNION.
87380         [__GNU__]: Undef BSD and FSCALE.
87381         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87382
87383 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87384
87385         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87386         an enum type, so that it's guaranteed to promote to int.  See:
87387         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87388
87389 2003-08-03  Karl Berry  <karl@gnu.org>
87390
87391         * config/depcomp: update from automake.
87392
87393 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87394
87395         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87396         (strerror): Don't assume that a printable int fits in 14 bytes.
87397
87398 2003-07-31  Bruno Haible  <bruno@clisp.org>
87399
87400         * modules/getpass-gnu: New file.
87401         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87402
87403 2003-07-31  Bruno Haible  <bruno@clisp.org>
87404
87405         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87406
87407 2003-07-24  Karl Berry  <karl@gnu.org>
87408
87409         * config/missing: update from automake.
87410
87411 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87412             Bruno Haible  <bruno@clisp.org>
87413
87414         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87415         * lib/getline.c (getline, getdelim): Likewise.
87416         Remove _GNU_SOURCE define; now it's defined in config.h through
87417         m4/getline.m4.
87418
87419 2003-07-23  Karl Berry  <karl@gnu.org>
87420
87421         * config/config.sub: update from prep.
87422
87423 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87424
87425         * modules/xalloc (Depends-on): Add exitfail.
87426         * modules/xmemcoll: Likewise.
87427
87428 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87429
87430         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87431         over-parenthesization in macros.
87432
87433         Sync with coreutils.
87434
87435         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87436         required by C99.
87437
87438         Use `exit_failure' for xalloc and xmemcoll instead of their own
87439         private exit-failure variables.
87440         * lib/xalloc.h (xalloc_exit_failure): Remove.
87441         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87442         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87443         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87444         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87445         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87446
87447 2003-07-20  Jim Meyering  <jim@meyering.net>
87448
87449         * modules/closeout (Depends-on): Add exitfail.
87450         Suggestion from Bruno Haible.
87451
87452 2003-07-19  Karl Berry  <karl@gnu.org>
87453
87454         * config/config.sub: update from prep.
87455
87456 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87457
87458         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87459         Remove.
87460         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87461         to test that it can stand by itself.  Include "exitfail.h".
87462         Clients should set exit_failure instead.
87463         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87464
87465 2003-07-18  Bruno Haible  <bruno@clisp.org>
87466
87467         * modules/getndelim2: New file.
87468         * modules/getline: Share files with module getndelim2.
87469         * modules/getnline: Depend on getndelim2 instead of sharing files with
87470         it. Add getnline.c to lib_SOURCES.
87471         * MODULES.html.sh (func_all_modules): Add getndelim2.
87472
87473 2003-07-18  Bruno Haible  <bruno@clisp.org>
87474
87475         * m4/getndelim2.m4: New file.
87476         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87477         invoke gl_PREREQ_GETNDELIM2.
87478         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87479         gl_PREREQ_GETNDELIM2.
87480         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87481         gl_GETNDELIM2.
87482
87483 2003-07-18  Bruno Haible  <bruno@clisp.org>
87484
87485         * lib/getndelim2.h: New file.
87486         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87487         getndelim2.h.
87488         (getndelim2): Make non-static. Change return type to ssize_t.
87489         * lib/getline.h: Change argument names.
87490         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87491         * lib/getnline.c: Include getndelim2.h.
87492
87493 2003-07-18  Andreas Schwab  <schwab@suse.de>
87494
87495         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87496
87497 2003-07-17  Karl Berry  <karl@gnu.org>
87498
87499         * config/config.sub: update from prep.
87500
87501 2003-07-17  Bruno Haible  <bruno@clisp.org>
87502
87503         * modules/getnline: New file.
87504         * modules/getline: Add lib/getndelim2.c to source file list.
87505         * MODULES.html.sh (func_all_modules): Add getnline.
87506
87507 2003-07-17  Bruno Haible  <bruno@clisp.org>
87508
87509         * m4/getnline.m4: New file.
87510
87511 2003-07-17  Bruno Haible  <bruno@clisp.org>
87512
87513         * m4/Makefile.am.in: Remove file.
87514         * m4/Makefile.am: Remove file.
87515         * m4/Makefile.in: Remove file.
87516
87517 2003-07-17  Bruno Haible  <bruno@clisp.org>
87518
87519         * lib/getnline.h: New file.
87520         * lib/getnline.c: New file.
87521         * lib/getndelim2.c: New file, extracted from getline.c.
87522         (getndelim2): Renamed from getdelim2, with added nmax argument.
87523         * lib/getline.c: Include getndelim2.c.
87524         (getdelim2): Moved out to getndelim2.c.
87525         (getline, getdelim): Update.
87526
87527 2003-07-17  Bruno Haible  <bruno@clisp.org>
87528
87529         * lib/Makefile.am: Remove file.
87530         * lib/Makefile.in: Remove file.
87531
87532 2003-07-17  Bruno Haible  <bruno@clisp.org>
87533
87534         * configure.in: Remove file.
87535         * Makefile.in: Remove file.
87536
87537 2003-07-17  Bruno Haible  <bruno@clisp.org>
87538
87539         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87540
87541 2003-07-16  Karl Berry  <karl@gnu.org>
87542
87543         * config/srclist-update: was running fixlicense twice, which caused
87544                 texinfo.tex to be nullified for some reason.  Simplify,
87545                 $gplsrc is no longer needed as far as I can see?
87546
87547 2003-07-16  Jim Meyering  <jim@meyering.net>
87548
87549         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87550
87551 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87552
87553         * config/srclist.txt: Get the following files from gettext-runtime/intl
87554         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87555         ref-del.sin.  From Bruno Haible.
87556         * config/srclist-update (fixfile): Change grep pattern again, since the
87557         previous fix didn't work (there was another trailing $).  Use
87558         '[$]' to escape the $s.
87559
87560 2003-07-15  Karl Berry  <karl@gnu.org>
87561
87562         * lib/vasnprintf.c: update from gettext.
87563
87564 2003-07-15  Karl Berry  <karl@gnu.org>
87565
87566         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87567         gets expanded when surrounded by '$'.
87568
87569 2003-07-15  Jim Meyering  <jim@meyering.net>
87570
87571         * modules/save-cwd: Don't depend on error.  From Derek Price.
87572
87573 2003-07-15  Jim Meyering  <jim@meyering.net>
87574
87575         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87576
87577 2003-07-14  Simon Josefsson  <jas@extundo.com>
87578
87579         * modules/mempcpy: New file.
87580         * MODULES.html.sh (func_all_modules): Add mempcpy.
87581
87582 2003-07-14  Simon Josefsson  <jas@extundo.com>
87583
87584         * m4/mempcpy.m4: New file.
87585
87586 2003-07-14  Simon Josefsson  <jas@extundo.com>
87587
87588         * lib/mempcpy.h: New file.
87589         * lib/mempcpy.c: New file.
87590
87591 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87592
87593         * modules/getdate, modules/posixtm: Depend on mktime.
87594
87595 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87596
87597         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87598         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87599         unicodeio.c, unicodeio.h, unlocked-io.h:
87600         Switch from LGPL to GPL.
87601
87602 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87603
87604         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87605         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87606         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87607         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87608         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87609         updated automatically by ../config/srclist-update.  This changes
87610         their license from LPGL to GPL.
87611
87612 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87613
87614         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87615         assumed to refer to the root of the most recent stable gettext version.
87616         * config/srclistvars.sh: Add defaults for eggert.
87617         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87618         Match "This program" as well as "The program".  This is needed
87619         for gettext.
87620
87621 2003-07-14  Jim Meyering  <jim@meyering.net>
87622
87623         Don't emit diagnostics.  Let callers do that.
87624         * lib/save-cwd.c: Don't include "error.h".
87625         (save_cwd): Don't call error.  Ensure that errno is valid
87626         when returning nonzero.
87627
87628         * lib/save-cwd.h (restore_cwd): Update prototype.
87629         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87630         Simplify.  Don't call error upon failure.  Let callers do that.
87631         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87632         when auditing is enabled.  But don't bother updating the #if.
87633
87634 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87635
87636         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87637         it breaks C++ compilation.
87638         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87639
87640 2003-07-10  Simon Josefsson  <jas@extundo.com>
87641
87642         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87643
87644 2003-07-10  Jim Meyering  <jim@meyering.net>
87645
87646         * m4/clock_time.m4: Remove trailing blank.
87647         * m4/intmax_t.m4: Likewise.
87648
87649 2003-07-10  Jim Meyering  <jim@meyering.net>
87650
87651         * lib/vasnprintf.c: Remove trailing blanks.
87652         Make cpp indentation consistent.
87653
87654 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87655
87656         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87657         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87658         Switch from LGPL to GPL.
87659
87660 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87661
87662         * config/srclist.txt: Sort sublists.  Add
87663         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87664         that differ from gnulib for one reason or another; we'd like this list
87665         to be smaller but for now let's document what we have.
87666
87667 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87668
87669         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87670         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87671         and sweeter "eval x=$x".
87672         * config/srclist.txt: Get lib/argp* from glibc.
87673
87674 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87675
87676         * lib/mktime.c: Fix some boundary cases and remove need for floating
87677         point.
87678
87679         Issue a compile-time diagnostic if time_t is floating point, or if
87680         two's complement arithmetic is not in effect, or if arithmetic
87681         right shift does not propagate the sign.  These assumptions were
87682         all in the original code but they weren't checked.
87683
87684         (TIME_T_MIDPOINT, verify): New macros.
87685         (__isleap): Remove; it has integer overflow problems.
87686         (leapyear): New function, without those problems.
87687         (ydhms_tm_diff): Remove; splitting into two parts.
87688         (ydhms_diff): New function, containing the arithmetic part of
87689         the old ydhms_tm_diff function.  Issue a compile-time
87690         diagnostic if we are not using C99 integer division.
87691         Avoid casts when possible.
87692         (guess_time_tm): New function, containing the checking part of
87693         the old ydhms_tm_diff function.  Return the new value, rather than
87694         the difference between it and the old.  Accept a new argument T
87695         so that *T specifies the old value.  Check for overflow in the result.
87696
87697         (__mktime_internal): Use a time_t offset, not a long int offset.
87698         This undoes the 2003-06-04 change, which is no longer needed now
87699         that we have better overflow checking.
87700         (localtime_offset): Likewise.
87701
87702         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87703         and long are 64-bit but int is only 32-bit.
87704         (ydhms_diff): Use long int to store year1 and yday1.
87705         Issue a compile-time diagnostic if long int is not wide enough.
87706
87707         (__mktime_internal): Use long int to store adjusted year and yday.
87708         Use plain C rather than preprocessor commands, if that doesn't
87709         affect efficiency.
87710         Check for overflow (and try to repair) after each probe
87711         rather than checking only at the very end.  This avoids some bugs
87712         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87713         does not equal GMT offset at maximum time).
87714         Use integer to check for overflow rather than floating point; this
87715         is more portable to non-IEEE hosts, and is a tad faster.
87716         When we detect that we are oscillating between two values,
87717         don't check whether tm_isdst has the requested value, since
87718         we already know the answer.  When tm_isdst has the wrong value,
87719         use a different heuristic to find the right one, based on the
87720         extreme values actually observed in practice in tz2003a,
87721         rather than the (overly optimistic) "previous 3 calendar quarters".
87722
87723         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87724         "T const" to accommodate glibc style.
87725         (check_result): Use less-confusing report format.  "long" -> "long int.
87726         (main): Likewise.
87727         Don't loop if the iteration overflows time_t.
87728         Allow a negative step in the iteration.
87729
87730 2003-07-06  Karl Berry  <karl@gnu.org>
87731
87732         * config/depcomp: update from automake.
87733         * config/config.sub: update from prep.
87734
87735 2003-07-03  Karl Berry  <karl@gnu.org>
87736
87737         * config/config.guess: update from prep.
87738
87739 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87740
87741         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87742         xreadlink.c now includes it unconditionally.
87743
87744 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87745
87746         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87747         having it depend on HAVE_SYS_TYPES_H.
87748
87749 2003-07-01  Bruno Haible  <bruno@clisp.org>
87750
87751         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87752         <sys/types.h> should be sufficient.
87753         Reported by Paul Eggert.
87754
87755 2003-06-26  Karl Berry  <karl@gnu.org>
87756
87757         * config/depcomp: update from automake.
87758
87759 2003-06-26  Bruno Haible  <bruno@clisp.org>
87760
87761         * modules/human: Depend on module stdbool.
87762
87763 2003-06-25  Bruno Haible  <bruno@clisp.org>
87764
87765         * modules/readlink: New file.
87766         * modules/xreadlink: Depend on it.
87767         * MODULES.html.sh (func_all_modules): Add readlink.
87768
87769 2003-06-25  Bruno Haible  <bruno@clisp.org>
87770
87771         * m4/readlink.m4: New file.
87772
87773 2003-06-25  Bruno Haible  <bruno@clisp.org>
87774
87775         * lib/readlink.c: New file.
87776
87777 2003-06-22  Karl Berry  <karl@gnu.org>
87778
87779         * config/srclist.txt: update mkinstalldirs from automake.
87780         * config/mkinstalldirs: update.
87781
87782 2003-06-22  Bruno Haible  <bruno@clisp.org>
87783
87784         Portability to mingw32.
87785         * m4/ssize_t.m4: New file, from GNU gettext.
87786         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87787         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87788
87789 2003-06-22  Bruno Haible  <bruno@clisp.org>
87790
87791         * modules/safe-read: Add m4/ssize_t.m4.
87792         * modules/xreadlink: Add m4/ssize_t.m4.
87793
87794 2003-06-20  Bruno Haible  <bruno@clisp.org>
87795
87796         Assume C89, so PARAMS isn't needed.
87797         * lib/unicodeio.h (PARAMS): Remove.
87798         * lib/unicodeio.c: Don't use PARAMS.
87799
87800 2003-06-18  Karl Berry  <karl@gnu.org>
87801
87802         * config/config.{guess,sub}: update from prep.
87803
87804 2003-06-18  Jim Meyering  <jim@meyering.net>
87805
87806         Merge changes from coreutils.
87807         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87808         Remove explicit declarations of xmalloc and realloc.
87809         Include xalloc.h.
87810         (read_utmp): Remove anachronistic cast of xmalloc.
87811
87812 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87813
87814         Assume C89, so PARAMS isn't needed.
87815         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87816         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87817         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87818         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87819         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87820         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87821         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87822         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87823         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87824         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87825         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87826         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87827         no longer needed. Anyway, config.h should always be included before any
87828         other file.
87829
87830 2003-06-11  Simon Josefsson  <jas@extundo.com>
87831
87832         * modules/sysexits: New file.
87833         * MODULES.html.sh (func_all_modules): Add sysexits.
87834
87835 2003-06-11  Simon Josefsson  <jas@extundo.com>
87836
87837         * lib/sysexit_.h: New file.
87838
87839 2003-06-11  Derek Price  <derek@ximbiot.com>
87840
87841         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87842         necessary.
87843
87844 2003-06-11  Bruno Haible  <bruno@clisp.org>
87845
87846         * m4/sysexits.m4: New file.
87847
87848 2003-06-10  Simon Josefsson  <jas@extundo.com>
87849
87850         * lib/argp.h: New file, from glibc.
87851         * lib/argp-ba.c: New file, from glibc.
87852         * lib/argp-eexst.c: New file, from glibc.
87853         * lib/argp-fmtstream.c: New file, from glibc.
87854         * lib/argp-fmtstream.h: New file, from glibc.
87855         * lib/argp-fs-xinl.c: New file, from glibc.
87856         * lib/argp-help.c: New file, from glibc.
87857         * lib/argp-namefrob.h: New file, from glibc.
87858         * lib/argp-parse.c: New file, from glibc.
87859         * lib/argp-pv.c: New file, from glibc.
87860         * lib/argp-pvh.c: New file, from glibc.
87861         * lib/argp-xinl.c: New file, from glibc.
87862
87863 2003-06-10  Simon Josefsson  <jas@extundo.com>
87864
87865         * modules/strchrnul: New file.
87866
87867 2003-06-10  Simon Josefsson  <jas@extundo.com>
87868
87869         * modules/argp: New file.
87870
87871 2003-06-10  Simon Josefsson  <jas@extundo.com>
87872
87873         * m4/strchrnul.m4: New file.
87874
87875 2003-06-10  Simon Josefsson  <jas@extundo.com>
87876
87877         * lib/strchrnul.h: New file.
87878         * lib/strchrnul.c: New file.
87879
87880 2003-06-10  Bruno Haible  <bruno@clisp.org>
87881
87882         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87883
87884 2003-06-07  Karl Berry  <karl@gnu.org>
87885
87886         * config/config.{guess,sub}: update from prep.
87887
87888 2003-06-07  Jim Meyering  <jim@meyering.net>
87889
87890         * modules/strtod: Use $(...) notation, not @...@ for
87891         AC_REPLACE'd variables.
87892         * modules/localcharset: Likewise.
87893
87894 2003-06-07  Jim Meyering  <jim@meyering.net>
87895
87896         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87897         in place of my name in the copyright comment.
87898         Remove definition and uses of __P.
87899
87900         From coreutils.
87901         * lib/stat.c: Don't declare xmalloc explicitly.
87902         Instead, include "xalloc.h".
87903         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87904         xrealloc, and xcalloc return values.
87905         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87906         Improve comment.
87907         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87908
87909 2003-06-07  Bruno Haible  <bruno@clisp.org>
87910
87911         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87912         avoid AC_CONFIG_LINKS.
87913         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87914         fnmatch.h, to avoid AC_CONFIG_LINKS.
87915         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87916
87917 2003-06-07  Bruno Haible  <bruno@clisp.org>
87918
87919         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87920         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87921         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87922         directory.
87923         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87924         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87925         directory.
87926
87927 2003-06-06  Jim Meyering  <jim@meyering.net>
87928
87929         Merge from coreutils.
87930         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87931         Consolidate declarations and initializations of *_base* locals.
87932
87933         Merge from coreutils.
87934         This avoids a core dump on systems without GNU putenv,
87935         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87936         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87937         (unsetenv): New static function, from GNU libc.
87938         (rpl_putenv): Use it.
87939
87940         * lib/modechange.c: Remove trailing blanks.
87941
87942         Merge from coreutils.
87943         * lib/fsusage.c: Remove declaration of statfs.
87944         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87945
87946         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87947
87948 2003-06-06  Jim Meyering  <jim@meyering.net>
87949
87950         * lib/stdbool_.h: Renamed from stdbool.h.in.
87951
87952 2003-06-06  Jim Meyering  <jim@meyering.net>
87953             Bruno Haible  <bruno@clisp.org>
87954
87955         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87956         Adjust Makefile.am snippet not to redirect directly to target.
87957         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87958
87959 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87960
87961         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87962         mismatch, look in future quarters as well as past.  This fixes a
87963         bug when processing fall-backwards gaps immediately after a long
87964         period of daylight-saving time.
87965
87966         * lib/mktime.c: Assume freestanding C89 or better.
87967         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87968         (__P): Remove; not used.
87969         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87970         (mktime, not_equal_tm, print_tm, check_result,
87971         main): Use prototypes.  Use const * where appropriate.
87972         (main): Fix typo in testing code that uncovered by above changes.
87973         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87974
87975 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87976
87977         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87978         locale.h, localeconv.  This merges changes from coreutils.
87979
87980         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87981         It can be removed after the next Autoconf is released.
87982         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87983         needed.
87984
87985 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87986
87987         * lib/mktime.c: Fix Debian bug 177940
87988         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87989         (localtime_offset): Now long int, not time_t, because we want it
87990         to be guaranteed to be signed.  All uses changed.
87991         (__mktime_internal): If overflow would occur when adding offset,
87992         don't add it.
87993
87994         Merge 'human' changes from coreutils.  Rewrite to support
87995         locale-specific notations like thousands separators.
87996         * lib/human.c: Simplify authorship notice.
87997         Include human.h immediately after config.h.
87998         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87999         <limits.h>: Do not include, since human.h does.
88000         (SIZE_MAX, UINTMAX_MAX): New macros.
88001         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88002         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88003         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88004         (power_letter): Renamed from suffixes.
88005         (generate_suffix_backwards): Remove.
88006         (adjust_value): Now takes int style (because of human.h changes)
88007         and long double value (for greater precision on some platforms).
88008         (group_number): New function.
88009         (human_readable): Use it.  Use integer options, not enum.
88010         Put the options before the sizes in the arg list.
88011         Support all the new options.
88012         The old human_readable function has been removed;
88013         use inttostr.h instead.
88014         (human_readable, default_block_size, humblock):
88015         Use uintmax_t, not int, for block sizes.
88016         (human_readable_inexact, block_size_types): Remove.
88017         (block_size_opts): New constant.
88018         (human_options): Renamed from human_block_size, with new signature
88019         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88020         * lib/human.h: Add copyright and authorship notice.
88021         Include <limits.h> and <stdbool.h> unconditionally.
88022         (PARAMS): Remove.  All uses removed.
88023         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88024         (enum human_inexact_style): Remove tag; now a nameless enum.
88025         (human_floor, human_ceiling, human_round_to_even): Now have
88026         values 2, 0, 1 rather than -1, 1, 0.
88027         (human_group_digits, human_suppress_point_zero, human_autoscale,
88028         human_base_1024, human_SI, human_B): New constants.
88029         (human_readable_inexact, human_block_size): Remove.
88030         (human_readable): Size args are now uintmax_t, not int.
88031         (human_options): New decl.
88032
88033         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88034         unnecessary now that we assume C89 or better.  This change
88035         imported from coreutils.
88036
88037         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88038         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88039         in the 2003-05-30 sync from glibc.
88040
88041         .h files should stand alone, but we shouldn't include <sys/types.h>
88042         if we can get away with just <stddef.h>.
88043
88044         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88045         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88046         rather than <sys/types.h>, as we merely need size_t.
88047         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88048         to get size_t.
88049         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88050         Include <stdio.h>, to get FILE.
88051         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88052         memcasecmp.h has included <stddef.h> and all we need is size_t.
88053         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88054         our interface, instead of including <sys/types.h>
88055
88056 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88057
88058         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88059         now, as glibc mktime is buggy on non-glibc systems.
88060
88061 2003-06-03  Karl Berry  <karl@gnu.org>
88062
88063         * config/config.sub: update from prep.
88064
88065 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88066
88067         [from coreutils]
88068         Fix some minor time-related bugs with POSIX time arguments.
88069         Some valid time stamps were being rejected (notably -1, and
88070         time stamps before 1900 on 64-bit hosts).  And some invalid
88071         time stamps were being accepted, e.g. September 31.
88072
88073         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88074         that we can return (time_t) -1 successfully.
88075         * lib/posixtm.c: Likewise.
88076         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88077         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88078         (t): Remove static var.
88079         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88080         of static var.  All uses changed.
88081         (year): Do not reject years before 1900; they can occur with
88082         64-bit time_t.
88083         (posix_time_parse): Do not check for out-of-range components;
88084         that is now the caller's responsibility, since our checks were
88085         only approximations.
88086         (posixtime): Use mktime to check for out-of-range components,
88087         since it knows them exactly.
88088         If mktime returns (time_t) -1, check whether an error actually occurred
88089         by invoking localtime on -1.
88090         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88091         posixtime failures better.
88092         Improve the test data (in comments only).
88093
88094 2003-06-02  Karl Berry  <karl@gnu.org>
88095
88096         * config/mkinstalldirs (version): new variable.
88097         (--version): new option.
88098         (usage): improve message.
88099
88100 2003-05-30  Karl Berry  <karl@gnu.org>
88101
88102         * lib/mktime.c: update from libc.
88103
88104 2003-05-30  Bruno Haible  <bruno@clisp.org>
88105
88106         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88107         * config/config.rpath: Upgrade to gettext-0.12.1.
88108
88109 2003-05-30  Bruno Haible  <bruno@clisp.org>
88110
88111         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88112         * m4/nls.m4: New file, from gettext-0.12.1.
88113         * m4/po.m4: New file, from gettext-0.12.1.
88114         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88115
88116 2003-05-30  Bruno Haible  <bruno@clisp.org>
88117
88118         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88119         * lib/localcharset.h: Likewise.
88120         * lib/localcharset.c: Likewise.
88121
88122 2003-05-29  Karl Berry  <karl@gnu.org>
88123
88124         * config/config.rpath: update from gettext.
88125
88126 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88127
88128         Assume the headers required for C89 freestanding compilers.
88129         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88130         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88131         * m4/human.m4 (gl_HUMAN): Likewise.
88132         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88133         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88134         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88135         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88136         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88137         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88138
88139 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88140
88141         Assume the headers required for C89 freestanding compilers.
88142         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88143         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88144         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88145         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88146         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88147         define, since <limits.h> is guaranteed to do that.
88148         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88149         * lib/exclude.c: Include <stdbool.h> unconditionally.
88150         * lib/tempname.c: Include <stddef.h> unconditionally.
88151         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88152         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88153         <stddef.h> does that.
88154         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88155         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88156         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88157         needed.
88158         * lib/xstrtol.c: Likewise.
88159         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88160         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88161
88162         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88163         warnings on some platforms.
88164
88165         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88166         arbitrarily.
88167
88168 2003-05-26  Jim Meyering  <jim@meyering.net>
88169
88170         Merge in a change from coreutils:
88171         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88172         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88173         that condition, rather than `-1' which is slightly misleading.
88174         Change the name of the cache variable to have the gl_ prefix.
88175         Prompted by a patch from Richard Dawe for DJGPP.
88176
88177 2003-05-24  Karl Berry  <karl@gnu.org>
88178
88179         * config/config.guess: update from prep.
88180
88181 2003-05-22  Karl Berry  <karl@gnu.org>
88182
88183         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88184
88185 2003-05-20  Karl Berry  <karl@gnu.org>
88186
88187         * config/config.guess: update from prep.
88188
88189 2003-05-18  Karl Berry  <karl@gnu.org>
88190
88191         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88192         might actually be set by the user.
88193
88194         * config/depcomp, install-sh, mdate-sh: update from automake.
88195
88196 2003-05-17  Bruno Haible  <bruno@clisp.org>
88197
88198         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88199         invalid expansion for AC_EGREP_CPP.
88200         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88201         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88202         Suggested by Akim Demaille <akim@epita.fr> in
88203         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88204
88205 2003-05-12  Jim Meyering  <jim@meyering.net>
88206
88207         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88208         the space-padded-by-default conversion specifiers, %e, %k, %l.
88209
88210 2003-05-12  Bruno Haible  <bruno@clisp.org>
88211
88212         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88213         the string is longer than 4 KB.
88214
88215 2003-05-11  Karl Berry  <karl@gnu.org>
88216
88217         * config/config.{guess,sub}: update from prep.
88218
88219 2003-05-09  Bruno Haible  <bruno@clisp.org>
88220
88221         * modules/error: Add m4/strerror_r.m4 to file list.
88222
88223 2003-05-03  Bruno Haible  <bruno@clisp.org>
88224
88225         Upgrade to Unicode-4.0.
88226         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88227         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88228         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88229         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88230         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88231         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88232         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88233         Change width of U+E0100..U+E01EF from 1 to 0.
88234
88235 2003-04-25  Jim Meyering  <jim@meyering.net>
88236
88237         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88238         of type size_t, not int.
88239
88240 2003-04-25  Bruno Haible  <bruno@clisp.org>
88241
88242         * lib/copy-file.c: Include <stddef.h>, for size_t.
88243
88244 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88245
88246         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88247         code which expansion is under static control.  Patch imported from
88248         Akim Demaille's patch to Bison; see
88249         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88250
88251 2003-04-14  Bruno Haible  <bruno@clisp.org>
88252
88253         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88254
88255 2003-04-11  Jim Meyering  <jim@meyering.net>
88256
88257         Merge changes from Coreutils.
88258
88259         2003-03-22  Jim Meyering  <jim@meyering.net>
88260
88261         * lib/strftime.c (widen): Cast alloca return value to proper type.
88262
88263         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88264
88265         From GNU libc.
88266         * lib/strftime.c (my_strftime): Handle very large width
88267         specifications for numeric values correctly.  Improve checks for
88268         overflow.
88269
88270         2003-01-19  Jim Meyering  <jim@meyering.net>
88271
88272         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88273         definitions.
88274         (nl_get_alt_digit) [! defined my_strftime]: Define.
88275         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88276         _nl_get_alt_digit and _nl_get_walt_digit.
88277
88278         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88279         libc. These changes have no effect outside of _LIBC.
88280
88281 2003-04-10  Bruno Haible  <bruno@clisp.org>
88282
88283         * modules/findprog: New file.
88284         * MODULES.html.sh (func_all_modules): Add it.
88285
88286 2003-04-10  Bruno Haible  <bruno@clisp.org>
88287
88288         * m4/findprog.m4: New file.
88289         * m4/eaccess.m4: New file.
88290
88291 2003-04-10  Bruno Haible  <bruno@clisp.org>
88292
88293         * lib/findprog.h: New file, from GNU gettext.
88294         * lib/findprog.c: New file, from GNU gettext.
88295
88296 2003-04-05  Jim Meyering  <jim@meyering.net>
88297
88298         Merge changes from Coreutils.
88299
88300         * lib/exclude.h (PARAMS): Remove definition and uses.
88301         * lib/exclude.c: Remove uses of `PARAMS'.
88302
88303         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88304         Add test-cases for DOS filenames. Declare program_name.
88305         (main): Set up program_name.  Patch by Rich Dawe.
88306
88307         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88308         error from mntctl.
88309         Use mntctl's return value to drive the entry-processing loop, since
88310         we can't rely on the value of the vmt_length member in the last
88311         entry.  On some systems doing so could result in exhausting
88312         virtual memory.  Based in part on a patch from Mike Jetzer.
88313
88314 2003-04-04  Bruno Haible  <bruno@clisp.org>
88315
88316         * modules/linebreak: New file.
88317         * MODULES.html.sh (func_all_modules): Add it.
88318
88319 2003-04-04  Bruno Haible  <bruno@clisp.org>
88320
88321         * m4/linebreak.m4: New file.
88322
88323 2003-04-04  Bruno Haible  <bruno@clisp.org>
88324
88325         * lib/linebreak.h: New file, from GNU gettext.
88326         * lib/linebreak.c: New file, from GNU gettext with slight
88327         modifications.
88328         * lib/lbrkprop.h: New file, from GNU gettext.
88329
88330 2003-04-03  Bruno Haible  <bruno@clisp.org>
88331
88332         * modules/utf8-ucs4: New file.
88333         * modules/utf16-ucs4: New file.
88334         * modules/ucs4-utf8: New file.
88335         * modules/ucs4-utf16: New file.
88336         * MODULES.html.sh (func_all_modules): Add them.
88337
88338 2003-04-03  Bruno Haible  <bruno@clisp.org>
88339
88340         * m4/utf-ucs4.m4: New file.
88341         * m4/ucs4-utf.m4: New file.
88342
88343 2003-04-03  Bruno Haible  <bruno@clisp.org>
88344
88345         * lib/utf8-ucs4.h: New file, from GNU gettext.
88346         * lib/utf16-ucs4.h: New file, from GNU gettext.
88347         * lib/ucs4-utf8.h: New file, from GNU gettext.
88348         * lib/ucs4-utf16.h: New file, from GNU gettext.
88349
88350 2003-04-02  Bruno Haible  <bruno@clisp.org>
88351
88352         * modules/binary-io: New file.
88353         * MODULES.html.sh (func_all_modules): Add it.
88354
88355 2003-04-02  Bruno Haible  <bruno@clisp.org>
88356
88357         * lib/binary-io.h: New file, from GNU gettext.
88358
88359 2003-04-01  Bruno Haible  <bruno@clisp.org>
88360
88361         * modules/pathname: New file.
88362         * MODULES.html.sh (func_all_modules): Add it.
88363
88364 2003-04-01  Bruno Haible  <bruno@clisp.org>
88365
88366         * lib/pathname.h: New file, from GNU gettext.
88367         * lib/concatpath.c: New file, from GNU gettext.
88368
88369 2003-03-30  Bruno Haible  <bruno@clisp.org>
88370
88371         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88372
88373 2003-03-30  Bruno Haible  <bruno@clisp.org>
88374
88375         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88376         function chown() doesn't exist.
88377
88378 2003-03-28  Bruno Haible  <bruno@clisp.org>
88379
88380         * modules/copy-file: New file.
88381         * MODULES.html.sh (func_all_modules): Add it.
88382
88383 2003-03-28  Bruno Haible  <bruno@clisp.org>
88384
88385         * m4/copy-file.m4: New file.
88386
88387 2003-03-28  Bruno Haible  <bruno@clisp.org>
88388
88389         * lib/copy-file.h: New file, from GNU gettext.
88390         * lib/copy-file.c: New file, from GNU gettext.
88391
88392 2003-03-18  Jim Meyering  <jim@meyering.net>
88393
88394         * lib/quote.c (quote_n): Fix typo in comment.
88395
88396 2003-03-18  Bruno Haible  <bruno@clisp.org>
88397
88398         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88399         checking.
88400         * m4/onceonly_2_57.m4: Likewise.
88401
88402 2003-03-17  Bruno Haible  <bruno@clisp.org>
88403
88404         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88405         (m4_quote): Remove macro.
88406         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88407
88408 2003-03-14  Jim Meyering  <jim@meyering.net>
88409
88410         Merge changes from Coreutils.
88411         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88412         to be const, in order to avoid warnings.
88413         (obstack_room): Likewise.
88414         (obstack_empty_p): Likewise.
88415
88416 2003-03-14  Bruno Haible  <bruno@clisp.org>
88417
88418         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88419         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88420
88421 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88422
88423         Merge changes from Bison.
88424         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88425         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88426         when compiling Bison 1.875's `bitset bset = obstack_alloc
88427         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88428         * lib/hash.c: Include <stdbool.h> unconditionally.
88429
88430 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88431
88432         * m4/onceonly.m4 (m4_quote): New macro.
88433         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88434         Quote AC_FOREACH variable-expansions properly.
88435
88436 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88437
88438         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88439
88440 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88441
88442         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88443         Reported by Bruce Becker; see:
88444         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88445
88446 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88447             Bruno Haible  <bruno@clisp.org>
88448
88449         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88450         Reported by John Hughes, see
88451         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88452
88453 2003-02-20  Bruno Haible  <bruno@clisp.org>
88454
88455         * MODULES.html.sh (func_all_modules): Add poll.
88456
88457 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88458
88459         * modules/poll: New file.
88460
88461 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88462
88463         * lib/poll_.h: New file.
88464         * lib/poll.c: New file.
88465
88466 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88467
88468         * m4/poll.m4: New file.
88469
88470 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88471
88472         * modules/mathl: New file.
88473
88474 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88475
88476         * lib/mathl.h: New file.
88477         * lib/acosl.c: New file.
88478         * lib/asinl.c: New file.
88479         * lib/atanl.c: New file.
88480         * lib/ceill.c: New file.
88481         * lib/cosl.c: New file.
88482         * lib/expl.c: New file.
88483         * lib/floorl.c: New file.
88484         * lib/frexpl.c: New file.
88485         * lib/ldexpl.c: New file.
88486         * lib/logl.c: New file.
88487         * lib/sincosl.c: New file.
88488         * lib/sinl.c: New file.
88489         * lib/sqrtl.c: New file.
88490         * lib/tanl.c: New file.
88491         * lib/trigl.c: New file.
88492         * lib/trigl.h: New file.
88493
88494 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88495
88496         * m4/mathl.m4: New file.
88497
88498 2003-02-18  Bruno Haible  <bruno@clisp.org>
88499
88500         * MODULES.html.sh (func_all_modules): Add mathl.
88501
88502 2003-02-17  Bruno Haible  <bruno@clisp.org>
88503
88504         * modules/mkdtemp: New module.
88505         * MODULES.html.sh (func_all_modules): Add it.
88506
88507 2003-02-17  Bruno Haible  <bruno@clisp.org>
88508
88509         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88510
88511 2003-02-17  Bruno Haible  <bruno@clisp.org>
88512
88513         * lib/mkdtemp.h: New file, from GNU gettext.
88514         * lib/mkdtemp.c: New file, from GNU gettext.
88515
88516 2003-02-02  Jim Meyering  <jim@meyering.net>
88517
88518         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88519         e.g. glibc-2.2.93.
88520
88521 2003-01-31  Bruno Haible  <bruno@clisp.org>
88522
88523         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88524         'rpl_rename'.
88525         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88526         'rpl_strnlen'.
88527         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88528         'rpl_strtod'.
88529         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88530         'rpl_utime'.
88531
88532 2003-01-31  Bruno Haible  <bruno@clisp.org>
88533
88534         * lib/rename.c: #undef rename before defining rpl_rename.
88535         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88536
88537 2003-01-30  Bruno Haible  <bruno@clisp.org>
88538
88539         * modules/vasnprintf, modules/vasprintf: New modules.
88540         * MODULES.html.sh (func_all_modules): Add them.
88541
88542 2003-01-30  Bruno Haible  <bruno@clisp.org>
88543
88544         * m4/signed.m4: New file, from GNU gettext.
88545         * m4/longdouble.m4: New file, from GNU gettext.
88546         * m4/wchar_t.m4: New file, from GNU gettext.
88547         * m4/wint_t.m4: New file, from GNU gettext.
88548         * m4/vasnprintf.m4: New file.
88549         * m4/vasprintf.m4: New file.
88550
88551 2003-01-30  Bruno Haible  <bruno@clisp.org>
88552
88553         * lib/printf-args.h: New file, from GNU gettext.
88554         * lib/printf-args.c: New file, from GNU gettext.
88555         * lib/printf-parse.h: New file, from GNU gettext.
88556         * lib/printf-parse.c: New file, from GNU gettext.
88557         * lib/vasnprintf.h: New file, from GNU gettext.
88558         * lib/vasnprintf.c: New file, from GNU gettext.
88559         * lib/asnprintf.c: New file, from GNU gettext.
88560         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88561         * lib/vasprintf.c: New file, from GNU gettext.
88562         * lib/asprintf.c: New file, from GNU gettext.
88563
88564 2003-01-29  Bruno Haible  <bruno@clisp.org>
88565
88566         * modules/stpncpy: New module.
88567         * MODULES.html.sh (func_all_modules): Add it.
88568
88569 2003-01-29  Bruno Haible  <bruno@clisp.org>
88570
88571         * m4/stpncpy.m4: New file.
88572
88573 2003-01-29  Bruno Haible  <bruno@clisp.org>
88574
88575         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88576         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88577
88578 2003-01-28  Bruno Haible  <bruno@clisp.org>
88579
88580         * modules/c-ctype: New module.
88581         * MODULES.html.sh (func_all_modules): Add it.
88582
88583 2003-01-28  Bruno Haible  <bruno@clisp.org>
88584
88585         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88586         Paul Eggert.
88587         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88588         Paul Eggert.
88589
88590 2003-01-27  Bruno Haible  <bruno@clisp.org>
88591
88592         * modules/xsetenv: New module.
88593         * MODULES.html.sh (func_all_modules): Add it.
88594
88595 2003-01-27  Bruno Haible  <bruno@clisp.org>
88596
88597         * lib/xsetenv.h: New file, from GNU gettext.
88598         * lib/xsetenv.c: New file, from GNU gettext.
88599
88600 2003-01-23  Jim Meyering  <jim@meyering.net>
88601
88602         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88603         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88604
88605 2003-01-23  Bruno Haible  <bruno@clisp.org>
88606
88607         * modules/minmax: New module.
88608         * MODULES.html.sh (func_all_modules): Add it.
88609
88610 2003-01-23  Bruno Haible  <bruno@clisp.org>
88611
88612         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88613         Eggert.
88614
88615 2003-01-22  Bruno Haible  <bruno@clisp.org>
88616
88617         * modules/exit: New module.
88618         * MODULES.html.sh (func_all_modules): Add it.
88619
88620 2003-01-22  Bruno Haible  <bruno@clisp.org>
88621
88622         * lib/exit.h: New file, from GNU gettext.
88623
88624 2003-01-19  Bruno Haible  <bruno@clisp.org>
88625
88626         * gnulib-tool: Recognize option --extract-maintainer.
88627         (func_get_maintainer): New function.
88628         * modules/*: Add Maintainer entry.
88629
88630 2003-01-16  Jim Meyering  <jim@meyering.net>
88631
88632         * m4/regex.m4: The `regex' struct is both input and output.
88633         Initialize it before each use.  Patch by Tim Waugh.
88634
88635 2003-01-16  Bruno Haible  <bruno@clisp.org>
88636
88637         * MODULES.html.sh: Add a table of contents. Add the module name as
88638         leftmost column. Add hyperlinks.
88639
88640 2003-01-15  Bruno Haible  <bruno@clisp.org>
88641
88642         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88643
88644 2003-01-15  Bruno Haible  <bruno@clisp.org>
88645
88646         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88647         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88648         suffix.
88649
88650 2003-01-15  Bruno Haible  <bruno@clisp.org>
88651
88652         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88653
88654 2003-01-15  Bruno Haible  <bruno@clisp.org>
88655
88656         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88657         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88658
88659 2003-01-14  Jim Meyering  <jim@meyering.net>
88660
88661         * lib/same.c (same_name): Tweak a comment.
88662
88663 2003-01-14  Bruno Haible  <bruno@clisp.org>
88664
88665         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88666         when a string comparison is sufficient.
88667
88668 2003-01-14  Bruno Haible  <bruno@clisp.org>
88669
88670         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88671         'unsigned int'.
88672
88673 2003-01-14  Bruno Haible  <bruno@clisp.org>
88674
88675         * lib/hash-pjw.c: Add comment about low quality of this function.
88676
88677 2003-01-13  Bruno Haible  <bruno@clisp.org>
88678
88679         * modules/stpcpy: Distribute lib/stpcpy.h.
88680         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88681
88682 2003-01-13  Bruno Haible  <bruno@clisp.org>
88683
88684         * modules/*: Add a description.
88685         * modules/strpbrk: Fix Makefile.am snippet.
88686         * modules/strtoimax: Fix dependencies.
88687         * modules/strtoumax: Likewise.
88688
88689 2003-01-13  Bruno Haible  <bruno@clisp.org>
88690
88691         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88692         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88693         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88694
88695 2003-01-13  Bruno Haible  <bruno@clisp.org>
88696
88697         * gnulib-tool (func_create_testdir): Store config/* files in the main
88698         directory.
88699         * config.rpath: Move to ...
88700         * config/config.rpath: ... here.
88701         * modules/gettext: Contains config/config.rpath, not config.rpath.
88702         * modules/iconv: Likewise.
88703
88704 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88705
88706         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88707         to avoid collisions with libcurses and libreadline.
88708
88709         * m4/getstr.m4: Remove.
88710         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88711
88712 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88713
88714         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88715         to avoid collisions with libcurses and libreadline.
88716
88717         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88718         * lib/getstr.h, getstr.c: Remove.
88719         * lib/getline.c: Include "getline.h", to check interface.
88720         Move body of old getstr.c here: this defines MIN_CHUNK and
88721         declares getdelim2, which is renamed from getstr.
88722         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88723
88724         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88725         All uses changed.
88726         * lib/linebuffer.h: Likewise.
88727         (readline): Remove backward-compatibility macro.
88728
88729 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88730
88731         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88732         to avoid collisions with libcurses and libreadline.
88733         * getstr: Remove.
88734         * MODULES.html.sh: Remove getstr.
88735         * modules/getline: Depend on unlocked-io, not getstr.
88736
88737 2003-01-12  Jim Meyering  <jim@meyering.net>
88738
88739         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88740
88741 2003-01-10  Bruno Haible  <bruno@clisp.org>
88742
88743         * modules/alloca: Change Makefile.am requirements. Simplify Include
88744         requirements. Add lib/alloca_.h to file list.
88745
88746 2003-01-10  Bruno Haible  <bruno@clisp.org>
88747
88748         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88749
88750 2003-01-10  Bruno Haible  <bruno@clisp.org>
88751
88752         * lib/alloca_.h: New file.
88753         * lib/getdate.y: Unconditionally include alloca.h.
88754         * lib/makepath.c: Likewise.
88755         * lib/setenv.c: Likewise.
88756         * lib/userspec.c: Likewise.
88757
88758 2003-01-09  Karl Berry  <karl@gnu.org>
88759
88760         * MODULES.html.sh: include `dirname $0` in PATH, to find
88761         gnulib-tool.
88762
88763 2003-01-09  Bruno Haible  <bruno@clisp.org>
88764
88765         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88766         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88767
88768 2003-01-09  Bruno Haible  <bruno@clisp.org>
88769
88770         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88771
88772 2003-01-09  Bruno Haible  <bruno@clisp.org>
88773
88774         * lib/stdbool.h.in: New file.
88775
88776 2003-01-09  Bruno Haible  <bruno@clisp.org>
88777
88778         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88779         * MODULES.html.sh: Likewise.
88780
88781 2003-01-08  Jim Meyering  <jim@meyering.net>
88782
88783         * lib/full-write.c: Undefine and define-away `const' after inclusion
88784         of errno.h, not before.  Suggestion from Bruno Haible.
88785
88786 2003-01-08  Bruno Haible  <bruno@clisp.org>
88787
88788         * modules/full-read: Depend on full-write.
88789
88790 2003-01-08  Bruno Haible  <bruno@clisp.org>
88791
88792         * lib/safe-read.c: Include specification header first, to ensure its
88793         selfcontainedness.
88794         * lib/full-write.c: Likewise.
88795
88796 2003-01-07  Jim Meyering  <jim@meyering.net>
88797
88798         * lib/full-write.c: Rework so that it may serve to define full_read,
88799         too.
88800         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88801
88802 2003-01-07  Bruno Haible  <bruno@clisp.org>
88803
88804         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88805         <inttypes.h>.
88806         * lib/xstrtol.h: Likewise.
88807         * lib/xstrtoimax.c: Likewise.
88808         * lib/xstrtoumax.c: Likewise.
88809         * lib/human.h: Likewise.
88810
88811         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88812         on systems that have <inttypes.h> but not <stdint.h>.
88813
88814 2003-01-07  Bruno Haible  <bruno@clisp.org>
88815
88816         * MODULES.html.sh: Add copyright notice.
88817         (missed_files): Omit CVS directory entries.
88818         (func_module): Make it work with sed-3.02.
88819         * MODULES.txt: Remove file.
88820
88821 2003-01-06  Jim Meyering  <jim@meyering.net>
88822
88823         * lib/version-etc.c: Update year in translatable copyright string.
88824
88825 2003-01-03  Karl Berry  <karl@gnu.org>
88826
88827         * config/config.{guess,sub}: update from prep.
88828
88829 2003-01-02  Karl Berry  <karl@gnu.org>
88830
88831         * doc/COPYING.DOC: belatedly updated to 1.2.
88832
88833 2003-01-01  Karl Berry  <karl@gnu.org>
88834
88835         * gnulib-tool (func_verify_module): report module name $module in
88836         error message, not $1.
88837         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88838         be created, only if it doesn't exist.
88839         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88840
88841 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88842
88843         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88844
88845 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88846
88847         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88848         memcmp if strcoll doesn't work.
88849
88850 2002-12-31  Bruno Haible  <bruno@clisp.org>
88851
88852         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88853         nonempty.
88854
88855 2002-12-31  Bruno Haible  <bruno@clisp.org>
88856
88857         * lib/memcoll.c (STRCOLL): New macro.
88858         (memcoll): Use it.
88859
88860 2002-12-31  Bruno Haible  <bruno@clisp.org>
88861
88862         * lib/localcharset.h: New file.
88863         * lib/localcharset.c: Include it.
88864         * lib/unicodeio.c: Likewise.
88865
88866 2002-12-31  Bruno Haible  <bruno@clisp.org>
88867
88868         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88869         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88870
88871 2002-12-31  Bruno Haible  <bruno@clisp.org>
88872
88873         * lib/getline.h: Include <stddef.h>, for size_t.
88874
88875         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88876         * lib/unicodeio.c: Don't include <stddef.h>.
88877
88878 2002-12-31  Bruno Haible  <bruno@clisp.org>
88879
88880         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88881         HAVE_TM_ZONE.
88882
88883 2002-12-24  Karl Berry  <karl@gnu.org>
88884
88885         * config/config.guess: update from prep.
88886
88887 2002-12-24  Bruno Haible  <bruno@clisp.org>
88888
88889         General infrasructure.
88890         * m4/README: Rewritten.
88891         * m4/onceonly.m4: New file.
88892         * m4/onceonly_2_57.m4: New file.
88893
88894         Module atexit.
88895         * m4/atexit.m4: New file.
88896
88897         Module strtod.
88898         * m4/strtod.m4: New file.
88899
88900         Module strtol.
88901         * m4/strtol.m4: New file.
88902
88903         Module strtoul.
88904         * m4/strtoul.m4: New file.
88905
88906         Module memchr.
88907         * m4/memchr.m4: New file.
88908
88909         Module memcmp.
88910         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88911         (jm_FUNC_MEMCMP): Invoke it.
88912
88913         Module memcpy.
88914         * m4/memcpy.m4: New file.
88915
88916         Module memmove.
88917         * m4/memmove.m4: New file.
88918
88919         Module memset.
88920         * m4/memset.m4: New file.
88921
88922         Module strcspn.
88923         * m4/strcspn.m4: New file.
88924
88925         Module strpbrk.
88926         * m4/strpbrk.m4: New file.
88927
88928         Module strstr.
88929         * m4/strstr.m4: New file.
88930
88931         Module strerror.
88932         * m4/strerror.m4: New file.
88933
88934         Module mktime.
88935         * m4/mktime.m4: Renamed from jm-mktime.m4.
88936         (gl_PREREQ_MKTIME): New macro.
88937         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88938
88939         Module malloc.
88940         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88941         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88942         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88943
88944         Module realloc.
88945         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88946         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88947         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88948
88949         Module strftime.
88950         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88951         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88952         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88953         gl_TM_GMTOFF.
88954         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88955
88956         Module xalloc.
88957         * m4/xalloc.m4: New file.
88958
88959         Module alloca.
88960         * m4/alloca.m4: New file.
88961
88962         Module putenv.
88963         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88964         (jm_FUNC_PUTENV): Invoke it.
88965
88966         Module setenv.
88967         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88968         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88969         when invoked twice.
88970         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88971         gt_FUNC_SETENV.
88972
88973         Module memrchr.
88974         * m4/memrchr.m4: New file.
88975
88976         Module stpcpy.
88977         * m4/stpcpy.m4: New file.
88978
88979         Module strcase.
88980         * m4/strcase.m4: New file.
88981
88982         Module strdup.
88983         * m4/strdup.m4: New file.
88984
88985         Module strnlen.
88986         * m4/strnlen.m4: New file.
88987
88988         Module strndup.
88989         * m4/strndup.m4: New file.
88990
88991         Module xstrtod.
88992         * m4/xstrtod.m4: New file.
88993
88994         Module xstrtol.
88995         * m4/xstrtol.m4: New file.
88996
88997         Module getdate.
88998         * m4/getdate.m4: New file.
88999
89000         Module unlocked-io.
89001         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89002         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89003         * m4/jm-glibc-io.m4n: Remove file.
89004
89005         Module long-options.
89006         * m4/long-options.m4: New file.
89007
89008         Module md5.
89009         * m4/md5.m4: New file.
89010
89011         Module sha.
89012         * m4/sha.m4: New file.
89013
89014         Module getstr.
89015         * m4/getstr.m4: New file.
89016
89017         Module getline.
89018         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89019         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89020         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89021         simply getline. Infoke gl_PREREQ_GETLINE.
89022
89023         Module obstack.
89024         * m4/obstack.m4: New file.
89025
89026         Module hash.
89027         * m4/hash.m4: New file.
89028
89029         Module readtokens.
89030         * m4/readtokens.m4: New file.
89031
89032         Module strverscmp.
89033         * m4/strverscmp.m4: New file.
89034
89035         Module stdbool.
89036         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89037         OSF/1.
89038
89039         Module strtoll.
89040         * m4/strtoll.m4: New file.
89041
89042         Module strtoull.
89043         * m4/strtoull.m4: New file.
89044
89045         Module strtoimax.
89046         * m4/strtoimax.m4: New file.
89047
89048         Module strtoumax.
89049         * m4/strtoumax.m4: New file.
89050
89051         Module xstrtoimax.
89052         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89053         jm_AC_PREREQ_XSTRTOIMAX.
89054         Moved the strtol prerequisites to strtol.m4.
89055         Moved the strtoll prerequisites to strtoll.m4.
89056         Moved the strtoimax prerequisites to strtoimax.m4.
89057
89058         Module xstrtoumax.
89059         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89060         jm_AC_PREREQ_XSTRTOUMAX.
89061         Moved the strtoul prerequisites to strtoul.m4.
89062         Moved the strtoull prerequisites to strtoull.m4.
89063         Moved the strtoumax prerequisites to strtoumax.m4.
89064
89065         Module chown.
89066         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89067         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89068
89069         Module dup2.
89070         * m4/dup2.m4: New file.
89071
89072         Module ftruncate.
89073         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89074         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89075
89076         Module getgroups.
89077         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89078         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89079
89080         Module gettimeofday.
89081         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89082         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89083         gl_PREREQ_GETTIMEOFDAY.
89084
89085         Module mkdir.
89086         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89087         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89088
89089         Module mkstemp.
89090         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89091         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89092         jm_AC_TYPE_UINTMAX_T.
89093         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89094
89095         Module stat.
89096         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89097         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89098
89099         Module lstat.
89100         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89101         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89102
89103         Module timespec.
89104         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89105         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89106         * m4/st_mtim.m4: Indentation.
89107
89108         Module nanosleep.
89109         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89110         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89111         gl_PREREQ_NANOSLEEP.
89112
89113         Module regex.
89114         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89115         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89116         (gl_REGEX): New macro.
89117
89118         Module rename.
89119         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89120         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89121
89122         Module rmdir.
89123         * m4/rmdir.m4: New file.
89124
89125         Module utime.
89126         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89127         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89128         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89129
89130         Module dirname.
89131         * m4/dirname.m4: New file.
89132
89133         Module getopt.
89134         * m4/getopt.m4: New file.
89135
89136         Module unistd-safer.
89137         * m4/unistd-safer.m4: New file.
89138
89139         Module fnmatch.
89140         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89141         declaration.
89142         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89143         (gl_FUNC_FNMATCH_POSIX): New macro.
89144         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89145         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89146         simply fnmatch.
89147
89148         Module exclude.
89149         * m4/exclude.m4: New file.
89150
89151         Module human.
89152         * m4/human.m4: New file.
89153
89154         Module acl.
89155         * m4/acl.m4: Nop.
89156
89157         Module backupfile.
89158         * m4/backupfile.m4: New file.
89159         * m4/d-ino.m4: Indentation.
89160
89161         Module fsusage.
89162         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89163         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89164         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89165
89166         Module dirfd.
89167         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89168         requirements.
89169
89170         Module euidaccess.
89171         * m4/euidaccess.m4: New file.
89172
89173         Module file-type.
89174         * m4/file-type.m4: New file.
89175
89176         Module fileblocks.
89177         * m4/fileblocks.m4: New file.
89178
89179         Module filemode.
89180         * m4/filemode.m4: New file.
89181
89182         Module isdir.
89183         * m4/isdir.m4: New file.
89184
89185         Module lchown.
89186         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89187         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89188
89189         Module makepath.
89190         * m4/makepath.m4: New file.
89191
89192         Module modechange.
89193         * m4/modechange.m4: New file.
89194
89195         Module mountlist.
89196         * m4/mountlist.m4: New file.
89197         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89198         Indentation.
89199
89200         Module path-concat.
89201         * m4/path-concat.m4: New file.
89202
89203         Module pathmax.
89204         * m4/pathmax.m4: New file.
89205
89206         Module same.
89207         * m4/same.m4: New file.
89208
89209         Module save-cwd.
89210         * m4/save-cwd.m4: New file.
89211
89212         Module savedir.
89213         * m4/savedir.m4: New file.
89214
89215         Module xgetcwd.
89216         * m4/xgetcwd.m4: New file.
89217         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89218
89219         Module xreadlink.
89220         * m4/xreadlink.m4: New file.
89221
89222         Module safe-read.
89223         * m4/safe-read.m4: New file.
89224
89225         Module safe-write.
89226         * m4/safe-write.m4: New file.
89227
89228         Module closeout.
89229         * m4/closeout.m4: New file.
89230
89231         Module stdio-safer.
89232         * m4/stdio-safer.m4: New file.
89233
89234         Module getpass.
89235         * m4/getpass.m4: New file.
89236
89237         Module getugroups.
89238         * m4/getugroups.m4: New file.
89239
89240         Module group-member.
89241         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89242         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89243
89244         Module idcache.
89245         * m4/idcache.m4: New file.
89246
89247         Module userspec.
89248         * m4/userspec.m4: New file.
89249
89250         Module gettime.
89251         * m4/clock_time.m4: New file.
89252         * m4/gettime.m4: New file.
89253
89254         Module settime.
89255         * m4/settime.m4: New file.
89256
89257         Module posixtm.
89258         * m4/posixtm.m4: New file.
89259
89260         Module gethostname.
89261         * m4/gethostname.m4: New file.
89262
89263         Module canon-host.
89264         * m4/canon-host.m4: New file.
89265
89266         Module gettext.
89267         * m4/codeset.m4: New file, from gettext-0.11.5.
89268         * m4/gettext.m4: New file, from gettext-0.11.5.
89269         * m4/glibc21.m4: New file, from gettext-0.11.5.
89270         * m4/iconv.m4: New file, from gettext-0.11.5.
89271         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89272         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89273         * m4/inttypes.m4: New file, from gettext-0.11.5.
89274         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89275         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89276         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89277         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89278         * m4/lib-link.m4: New file, from gettext-0.11.5.
89279         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89280         * m4/progtest.m4: New file, from gettext-0.11.5.
89281         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89282         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89283         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89284
89285         Module localcharset.
89286         * m4/localcharset.m4: New file.
89287
89288         Module hard-locale.
89289         * m4/hard-locale.m4: New file.
89290
89291         Module mbswidth.
89292         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89293         onceonly macros.
89294         * m4/mbrtowc.m4: Add comment.
89295
89296         Module memcasecmp.
89297         * m4/memcasecmp.m4: New file.
89298
89299         Module memcoll.
89300         * m4/memcoll.m4: New file.
89301
89302         Module unicodeio.
89303         * m4/unicodeio.m4: New file.
89304
89305         Module rpmatch.
89306         * m4/rpmatch.m4: New file.
89307
89308         Module yesno.
89309         * m4/yesno.m4: New file.
89310
89311         Module exitfail.
89312         * m4/exitfail.m4: New file.
89313
89314         Module c-stack.
89315         * m4/c-stack.m4 (gl_C_STACK): New macro.
89316         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89317
89318         Module error.
89319         * m4/error.m4 (gl_ERROR): New macro.
89320         (jm_PREREQ_ERROR): Use onceonly macros.
89321
89322         Module fatal.
89323         * m4/fatal.m4: New file.
89324
89325         Module getloadavg.
89326         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89327         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89328
89329         Module getpagesize.
89330         * m4/getpagesize.m4: New file.
89331
89332         Module getusershell.
89333         * m4/getusershell.m4: New file.
89334
89335         Module physmem.
89336         * m4/physmem.m4: New file.
89337
89338         Module posixver.
89339         * m4/posixver.m4: New file.
89340
89341         Module quotearg.
89342         * m4/quotearg.m4: New file.
89343
89344         Module quote.
89345         * m4/quote.m4: New file.
89346
89347         Module readutmp.
89348         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89349
89350         Module sig2str.
89351         * m4/sig2str.m4: New file.
89352
89353         Other.
89354         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89355         ulonglong.m4.
89356         * m4/intmax_t.m4: New file.
89357         * m4/d-type.m4: Indentation.
89358         * m4/jm-macros.m4: Update.
89359         * m4/prereq.m4 (jm_PREREQ): Update.
89360         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89361         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89362         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89363         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89364         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89365         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89366         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89367         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89368         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89369         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89370         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89371         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89372         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89373         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89374         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89375         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89376         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89377         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89378         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89379
89380 2002-12-24  Bruno Haible  <bruno@clisp.org>
89381
89382         * MODULES.txt: Update according to m4/ changes.
89383
89384         Module gettext.
89385         * config.rpath: New file, from gettext-0.11.5.
89386
89387         * modules/*: New module descriptions.
89388         * gnulib-tool: New file.
89389         * MODULES.html.sh: New file.
89390
89391 2002-12-21  Karl Berry  <karl@gnu.org>
89392
89393         * doc/fdl.texi: update to version 1.2.
89394
89395 2002-12-19  Karl Berry  <karl@gnu.org>
89396
89397         * config/config.guess: update from prep.
89398
89399 2002-12-18  Bruno Haible  <bruno@clisp.org>
89400
89401         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89402         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89403
89404 2002-12-17  Bruno Haible  <bruno@clisp.org>
89405
89406         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89407         stdlib.h, string.h.
89408
89409 2002-12-17  Bruno Haible  <bruno@clisp.org>
89410
89411         * lib/canon-host.c (strdup): Remove unused declaration.
89412
89413         * lib/fsusage.c: Include full_read.h.
89414         (get_fs_usage): Use full_read instead of safe_read.
89415
89416         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89417
89418 2002-12-12  Karl Berry  <karl@gnu.org>
89419
89420         * config/config.guess: update from prep.
89421
89422 2002-12-11  Bruno Haible  <bruno@clisp.org>
89423
89424         * m4/setenv.m4: New file, from gettext-0.11.5.
89425
89426 2002-12-11  Bruno Haible  <bruno@clisp.org>
89427
89428         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89429         not unsetenv().
89430         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89431         modifications:
89432
89433         2002-12-11  Bruno Haible  <bruno@clisp.org>
89434
89435                 * setenv.c (alloca): Fall back to malloc.
89436                 (freea): New macro.
89437                 (setenv): Use freea() to free memory allocated with alloca().
89438
89439         2002-11-13  Bruno Haible  <bruno@clisp.org>
89440
89441                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89442                 function declarations.
89443                 * unsetenv.c (unsetenv): Likewise.
89444
89445         2002-03-04  Bruno Haible  <bruno@clisp.org>
89446
89447                 Portability to AIX 4.3.3.
89448                 * unsetenv.c: New file, extracted from setenv.c.
89449                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89450
89451         2001-12-20  Bruno Haible  <bruno@clisp.org>
89452
89453                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89454                 use malloc instead. For SunOS 4.
89455
89456         2001-12-11  Bruno Haible  <bruno@clisp.org>
89457
89458                 * setenv.c: Declare alloca.
89459                 (compar_fn_t): New typedef.
89460                 (KNOWN_VALUE, STORE_VALUE): Use it.
89461
89462         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89463         setenv.h.
89464
89465 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89466
89467         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89468         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89469         Choose values that are less likely to collide with system fnmatch
89470         options.
89471         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89472         defined (e.g., a pure POSIX system).
89473         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89474         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89475
89476 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89477
89478         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89479         a pain in practice to deal with generated m4 files.  This change
89480         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89481
89482         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89483         and jm-glibc-io.m4, as they are no longer a special case.
89484         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89485         kludge and the auto-generation stuff.  Check only whether the
89486         functions are declared, not whether they exist, since older hosts
89487         that don't declare the functions can't use the optimization anyway.
89488
89489 2002-12-06  Jim Meyering  <jim@meyering.net>
89490
89491         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89492
89493         Merge in changes from libc's misc/error.c, in preparation
89494         for the merge of gnulib's changes back into libc.
89495
89496         * lib/error.c (_): Define only if not already defined.
89497         Move definition to follow all #include directives.
89498         Include unlocked-io.h only if !_LIBC.
89499         [_LIBC]: Include <libio/libioP.h>.
89500         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89501         (fflush): Tweak definition to use INTUSE.
89502         (putc): Define.
89503
89504 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89505
89506         * lib/alloca.c [defined emacs]: Include "lisp.h".
89507         (xalloc_die) [defined emacs]: New macro.
89508         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89509         [! defined emacs]: Include <xalloc.h>.
89510         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89511         (pointer): Typedef to POINTER_TYPE *.
89512         (malloc): Remove decl; we now always use xmalloc.
89513         (alloca): Use old-style definition, since Emacs needs this.
89514         Check for arithmetic overflow when computing combined size.
89515
89516 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89517
89518         Do not generate unlocked-io.h automatically, since it's easier to
89519         maintain it by hand.
89520
89521         * lib/unlocked-io.h: New file, from GNU diffutils,
89522         but with proper copyright notice and attribution.
89523         * lib/gen-uio: Remove.
89524         * lib/Makefile.am: Add copyright notice.
89525         (libfetish_a_SOURCES): Add unlocked-io.h.
89526         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89527         (DISTCLEANFILES, io_functions): Remove macros.
89528         (EXTRA_DIST): Remove gen_uio.
89529         (unlocked-io.h): Remove rule.
89530
89531 2002-12-04  Jim Meyering  <jim@meyering.net>
89532
89533         Reflect the fact that stat.c and lstat.c are no longer generated.
89534         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89535         (DISTCLEANFILES): Likewise.
89536         (EXTRA_DIST): Likewise.
89537         (all_local): Don't depend on stat.c or lstat.c.
89538         (stat.c, lstat.c): Remove rules.
89539         (EXTRA_DIST): Remove xstat.in.
89540
89541         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89542         * lib/stat.c: New file.  Contents mostly from xstat.in.
89543         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89544         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89545
89546         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89547         too.
89548         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89549
89550 2002-12-03  Jim Meyering  <jim@meyering.net>
89551
89552         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89553         but not semantics, to minimize the differences between these two files.
89554         (safe_read): Change comment to mention SAFE_READ_ERROR.
89555
89556         * lib/safe-read.c (IS_EINTR): Define.
89557         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89558
89559 2002-12-02  Jim Meyering  <jim@meyering.net>
89560
89561         * lib/safe-read.c (EINTR): Define.
89562         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89563         (INT_MAX): Provide fallback.
89564         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89565
89566         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89567
89568 2002-12-02  Bruno Haible  <bruno@clisp.org>
89569
89570         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89571         Define, taken from safe-read.c.
89572         (INT_MAX): Provide fallback.
89573         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89574         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89575
89576         * lib/safe-read.c (EINTR): Remove definition.
89577         (safe_read): Don't use EINTR if it is absent.
89578
89579 2002-12-01  Jim Meyering  <jim@meyering.net>
89580
89581         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89582         zero.
89583         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89584
89585 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89586
89587         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89588         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89589         with `if (! (value < limit)) abort ();', for readability.
89590
89591 2002-11-26  Karl Berry  <karl@gnu.org>
89592
89593         * lib/strdup.c: copy from libc again, with jim's ok.
89594         * lib/.cppi-disable: re-add strdup.c
89595
89596 2002-11-25  Karl Berry  <karl@gnu.org>
89597
89598         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89599         instead of "strtol.c".
89600
89601 2002-11-25  Karl Berry  <karl@gnu.org>
89602
89603         * config/install-sh: update from automake for variable quoting, $0 in
89604         error msgs, etc.
89605
89606         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89607         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89608         entry.
89609
89610 2002-11-25  Jim Meyering  <jim@meyering.net>
89611
89612         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89613
89614 2002-11-24  Karl Berry  <karl@gnu.org>
89615
89616         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89617         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89618
89619 2002-11-24  Jim Meyering  <jim@meyering.net>
89620
89621         Update from coreutils:
89622
89623         * lib/mktime.c: Merge in changes from libc.
89624
89625         Avoid a link-time failure on some Linux systems.
89626         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89627         (otherwise).
89628         (__mon_yday): Declare with the STATIC attribute.
89629         (__mktime_internal): Likewise.
89630         Based on a report from Greg Schafer.
89631
89632 2002-11-23  Jim Meyering  <jim@meyering.net>
89633
89634         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89635         Use `unsigned', not `int', as type of index.
89636
89637         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89638
89639         * lib/fsusage.c: Remove unneeded parentheses around operands of
89640         `defined'.
89641
89642 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89643
89644         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89645         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89646         so that we can be included first.
89647         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89648         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89649         No need to include stddef.h or sys/types.h any more.
89650         Surround local include files with "", not "<>".
89651         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89652         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89653         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89654         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89655         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89656         (ISPRINT): Remove; no longer needed now that we assume C89.
89657
89658         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89659         Preserve errno.
89660
89661         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89662         quotearg_char): Use SIZE_MAX rather than
89663         (size_t) -1 when we are talking about "infinity".
89664
89665         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89666
89667 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89668
89669         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89670         hint that one should use `if (! x) abort ();' rather than `assert
89671         (x);', and anyway it's one less thing to worry about configuring.
89672         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89673         hash_rehash, hash_insert): Use abort rather than assert.
89674
89675 2002-11-22  Bruno Haible  <bruno@clisp.org>
89676
89677         * lib/safe-read.h: Assume C89. Add comments.
89678         (safe_read): Change return type to size_t.
89679         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89680         byte counts > SSIZE_MAX correctly.
89681         * lib/safe-write.h: New file.
89682         * lib/safe-write.c: New file.
89683         * lib/full-read.h: New file.
89684         * lib/full-read.c: New file.
89685         * lib/full-write.h: Assume C89. Add comments.
89686         * lib/full-write.c: Include safe-write.h.
89687         (full_write): Rewritten to use safe_write.
89688         Suggested by Jim Meyering and Paul Eggert.
89689
89690 2002-11-21  Jim Meyering  <jim@meyering.net>
89691
89692         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89693
89694         Merge in changes from the coreutils.
89695
89696         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89697         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89698         <stdint.h>.
89699         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89700         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89701         int.  Work more efficiently if X is the same width as uintmax_t.
89702         Do not compare X to -1, to avoid bogus compiler warning.
89703         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89704         Don't assume that f_frsize and f_bsize are the same type.
89705
89706         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89707         warning on FreeBSD.
89708
89709         * lib/makepath.c (make_path): Restore umask *before* creating the final
89710         component.
89711         (make_path): Minor reformatting.
89712
89713         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89714         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89715         HAVE_MALLOC/HAVE_REALLOC.
89716
89717         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89718         dummy ones.  At least on GNU/Linux systems, `auto' means something
89719         else.
89720         From Michael Stone.
89721
89722 2002-11-21  Bruno Haible  <bruno@clisp.org>
89723
89724         Remove case insensitive option matching.
89725         * lib/argmatch.h (argcasematch): Remove declaration.
89726         (ARGCASEMATCH): Remove macro.
89727         (__xargmatch_internal): Remove case_sensitive argument.
89728         (XARGMATCH): Update.
89729         (XARGCASEMATCH): Remove macro.
89730         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89731         case_sensitive argument.
89732         (argcasematch): Remove function.
89733         (__xargmatch_internal): Remove case_sensitive argument.
89734         (main): Use XARGMATCH instead of XARGCASEMATCH.
89735
89736         * lib/xmalloc.c: Change compile-time error message. Add comment about
89737         required autoconf version.
89738
89739 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89740
89741         Merge argmatch cleanups from Bison.  Assume C89.
89742
89743         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89744         Include stdlib.h, for EXIT_FAILURE.
89745         Always include <string.h>, since we assume C89.
89746         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89747         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89748         Include <stddef.h> instead, since it's all we need for size_t.
89749         (PARAMS): Remove.  All uses removed.
89750         (ARRAY_CARDINALITY): Do not bother to #undef.
89751         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89752         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89753         Remove unnecessary parentheses.
89754         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89755         Insert necessary parentheses.
89756         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89757         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89758
89759 2002-11-19  Bruno Haible  <bruno@clisp.org>
89760
89761         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89762         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89763
89764         * lib/mbswidth.h (PARAMS): Remove macro.
89765         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89766         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89767
89768         * lib/gcd.h (PARAMS): Remove macro.
89769         (gcd): Use ANSI C function declarations.
89770         * lib/gcd.c (gcd): Likewise.
89771
89772 2002-11-15  Bruno Haible  <bruno@clisp.org>
89773
89774         * lib/strcspn.c: Include <stddef.h>.
89775         (strcspn): Use ANSI C function declaration. Change return type to
89776         size_t. Use NULL.
89777         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89778         (strpbrk): Use NULL.
89779         * lib/strpbrk.h (PARAMS): Remove macro.
89780         (strpbrk): Use ANSI C function declaration.
89781         * lib/strstr.c: Don't include <sys/types.h>.
89782         * lib/strstr.h (PARAMS): Remove macro.
89783         (strstr): Use ANSI C function declarations.
89784
89785 2002-11-14  Karl Berry  <karl@gnu.org>
89786
89787         * config/mkinstalldirs: `do' on separate line, instead of
89788         `for var; do'.
89789
89790 2002-11-06  Bruno Haible  <bruno@clisp.org>
89791
89792         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89793         * lib/gcd.c (gcd): Likewise.
89794
89795 2002-11-05  Bruno Haible  <bruno@clisp.org>
89796
89797         * lib/gcd.h: New file, from gettext-0.11.5.
89798         * lib/gcd.c: New file, from gettext-0.11.5.
89799
89800 2002-11-05  Bruno Haible  <bruno@clisp.org>
89801
89802         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89803         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89804         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89805         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89806
89807         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89808         <libintl.h>.
89809         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89810         <libintl.h>.
89811
89812         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89813         * lib/human.c: Include gettext.h instead of <libintl.h>.
89814         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89815         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89816         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89817         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89818         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89819         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89820         (textdomain): Remove definition.
89821         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89822
89823         * lib/long-options.c: Remove include of <libintl.h> and definition of
89824         _.
89825         * lib/same.c: Remove include of <libintl.h> and definition of _.
89826
89827 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89828
89829         * lib/config.charset: A few additions for Solaris.
89830
89831 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89832
89833         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89834         * lib/localcharset.c (locale_charset): Declare as extern "C".
89835
89836 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89837
89838         * lib/config.charset: msdos in uk_UA uses CP1125.
89839
89840 2002-11-04  Bruno Haible  <bruno@clisp.org>
89841
89842         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89843         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89844         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89845         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89846         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89847
89848 2002-11-04  Bruno Haible  <bruno@clisp.org>
89849
89850         * lib/localcharset.c (locale_charset): Don't return an empty string.
89851
89852 2002-11-04  Bruno Haible  <bruno@clisp.org>
89853
89854         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89855         aliases.
89856
89857 2002-11-04  Bruno Haible  <bruno@clisp.org>
89858
89859         * lib/config.charset: Update for newest glibc. Add canonical names
89860         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89861
89862 2002-11-04  Bruno Haible  <bruno@clisp.org>
89863
89864         * lib/config.charset: Add support for NetBSD.
89865
89866 2002-11-04  Bruno Haible  <bruno@clisp.org>
89867
89868         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89869
89870 2002-11-01  Bruno Haible  <bruno@clisp.org>
89871
89872         * configure.in: Add AC_CONFIG_AUX_DIR call.
89873         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89874         test/Makefile.
89875         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89876
89877 2002-09-28  Karl Berry  <karl@gnu.org>
89878
89879         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89880         installed automake until the next release, since changes have been
89881         made.
89882
89883 2002-09-25  Karl Berry  <karl@gnu.org>
89884
89885         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89886         * lib/getopt*: copy from libc/posix.
89887         * lib/gettext.h: copy from gettext.
89888         * lib/.cppi-disable: add strdup.c, gettext.h.
89889
89890 2002-09-25  Karl Berry  <karl@gnu.org>
89891
89892         * config/srclist.txt: enable gettext.h check.
89893         * config/config.{guess,sub}: update from prep.
89894         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89895                 from automake 1.6.3.
89896         See srclist*.
89897
89898 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89899
89900         * regex.c (PATFETCH): Remove the translating fetch.
89901         (PATFETCH_RAW): Rename to PATFETCH.
89902         (set_image_of_range): New fun.
89903         (SET_RANGE_TABLE_WORK_AREA): Use it.
89904         (regex_compile): Don't translate the pattern chars so eagerly.
89905         Only do it when inserting an `exactn' bytecode or when handling
89906         a char-range.
89907         (mutually_exclusive_p): Avoid empty statement.
89908
89909 2002-07-06  Jim Meyering  <meyering@lucent.com>
89910
89911         * m4/README: Don't mention Makefile.am.in.
89912         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89913
89914 2002-07-01  Jim Meyering  <meyering@lucent.com>
89915
89916         * lib/c-stack.c: Include sys/time.h.
89917         From Volker Borchert.
89918
89919 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89920
89921         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89922
89923 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89924
89925         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89926         New macro.  Use it uniformly instead of
89927         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89928         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89929         reported by Vin Shelton.
89930
89931 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89932
89933         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89934         Do not assume SA_SIGINFO behavior.
89935         Bug reported by Jim Meyering on NetBSD 1.5.2.
89936
89937 2002-06-22  Jim Meyering  <meyering@lucent.com>
89938
89939         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89940         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89941
89942         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89943         now that configure.ac uses AC_GNU_SOURCE.
89944         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89945         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89946
89947         Update to latest tools.  Suggestions from Paul Eggert.
89948         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89949         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89950         * m4/fnmatch.m4: Likewise.
89951         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89952         to AC_HEADER_STDBOOL
89953
89954 2002-06-22  Jim Meyering  <meyering@lucent.com>
89955
89956         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89957         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89958
89959 2002-06-22  Jim Meyering  <meyering@lucent.com>
89960
89961         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89962
89963         * lib/exitfail.c, exitfail.h: Likewise.
89964         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89965
89966         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89967         of fnmatch.h.
89968         (EXTRA_DIST): Add fnmatch_loop.c.
89969         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89970
89971         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89972         * lib/fnmatch.c: Update from diffutils-2.8.2.
89973         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89974         * lib/fnmatch.h: Remove file.
89975
89976 2002-06-21  Jim Meyering  <meyering@lucent.com>
89977
89978         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89979         * m4/mbrtowc.m4: Likewise.
89980
89981         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89982         * m4/mbswidth.m4: Reflect name change:
89983         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89984         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89985
89986         * m4/lib-link.m4: Update from gettext-0.11.2.
89987         * m4/gettext.m4: Likewise.
89988
89989         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89990         From Alfred M. Szmidt.
89991
89992 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89993
89994         * lib/file-type.h: Report an error if neither S_ISREG nor
89995         S_IFREG is defined, instead of using a test specific to glibc
89996         2.2.  This should be safe, since POSIX requires S_ISREG and
89997         Unix Version 7 had S_IFREG.  We don't need to check for
89998         <sys/types.h> since we don't use any symbols that it defines.
89999
90000 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90001
90002         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90003         $@-t, so that each temporary file name is unique and valid in the first
90004         8 characters, for operation under DOS.
90005
90006 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90007
90008         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90009
90010 2002-06-15  Jim Meyering  <meyering@lucent.com>
90011
90012         Work even with DJGPP 2.03, which lacks support for symlinks.
90013         From Richard Dawe.
90014         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90015         is defined.
90016         * lib/lchown.c (S_ISLNK): Likewise.
90017
90018 2002-06-15  Jim Meyering  <meyering@lucent.com>
90019
90020         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90021         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90022         have been included before this file.
90023
90024 2002-06-14  Jim Meyering  <meyering@lucent.com>
90025
90026         * lib/file-type.h: Use the version from diffutils-2.8.2.
90027         * lib/file-type.c: Likewise.
90028
90029 2002-06-07  Jim Meyering  <meyering@lucent.com>
90030
90031         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90032         They're needed at least for NetBSD 1.5.2.
90033         ($statxfs_includes): Include those same headers.
90034         ($statxfs_includes): Include sys/vfs.h if available.
90035         ($statxfs_includes): Likewise for sys/statvfs.h.
90036         Check for the following members in both structs statfs and statvfs:
90037         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90038
90039 2002-06-01  Jim Meyering  <meyering@lucent.com>
90040
90041         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90042         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90043
90044 2002-05-28  Jim Meyering  <meyering@lucent.com>
90045
90046         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90047         Reported by Volker Borchert.
90048
90049 2002-05-27  Jim Meyering  <meyering@lucent.com>
90050
90051         Fix a problem seen only on nonconforming systems whereby ls.c's
90052         use of localtime, and then of gettimeofday would cause trouble:
90053         the localtime call used to initialize rpl_gettimeofday's save
90054         mechanism would clobber ls's current local time information so
90055         that in any long listing the first file would always be listed
90056         with date 1970-01-01.  Analysis by Volker Borchert.
90057
90058         * lib/gettimeofday.c (localtime): Undefine.
90059         (rpl_localtime): New function.
90060
90061 2002-05-27  Jim Meyering  <meyering@lucent.com>
90062
90063         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90064         localtime.
90065
90066         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90067         use the replacement function; it wouldn't resolve at link time.
90068         Reported by Volker Borchert.
90069
90070 2002-05-22  Jim Meyering  <meyering@lucent.com>
90071
90072         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90073         file-type.h.
90074         * lib/file-type.h: New file.
90075         * lib/file-type.c (file_type): New file/function.  Extracted from
90076         diffutils.
90077
90078 2002-04-30  Jim Meyering  <meyering@lucent.com>
90079
90080         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90081
90082 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90083
90084         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90085
90086 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90087
90088         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90089         Do not check for alloca.h (no longer used) or stdbool.h (was never
90090         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90091
90092 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90093
90094         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90095
90096 2002-04-29  Jim Meyering  <meyering@lucent.com>
90097
90098         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90099         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90100         Use AC_FUNC_STRNLEN here instead.
90101
90102         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90103         With autoconf-2.53a, it's part of AC_PROG_CC.
90104
90105 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90106
90107         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90108         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90109
90110 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90111
90112         * lib/sig2str.h, lib/sig2str.c: New files.
90113         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90114
90115 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90116
90117         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90118         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90119         of 127, since 64 is the largest conceivable number for ancient
90120         nonstandard hosts.
90121         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90122
90123 2002-04-28  Jim Meyering  <meyering@lucent.com>
90124
90125         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90126
90127 2002-04-24  Jim Meyering  <meyering@lucent.com>
90128
90129         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90130         (jm_PREREQ): Use it.
90131
90132         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90133         mach/mach.h fcntl.h.
90134         Check for this function: setlocale.
90135
90136 2002-04-24  Jim Meyering  <meyering@lucent.com>
90137
90138         * lib/gettext.h: New file, from Gettext.
90139         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90140         (libfetish_a_SOURCES): Add gettext.h.
90141
90142 2002-04-16  Jim Meyering  <meyering@lucent.com>
90143
90144         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90145         ut_pid, ut_id, ut_exit.
90146
90147 2002-04-16  Jim Meyering  <meyering@lucent.com>
90148
90149         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90150         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90151         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90152
90153 2002-04-12  Jim Meyering  <meyering@lucent.com>
90154
90155         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90156         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90157         existence of the getmntinfo function.  Needed for Darwin 5.3.
90158
90159         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90160         This is necessary at least on Darwin 5.3.
90161
90162         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90163         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90164         strnlen.o in the library, and that makes some versions of ranlib
90165         object.
90166
90167 2002-04-12  Jim Meyering  <meyering@lucent.com>
90168
90169         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90170
90171 2002-04-09  Jim Meyering  <meyering@lucent.com>
90172
90173         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90174         to be more precise.  Rather than saying we're checking whether the
90175         function `works', say what we're testing.
90176         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90177         Reported by Bruno Haible.
90178
90179 2002-03-10  Jim Meyering  <meyering@lucent.com>
90180
90181         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90182         Suggestion from Santiago Vila.
90183
90184 2002-03-08  Jim Meyering  <meyering@lucent.com>
90185
90186         * lib/rename.c: Mention that this wrapper is needed also on
90187         mips-dec-ultrix4.4 systems.
90188
90189 2002-03-02  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90192         not HAVE_CLOCK_SETTIME.
90193
90194 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90195
90196         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90197         Check for clock_settime.
90198
90199 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90200
90201         * lib/nanosleep.h: Rename to....
90202         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90203
90204         * lib/gettime.c: New file.
90205         * lib/settime.c: New file.
90206         * lib/stime.c: Remove.
90207
90208         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90209         timespec.h.  Remove nanosleep.h.
90210
90211 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90212
90213         * m4/acl.m4: New file.
90214         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90215         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90216
90217 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90218
90219         * lib/acl.c, lib/acl.h: New files.
90220         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90221
90222 2002-02-24  Jim Meyering  <meyering@lucent.com>
90223
90224         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90225         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90226         cause trouble.  Reported by Nelson Beebe.
90227
90228 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90229
90230         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90231         compilers that don't know that xalloc_die never returns.
90232
90233 2002-02-20  Jim Meyering  <meyering@lucent.com>
90234
90235         * lib/getdate.c: Regenerate using bison-1.33.
90236
90237 2002-02-17  Jim Meyering  <meyering@lucent.com>
90238
90239         * config/config.guess (main): Don't use `head -1'; it's no longer
90240         portable. Use `sed 1q' instead.
90241
90242 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90243
90244         * m4/codeset.m4: Upgrade to gettext-0.11.
90245         * m4/gettext.m4: Upgrade to gettext-0.11.
90246         * m4/glibc21.m4: Upgrade to gettext-0.11.
90247         * m4/iconv.m4: Upgrade to gettext-0.11.
90248         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90249         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90250         * m4/lib-ld.m4: New file, from gettext-0.11.
90251         * m4/lib-link.m4: New file, from gettext-0.11.
90252         * m4/lib-prefix.m4: New file, from gettext-0.11.
90253         * m4/progtest.m4: Upgrade to gettext-0.11.
90254
90255 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90256
90257         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90258         (jm_PREREQ): Use it.
90259
90260 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90261
90262         * lib/posixver.c, lib/posixver.h: New files.
90263         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90264
90265 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90266             Bruno Haible  <bruno@clisp.org>
90267
90268         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90269         (fwrite_success_callback): New declaration.
90270         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90271         print_unicode_char. Call failure callback instead of error.
90272         (fwrite_success_callback): New function.
90273         (exit_failure_callback): New function.
90274         (fallback_failure_callback): New function.
90275         (print_unicode_char): Call unicode_to_mb.
90276
90277 2002-01-26  Jim Meyering  <meyering@lucent.com>
90278
90279         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90280         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90281
90282 2002-01-26  Jim Meyering  <meyering@lucent.com>
90283
90284         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90285
90286 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90287
90288         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90289
90290 2002-01-22  Jim Meyering  <meyering@lucent.com>
90291
90292         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90293         Otherwise, some versions of automake would omit the rule that makes
90294         Makefile from Makefile.in.
90295
90296 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90297
90298         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90299         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90300         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90301         (memcoll): Set errno to zero if there is no error.
90302
90303         * lib/quotearg.c (quotearg_buffer_restyled):
90304         Fix bug with quoting buffers containing NUL when backslashing escapes.
90305         This bug was exposed by the other changes in this patch.
90306         (quotearg_n_options): New arg ARGSIZE.
90307         All callers changed.
90308         (quoting_options_from_style): New function.
90309         (quotearg_n_style): Use it.
90310         (quotearg_n_style_mem): New function.
90311
90312         * lib/quotearg.h (quotearg_n_style_mem): New function.
90313
90314 2002-01-19  Jim Meyering  <meyering@lucent.com>
90315
90316         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90317         Remove useless quotes: DF_PROG="df".
90318         * m4/strnlen.m4: New file.
90319
90320 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90321
90322         * lib/backupfile.c (ISDIGIT): Comment fix.
90323         * lib/getdate.y (ISDIGIT): Likewise.
90324         * lib/posixtm.c (ISDIGIT, year): Likewise.
90325         * lib/strverscmp.c (ISDIGIT): Likewise.
90326         * lib/userspec.c (ISDIGIT): Likewise.
90327
90328 2002-01-16  Jim Meyering  <meyering@lucent.com>
90329
90330         * lib/getdate.y: Add three semicolons, each just before a closing
90331         brace. Bison (as of version 1.31) no longer papers over that mistake.
90332
90333 2002-01-05  Jim Meyering  <meyering@lucent.com>
90334
90335         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90336
90337 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90338
90339         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90340         not silently exit merely because the output buffer happens to
90341         have nothing pending.
90342
90343 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90344
90345         See the big note in ../ChangeLog.
90346         * lib/human.c (suffixes): Prefer K to k for 1024.
90347         (generate_suffix_backwards): New function.
90348         (human_readable_inexact): Use it.
90349         * lib/xstrtol.c (__xstrtol): If there is no number but there
90350         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90351         Accept 'K' as well as 'k'.
90352
90353 2001-12-15  Jim Meyering  <meyering@lucent.com>
90354
90355         * lib/regex.h (__restrict_arr): Update from libc.
90356
90357         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90358         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90359         (STREQ): Define.
90360
90361 2001-12-14  Jim Meyering  <meyering@lucent.com>
90362
90363         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90364         Suggestion from Bruno Haible.
90365
90366 2001-12-10  Jim Meyering  <meyering@lucent.com>
90367
90368         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90369         xrealloc, Instead, include "xalloc.h".
90370         (initbuffer): Don't cast xmalloc return value to char*.
90371         (readline): Reword comment.
90372         Don't cast xrealloc return value to char*
90373         Return NULL, not 0.
90374
90375 2001-12-09  Jim Meyering  <meyering@lucent.com>
90376
90377         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90378         about `signed and unsigned type in conditional expression'.
90379         * lib/posixtm.c (posix_time_parse): Likewise.
90380
90381         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90382
90383         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90384         to avoid a pedantic warning.
90385
90386         * lib/getstr.c: Don't include assert.h.
90387         (getstr): Remove warning-evoking assertions.
90388         Return -1 if offset parameter is out of bounds.
90389         Change the type of a local from int to size_t.
90390
90391         * lib/strftime.c (my_strftime_localtime_r): Include this function
90392         definition in the `#if ! HAVE_TM_GMTOFF' block.
90393
90394         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90395         Include xalloc.h instead.
90396
90397 2001-12-02  Jim Meyering  <meyering@lucent.com>
90398
90399         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90400         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90401         included.
90402
90403         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90404         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90405
90406 2001-11-30  Akim Demaille  <akim@epita.fr>
90407
90408         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90409         before being defined.
90410
90411 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90412
90413         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90414         First arg is int, not unsigned.
90415         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90416         (SIZE_MAX, UINT_MAX): New macros.
90417         (quotearg_n_options): Abort if N is negative.
90418         Avoid overflow check on hosts where size_t is 64 bits and int
90419         is 32 bits, as overflow is impossible there.
90420         Fix off-by-one typo that caused unnecessary reallocation.
90421
90422 2001-11-27  Jim Meyering  <meyering@lucent.com>
90423
90424         * lib/tempname.c: Merge with version from libc.
90425         * lib/regex.c: Likewise.
90426
90427         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90428         systems for which STDC_HEADERS is 0, it was not included, resulting in
90429         a warning about an integer-to-pointer conversion problem with getenv.
90430         Reported by Volker Borchert.
90431
90432 2001-11-26  Jim Meyering  <meyering@lucent.com>
90433
90434         * lib/gtod.h: Remove file.
90435         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90436         * lib/gettimeofday.c: Don't include gtod.h.
90437         (GTOD_init): Remove function.
90438         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90439         Suggestion from Volker Borchert.
90440
90441 2001-11-23  Jim Meyering  <meyering@lucent.com>
90442
90443         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90444         it.
90445         * lib/hash.c (struct hash_table): Define it here instead.
90446
90447 2001-11-22  Jim Meyering  <meyering@lucent.com>
90448
90449         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90450
90451 2001-11-20  Jim Meyering  <meyering@lucent.com>
90452
90453         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90454         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90455
90456 2001-11-19  Jim Meyering  <meyering@lucent.com>
90457
90458         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90459         directory.  Use "conftestXXXXXX" as the template.
90460         Suggestion from Paul Eggert.
90461
90462         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90463         immediately, so the test doesn't mistakenly hit the max-open-files
90464         limit.
90465
90466 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90467
90468         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90469         (TEMPORARIES): New macro.
90470         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90471         removes an artificial limitation (e.g. HP-UX 10.20, where
90472         TMP_MAX is 17576).
90473
90474 2001-11-18  Jim Meyering  <meyering@lucent.com>
90475
90476         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90477
90478 2001-11-18  Jim Meyering  <meyering@lucent.com>
90479
90480         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90481         on SunOS 4.
90482
90483         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90484         files will be created before anything else.
90485
90486 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90487
90488         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90489         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90490
90491 2001-11-17  Jim Meyering  <meyering@lucent.com>
90492
90493         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90494         Prompted by a report from Bob Proulx.
90495
90496         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90497         Instead, require UTILS_FUNC_MKSTEMP.
90498
90499 2001-11-17  Jim Meyering  <meyering@lucent.com>
90500
90501         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90502         Now, that's done as part of AC_FUNC_STRTOD.
90503
90504 2001-11-17  Jim Meyering  <meyering@lucent.com>
90505
90506         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90507         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90508         rather than group writable.  Patch by Juan F. Codagnone.
90509
90510         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90511         xrealloc, Instead, include "xalloc.h".
90512
90513         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90514         Remove explicit declarations of xmalloc, xrealloc,
90515         and xstrdup.  Instead, include "xalloc.h".
90516
90517         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90518         unlocked-io.h.
90519         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90520         Likewise.
90521         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90522
90523         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90524         Reported by Padraig Brady.
90525
90526         * lib/mkstemp.c: #undef mkstemp.
90527         Include config.h.
90528         (rpl_mkstemp): Rename from mkstemp.
90529         Protoize.
90530
90531 2001-11-16  Jim Meyering  <meyering@lucent.com>
90532
90533         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90534         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90535         determine the amount of total physical memory, use pstat_getstatic.
90536         HPUX-11 doesn't define _SC_PHYS_PAGES.
90537         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90538         If sysconf couldn't be used to determine the amount of available
90539         physical memory, use both pstat_getstatic and pstat_getdynamic.
90540         Based on a patch from Bob Proulx.
90541
90542 2001-11-10  Jim Meyering  <meyering@lucent.com>
90543
90544         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90545         (jm_PREREQ): Use it.
90546
90547 2001-11-09  Jim Meyering  <meyering@lucent.com>
90548
90549         * m4/jm-macros.m4: Require autoconf-2.52f.
90550         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90551         Use these AC_-prefixed names, not the AM_-prefixed ones.
90552
90553         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90554
90555 2001-11-05  Jim Meyering  <meyering@lucent.com>
90556
90557         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90558
90559 2001-11-04  Jim Meyering  <meyering@lucent.com>
90560
90561         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90562         $DEFS.
90563
90564 2001-11-03  Jim Meyering  <meyering@lucent.com>
90565
90566         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90567         of AC_DEFUN.
90568
90569         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90570         know the name of the variable in the macro definition.
90571
90572 2001-11-03  Jim Meyering  <meyering@lucent.com>
90573
90574         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90575         in argmatch_to_argument call.
90576
90577         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90578         argument.
90579
90580         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90581         e.g., a fault due to an attempt to free a NULL pointer.
90582
90583 2001-11-01  Jim Meyering  <meyering@lucent.com>
90584
90585         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90586         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90587
90588 2001-11-01  Jim Meyering  <meyering@lucent.com>
90589
90590         * lib/dirfd.c, lib/dirfd.h: New files.
90591         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90592
90593         * lib/hash.c (hash_print) [TESTING]: Clean up.
90594
90595 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90596
90597         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90598         to avoid a warning if -Wall.
90599
90600 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90601
90602         * README: New file
90603         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90604         (per RMS's instructions, this is now the canonical source)
90605         * lgpl/, gpl/: New directories.
90606
90607 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90608
90609         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90610
90611 2001-10-21  Jim Meyering  <meyering@lucent.com>
90612
90613         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90614         this code would end up calling gettext even in packages built
90615         with --disable-nls.
90616         * lib/getopt.c (_): Likewise.
90617         * lib/regex.c (_): Likewise.
90618
90619 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90620
90621         * m4/error.m4 (jm_PREREQ_ERROR):
90622         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90623         AC_FUNC_STRERROR_R does that.
90624         Check for strerror declaration.
90625
90626         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90627         are supposed to have them these days.
90628         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90629         Merge changes from latest Autoconf CVS.
90630         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90631         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90632         POSIX decided to standardize on the int flavor of strerror_r.
90633
90634 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90635
90636         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90637         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90638         Use strerror_r that is only a macro, even if it is not a function.
90639         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90640         (private_strerror): Use prototypes, not old-style function definition.
90641         (print_errno_message): New function.
90642         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90643         char*-flavored one.
90644         (error_tail, error, error_at_line): Use it.
90645
90646 2001-10-11  Jim Meyering  <meyering@lucent.com>
90647
90648         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90649         and quote_n (1, ... to avoid clobbering a buffer.
90650
90651 2001-10-05  Jim Meyering  <meyering@lucent.com>
90652
90653         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90654         hash-pjw.h.
90655         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90656         * lib/hash-pjw.h: New file.
90657
90658 2001-09-30  Jim Meyering  <meyering@lucent.com>
90659
90660         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90661         `struct fsstat' has the `f_fstypename' member.
90662         Use that to define FS_TYPE, which is now used to make
90663         the getfsstat link test tighter.
90664
90665 2001-09-30  Jim Meyering  <meyering@lucent.com>
90666
90667         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90668         Include <sys/ucred.h>, for Apple Darwin.
90669         Include sys/mount.h and sys/fs_types.h only if available.
90670         (FS_TYPE): Define.
90671         (read_filesystem_list): Use FS_TYPE.
90672
90673 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90674
90675         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90676         a boolean context.
90677
90678 2001-09-29  Jim Meyering  <meyering@lucent.com>
90679
90680         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90681         [one-argument getmntent function]): Include stdio.h before mntent.h.
90682         SunOS 4.1.x needs it for the declaration of `FILE'.
90683         Patch by Volker Borchert.
90684
90685         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90686         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90687         sys/fs_types.h, and make the link-test for getfsstat guard #include
90688         directives with appropriate #if HAVE_*_H tests so that we can
90689         detect getfsstat on Apple Darwin1.3.7 systems.
90690         Reported by Nelson Beebe.
90691         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90692
90693 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90694
90695         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90696         #defines strtoimax.  Also treat the other strto* functions
90697         like strtoimax.
90698
90699         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90700         Check for strtoul and strtoumax,
90701         as those declarations are made even in the signed case.
90702         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90703         Likewise, for strtol and strtoimax.
90704
90705 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90706
90707         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90708         #defines strtoimax.  Also treat the other strto* functions
90709         like strtoimax.
90710
90711         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90712         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90713         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90714
90715 2001-09-26  Jim Meyering  <meyering@lucent.com>
90716
90717         Most macros in unlocked-io.h had the wrong number of arguments.
90718         * lib/gen-uio: New script.
90719         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90720         * lib/unlocked-io.hin: Remove file.
90721         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90722         rather than trying to embed it here.
90723         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90724         Reported by Padraig Brady.
90725
90726 2001-09-25  Volker Borchert  <bt@teknon.de>
90727
90728         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90729         `result'.
90730
90731 2001-09-24  Jim Meyering  <meyering@lucent.com>
90732
90733         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90734
90735 2001-09-23  Jim Meyering  <meyering@lucent.com>
90736
90737         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90738         instead of the mere test for existence of mntent.h.  The latter
90739         would get a false-positive on AIX 3.4 systems.
90740         In the outer getmntent if-block, don't die if neither of the getmntent
90741         tests succeeds.  Instead, just fall through and continue with the
90742         remaining tests.
90743
90744 2001-09-23  Jim Meyering  <meyering@lucent.com>
90745
90746         * lib/mountlist.c: Remove useless parentheses in #if directives.
90747         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90748         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90749
90750 2001-09-22  Jim Meyering  <meyering@lucent.com>
90751
90752         * m4/gettext.m4: New file.  From gettext.
90753         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90754         * m4/progtest.m4: Likewise
90755         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90756         * m4/glibc21.m4: Likewise.
90757
90758         * m4/libintl.m4: Remove.  No longer used.
90759
90760 2001-09-22  Jim Meyering  <meyering@lucent.com>
90761
90762         * lib/localcharset.c: Update from latest gettext.
90763         * lib/config.charset: Likewise.
90764
90765 2001-09-20  Jim Meyering  <meyering@lucent.com>
90766
90767         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90768         strtoimax.
90769         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90770         strtoumax.
90771
90772 2001-09-20  Jim Meyering  <meyering@lucent.com>
90773
90774         * lib/xstrtol.c (strtoimax): Guard declaration with
90775         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90776         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90777         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90778         (strtoumax): Likewise, for completeness (it wasn't necessary).
90779
90780 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90781
90782         * lib/strtoimax.c (HAVE_LONG_LONG):
90783         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90784         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90785         to work around bug in IBM C compiler.
90786
90787 2001-09-17  Jim Meyering  <meyering@lucent.com>
90788
90789         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90790         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90791         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90792         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90793         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90794         whenever the right hand side need not be expanded by the shell.
90795
90796 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90797
90798         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90799         library.  It's not correct, as some older glibcs are buggy.
90800         fnmatch wasn't fixed until glibc 2.2.
90801
90802         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90803         special shell magic here.
90804
90805 2001-09-16  Jim Meyering  <meyering@lucent.com>
90806
90807         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90808         * m4/jm-macros.m4: Require it.
90809
90810 2001-09-16  Jim Meyering  <meyering@lucent.com>
90811
90812         * lib/mkdir.c: New file.
90813
90814 2001-09-15  Jim Meyering  <meyering@lucent.com>
90815
90816         * m4/jm-macros.m4: Check for help2man.
90817
90818 2001-09-11  Jim Meyering  <meyering@lucent.com>
90819
90820         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90821         The body, by Paul Eggert, was moved here from configure.in.
90822         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90823
90824 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90825
90826         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90827         (jm_PREREQ): Use it.
90828
90829 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90830
90831         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90832         Use ssize_t, not int, to store result of readlink.
90833         Check for ssize_t overflow as well as size_t overflow,
90834         as POSIX says the result of readlink is implementation-defined
90835         when ssize_t overflows.
90836         Remove unnecessary cast to char*.
90837         Use free+malloc instead of realloc, as the storage doesn't need
90838         to be preserved and it's clearer and can be more efficient that way.
90839         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90840         * lib/xreadlink.h (xreadlink): Update prototype.
90841
90842 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90843
90844         * lib/xgetcwd.c: Revert some of the previous change; intead,
90845         fix the HAVE_GETCWD_NULL code to behave more like the
90846         !HAVE_GETCWD_NULL code used to.
90847
90848         Include "xalloc.h".
90849         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90850         invoke xalloc_die.
90851
90852 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90853
90854         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90855         sys/param.h, as pathmax.h includes them.
90856
90857 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90858
90859         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90860         (jm_PREREQ_XGETCWD): New macro.
90861
90862         * m4/getcwd.m4: New file.
90863
90864 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90865
90866         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90867         like the HAVE_GETCWD_NULL code.
90868         Include pathmax.h if not HAVE_GETCWD.
90869         Do not include xalloc.h.
90870         (INITIAL_BUFFER_SIZE): New symbol.
90871         Do not use xmalloc / xrealloc, since the caller is responsible for
90872         handling errors.  Preserve errno around `free' during failure.
90873         Do not overrun buffer when using getwd.
90874
90875 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90876
90877         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90878         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90879         getcwd (NULL, 0).
90880
90881 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90882
90883         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90884         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90885         spotted by Jim Meyering.
90886
90887 2001-09-03  Jim Meyering  <meyering@lucent.com>
90888
90889         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90890         failure.
90891
90892 2001-09-02  Jim Meyering  <meyering@lucent.com>
90893
90894         * lib/error.c: Update from GNU libc.
90895
90896 2001-09-01  Jim Meyering  <meyering@lucent.com>
90897
90898         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90899         Used by df.
90900
90901 2001-09-01  Jim Meyering  <meyering@lucent.com>
90902
90903         * lib/xreadlink.c: New file.
90904         * lib/xreadlink.h: New file.
90905         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90906         xreadlink.h.
90907
90908         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90909         doesn't conflict with sparc Solaris 7's definition in
90910         /usr/include/sys/int_types.h.
90911
90912         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90913         files.
90914         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90915         and strncasecmp as r-values.  Unixware didn't have declarations.
90916
90917 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90918
90919         * lib/xstrtol.h: Add copyright notice.
90920         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90921         LONGINT_INVALID_SUFFIX_CHAR.
90922
90923 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90924
90925         * lib/xstrtol.c (strtoimax): New decl.
90926
90927 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90928
90929         * lib/xgetcwd.c: Don't include pathmax.h.
90930         Include stdlib.h and unistd.h if available.
90931         Include xalloc.h.
90932         (xmalloc, xstrdup, free): Remove decls.
90933         (xgetcwd): Don't assume sizes fit in unsigned.
90934         Check for overflow when computing sizes.
90935         Simplify reallocation code.
90936
90937 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90938
90939         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90940         a directory's st_size can have an arbitrary value, so the old
90941         usage could waste an arbitrary amount of memory.  All uses
90942         changed.
90943         * lib/savedir.h: Update prototype.
90944
90945 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90946
90947         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90948
90949         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90950         old strtoimax.c.
90951
90952         Also, make the following further changes to make this file's
90953         configuration more similar to that of strtol.c:
90954         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90955         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90956         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90957         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90958         changed to signed values.
90959
90960         And make the following changes as well:
90961         Fix copyright notice, as 1999 was missing.
90962         (verify): New macro.
90963         (strtoimax): Check sizes at compile-time, not run-time.
90964         Prefer strtol to strtoll if both work.
90965         (main): Remove; it was not that useful and was a pain to maintain.
90966
90967         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90968
90969 2001-08-31  Jim Meyering  <meyering@lucent.com>
90970
90971         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90972         Use an initial, malloc'd, buffer of length 128 rather than
90973         a statically allocated one of length 1024.
90974
90975 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90976
90977         Simplify code, partly by assuming autoconf 2.52 semantics.
90978
90979         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90980
90981         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90982         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90983         All uses removed.
90984         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90985         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90986         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90987         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90988         jm_AC_HEADER_INTTYPES_H.
90989         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90990
90991         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90992
90993         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90994         Quote first arg of AC_DEFUN.
90995         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90996         since they are needed to parse the include file even if we need
90997         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90998         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90999         but with opposite signedness.
91000
91001 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91002
91003         Merge 'exclude' changes from tar 1.13.22.
91004         This fixes one or two unlikely storage allocation overflow bugs,
91005         but doesn't change user-visible behavior otherwise.
91006
91007 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91008
91009         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91010         (jm_PREREQ_EXCLUDE): New macro.
91011
91012 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91013
91014         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91015         tm to be declared.
91016
91017 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91018
91019         * lib/hash.c: Remove '2001' from copyright notice.
91020
91021 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91022
91023         * lib/full-write.h: New file.
91024         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91025         * lib/full-write.c: Correct credits, as cccp.c no longer
91026         exists and anyway it was so heavily changed from the old cccp
91027         code as to be unrecognizable.  Include full-write.h.
91028         (full_write): Return size_t, with short writes meaning failure.
91029         All callers changed.  This fixes a bug with large buffers
91030         on 64-bit hosts.
91031         * lib/utime.c: Include full-write.h.
91032
91033 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91034
91035         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91036         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91037         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91038         Include if available.
91039         (<xalloc.h>): Include
91040         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91041         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91042         collide with FNM macros.
91043         (struct patopts): New struct.
91044         (struct exclude): Use it, as exclude patterns now come with options.
91045         (new_exclude): Support above changes.
91046         (new_exclude, add_exclude_file):
91047         Initial size must now be a power of two to simplify overflow checking.
91048         (free_exclude, fnmatch_no_wildcards): New function.
91049         (excluded_filename): No longer requires options arg, as the options
91050         are determined by add_exclude.  Now returns bool, not int.
91051         (excluded_filename, add_exclude):
91052         Add support for the fancy new exclusion options.
91053         (add_exclude, add_exclude_file): Now takes int options arg.
91054         Check for arithmetic overflow when computing sizes.
91055         (add_exclude_file): xrealloc might modify errno, so don't
91056         realloc until after errno might be used.
91057
91058         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91059         New macros.
91060         (free_exclude): New decl.
91061         (add_exclude, add_exclude_file): Now takes int options arg.
91062         (excluded_filename): No longer requires options arg, as the options
91063         are determined by add_exclude.  Now returns bool, not int.
91064
91065 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91066
91067         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91068
91069 2001-08-27  Jim Meyering  <meyering@lucent.com>
91070
91071         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91072
91073         * lib/version-etc.c (N_): Remove definition.
91074         Revert most of last change.
91075         Instead, simply don't mark the `Copyright...' string for translation.
91076         Based on advice from Paul Eggert.
91077
91078         * lib/strtoxmax.c: Tweak comment.
91079
91080 2001-08-26  Jim Meyering  <meyering@lucent.com>
91081
91082         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91083
91084         * m4/xstrtoimax.m4: New file.
91085         * m4/xstrtoumax.m4: Add comments explaining why we
91086         AC_REPLACE_FUNCS(strtol).
91087
91088 2001-08-26  Jim Meyering  <meyering@lucent.com>
91089
91090         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91091         of copyright with `%s' so translators don't get an untranslated
91092         message in 2002.
91093         (COPYRIGHT_YEAR): Define.
91094         (version_etc): Use fprintf rather than fputs.
91095         Suggestion from Ulrich Drepper.
91096
91097         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91098
91099         * lib/strtoll.c: New file, from GNU libc.
91100         * lib/xstrtoimax.c: New file.
91101
91102         * lib/xstrtol.h: Add xstrtoimax.
91103         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91104         * lib/strtoimax.c: New file.  Likewise, but first define
91105         STRTOUXMAX_SIGNED.
91106
91107         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91108         ...
91109         * lib/strtoxmax.c: ... then renamed to this.
91110
91111 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91112
91113         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91114         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91115         (jm_AC_TYPE_INTMAX_T): New macro.
91116         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91117
91118         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91119
91120         * m4/longlong.m4: Renamed from ulonglong.m4.
91121         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91122         * m4/uintmax_t.m4: Removed.
91123
91124 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91125
91126         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91127         Port to Solaris 8, where 'sed' requires a space after the 'r'
91128         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91129         Redirect output to $tmp just once.
91130
91131 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91132
91133         * lib/addext.c (<errno.h>): Include.
91134         (errno): Declare if not defined.
91135         (addext): Work correctly when pathconf returns -1 and leaves
91136         errno alone because there is no limit.  Also, work even if
91137         pathconf returns a value greater than SIZE_MAX.
91138
91139 2001-08-12  Jim Meyering  <meyering@lucent.com>
91140
91141         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91142         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91143         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91144         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91145         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91146         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91147         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91148         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91149         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91150         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91151         utime.m4, utimes.m4, xstrtoumax.m4:
91152         Quote the first argument in each use of AC_DEFUN.
91153
91154 2001-08-12  Jim Meyering  <meyering@lucent.com>
91155
91156         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91157         Simply `return getcwd (NULL, 0);'.
91158         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91159         Use 1300 as initial value for length, not PATH_MAX.
91160
91161         * lib/pathmax.h: Clean up cpp syntax.
91162
91163 2001-08-12  Jim Meyering  <meyering@lucent.com>
91164
91165         * lib/gettimeofday.c: New file.
91166         * lib/gtod.h: New file.
91167         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91168
91169 2001-08-05  Jim Meyering  <meyering@lucent.com>
91170
91171         * m4/jm-macros.m4: Require autoconf-2.52.
91172
91173 2001-08-04  Jim Meyering  <meyering@lucent.com>
91174
91175         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91176         stmt, to get in sync with glibc.
91177
91178 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91179
91180         The following changes are from gettext 0.10.39 as maintained by
91181         Bruno Haible.
91182
91183         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91184         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91185         with inverted sense.  All uses changed.
91186
91187         * lib/mbswidth.c: Don't include <limits.h>.
91188         Include <stdlib.h> and <string.h> unconditionally.
91189         (iswcntrl, mbsinit, ISCNTRL): New macros.
91190         (mbsnwidth): Use K&R style function declarations.
91191         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91192         can optimize it when MB_CUR_MAX == 1.
91193         The width of control characters is zero, not 1.
91194
91195 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91196
91197         The following changes are from gettext 0.10.39 as maintained by
91198         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91199
91200         * m4/codeset.m4: Upgrade to serial AM1.
91201         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91202         all uses changed.  Quote first arg of AC_DEFUN.
91203         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91204
91205         * m4/iconv.m4: Upgrade to serial AM2.
91206         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91207         Add --with-libconv-prefix.
91208         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91209         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91210         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91211         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91212         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91213
91214         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91215         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91216         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91217         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91218         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91219         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91220         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91221         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91222         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91223
91224         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91225         string.h any more.
91226
91227         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91228         not the default value.
91229
91230         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91231         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91232         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91233         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91234         Also check for iswcntrl, used for wcwidth fallback.
91235         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91236         to Autoconf 2.13.
91237
91238 2001-08-03  Jim Meyering  <meyering@lucent.com>
91239
91240         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91241         as it was in the original.  Reported by Paul Eggert.
91242
91243 2001-07-16  Jim Meyering  <meyering@lucent.com>
91244
91245         * m4/gettimeofday.m4: New file.
91246         Prompted by a report from Bernhard Baehr.
91247
91248 2001-07-15  Jim Meyering  <meyering@lucent.com>
91249
91250         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91251         stuff. Now it's in ../Makefile.cfg.
91252
91253 2001-07-15  Jim Meyering  <meyering@lucent.com>
91254
91255         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91256         (BUILT_SOURCES): Add unlocked-io.h.
91257         (io_functions): Define.
91258         (unlocked-io.h): New rule.
91259         (DISTCLEANFILES): Add unlocked-io.h.
91260         (all-local): Depend on unlocked-io.h, to ensure it is created.
91261
91262         * lib/unlocked-io.hin: New file
91263
91264         * lib/regex.c: Update from glibc.
91265
91266 2001-07-05  Jim Meyering  <meyering@lucent.com>
91267
91268         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91269         recommendation.
91270         (libfetish_a_SOURCES): Put all .h files here instead.
91271         Remove a thus-exposed (better checks in automake) duplicate and
91272         two unnecessary .h files.
91273
91274 2001-07-04  Jim Meyering  <meyering@lucent.com>
91275
91276         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91277         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91278         distcheck failure.
91279
91280 2001-07-02  Jim Meyering  <meyering@lucent.com>
91281
91282         The following changes were prompted by suggestions from Bruno Haible.
91283
91284         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91285         is now generated.
91286         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91287         definition of EXTRA_DIST.
91288         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91289         ensure that the generated file is created/updated whenever the list
91290         of $(unlocked_functions) is changed.
91291         (jm-glibc-io.m4): New rule.
91292         (unlocked-io.h): New rule -- currently unused.
91293
91294 2001-06-24  Jim Meyering  <meyering@lucent.com>
91295
91296         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91297         unmatched right bracket, rather than kludging it with an extra,
91298         falsely-matching quote in a comment.  Patch by Akim Demaille.
91299
91300 2001-06-11  Jim Meyering  <meyering@lucent.com>
91301
91302         * lib/regex.c: Update from GNU libc.
91303
91304 2001-05-27  Jim Meyering  <meyering@lucent.com>
91305
91306         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91307         Check for ut_type in struct utmp.
91308
91309 2001-05-27  Jim Meyering  <meyering@lucent.com>
91310
91311         * lib/readutmp.h (UT_TYPE): Define.
91312
91313 2001-05-24  Jim Meyering  <meyering@lucent.com>
91314
91315         * lib/argmatch.c: Include "quote.h".
91316         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91317         quote function.  Reported by Göran Uddeborg.
91318
91319 2001-05-22  Jim Meyering  <meyering@lucent.com>
91320
91321         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91322         now that we use the package-supplied version unconditionally.
91323         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91324
91325 2001-05-21  Jim Meyering  <meyering@lucent.com>
91326
91327         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91328         shell syntax errors.
91329
91330 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91331
91332         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91333
91334 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91335
91336         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91337         Don't bother to check library strftime, since
91338         we'll be using our own my_strftime function anyway.
91339         Define my_strftime instead of strftime.
91340
91341 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91342
91343         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91344         which is not yet declared.
91345
91346 2001-05-15  Jim Meyering  <meyering@lucent.com>
91347
91348         * m4/regex.m4: Use proper quoting so brackets appear in the test
91349         program.
91350         Reported by, and with help from, Bruno Haible.
91351
91352 2001-05-13  Jim Meyering  <meyering@lucent.com>
91353
91354         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91355         undefined.
91356
91357 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91358
91359         dirname code cleanup.  base_name now behaves more compatibly
91360         with POSIX basename when given file names that have trailing
91361         slashes, and similarly for dir_name.  Add new primitives
91362         base_len and dir_len.  Put the directory-name-related decls
91363         into dirname.h.
91364
91365         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91366         * lib/backupfile.c (base_name): Likewise.
91367         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91368         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91369         * lib/makepath.c (strip_trailing_slashes): Likewise.
91370         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91371         ISSLASH): Likewise.
91372         * lib/rename.c (strip_trailing_slashes): Likewise.
91373         * lib/same.c (base_name): Likewise.
91374         * lib/stripslash.c (ISSLASH): Likewise.
91375
91376         * lib/addext.c: Include <dirname.h> after size_t is defined.
91377         * lib/backupfile.c: Likewise.
91378
91379         * lib/addext.c (addext): Use base_len to trim redundant
91380         trailing slashes instead of doing it ourselves.
91381         But do not trim the last slash if it is not redundant.
91382
91383         * lib/backupfile.c (find_backup_file_name,
91384         max_backup_version): Use base_len instead of rolling it ourselves.
91385         Handle the case of "" and (on DOS) "C:" correctly.
91386
91387         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91388         needed. Include <string.h>, <dirname.h>.
91389         (base_name): Allow file names ending in slashes, other than names
91390         that are all slashes.  In this case, return the basename followed
91391         by the slashes.  This is more general, and can be used in places
91392         where the original base_name purposely had an assertion failure.
91393         (base_len): New function.
91394
91395         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91396         Do not include <assert.h>; no longer needed.
91397         Include xalloc.h.
91398         (memrchr): Remove decl.
91399         (dir_name_r): Remove.
91400         (dir_len): Renamed from dirlen.  All callers changed.
91401         Rewrite in terms of base_name, for simplicity and consistency.
91402         (dir_name): Never return NULL.  All callers changed.
91403         Do not include <stdlib.h> in test program; no longer needed.
91404         return 0; is fine for test program.
91405
91406         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91407         New macros.
91408         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91409
91410         * lib/path-concat.c (path_concat): Use base_len to compute
91411         base length, not strlen; this means we cannot rely on memcpy
91412         to null-terminate.
91413
91414         * lib/same.c (STREQ): Remove.
91415         (same_name): Handle the case where the basename ends in trailing '/'.
91416
91417         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91418         a slash was stripped.  Do not strip the last slash after a
91419         file system prefix.
91420
91421 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91422
91423         * lib/Makefile.am (libfetish_a_SOURCES):
91424         Add strftime.c, since we now compile it on all hosts.
91425
91426         * lib/strftime.c (my_strftime):
91427         Define to nstrftime if emacs, but only if my_strftime is not defined.
91428         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91429         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91430         Add one more extra argument: a nanoseconds value.
91431         All uses changed.
91432         (ns): New macro.
91433         (my_strftime function): Add %N format.
91434         (emacs_strftimeu): Renamed from emacs_strftime,
91435         with extra ut argument.
91436
91437 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91438
91439         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91440
91441 2001-04-21  Jim Meyering  <meyering@lucent.com>
91442
91443         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91444         doesn't interfere.
91445
91446 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91447
91448         * m4/ftruncate.m4: Check for chsize.
91449         Link with ftruncate.o unconditionally if ftruncate is missing.
91450         This was required when cross-compiling to i586-mingw32msvc.
91451
91452 2001-04-08  Jim Meyering  <meyering@lucent.com>
91453
91454         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91455         recomputed; that's necessary when the offset spans a DST transition.
91456         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91457
91458 2001-04-02  Jim Meyering  <meyering@lucent.com>
91459
91460         * lib/regex.h, regex.c: Update from GNU libc.
91461
91462 2001-03-24  Jim Meyering  <meyering@lucent.com>
91463
91464         * m4/jm-macros.m4: Require autoconf-2.49d.
91465
91466 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91467
91468         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91469
91470 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91471
91472         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91473
91474 2001-03-17  Jim Meyering  <meyering@lucent.com>
91475
91476         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91477         now that the version in autoconf is equivalent.
91478         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91479
91480         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91481         Suggestion from Akim Demaille.
91482
91483         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91484         (jm_PREREQ_TEMPNAME): New function.
91485
91486 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91487
91488         * lib/tempname.c (uint64_t): Define to uintmax_t if
91489         not defined, and if UINT64_MAX is not defined.
91490         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91491         Reported by John David Anglin.
91492
91493 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91494
91495         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91496         resolve alias if codeset is empty.
91497         * lib/config.charset (BeOS): Use wildcard syntax.
91498
91499 2001-03-13  Jim Meyering  <meyering@lucent.com>
91500
91501         * lib/path-concat.c (path_concat)
91502         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91503         concatenating e.g., `C:' and `foo'.
91504         From Bruno Haible.
91505
91506 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91507
91508         * lib/localcharset.c (locale_charset): Don't use
91509         setlocale(LC_CTYPE,NULL). Don't return NULL.
91510         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91511
91512 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91513
91514         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91515         support for DOS/DJGPP.
91516
91517 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91518
91519         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91520         lacks mkstemp.  Compile our own tempname.c if we compile our own
91521         mkstemp.c, as mkstemp relies on tempname.
91522
91523 2001-03-01  Jim Meyering  <meyering@lucent.com>
91524
91525         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91526         AH_VERBATIM really does output its argument verbatim.
91527
91528 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91529
91530         * lib/Makefile.am (libfetish_a_SOURCES):
91531         Add dup-safer.c, fopen-safer.c.
91532         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91533
91534         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91535         * lib/unistd-safer.h: New files.
91536
91537 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91538
91539         The mkstemp replacement is taken from glibc 2.2.2, with some
91540         portability fixes for use outside glibc, as follows:
91541
91542         * lib/tempname.c (struct_stat64): New macro.
91543         (direxists, __gen_tempname): Use it.
91544         This avoids a portability problem with Solaris 8.
91545
91546         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91547         (<stddef.h>, <stdint.h>, <string.h>):
91548         Include only if STDC_HEADERS || _LIBC.
91549         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91550         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91551         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91552         (__set_errno): Define this macro if <errno.h> doesn't.
91553         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91554         Define these macros if <stdio.h> doesn't.
91555         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91556         Define these macros if <sys/stat.h>
91557         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91558         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91559         __xstat64): Define if not _LIBC.
91560         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91561         (__gen_tempname): Invoke gettimeofday only if
91562         HAVE_GETTIMEOFDAY || _LIBC;
91563         otherwise, fall back on plain "time".
91564         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91565
91566         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91567
91568         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91569
91570 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91571
91572         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91573
91574 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91575
91576         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91577         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91578         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91579         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91580
91581 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91582
91583         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91584         Remove workaround macros for hosts that have mbrtowc but not
91585         mbstate_t, as we now insist on proper declarations for both
91586         before using mbrtowc.
91587
91588 2001-02-17  Jim Meyering  <meyering@lucent.com>
91589
91590         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91591         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91592         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91593         UnixWare 7.1.1.
91594
91595         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91596         rather than AC_CACHE_VAL.
91597
91598 2001-02-17  Jim Meyering  <meyering@lucent.com>
91599
91600         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91601         around included file name.
91602
91603         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91604
91605         * lib/strftime.c: Update from GNU libc (the only changes were to
91606         comments).
91607
91608 2001-02-17  Jim Meyering  <meyering@lucent.com>
91609
91610         * lib/regex.c: Update from libc.
91611
91612 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91613
91614         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91615         clash.
91616
91617 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91618
91619         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91620         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91621         Reported by Mark Hounschell via Paul Eggert.
91622
91623 2001-02-07  Jim Meyering  <meyering@lucent.com>
91624
91625         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91626
91627 2001-02-05  Jim Meyering  <meyering@lucent.com>
91628
91629         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91630         it includes the patch required for `large file' support with at least
91631         HP-UX's 10.20 /bin/cc.
91632
91633 2001-02-03  Jim Meyering  <meyering@lucent.com>
91634
91635         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91636         AS_IF, now that it works once again (mysteriously).
91637         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91638
91639 2001-01-30  Jim Meyering  <meyering@lucent.com>
91640
91641         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91642         * m4/chown.m4: Rename conftestchown to conftest.chown.
91643         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91644         s/conftestdir2/conftest.d2/.
91645         * m4/utimes.m4: s/conftestdata/conftest.data/
91646         Inspired by Pavel Roskin's change in autoconf.
91647
91648 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91649
91650         * lib/config.charset: Update for FreeBSD 4.2.
91651
91652 2001-01-27  Jim Meyering  <meyering@lucent.com>
91653
91654         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91655         a use of AS_IF.
91656         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91657
91658 2001-01-26  Jim Meyering  <meyering@lucent.com>
91659
91660         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91661         quotearg.c includes it.
91662
91663 2001-01-26  Jim Meyering  <meyering@lucent.com>
91664
91665         * lib/quotearg.c: Include stddef.h.
91666         * lib/quote.c: Include stddef.h.
91667         Reported by Axel Kittenberger.
91668
91669         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91670         line in double quotes so that it evokes a better diagnostic.
91671         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91672         Reported by Axel Kittenberger.
91673
91674 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91675
91676         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91677         as if it was a `charset'.
91678
91679 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91680
91681         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91682         has const.
91683
91684 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91685
91686         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91687         to avoid a warning.  Add back 'const' to inptr.
91688
91689 2001-01-20  Jim Meyering  <meyering@lucent.com>
91690
91691         Be sure that headers are checked before used in code compiled
91692         for the type checks.
91693         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91694         In place of that, invoke jm_CHECK_ALL_TYPES.
91695         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91696         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91697         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91698         The check for ssize_t was mistakenly run before the test for unistd.h.
91699
91700         The configure-time check for stdbool.h was missing.
91701         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91702         (jm_PREREQ_HASH): New function.
91703
91704 2001-01-17  Jim Meyering  <meyering@lucent.com>
91705
91706         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91707         for autoconf-2.49c.
91708         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91709
91710 2001-01-16  Jim Meyering  <meyering@lucent.com>
91711
91712         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91713         From Bruno Haible.
91714
91715 2001-01-14  Jim Meyering  <meyering@lucent.com>
91716
91717         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91718         foo and bar.  Create conftestdir/ in the script, not in the C code.
91719         Remove directories in the script, not in the C code.
91720         Remove conftestdir{,2} before trying to create the directory.
91721         Make the entire configure script fail if the mkdir fails.
91722
91723 2001-01-14  Jim Meyering  <meyering@lucent.com>
91724
91725         * lib/rename.c: New file.  From Volker Borchert.
91726         Include stdlib.h, string.h or strings.h, and xalloc.h.
91727         Use strip_trailing_slashes rather than open-coding it.
91728
91729 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91730
91731         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91732
91733 2001-01-03  Jim Meyering  <meyering@lucent.com>
91734
91735         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91736         of local `inptr' to avoid warning with some system declarations of
91737         iconv.
91738
91739 2001-01-02  Volker Borchert  <bt@teknon.de>
91740
91741         * m4/rename.m4: New file.
91742         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91743
91744 2001-01-01  Jim Meyering  <meyering@lucent.com>
91745
91746         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91747         even on systems with utmpx.h.  It's necessary for the declaration of
91748         utmp's ut_user member.  Reported by Andreas Jaeger.
91749
91750         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91751         available. They are required for the declarations of getgrgid and
91752         getpwuid resp.
91753         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91754         Reported by Andreas Jaeger.
91755
91756 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91757
91758         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91759         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91760         so `make install' also works in VPATH builds.
91761
91762 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91763
91764         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91765         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91766         can be used in subdirectories.
91767
91768 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91769
91770         * lib/modechange.c: Do not assume that mode_t uses the
91771         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91772         the other-execute bit of FOO even if S_IXOTH != 1.
91773
91774         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91775         WOTH, XOTH, ALLM): New macros.
91776         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91777          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91778         Use them.
91779         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91780         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91781         (mode_compile):
91782         No need to use uintmax_t; unsigned long is long enough.
91783         Don't bother to get suffix since we don't use it.
91784
91785 2000-12-26  Jim Meyering  <meyering@lucent.com>
91786
91787         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91788         better with autoheader.
91789
91790 2000-12-24  Jim Meyering  <meyering@lucent.com>
91791
91792         * lib/hash.c (is_prime): Return explicit boolean values.
91793         (hash_get_first): Return NULL to appease Irix5.6's 89.
91794         Reported by Nelson Beebe.
91795
91796 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91797
91798         * lib/localcharset.c (locale_charset): Add support for Win32.
91799
91800 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91801
91802         * lib/physmem.h, lib/physmem.c: New files.
91803
91804         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91805         (noinst_HEADERS): Add physmem.h.
91806
91807         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91808         't' for compatibility with Solaris 8 sort.
91809
91810 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91811
91812         * lib/config.charset: Add support for BeOS.
91813
91814 2000-12-17  Jim Meyering  <meyering@lucent.com>
91815
91816         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91817         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91818
91819 2000-12-16  Jim Meyering  <meyering@lucent.com>
91820
91821         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91822         N and M) would have treated it like `chown N:N FILE'.
91823
91824         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91825
91826 2000-12-16  Jim Meyering  <meyering@lucent.com>
91827
91828         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91829         SHELLS_FILE to a file name that's useful on djgpp systems.
91830         Include stdlib.h.
91831         (ADDITIONAL_DEFAULT_SHELLS): Define.
91832         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91833         Based mostly on a patch from Prashant TR.
91834
91835 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91836
91837         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91838         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91839         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91840
91841 2000-12-08  Andreas Schwab  <schwab@suse.de>
91842
91843         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91844         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91845
91846 2000-12-07  Jim Meyering  <meyering@lucent.com>
91847
91848         * lib/stripslash.c (ISSLASH): Define.
91849         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91850         `/'.
91851         From Prashant TR.
91852
91853         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91854         (dir_name_r): Declare this function as static.
91855         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91856         manifest itself on a name containing a mix of slashes and
91857         backslashes.
91858         Make this function work with names starting with a DOS-style
91859         drive letter and colon prefix.
91860         (dir_name): Append `.' if necessary.
91861         Based mostly on patches from Prashant TR and Eli Zaretskii.
91862
91863         * lib/dirname.h (dir_name_r): Remove prototype.
91864
91865 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91866
91867         * m4/off_t-format.m4: Remove this file.
91868         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91869
91870 2000-12-06  Jim Meyering  <meyering@lucent.com>
91871
91872         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91873         replacement strtoull, we may well need the replacement strtoul, too.
91874         Check for declarations of strtoul and strtoull.
91875         Check for strtol.  Mainly as a cue to cause automake to include
91876         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91877         Check for limits.h -- strtol.c needs it.
91878
91879 2000-12-05  Jim Meyering  <meyering@lucent.com>
91880
91881         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91882
91883 2000-12-04  Jim Meyering  <meyering@lucent.com>
91884
91885         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91886         Also include memory.h, stdlib.h, unistd.h if appropriate.
91887         Reported by Andreas Jaeger (conflicting declaration of malloc).
91888
91889 2000-12-02  Jim Meyering  <meyering@lucent.com>
91890
91891         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91892         * m4/jm-macros.m4 (jm_MACROS): require it.
91893
91894 2000-12-02  Jim Meyering  <meyering@lucent.com>
91895
91896         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91897
91898 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91899
91900         * lib/memrchr.c: Include <config.h> before any system include file.
91901
91902 2000-11-30  Jim Meyering  <meyering@lucent.com>
91903
91904         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91905
91906 2000-11-30  Jim Meyering  <meyering@lucent.com>
91907
91908         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91909
91910 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91911
91912         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91913
91914 2000-11-26  Jim Meyering  <meyering@lucent.com>
91915
91916         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91917
91918 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91919
91920         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91921         size of (size_t) -1; it's not portable.
91922
91923 2000-11-17  Jim Meyering  <meyering@lucent.com>
91924
91925         * lib/strstr.c: Update from GNU libc.
91926
91927 2000-11-17  Akim Demaille  <akim@epita.fr>
91928
91929         * lib/obstack.h: Formatting changes.
91930         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91931         prevent type checking.
91932         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91933         cast the value to (void *): assigning a `foo *' to a `void *'
91934         variable is valid.
91935         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91936
91937 2000-11-16  Jim Meyering  <meyering@lucent.com>
91938
91939         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91940
91941 2000-11-11  Jim Meyering  <meyering@lucent.com>
91942
91943         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91944
91945 2000-11-10  Jim Meyering  <meyering@lucent.com>
91946
91947         * lib/obstack.h: Update from GNU libc.
91948         * lib/obstack.c: Likewise.
91949
91950 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91951
91952         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91953
91954 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91955
91956         * lib/getusershell.c (setusershell): Use rewind rather than
91957         fseek/fseeko, to avoid configuration hassles with fseeko.
91958         Don't bother opening SHELLS_FILE if shellstream is NULL;
91959         it's not necessary.
91960
91961 2000-11-05  Jim Meyering  <meyering@lucent.com>
91962
91963         * lib/makepath.h (make_dir): Declare.
91964         * lib/makepath.c (make_dir): Remove `static' attribute.
91965         Tweak a comment.
91966
91967 2000-11-04  Jim Meyering  <meyering@lucent.com>
91968
91969         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91970
91971 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91972
91973         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91974         last one in a bucket, advance to the next bucket.
91975
91976 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91977
91978         * lib/fnmatch.c: Do not comment out all the code if we are using
91979         the GNU C library, because in some cases we are replacing buggy
91980         code in the GNU C library itself.
91981
91982 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91983
91984         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91985         (regex_compile): Catch bogus \(\1\).
91986
91987 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91988
91989         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91990         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91991         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91992
91993 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91994
91995         * lib/error.h, getline.h, modechange.h:
91996         Remove "2000" from Copyright line, as the file hasn't been
91997         changed this year other than in the copyright notice.
91998
91999         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92000         was changed this year.
92001
92002 2000-10-29  Jim Meyering  <meyering@lucent.com>
92003
92004         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92005         renaming.
92006         * m4/ls-mntd-fs.m4: Likewise
92007
92008 2000-10-29  Jim Meyering  <meyering@lucent.com>
92009
92010         * lib/xstat.in: Fix grammar in comment.
92011
92012 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92013
92014         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92015         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92016         doesn't define __restrict_arr.
92017
92018 2000-10-28  Jim Meyering  <meyering@lucent.com>
92019
92020         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92021         (jm_PREREQ_MEMCHR): New function.
92022
92023 2000-10-28  Jim Meyering  <meyering@lucent.com>
92024
92025         * lib/memchr.c: Update from libc.
92026         Adjust for portability:
92027         [HAVE_STDLIB_H]: Include stdlib.h.
92028         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92029         Undef __memchr, too.
92030         [!weak_alias]: Define __memchr to memchr.
92031
92032         * lib/regex.c: Update from libc.
92033         * lib/regex.h: Likewise.
92034         * lib/getopt1.c: Likewise.
92035         * lib/memcmp.c: Likewise.
92036
92037         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92038         Avoid using fseek, when possible -- it's broken by design.
92039         Patch by Ulrich Drepper.
92040
92041 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92042
92043         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92044         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92045         Giving in to popular pressure to shut up the compiler with casts.
92046
92047 2000-10-26  Jim Meyering  <meyering@lucent.com>
92048
92049         * lib/strftime.c: Update from libc.
92050
92051 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92052
92053         * regex.c: More `unsigned char' -> `re_char' changes.
92054         Also change several `int' into `re_wchar_t'.
92055         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92056         (PUSH_FAILURE_POINTER): Don't cast any more.
92057         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92058         We want GCC to complain, since this piece of code makes
92059         re_match non-reentrant, which *should* be fixed.
92060         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92061         (EXTEND_BUFFER): Use RETALLOC.
92062         (SET_LIST_BIT): Don't cast.
92063         (re_wchar_t): New type.
92064         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92065         that those two functions will always properly return.
92066         (IMMEDIATE_QUIT_CHECK): Cast to void.
92067         (analyse_first): Use recursion rather than an explicit stack.
92068         (re_compile_fastmap): Can't fail anymore.
92069         (re_search_2): Don't check re_compile_fastmap for failure.
92070         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92071         Now also sets the new value (passed in a new argument).
92072         (re_match_2_internal): Use it.
92073         Also, use a new var `reg' of type size_t when looping through regs
92074         rather than reuse the inappropriate `mcnt'.
92075
92076 2000-10-25  Jim Meyering  <meyering@lucent.com>
92077
92078         * lib/obstack.c: Update from libc.
92079
92080 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92081
92082         * regex.c (regex_compile): Change the way of handling a range from
92083         a char less than 256 to a char not less than 256.
92084
92085 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92086
92087         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92088         NT-Emacs only.
92089         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92090         so that re_search functions only quit when callers expect them to.
92091
92092 2000-10-23  Jim Meyering  <meyering@lucent.com>
92093
92094         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92095         wrong.  That set_locale call must not have any side effects.
92096         From Paul Eggert.
92097
92098 2000-10-22  Jim Meyering  <meyering@lucent.com>
92099
92100         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92101         [CYCLIC]: Remove now-unused definition.
92102
92103         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92104         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92105         Suggestion from Ulrich Drepper.
92106
92107 2000-10-21  Jim Meyering  <meyering@lucent.com>
92108
92109         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92110         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92111         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92112
92113 2000-10-21  Jim Meyering  <meyering@lucent.com>
92114
92115         * lib/dirname.c (memrchr): Declare if necessary.
92116         (dir_name): Remove the restriction that there be no
92117         trailing slashes.  Now, this code skips past them, effectively
92118         ignoring them.
92119         [TEST_DIRNAME] (main): New unit tests.
92120
92121         * lib/memrchr.c: New file from GNU libc.
92122         Undef __memrchr, too.
92123         [!weak_alias]: Define __memrchr to memrchr.
92124         Guard weak_alias use with `#ifdef weak_alias'.
92125
92126 2000-10-21  Jim Meyering  <meyering@lucent.com>
92127
92128         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92129         (dir_name): Use dir_name_r.
92130         * lib/dirname.h (dir_name_r): Declare it.
92131
92132 2000-10-17  Jim Meyering  <meyering@lucent.com>
92133
92134         * lib/quote.h (PARAMS): Define and use.
92135         Reported by Akim Demaille.
92136
92137         * lib/getopt.c: Update from libc.
92138
92139 2000-10-16  Jim Meyering  <meyering@lucent.com>
92140
92141         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92142         setlocale.
92143         From Jan Fedak.
92144
92145 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92146
92147         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92148
92149 2000-09-25  Jim Meyering  <meyering@lucent.com>
92150
92151         * lib/md5.h (rol): Define (from GnuPG).
92152
92153         * lib/sha.c: Give credit (GnuPG) where due.
92154         (M): Use rol rather than open-coding it.
92155         Add a FIXME comment.
92156
92157 2000-09-21  Jim Meyering  <meyering@lucent.com>
92158
92159         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92160         Reported by Michael Stone.
92161
92162 2000-09-20  Jim Meyering  <meyering@lucent.com>
92163
92164         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92165         (noinst_HEADERS): Add sha.h.
92166         Based on code from Scott G. Miller and from GnuPG.
92167
92168 2000-09-18  Jim Meyering  <meyering@lucent.com>
92169
92170         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92171         LIBS. Otherwise, everyone ends up linking with -lelf for some
92172         configurations.
92173         Reported by Mike Stone.
92174
92175 2000-09-15  Jim Meyering  <meyering@lucent.com>
92176
92177         * lib/regex.c: Update from libc.
92178
92179 2000-09-10  Jim Meyering  <meyering@lucent.com>
92180
92181         * lib/getopt.c (_getopt_internal): Update from glibc.
92182
92183 2000-09-09  Jim Meyering  <meyering@lucent.com>
92184
92185         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92186         think it should be used as a general replacement for isascii.
92187         * lib/fnmatch.c: Likewise.
92188         * lib/mbswidth.c: Likewise
92189         * lib/regex.c: Likewise.
92190
92191         Don't use atoi.
92192         * lib/userspec.c: Include sys/param.h and limits.h.
92193         Include xstrtol.h.
92194         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92195         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92196         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92197         UID, GID.  Check range.
92198
92199 2000-09-06  Jim Meyering  <meyering@lucent.com>
92200
92201         * lib/getopt.c (_getopt_internal): Update from glibc.
92202
92203 2000-08-30  Jim Meyering  <meyering@lucent.com>
92204
92205         * lib/strftime.c: Merge in changes from GNU libc.
92206
92207 2000-08-26  Jim Meyering  <meyering@lucent.com>
92208
92209         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92210         * m4/fpending.m4: New file.
92211
92212 2000-08-26  Jim Meyering  <meyering@lucent.com>
92213
92214         * lib/closeout.c: Include "__fpending.h".
92215         (close_stdout_status): Return right away if there's nothing to flush.
92216
92217         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92218         * lib/__fpending.c: New file.
92219         * lib/__fpending.h: New file.
92220
92221 2000-08-20  Jim Meyering  <meyering@lucent.com>
92222
92223         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92224         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92225         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92226
92227 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92228
92229         Improve fileutils installation on systems where running
92230         programs (like install) can't be unlinked.
92231         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92232         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92233
92234 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92235
92236         Standardize on "memory exhausted" instead of "Memory exhausted"
92237         or "virtual memory exhausted".
92238         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92239         "virtual memory exhausted".
92240         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92241         our own message.
92242         * lib/userspec.c (parse_user_spec): Likewise.
92243         * lib/bumpalloc.h: comment fix
92244         * lib/same.c, userspec.c: Include xalloc.h.
92245
92246         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92247         not char *const and pointing to a constant array.
92248         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92249         (xrealloc): Comment fix.
92250
92251         * lib/userspec.c (parse_user_spec):
92252         Don't translate a message until just before returning,
92253         to avoid unnecessary translation.
92254
92255 2000-08-07  Jim Meyering  <meyering@lucent.com>
92256
92257         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92258         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92259         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92260         getgroups.c, gethostname.c, getopt.h, group-member.c,
92261         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92262         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92263         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92264         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92265         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92266         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92267         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92268         yesno.c: Back out Copyright date changes for each file with no change
92269         this year.  This eases coordination with other programs using the same
92270         source code modules.  From Paul Eggert.
92271
92272 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92273
92274         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92275         not char, for compatibility with glibc 2.1.3 strftime.c.
92276
92277 2000-08-03  Greg McGary  <greg@mcgary.org>
92278
92279         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92280         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92281         (EXTEND_BUFFER): Use them.
92282
92283 2000-08-01  Jim Meyering  <meyering@lucent.com>
92284
92285         * lib/dirname.c (ISSLASH): Define.
92286         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92287         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92288         both `\' and `/' may be use as path separators.
92289         Based on a patch from Prashant TR.
92290
92291 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92292
92293         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92294         slot vector a constant, since it might get modified.
92295
92296 2000-07-31  Jim Meyering  <meyering@lucent.com>
92297
92298         * lib/xmalloc.c: Use `virtual memory exhausted', not
92299         `Memory exhausted'.
92300         * lib/obstack.c (print_and_abort): Likewise.
92301
92302 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92303
92304         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92305         buffer, so that the caller can always quote one small
92306         component of a "memory exhausted" message in slot 0.
92307         From a suggestion by Jim Meyering.
92308
92309 2000-07-30  Jim Meyering  <meyering@lucent.com>
92310
92311         * lib/makepath.c (make_path): Quote the other instance, too.
92312
92313         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92314         (STATIC_BUF_SIZE): Define.
92315         (quotearg_n_options): Use only statically allocated storage when
92316         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92317         than STATIC_BUF_SIZE.
92318
92319 2000-07-29  Jim Meyering  <meyering@lucent.com>
92320
92321         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92322         * lib/dirname.c (dir_name): Likewise.
92323
92324         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92325         `/'.
92326
92327         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92328         (dir_name): Assert that there are no trailing slashes.
92329
92330 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92331
92332         * lib/mbswidth.h (mbswidth): Add a flags argument.
92333         (mbswidth): New declaration.
92334         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92335         * lib/mbswidth.c (mbswidth): Add a flags argument.
92336         (mbsnwidth): New function.
92337
92338 2000-07-24  Jim Meyering  <meyering@lucent.com>
92339
92340         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92341
92342 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92343
92344         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92345
92346 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92347
92348         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92349         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92350         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92351         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92352         invoke multibyte primitives.
92353
92354 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92355
92356         * lib/quotearg.c:
92357         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92358         so that mbstate_t is always defined.
92359
92360         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92361         be 1 in at least one GCC installation, and this configuration
92362         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92363         performance on hosts that have mbrtowc but have only unibyte
92364         locales, but I assume these hosts are rare.
92365
92366 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92367
92368         * lib/mbswidth.c (_XOPEN_SOURCE):
92369         Don't define; this causes problems on Solaris 7.
92370         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92371
92372 2000-07-23  Jim Meyering  <meyering@lucent.com>
92373
92374         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92375         too: getgrgid, getpwuid, getuid.
92376
92377 2000-07-23  Jim Meyering  <meyering@lucent.com>
92378
92379         * lib/basename.c (base_name): Add an assertion.
92380
92381 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92382
92383         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92384         shadow its mbsinit function.
92385
92386 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92387
92388         * lib/mbswidth.h: New file.
92389         * lib/mbswidth.c: New file.
92390         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92391         (noinst_HEADERS): Add mbswidth.h.
92392
92393 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92394
92395         * lib/config.charset: Add support for FreeBSD. Improve support for
92396         HP-UX and IRIX 6.
92397
92398 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92399
92400         * m4/mbswidth.m4: New file.
92401         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92402
92403 2000-07-15  Jim Meyering  <meyering@lucent.com>
92404
92405         * lib/makepath.c: Include quote.h.
92406         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92407         corresponding argument in a `quote (...)' call.
92408         Give better diagnostics.
92409
92410         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92411         (noinst_HEADERS): Add quote.h.
92412
92413         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92414         from tar's src/misc.c.
92415         * lib/quote.h: New file.  Prototypes for same.
92416
92417 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92418
92419         From a suggestion by Bruno Haible.
92420         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92421         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92422         to decide whether to define the BeOS workaround macro;
92423         this adjusts to the change to AC_MBSTATE_T.
92424
92425 2000-07-14  Jim Meyering  <meyering@lucent.com>
92426
92427         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92428         jm_AC_TYPE_UINTMAX_T.
92429
92430 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92431
92432         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92433
92434         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92435         quotearg_buffer_restyled): Add support for
92436         clocale_quoting_style.  Undo previous change to
92437         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92438         and "{RIGHT QUOTATION MARK}" msgids.
92439
92440 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92441
92442         From a suggestion by Bruno Haible.
92443         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92444         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92445         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92446         and mbstate_t, to a single-part test that simply defines mbstate_t.
92447         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92448         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92449
92450 2000-07-10  Jim Meyering  <meyering@lucent.com>
92451
92452         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92453
92454         * m4/gnu-source.m4: Output to confdefs.h directly.
92455         Suggestion from Akim Demaille.
92456
92457 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92458
92459         The old behavior of quoting `like this' doesn't look good with
92460         newer, ISO-style fonts.  See:
92461         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92462
92463         Instead, quote "like this" by default.  Let the translator
92464         tailor the locale-specific quoting behavior by providing
92465         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92466
92467         * lib/quotearg.c (N_): New macro.
92468         (gettext_default): New function.
92469         (quotearg_buffer_restyled): Use
92470         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92471         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92472
92473 2000-07-09  Jim Meyering  <meyering@lucent.com>
92474
92475         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92476         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92477
92478         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92479         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92480
92481 2000-07-09  Jim Meyering  <meyering@lucent.com>
92482
92483         * lib/Most files: Update copyright dates to include 2000.
92484
92485 2000-07-08  Jim Meyering  <meyering@lucent.com>
92486
92487         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92488         if not defined.
92489         (xgethostname): Remove now-unnecessary #ifdef.
92490         Move declaration of `err' into loop where it's used.
92491
92492 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92493         and Bruno Haible  <haible@clisp.cons.org>
92494
92495         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92496         only if the test for an object-type mbstate_t fails.  This
92497         prevents us from mistakenly reporting that mbstate_t is a
92498         system object type after we "#define mbstate_t int" to work
92499         around its lack.
92500
92501 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92502         and Bruno Haible  <haible@clisp.cons.org>
92503
92504         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92505
92506 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92507
92508         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92509         to strerror_r.
92510         Include <ctype.h> for use of isalpha.
92511
92512 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92513
92514         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92515         by allocating a larger buffer. Test the gethostname return value for
92516         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92517         returns an error and ENAMETOOLONG isn't defined.
92518
92519 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92520
92521         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92522         dimension.
92523
92524 2000-07-04  Jim Meyering  <meyering@lucent.com>
92525
92526         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92527         of the deprecated AC_CHECKING.
92528
92529 2000-07-04  Jim Meyering  <meyering@lucent.com>
92530
92531         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92532         Reported by Bruno Haible.
92533
92534 2000-07-04  Jim Meyering  <meyering@lucent.com>
92535
92536         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92537         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92538         lacks mbrtowc.
92539
92540 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92541
92542         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92543         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92544
92545 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92546         and Bruno Haible  <haible@clisp.cons.org>
92547
92548         * lib/quotearg.c (mbrtowc):
92549         Assign to *pwc, and return 1 only if result is nonzero.
92550         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92551
92552 2000-07-03  Jim Meyering  <meyering@lucent.com>
92553
92554         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92555
92556 2000-07-03  Jim Meyering  <meyering@lucent.com>
92557
92558         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92559         This is necessary to get a definition of e.g., UTMP_FILE on
92560         HP-UX 10.20.
92561         From Bob Proulx.
92562
92563 2000-07-02  Jim Meyering  <meyering@lucent.com>
92564
92565         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92566
92567         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92568         AC_LIBOBJ(function_name).
92569         * m4/chown.m4: Likewise.
92570         * m4/fnmatch.m4: Likewise.
92571         * m4/ftruncate.m4: Likewise.
92572         * m4/getgroups.m4: Likewise.
92573         * m4/getline.m4: Likewise.
92574         * m4/group-member.m4: Likewise.
92575         * m4/jm-macros.m4: Likewise.
92576         * m4/lstat.m4: Likewise.
92577         * m4/malloc.m4: Likewise.
92578         * m4/memcmp.m4: Likewise.
92579         * m4/nanosleep.m4: Likewise.
92580         * m4/putenv.m4: Likewise.
92581         * m4/realloc.m4: Likewise.
92582         * m4/regex.m4: Likewise.
92583         * m4/stat.m4: Likewise.
92584         * m4/strftime.m4: Likewise.
92585
92586 2000-07-02  Jim Meyering  <meyering@lucent.com>
92587
92588         * lib/quotearg.c (mbstate_t): Don't define here.
92589
92590 2000-07-02  Jim Meyering  <meyering@lucent.com>
92591
92592         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92593
92594 2000-07-01  Jim Meyering  <meyering@lucent.com>
92595
92596         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92597
92598 2000-07-01  Jim Meyering  <meyering@lucent.com>
92599
92600         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92601         problem.
92602
92603 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92604
92605         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92606         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92607
92608 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92609
92610         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92611         per change in ../m4/ls-mntd-fs.m4.
92612         (read_filesystem_list): Ignore symbolic links.
92613
92614 2000-06-29  Jim Meyering  <meyering@lucent.com>
92615
92616         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92617         for declaration of strcmp.
92618
92619         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92620
92621         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92622         Avoid warning by casting result to `char *' to remove `const'.
92623
92624 2000-06-28  Jim Meyering  <meyering@lucent.com>
92625
92626         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92627         included by quotearg.c, for which we perform this test.  From
92628         Bruno Haible.
92629
92630 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92631
92632         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92633         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92634         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92635
92636 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92637
92638         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92639
92640 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92641
92642         savedir now sets errno on failure and invokes xmalloc to get memory.
92643         Fix a couple of other minor bugs while we're at it.
92644
92645         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92646         (NAMLEN): Remove macro.
92647         (malloc, realloc): Remove decls.
92648         (stpcpy): Likewise.
92649         ("xalloc.h"): Include.
92650         (NAME_SIZE_DEFAULT): New macro.
92651         (savedir): Use xmalloc / xrealloc to allocate memory.
92652         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92653         Skip "" directory entries.
92654         Use strlen to calculate directory entry length, since the old method
92655         is rarely used these days and isn't worth supporting.
92656         Don't use a pointer after freeing it.
92657         Check for integer overflow when calculating allocation size.
92658         Use memcpy to copy entries, instead of stpcpy.
92659         Set errno properly when returning NULL.
92660         Check for readdir error.
92661
92662 2000-06-26  Jim Meyering  <meyering@lucent.com>
92663
92664         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92665
92666 2000-06-25  Jim Meyering  <meyering@lucent.com>
92667
92668         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92669         Linux header bug when _XOPEN_SOURCE is defined to 500.
92670
92671 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92672
92673         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92674         deficiency.
92675
92676 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92677
92678         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92679         Include xalloc.h.
92680         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92681
92682 2000-06-24  Jim Meyering  <meyering@lucent.com>
92683
92684         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92685         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92686         for which strerror does return char*, but which lacks a conveniently
92687         accessible declaration of the function.  If the compile-test says
92688         strerror_r doesn't work, then resort to a `run'-test that works on
92689         BeOS and segfaults on DEC Unix.
92690
92691 2000-06-24  Jim Meyering  <meyering@lucent.com>
92692
92693         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92694
92695 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92696
92697         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92698         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92699
92700 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92701
92702         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92703         (mbrtowc, mbstate_t): Define substitutes if
92704         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92705         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92706         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92707
92708 2000-06-23  Jim Meyering  <meyering@lucent.com>
92709
92710         * m4/afs.m4: Add missing AC_MSG_RESULT.
92711         Reported by Bruno Haible.
92712
92713         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92714         Suggestion from Bruno Haible.
92715
92716 2000-06-23  Jim Meyering  <meyering@lucent.com>
92717
92718         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92719
92720 2000-06-21  Jim Meyering  <meyering@lucent.com>
92721
92722         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92723
92724 2000-06-21  Jim Meyering  <meyering@lucent.com>
92725
92726         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92727         (noinst_HEADERS): Add getstr.h.
92728
92729         * lib/getline.c (getstr): Move into a separate file.
92730         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92731         the following changes: new parameter, delim2; both delim[12]
92732         parameters have type `int', not `char'.  The latter would lose
92733         with 8-bit delimiters.
92734         * lib/getstr.h: New file.
92735
92736 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92737
92738         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92739         than 1024, return a memory chunk of least possible size, instead
92740         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92741         Use free/xmalloc instead of xrealloc to avoid copying for very long
92742         paths.
92743
92744 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92745
92746         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92747         the empty string.
92748
92749 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92750
92751         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92752         address, not strdup.  Include <stdlib.h> and don't declare free().
92753
92754 2000-06-19  Jim Meyering  <meyering@lucent.com>
92755
92756         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92757
92758 2000-06-18  Jim Meyering  <meyering@lucent.com>
92759
92760         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92761
92762         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92763         `checking whether...' message to be consistent with that of the
92764         lstat test.
92765
92766 2000-06-18  Jim Meyering  <meyering@lucent.com>
92767
92768         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92769         Besides, these days every porting target provides a mkdir function.
92770
92771         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92772         needed. (this snippet comes from src/system.h).
92773
92774 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92775
92776         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92777
92778 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92779
92780         * lib/human.c (adjust_value): New function.
92781         (human_readable_inexact): Apply rounding style even when
92782         printing approximate values.
92783
92784 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92785
92786         * lib/human.c (human_readable_inexact): Allow an input block
92787         size that is not a multiple of the output block size, and vice versa.
92788         Reported by Piergiorgio Sartor.
92789
92790 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92791
92792         * lib/getdate.y (get_date): Apply relative times after time
92793         zone indicator, not before.  Reported by Todd A. Jacobs.
92794
92795 2000-06-13  Jim Meyering  <meyering@lucent.com>
92796
92797         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92798
92799         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92800
92801 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92802
92803         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92804
92805 2000-06-12  Jim Meyering  <meyering@lucent.com>
92806
92807         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92808         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92809         optional argument.
92810         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92811         the optional argument, `lib'.
92812
92813 2000-06-08  Jim Meyering  <meyering@lucent.com>
92814
92815         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92816
92817 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92818
92819         Rewrite largefile configuration so that we don't need to run
92820         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92821         AC_CANONICAL_HOST in configure.in -- jmm]
92822
92823         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92824         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92825         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92826         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92827         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92828         All uses changed.
92829         Instead of inspecting the output of getconf, try to compile the
92830         test program without and with the macro definition.
92831         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92832         for getconf.  Instead, check for the needed flags by compiling
92833         test programs.
92834
92835 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92836
92837         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92838
92839 2000-06-04  Jim Meyering  <meyering@lucent.com>
92840
92841         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92842         SunOS 4.1.4 for which gid_t is an unsigned type.
92843
92844 2000-06-03  Jim Meyering  <meyering@lucent.com>
92845
92846         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92847         now that autoconf requires that.
92848
92849         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92850         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92851         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92852
92853 2000-06-03  Jim Meyering  <meyering@lucent.com>
92854
92855         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92856
92857 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92858
92859         * m4/glibc21.m4: New file.
92860         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92861
92862 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92863
92864         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92865         newer, don't install charset.alias.
92866         * lib/config.charset: Change the Linux/glibc rules so they become empty
92867         on glibc-2.1 or newer.
92868
92869 2000-06-02  Jim Meyering  <meyering@lucent.com>
92870
92871         * lib/mountlist.c: Back out last change.  Instead, do this...
92872         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92873         me_dummy member using the same `ignore'-testing code.
92874         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92875         fs_type strings.
92876         From Mark D. Roth.
92877
92878 2000-05-29  Jim Meyering  <meyering@lucent.com>
92879
92880         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92881         mounts with the `ignore' attribute.  Based on a patch from
92882         Mark D. Roth.
92883
92884 2000-05-28  Jim Meyering  <meyering@lucent.com>
92885
92886         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92887         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92888         * m4/stat.m4: Likewise.
92889         * m4/lstat.m4: Likewise.
92890         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92891
92892         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92893         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92894
92895 2000-05-26  Jim Meyering  <meyering@lucent.com>
92896
92897         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92898
92899 2000-05-24  Jim Meyering  <meyering@lucent.com>
92900
92901         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92902         autoconf requires that.
92903         * m4/lib-check.m4: Likewise.
92904         * m4/jm-macros.m4: Likewise.
92905         * m4/strftime.m4: Likewise.
92906
92907         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92908         AC_CHECK_DECLS, now that autoconf requires that.
92909
92910 2000-05-22  Jim Meyering  <meyering@lucent.com>
92911
92912         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92913         * m4/lstat.m4: Likewise.
92914
92915 2000-05-22  Jim Meyering  <meyering@lucent.com>
92916
92917         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92918
92919 2000-05-20  Jim Meyering  <meyering@lucent.com>
92920
92921         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92922         (jm_PREREQ): Use it.
92923
92924 2000-05-18  Jim Meyering  <meyering@lucent.com>
92925
92926         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92927         back, too, since it may have been modified by allocate_entry.
92928         (hash_delete): Rewrite to use neither the assignment operator
92929         nor the comma operator in an if-expression.
92930
92931 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92932
92933         * lib/closeout.c:
92934         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92935         Remove; no longer needed.
92936         "quotearg.h": Add include.
92937         (file_name): Do not bother to explicitly initialize to NULL; it's less
92938         efficient on some hosts.
92939         (close_stdout_status): Remove test as to whether stdout was already
92940         closed; it breaks for the case "echo x | sort >&-".
92941         Quote file name colons.
92942         Do not assume that _("write error") lacks format strings.
92943
92944 2000-05-15  Jim Meyering  <meyering@lucent.com>
92945
92946         * lib/version-etc.c (version_etc_copyright): Update the copyright
92947         string used in all --version output.
92948
92949 2000-05-14  Jim Meyering  <meyering@lucent.com>
92950
92951         * lib/closeout.c (close_stdout_set_file_name): New function.
92952         (close_stdout_status): Use new file-scoped global.
92953         Return right away if fstat says the stdout file descriptor is invalid.
92954         * lib/closeout.h (close_stdout_set_file_name): Declare.
92955
92956 2000-05-10  Jim Meyering  <meyering@lucent.com>
92957
92958         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92959         (close_stdout_set_status): New function.
92960         * lib/closeout.h (close_stdout_set_status): Declare.
92961
92962 2000-05-09  Jim Meyering  <meyering@lucent.com>
92963
92964         * m4/gettext.m4: Rename this...
92965         * m4/libintl.m4: ...to this.
92966
92967 2000-05-08  Jim Meyering  <meyering@lucent.com>
92968
92969         * lib/long-options.c: Don't include closeout.h.
92970         (parse_long_options): Don't call close_stdout for --version.
92971
92972 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92973
92974         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92975         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92976         2.1.3 bug.  This avoids a clash when files like regex.c define
92977         _GNU_SOURCE.
92978
92979 2000-05-06  Jim Meyering  <meyering@lucent.com>
92980
92981         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92982         (AC_REPLACE_FUNCS): Add strnlen.
92983
92984         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92985         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92986
92987         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92988         AC_SEARCH_LIBS call for nanosleep.
92989         (LIB_NANOSLEEP): Set and AC_SUBST.
92990
92991 2000-05-06  Jim Meyering  <meyering@lucent.com>
92992
92993         * lib/strnlen.c: Undefine __strnlen and strnlen.
92994         [!weak_alias]: Define __strnlen to strnlen.
92995
92996         * lib/atexit.c: New file, from libiberty.
92997
92998 2000-05-06  Jim Meyering  <meyering@lucent.com>
92999
93000         * lib/closeout.c (close_stdout_status): Also check for errors on the
93001         stderr stream.
93002
93003 2000-05-05  Jim Meyering  <meyering@lucent.com>
93004
93005         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93006         AC_SEARCH_LIBS call for clock_gettime.
93007         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93008
93009         * m4/search-libs.m4: Update from autoconf.
93010
93011         su doesn't work on Solaris 2.6.
93012         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93013         <shadow.h>.  Reported by Dragos Harabor.
93014
93015 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93016
93017         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93018         memcpy instead of xmalloc, xrealloc, path_concat.
93019         (locale_charset): Treat empty environment variables as absent.
93020         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93021
93022 2000-05-04  Jim Meyering  <meyering@lucent.com>
93023
93024         * lib/getopt.c: Update from glibc.
93025         * lib/obstack.c: Likewise.
93026         * lib/obstack.h: Likewise.
93027         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93028         file
93029
93030         * lib/regex.h: Likewise.
93031         * lib/strndup.c: Likewise.
93032         * lib/strnlen.c: New file, from glibc.
93033
93034 2000-05-03  Jim Meyering  <meyering@lucent.com>
93035
93036         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93037
93038 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93039
93040         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93041         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93042         compile-time test, rather than inspecting host and OS, to
93043         decide whether to define _LARGEFILE_SOURCE.
93044
93045 2000-05-01  Jim Meyering  <meyering@lucent.com>
93046
93047         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93048
93049         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93050         Based on a patch from Bruno Haible.
93051
93052 2000-05-01  Jim Meyering  <meyering@lucent.com>
93053
93054         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93055
93056 2000-04-29  Jim Meyering  <meyering@lucent.com>
93057
93058         * lib/path-concat.c: Declare strdup only if it's not defined.
93059         * lib/canon-host.c: Likewise.
93060
93061 2000-04-28  Jim Meyering  <meyering@lucent.com>
93062
93063         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93064         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93065         is included first, then limits.h is included by locale.h by libintl.h.
93066         From John David Anglin.
93067
93068 2000-04-25  Jim Meyering  <meyering@lucent.com>
93069
93070         * lib/makepath.c (S_IRWXUGO): Define.
93071         (make_path): Always perform explicit chmod if MODE specifies any
93072         of the `special' permission bits.  Prompted by a bug report against
93073         install from Mate Wierdl and Joost van Baal.
93074
93075 2000-04-18  Jim Meyering  <meyering@lucent.com>
93076
93077         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93078         (jm_PREREQ): Use it.
93079
93080 2000-04-18  Jim Meyering  <meyering@lucent.com>
93081
93082         * lib/README: New file.
93083
93084         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93085         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93086
93087 2000-04-17  Jim Meyering  <meyering@lucent.com>
93088
93089         Get it right :-)
93090         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93091         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93092         Suggestion from Akim Demaille.
93093
93094 2000-04-17  Jim Meyering  <meyering@lucent.com>
93095
93096         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93097         the definition of it to rpl_strftime also defined-away the system's
93098         declaration.
93099
93100 2000-04-15  Jim Meyering  <meyering@lucent.com>
93101
93102         Use `C' to denote so-called `contiguous' files, the same way
93103         that tar does.
93104         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93105         (ftypelet): Use S_ISCTG.
93106         From Michael Deutschmann.
93107
93108 2000-04-14  Jim Meyering  <meyering@lucent.com>
93109
93110         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93111         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93112         clobbered.
93113
93114 2000-04-14  Jim Meyering  <meyering@lucent.com>
93115
93116         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93117
93118 2000-04-13  Jim Meyering  <meyering@lucent.com>
93119
93120         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93121         AH_VERBATIM to insert required #ifndef into config.h.in.
93122         Suggestion from Akim Demaille.
93123
93124 2000-04-12  Jim Meyering  <meyering@lucent.com>
93125
93126         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93127         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93128         Christian Krackowizer.
93129
93130         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93131         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93132         (AC_SYS_LARGEFILE): Require.
93133         (AM_C_PROTOTYPES): Require.
93134
93135 2000-04-08  Jim Meyering  <meyering@lucent.com>
93136
93137         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93138         names don't conflict.  Reported by Eli Zaretskii.
93139
93140 2000-04-07  Jim Meyering  <meyering@lucent.com>
93141
93142         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93143         sys/types.h, to work around system header problems on AIX 3.2.5.
93144         From Bruno Haible.
93145
93146 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93147
93148         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93149         bug.  Deal with the different error behavior of Irix iconv.
93150
93151 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93152
93153         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93154         IRIX if the installer said otherwise.
93155
93156 2000-04-05  Jim Meyering  <meyering@lucent.com>
93157
93158         Portability tweaks required for ultrix4.3.
93159         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93160         (jm_CHECK_DECLS): Add getutent to the list of functions.
93161         (_jm_DECL_HEADERS): Add utmpx.h.
93162         From John David Anglin.
93163
93164         * m4/strftime.m4: Back out the 2000-04-02 change.
93165         Instead of that change, simply undefine putenv in the test program.
93166
93167 2000-04-05  Jim Meyering  <meyering@lucent.com>
93168
93169         Portability tweaks required for ultrix4.3.
93170         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93171         getutent.
93172         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93173         * lib/canon-host.c: Declare strdup.
93174         * lib/path-concat.c: Likewise.
93175         From John David Anglin.
93176
93177 2000-04-04  Jim Meyering  <meyering@lucent.com>
93178
93179         Be more DOS 8.3-friendly.
93180         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93181         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93182         * lib/Makefile.am: Reflect renaming.
93183         Reported by Eli Zaretskii.
93184
93185         Use a temporary file name that won't clash with `charset.alias'
93186         in the DOS 8.3 name space.
93187         * lib/Makefile.am (charset_tmp): Define.
93188         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93189         (uninstall-local): Likewise.
93190         Reported by Eli Zaretskii.
93191
93192 2000-04-03  Jim Meyering  <meyering@lucent.com>
93193
93194         * m4/gettext.m4: Fix typo in comment.
93195
93196         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93197         textutils/configure.in).  Suggestion from Paul Eggert.
93198         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93199
93200 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93201
93202         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93203         variable in the shell rather than using putenv, which isn't
93204         portable.  This avoids the configure-time inter-test dependency
93205         on the potentially-renamed putenv function.
93206
93207 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93208
93209         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93210         before checking struct stat.st_blksize, so that
93211         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93212
93213 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93214
93215         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93216         since strftime.c uses HAVE_STRFTIME to decide whether to use
93217         the underlying strftime.
93218
93219 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93220
93221         * lib/time/strftime.c (my_strftime): Make sure we call the system
93222         strftime, not ourselves, when invoking the underlying strftime.
93223
93224 2000-03-24  Jim Meyering  <meyering@lucent.com>
93225
93226         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93227         (charset_alias): Define.
93228         (install-exec-local): Factor out common code.
93229         (uninstall-local): Split lines longer than 80.
93230         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93231         (SUFFIXES): Define.
93232         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93233         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93234
93235 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93236
93237         * lib/config.charset: Output a line containing "Packages using this
93238         file".
93239         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93240         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93241         ref-del.sed): New rules.
93242
93243 2000-03-17  Jim Meyering  <meyering@lucent.com>
93244
93245         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93246         Otherwise, include <strings.h>
93247
93248 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93249
93250         * lib/unicodeio.c (utf8_wctomb): New function.
93251         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93252         format instead of in UCS-4 with platform dependent endianness.
93253
93254 2000-03-10  Jim Meyering  <meyering@lucent.com>
93255
93256         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93257         From Marco Franzen.
93258
93259 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93260
93261         * lib/savedir.c (savedir): Work even if directory size is
93262         negative; this can happen with some screwy NFS configurations.
93263
93264 2000-03-06  Jim Meyering  <meyering@lucent.com>
93265
93266         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93267         if it's NULL (because we ran out of memory).  From Bruno Haible.
93268
93269 2000-03-05  Jim Meyering  <meyering@lucent.com>
93270
93271         * lib/localcharset.c ("path-concat.h"): Include.
93272         (get_charset_aliases): Use path_concat instead of ANSI string
93273         concatenation.
93274
93275         * lib/unicodeio.h (PARAMS): Define.
93276         Use it to guard prototype.
93277
93278 2000-03-04  Jim Meyering  <meyering@lucent.com>
93279
93280         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93281         for lib/localcharset.c.
93282
93283 2000-03-04  Jim Meyering  <meyering@lucent.com>
93284
93285         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93286         installing into it.
93287         (uninstall-local): Uncomment this rule so `make distcheck' works
93288         once again.
93289
93290         * lib/unicodeio.c (<errno.h>): Include it.
93291         (errno): Declare if not defined.
93292
93293         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93294
93295         * lib/config.charset: New version, incorporating remarks from a linux
93296         i18n mailing list.  From Bruno Haible.
93297
93298 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93299
93300         * m4/codeset.m4: New file.
93301         * m4/iconv.m4: New file.
93302         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93303
93304 2000-03-03  Jim Meyering  <meyering@lucent.com>
93305
93306         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93307
93308 2000-03-02  Jim Meyering  <meyering@lucent.com>
93309
93310         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93311         the messages come out on separate lines.
93312
93313         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93314         rather than jm_CHECK_DECLARATIONS.
93315         * m4/decl.m4: Remove now-unused file.
93316
93317         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93318         geteuid.
93319
93320 2000-03-02  Jim Meyering  <meyering@lucent.com>
93321
93322         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93323
93324 2000-03-01  Jim Meyering  <meyering@lucent.com>
93325
93326         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93327         * lib/unicodeio.c: Likewise.
93328
93329 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93330
93331         * lib/config.charset: New file.
93332         * lib/localcharset.c: New file.
93333         * lib/unicodeio.h, lib/unicodeio.c: New files.
93334         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93335         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93336         (noinst_HEADERS): Add unicodeio.h.
93337         (all-local, install-exec-local, charset.alias): New targets.
93338
93339 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93340
93341         * lib/quotearg.c (ALERT_CHAR): New macro.
93342         (quotearg_buffer_restyled): Use it.
93343
93344 2000-02-27  Jim Meyering  <meyering@lucent.com>
93345
93346         * m4/check-decl.m4: Add getenv to the list.
93347
93348 2000-02-27  Jim Meyering  <meyering@lucent.com>
93349
93350         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93351         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93352
93353         * lib/backupfile.c: Guard inclusion of stdlib.h with
93354         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93355         Declare malloc if needed.
93356
93357         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93358         `#ifndef HAVE_DECL..'
93359         now that autoconf always defines the HAVE_DECL_ symbols.
93360         * lib/human.c: Likewise.
93361         * lib/same.c: Likewise.
93362         * lib/strtoumax.c: Likewise.
93363
93364         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93365         declaration check was not run.
93366         * lib/hash.c: Likewise.
93367         * lib/human.c: Likewise.
93368         * lib/same.c: Likewise.
93369         * lib/strtoumax.c: Likewise.
93370
93371         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93372         `.', then first look up the entire `.'-containing string as a login
93373         name.
93374
93375 2000-02-23  Jim Meyering  <meyering@lucent.com>
93376
93377         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93378         in place of my hack.
93379
93380 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93381
93382         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93383         (textint): New typedef.
93384         (parser_control): Member year changed from int to textint.
93385         All uses changed.
93386         (YYSTYPE): Removed; replaced by %union with int and textint members.
93387         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93388         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93389         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93390         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93391         (date, number, to_year): Use width of number in digits, not its value,
93392         to determine whether it's a 2-digit year, or a 2-digit time.
93393         (yylex): Store number of digits of numeric tokens.
93394         Reported by John Kendall.
93395
93396         (parser_control): Changed from struct parser_control to typedef (for
93397         consistency).  All uses changed.
93398
93399         (tID): Removed; not used.
93400         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93401
93402 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93403
93404         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93405         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93406
93407 2000-02-12  Jim Meyering  <meyering@lucent.com>
93408
93409         * lib/userspec.c (ISDIGIT): Define it.
93410         (isdigit): Remove definition.
93411         (is_number): Use ISDIGIT, not isdigit.
93412         <libintl.h>: Include.
93413         (_ and N_): Define.
93414         (parse_user_spec): Mark translatable strings.
93415
93416 2000-02-10  Jim Meyering  <meyering@lucent.com>
93417
93418         With these changes, nanosleep.[ch] are finally enough like the other
93419         lib/* replacement files to compile on a few more losing systems.
93420
93421         * lib/nanosleep.h: Don't include config.h.
93422         Remove prototype from declaration of nanosleep.
93423         (PARAMS): Remove now-unneeded definition.
93424         * lib/nanosleep.c: #undef nanosleep.
93425         (rpl_nanosleep): Rename from nanosleep.
93426
93427 2000-02-10  Jim Meyering  <meyering@lucent.com>
93428
93429         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93430         gnu_nanosleep to rpl_nanosleep.
93431
93432 2000-02-09  Jim Meyering  <meyering@lucent.com>
93433
93434         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93435         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93436
93437 2000-02-08  Akim Demaille  <akim@epita.fr>
93438
93439         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93440         `[' and `]' and remove uses of `changequote'.
93441         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93442         (AC_SYS_LARGEFILE): Likewise.
93443         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93444         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93445         of changequote.
93446         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93447         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93448         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93449         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93450
93451 2000-02-05  Jim Meyering  <meyering@lucent.com>
93452
93453         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93454         Remove explicit use of AC_HEADER_TIME.  It is required by
93455         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93456         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93457         in autoconf whereby the expansion of the latter ended up preceding
93458         the expansion of its prerequisite, AC_HEADER_TIME.
93459         Reported by Volker Borchert.
93460
93461 2000-02-03  Jim Meyering  <meyering@lucent.com>
93462
93463         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93464
93465 2000-02-03  Jim Meyering  <meyering@lucent.com>
93466
93467         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93468         rather than with `#if HAVE_UTMPNAME'.
93469
93470 2000-02-02  Jim Meyering  <meyering@lucent.com>
93471
93472         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93473         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93474         Reported by Eli Zaretskii.
93475
93476 2000-02-01  Jim Meyering  <meyering@lucent.com>
93477
93478         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93479
93480 2000-01-31  Jim Meyering  <meyering@lucent.com>
93481
93482         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93483         functions.  Add the time.h and sys/time.h headers along with the
93484         AC_REQUIRE'ment of AC_HEADER_TIME.
93485
93486 2000-01-31  Jim Meyering  <meyering@lucent.com>
93487
93488         * lib/nanosleep.h (nanosleep): Guard declaration with
93489         `#if ! HAVE_DECL_NANOSLEEP'.
93490         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93491         the declaration in that vendor's sys/timers.h.
93492         Reported by Christian Krackowizer.
93493
93494         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93495         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93496         (ISPRINT): Likewise.
93497         Reported by Tom Tromey.
93498
93499 2000-01-30  Jim Meyering  <meyering@lucent.com>
93500
93501         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93502
93503         * m4/prereq.m4 (utmp_includes): Define.
93504         Check for ut_user and ut_name members in both struct utmpx
93505         and struct utmp.
93506
93507 2000-01-30  Jim Meyering  <meyering@lucent.com>
93508
93509         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93510         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93511         header files where only utmpx.ut_user is declared.
93512
93513         * lib/readutmp.h (UT_USER): Define.
93514
93515 2000-01-29  Jim Meyering  <meyering@lucent.com>
93516
93517         * m4/lib-check.m4: New file containing library-related checks from
93518         fileutils and sh-utils (textutils had none).
93519
93520 2000-01-28  Jim Meyering  <meyering@lucent.com>
93521
93522         * m4/perl.m4: Change format of warning message to look more like that
93523         from the missing script.  Suggestion from François Pinard.
93524
93525 2000-01-25  Jim Meyering  <meyering@lucent.com>
93526
93527         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93528         well as time.h in the compile check.
93529         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93530         Fix typo in cross-compiling case: s/yes/no/.
93531
93532 2000-01-23  Jim Meyering  <meyering@lucent.com>
93533
93534         * m4/jm-macros.m4: Move df-related tests here from
93535         fileutils/configure.in
93536
93537         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93538         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93539
93540         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93541         s/space/ac_fsusage_space/.
93542         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93543
93544         * m4/ftruncate.m4: New file (derived from part of
93545         fileutils/configure.in).
93546         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93547         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93548
93549         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93550         AC_SUBST these here, rather than just in sh-util/configure.in, so
93551         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93552         all the same.
93553         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93554         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93555         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93556         (AC_SUBST(POW_LIBM)): Likewise.
93557         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93558
93559 2000-01-23  Jim Meyering  <meyering@lucent.com>
93560
93561         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93562         obstack.c.
93563
93564 2000-01-22  Jim Meyering  <meyering@lucent.com>
93565
93566         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93567
93568         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93569
93570         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93571         configure.in
93572         (AC_CHECK_HEADERS): Likewise for sh-utils.
93573         (AC_CHECK_HEADERS): Likewise for textutils.
93574         Merge the three lists of headers.
93575
93576         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93577         from fileutils' configure.in.
93578
93579         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93580         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93581         check-decl.m4.
93582
93583         * m4/check-decl.m4: Use #if rather than #ifdef.
93584         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93585         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93586         (_jm_DECL_HEADERS): Define new function.
93587         (jm_CHECK_DECLARATIONS): Require it.
93588
93589 2000-01-22  Jim Meyering  <meyering@lucent.com>
93590
93591         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93592         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93593         Required for some AIX systems.  Reported by Christian Krackowizer.
93594         [TESTING] (main): New function.
93595
93596         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93597         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93598         letters.
93599
93600         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93601         iswprint.
93602
93603         * lib/strverscmp.c (ISDIGIT): Define.
93604         (strverscmp): Use ISDIGIT, not isdigit.
93605
93606 2000-01-19  Jim Meyering  <meyering@lucent.com>
93607
93608         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93609         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93610         defines `struct timespec' in <sys/time.h>
93611
93612         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93613         Thanks to Akim for explaining.
93614
93615 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93616
93617         * lib/nanosleep.c (nanosleep):
93618         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93619         POSIX.1 doesn't require SA_INTERRUPT and some systems
93620         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93621         it's been part of POSIX.1 since day 1 (in 1988).
93622
93623 2000-01-17  Jim Meyering  <meyering@lucent.com>
93624
93625         * lib/interlock: Remove unused file.  Reported by François Pinard.
93626
93627 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93628
93629         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93630         alert, backslash, formfeed, and vertical tab unnecessarily in
93631         shell quoting style.
93632
93633 2000-01-16  Jim Meyering  <meyering@lucent.com>
93634
93635         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93636         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93637         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93638         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93639
93640 2000-01-16  Jim Meyering  <meyering@lucent.com>
93641
93642         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93643         because the latter didn't work.
93644
93645 2000-01-15  Jim Meyering  <meyering@lucent.com>
93646
93647         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93648         (AC_REPLACE_FUNCS): Add memcpy and memset.
93649         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93650         Add strpbrk.
93651         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93652
93653 2000-01-12  Jim Meyering  <meyering@lucent.com>
93654
93655         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93656         (jm_PREREQ): Use it.
93657         (jm_PREREQ_READUTMP): New macro.
93658         (jm_PREREQ): Use it.
93659
93660 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93661
93662         Quote multibyte characters correctly.
93663         * m4/c-bs-a.m4: New file.
93664         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93665         (jm_PREREQ): Use it.
93666
93667 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93668
93669         * m4/uintmax_t.m4: Port to autoconf 2.13.
93670
93671 2000-01-08  Jim Meyering  <meyering@ascend.com>
93672
93673         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93674         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93675
93676 2000-01-04  Jim Meyering  <meyering@ascend.com>
93677
93678         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93679         jm_STRUCT_DIRENT_D_TYPE.
93680         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93681         jm_STRUCT_DIRENT_D_INO.
93682         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93683         jm_STRUCT_UTIMBUF.
93684         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93685         renamings.
93686         * m4/utime.m4: Likewise.
93687
93688         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93689         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93690
93691 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93692
93693         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93694         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93695
93696 2000-01-02  Jim Meyering  <meyering@ascend.com>
93697
93698         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93699         remember if this is necessary.
93700
93701 1999-12-26  Jim Meyering  <meyering@ascend.com>
93702
93703         * m4/jm-macros.m4: Use it here.
93704         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93705
93706 1999-12-23  Jim Meyering  <meyering@ascend.com>
93707
93708         * m4/jm-macros.m4: Check for clock_gettime (moved from
93709         fileutils/configure.in)
93710         Check for gettimeofday.
93711
93712 1999-12-20  Jim Meyering  <meyering@ascend.com>
93713
93714         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93715         autoconf-2.14a-1999-12-20.
93716
93717 1999-12-19  Jim Meyering  <meyering@ascend.com>
93718
93719         * m4/lstat-slash.m4: New file.
93720         * m4/jm-macros.m4: Use the new macro:
93721         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93722
93723 1999-12-07  Jim Meyering  <meyering@ascend.com>
93724
93725         * m4/perl.m4: Require that File::Compare be available, too.
93726         Too many systems seem to lack it.
93727
93728         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93729         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93730
93731 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93732
93733         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93734         problem with the QNX 4.25 shell, which doesn't propagate exit
93735         status of failed commands inside shell assignments.
93736
93737 1999-11-17  Jim Meyering  <meyering@ascend.com>
93738
93739         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93740
93741 1999-11-07  Jim Meyering  <meyering@ascend.com>
93742
93743         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93744
93745 1999-11-06  Jim Meyering  <meyering@ascend.com>
93746
93747         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93748         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93749
93750 1999-11-05  Jim Meyering  <meyering@ascend.com>
93751
93752         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93753         configure.in of textutils, fileutils, and sh-utils into this one
93754         (shared between those packages) file.
93755         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93756         AC_STRUCT_ST_BLKSIZE.
93757
93758 1999-11-03  Jim Meyering  <meyering@ascend.com>
93759
93760         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93761         of AC_CHECK_TYPE checks includes unistd.h.
93762         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93763         Suggestion from Akim Demaille.
93764
93765 1999-10-30  Jim Meyering  <meyering@ascend.com>
93766
93767         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93768         m4-quoted string.
93769         * m4/ls-mntd-fs.m4: Likewise.
93770         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93771         * m4/jm-winsz1.m4: Likewise.
93772
93773         * m4/const.m4: Remove file, since the fix made it into the experimental
93774         version of autoconf.
93775         * m4/mktime.m4: Likewise.
93776
93777         * m4/check-type.m4: Remove file, now that the latest version of
93778         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93779
93780         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93781         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93782         AC_CHECK_TYPE.
93783
93784 1999-10-04  Jim Meyering  <meyering@ascend.com>
93785
93786         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93787
93788 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93789
93790         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93791         2.95.1 bug with HP-UX 10.20.
93792
93793 1999-09-17  Jim Meyering  <meyering@ascend.com>
93794
93795         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93796         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93797         due to missing strdup (against sh-utils-2.0).
93798
93799 1999-08-29  Jim Meyering  <meyering@ascend.com>
93800
93801         * m4/jm-macros.m4: Require jm_BISON.
93802         * m4/bison.m4: New file.
93803
93804 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93805
93806         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93807         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93808
93809 1999-08-05  Jim Meyering  <meyering@ascend.com>
93810
93811         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93812         to avoid conflicts with `conftest' on 8+3 filesystems.
93813         Suggestion from Eli Zaretskii.
93814
93815 1999-08-04  Jim Meyering  <meyering@ascend.com>
93816
93817         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93818         fileutils and sh-utils (textutils's getline test was inadequate).
93819         (AM_FUNC_GETLINE): Run this test.
93820         (AC_CHECK_FUNCS): Check for getdelim.
93821         Reported by Bob Proulx.
93822
93823 1999-08-02  Jim Meyering  <meyering@ascend.com>
93824
93825         * m4/jm-macros.m4: Add a comment.
93826
93827 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93828
93829         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93830         <inttypes.h> defines strtoumax as a macro (and not as a
93831         function).
93832
93833 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93834
93835         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93836         that we can shift, multiply and divide unsigned long long
93837         values; Ultrix cc can't do it.
93838
93839 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93840
93841         * m4/mktime.m4: New file, which is a preview of what should appear
93842         in the next public autoconf release.
93843
93844 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93845
93846         * m4/lfs.m4: Remove this file.
93847         * m4/largefile.m4: New file.  It contains the old contents of
93848         lfs.m4, except that all names with prefix AC_LFS have been
93849         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93850         compatible with future autoconf versions.  Also, some minor m4
93851         quoting problems have been fixed.
93852
93853 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93854
93855         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93856         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93857         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93858         and simplify the shell code.
93859
93860 1999-08-01  Jim Meyering  <meyering@ascend.com>
93861
93862         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93863         m4.
93864
93865 1999-07-20  Jim Meyering  <meyering@ascend.com>
93866
93867         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93868
93869 1999-07-15  Jim Meyering  <meyering@ascend.com>
93870
93871         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93872
93873 1999-05-22  Jim Meyering  <meyering@ascend.com>
93874
93875         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93876
93877 1999-05-20  Jim Meyering  <meyering@ascend.com>
93878
93879         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93880         Add a colon after each `then' in case $4 is empty.
93881
93882 1999-05-16  Jim Meyering  <meyering@ascend.com>
93883
93884         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93885
93886 1999-05-10  Jim Meyering  <meyering@ascend.com>
93887
93888         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93889
93890         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93891         AC_FUNC_MKTIME.
93892
93893 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93894
93895         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93896
93897 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93898
93899         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93900         not CPPFLAGS, so that linking works correctly in IRIX.
93901
93902 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93903
93904         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93905
93906 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93907
93908         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93909         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93910         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93911         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93912         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93913
93914         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93915
93916 1999-04-20  Jim Meyering  <meyering@ascend.com>
93917
93918         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93919         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93920         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93921
93922 1999-04-18  Jim Meyering  <meyering@ascend.com>
93923
93924         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93925         * m4/jm-macros.m4: Use it.
93926
93927 1999-04-06  Jim Meyering  <meyering@ascend.com>
93928
93929         * m4/strftime.m4: Remove test for %f.
93930
93931 1999-03-29  Jim Meyering  <meyering@ascend.com>
93932
93933         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93934         superset of the AC_TYPE_* checks in the textutils, fileutils,
93935         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93936         AC_TYPE_PID_T.
93937
93938 1999-03-28  Jim Meyering  <meyering@ascend.com>
93939
93940         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93941         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93942         replaced e.g., in the *.sh files of the sh-utils.
93943
93944 1999-03-20  Jim Meyering  <meyering@ascend.com>
93945
93946         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93947         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93948         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93949
93950 1999-03-19  Jim Meyering  <meyering@ascend.com>
93951
93952         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93953
93954 1999-03-12  Jim Meyering  <meyering@ascend.com>
93955
93956         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93957
93958 1999-03-07  Jim Meyering  <meyering@ascend.com>
93959
93960         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93961         declared.
93962
93963 1999-02-17  Jim Meyering  <meyering@ascend.com>
93964
93965         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93966         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93967
93968 1999-02-07  Jim Meyering  <meyering@ascend.com>
93969
93970         * m4/group-member.m4: New file -- extracted from sh-utils'
93971         configure.in.
93972
93973         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93974         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93975
93976 1999-02-06  Jim Meyering  <meyering@ascend.com>
93977
93978         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93979         * m4/fnmatch.m4: Likewise.
93980         * m4/getgroups.m4: Likewise.
93981         * m4/lstat.m4: Likewise.
93982         * m4/malloc.m4: Likewise.
93983         * m4/putenv.m4: Likewise.
93984         * m4/realloc.m4: Likewise.
93985         * m4/regex.m4: Likewise.
93986         * m4/stat.m4: Likewise.
93987         * m4/strftime.m4: Likewise.
93988         Suggestion from Alain Magloire.
93989
93990         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93991         * m4/fnmatch.m4: Likewise.
93992         * m4/getgroups.m4: Likewise.
93993         * m4/getline.m4: Likewise.
93994         * m4/lstat.m4: Likewise.
93995         * m4/malloc.m4: Likewise.
93996         * m4/memcmp.m4: Likewise.
93997         * m4/putenv.m4: Likewise.
93998         * m4/realloc.m4: Likewise.
93999         * m4/regex.m4: Likewise.
94000         * m4/stat.m4: Likewise.
94001         * m4/strftime.m4: Likewise.
94002         Suggestion from Alain Magloire.
94003
94004         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94005         an argument.
94006
94007         * m4/regex.m4: Add a run-time Test for proper operation of
94008         re_compile_pattern.
94009
94010 1999-01-31  Jim Meyering  <meyering@ascend.com>
94011
94012         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94013
94014 1999-01-30  Jim Meyering  <meyering@ascend.com>
94015
94016         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94017
94018         * m4/jm-mktime.m4: Make this a wrapper around the official
94019         AM_FUNC_MKTIME rather than my private copy, now that the official one
94020         is up to date.
94021         * m4/mktime.m4: Remove file.
94022
94023         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94024         * m4/uptime.m4: Likewise.
94025         * m4/uintmax_t.m4: Likewise.
94026
94027 1999-01-28  Jim Meyering  <meyering@ascend.com>
94028
94029         * m4/jm-macros.m4: Use jm_AFS.
94030         * m4/afs.m4: New file (from fileutils' configure.in).
94031
94032         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94033         * m4/chown.m4: Likewise.
94034         * m4/d-ino.m4: Likewise.
94035         * m4/d-type.m4: Likewise.
94036         * m4/fnmatch.m4: Likewise.
94037         * m4/getgroups.m4: Likewise.
94038         * m4/gettext.m4: Likewise.
94039         * m4/jm-mktime.m4: Likewise.
94040         * m4/jm-winsz2.m4: Likewise.
94041         * m4/lcmessage.m4: Likewise.
94042         * m4/ls-mntd-fs.m4: Likewise.
94043         * m4/malloc.m4: Likewise.
94044         * m4/memcmp.m4: Likewise.
94045         * m4/putenv.m4: Likewise.
94046         * m4/realloc.m4: Likewise.
94047         * m4/st_mtim.m4: Likewise.
94048         * m4/strftime.m4: Likewise.
94049
94050 1999-01-16  Jim Meyering  <meyering@ascend.com>
94051
94052         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94053         (ARGMATCH_DIE_DECL): Define.
94054
94055 1999-01-12  Jim Meyering  <meyering@ascend.com>
94056
94057         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94058         Reported by Lars Hecking.
94059
94060 1999-01-10  Jim Meyering  <meyering@ascend.com>
94061
94062         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94063         gross kludge.
94064         * m4/inttypes_h.m4: Likewise.
94065         * m4/lstat.m4: Likewise.
94066         * m4/malloc.m4: Likewise.
94067         * m4/readdir.m4: Likewise.
94068         * m4/realloc.m4: Likewise.
94069         * m4/st_dm_mode.m4: Likewise.
94070         * m4/stat.m4: Likewise.
94071         * m4/utimbuf.m4: Likewise.
94072         * m4/utimes.m4: Likewise.
94073
94074         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94075         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94076         comments in config.h.in are meaningful.
94077
94078         * m4/jm-macros.m4: Require autoconf-2.13 here.
94079
94080         * m4/regex.m4: By default, don't use the included regex.c on systems
94081         with glibc 2.  Suggestion from Uli Drepper.
94082
94083 1999-01-02  Jim Meyering  <meyering@ascend.com>
94084
94085         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94086
94087 1998-12-18  Jim Meyering  <meyering@ascend.com>
94088
94089         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94090         Based on a suggestion from Lars Hecking.
94091
94092 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94093
94094         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94095
94096 1998-11-16  Jim Meyering  <meyering@ascend.com>
94097
94098         * m4/lfs.m4: Double-quote the `uname...` expression.
94099
94100 1998-11-14  Jim Meyering  <meyering@ascend.com>
94101
94102         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94103         * m4/stat.m4: Likewise.
94104
94105 1998-11-03  Jim Meyering  <meyering@ascend.com>
94106
94107         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94108         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94109
94110 1998-10-18  Jim Meyering  <meyering@ascend.com>
94111
94112         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94113
94114 1998-10-17  Jim Meyering  <meyering@ascend.com>
94115
94116         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94117         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94118         calls for those previously hard-coded headers.  Instead, take a new
94119         parameter.
94120         (jm_CHECK_DECLARATIONS): Reflect interface change.
94121         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94122         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94123
94124         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94125
94126 1998-10-14  Jim Meyering  <meyering@ascend.com>
94127
94128         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94129         instead of "TZ=America/Vancouver".  From Paul Eggert.
94130
94131 1998-10-11  Jim Meyering  <meyering@ascend.com>
94132
94133         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94134         This adds a test for a recently added compatibility fix for mktime.c.
94135         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94136
94137 1998-09-27  Jim Meyering  <meyering@ascend.com>
94138
94139         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94140
94141         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94142         ../configure.in, including a change from Gordon Matzigkeit to allow
94143         cross-compiling for the Hurd.
94144
94145         * m4/glibc.m4: New file/macro to test for the GNU C Library
94146         versions 1 and 2.  From Gordon Matzigkeit.
94147         Indent.
94148
94149 1998-09-21  Jim Meyering  <meyering@ascend.com>
94150
94151         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94152
94153 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94154
94155         Port nanosecond-resolution times to UnixWare 2.1.2 and
94156         pedantic Solaris 2.6.
94157
94158         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94159         AC_STRUCT_ST_MTIM.
94160         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94161         Generate name of ns member, instead of just 1 or undef.
94162         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94163
94164 1998-08-15  Jim Meyering  <meyering@ascend.com>
94165
94166         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94167         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94168         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94169         instead of jm_TYPE_SSIZE_T.
94170
94171 1998-08-12  Jim Meyering  <meyering@ascend.com>
94172
94173         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94174
94175 1998-08-02  Jim Meyering  <meyering@ascend.com>
94176
94177         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94178         in acconfig.h manually.
94179
94180 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94181
94182         * m4/st_mtim.m4: New file.
94183
94184 1998-07-28  Jim Meyering  <meyering@ascend.com>
94185
94186         * m4/utimes.m4: Undef stat.
94187
94188 1998-07-25  Jim Meyering  <meyering@ascend.com>
94189
94190         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94191         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94192
94193 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94194
94195         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94196         uid and gid actually remain unchanged.
94197
94198 1998-07-07  Jim Meyering  <meyering@ascend.com>
94199
94200         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94201
94202 1998-07-04  Jim Meyering  <meyering@ascend.com>
94203
94204         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94205         to prove that this macro can be used in packages without regex.c.
94206
94207 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94208
94209         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94210         is to be used.
94211
94212 1998-07-03  Jim Meyering  <meyering@ascend.com>
94213
94214         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94215
94216         * m4/gettext.m4: New file -- from gettext-0.10.35.
94217         * m4/lcmessage.m4: Likewise.
94218         * m4/progtest.m4: Likewise.
94219
94220         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94221         * m4/jm-macros.m4: Require the new macro.
94222
94223 1998-06-29  Jim Meyering  <meyering@ascend.com>
94224
94225         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94226         for the definition of NGROUPS (used in a system header included
94227         by sys/mount.h).
94228
94229 1998-06-28  Jim Meyering  <meyering@ascend.com>
94230
94231         * m4/ls-mntd-fs.m4: New file.
94232         * m4/fstypename.m4: New file.
94233
94234         * m4/jm-macros.m4: Require the new macro.
94235         * m4/jm-glibc-io.m4: New file.
94236
94237 1998-05-19  Jim Meyering  <meyering@ascend.com>
94238
94239         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94240         * m4/lchown.m4: New file.
94241
94242         * m4/Makefile.am.in: New file.
94243         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94244
94245 1998-05-14  Jim Meyering  <meyering@ascend.com>
94246
94247         * m4/Makefile.am (EXTRA_DIST): Add them.
94248         * m4/jm-macros.m4: New file.
94249         * m4/utimbuf.m4: New file.
94250
94251 1998-05-12  Jim Meyering  <meyering@ascend.com>
94252
94253         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94254
94255 1998-05-11  Jim Meyering  <meyering@ascend.com>
94256
94257         * m4/isc-posix.m4: New file.
94258
94259 1998-05-10  Jim Meyering  <meyering@ascend.com>
94260
94261         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94262
94263 1998-05-09  Jim Meyering  <meyering@ascend.com>
94264
94265         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94266         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94267         with automake.
94268
94269         * m4/ssize_t.m4: New file.
94270         * m4/mktime.m4: Remove file -- the new automake has this now.
94271
94272 1998-04-26  Jim Meyering  <meyering@ascend.com>
94273
94274         * m4/assert.m4: New file.
94275         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94276
94277 1998-04-05  Jim Meyering  <meyering@ascend.com>
94278
94279         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94280         (jm_PREREQ): Use it here.
94281
94282 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94283
94284         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94285         in acconfig.h.
94286
94287 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94288
94289         * m4/prereq.m4: New file.
94290         * m4/error.m4: New file.
94291         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94292
94293 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94294
94295         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94296         cache-check for the same variable -- that defeated the purpose of
94297         the test; the test program was never run.  This was a problem only
94298         on systems with losing getline functions -- HP-UX 10.20 is one.
94299         Reported by Bjorn Helgaas.
94300
94301 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94302
94303         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94304
94305 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94306
94307         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94308
94309         * m4/const.m4: New file.  Use an initializer in this declaration
94310         typedef int charset[2]; const charset x;
94311         Reported by Bob Glickstein.
94312
94313 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94314
94315         * m4/chown.m4: Fix reversed types on -1 args to chown.
94316         From Kaveh Ghazi.
94317
94318 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94319
94320         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94321         Add lseek and memchr.
94322
94323         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94324         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94325         have a 20-character limit on names.
94326
94327 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94328
94329         * m4/inttypes_h.m4: New file.
94330         * m4/uintmax_t.m4: New file.
94331         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94332
94333
94334         -----
94335
94336         Local Variables:
94337         coding: utf-8
94338         End:
94339
94340         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94341
94342         Copying and distribution of this file, with or without
94343         modification, are permitted provided the copyright notice
94344         and this notice are preserved.